3. Cấu trúc luận văn
2.6 Ứng dụng của mã hóa đồng cấu đầy đủ
Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin, việc bảo mật dữ liệu cho tất cả những đối tượng tham gia vào mạng internet đang là bài toán
25 được rất nhiều lĩnh vực quan tâm. Trong đó mã hóa đồng cấu đầy đủ cũng nhận được không ít sự quan tâm nghiên cứu, triển khai ứng dụng vào các bài toán đảm bảo việc không cần giải mã mà vẫn có thể đưa ra kết quả dựa trên tính chất đồng cấu của hệ mật này. Dưới đây sẽ là một vài ứng dụng của mã hóa đồng cấu đầy đủ trong một vài lĩnh vực cụ thể.
Ngành quảng cáo
Jeckmans và cộng sự. [10] phác thảo một kịch bản trong đó người dùng muốn các đề xuất cho một sản phẩm bất kỳ. Kịch bản được thiết kế xung quanh một mạng xã hội, nơi các đề xuất dựa trên thị hiếu của bạn bè người dùng với điều kiện bảo mật. Hệ thống được đề xuất áp dụng mã hóa đồng cấu để cho phép người dùng nhận được đề xuất từ bạn bè mà không tiết lộ danh tính của người đề xuất.
Armknecht và Strufe [11] đã trình bày một hệ thống đề xuất trong đó người dùng nhận được các đề xuất được mã hóa mà hệ thống không biết nội dung. Hệ thống này được xây dựng dựa trên một sơ đồ mã hóa đồng cấu rất đơn giản nhưng hiệu quả cao đã được phát triển cho mục đích này. Điều này cho phép tính toán một hàm chọn quảng cáo cho từng người dùng trong khi quảng cáo vẫn được mã hóa
Trong một cách tiếp cận khác đối với quảng cáo được cá nhân hóa [12], thiết bị di động sẽ gửi vị trí của người dùng đến nhà cung cấp, nhà cung cấp sẽ gửi quảng cáo tùy chỉnh, chẳng hạn như phiếu giảm giá cho các cửa hàng lân cận, cho người dùng. Tất nhiên, điều này có khả năng cho phép nhà cung cấp giám sát mọi thứ về thói quen và sở thích của người dùng.
Tuy nhiên, vấn đề này có thể được giải quyết bằng mã hóa đồng cấu - miễn là quảng cáo đến từ bên thứ ba (hoặc một số) và không có sự thông đồng với nhà cung cấp.
Ngành y tế
Trong một hệ lưu trữ đảm bảo bí mật trên đám mây, dữ liệu về lịch sử khám chữa bệnh của các bệnh nhân được các cơ sở y tế mã hoá trước khi đẩy lên đám mây. Bệnh nhân kiểm soát việc chia sẻ và truy cập hồ sơ của mình bằng cách chia sẻ khoá bí mật với những cơ sở khám chữa bệnh nhất định với các tính năng bao gồm cấu trúc phân cấp của hồ sơ, khả năng tìm kiếm dữ liệu mã hoá và các lựa chọn phân phối khoá. Tuy nhiên, hệ thống này chỉ cho phép đơn vị quản lý hệ thống lưu trữ tìm kiếm theo từ khoá chính xác hay tìm kiếm nội (conjunctive search). Khả năng mã hoá đồng cấu có thể cho phép nhà cung cấp dịch vụ đám mây tính toán trên dữ liệu mã hoá thay mặt bệnh nhân.
26 Trên thực tế, các thiết bị giám sát có thể thay mặt bệnh nhân liên tục truyền dữ liệu lên đám mây. Với mã hoá đồng cấu, nhà cung cấp dịch vụ điện toán đám mây có thể tính các hàm trên dữ liệu mã hoá và gửi cho bệnh nhân các thông tin cập nhật, cảnh báo hay khuyến nghị dựa trên dữ liệu nhận được. Các hàm có thể tính toán trong kịch bản này có thể bao gồm tính giá trị trung bình, sai lệch chuẩn hay các hàm thống kê khác như hồi quy logistic để dự đoán khả năng mắc các chứng bệnh nguy hiểm, thay đổi hướng điều trị (ví dụ như thay đổi liều lượng thuốc). Dữ liệu mã hoá là đầu vào của các hàm đó có thể bao gồm huyết áp, nhịp tim hay chỉ số đường trong máu cùng với những thông tin về tuổi, cân nặng, giới tính,… của bệnh nhân. Lợi ích chính ở đây là cho phép phân tích sức khỏe theo thời gian thực dựa trên các kết quả đọc từ nhiều nguồn khác nhau mà không cần phải tiết lộ dữ liệu này cho bất kỳ nguồn nào.
Các hàm tính toán không cần giữ bí mật, mặt khác, những hàm thống kê đó có thể thực hiện trên những hệ mã hoá đồng cấu không hoàn toàn: tính giá trị trung bình không cần sử dụng, tính độ lệch chuẩn (standard deviation) chỉ cần một phép nhân, phân tích dự báo như hồi quy logistic chỉ cần một vài phép nhân (tuỳ theo mức độ chính xác cần có). Lauter [9] cũng đã có mô tả việc triển khai thực tế dự đoán cơn đau tim của người bệnh và được phát triển bởi Microsoft.
Theo [13] việc chuyển dịch vụ chăm sóc sức khỏe của Hoa Kỳ sang kỷ nguyên kỹ thuật số là cần thiết để giảm chi phí hoạt động tại các Tổ chức chăm sóc sức khỏe (HCO) và cung cấp các công cụ chẩn đoán tốt hơn cho các chuyên gia chăm sóc sức khỏe bằng cách cung cấp dữ liệu bệnh nhân kỹ thuật số kịp thời. Quá trình chuyển đổi như vậy yêu cầu Thông tin Sức khỏe Cá nhân (PHI) được bảo vệ trong ba giai đoạn khác nhau của quá trình thao tác dữ liệu bệnh nhân kỹ thuật số: 1) Thu thập, 2) Lưu trữ và 3) Tính toán. Mặc dù có thể thực hiện phân tích hoặc sử dụng PHI như vậy để theo dõi sức khỏe lâu dài có thể có tác động tích cực đáng kể đến chất lượng chăm sóc sức khỏe, việc đảm bảo PHI trong từng giai đoạn này đặt ra những thách thức riêng trong từng giai đoạn. Mặc dù các kỹ thuật mã hóa đã được thiết lập, chẳng hạn như Tiêu chuẩn mã hóa nâng cao (AES), có thể bảo mật PHI trong Giai đoạn 1 (chuyển đổi) và 2 (lưu trữ), chúng chỉ có thể đảm bảo lưu trữ an toàn. Đảm bảo quyền riêng tư của dữ liệu trong Giai đoạn 3 (tính toán) khó hơn nhiều, vì không có phương pháp nào để thực hiện tính toán, chẳng hạn như phân tích và theo dõi sức khỏe dài hạn, trên dữ liệu được mã hóa một cách hiệu quả. Trong chương này, các tác giả nghiên cứu một kỹ thuật mã hóa mới nổi, được gọi là Mã hóa đồng cấu đầy đủ (FHE), như một ứng cử viên để thực hiện phân tích và giám sát an toàn trên PHI trong Giai đoạn 3. Trong khi FHE đang trong giai đoạn phát triển và là ứng dụng chính của nó cho các ứng dụng chăm
27 sóc sức khỏe có thể mất nhiều năm để được thiết lập, các tác giả tiến hành một nghiên cứu khả thi về ứng dụng của nó để theo dõi bệnh nhân dài hạn thông qua thu thập dữ liệu điện tâm đồ dựa trên đám mây thông qua các thiết bị thu nhận điện tâm đồ hiện có.
Hình 2.2: Mô hình triển khai Thông tin Sức khỏe Cá nhân (PHI)
- Việc bảo toàn PHI đòi hỏi bảo đảm tính bảo mật dữ liệu ở ba giai đoạn riêng biệt:
o Giai đoạn I thu thập, là giai đoạn dữ liệu được thu thập từ bệnh nhân thông qua các thiết bị dùng một lần
o Giai đoạn II lưu trữ dữ liệu trong đám mây để truy cập trong tương lai.
o Giai đoạn III, tính toán, là giai đoạn dữ liệu được xử lí.
- Giai đoạn I (thu thập) thông qua việc sử dụng các cảm biến từ xa, kết hợp mã hóa AES và khả năng truyền.
- Giai đoạn II (lưu trữ) và III (tính toán) được tiến hành hoàn toàn trong đám mây trong hệ thống này.
Trong hệ thống này, các nhà nghiên cứu đã đề xuất việc thu thập dữ liệu, xử lý dữ liệu, lưu trữ dữ liệu dựa trên việc giảm tải gần như toàn bộ tính toán lên đám mây. Ứng dụng chủ yếu dựa trên ba phần riêng biệt: 1) Thiết bị thu thập dữ liệu y tế theo thời gian thực, 2) Tính toán và lưu trữ dựa trên đám mây, 3) Nút GUI (cuối).
Thu thập dữ liệu: Thiết bị chuyển đổi là giao diện người dùng của ứng dụng
y tế dựa trên đám mây. Các thiết bị này có khả năng thu thập dữ liệu y tế thời gian thực. Ví dụ về các thiết bị như vậy là các miếng dán điện tâm đồ dùng một lần
28 được gắn vào một bệnh nhân hoặc xe điện tâm đồ di động được sử dụng trong bệnh viện. Hơn nữa, với nhiều thập kỷ nghiên cứu và phát triển, các công nghệ ghi điện tâm đồ hiện tại đã đủ trưởng thành để cho phép bệnh nhân tự theo dõi tại nhà.
Hình 2.3: Thu thập dữ liệu
Hình bên trái cho thấy một thiết bị mẫu từ Alivecor (2013), có thể được gắn vào Điện thoại thông minh và phần mềm đi kèm với thiết bị có khả năng ghi lại các mẫu điện tâm đồ. Bản ghi điện tâm đồ mẫu thu được từ thiết bị được thể hiện trong Hình bên phải, có đủ độ chính xác để hữu ích trong chẩn đoán lâm sàng. Để bảo vệ quyền riêng tư của bệnh nhân, các nhà nghiên cứu giả định rằng các thiết bị thu nhận có khả năng thực hiện mã hóa AES đối với dữ liệu bệnh nhân và truyền dữ liệu được mã hóa không dây (Fahad et al., 2012a; Soyata et al., 2012b; Soyata et al., 2012c; Soyata et al., 2013).
Xem xét sự khác biệt đáng kể về tính toán của việc mã hóa dữ liệu giữa AES (Viện Tiêu chuẩn và Công nghệ Quốc gia, 2001) và FHE, việc một nút chuyển đổi thực thi mã hóa FHE thời gian thực là không thực tế, trong khi mã hóa AES có nhu cầu tính toán nhỏ và khả dụng ngay cả trong thiết bị ít tốn kém nhất. Do đó, các nhà nghiên cứu đã thiết lập nút thu nhận không biết đến mã hóa FHE và chỉ chịu trách nhiệm mã hóa dữ liệu bệnh nhân bằng mã hóa AES, trong khi việc chuyển đổi dữ liệu được mã hóa AES sang dữ liệu được mã hóa FHE được thực hiện trên đám mây. Điều này làm giảm thiểu việc tính toán ở nguồn thu thập và cũng đảm bảo an toàn cho dữ liệu được thu thập.
29
CHƯƠNG 3: ĐIỆN TOÁN ĐÁM MÂY VÀ Ứ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 3.1 Điện toán đám mây
3.1.1 Định nghĩa
Hình 3.1: Điện toán đám mây
Điện toán đám mây [5] (Cloud computing) còn gọi là điện toán máy chủ ảo, là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet. Thuật ngữ “đám mây” ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa vào cách được bố trí của nó trong sơ đồ mạng máy tính) và như sự liên tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó. Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các “dịch vụ”, cho phép ngư ời sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó “trong đám mây” mà không cần phải có các kiến thức, kinh nghiệm về công nghệ đó, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó. Theo tổ chức IEEE “Nó là hình mẫu trong đó thông tin được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được được lưu trữ tạm thời ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính và các phương tiện máy tính cầm tay,...”. Điện toán đám mây là khái niệm tổng thể bao
30 gồm cả các khái niệm như phần mềm dịch vụ, Web 2.0 và các vấn đề khác xuất hiện gần đây, các xu hướng công nghệ nổi bật, trong đó đề tài chủ yếu của nó là vấn đề dựa vào Internet để đáp ứng những nhu cầu điện toán của người dùng. Ví dụ, dịch vụ Google AppEngine cung cấp những ứng dụng kinh doanh trực tuyến thông thường, có thể truy nhập từ một trình duyệt web, còn các phần mềm và dữ liệu đều được lưu trữ trên các máy chủ. Nói rõ ràng hơn thì điện toán đám mây là việc cung cấp tài nguyên máy tính cho người dùng tùy theo mục đích sử dụng thông qua kết nối Internet. Nguồn tài nguyên đó có thể là bất kì thứ gì liên quan đến điện toán và máy tính, ví dụ như phần mềm, phần cứng, hạ tầng mạng cho đến các máy chủ và mạng lưới máy chủ cỡ lớn.
Điện toán đám mây không nên nhầm lẫn với điện toán lưới (“một dạng của điện toán phân tán trong đó tồn tại một 'siêu máy tính ảo', là sự bao gồm một cụm mạng máy tính, những máy tính liên kết mềm, hoạt động phối hợp để thực thi những tác vụ cực lớn”), điện toán theo nhu cầu (utility computing) (“khối những tài nguyên máy tính, như các bộ xử lý và bộ nhớ, trong vai trò một dịch vụ trắc lượng tương tự với các công trình hạ tầng kỹ thuật truyền thống chẳng hạn như điện lực hay mạng điện thoại”) và điện toán tự trị (autonomic computing) (“những hệ thống máy tính có khả năng tự quản lý”) liên quan đến sự tương tác của một số tài nguyên ảo hóa. Thực ra nhiều hệ thống điện toán máy đám mây ngày nay được trang bị hệ thống lưới, có tính năng tự trị và được tiếp thị giống như những tiện ích, nhưng điện toán đám mây có thể được nhìn nhận như một bước phát triển tự nhiên tiếp theo từ mô hình lưới-theo nhu cầu. Đám mây máy chủ ™ kết nối và chia sẻ thông tin dựa trên mức độ lưu lượng truy cập trang web trên toàn bộ mạng. Điện toán đám mây thường được cung cấp như một dịch vụ “qua Internet”, thường là dưới hình thức cơ sở hạ tầng như một dịch vụ (IaaS), nền tảng như một dịch vụ (PaaS), hoặc phần mềm như một dịch vụ (SaaS).
Điện toán đám mây ra đời, giúp tự động quản lý phần cứng và phần mềm của mình. Hiện nay có rất nhiều dịch vụ điện toán đám mây lưu trữ dữ liệu như: OneDrive, có Dropbox, có Google Drive. Chúng ta cũng không cần quan tâm đến việc kết nối máy này với máy khác để nhận file ở hai nơi. Mọi thứ đã được “chăm sóc” bởi nhà cung cấp dịch vụ đám mây và trong trường hợp này đó chính là Dropbox, Google hay Microsoft. Nếu HDD hỏng, một HDD khác sẽ được thay thế, và các thao tác backup định kỳ sẽ được bên cung cấp dịch vụ thực hiệ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ử