Tại mỗi bệnh viện, thông thường việc truy xuất vào cơ sở dữ liệu địa phương sẽ thông qua hệ thống xác thực của riêng bệnh viện đó. Do đó để giải quyết vấn đề
xác thực người dùng với cả hệ thống và kiểm soát truy cập tới dịch vụ (service) của các bệnh viện trên cơ sở đám mây, ta cần phải xây dựng một hệ thống quản lýđịnh danh chung cho cả hệ thống.
Chúng ta đã lựa chọn một hệ thống quản lý định danh chung, tuy nhiên có vấn đề phát sinh khi các dịch vụ của các bệnh viện khác nhau sẽ yêu cầu thực hiện tương ứng từng đó số lần đăng nhập để truy xuất dịch vụ. Như vậy cần thiết phải có một cơ chế giúp xác thực chỉ một lần và truy xuất được nhiều dịch vụ. Giải pháp
đưa ra chính là đăng nhập một lần (single sign-on).
Chúng ta sẽ xem xét vai trò và phạm vi cả hai tác nhân chính tham gia vào hệ
thống đó là bệnh nhân và bác sỹ
- Bệnh nhân: Là người đến thăm khám và điều trị tại các bệnh viện và cũng là chủ
thểđược lưu trữ vào hồ sơ bệnh án. Tác nhân này có thểđược truy cập vào hệ thống thông tin để tìm hiểu quá trình điều trị tại các bệnh viện cũng như kết quả đánh giá
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng
---
y tế và hướng dẫn sức khoẻ mà các bác sỹ đề xuất. Do đó hệ thống quản lý định danh cần lưu trữ bệnh nhân như một người dùng (user) của hệ thống và cấp quyền truy xuất thông tin phù hợp. Điều này cũng giúp ích cho bác sỹ có thể dễ dàng xác
định đối tượng và tham chiếu thông tin liên quan phục vụ cho công việc.
- Bác sỹ: Là người đánh giá sức khoẻ và điều trị trực tiếp cho bệnh nhân và cũng là chủ thể tác động lên hồ sơ bệnh án. Tác nhân này có thể truy cập vào hệ thống thông tin để tìm kiếm hồ sơ bệnh án của bệnh nhân ở các bệnh viện khác. Hệ thống quản lý định danh cần ghi danh cho bác sỹ như một người dùng của hệ thống và kiểm soát truy cập thông tin hồ sơ bệnh án đối với từng bác sỹ.
Quá trình bác sỹ ở bệnh viện B tiến hành truy cập thông tin hồ sơ bệnh án của bệnh viện A được mô tả như sau:
• Bác sỹở bệnh viện B sẽ tiến hành đăng nhập thông tin với hệ thống quản lý định danh chung, hệ thống sẽ tiến hành xác thực người dùng.
• Bác sỹ này thực hiện truy cập tới dịch vụ của bệnh viện A. Thông qua cơ chế đăng nhập một lần, hệ thống quản lýđịnh danh xác định bác sỹđã được xác thực là một người dùng hợp lệ của bệnh viện A.
• Bệnh viện A truy vấn thông tin người dùng với hệ thống quản lý định danh, xác định đây là một người dùng nằm ngoài hệ thống địa phương của bệnh viện.
• Bệnh viện A cấp một quyền “guest” cho phép người dùng này có thể “xem” nội dung hồ sơ bệnh án trên cơ sở dữ liệu của mình.
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng
---
Hình 3.4. Quá trình xác thực và truy cập giữa hai bệnh viện 3.2. Giải pháp thực thi
3.2.1. Mục tiêu
Những phân tích yêu cầu đã được nêu ra, ở phần này tác giả luận văn sẽ tập trung vào việc đánh giá và đề xuất mô hình phù hợp cho hệ thống quản lýđịnh danh trên cơ sở đám mây. Nội dung lý thuyết từ các chương trước sẽ làm nền tảng cho sự
lựa chọn giải pháp cơ sở của mô hình.
3.2.2. Cách tiếp cận
Trong các mô hình điện toán đám mây phổ biến, điện toán đám mây cộng đồng (Pubic cloud computing) là mô hình chia sẻ cơ sở hạ tầng giữa các tổ chức từ một cộng đồng cụ thể với các mối quan tâm chung (bảo mật, an ninh, kỉ luật, pháp lý, vv) và mô hình này được xem là phù hợp để áp dụng cho hệ thống quản lý định danh trên cơ sở đám mây của chúng ta.
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng
---
Hình 3.5. Điện toán đám mây công cộng
Muốn xây dựng một hệ thống quản lý định danh trên cơ sở đám mây, nơi mà mọi thứ đều được định nghĩa là dịch vụ (service) thì giải pháp định-danh-như-là- một-dịch-vụ (Indentity As A Service - IDaaS) được đề xuất lựa chọn.
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng
---
Hình 3.6. IDaaS
IDaaS là một hạ tầng xác thực, có thể coi IDaaS như SSO dành cho đám mây. IDaaS cung cấp cơ chế quản lýđịnh danh như là một thực thể số (digital entity) và
định danh này có thể được sử dụng trong các giao dịch điện tử (electronic transactions). Trong mô hình IDaaS, SSO sẽ có một máy chủ xác thực quản lý truy cập tới nhiều máy chủ dịch vụ của các bệnh viện
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng
---
Hình 3.7. IDaaS SSO
Đểđảm bảo khả năng truy cập đa dạng vào hệ thống thông tin từ các thiết bị
khác nhau (máy tính, di động …) hay từ các vùng địa lý khác nhau chỉ với kết nối internet, cần thiết phải xây dựng một hệ thống có thể hoạt động đa nền tảng. Nếu thực hiện giải pháp trên từng nền tảng (platform) riêng biệt thì chi phí sẽ rất lớn cũng như những vấn đề phát sinh như lỗi, bảo mật, khả năng cập nhật… của từng nền tảng. Do đó cần có một giải pháp liên nền tảng (cross platform) đáp ứng hoạt
động đồng nhất trên nhiều nền tảng. Sự bùng nổ của Web 2.0 nơi mà một hệ thống với các dịch vụđều được xây dựng trên web sẽđáp ứng được yêu cầu đưa ra.
Như vậy các dịch vụ của các bệnh viện sẽ được xây dựng trên web, nơi mà mỗi dịch vụ sẽđược cấp phát một miền (domain), do đó bài toán đăng nhập một lần của hệ thống chính là việc đơn giản hoá quá trình truy cập liên miền của người dùng. Người dùng chỉ cần xác thực tại một miền thông qua một nhà cung cấp định danh chung là có thể truy cập thông tin của các miền khác mà không phải nhập lại thông tin. Chuẩn mở OpenID dành cho Web SSO là sự lựa chọn phù hợp với yêu cầu. Tại đây, các miền của các dịch vụ chính là các bên tin cậy trong hệ thống quản lýđịnh danh OpenID.
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng
---
3.3. Phân tích và thiết kế hệ thống thông tin
Như giải pháp thực thi đã nêu ra, hệ thống thông tin của chúng ta sẽ xây dựng trên web, tất cả yêu cầu đăng nhập hay truy xuất thông tin của người dung sẽ được tương tác qua một cổng thông tin (portal site), tại đây hệ thống xử lý sẽ bao gồm các thành phần đăng nhập một lần, xác thực và các thành phần bảo mật liên quan.
Hình 3.8. Mô hình khái quát hệ thống
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng
---
Hình 3.9. Biểu đồ luồng logic đăng nhập một lần
Hoạt động của các thành phần đăng nhập một lần trong hệ thống được mô tả qua 5 bước như sau:
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng
---
Hình 3.10. Hoạt động của SSO
1, Người dùng đăng nhập tới máy chủ xác thực sử dụng tên đăng nhập và mật khẩu.
2, Máy chủ xác thực sẽ trả lại một ticket cho người dùng.
3, Người dùng gửi ticket này tới máy chủ mạng nội bộ (intranet server) của bệnh viện.
4, Máy chủ mạng nội bộ sẽ gửi ticket này tới máy chủ xác thực.
5, Máy chủ xác thực sẽ gửi các thông tin bảo mật của người dùng lại cho máy chủ mạng nội bộ.
Với mô hình đăng nhập một lần trên, nếu một bác sỹ nghỉ việc chúng ta chỉ cần vô hiệu hóa người dùng tại máy chủ xác thực, khi đó sẽ vô hiệu hóa truy cập của người dùng cho tất cả các hệ thống.
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng
---
! Luồng thông tin đăng ký người dùng
Người dùng cần đăng ký thông tin với IDaaS qua cơ chế OpenID để lấy OpenID URL làm khoá chính cho định danh người dùng trên cơ sở dữ liệu của từng bệnh viện.
Hình 3.11. Đăng ký người dùng
- Với bệnh nhân, quá trình ghi danh sẽ cần: OpenID URL và thông tin cá nhân. Sau khi hoàn tất quá trình ghi danh, mỗi bệnh nhân sẽ có một định danh bnID.
- Với bác sỹ, quá trình ghi danh sẽ cần OpenID URL, thông tin bác sỹ và bệnh viện công tác. Sau khi hoàn tất quá trình ghi danh, mỗi bác sỹ sẽ có một định danh bsID.
! Luồng thông tin xác thực người dùng
Khi người dùng xác thực tới cổng thông tin IDaaS và chứng thực là người dùng hợp lệ, họ sẽ được cấp quyền truy cập tới đám mây dịch vụ của hệ thống thông tin y tế.
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng
---
Hình 3.12. Xác thực người dùng
Với luồng xác thực của người dung như trên, việc áp dụng OpenID có thể thực hiện theo hai cách:
a, Phần trước (front-end) xác thực của IDaaS sử dụng OpenID, sau khi thành công người dùng được phép truy xuất một cách hợp lệ các dịch vụ trên đám mây.
b, Từ cổng thông tin IDaaS, áp dụng đăng nhập một lần đến các dịch vụ được bảo vệ bởi OpenID.
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng
---