3. Cấu trúc luận văn
3.1.2 Các mô hình điện toán đám mây
Thông thường thì sẽ có ba mô hình dịch vụ cloud được so sánh: Software as a Service (SaaS), Platform as a Service (PaaS) và Infrastructure as a Service
31 (IaaS). Mỗi một dịch vụ sẽ có các lợi ích riêng, và cần phải hiểu rõ sự khác nhau giữa SaaS, PaaS, IaaS.
Hình 3.2: Tổng quan sự khác nhau giữa các dịch vụ
Dịch vụ Nhà cung cấp
SaaS Google Apps, Dropbox, Salesforce, Cisco WebEx, Concur, GoToMeeting
PaaS AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, OpenShift
IaaS DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE)
3.1.2.1 SaaS: Infrestructure as a Service
Software as a Service [15], được biết như các dịch vụ ứng dụng đám mây, tên gọi đại diện cho hầu hết các tùy chọn sử dụng dịch vụ phổ biến nhất trong thị trường cloud. SaaS sử dụng internet để cung cấp các ứng dụng, được quản lý bởi bên thứ ba, tới người dùng của nó. Phần lớn các ứng dụng SaaS được chạy trực tiếp thông qua trình duyệt web, và không yêu cầu download hay cài đặt bất cứ thứ gì từ phía người dùng.
32 Do mô hình phân phối của SaaS dựa trên trên nền web, nên SaaS loại bỏ việc yêu cầu nhân viên IT phải download và cài đặt các ứng dụng trên mỗi máy tính riêng lẻ. Với SaaS, các nhà cung cấp sẽ quản lý tất cả vấn đề kỹ thuật tiềm ẩn, như là dữ liệu, middleware, máy chủ và lưu trữ, cho phép quản lý và hỗ trợ online.
Điểm mạnh của SaaS:
SaaS cung cấp rất nhiều lợi ích thông qua việc giảm đáng kể thời gian và tiền bạc cho những công việc như cài đặt, quản lý, và nâng cấp bảo mật phần mềm.
Đặc tính của SaaS:
• Quản lý dịch vụ từ vị trí trung tâm
• Đặt trên máy chủ từ xa
• Khả năng truy cập qua internet
• Người dùng không có trách nhiệm cho việc cập nhật phần cứng và phần mềm
3.1.2.2 PaaS: Platform as a Service:
Các dịch vụ nền tảng đám mây, hay Platform as a Service (PaaS) [16], cung cấp các thành phần đám mây tới các phần mềm nhất định trong khi vẫn được sử dụng cho các ứng dụng chính. PaaS cung cấp một framework cho các nhà phát triển để họ có thể xây dựng và sử dụng để tạo ra các ứng dụng tùy chỉnh. Tất cả server, storage và networking có thể được quản lý bởi nhà cung cấp thứ 3 trong khi các nhà phát triển có thể duy trì việc quản lý các ứng dụng
Mô hình phân phối của PaaS tương tự như SaaS, ngoại trừ thay vì việc phân phối phần mềm qua internet, thì PaaS cung cấp một nền tảng cho việc tạo ứng dụng. Nền tảng này được phân phối qua web, và cung cấp cho các nhà phát triển để họ triển khai tự do, có thể tập trung vào việc xây dựng phần mềm trong khi không cần phải lo lắng hay quan tâm về hệ điều hành, cập nhật phần mềm, hay cơ sở hạ tầng.
PaaS cho phép thiết kế và tạo ra các ứng dụng được tích hợp vào trong SaaS với các thành phần phần mềm đặc biệt. Những ứng dụng này, hay middleware có khả năng mở rộng và khả dụng cao khi chúng có các đặc điểm cloud nhất định.
Có rất nhiều các tính huống khi sử dụng PaaS là thực sự có lợi hoặc thậm chí cần thiết. Nếu có nhiều nhà phát triển đang làm việc trong cùng một dự án phát triển, hoặc cùng với các nhà cung cấp khác, PaaS có thể cung cấp tốc độ và sự linh hoạt tới toàn bộ quy trình.
33 hóa những thách thức xuất hiện khi cần phát triển nhanh chóng hay triển khai một ứng dụng
Điểm mạnh của PaaS:
• Làm cho việc phát triển và triển khai các ứng dụng đơn giản và tiết kiệm chi phí hơn.
• Khả năng mở rộng dễ dàng
• Tính khả dụng cao
• Cung cấp cho các nhà phát triển khả năng tạo ra các ứng dụng tùy chỉnh mà không cần phải đau đầu trong việc duy trì phần mềm.
• Giảm đáng kể số lượng các dòng code
• Chính sách kinh doanh tự động
• Cho phép tích hợp dễ dàng với mô hình hybrid Đặc tính của IaaS:
• Được xây dựng trên công nghệ ảo hóa, nghĩa là tài nguyên có thể dễ dàng mở rộng lên hoặc xuống khi thay đổi.
• Cung cấp nhiều dịch vụ để phát triển, kiểm thử, và triển khai ứng dụng.
• Nhiều người dùng có thể truy cập cùng một ứng dụng dịch vụ một lúc
• Các dịch vụ web và databases được tích hợp
3.1.2.3 IaaS: Infrestructure as a Service
Dịch vụ cơ sở hạ tầng đám mây, được biết đến như Infrastructure as a Service (IaaS) [17], được tạo ra từ tài nguyên tính toán tự động và có khả năng mở rộng cao. IaaS hoàn toàn tự phục vụ việc truy cập và giám sát mọi thứ như computers, networking, storage, và các dịch vụ khác, và nó cho phép mở rộng tài nguyên theo yêu cầu và nhu cầu thay vì phải tự mua hoàn toàn phần cứng.
IaaS phân phối cơ sở hạ tầng điện toán đám mây, bao gồm mọi thứ như servers, network, hệ điều hành, và storage, thông qua công nghệ ảo hóa. Những dịch vụ đám mây này cụ thể được cung cấp tới tổ chức thông qua một bảng điều khiển hay một API, một khách hàng IaaS hoàn toàn có quyền kiểm soát toàn bộ cơ sở hạ tầng.
IaaS cung cấp các công nghệ và có khả năng như một trung tâm lưu trữ truyền thống, mà không phải bảo trì hay quản lý phần cứng của tất cả các thành phần đó. Các khách hàng IaaS vẫn có thể có khả năng truy cập server và storage của họ
34 trực tiếp, nhưng tất cả đều được thuê bởi đối tác bên ngoài thông qua trung tâm dữ liệu ảo trong cloud.
Trái ngược với SaaS và PaaS, các khách hàng IaaS chịu trách nhiệm cho việc quản lý các khía cạnh như ứng dụng, runtime, hệ điều hành, middleware và dữ liệu. Tuy nhiên, các nhà cung cấp IaaS quản lý server, ổ đĩa cứng, networking, ảo hóa và storage. Một vài nhà cung cấp thậm chí cung cấp nhiều hơn các dịch vụ nằm bên ngoài cả tầng ảo hóa, như là database.
Điểm mạnh của IaaS:
• Là mô hình điện toán đám mây linh hoạt nhất
• Dễ dàng cho phép việc triển khai lưu trữ, networking, server, và sức mạnh xử lý tự động
• Phần cứng có thể được mua thêm dựa trên mức sử dụng
• Cung cấp cho khách hàng quyền kiểm soát hoàn toàn cơ sở hạ tầng của họ
• Tài nguyên có thể được mua thêm khi cần thiết
• Dễ dàng mở rộng cao Đặc tính của IaaS:
• Tài nguyên có sẵn như một dịch vụ
• Chi phí khác nhau phụ thuộc vào mức tiêu thụ
• Các dịch vụ có khả năng mở rộng cao
• Thường có nhiều người dùng trên một phần cứng cụ thể
• Cung cấp quyền kiểm soát hoàn toàn cơ sở hạ tầng cho tổ chức
• Linh động
3.2 Điện toán đám mây và vấn đề an toàn bảo mật thông tin
Với dịch vụ Điện toán đám mây, dữ liệu của người dùng được đồng bộ một cách tự động mà không đòi hỏi các thiết bị phải kết nối với nhau, chỉ cần kết nối vào mạng Internet là đủ. Tuy nhiên, vấn đề cần được giải quyết là bảo mật dữ liệu trong dịch vụ này.
Trên đường truyền (việc đồng bộ được thực hiện qua giao thức HTTPS) và không có nhà cung cấp dịch vụ nào trong số trên đây cam kết đảm bảo bí mật dữ liệu người dùng khi lưu trữ trên đám mây. Dropbox không có ý định xâm nhập dữ liệu của người dùng, nhưng không có nghĩa là dữ liệu không bị xâm phạm. Ngày 19/6/2011, trong vòng 4 tiếng đồng hồ, một người bất kỳ có thể đăng nhập vào tài khoản bất kỳ trên DropBox với mật khẩu tùy ý. Có lẽ các nhà phát triển dịch vụ
35 đã không nhận ra nguy cơ này, nếu như thông tin về lỗ hổng không được công bố bởi một chuyên gia bảo mật độc lập. Và đó không phải là sự cố đầu tiên liên quan đến vấn đề an toàn của các tập tin mà hàng triệu người dùng đã tin tưởng, gửi gắm cho kho lưu trữ đám mây DropBox.
Như vậy, để vừa có được những lợi ích mà các dịch vụ này mang lại, vừa đảm bảo được bí mật cho dữ liệu của mình, người dùng cần sử dụng mật mã. Dữ liệu cần phải được mã hóa trên máy khách (trên thiết bị của người dùng) và truyền lên máy chủ ở dạng đã mã hóa.
Trong số các dịch vụ ĐTĐM cho phép đồng bộ dữ liệu giữa các thiết bị của người dùng, dường như DropBox được ưa thích hơn cả. Theo thống kê, cứ mỗi 5 phút, người dùng DropBox lại thực hiện lưu trữ khoảng mười triệu tập tin. Có khoảng hơn 300 triệu người đang sử dụng dịch vụ này. Do đó, chúng ta sẽ xem xét việc mã hóa dữ liệu khi sử dụng Dropbox. Việc áp dụng cho các dịch vụ khác được thực hiện tương tự.
3.3 Ứng dụng điện toán đám mây trong việc kiểm soát an toàn phục vụ nhu cầu theo dõi sức khỏe vụ nhu cầu theo dõi sức khỏe
Trong xu hướng hội nhập và phát triển hiện nay, công nghệ thông tin đã trở thành công cụ không thể thiếu trong công việc hàng ngày của cán bộ, công chức, viên chức tại các cơ quan, đơn vị ngành Y tế, nhằm giúp công tác quản lý, điều hành thuận lợi, hiệu quả, tiết kiệm chi phí, thúc đẩy cải cách hành chính, nâng cao chất lượng, hiệu quả công việc.
Việc nghiên cứu, ứng dụng công nghệ thông tin trong vấn đề theo dõi sức khỏe đang được rất nhiều đơn vị tổ chức triển khai. Tuy nhiên, đi song hành với vấn đề này chính là vấn đề bảo vệ dữ liệu người sử dụng khi tham gia theo dõi sức khỏe.
Dữ liệu y tế được dùng để theo dõi toàn bộ các quá trình giao dịch cũng như sự kiện giữa bệnh nhân và dịch vụ chăm sóc sức khỏe. Chúng cung cấp đầy đủ thông tin cá nhân của bệnh nhân cũng như các thông tin về bệnh tật, tiền sử bệnh tật, chẩn đoán, các phương pháp điều trị, các xét nghiệm và các dịch vụ y tế khác trong quá khứ. Các dữ liệu này sẽ giúp các đội ngũ y bác sỹ đánh giá và phân tích được các xu hướng trong hoạt động chăm sóc sức khỏe, đặc điểm bệnh nhân và chất lượng chăm sóc sức khỏe, các dữ liệu này sẽ được cập nhật phục vụ công tác truy cứu, điều trị và chữa trị của bệnh nhân sau này.
Các dữ liệu này được đánh giá là rất quan trọng đối với không chỉ đối với bệnh nhân mà còn cả đối với cả các y bác sỹ. Xu hướng ứng dụng công nghệ thông
36 tin trong việc lưu trữ, quản lý và khai thác các dữ liệu y tế đã và đang được triển khai, tuy nhiên đi kèm với đó chính là sự gia tăng của rủi ro về an toàn và bảo mật, chẳng hạn nguy cơ rõ rỉ, mất mát dữ liệu là rất lớn.
Trong phần này, chúng tôi sẽ trình bày cụ thể giải pháp của chúng tôi đưa ra trong vấn đề ứng dụng trong việc kiểm soát an toàn phục vụ nhu cầu theo dõi sức khỏe cộng đồng.
3.3.1 Thu thập dữ liệu
Đặc trưng dữ liệu y tế Dữ liệu y tế trong nghiên cứu này được phân thành 2 nhóm: Dữ liệu thu thập từ các thiết bị y sinh và dữ liệu thông tin bệnh án. Phần dưới đây mô tả đặc trưng nguồn dữ liệu đầu vào cho hệ thống HealthDL [14].
Các thiết bị y sinh như máy đo nhịp tim, huyết áp gửi thông số đo khoảng 540 bytes/s. Trung bình mỗi bệnh nhân đo 2 tiếng/ngày, như vậy số lượng gói dữ liệu sinh ra trong 1 tháng ứng với 1.000 bệnh nhân là 216.000.000 gói dữ liệu. Mỗi gói trung bình 540 bytes, xét trên 1.000 bệnh nhân với các máy đo độc lập, lượng dữ liệu thu thập được tương ứng là 116 Gigabytes về thông số bệnh nhân trong một tháng.
Xét dữ liệu bệnh án tìm hiểu trên 4 nhóm bệnh, gồm: Bệnh tăng huyết áp (kích thước bản ghi 800-1.000 bytes); bệnh lao phổi (kích thước bản ghi 400-600 bytes); bệnh hen phế quản (kích thước bản ghi 500-700 bytes); bệnh đái tháo đường (kích thước bản ghi 800-1.000 bytes). Đặc điểm của dữ liệu bệnh án là cấu trúc dữ liệu rất linh hoạt. Đối với bệnh nhân đái tháo đường, một văn bản bệnh án sẽ có khoảng 150 trường dữ liệu riêng biệt với cấu trúc chia nhỏ từ 4 đến 5 tầng (bảng 1). Đối với bệnh nhân tăng huyết áp, một văn bản bệnh án sẽ có khoảng 75 trường dữ liệu riêng biệt với cấu trúc chia nhỏ đến 4-5 tầng.
Như vậy có thể thấy, nguồn dữ liệu y tế trong hệ thống HealthDL mang đặc trưng của dữ liệu lớn. Cụ thể:
Kích thước lớn: Xét trên 1.000 bệnh nhân với các máy đo độc lập, lượng dữ
liệu thu thập được tương ứng là 116 Gigabytes về thông số bệnh nhân trong một tháng. Như vậy, khi số bệnh nhân tăng lên và thời gian đo kéo dài, lượng dữ liệu cần thu thập là vô cùng lớn.
Tốc độ lớn: Các thiết bị y sinh tạo ra dữ liệu liên tục với tốc độ cao (tần suất
1 bản ghi dữ liệu/s) đòi hỏi hệ thống lưu trữ cần đảm bảo tính sẵn sàng cao, đáp ứng tương tranh đồng thời giữa các tiến trình ghi dữ liệu và các tiến trình đọc, xử lý dữ liệu theo thời gian thực.
37
Tính đa dạng: Các bệnh án là dữ liệu bán cấu trúc có lược đồ không đồng
nhất. Việc lưu trữ dữ liệu này đòi hỏi hệ quản trị cơ sở dữ liệu phải có lược đồ dữ liệu linh hoạt, điều mà các hệ quản trị cơ sở dữ liệu quan hệ truyền thống không đáp ứng được.
Mang lại giá trị lớn: Dữ liệu y tế được lưu trữ và khai thác mang lại hiệu quả
cao trong việc chẩn đoán, điều trị bệnh, góp phần cải thiện chất lượng khám chữa bệnh và giảm chi phí xét nghiệm.
3.3.2 Mã hóa AES
Năm 1997, NIST (National Institute of Standards and Technology) đã mở một cuộc thi dành cho các thiết kế cải tiến thuật toán mã khối với khóa mã đối xứng. Kết quả chọn được thuật toán Rijandel: Một thuật toán mã do hai người Bỉ (Joan Daemen và Vincent Rijmen) đề xuất [35,36] là thuật toán có tốc độ mã hóa và giải mã nhanh nhất. Thuật toán này được NIST lựa chọn và trở thành tiêu chuẩn Quốc gia, gọi là Chuẩn mã hóa dữ liệu tiên tiến AES. Đây là chuẩn mã khối được xây dựng trên cơ sở cấu trúc mạng thay thế hoán vị (SPN) với kích thước khối là 128 bit. Mỗi khối đầu vào được biểu diễn dưới dạng ma trận 4x4 trên trường 𝔽28. Cấu trúc tổng thể của AES được mô tả như trong hình:
Hình 3.3: Cấu trúc tổng thể của thuật toán AES
3.3.2.1 Khái niệm
Rijndael là một mã khối với độ dài khối và độ dài khoá đều có thể thay đổi. Độ dài khối và độ dài khoá được gán một cách độc lập bằng bội của 32 bit, với 128 bit là nhỏ nhất và 256 bit là lớn nhất. AES là một trường hợp riêng của
38 Rijndael. AES có độ dài khối bằng 128 bit và hỗ trợ các độ dài khoá bằng 128, 192 hay 256 bit.
Sau đây là mô tả của Rijndael. Đầu vào và đầu ra của Rijndael được xem như là các mảng một chiều của các byte có 8 bit. Đối với phép mã, đầu vào là khối rõ (plaintext block) và khoá (key), và đầu ra là bản mã (ciphertext block). Đối với phép giải mã, đầu vào là khối mã và khoá, đầu ra là khối rõ. Biến đổi vòng của Rijndael, và các bước của nó, thao tác trên một kết quả trung gian, được gọi là trạng thái (state). Trạng thái có thể được vẽ như là một mảng chữ nhật các byte, với 4 dòng. Số các cột trong trạng thái được ký hiệu bởi Nb và bằng độ dài khối chia cho 32 (đối với AES thì Nb bằng 4). Giả sử khối rõ được ký hiệu bởi
𝑝0𝑝1𝑝2𝑝3. . . . 𝑝4.𝑁𝑏−1 (14)
với p0 ký hiệu byte đầu tiên, và 𝑝4.𝑁𝑏−1 ký hiệu byte cuối cùng của khối bản rõ.
Tương tự, khối bản mã có thể được ký hiệu bởi: 𝑐0𝑐1𝑐2𝑐3. . . . 𝑐4.𝑁𝑏−1 (15) Giả sử trạng thái được ký hiệu bởi
𝑎𝑖,𝑗, 0 ≤ 𝑖 < 4,0 ≤ 𝑗 < 𝑁𝑏 (16)