DANH MỤC BẢNG DANH MỤC HÌNH Hình 4 Các cuộc tấn công trong một môi trường điện toán đám mây 19 Hình 6 Kiến trúc Identity federation dynamic management 29 Hình 10 Cấu trúc của một active
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
- Lương Trần Tuấn Anh
CƠ CHẾ ĐỊNH DANH VÀ QUẢN LÝ TRUY NHẬP
TRÊN ĐIỆN TOÁN ĐÁM MÂY
Chuyên ngành: Công nghệ thông tin
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tác giả
Lương Trần Tuấn Anh
Nhận xét của người hướng dẫn:
Trang 3
DANH MỤC BẢNG
DANH MỤC HÌNH
Hình 4 Các cuộc tấn công trong một môi trường điện toán đám mây 19
Hình 6 Kiến trúc Identity federation dynamic management 29
Hình 10 Cấu trúc của một active bundle với bảo mật siêu dữ liệu 40
Hình 12 Kiến trúc điều khiển truy cập trong môi trường đám mây 51 Hình 13 Quy trình của Access Control trong môi trường đám mây 56 Hình 14 Cấu trúc cơ bản của Windows Azure Platform 59 Hình 15 Ứng dụng Windows Azure chạy trên Microsoft data-center 60
Hình 17 Ứng dụng Windows Azure chứa Web role hoặc Worker role 61 Hình 18 Bộ lưu trữ Windows Azure gồm: Blob, Table, Queue 62
Hình 23 Cơ sở dữ liệu quan hệ SQL Azure Database 67 Hình 24 Đồng bộ dữ liệu giữa SQL Azure Database và CSDL khác 68
Trang 4Hình 34 Giao diện Development Emulator 78
Trang 5MỤC LỤC
LỜI CAM ĐOAN 2
DANH MỤC BẢNG 3
DANH MỤC HÌNH 3
MỞ ĐẦU 7
1 Lý do chọn đề tài 7
2 Mục đích của đề tài 7
3 Đối tượng và phạm vi nghiên cứu 8
4 Phương pháp nghiên cứu 8
5 Bố cục luận văn 8
CHƯƠNG I: ĐIỆN TOÁN ĐÁM MÂY & VẤN ĐỀ BẢO MẬT TRÊN ĐIỆN TOÁN ĐÁM MÂY 9
I Điện toán đám mây 9
1 Điện toán đám mây là gì ? 9
2 Mô hình điện toán đám mây 10
3 Đặc điểm của điện toán đám mây 13
4 Các loại dịch vụ điện toán đám mây 14
5 Một số nhà cung cấp dịch vụ điện toán đám mây 15
II Vấn đề bảo mật trên điện toán đám mây 16
1 Rủi ro an ninh của điện toán đám mây 16
2 Sự riêng tư và tác động của sự riêng tư trên đám mây 20
3 Trust – Sự tin tưởng 22
CHƯƠNG II: DANH TÍNH VÀ ĐIỀU KHIỂN TRUY CẬP TRONG MÔI TRƯỜNG ĐIỆN TOÁN ĐÁM MÂY 24
I QUẢN LÝ DANH TÍNH 24
1 Danh tính và quản lý danh tính 24
2 Các chức năng chính của một hệ thống IdM 25
3 Federation Identity Management và Single Sign On 27
4 Những hệ thống IdM phổ biến 31
II PHƯƠNG PHÁP ĐƯỢC ĐỀ XUẤT TRONG IdM 33
1 Active Bundles 33
2 Phương pháp đề xuất nhằm bảo vệ PII trên điện toán đám mây 42
Trang 6III ACCESS CONTROL 47
1 Thế nào là Access Control ? 47
2 Giải thích về Access Control 47
3 Access Control Và User Profile Management 48
4 Mô hình Access Control Model cho môi trường điện toán đám mây 49
5 Kiến trúc đề xuất cho Access Control trong môi trường điện toán đám mây 51 6 uy trình làm việc của mô hình Access Control trong môi trường đám mây 56
CHƯƠNG III: WINDOWS AZURE PLATFORM - LÀM VIỆC VỚI DỰ ÁN AZURE TRONG VISUAL STUDIO 58
I Tổng quan về Windows Azure Platform 58
1 Giới thiệu 58
2 Kiến trúc Windows Azure Platform 58
II LÀM VIỆC VỚI DỰ ÁN AZURE TRONG VISUAL STUDIO 71
1 Thiết lập môi trường lập trình 71
a Windows Azure Development Emulator 71
b Môi trường lập trình 72
2 Làm việc với dự án azure trong Visual Studio 72
a Tạo project Visual Studio 72
b Thiết lập và cấu hình Roles 74
c Làm việc với Cloud Service Role 76
d Làm việc với Storage Service 77
e Công cụ Windows Azure SDK 77
3 Triển khai ứng dụng 80
3.1 Mô tả về ứng dụng 80
3.2 Tổng quan về Front-end 81
3.3 Tổng quan về Back-end 83
3.4 Azure Tables 85
3.5 Azure Queues 87
3.6 Azure Blobs 88
3.7 Một số code chính của ứng dụng 89
Trang 7MỞ ĐẦU
1 Lý do chọn đề tài
Trong những năm gần đây, điện toán đám mây được nhiều người dùng, doanh nghiệp nhắc tới như một công cụ hữu hiệu trong việc ảo hóa, sử dụng tài nguyên mạng và nhận được rất nhiều sự quan tâm của các nhà khoa học máy tính Điện toán đám mây liên quan đến các khái niệm về công nghệ mạng, ảo hóa mạng cũng như bao gồm các khái niệm về phần mềm dịch vụ, cùng với các xu hướng công nghệ nổi bật khác 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ũng như đảm bảo an toàn thông tin của người dùng… Điện toán đám mây hay đ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 chính là mạng Internet và các kết cấu hạ tầng bên trong
Các vấn đề bảo mật liên quan vẫn không ngăn được sự bùng nổ công nghệ cũng như sự ưa chuộng điện toán đám mây bởi khả năng giải quyết và đáp ứng các nhu cầu trong kinh doanh Để đảm bảo an toàn cho đám mây điện toán, chúng ta cần nắm được vai trò của nó trong sự phát triển công nghệ Rất nhiều câu hỏi tồn tại xung quanh những ưu và khuyết điểm khi sử dụng điện toán đám mây trong đó tính bảo mật, hữu dụng và quản lí luôn được chú ý xem xét Bảo mật là đề tài được người dùng thắc mắc nhiều nhất và nhiều câu hỏi được đặt ra để quyết định liệu việc triển khai điện toán đám mây có phù hợp hay không và nếu có thì nên chọn mô hình nào cho phù hợp: cá nhân, công cộng hay cả hai
Với những lý do trên, tôi quan tâm và lựa chọn đề tài “Cơ chế định danh và quản lý truy nhập trên điện toán đám mây.”
2 Mục đích của đề tài
Nghiên cứu phương pháp tăng cường bảo mật cho điện toán đám mây Từ đó đưa ra các giải pháp giúp doanh nghiệp, tổ chức, người dùng cá nhân có các biện pháp bảo mật thích hợp nhằm hạn chế thấp nhất rủi ro khi cung cấp cũng như tham gia sử dụng các dịch vụ điện toán đám mây
Trang 83 Đối tượng và phạm vi nghiên cứu
Tập trung nghiên cứu về các vấn đề bảo mật, cơ chế định danh và quản lý truy cập trên điện toán đám mây, tìm hiểu về Windows Azure Platform và ứng dụng trên điện toán đám mây
4 Phương pháp nghiên cứu
Kết hợp nghiên cứu lý thuyết, tìm hiểu tình hình an ninh bảo mật trong điện toán đám mây, đánh giá các nguy cơ tiềm tàng và đề xuất giải pháp tăng cường cơ chế an ninh bảo mật trong điện toán đám mây
5 Bố cục luận văn
Nội dung luận văn được chia làm 3 chương chính như sau:
Chương I: Điện toán đám mây & vấn đề bảo mật trên điện toán đám mây
Chương II: Danh tính và điều khiển truy nhập trên điện toán đám mây
Chương III: Windows Azure Platform – Làm việc với dự án Azure trong Visual Studio
Trang 9CHƯƠNG I: ĐIỆN TOÁN ĐÁM MÂY & VẤN ĐỀ BẢO MẬT TRÊN ĐIỆN
TOÁN ĐÁM MÂY
1 Điện toán đám mây là gì ?
Theo Wikipedia: “Điện toán đám mây (cloud computing) là một mô hình điện toán có khả năng co giãn (scalable) linh động và các tài nguyên thường được ảo hóa được cung cấp như một dịch vụ trên mạng Internet”
Điện toán đám mây, 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
Hình 1: Mô hình điện toán đám mây
Điện toán đám mây là “một mô hình điện toán nơi mà khả năng mở rộng và linh hoạt về công nghệ thông tin được cung cấp như một dịch vụ cho nhiều khách hàng đang sử dụng các công nghệ trên Internet” Theo Gartner - tổ chức nghiên cứu thị trường toàn cầu
Theo Ian Foster: “Một mô hình điện toán phân tán có tính co giãn lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet”
Theo Viện Tiêu chuẩn và Công nghệ (NIST) đã đưa ra nghĩa định nghĩa như sau: “Điện toán đám mây là một mô hình cho phép ở một vị trí thuận tiện, khách
Trang 10hàng có thể truy cập mạng theo yêu cầu và được chia sẻ tài nguyên máy tính nhanh chóng từ nhà cung cấp Trong trường hợp xấu nhất thì cũng phải cung cấp dịch vụ hoạt động ở mức tương tác”
2 Mô hình điện toán đám mây
Theo định nghĩa, các nguồn điện toán khổng lồ như phần mềm, dịch vụ sẽ nằm tại các máy chủ ảo trên Internet thay vì trong máy tính gia đình và văn phòng (trên mặt đất) để mọi người kết nối và sử dụng mỗi khi họ cần
Hiện nay, các nhà cung cấp đưa ra nhiều dịch vụ của điện toán đám mây theo nhiều hướng khác nhau, đưa ra các chuẩn riêng cũng như cách thức hoạt động khác nhau Do đó, việc tích hợp các đám mây để giải quyết một bài toán lớn của khách hàng vẫn còn là một vấn đề khó khăn Chính vì vậy, các nhà cung cấp dịch vụ đang
có xu hướng tích hợp các đám mây lại với nhau và đưa ra các chuẩn chung để giải quyết các bài toán lớn của khách hàng
1.1 Bên trong đám mây
Bên trong “đám mây” không chỉ có một dịch vụ mà là một tập các dịch vụ Các tầng định nghĩa mức dịch vụ được cung cấp
Hình 2: Các mức dịch vụ trong “đám mây”
Ba tầng dịch vụ được định nghĩa là: tầng Hạ tầng (Infrastructure), tầng Nền tảng (Platform), tầng Ứng dụng (Application) Phía dưới là tầng phần cứng và tầng ảo hóa
Trang 11• Back end chính là đám mây, bao gồm các máy tính khác nhau, máy chủ và các thiết bị lưu trữ dữ liệu
Mô hình kiến trúc:
Đối với mạng Internet như hiện nay thì các tổ chức đã được lập ra để quản lí
và cùng thống nhất với nhau về các giao thức, các mô hình Các thiết bị hoạt động trong Internet được thiết kế sao cho phù hợp với mô hình điện toán đám mây Trong điện toán đám mây cũng hình thành nên mô hình cho chính nó Bao gồm các thành phần sau:
• Thành phần ứng dụng cung cấp các dịch vụ phần mềm đến các tổ chức cá nhân
có nhu cầu sử dụng
• Thành phần nền tảng cung cấp các dịch vụ cơ bản là các bộ công cụ để phát triển, thử nghiệm và triển khai ứng dụng trên nền điện toán đám mây cho khách hàng
• Thành phần cơ sở hạ tầng cung cấp các dịch vụ máy chủ, lưu trữ dữ liệu, cơ sở
dữ liệu cũng như các công cụ quản trị tài nguyên đó cho các tổ chức, cá nhân có nhu cầu
1.3 Các mô hình triển khai
Từ “đám mây” (cloud) xuất phát từ hình ảnh minh họa mạng Internet đã được
sử dụng rộng rãi trong các hình vẽ về hệ thống mạng máy tính của giới CNTT Một cách nôm na, điện toán đám mây là mô hình điện toán Internet Tuy nhiên, khi mô hình Cloud Computing (CC) dần định hình, các ưu điểm của nó đã được vận dụng
Trang 12để áp dụng trong các môi trường có quy mô và phạm vi riêng, hình thành các mô hình triển khai khác nhau
• Đám mây “doanh nghiệp”
Đám mây doanh nghiệp (Private Cloud) là mô hình trong đó hạ tầng đám mây được sở hữu bởi một tổ chức và phục vụ cho người dùng của tôt chức đó Private Cloud có thể được vận hành bởi một bên thứ ba và hạ tầng đám mây có thể được đặt bên trong hoặc bên ngoài tổ chức sở hữu (tại bên thứ ba kiêm vận hành hoặc thậm chí là một bên thứ tư)
Private Cloud được các tổ chức, doanh nghiệp lớn xây dựng cho mình nhằm khai thác ưu điểm về công nghệ và khả năng quản trị của CC Với Private Cloud, các doanh nghiệp tối ưu được hạ tầng IT của mình, nâng cao hiệu quả sử dụng, quản
lý trong cấp phát và thu hồi tài nguyên, qua đó giảm thời gian đưa sản phẩm sản xuất, kinh doanh ra thị trường
• Đám mây “chung”
Đám mây chung (Community Cloud) là mô hình trong đó hạ tầng đám mây được chia sẻ bởi một số tổ chức cho cộng đồng người dùng trong các tổ chức đó Các tổ chức này do đặc thù không tiếp cận với các dịch vụ Public Cloud và chia sẻ chung một hạ tầng CC để nâng cao hiệu quả đầu tư và sử dụng
Trang 13• Đám mây “lai”
Mô hình đám mây lai (Hybrid Cloud) là mô hình bao gồm hai hoặc nhiều hơn các đám mây trên tích hợp với nhau Mô hình Hybrid Cloud cho phép chia sẻ hạ tầng hoặc đáp ứng nhu cầu trao đổi dữ liệu
Mô hình điện toán đám mây là mô hình mới, chính xác hơn là mô hình ứng dụng và khai thác điện toán mới, được đánh giá là rất tiềm năng và mang lại hiệu quả cao
Hy vọng trong tương lai gần, khác hàng và doanh nghiệp sẽ quen với việc sử dụng các phần mềm và lưu dữ liệu ở ngoài ngôi nhà, văn phòng của mình, ở trên
“cloud”
3 Đặc điểm của điện toán đám mây
Điện toán đám mây có các đặc điểm chính sau đây:
Nhanh chóng cải thiện với người dùng có khả năng cung cấp sẵn các tài nguyên
cơ sở hạ tầng công nghệ một cách nhanh chóng và ít tốn kém
Chi phí được giảm đáng kể và chi phí vốn đầu tư được chuyển sang hoạt động khác của doanh nghệp
Sự độc lập giữa thiết bị và vị trí làm cho người dùng có thể truy cập hệ thống bằng cách sử dụng trình duyệt web mà không quan tâm đến vị trí của họ hay thiết bị nào mà họ đang dùng, ví dụ như PC, mobile
Nhiều người sử dụng giúp chia sẻ tài nguyên và giá thành, cho phép tập trung hóa cơ sở hạ tầng, tận dụng hiệu quả các hệ thống
Độ tin cậy được cải thiện
Phân phối theo nhu cầu sử dụng
Quản lý được hiệu suất hoạt động và các kiến trúc nhất quán, kết nối được dùng
là cấu trúc web service để giao tiếp hệ thống
Việc bảo mật được cải thiện nhờ vào tập trung hóa dữ liệu, các tài nguyên chú trọng bảo mật…nhưng cũng nâng cao mối quan tâm về việc mất quyền điều khiển dữ liệu nhạy cảm
Khả năng duy trì và ổn định
Trang 144 Các loại dịch vụ điện toán đám mây
Dịch vụ CC rất đa dạng và bao gồm tất cả các lớp dịch vụ điện toán từ cung cấp năng lực tính toán trên máy chủ hiệu suất cao hay các máy chủ ảo, không gian lưu trữ dữ liệu, hay một hệ điều hành, một công cụ lập trình, hay một ứng dụng kế toán… Các dịch vụ cũng được phân loại khá da dạng, nhưng các mô hình dịch vụ
CC phổ biến nhất có thể được phân thành ba nhóm: Dịch vụ hạ tầng (IaaS), Dịch vụ nền tảng (PaaS) và Dịch vụ phần mềm (SaaS)
Hình 3: Mô hình dịch vụ trên điện toán đám mây
4.1 Dịch vụ hạ tầng IaaS (Infrastructure as a Service)
Dịch vụ IaaS cung cấp dịch vụ cơ bản bao gồm năng lực tính toán, không gian lưu trữ, kết nối mạng tới khách hàng Khách hàng (cá nhân hoặc tổ chức) có thể sử dụng tài nguyên hạ tầng này để đáp ứng nhu cầu tính toán hoặc cài đặt ứng dụng riêng cho người sử dụng Với dịch vụ này khách hàng làm chủ hệ điều hành, lưu trữ
và các ứng dụng do khách hàng cài đặt Khách hàng điển hình của dịch vụ IaaS có thể là mọi đối tượng cần tới một máy tính và tự cài đặt ứng dụng của mình
Ví dụ điển hình về dịch vụ này là dịch vụ EC2[1] của Amazon Khách hàng có thể đăng ký sử dụng một máy tính ảo trên dịch vụ của Amazon và lựa chọn một hệ thống điều hành (ví dụ, Windows hoặc Linux) và tự cài đặt ứng dụng của mình
4.2 Dịch vụ nền tảng PaaS (Platform as a Service)
Dịch vụ PaaS cung cấp nền tảng điện toán cho phép khách hàng phát triển các phần mềm, phục vụ nhu cầu tính toán hoặc xây dựng thành dịch vụ trên nền tảng
Trang 15Cloud dó Dịch vụ PaaS có thể được cung cấp dưới dạng các ứng dụng lớp giữa (middleware), máy chủ ứng dụng (application server) cùng các công cụ lập trình với ngôn ngữ lập trình nhất định để xây dựng ứng dụng Dịch vụ PaaS cũng có thể được xây dựng riêng và cung cấp cho khách hàng thông qua một giao diện lập trình ứng dụng - Application Programming Interface[2] (API) riêng Khách hàng xây dựng ứng dụng và tương tác với hạ tầng CC thông qua API đó Ở mức PaaS, khách hàng không quản lý nền tảng Cloud hay các tài nguyên lớp như hệ điều hành, lưu giữ ở lớp dưới Khách hàng điển hình của dịch vụ PaaS chính là các nhà phát triển ứng dụng (Independent software vendor - ISV)
4.3 Dịch vụ phần mềm SaaS (Software as a Service)
Dịch vụ SaaS cung cấp các ưng dụng hoàn chỉnh như một dịch vụ theo yêu cầu cho nhiều khách hàng với chỉ một phiên bản cài đặt Khách hàng lựa chọn ứng dụng phù hợp với nhu cầu và sử dụng mà không quan tâm tói hay bỏ công sức quản
lý tài nguyên tính toán bên dưới
Dịch vụ SaaS nổi tiếng nhất phải kể đến Salesforce.com với các ứng dụng cho doanh nghiệp mà nổi bật nhất là CRM Các ứng dụng SaaS cho người dùng cuối phổ biến là các ứng dụng office Online của Microsoft hay Google Docs của Google
5 Một số nhà cung cấp dịch vụ điện toán đám mây
Amazone Web Services (AWS): Amazon là hãng tiên phong cung cấp Cloud
Computing Dịch vụ Cloud Computing của Amazon đi theo hướng “Hạ tầng như dịch vụ” - IaaS (Infrastructure as a service) bao gồm một tập các dịch vụ mức thấp, cho phép người sử dụng linh hoạt và mềm dẻo trong cách sử dụng tài nguyên
Google App Engine (GAE): là giải pháp cho vấn đề điện toán đám mây của
Google Trong khi Amazon cung cấp cho bạn môi trường máy ảo (VM) để bạn có thể cài đặt, phát triển các phần mềm dịch vụ của bạn thì Google cung cấp một môi trường hạn chế hơn, dựa trên ngôn ngữ Python, khung phát triển Django, lưu trữ và CSDL dùng GFS và Google BigTable AppEngine hỗ trợ 2 loại ngôn ngữ là: Python và Java
Trang 16Microsoft Azure Platform: nền tảng Cloud Computing của Microsoft mới được ra
mắt bản thương mại từ tháng 1/2010 Azure Platform gồm nhiều thành phần hỗ trợ tính toán, lưu trữ và xử lý các dạng dữ liệu trên hệ thống datacenter của Microsoft Việc quản lý vòng đời, quy mô ứng dụng sẽ được Azure Platform đảm nhiệm Azure Platform cho phép các lập trình viên NET tiếp tục sử dụng được các kỹ năng (.NET, SQL Server) của mình để xây dựng ứng dụng Windows Azure Mặc dù tham gia vào lĩnh vực Cloud Computing muộn hơn so với Amazon và Google nhưng nền tảng Azure của Microsoft đang thu hút được sự chú ý lớn, Azure Platform giống như Google App Engine đều đi theo hướng “Nền tảng như một dịch
vụ” – PaaS để cho phép các nhà phát triển host ứng dụng của họ lên datacenter
II Vấn đề bảo mật trên điện toán đám mây
1 Rủi ro an ninh của điện toán đám mây
Một số người tin rằng quá dễ dàng để bắt đầu sử dụng dịch vụ đám mây mà không có một sự hiểu biết đúng đắn về những rủi ro an ninh và không có cam kết thực hiện các quy tắc đạo đức cho điện toán đám mây Một câu hỏi đầu tiên là: Người sử dụng phải đối mặt với nguy cơ bảo mật của điện toán đám mây như thế nào? Ngoài ra còn có khả năng rằng một đám mây có thể được sử dụng để khởi động các cuộc tấn công quy mô lớn chống lại các thành phần khác của hạ tầng mạng Câu hỏi tiếp theo là: Làm thế nào để có thể ngăn chặn được việc sử dụng bất hợp pháp các nguồn tài nguyên của điện toán đám mây?
Có nhiều cách để xem xét các nguy cơ bảo mật cho điện toán đám mây Hiện nay có ba lớp nguy cơ lớn đã được xác định: các mối đe dọa an ninh truyền thống, các mối đe dọa liên quan đến hệ thống sẵn có, và các mối đe dọa liên quan đến kiểm soát dữ liệu của bên thứ ba
Các mối đe dọa truyền thống bắt đầu từ vị trí người sử dụng, người dùng phải bảo vệ hạ tầng được sử dụng để kết nối với điện toán đám mây và tương tác với các ứng dụng chạy trên các đám mây Nhiệm vụ này là khó khăn hơn bởi vì một số thành phần của hạ tầng này đang ở bên ngoài các tường lửa bảo vệ người sử dụng
Trang 17Các mối đe dọa tiếp theo là liên quan đến việc xác thực và quá trình cấp phép Các thủ tục đặt cho một cá nhân không mở rộng được cho doanh nghiệp Trong trường hợp này truy cập điện toán đám mây của các thành viên của một tổ chức phải được
‘sắc thái’ hóa; cá nhân khác nhau nên được chỉ định cấp độ khác biệt của đặc quyền dựa trên vai trò của họ trong tổ chức Cũng nên hợp nhất hoặc thích ứng chính sách nội bộ và các số liệu bảo mật của một tổ chức với những chính sách bảo mật của một đám mây
Di chuyển từ người sử dụng điện toán đám mây, các cuộc tấn công truyền thống đã gây ảnh hưởng tới các nhà cung cấp dịch vụ điện toán đám mây Những các tấn công thường gặp: phân phối từ chối dịch vụ (DDOS) tấn công mà ngăn cản người dùng truy cập vào các dịch vụ điện toán đám mây, Phishing[3], SQL injection[4], hoặc cross-site scripting[5]
Các máy chủ điện toán đám mây lưu trữ nhiều máy ảo và nhiều ứng dụng có thể chạy theo mỗi máy ảo Multi-tenancy[6] kết hợp với lỗ hổng của Virtual Machine
Monitor (VMM)[7] có thể mở ra các kênh tấn công mới cho người dùng có ý đồ xấu Xác định các con đường tiếp theo từ một kẻ tấn công là một khó khăn lớn trên môi trường điện toán đám mây Phương pháp điều tra truyền thống dựa trên pháp lý số không thể mở rộng được trên một đám mây, nơi các tài nguyên được chia sẻ bởi một lượng lớn người dùng và các dấu vết của các sự kiện liên quan đến một sự cố bảo mật bị xóa do tỷ lệ cao của các hoạt động ghi trên bất kỳ phương tiện lưu trữ Tính sẵn sàng của các dịch vụ điện toán đám mây cũng là một mối quan tâm lớn Lỗi hệ thống, mất điện, và các thảm họa khác có thể tắt dịch vụ đám mây trong một thời gian dài Đám mây cũng có thể bị ảnh hưởng bởi hiện tượng chuyển pha
và các hiệu ứng khác cụ thể cho các hệ thống phức tạp Một khía cạnh quan trọng của tính sẵn sàng là người dùng không thể yên tâm rằng một ứng dụng lưu trữ trên đám mây trả về đúng kết quả
Kiểm soát của bên thứ ba tạo ra một chuỗi các lo ngại gây ra bởi sự thiếu minh bạch và sự hạn chế trong kiểm soát người dùng Ví dụ, một nhà cung cấp điện toán
Trang 18đám mây có thể giao thầu một số tài nguyên từ một bên thứ ba có mức độ tin tưởng đáng ngờ Ví dụ khi các nhà thầu phụ không duy trì dữ liệu khách hàng Ví dụ khi các bên thứ ba không phải là một nhà thầu phụ nhưng là một nhà cung cấp phần cứng và mất dữ liệu là do thiết bị lưu trữ của họ có chất lượng kém
Lưu trữ dữ liệu độc quyền trên đám mây là một sự mạo hiểm cũng như nhà cung cấp dịch vụ đám mây hoạt động gián điệp sẽ gây nguy hiểm thực sự Các điều khoản nghĩa vụ hợp đồng thường đặt tất cả trách nhiệm bảo mật dữ liệu cho người dùng Rất khó cho một người sử dụng điện toán đám mây để chứng minh rằng dữ liệu đã bị xóa bởi các nhà cung cấp dịch vụ
Phiên bản đầu tiên của báo cáo Cloud Security Alliance (CSA) trong năm
2010, xác định bẩy mối đe dọa hàng đầu của điện toán đám mây Những mối đe dọa là: việc sử dụng lạm dụng điện toán đám mây, các API mà không hoàn toàn an toàn, những ác ý trong nội bộ, công nghệ chia sẻ, cướp tài khoản, mất dữ liệu hoặc rò rỉ,
và danh mục rủi ro chưa biết Theo báo cáo này, các mô hình cung cấp IaaS có thể
bị ảnh hưởng bởi tất cả các mối đe dọa
Sự lạm dụng của điện toán đám mây đề cập đến khả năng thực hiện các hoạt động bất chính từ các đám mây, ví dụ sử dụng nhiều trường Amazon Web Services (AWS) hoặc các ứng dụng được hỗ trợ bởi IaaS để khởi động các cuộc tấn công từ chối phân phối dịch vụ hoặc phát tán thư rác và phần mềm độc hại Công nghệ chia
sẻ xem xét các mối đe dọa do multi-tenant được hỗ trợ bởi công nghệ ảo hóa Các VMM có thể có lỗ hổng cho phép một hệ thống điều hành khách ảnh hưởng đến sự
an toàn của nền tảng chia sẻ với các máy ảo khác
API không an toàn có thể không bảo vệ người sử dụng trong quá trình loạt các hoạt động bắt đầu từ xác thực và kiểm soát truy cập để theo dõi và kiểm soát của các ứng dụng trong thời gian chạy Các nhà cung cấp dịch vụ điện toán đám mây không tiết lộ các tiêu chuẩn thuê mướn và các chính sách của họ do đó, những rủi ro của những ác ý nội bộ là không thể bỏ qua
Trang 19Mất dữ liệu hoặc rò rỉ là hai rủi ro với những hậu quả nặng nề cho một cá nhân hay một tổ chức sử dụng dịch vụ điện toán đám mây Duy trì các bản sao của các dữ liệu nằm bên ngoài, thường là không khả thi do khối lượng tuyệt đối của dữ liệu Nếu các bản sao duy nhất của dữ liệu được lưu trữ trên đám mây, sau đó dữ liệu nhạy cảm bị mất vĩnh viễn khi đám mây sao chép dữ liệu thất bại theo sau bởi một thất bại của phương tiện lưu trữ Như một số các dữ liệu thường bao gồm dữ liệu độc quyền hay nhạy cảm, tiếp cận thông tin như vậy bởi bên thứ ba có thể có hậu quả nghiêm trọng
Chiếm quyền điều khiển tài khoản hoặc dịch vụ là một mối đe dọa và người sử dụng điện toán đám mây phải ý thức được và bảo vệ, chống lại tất cả các phương pháp ăn cắp thông tin Cuối cùng, rủi ro chưa đề cập đến lộ ra từ sự thiếu hiểu biết hay đánh giá thấp những rủi ro của điện toán đám mây
Hình 4: Bề mặt của các cuộc tấn công trong một môi trường điện toán đám mây
Ba yếu tố tham gia trong mô hình là: người sử dụng, dịch vụ và cơ sở hạ tầng điện toán đám mây, và có sáu loại tấn công có thể, xem hình trên Người dùng có thể bị tấn công từ hai hướng, dịch vụ và các đám mây Chứng nhận giả mạo SSL[8], các cuộc tấn công trên bộ nhớ cache của trình duyệt, hoặc các cuộc tấn công lừa đảo
là ví dụ về các cuộc tấn công có nguồn gốc từ dịch vụ Người sử dụng cũng có thể
Trang 20là một nạn nhân của cuộc tấn công hoặc bắt nguồn từ các đám mây hoặc lừa đảo có nguồn gốc từ các hạ tầng điện toán đám mây
Dịch vụ có thể được đính kèm từ người sử dụng Tràn bộ đệm, SQL injection,
và leo thang đặc quyền là những loại phổ biến của các cuộc tấn công từ dịch vụ Dịch vụ này cũng có thể bị tấn công bởi cơ sở hạ tầng điện toán đám mây và điều này có lẽ là dòng nghiêm trọng nhất của các cuộc tấn công Hạn chế quyền truy cập vào các nguồn tài nguyên, các cuộc tấn công đặc quyền liên quan đến sự biến dạng
dữ liệu, tiêm chích hoạt động bổ sung, chỉ là một vài trong số chiều dòng có thể có của các cuộc tấn công có nguồn gốc tại các đám mây
Cơ sở hạ tầng điện toán đám mây có thể bị tấn công bởi một người dùng mà mục tiêu là hệ thống điều khiển điện toán đám mây Các loại tấn công đều giống nhau một người sử dụng chi phối đối với bất kỳ dịch vụ điện toán đám mây khác
Hạ tầng điện toán đám mây cũng có thể là mục tiêu của một dịch vụ yêu cầu một số lượng quá nhiều tài nguyên và gây ra sự cạn kiệt của các nguồn tài nguyên
2 Sự riêng tư và tác động của sự riêng tư trên đám mây
Thuật ngữ “riêng tư” đề cập đến quyền của một cá nhân, một nhóm các cá nhân, hoặc một tổ chức để giữ cho thông tin có tính chất cá nhân hoặc thông tin độc quyền không bị tiết lộ Nhiều quốc gia xem sự riêng tư là một quyền cơ bản của con người Đồng thời, quyền riêng tư cũng bị hạn chế bởi pháp luật Ví dụ, việc đánh thuế, pháp luật yêu cầu các cá nhân phải chia sẻ thông tin về thu nhập hoặc thu nhập cá nhân Sự riêng tư cá nhân có thể xung đột với các quyền con người khác Ví
dụ như tự do ngôn luận Các luật riêng tư khác nhau giữa các quốc gia; pháp luật ở một quốc gia có thể yêu cầu công bố thông tin được coi là riêng tư trong một quốc gia khác và nền văn hóa khác
Thời đại kỹ thuật số đã phải đối mặt với những thách thức đáng kể từ các nhà lập pháp liên quan đến sự riêng tư như các mối đe dọa mới nổi lên Ví dụ, thông tin
cá nhân tự nguyện chia sẻ, nhưng bị đánh cắp từ các trang web được cấp quyền truy
cập vào nó hoặc sử dụng sai có thể dẫn đến hành vi trộm cắp danh tính Một số
Trang 21quốc gia đã tích cực hơn trong việc giải quyết những mối lo ngại về sự riêng tư mới hơn những quốc gia khác Ví dụ, các nước trong Liên minh châu Âu (EU) có luật rất nghiêm ngặt về quản lý dữ liệu cá nhân trong thời đại kỹ thuật số
Mục tiêu thảo luận ở phần này chủ yếu là các đám mây công cộng, nơi sự riêng tư có một chiều hướng hoàn toàn mới như các dữ liệu, thường trong một hình thức chưa được mã hóa, cư trú trên các máy chủ thuộc sở hữu của một nhà cung cấp dịch vụ Điện toán đám mây (Cloud Service Provider - CSP) Dịch vụ dựa trên tuỳ chọn riêng lẻ, vị trí của các cá nhân, các thành viên trong mạng xã hội, hoặc thông tin cá nhân khác có rủi ro đặc biệt Mối lo ngại về quyền riêng tư khác nhau trong
ba mô hình cung cấp điện toán đám mây và cũng phụ thuộc vào bối cảnh thực tế
Các khía cạnh chính của sự riêng tư là: việc thiếu kiểm soát người sử dụng, khả năng sử dụng thứ cấp trái phép, phổ biến dữ liệu Việc thiếu kiểm soát người sử dụng đề cập đến một thực tế là lấy việc kiểm soát dữ liệu người dùng làm trung tâm không tương thích với việc sử dụng điện toán đám mây Một khi dữ liệu được lưu trữ trên các máy chủ của CSP những tổn thất của người sử dụng được kiểm soát trên các vị trí chính xác, và trong một số trường hợp có thể mất quyền truy cập vào dữ liệu Ví dụ, trong trường hợp của dịch vụ Gmail của chủ sở hữu tài khoản không có kiểm soát ở nơi dữ liệu được lưu trữ hoặc email cũ được lưu trữ như thế nào trong một số bản sao lưu của các máy chủ
Một CSP có thể có được doanh thu từ việc sử dụng thứ cấp trái phép các thông tin ví dụ như nhắm mục tiêu quảng cáo Không có phương tiện kỹ thuật để ngăn chặn việc sử dụng này Dynamic Provisioning[9] đề cập đến những mối đe dọa
về gia công phần mềm Một loạt các vấn đề rất mờ nhạt, ví dụ, làm thế nào để xác định các nhà thầu phụ của một CSP, những quyền gì đối với các dữ liệu mà họ có,
và những quyền gì để có thể chuyển nhượng dữ liệu trong trường hợp phá sản hoặc sáp nhập
Trang 223 Trust – Sự tin tưởng
Sự tin tưởng trong bối cảnh của điện toán đám mây liên quan mật thiết đến các vấn đề chung của sự tin tưởng vào các hoạt động trực tuyến Trong phần này, đầu tiên chúng ta sẽ thảo luận về các khái niệm truyền thống của sự tin tưởng và sau đó
là sự tin tưởng vào các hoạt động trực tuyến
Hai điều kiện phải tồn tại để cho sự tin tưởng phát triển Điều kiện đầu tiên là nguy cơ, xác suất rủi ro, thực sự, tin tưởng sẽ không cần thiết nếu không có rủi ro liên quan, nếu có một điều chắc chắn rằng một hành động có thể thành công Điều kiện thứ hai là phụ thuộc lẫn nhau, vì lợi ích của một thực thể không thể được lưu trữ mà không cần phụ thuộc vào các thực thể khác Một mối quan hệ tin tưởng đi qua ba giai đoạn: (1) giai đoạn xây dựng, khi niềm tin được hình thành, (2) giai đoạn ổn định, khi niềm tin tồn tại, và (3) giai đoạn giải thể, khi lòng tin giảm
Có nhiều lý do và các hình thức của sự tin tưởng khác nhau Lý do thiết thực
có thể dựa trên niềm tin rằng các hình phạt tốn kém cho sự vi phạm sự tin tưởng
vượt qua bất kỳ lợi ích tiềm năng nào từ hành vi cơ hội Đây là bản chất của sự
ngăn chặn dựa trên sự tin tưởng Một lý do khác là với niềm tin rằng các hành động
liên quan đến các bên khác đều là trong các lợi ích của bên đó Đây gọi là phép tính
dựa trên sự tin tưởng Sau một trình tự dài của mối quan hệ tương tác, sự tin tưởng
giữa các thực thể có thể phát triển dựa trên kinh nghiệm tích lũy của độ tin cậy và
sự phụ thuộc vào nhau Một sự vi phạm duy nhất vào sự tin tưởng có thể dẫn đến
thiệt hại không thể khắc phục Persistent trust - Sự tin tưởng bền vững là sự tin tưởng vào các hành vi lâu dài của một thực thể, trong khi Sự tin tưởng không bền
vững - dynamic trust là lòng tin dựa trên một bối cảnh cụ thể, ví dụ, trạng thái của
hệ thống hoặc ảnh hưởng của phát triển công nghệ
Sự tin tưởng trên Internet “che khuất hoặc làm khuyết hoàn toàn kích thước
của sự đặc trưng và cá nhân, bản chất của mối quan hệ, và sự thiết lập sự đặc trưng” của sự tin tưởng truyền thống Nhận dạng ẩn danh, đặc điểm cá nhân, và định
Trang 23nghĩa vai trò là những yếu tố mà chúng ta phải đối phó trong bối cảnh của tin tưởng
trực tuyến
Internet giúp cho các cá nhân có khả năng làm mờ hoặc che giấu danh tính của
họ Kết quả là ẩn danh làm giảm các dấu hiệu thường được sử dụng trong các phán đoán của sự tin tưởng Danh tính là rất quan trọng cho việc phát triển các mối quan
hệ tin tưởng, nó cho phép chúng ta tin tưởng dựa trên lịch sử quá khứ của các tương tác với một thực thể Giấu tên gây ra sự mất lòng tin vì danh tính gắn liền với trách nhiệm và trong trường hợp không có danh tính thì giải trình trách nhiệm sẽ không thể được thi hành Độ mờ kéo dài ngay từ danh tính đến đặc điểm cá nhân Không thể suy ra nếu thực thể hoặc cá nhân giao dịch với chúng ta là giả, như các giao dịch xảy ra giữa các thực thể tách ra trong thời gian và khoảng cách Cuối cùng, không
có gì đảm bảo rằng các thực thể giao dịch với chúng ta hoàn toàn hiểu được vai trò của họ đã giả định
Để khắc phục, chúng ta cần một cơ chế bảo mật để kiểm soát và giám sát truy cập, tính minh bạch của danh tính Các cơ chế để kiểm soát truy cập được thiết kế
để loại bỏ những kẻ đột nhập và tác nhân gây hại Tính minh bạch đòi hỏi mối liên quan giữa một tác nhân ảo và một người thật cần được kiểm tra an ninh cẩn thận thông qua các phương pháp như nhận dạng sinh trắc học Chữ ký số và chứng thực
số được sử dụng để nhận dạng Sự giám sát có thể được dựa trên phát hiện xâm
nhập hoặc có thể dựa vào đăng nhập và kiểm toán Việc đầu tiên là dựa trên theo
dõi thời gian thực, thứ hai là dựa trên chọn lọc ngoại tuyến thông qua các báo cáo kiểm toán
Thông tin được sử dụng khi có được sự tin tưởng cho một thực thể không biết; Các giấy chứng nhận được ban hành bởi một người có thẩm quyền đáng tin cậy và
mô tả những đặc trưng của thực thể bằng cách sử dụng giấy chứng nhận Một chữ
ký số là một giấy chứng nhận được sử dụng trong nhiều ứng dụng phân tán
Chính sách và uy tín là hai cách để xác định sự tin tưởng Chính sách tiết lộ các điều kiện để có được sự tin tưởng, và những hành động khi một số điều kiện
Trang 24được đáp ứng Chính sách đòi hỏi việc xác minh thông tin Uy tín là một chất lượng chỉ định cho một thực thể dựa trên một lịch sử tương đối dài của các tương tác hoặc
có thể là những quan sát các thực thể Các khuyến cáo dựa trên quyết định tin tưởng được thực hiện bởi những người khác và lọc qua quan điểm của các tổ chức đánh giá được sự tin tưởng
Trong bối cảnh khoa học máy tính "tin tưởng của một bên A đối với bên B cho một dịch vụ X là niềm tin có thể đo lường của A trong đó B cư xử một cách đáng tin cậy trong một thời gian quy định trong một bối cảnh cụ thể (liên quan đến dịch
vụ X)," Một sự bảo đảm về các hoạt động của phần cứng đặc biệt hoặc các thành phần phần mềm dẫn đến sự tin tưởng ổn định của xã hội dựa trên thành phần đó
CHƯƠNG II: DANH TÍNH VÀ ĐIỀU KHIỂN TRUY CẬP TRONG MÔI
TRƯỜNG ĐIỆN TOÁN ĐÁM MÂY
I QUẢN LÝ DANH TÍNH
1 Danh tính và quản lý danh tính
Danh tính (identity) là một tập hợp các đặc điểm riêng biệt của một thực thể:
một cá nhân, một chủ thể hoặc một khách thể Danh tính được sử dụng cho mục đích nhận dạng được gọi là ký hiệu nhân dạng (identifier) Danh tính của một thực thể được sử dụng cho xác thực để cung cấp dịch vụ
Quản lý danh tính (Identity Management) là một thuật ngữ dùng rộng rãi cho
việc quản lý danh tính cá nhân trong một hệ thống, chẳng hạn như một công ty, một mạng hoặc thậm chí một quốc gia Trong doanh nghiệp CNTT, quản lý danh tính là việc thiết lập và quản lý các vai trò và quyền truy cập của những người sử dụng mạng cá nhân Hệ thống quản lý danh tính cung cấp cho các nhà quản trị CNTT những công cụ và công nghệ để kiểm soát người sử dụng truy cập vào thông tin quan trọng trong một tổ chức
Ở cấp độ cơ bản nhất, quản lý danh tính liên quan đến việc xác định những gì người dùng có thể làm trên mạng với các thiết bị cụ thể và trong hoàn cảnh nào
Trang 25Trong một môi trường doanh nghiệp, quản lý danh tính được sử dụng để tăng cường
an ninh và năng suất, trong khi giảm chi phí và công sức cần thiết Vì lý do bảo mật, các công cụ để quản lý quản lý danh tính nên chạy như một ứng dụng trên một thiết
bị mạng chuyên dụng hoặc máy chủ, đặt tại cơ sở hoặc trong đám mây
Mục tiêu của một hệ thống quản lý danh tính trong bối cảnh của một doanh nghiệp là: một danh tính cho mỗi cá nhân Nhưng một khi mà danh tính kỹ thuật số
đã được thành lập, nó phải được duy trì, sửa đổi và giám sát trong suốt những gì được gọi là "vòng đời truy cập" Vì vậy, hệ thống quản lý danh tính cung cấp cho các quản trị viên những công cụ và công nghệ để thay đổi vai trò của người dùng,
để theo dõi hoạt động người dùng và thực thi các chính sách trên cơ sở liên tục Các
hệ thống này được thiết kế để cung cấp một phương tiện nhằm quản lý truy cập người dùng trên toàn bộ doanh nghiệp và đảm bảo sự tuân thủ chính sách của công
ty và các quy định của chính phủ
Cốt lõi của một hệ thống quản lý danh tính là những chính sách xác định
những thiết bị và người dùng được phép trên mạng và những gì người dùng có thể thực hiện, tùy thuộc vào loại thiết bị của mình, địa điểm và các yếu tố khác Tất cả điều này cũng phụ thuộc vào sự quản lý giao diện điều khiển chức năng (console functionality) một cách phù hợp, trong đó có định nghĩa chính sách, báo cáo, cảnh báo, báo động, quản lý thông thường khác và vận hành các yêu cầu Báo động có thể được kích hoạt, ví dụ, khi một người dùng cụ thể cố gắng truy cập một tài nguyên mà họ không có sự cho phép Báo cáo cung cấp một bản ghi tài liệu kiểm toán những hoạt động cụ thể
2 Các chức năng chính của một hệ thống IdM
Danh tính số là đại diện của một thực thể (hoặc nhóm các thực thể) trong các hình thức của một hoặc nhiều các yếu tố thông tin (thuộc tính) cho phép các tổ chức công nhận chỉ trong một bối cảnh
Quản lý danh tính - Identity Management (IdM) là một tập hợp các chức năng
và khả năng, chẳng hạn như quản trị, quản lý và duy trì, trao đổi thông tin, thực thi
Trang 26chính sách và xác thực…, được sử dụng để đảm bảo thông tin nhận dạng, do đó đảm bảo được an ninh Một hệ thống quản lý danh tính cung cấp công cụ để quản lý danh tính cá nhân trong một môi trường kỹ thuật số
Các chức năng chính của một hệ thống IdM cần thiết để quản lý thành công và hiệu quả danh tính trong các đám mây:
Identity provisioning/deprovisioning
Authentication & Authorization
Federation Identity Management
Support for compliance – Hỗ trợ sự tuân thủ
SPI (SaaS, PaaS, IaaS) cung cấp các mô hình điện toán đám mây kêu gọi các nhà
cung cấp dịch vụ điện toán đám mây (cloud service provider - CSP) cùng nhau mở rộng hoạt động, quy trình và thủ tục dịch vụ điện toán đám mây theo những cách có thể thay đổi nhằm nâng cao tính hiệu quả cho cả nhà cung cấp và khách hàng
Provisioning(Onboarding [10] )/Deprovisioning(Offboarding [11] ):
Provisioning là quá trình cung cấp cho người dùng truy cập dữ liệu và tài nguyên
công nghệ Provisioning có thể được coi như là một sự kết hợp nhiệm vụ giữa bộ phận quản lý nguồn nhân lực và bộ phận IT trong doanh nghiệp, nơi người dùng được cho phép truy cập vào kho dữ liệu hoặc cấp phép cho các hệ thống, ứng dụng
và cơ sở dữ liệu dựa trên một danh tính người dùng duy nhất Quá trình này ngụ ý rằng các quyền hạn truy xuất được giám sát và theo dõi để đảm bảo sự an toàn của các nguồn tài nguyên của doanh nghiệp Quá trình này cung cấp cho khách hàng hoặc máy khách các tài khoản, các truy cập phù hợp với các tài khoản, tất cả các quyền liên quan đến các tài khoản, và tất cả các nguồn tài nguyên cần thiết để quản
lý các tài khoản Deprovisioning có nghĩa là loại bỏ hoặc đóng tài khoản của người
dùng cuối trong một dịch vụ khi người dùng rời khỏi dịch vụ đó
Authentication: Quá trình đảm bảo rằng các cá nhân là chính họ, và được xác định
thông qua các cơ chế khác nhau, chẳng hạn như đăng nhập, mật khẩu, sinh trắc học,
mã thông báo,… Xác thực là quá trình chứng thực hoặc xác nhận rằng thông tin
Trang 27truy cập được cung cấp bởi một người sử dụng là hợp lệ Một người dùng trong trường hợp này có thể là một người, một ứng dụng khác, hoặc một dịch vụ, tất cả cần phải được yêu cầu xác thực
Authorization: Quá trình cấp quyền truy cập đến các tài nguyên được yêu cầu, là
vô nghĩa nếu không có chứng thực phù hợp Khi tổ chức bắt đầu sử dụng các ứng dụng trên đám mây, chức thực người dùng đáng tin cậy và cách quản lý sẽ trở thành một thách thức bổ sung Tổ chức phải giải quyết những thách thức liên quan đến xác thực như quản lý các giấy ủy nhiệm, chứng thực mạnh mẽ, chứng thực ủy quyền, và sự tin tưởng trên tất cả các loại mô hình cung cấp điện toán đám mây
Federation Identity Management: Một nhóm các tổ chức hoặc các nhà cung cấp
dịch vụ, họ thiết lập một vòng tròn của sự tin tưởng cho phép chia sẻ thông tin của danh tính của người dùng khách hàng với nhau Trong môi trường điện toán đám
mây, Federated Identity Management đóng một vai trò quan trọng trong việc giúp
các tổ chức xác thực người dùng của họ trên các dịch vụ điện toán đám mây khi mà người dùng của họ sử dụng danh tính được cung cấp bởi một tổ chức khác (Identity Provider- IdP) Trong bối cảnh đó, sự trao đổi các thuộc tính danh tính người dùng giữa các nhà cung cấp dịch vụ đám mây và các IdP một cách an toàn cũng là một yêu cầu
Compliance - Sự tuân thủ: Đối với những khách hàng tin cậy những dịch vụ trên
điện toán đám mây, điều quan trọng là phải hiểu quản lý danh tính có thể kích hoạt phù hợp với yêu cầu hoặc quy định nội bộ như thế nào Thiết kế tốt IdM có thể đảm bảo rằng thông tin về các tài khoản, cho phép truy cập, và sự tách biệt của việc thực thi nhiệm vụ tại các nhà cung cấp điện toán đám mây, tất cả có thể được kéo lại với nhau để đáp ứng yêu cầu báo cáo kiểm toán và sự tuân thủ của doanh nghiệp
3 Federation Identity Management và Single Sign On
Single Sign On – là công nghệ cho phép người dùng để xác thực tại một nhà cung
cấp danh tính (Indentity Provider) duy nhất và được truy cập vào tất cả các nhà
Trang 28cung cấp dịch vụ (Service Provider) trong một liên hiệp (federation) với các nhà cung cấp danh tính khác mà không cần cung cấp thêm bất kỳ thông tin bổ sung nào
Identity Federation – là một khái niệm quản lý danh tính, nó chia sẻ và phân phối
các thuộc tính và thông tin nhận dạng trên các phạm vi hành chính khác nhau tùy theo sự thiết lập chính sách nhất định
Hình 5: Quá trình identity federation
Có ba yếu tố hình thành lên mô hình identity federation (Hình 5):
Service Providers (SPs): sử dụng dữ liệu danh tính của người dùng Họ dựa vào xác
thực người dùng thực hiện bởi một bên thứ ba Service Providers còn được gọi là Relying Parties (RP) Service Providers được triển khai bên trong ứng dụng hoặc
dịch vụ điện toán đám mây
Identity Providers (IdPs): khẳng định những thông tin về một chủ thể IdP còn được
gọi là Asserting Parties (AP) IDP tập trung vào chứng thực người sử dụng cũng như về quản lý thông tin nhận dạng, có thể được chia sẻ với các SP khác nhau
Users: tương tác với SP (thường là thông qua các đại lý người sử dụng, ví dụ như
trình duyệt web) Họ là đối tượng của các xác nhận
Như thể hiện trong Hình 5, sự chia sẻ các thông tin nhận dạng giữa hai nhà cung cấp danh tính (IdP1 và IdP2) cho phép người dùng đăng nhập một lần duy nhất và
Trang 29đạt được một truy cập liền mạch với các dịch vụ và các ứng dụng được cung cấp trong các lĩnh vực khác nhau
Identity federation có thể được thực hiện bằng các phương tiện hình thức Internet
tiêu chuẩn, chẳng hạn như các tiêu chuẩn OASIS SAML[12], hoặc bằng cách sử dụng công nghệ mã nguồn mở và các tiêu chuẩn được công bố công khai khác, như Liberty Alliance Identity Federation Framework (ID-FF), Shibboleth, OpenID hoặc WS-Federation
Mô hình federation identity management cho điện toán đám mây
Các mô hình được trình bày trong Hình 6 cung cấp việc quản lý động của quá trình federation identity và dựa trên các tác vụ xác thực và ủy quyền
Hình 6 Kiến trúc Identity federation dynamic management
Ở đây cung cấp một truy cập duy nhất của người sử dụng tới cơ sở hạ tầng điện toán đám mây mà các giao thức SAML được sử dụng Quá trình dynamic federated identity management của người dùng dựa trên công nghệ Public Key
Intrastructure (PKI) và sự tính toán giá trị tin tưởng (trust value) Truy cập của
người dùng đến các cơ sở hạ tầng điện toán đám mây được cung cấp trên cơ sở
attribute certificates của họ, cũng là đặc quyền cho mỗi người dùng được xác định
bởi vai trò dựa trên cơ chế kiểm soát truy cập Môi trường điện toán đám mây là
động Việc xác định vai trò của người sử dụng chỉ bằng certificates là tĩnh, do đó đã
Trang 30làm mất đi tính thực tế của điện toán đám mây Trong trường hợp này, việc quản lý
động vai trò của người dùng trở lên cần thiết Việc áp dụng hệ thống multi-agent
trong kiến trúc cho phép xác định rõ vai trò của người sử dụng mang tính chất động
Nội dung của những vai trò này cũng có đặc tính hành vi của người sử dụng
Trong việc duy trì cấu trúc như một hệ thống duy nhất các thành phần sau đây được sử dụng:
Multi-agent system (MAS) Cung cấp xác thực, ủy quyền và kiểm toán quá trình
hoạt động trong môi trường điện toán đám mây Mức độ tin tưởng của các module
MAS được xác định bởi Public Key Intrastructure (PKI) MAS chứa các tác nhân
Collecting agent (TA): Tác nhân này tạo thành một giao diện với một log
server Từng thành phần của kiến trúc sẽ gửi các bản ghi log của người dùng
đến tác nhân này Tác nhân này đóng vai trò giao diện giữa log server và các thành phần khác của kiến trúc Tất cả các bản ghi tới log server sẽ được thêm vào thông qua giao diện này (Log File: là một tập tin được tạo ra bởi một
máy chủ web hoặc máy chủ proxy có chứa tất cả thông tin về các hoạt động trên máy chủ đó, như thông tin người truy cập, thời gian khách viếng thăm, địa chỉ IP….)
Policy agent (PA): Kết hợp các role thu được từ attribute certificate của người dùng với danh sách đặc quyền động - Dynamic Privileges List (DPL) được tạo ra trong Activity Analyzer Server (AAS) và trên cơ sở này tạo ra một danh sách đặc quyền duy nhất - single privilege list (SPL) cho người dùng
Contact agent (CA): Tác nhân cung cấp các giao tiếp với SP
Trang 31Activity Analyzer Server (AAS): Thực hiện hai chức năng: phân tích các file log và
sinh ra một danh sách đặc quyền động - Dynamic Privileges List (DPL) cho người dùng Bởi vì nó bao gồm các dữ liệu liên quan đến hành vi của người sử dụng
Log server: Thu thập các bản ghi log liên quan đến hoạt động của mỗi thực thể
trong hệ thống
Certificate Issuer Management Module: Là một thành phần sản xuất ra attribute certificate kiểu X.509 Certificate này được lưu trữ vật lý trong thư mục LDAP
(Lightweight Directory Access Protocol)
Attribute Certificate (AC) Quản lý các đặc quyền của người sử dụng được thực
hiện phù hợp với các vai trò được bao gồm trong AC Attribute Certificate có chứa
các thông tin về phiên bản, người nắm giữ, tổ chức phát hành, chữ ký, số serial, thời hạn hiệu lực, và các thuộc tính Trong phạm vi của thuộc tính, các vai trò của người
sử dụng có thể được thay đổi
4 Những hệ thống IdM phổ biến
- Microsoft Windows CardSpace: Windows CardSpace là một
Identity-metasystem cung cấp một cách để quản lý nhiều danh tính số của người dùng
Nó được xây dựng dựa trên truy cập platform/architecture (nền tảng/kiến trúc), phát triển cho windows XP Windows CardSpace là một plug-in cho Internet Explorer 7, trong đó mỗi nhận dạng số là một mã thông báo an ninh Một mã thông báo an ninh bao gồm một tập hợp các lời xác nhận từ phía người dùng, chẳng hạn như tên người dùng, tên đầy đủ của người dùng, địa chỉ,… Các mã thông báo chứng minh rằng những xác nhận thuộc về người dùng được trình bày cho chính họ
- OpenID: Với OpenID người dùng sử dụng một username và một password để
truy cập vào nhiều ứng dụng web Người sử dụng xác thực đến một máy chủ OpenID để có được mã thông báo OpenID của mình để xác thực bản thân trên các ứng dụng web
Trang 32- PRIME (Privacy and Identity Management for Europe): PRIME là một ứng
dụng, điều kiển trung gian PRIME chạy trên máy tính của người dùng Nó xử lý, quản lý và tiết lộ dữ liệu cá nhân của người sử dụng
PRIME cung cấp xác thực sự riêng tư, bảo toàn sự riêng tư bằng cách sử dụng
hệ thống Anonymous Credentials[13] Các thành phần phía người dùng sử sụng các giao thức để có được xác nhận của bên thứ ba cho những yêu cầu của các
relying parties (RP) Anonymous credentials được cung cấp bằng cách sử dụng
một giao thức trộn danh tính (dựa trên giao thức công bố thông tin có chọn lọc) cho phép người dùng lựa chọn tiết lộ bất kỳ các thuộc tính của họ trong các credentials thu được từ IdP, mà không tiết lộ bất kỳ thông tin nào của họ Các credentials này sau đó được áp chữ ký số sử dụng một kết cấu khóa công khai Một hạn chế lớn của PRIME là nó đòi hỏi cả tác nhân người dùng và SPs để thực hiện
Higgins là một framework mã nguồn mở, nhằm phát triển các thành phần có thể được sử dụng để xây dựng các phần khác nhau của một hệ thống quản lý danh tính Có hai hạng mục chính của các thành phần trong Higgins: (1) Thành phần cấp thấp có thể được sử dụng để tạo ra các dịch vụ nhận dạng như các dịch vụ thuộc tính, dịch vụ thẻ… (2) Thành phần cấp cao hơn có thể được sử dụng để
tạo ra các ứng dụng user-centric cho phép người dùng xem, sử dụng và quản lý
danh tính khác nhau của mình (i-card) Cụ thể hơn, các thành phần cấp cao của Higgins có thể được sử dụng để xây dựng tác nhân nhận dạng cho phép người dùng chấp nhận i-card từ các trang web phát hành thẻ (ví dụ, các nhà cung cấp danh tính), họ có thể sử dụng để tạo ra các self-issued card, quản lý sự thiết lập
thẻ của người dùng và sử dụng các thẻ đối với các nhà cung cấp dịch vụ (relying
Trang 33thực hiện một thỏa thuận giữa các nhà cung cấp Kiến trúc Liberty có ba tác nhân: Principal (người dùng cuối), identity provider (IdP) và service provider (SP)
II PHƯƠNG PHÁP ĐƯỢC ĐỀ XUẤT TRONG IdM
Các thực thể (ví dụ, người sử dụng, các dịch vụ) phải xác thực bản thân tại các nhà cung cấp dịch vụ để sử dụng các dịch vụ của họ Mỗi một thực thể cung cấp một thông tin cá nhân duy nhất để xác định nó trong một SP Trong mô hình ứng dụng trung tâm IdM truyền thống, mỗi ứng dụng giữ dấu vết danh tính của các thực thể sử dụng nó Trong điện toán đám mây, các thực thể có thể có nhiều tài khoản liên quan đến các SP khác nhau, hoặc có nhiều tài khoản trên một SP Việc chia sẽ các thông tin cá nhân của cùng một thực thể qua các dịch vụ với các thuộc tính liên quan có thể dẫn đến sự ánh xạ các thông tin cá nhân của thực thể đó Phần này đề xuất một cách tiếp cận entity-centric cho IdM trong các đám mây Phương pháp tiếp cận dựa trên: (1) active bundles – bao gồm một payload của thông tin cá nhân, các chính sách bảo mật, một máy ảo thực thi các chính sách đó và sử dụng một tập hợp các cơ chế bảo vệ để tự bảo vệ; (2) anonymous identification làm trung gian tương tác giữa các thực thể và các dịch vụ điện toán đám mây sử dụng các chính sách về
sự riêng tư của thực thể ác đặc điểm chính của phương pháp này là: độc lập với bên thứ ba, cung cấp các thông tin tối thiểu cho các SP và cung cấp khả năng sử dụng
dữ liệu danh tính trên máy chủ không đáng tin cậy (untrusted hosts)
1 Active Bundles
a Giới thiệu về Active Bundle
Với điện toán ngày càng trở nên phổ biến hơn, bảo vệ sự riêng tư trở thành một vấn đề thậm chí còn cấp bách hơn Tiết lộ dữ liệu trái phép gây tổn hại cho kinh doanh và tài sản của nhân dân Cơ quan quản lý tại Úc, Canada, Liên minh châu Âu,
và Vương quốc Anh sử dụng pháp luật toàn diện - comprehensive laws là luật
chung về việc thu thập, phổ biến và sử dụng thông tin cá nhân Cơ quan quản lý ở
Trang 34Mỹ lại dựa vào luật chuyên ngành - sectoral laws tập trung vào các lĩnh vực cụ thể,
ví dụ như ngân hàng, giáo dục, hoặc ngành công nghiệp chăm sóc sức khỏe
Chúng ta định nghĩa riêng tư như "quyền của một thực thể, hành động nhân
danh chính mình, để xác định mức độ mà nó sẽ tương tác với môi trường của nó, bao gồm cả mức độ mà các thực thể sẵn sàng chia sẻ thông tin về bản thân với những người khác"
Điều này nhấn mạnh rằng quyền riêng tư là về: (i) dữ liệu nhạy cảm, (ii) kiểm soát tiết lộ dữ liệu nhạy cảm, và (iii) kiểm soát các đơn vị bị ảnh hưởng bởi việc tiết
lộ, bao gồm cả chủ sở hữu hoặc người sáng tạo ban đầu của chúng
Dữ liệu nhạy cảm - Sensitive data là những dữ liệu mà không cần phải được
công khai Một số yếu tố, bao gồm những điều sau đây, có thể làm nên dữ liệu nhạy cảm: (i) là thông tin vốn dĩ đã nhạy cảm; (ii) đến từ một nguồn nhạy cảm – các nguồn ngụ ý rằng các dữ liệu là nhạy cảm, (iii) có sự tuyên bố là nhạy cảm của chủ
sở hữu; (iv) trong một bối cảnh, ví dụ như, địa chỉ của một cá nhân nhạy cảm trong bối cảnh của một thử nghiệm, (v) là một phần của dữ liệu nhạy cảm; (vi) nhạy cảm liên quan đến dữ liệu công bố trước đó
Dữ liệu nhạy cảm có một vòng đời - lifecycle Giai đoạn của nó được coi là do
con người chúng ta, bao gồm: (i) tạo ra các dữ liệu, (ii) chuyển tiếp các dữ liệu từ creator hoặc chủ sở hữu của nó cho một hoặc nhiều máy chủ, (iii) truyền tải dữ liệu
giữa các máy chủ, (iv) làm giảm giá trị dữ liệu khi có sự tấn công, là ‘một sự bay
hơi’ tự nguyện khi bị đe dọa tiết lộ, vv; và (v) phá hủy sạch dữ liệu (còn gọi là
apoptosis)
Phần này đề xuất một cơ chế gọi là Active Bundles – để bảo vệ sự riêng tư của
dữ liệu và danh tính của người dùng Các giải pháp Active Bundles này được dựa trên một cấu trúc có tên là ‘bó hoạt động’ - active bundle (xem hình), trong đó là một thùng chứa với tải trọng – payload của các dữ liệu nhạy cảm, siêu dữ liệu, và một máy ảo cụ thể cho các bó ("cụ thể" bằng cách được ghép thành cặp với active
bundle bao gồm dữ liệu nhạy cảm và siêu dữ liệu trong đó) Siêu dữ liệu chứa thông
Trang 35tin về dữ liệu, bao gồm cả chính sách truy cập cho active bundle Chúng chỉ định
các chính sách để kiểm soát quyền truy cập vào dữ liệu nhạy cảm hoặc các thành
phần của dữ liệu nhạy cảm và sự phân phối active bundle Các máy ảo (VM) quản
lý việc sử dụng các active bundle của nó, sử dụng thông tin và các chính sách theo
quy định của siêu dữ liệu
Hình 7: Kiến trúc cơ bản của một Active Bundle
Creator của một bó là một thực thể (hoặc con người hoặc nhân tạo) đã tạo ra
payload của nó Để tránh hạn chế tính tổng quát của những cân nhắc, lưu ý rằng nhiều creator có thể được biểu diễn như là một tập thực thể duy nhất Trong trường hợp này, các thành viên của tập thực thể tạo ra một active bundle và có sự phối hợp với những thành viên khác (giống như một nhóm các kỹ sư viết một báo cáo dự án chung)
Chủ sở hữu của một active bundle là thực thể (con người hoặc nhân tạo) giữ quyền sử dụng đối với (ít nhất là) payload của nó Các quyền này có thể là chính thức hoặc không chính thức Có thể một chủ sở hữu bundle (bó) không sở hữu siêu
dữ liệu hoặc máy ảo của nó Creator có thể (nhưng không cần) là chủ sở hữu của
một bó Đây là một tình huống rất phổ biến khi, ví dụ, quyền sáng chế thuộc về một
công ty, chứ không phải creator của nó (nhà phát minh là nhân viên của công ty)
Mội active bundle có thể được gửi bởi chủ nhân của nó đến bất kỳ máy chủ nào Các máy chủ nhận được bundle không thể sử dụng nó trừ khi nó cho phép
Trang 36những máy chủ này Việc một active bundle chưa được cho phép cũng tương tự như
khi mã hóa dữ liệu mà không cần chìa khóa để giải mã nó Hành động cho phép một
active bundle là quá trình làm cho một phần hoặc tất cả các nội dung dữ liệu của
một active bundle sẵn sàng để dùng cho các máy chủ mà nó cư trú Các máy ảo quyết định có cho phép một bundle sẵn sàng để dùng hay không, sự tin cậy của máy chủ mà active bundle cư trú là tiêu chí đánh giá
Một guardian – giám hộ là bất kỳ thực thể được ủy quyền (con người hoặc nhân
tạo) truy cập dữ liệu trong một bundle hoặc các phân phối của nó Một máy chủ có
active bundle cư trú trở thành một guardian khi active bundle cho phép máy chủ đó
có thể truy cập nó Một thực thể không được phép truy cập, phân phối một bundle thì được coi là một kẻ tấn công, không phải là một guardian Sự phân phối active
bundle của một guardian cho các đối tượng không được phép hoặc là một sai lầm
hoặc là một cuộc tấn công nội bộ
b Chi tiết của một giải pháp Active Bundle
Active bundles được tăng cường cho các tác nhân phần mềm di động thông minh, do đó chúng được lợi từ một vài các thuộc tính của tác nhân di động như: giảm tải mạng, khắc phục độ trễ mạng, đóng gói giao thức, thực hiện đồng bộ và tự chủ, thích ứng tự động, mạnh mẽ và khả năng chịu lỗi
Một active bundle có khả năng tự kiểm tra tính toàn vẹn của nó Ngoài ra, khi
bị đe dọa bởi một quá trình làm tổn thương sự riêng tư (một số) dữ liệu của nó, có thể phá hủy hoặc chỉ các dữ liệu đang bị đe dọa một cách có chọn lọc thông qua
evaporation - quá trình bốc hơi, hoặc tiêu diệt tất cả dữ liệu của nó thông qua một
quá trình apoptosis - quá trình tự hủy diệt
Cấu trúc của một Active Bundle
Một Active Bundle bao gồm các thành phần sau:
Sensitive data – Dữ liệu nhạy cảm - nó là một nội dung kỹ thuật số mà cần phải được bảo vệ khỏi sự vi phạm tính riêng tư, rò rỉ dữ liệu, phân phối trái phép, vv,
Trang 37nội dung kỹ thuật số có thể bao gồm tài liệu, đoạn mã, các tập tin hình ảnh, âm thanh hoặc video
Metadata[14] – Siêu dữ liệu - mô tả các active bundle và chính sách bảo mật của
nó Các siêu dữ liệu bao gồm (nhưng không giới hạn) các thành phần sau:
Provenance metadata – Siêu dữ liệu gốc – bao gồm một định danh của active bundle, định danh của creator và chủ sở hữu, ngày tạo, định danh của tất cả
các truy cập đến máy chủ, cũng như định danh của tất cả các guardian với tất
cả dấu hiệu thời gian truy cập của họ và có thể cả dấu hiệu thời gian cập nhật nếu họ thực hiện bất kỳ bản cập nhật dữ liệu nhạy cảm nào Lịch sử của các truy cập và cập nhật được giữ kín (nó có thể được sử dụng để điều tra pháp lý của chính quyền nếu có được lệnh của tòa án)
Integrity check metadata – Kiểm tra tính toàn vẹn của siêu dữ liệu - bao gồm
các thuật toán để kiểm tra tính toàn vẹn của dữ liệu nhạy cảm cũng như tính
toán dữ liệu hỏng của chủ sở hữu
Access control metadata – Kiểm soát truy cập siêu dữ liệu - bao gồm các
chính sách kiểm soát truy cập cho dữ liệu nhạy cảm của bundle Chúng có
thể sử dụng các yêu cầu về mức độ tin cậy tối thiểu của máy chủ cho mỗi tập hợp con của dữ liệu nhạy cảm Chúng bao gồm các vai trò cần thiết - vai trò
mà một máy chủ phải có để truy cập vào bundle
Dissemination control metadata – Kiểm soát sự phân phối siêu dữ liệu - bao gồm cả chính sách phân phối xác định những người có thể phân phối các
active bundle, và dưới những điều kiện (ví dụ, active bundle có thể được
phân phối tại một thời gian quy định, hoặc có thể được phân phối cho một nhóm các địa chỉ cụ thể -như nhân viên, nhà cung cấp, hoặc một hội đồng quản trị)
Life duration - khoảng thời gian của vòng đời – là ngày và giờ mà các dữ liệu nhạy cảm sẽ biến mất
Trang 38 Security metadata – Bảo mật siêu dữ liệu – bao gồm: (i) id của máy chủ bảo
mật, xác định các máy chủ bảo mật được sử dụng trong quá trình mã hóa và
giải mã bundle; (ii) thuật toán mã hóa, được sử dụng bởi các máy ảo của bundle; (iii) mã hóa giả tạo – bộ sinh số ngẫu nhiên, được sử dụng để tạo ra các số ngẫu nhiên sử dụng cho việc giải mã bundle; (iv) sự tin tưởng id máy
chủ, được sử dụng để xác nhận mức độ tin cậy và vai trò của một máy chủ
mà tại đó các bundle sẽ tới; và (v) ngưỡng của mức độ tin cậy, xác định mức
độ tin cậy tối thiểu theo yêu cầu của máy ảo để enable các active bundle
Ứng dụng phụ thuộc và các thành phần phụ thuộc ngữ cảnh khác - có thể
bao gồm thông tin liên quan đến ngữ nghĩa (các ứng dụng, bối cảnh, vv) của
dữ liệu nhạy cảm của các active bundle
Virtual machine – Máy ảo - quản lý và kiểm soát các chương trình kèm theo
trong một active bundle Vai trò của VM là để đảm bảo có sự kiểm soát thích
hợp cho truy cập dữ liệu nhạy cảm của các bundle (ví dụ, tiết lộ cho một
guardian rằng chỉ phần này của dữ liệu nhạy cảm mà guardian có quyền truy
cập) VM cũng thực hiện kiểm tra tính toàn vẹn cho các bundle
Tạo một Active Bundles
Hình 8: Mã giả cho việc tạo ActiveBundle
Trang 39Hình 9: Sơ đồ trình tự cho GetEncryptionKey
Hình 8 cho thấy ba bước trong quá trình tạo ra một active bundle Trong bước
đầu tiên, creator của một bundle sử dụng các thủ tục tạo siêu dữ liệu để cung cấp dữ
liệu vào một bundle phân phối trung gian (bundle dissemination middleware) tự động tạo ra siêu dữ liệu cho các bundle Trong bước thứ hai trong Hình 9, creator sử
dụng thủ tục GetEncryptionKey để có được khóa mã hóa từ một máy chủ bảo mật Các thủ tục, thể hiện trong Hình 9, có thể được mô tả như sau: Creator sử dụng một
bộ sinh số ngẫu nhiên giả tạo - pseudo random number generator (PRNG) để tạo ra
một số ngẫu nhiên N Tiếp theo creator tính toán băm - calculates the hash H(N) của N, gửi H(N) và PRNG đến một máy chủ bảo mật (Lưu ý rằng mỗi chủ sở hữu
có thể chọn bất kỳ các máy chủ bảo mật khả dụng Việc lựa chọn có thể dựa trên các khuyến nghị từ các hệ thống danh tiếng) Các máy chủ bảo mật tạo ra các giá trị
băm K = H(S, PRNG H(N)), và mã hóa E s (PRNG), trong đó S là khóa riêng của
máy chủ Sau đó, máy chủ bảo mật trả về K và E s (PRNG) cho creator
Trang 40Bản mã của mã hóa dữ liệu, và siêu dữ liệu ngoại trừ id máy chủ bảo mật, thuật toán
mã hóa, và mã hóa giả bộ sinh số ngẫu nhiên pseudo-random number generator
Hình 10: Cấu trúc của một active bundle với nhấn mạnh bảo mật siêu dữ liệu
Kết quả của bước thứ ba, thực hiện bởi các thủ tục EncryptActiveBundle, là
một active bundle hoàn chỉnh, như thể hiện trong Hình 10 Trong bước này, creator
sử dụng khóa K là khóa mã hóa, và một thuật toán mã hóa EA để mã hóa dữ liệu nhạy cảm và siêu dữ liệu (ví dụ thuật toán mã hóa Advanced Encryption Standard - AES) Kết quả của mã hóa là bản mã C Ngoài ra, creator chèn các thông tin sau vào
active bundle: EA, ES(PRNG), và VM Chỉ có ES(P) được mã hóa EA không được
mã hóa vì nó là một thuật toán mã hóa công cộng VM cũng không được mã hóa vì
nó bootstraps của active bundle VM chống trộm bằng cách kích hoạt kiểm tra
self-integrity (tự toàn vẹn) vào những thời điểm ngẫu nhiên
Một khi một active bundle được tạo ra và truyền cho một chủ sở hữu (nếu khác với creator), chủ sở hữu sẽ quyết định xem những bundle nào nên được công
bố công khai Nếu như vậy, chủ sở hữu đăng ký nó trong một thư mục active
bundle Bundle bây giờ đã sẵn sàng để phân phối cho một hoặc nhiều máy chủ
Công bố các bundle sẽ làm tăng tần suất các cuộc tấn công vào chúng (nếu một kẻ tấn công không biết rằng một bundle tồn tại, hắn ta không thể tấn công nó) Vì vậy,