Tìm hiểu tổng quan về điện toán đám mây, các vấn đề an ninh thông tin trên môi trường điện toán đám mây aaS. Nắm và hiểu được các khái niệm liên quan đến điện toán đám mây, các vấn đề về an ninh dữ liệu trên môi trường điện toán đám mây aaS. Đề xuất được giải pháp mã hóa dữ liệu người dùng và giải quyết vấn đề quản lý khóa mã hóa. ài đặt, thử nghiệm thành công giải pháp mã hóa trên nền tảng CloudStack
Trang 1Luận văn thạc sĩ kỹ thuật
1
MỤC LỤC
MỤC LỤC 1
L Đ N 4
L I CẢ ƠN 5
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT 6
DANH MỤC HÌNH VẼ 7
DANH MỤC CÁC BẢNG 9
PHẦN MỞ ĐẦU 10
1 Tổng quan 10
2 Mục tiêu, nhiệm vụ và phạm vi của luận văn 10
3 Phương pháp thực hiện 11
4 Kết quả đạt được 11
HƯƠNG 1: Đ ỆN T ÁN ĐÁ ÂY VÀ Á VẤN ĐỀ AN NINH THÔNG T N TRÊN Ô TRƯ NG Đ ỆN T ÁN ĐÁ ÂY S 12
1 Tổng quan về điện toán đám mây 12
1.1 Khái niệm điện toán đám mây 12
1.2 đặcác trưng của điện toán đám mây 12
1.3 Mô hình dịch vụ của Cloud computing 13
1.3.1 Mô hình hạ tầng như một dịch vụ – IaaS 14
1.3.2 Mô hình nền tảng như một dịch vụ – PaaS 15
1.3.3 Mô hình phần mềm như một dịch vụ – SaaS 15
1.4 Các mô hình triển khai của cloud computing 16
1.4.1 ô hinh đám mây công cộng (Public cloud) 16
1.4.2 ô hình đám mây riêng (Private cloud) 16
1.4.3 ô hình đám mây lai (Hybrid cloud) 16
1.5 Một số nền tảng đám mây aaS mã nguồn mở 17
1.5.1 Eucalyptus 17
1.5.2 OpenNeubula 18
1.5.3 OpenStack 18
Trang 21.5.4 CloudStack 18
2 Tổng quan về CloudStack 18
2.1 Giới thiệu về CloudStack 18
2.2 Đặc điểm của CloudStack 19
2.2.1 Các khái niệm liên quan 20
2.3 Kiến trúc CloudStack 22
2.3.1 Máy chủ quản lý 22
3 Các vấn đề an ninh thông tin trên môi trường điện toán đám mây aaS 25
3.1 Các vấn đề an ninh chung trên môi trường điện toán đám mây 25
3.2 Vấn đề đảm bảo an ninh dữ liệu trên môi trường IaaS 27
3.3 Các giải pháp mã hóa dữ liệu người dùng trên môi trường IaaS 29
3.3.1 Bitlocker 31
3.3.2 VeraCrypt 31
4 Giải pháp mã hóa dữ liệu TrueCrypt 31
5 Kết luận 36
HƯƠNG 2: XÂY DỰNG GIẢI PHÁP MÃ HÓA Ổ ĐĨ ẢO TRÊN CLOUDSTACK 37 1 Vấn đề bảo mật dữ liệu người dùng trên CloudStack 37
2 Giải pháp mã hóa ổ đĩa ảo 38
2.1 chếơ hoạt động của giải pháp 38
2.2 Kiến trúc giải pháp 41
2.2.1 Module mã hóa 41
2.2.2 Module quản lý khóa 42
2.2.3 odule sao lưu, khôi phục khóa mã hóa 44
3 Kết luận 46
HƯƠNG 3: TR ỂN KHAI, THỬ NGHIỆ VÀ ĐÁNH G Á 48
1 Triển khai thử nghiệm giải pháp 48
1.1 đặt hệài thống CloudStack 48
1.1.1 Mô hình thử nghiệm 48
Trang 31.1.2 ài đặt Cloud management server 48
1.1.3 ài đặt, cấu hình NFS 50
1.1.4 ài đặt máy chủ host 51
1.1.5 Chuẩn bị mẫu máy ảo hệ thống 51
1.1.6 Tạo zone 52
1.1.7 Tạo mẫu cài đặt, máy ảo và ổ đĩa ảo 54
1.2 đặt,ài sử dụng giải pháp mã hóa ổ đĩa ảo 57
1.2.1 ài đặt 57
1.2.2 Sử dụng 58
1.3 Kiểm thử 60
2 Đánh giá 62
2.1 Hiệu năng 62
2.1.1 Kịch bản 62
2.1.2 Kết quả 62
2.2 Tính hiệu quả 64
2.3 Ứng dụng của giải pháp 64
KẾT LUẬN 66
1 Kết quả đã đạt được 66
2 Những mặt còn hạn chế 66
3 Phương hướng phát triển 66
TÀI LIỆU THAM KHẢO 67
Trang 4I CAM ĐOAN
Tác giả luận văn xin cam đoan đây là công trình nghiên cứu của riêng tác giảluận văn; đúc kết của quá trình nghiên cứu từ việc tập hợp các nguồn tài liệu, cáckiến thức đã học đến việc tự thu thập các thông tin liên quan và liên hệ thực tế tạiđơn vị công tác 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ả luận văn xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luậnvăn này đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõnguồn gốc
Tác giả luận văn xin chịu trách nhiệm về nghiên cứu của mình
Học viên thực hiện luận văn
Trang 5L I CẢM ƠN
Trước tiên, tôi – tác giả luận văn xin được gửi lời cảm ơn đến các QuýThầy/ ô đã giảng dạy trong chương trình đào tạo thạc sỹ, những người đã tận tìnhtruyền đạt kiến thức trong quá trình tôi học tập Đây là vốn kiến thức thực sự hữuích, không chỉ làm nền tảng cho quá trình nghiên cứu khóa luận, mà còn là hànhtrang giúp tôi vững bước trên con đường hoạt động trong lĩnh vực Công nghệ thôngtin nói riêng và trong cuộc sống nói chung
Với tất cả lòng kính trọng và biết ơn, tôi xin được gửi lời cảm ơn chân thànhtới PGS.TS Ngô Hồng là người đã định hướng, hướng dẫn cho tôi những ngày đầuthực hiện luận văn ặc dù trong quá trình thực hiện luận văn, có những giai đoạnkhó khăn không thuận lợi, nhưng những lời động viên, hướng dẫn quý báu của cácthầy đã giúp tôi vượt qua và hoàn thành luận văn này
Tôi cũng xin gửi lời biết ơn đến Ban Giám đốc Viện Nghiên cứu và Phát triểnViettel/Tập đoàn Viễn thông Quân đội và các đồng nghiệp đã tạo điều kiện giúp đỡtôi trong quá trình nghiên cứu, triển khai thử nghiệm các giải pháp trong quá trìnhthực hiện Luận văn
Cuối cùng tôi xin gửi lời biết ơn sâu sắc đến gia đình, bạn bè – những người đãluôn bên cạnh giúp đỡ và tạo điều kiện tốt nhất cho tôi trong suốt quá trình học tậpcũng như thực hiện luận văn
Do thời gian có hạn và kinh nghiệm nghiên cứu khoa học chưa nhiều nênluận văn còn nhiều thiếu sót, rất mong nhận được ý kiến góp ý của Quý Thầy/Cô vàcác bạn học viên
Học viên thực hiện luận văn
Trang 6DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
AES Advanced Encryption Standard – Thuật toán mã hóa khóa đối xứng
nâng caoAPI Application Programming Interface – Giao diện lập trình ứng dụngAWS Amazon Web Service – Dịch vụ Web của Amazon
CPU Central Processing Unit – Bộ xử lý trung tâm
CSP Cloud Service Provider – Nhà cung cấp dịch vụ đám mây
IaaS Infrastructure as a Service – Hạ tầng như một dịch vụ
KVM Kernel-based Virtual Machine
JSON Java Script Object Notation – Định dạng dữ liệu Java Script
NIST National Institute of Standards and Technology
SaaS Software as a Service – Phần mềm như một dịch vụ
PaaS Platform as a Service – Nền tảng như một dịch vụ
SSL Secure Sockets Layer
VM Virtual Machine – Máy ảo
XML eXtensible Markup Language – Ngôn ngữ đánh dấu mở rộng
Trang 7DANH MỤC HÌNH VẼ
Hình 1: So sánh các mô hình điện toán đám mây và mô hình truyền thống 14
Hình 2: Các mô hình triển khai của Cloud computing 16
Hình 3: Mô hình CloudStack 19
Hình 4: Kiến trúc CloudStack 22
Hình 5: Kiến trúc của Management server 23
Hình 6: Khảo sát về những vấn đề đối với cloud computing 25
Hình 7: Kiến trúc hệ thống IaaS 28
Hình 8: Kiến trúc module mã hóa 34
Hình 9: Giao tiếp giữa các project 34
Hình 10: Luồng xử lý thao tạo tạo volume mã hóa 35
Hình 11: Luồng thao tác gắn ổ đĩa mã hóa 36
Hình 12: Giao diện người dùng truy cập vào máy ảo 37
Hình 13: Mã hóa ổ đĩa ảo trên CloudStack 38
Hình 14: Quá trình mã hóa ổ đĩa ảo 39
Hình 15: Quá trình giải mã dữ liệu trên ổ đĩa ảo 40
Hình 16: Kết quả Benchmark các giải thuật mã hóa của TrueCrypt 41
Hình 17: Đăng ký sử dụng giải pháp mã hóa 42
Hình 18: Khởi tạo mã hóa ổ đĩa 44
Hình 19: Quá trình sao lưu khóa mã hóa 45
Hình 20: Quá trình khôi phục khóa mã hóa 46
Hình 21: Mô hình triển khai giải pháp 48
Hình 22: ơ sở dữ liệu của cloudstack 50
Trang 8Hình 23: Máy chủ host 51
Hình 24: Cấu hình sử dụng SSL cho web portal 52
Hình 25: Giao diện quản trị cloudstack 53
Hình 26: Tạo zone 53
Hình 27: Kích hoạt zone 54
Hình 28: Hoàn thành tạo zone 54
Hình 29: Tạo mẫu để cài đặt máy ảo 55
Hình 30: Tạo máy ảo 55
Hình 31: Hoàn thành tạo máy ảo 56
Hình 32: Truy cập vào máy ảo thông qua console proxy 56
Hình 33: Tạo ổ đĩa ảo 57
Hình 34: Gắn ổ đĩa ảo cho máy ảo 57
Hình 35: Chọn dịch vụ mã hóa 58
Hình 36: Mã hóa ổ đĩa ảo 59
Hình 37: Quá trình sao lưu khóa mã hóa 60
Hình 38: Quá trình khôi phục khóa mã hóa 60
Trang 9DANH MỤC CÁC BẢNG
Bảng 1: So sánh một số nền tảng đám mây aaS mã nguồn mở 17
Bảng 2: Kết quả so sánh tốc độ đọc ghi với dung lượng RAM 2GB 62
Bảng 3: Kết quả so sánh tốc độ đọc ghi với dung lượng RAM 4GB 63
Bảng 4: Kết quả so sánh tốc độ đọc ghi với dung lượng RAM 6GB 63
Trang 10PHẦN MỞ ĐẦU
Điện toán đám mây ( loud computing) đang là xu hướng phát triển mạnhcủa ngành Công nghệ thông tin Điện toán đám mây là một mô hình tính toán năngđộng cao, có khả năng mở rộng đến các tài nguyên ảo trên mạng Internet Hiện nay,các dịch vụ sử dụng công nghệ điện toán đám mây đã trở nên hết sức phổ biến từcác dịch vụ lưu trữ, dịch vụ ứng dụng đến các dịch vụ cung cấp hạ tầng công nghệthông tin (IaaS)
Tuy nhiên những nghiên cứu gần đây nhất cho thấy vấn đề về bảo mật, an toànthông tin đang là vấn đề lớn được tất cả người dùng cũng như các nhà cung cấpquan tâm Những người dùng (đặc biệt là người dùng doanh nghiệp) luôn thắc mắcliệu việc để dữ liệu của mình trong hạ tầng của nhà cung cấp liệu có an toàn hay ko?Còn các nhà cung cấp dịch vụ cũng luôn đau đầu với bài toán làm sao để đảm bảo
an toàn dữ liệu cho khách hàng, từ đó tạo được lòng tin từ người dùng
Đối với loại hình dịch vụ điện toán đám mây cung cấp hạ tầng điện toán (IaaScloud computing) thì toàn bộ dữ liệu người dùng trên các máy chủ ảo được cungcấp bởi nhà cung cấp cloud computing được lưu trữ dưới dạng các volume (ổ đĩa)của máy ảo trên hạ tầng của nhà cung cấp dịch vụ Vì vậy làm cách nào để đảm bảo
an toàn cho dữ liệu người dùng trên hệ thống cloud là vấn đề quan trọng Giải pháp
mã hóa dữ liệu của người dùng trên môi trường cloud computing là một trongnhững nội dung đảm bảo an toàn dữ liệu Nội dung luận văn này đề xuất giải pháp
mã hóa toàn bộ ổ đĩa ảo của người dùng được cung cấp bởi nhà cung cấp dịch vụ
- Tìm hiểu tổng quan về điện toán đám mây, các vấn đề an ninh thông tin trênmôi trường điện toán đám mây aaS
- Tìm hiểu các vấn đề về đảm bảo an ninh dữ liệu, đề xuất giải pháp mã hóa
dữ liệu người dùng trên môi trường điện toán đám mây aaS sử dụng giảithuật thuộc hệ mật mã khóa đối xứng, đề xuất giải pháp giải quyết vấn đềquản lý, trao đổi khóa mã hóa
Trang 11- ài đặt, thử nghiệm giải pháp mã hóa dữ liệu trên nền tảng CloudStack.
- Đo đạc, đánh giá hiện năng đọc/ghi dữ liệu trước và sau khi mã hóa
- Tìm hiểu nhu cầu thực tế sử dụng giải pháp cho cá nhân và trong doanh nghiệp để đánh giá khả năng ứng dụng của giải pháp
- Nắm và hiểu được các khái niệm liên quan đến điện toán đám mây, các vấn
đề về an ninh dữ liệu trên môi trường điện toán đám mây aaS
- Đề xuất được giải pháp mã hóa dữ liệu người dùng và giải quyết vấn đề quản
lý khóa mã hóa
- ài đặt, thử nghiệm thành công giải pháp mã hóa trên nền tảng CloudStack
Trang 12CHƯƠNG 1: ĐIỆN TOÁN ĐÁM MÂY VÀ CÁC VẤN ĐỀ AN NINH THÔNG
TIN TRÊN MÔI TRƯ NG ĐIỆN TOÁN ĐÁM MÂY IAAS
1.1 Khái niệm điện toán đám mây
Có nhiều phát biểu về định nghĩa của điện toán đám mây của các hang nghiêncứu công nghệ thông tin, 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ênthường được ảo hóa được cung cấp như một dịch vụ trên mạng nternet”[18] hoặctheo NIST “Điện toán đám mây là một mô hình cho phép truy cập mạng thuận tiện,theo nhu cầu đến một kho tài nguyên điện toán dùng chung, có thể định cấu hình (ví
dụ như mạng, máy chủ, lưu trữ, ứng dụng) có thể được cung cấp và thu hồi mộtcách nhanh chóng với yêu cầu tối thiểu về quản lý hoặc can thiệp của nhà cung cấpdịch vụ.” [10]
Tuy nhiên điện toán đám mây có thể được hiểu một cách đơn giản như là sự sửdụng tài nguyên tính toán có khả năng thay đổi theo nhu cầu và được cung cấp như
là một dịch vụ từ bên ngoài với chi phí trả cho mỗi lần sử dụng Thuật ngữ “đámmây” ở đây là ám chỉ nternet, người dùng có thể truy cập đến tài nguyên tồn tạitrong “đám mây (cloud)” tại bất kỳ thời điểm nào và từ bất kỳ đâu thông qua hệthống Internet Họ có thể làm việc với các tài nguyên đó mà không cần phải hiểubiết về công nghệ, kỹ thuật và hạ tầng cơ sở của đám mây
1.2 Các đặc trưng của điện toán đám mây
N ST đưa ra 05 đặc trưng cơ bản của điện toán đám mây như sau (trang 8,NIST cloud computing standards roadmap) [10].:
- On-demand self-service: khách hàng có thể được cung cấp tài nguyên như
máy chủ, lưu trữ mạng,… một cách tự động theo yêu cầu mà không cần phải
có sự giúp đỡ hay can thiệp từ phía nhà cung cấp dịch vụ
- Broad network access: người dùng có thể dễ dàng truy cập vào đám mây
chỉ với một ứng dụng có khả năng truy cập mạng (Internet) từ bất kỳ thiết bịnào, bao gồm máy tính, thiết bị cầm tay, di động,…
Trang 13- Location independent resource pooling: tài nguyên tính toán của nhà cung
cấp được phân chia để phục vụ nhiều khách hàng theo mô hình đa chiếm hữu(multi-tenancy model), với các tài nguyên vật lý và tài nguyên ảo được cấpđộng và thu hồi dựa theo yêu cầu của khách hàng Sự không phụ thuộc vào
vị trí ở đây có nghĩa là khách hàng không biết và cũng không có quyền kiểmsoát vị trí chính xác của tài nguyên được cung cấp Ví dụ về tài nguyên cóthể bao gồm lưu trữ, xử lý, bộ nhớ, băng thông mạng và các máy ảo
- Rapid elasticity: tài nguyên có thể được cung cấp một cách nhanh chóng và
mềm dẻo, có thể tăng lên hay giảm đi dễ dàng tùy theo yêu cầu của kháchhàng Với khách hàng, tài nguyên luôn sẵn sàng và có thể coi là vô tận, cóthể yêu cầu vào bất cứ thời điểm nào
- Measured service: các hệ thống cloud tự động điều khiển và tinh chỉnh tài
nguyên sử dụng bằng cách áp dụng các biện pháp đo lường ở các cấp độkhác nhau phù hợp với từng loại dịch vụ (ví dụ như lưu trữ, xử lý, băngthông và tài khoản người dùng đang active) Tài nguyên sử dụng có thể đượcgiám sát, đo lường và khách hàng thường sẽ chỉ phải trả phí cho lượng tàinguyên mà họ đã sử dụng
1.3 Mô hình dịch vụ của Cloud computing
Trong điện toán đám mây, mọi khả năng liên quan đến công nghệ thông tin đềuđược cung cấp phổ biến dưới dạng “dịch vụ” (service), người sử dụng truy cập cácdịch vụ công nghệ từ một nhà cung cấp nào đó “trong đám mây” mà không cầnquan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó ó 03 mô hình cơ bản nhấtthường được sử dụng trong điện toán đám mây là: Phần mềm như một dịch vụ(SaaS); Nền tảng như một dịch vụ (PaaS) và Hạ tầng như một dịch vụ (IaaS) Mộtcách đơn giản, có thể so sánh các mô hình này với mô hình truyền thống như hình:
Trang 14Hình 1: So sánh các mô hình điện toán đám mây và mô hình truyền
thống (nguồn: http://antoanthongtin.vn)
1.3.1 Mô hình hạ tầng như một dịch vụ – IaaS
Mô hình IaaS cung cấp cho người dùng một hạ tầng thô (dưới hình thức cácmáy chủ ảo, lưu trữ, mạng,…) như là một dịch vụ Người dùng có thể triển khai vàchạy phần mềm bất kỳ trên máy ảo, có thể bao gồm cả hệ điều hành và các ứngdụng Người dùng không quản lý hay điều khiển hạ tầng thực của cloud nhưng cóquyền kiểm soát hệ điều hành, lưu trữ, các ứng dụng và một số thành phần mạng cơbản (ví dụ như tường lửa, cân bằng tải) trên máy chủ ảo họ được cấp Những dịch
vụ aaS thông thường được tính phí sử dụng dựa theo lượng tính toán hay tàinguyên mà người dùng sử dụng [10]
Những đặc trưng tiêu biểu của IaaS:
- Cung cấp hạ tầng như một dịch vụ: bao gồm cả máy chủ (ảo), thiết bị mạng,
bộ nhớ, PU, không gian đĩa cứng, trang thiết bị trung tâm dữ liệu
- Khả năng mở rộng linh hoạt
- hi phí thay đổi tùy theo thực tế
- Nhiều người thuê có thể cùng dùng chung trên một tài nguyên (nhiều máy ảo
trên cùng một máy thật)
Trang 15- Cấp độ doanh nghiệp: đem lại lợi ích cho công ty bởi một nguồn tài nguyên
tính toán tổng hợp
Một số nhà cung cấp IaaS như Amazon với Amazon Elastic Compute Cloud(EC2) Rackspace, GoGrid Ngoài ra, một số doanh nghiệp có thể tự xây dựng hệthống đám mây aaS của mình dựa trên nền tảng của các giải pháp mã nguồn mở cóthể kể đến như loudStack, penStack, Eucalytus, penNebula Trong đó,CloudStack là một giải pháp có nhiều ưu điểm như dễ dàng triển khai, hỗ trợ nhiềunền tảng ảo hóa, khả năng quản lý hạ tầng vật lý lớn, cung cấp sẵn các giao diệntương tác giữa người dùng, quản trị với hệ thống…(chi tiết sẽ được trình bày ở mục
3 của chương này)
1.3.2 Mô hình nền tảng như một dịch vụ – PaaS
Mô hình PaaS cung cấp cho người dùng khả năng triển khai và phát triển ứngdụng của chính họ trên hạ tầng cloud sử dụng các ngôn ngữ lập trình và công cụ donhà cung cấp cloud hỗ trợ (ví dụ java, python, Net) Một số giải pháp PaaS nhưWindows Azure, Google App Engine…[10]
1.3.3 Mô hình phần mềm như một dịch vụ – SaaS
Mô hình SaaS cung cấp cho người dùng khả năng sử dụng các ứng dụng củanhà cung cấp chạy trên hạ tầng cloud và có thể truy cập từ nhiều thiết bị đầu cuốithông qua một giao diện khách đơn giản như một trình duyệt Web (ví dụ, web-based email) Người dùng không quản lý hay kiểm soát hạ tầng phía dưới, mạng,máy chủ, hệ điều hành, lưu trữ hay thậm chí một số cấu hình ứng dụng hệ thống, màchỉ sử dụng ứng dụng kèm theo một số cấu hình hạn chế với ứng dụng đó [10]
Trang 161.4 Các mô hình triển khai của cloud computing
Hình 2: Các mô hình triển khai của Cloud computing
(nguồn: internet)
1.4.1 Mô hinh đám mây công cộng (Public cloud)
Là các dịch vụ đám mây công cộng, người dùng sẽ đăng ký với nhà cung cấp
và trả phí sử dụng dựa theo chính sách giá của nhà cung cấp Public cloud là môhình triển khai được sử dụng phổ biến nhất hiện nay của cloud computing Đốitượng sử dụng: Bao gồm người dùng bên ngoài internet Đối tượng quản lý là nhàcung cấp dịch vụ [10]
1.4.2 Mô hình đám mây riêng (Private cloud)
Private cloud là các dịch vụ điện toán đám mây được cung cấp trong các doanhnghiệp được các doanh nghiệp trực tiếp quản lý [10]
1.4.3 Mô hình đám mây lai (Hybrid cloud)
Là sự kết hợp của private cloud và public cloud ho phép ta khai thác điểmmạnh của từng mô hình cũng như đưa ra phương thức sử dụng tối ưu cho người sử
Trang 17dụng Những “đám mây” này thường do doanh nghiệp tạo ra và việc quản lý sẽđược phân chia giữa doanh nghiệp và nhà cung cấp điện toán đám mây công cộng[10]
1.5 Một số nền tảng đám mây IaaS mã nguồn mở
Nền tảng ảo
hóa hỗ trợ Xen, KVM
Xen, KVM, Virtual Box
Xen, KVM, Hyper-V, VMware
Xen, XCP, KVM, Hyper-V,
VMware, Virtual Box
Mạng DHCP server onthe cluster
controller
Manual configuration
OpenStack Compute
Linux Bridge hoặc Open vSwitch Tường lửa,
Hỗ trợ (OpenStack Neutron)
Hỗ trợ (tích hợp sẵn)
Cân bằng tải Không Không Hỗ trợ (OpenStackNeutron) Hỗ trợ (tích hợpsẵn)
Tương thích
Quản trị Command line,
Command line, Web, API
Bảng 1: So sánh một số nền tảng đám mây IaaS mã nguồn mở
1.5.1 Eucalyptus
Là một phần mềm mã nguồn mở Linux-based cung cấp nền tảng đám mây theo
mô hình IaaS với cả 2 mô hình đám mây riêng hoặc đám mây công cộng Điểmmạnh của Eucalyptus là khả năng hỗ trợ việc xây dựng hệ thống mà không yêu cầuquá cao về mặt cấu hình phần cứng, ngoài ra Euccalyptus hỗ trợ kết nối với dịch vụ
Trang 18đám mây của Amazon – AWS Kiến trúc của Eucalyptus đơn giản, linh hoạt vàđược module hóa Ngoài
1.5.2 OpenNeubula
Là bộ công cụ nguồn mở sử dụng để xây dựng đám mây riêng, đám mây côngcộng hoặc đám mây lai penNebula tương thích với các nền tảng ảo hóa của Xen,KVM, VMWARE và Virtual Box
1.5.3 OpenStack
Là một dự án nguồn mở của cộng đồng cho việc phát triển điện toán đámmây phù hợp với nhà cung cấp ( SP) cũng như người dùng được phát triển bởiRackspace hosting và NASA Openstack bao gồm 3 dự án chính: OpenstackCompute (có chức năng quản lý, cấp phát tài nguyên ảo hóa cho các máy ảo),Openstack Object Storage (thực hiện việc lưu trữ, sao lưu dữ liệu hệ thống) và penstack mage Service (đảm nhận chức năng phát hiện, đăng ký, truyền tảidịch vụ cho các ổ đĩa ảo) Hiện nay penStack được đánh giá là nền tảng mãnguồn mở xây dựng hạ tầng đám mây khá mạnh với sự hỗ trợ của các hãng máytính lớn trên thế giới như HP, B , isco, icrosoft…
1.5.4 CloudStack
Apache CloudStack là phần mềm mã nguồn mởviết trên nền Java, được thiết
kế để hỗ trợ triển khai và quản lý một hệ thống mạng lớn các máy ảo, tính sẵnsàng cao và tính mở rộng đặc trưng trong môi trường đám mây CloudStackhiện tại hỗ trợ khá tốt cho nhiều công nghệ ảo hóa khác nhau như V ware, racle
V , KV , XenServer và nền tảng Xen Cloud và đang được đánh giá là mộttrong những nền tảng đám mây mạnh nhất hiện nay Đây cũng là nền tảng được
đề xuất để triển khai hạ tầng đám mây aaS trong Luận văn này và sẽ được trìnhbày chi tiết trong phần tiếp theo
2.1 Giới thiệu về CloudStack
CloudStack là hệ thống hệ điều hành điện toán đám mây mã nguồn mở, chophép người dùng phối hợp ảo hóa server, network, network storage để cung cấp
Trang 19Infrastructure –as-a service (Iaas) tương tự Amazon EC2 CloudStack phối hợp cácnguồn tài nguyên ảo hóa thành một môi trường đồng nhất, nơi có thể ủy nhiệm chongười sử dụng tự tạo các máy ảo và sử dụng tùy theo nhu cầu riêng của họ[17].CloudStack có thể áp dụng triển khai ở cả 03 mô hình Private Cloud, PublicCloud, Hybrid Cloud.
Hình 3: Mô hình CloudStack (nguồn: CloudStack.apache.org)
2.2 Đặc điểm của CloudStack
- Hỗ trợ nhiều nền tảng ảo hóa (hypervisor): Xenserver, VMware, OracleVM,
KVM, XCP
- Khả năng quản lý hạ tầng vật lý lớn và khả năng mở rộng cao: CloudStack
có thể quản lý khoảng 10.000 máy chủ vật lý Các máy chủ quản lý tập trungtrên một quy mô lớn, loại bỏ sự cần thiết của các cụm máy tính quản lý trunggian Không có một thành phần đơn lẻ nào là điểm chịu lỗi duy nhất bởi vậy
Trang 20việc bảo trì các máy chủ có thể được thực hiện đồng thời mà không làm ảnhhưởng đến hệ thống các máy ảo đang chạy trong hệ thống.
- Tính sẵn sàng cao: có khả năng tự đông giám sát và khắc phục máy ảo, khi
một máy ảo bị lỗi hệ thống sẽ cố gắng khôi phục lại Máy chủ quản lý (cloudmanagement) có thể được triển khai trên nhiều máy chủ vật lý và có khảnăng tự động cân bằng tải
- CloudStack sử dụng security groups hoặc chia Vlan tạo thành các mạng ảo
giúp cô lập các tài khoản người dùng để tăng cường khả năng quản lý truycập, phân quyền người dùng
- Hỗ trợ nhiều giao diện tương tác giữa người dùng và hệ thống cloud:
CloudStack cho phép người dùng tương tác với hệ thống qua Web UI,command line và P để quản lý tài nguyên
- Cung cấp các dịch vụ mạng : Ngoài việc cung cấp các dịch vụ ảo hóa (RAM,
CPU, ổ đĩa lưu trữ) CloudStack còn cung cấp các dịch vụ mạng như cânbằng tải, DHCP, routing, VLAN, firewall, VPN
- Hỗ trợ nhiều giao thức lưu trữ: NFS, SCSI, FC, FCoE
- Cung cấp động tài nguyên người dùng: CloudStack có khả năng cung cấp tài
nguyên một cách linh động, người dùng có thể lựa chọn giới hạn trên và dướicủa tài nguyên (CPU, RAM, HDD) và hệ thống sẽ tự động co giãn tàinguyên tùy theo tải thực tế của máy ảo
- Hỗ trợ API chuẩn: CloudStack cung cấp các API chuẩn cho lập trình viên
phát triển ứng dụng tích hợp vào hệ thống quản lý giúp các nhà cung cấp cóthể tùy biến hệ thống một cách linh hoạt [17]
2.2.1 Các khái niệm liên quan
Zone: Có thể ánh xạ một zone như một data center vật lý Trong đó đã bao gồm
nhiều tài nguyên Khi triển khai CloudStack, một máy chủ quản lý dịch vụ cloud cóthể quản lý nhiều Zone
Pod: Trong một data center thì có nhiều tủ rack, mỗi tủ rack có một Switch kết
nối các máy chủ trong tủ đó Ta có thể ánh xạ một Pod như một tủ rack như vậy
Trang 21trong vật lý Theo đúng định nghĩa, một Pod là một nhóm các thiết bị phân cấp theolayer-2 trong mô hình OSI Hay nói dễ hiểu hơn, sau này những thiết bị nào đượccấu hình cùng một mạng L N thì đó là Pod.
Cluster: cluster bao gồm một hoặc nhiều Host và thành phần lưu trữ Primary
Storage Cluster trong thực tế là một cụm các máy tính vật lý được liên kết với nhau
để cùng thực thi một nhiệm vụ Khi người quản trị triển khai theo cơ chế cluster thìkhông cần phải lo lắng khi một phần tử trong cluster bị đứt kết nối
Host: là một phần tử tính toán đơn lẻ trong cluster Host cũng là nơi sẽ chạy các
dịch vụ ảo hóa Host chính là một server vật lý mà sau này nhà quản trị cloud sẽtriển khai
Hypervisor: là nền tảng ảo hóa được cài đặt trên các host, hypervisor giúp hệ
thống CloudStack có thể ảo hóa tài nguyên phần cứng để cung cấp tài nguyên ảocho người dùng CloudStack hỗ trợ các hypervisor Xenserver, VMware, OracleVM,KVM, XCP
Primary storage: là một thành phần của Cluster Tại đây chứa các phân vùng ổ
đĩa ảo cho các máy ảo và tất cả các máy ảo đang chạy trên Host Khi triển khai thực
tế, khu vực lưu trữ chính sẽ được dùng làm Primary Storage
Secondary storage: là một phần trong Zone Tại đây chứa các templates, ISO
images, và các snapshots của máy ảo, ổ cứng ảo Khi triển khai, trong một Zone sẽchỉ cần một Secondary Storage dùng để lưu trữ và backup dữ liệu
Console Proxy: là một máy ảo được sinh ra bởi hệ thống cloud sử dụng làm máy
chủ proxy cho phép người dùng truy cập từ xa bằng trình duyệt vào máy ảo
Network: ClousStack cung cấp hai mô hình triển khai network khi triển khai hạ
tầng cloud: cơ bản (Basic) và nâng cao (Advanced)
- Basic: sử dụng một lớp mạng share duy nhất Các máy ảo tạo ra trong cùngmột Zone sẽ có chung một lớp mạng
- Advanced: có thể được cấu hình gồm nhiều lớp mạng và tương ứng với mỗilớp mạng sẽ có thể được cấu hình thêm các dịch vụ network tương ứng đikèm như firewall, load balancer…
Instance: là các máy tính ảo được tạo ra bởi CloudStack, một instance bao gồm
CPU ảo, RAM ảo, mạng ảo và các ổ đĩa ảo
Trang 22Template: là các mẫu (bao gồm các đĩa cài đặt hệ điều hành hoặc bản ghost các
máy ảo) được tạo sẵn để tạo máy ảo
Root disk: là ổ đĩa chứa hệ điều hành của các máy tính ảo, khi một instance được
tạo ra mặc định CloudStack sẽ chỉ tạo 01 ổ đĩa chứa hệ điều hành của máy ảo Rootdisk là 01 file được lưu trữ trên primary storage
Data disk: là ổ đĩa được gắn thêm vào máy ảo để lưu trữ dữ liệu của người dùng.
CloudStack khuyến cáo người dùng không nên lưu trữ trên root disk Data disk là
01 file được lưu trữ trên primary storage
2.3 Kiến trúc CloudStack
Một hệ thống CloudStack được chia làm 02 phần: máy chủ quản lý(Management Server) và hạ tầng đám mây mà nó quản lý
Hình 4: Kiến trúc CloudStack (nguồn: CloudStack.apache.org)
2.3.1 Máy chủ quản lý
Management server là phần mềm quản lý tài nguyên đám mây của CloudStack,cung cấp giao diện web, P cho người quản trị cũng như người dùng cuối để cấuhình và quản trị hạ tầng đám mây anagement server điều khiển việc cấp phát tàinguyên ảo hóa (máy chủ ảo, ram ảo, ổ cứng ảo, mạng ảo…) cho người dùng, nó cóthể được triển khai trên các máy chủ vật lý hoặc các máy chủ ảo[17]
Trang 23Hình 5: Kiến trúc của Management server (nguồn: CloudStack.apache.org)
Các thành phần của Management server:
- Kernel: module kernel có ba chức năng chính:
Nhận lệnh thực thi từ API và chuyển tới các Plugin xử lý tương ứng Ví dụ: API tạo mới máy ảo
Đồng bộ với Database
Thực hiện đồng bộ giữa các tài nguyên
- Plugin API: Module này bao gồm toàn bộ các hàm chức năng tương ứng chocác lệnh thực thi, đây là phần xử lý chức năng cho hệ thống
- REST API: Là module phục vụ tương tác giữa admin/user với hệ thống,REST API bao gồm OAM&P API, End User API, EC2 API, Other APIs,Pluggable Service API Engine
Trang 24- Services P : Là module đảm nhiệm việc cung cấp các dịch vụ cho hệ thống,định nghĩa các services để admin lựa chọn sử dụng Ví dụ: dịch vụ HA (HighAvaiable service).
- Management: Là module đảm nhiệm chức năng quản lý cho các đối tượngtrong hệ thống Bao gồm việc quản lý tài nguyên, tiến trình xử lý, cơ sở dữliệu và các sự kiện trên hệ thống
- essege/Event Bus: Là module đảm nhiệm việc truyền thông điệp giữaManagement Server với Agent chạy trên các host ác thông điệp đượctruyền theo hai format là XML hoặc JSON
- gent: Là module đảm nhiệm việc quản lý host và tương tác vớiManagement Server Tùy vào Hypervisor chạy trên Host mà có Agentquản lý tương ứng Ví dụ với KVM ta có CloudAgent là Agent màCloudStack tự định nghĩa, với Xen ta có Xen P (X P ) được phát triển bởiitrix, hay đối với ESXI thì ta có V ENTER được phát triển bởi VMware.Agent phối hợp với Hypervisor để quản lý và phân bổ tài nguyên cho cácmáy ảo bao gồm: network, storage, image, snapshot
- Job Queue: Là module hàng đợi cho các lệnh xử lý trên hệ thống, theo kiếntrúc hàng đợi bất đồng bộ, các Job trong Queue được thực thi theo mô hìnhFIFO, tuy nhiên là mô hình bất đồng bộ nên Job đứng sau trong hàng đợikhông nhất thiết phải chờ đợi Job đứng trước nó hoàn thành mới bắt đầu xửlý
- DB: Là module cơ sở dữ liệu cho cả hệ thống, các thông tin lưu trong cơ sở
dữ liệu
- Client: Là module phục vụ việc tương tác từ phía user User có rất nhiềuphương thức để tương tác với hệ thống, bao gồm: CLI, UI, CloudPortal,CloudBridge, các công cụ công cộng của Amazon như E 2 hay S3
Trang 253 Các vấn đề an ninh thông tin trên môi trường điện toán đám mây IaaS 3.1 Các vấn đề an ninh chung trên môi trường điện toán đám mây
Ảo hóa và điện toán đám mây có thể giúp người dùng (cá nhân, tổ chức ) giảmbớt chi phí về hạ tầng công nghệ thông tin và quản trị, nhưng các mối đe dọa về anninh cũng nhiều hơn, vì thế an ninh trong điện toán đám mây càng cần phải đượcđảm bảo[7]
Thống kê từ một khảo sát của IDC cho thấy, an ninh chính là vấn đề mà ngườidùng quan tâm nhất khi chọn lựa dịch vụ điện toán đám mây
Hình 6: Khảo sát về những vấn đề đối với cloud
computing (nguồn: blogs.idc.com)
Nhà phân tích Jay Heiser, Mark Nicolett đã đưa ra 9 vấn đề về an ninh về cloudcomputing cho khách hàng và nhà cung cấp như sau [5]:
Quyền truy cập dữ liệu của người dùng: Một doanh nghiệp sẽ cảm thấy
không an toàn, khi dữ liệu nhạy cảm của mình được xử lý, lưu trữ bên ngoàiđơn vị mình hoặc được quản lý bởi người quản trị không thuộc đơn vị mình.Thông thường, đối với một doanh nghiệp người quản trị dữ liệu của công ty
Trang 26được quản lý và phải có cam kết về đảm bảo an toàn cho dữ liệu của đơn vịmình, tuy nhiên vẫn xảy ra các trường hợp chính các quản trị hệ thống làmmất, đánh cắp dữ liệu (chẳng hạn như các trường hợp quản trị đánh cắp dữliệu bán cho các đối thủ hoặc trong trường hợp nghỉ việc có thể quay lại đánhcắp dữ liệu thong qua các cổng hậu được thiết lập sẵn trước đó) Đối với môitrường điện toán đám mây thì rủi ro này cao hơn vị người quản trị dữ liệu làcủa nhà cung cấp dịch vụ điện toán đám mây.
Tính tuân thủ: Người dùng là người chịu trách nhiệm cuối cùng về an ninh
và sự toàn vẹn cho chính dữ liệu của họ, thậm chí khi nó nằm trong sự kiểmsoát của một nhà cung cấp dịch vụ Các nhà cung cấp dịch vụ truyền thốngthường được kiểm định độc lập và có các chứng chỉ đảm bảo an toàn thôngtin do bên thứ ba cấp, các nhà cung cấp dịch vụ truyền thống cũng cung cấpcho khách hang của họ đầy đủ thông tin về mức điều khiển dữ liệu của kháchhàng Các nhà cung cấp cloud computing không có khả năng này
Vị trí lưu trữ dữ liệu: Khi sử dụng cloud, người dùng thường không biết
chính xác dữ liệu của mình được lưu ở đâu Trên thực tế, người dùng thậmchí không biết nó được lưu ở quốc gia nào Do đó, để đảm bảo an toàn cho
dữ liệu trên môi trường điện toán đám mây cần thiết có sự cam kết về mặtluật pháp về đảm bảo an toàn cho dữ liệu
Sự cách ly dữ liệu: Hầu hết các dịch vụ đám mây đều sử dụng SSL để bảo
vệ dữ liệu trong quá trình truyền trên mạng, tuy nhiên dữ liệu trong môitrường điện toán đám mây lại được lưu trữ trong môi trường chia sẻ Các giảipháp mã hóa có thể giải quyết được các vấn đề về chia sẻ dữ liệu trên môitrường điện toán đám mây, tuy nhiên khi sử dụng các giải pháp mã hóa dữliệu thì các vấn đề về thuật toán mã hóa, độ dài khóa, trao đổi khóa mã hóa
và tính sẵn sàng của dữ liệu khi sử dụng các giải pháp mã hóa là vấn đề quantrọng
Tính sẵn sàng: Tính sẵn sàng là một trong những lợi thế lớn của dịch vụ
đám mây Tuy nhiên, một số nhà cung cấp dịch vụ đám mây không cam kết
Trang 27với khách hang về tính sẵn sàng của dữ liệu dẫn đến nguy cơ mất tính sẵnsàng.
Khả năng khôi phục: Hệ thống của nhà cung cấp dịch vụ đám mây thông
thường được thiết kế khá vững chắc và có khả năng khôi phục dữ liệu khi có
sự cố Tuy nhiên, trong các trường hợp xảy ra các thảm họa lớn (động đất,núi lửa…) vẫn có thể xảy ra khả năng hệ thống không khôi phục lại đượchoặc thời gian khôi phục chậm
Sự hỗ trợ điều tra: Là các nguy cơ khi xảy ra các sự cố về mất an toàn
thông tin, có thể xảy ra các trường hợp nhà cung cấp dịch vụ đám mây không
hỗ trợ điều tra nguyên nhân các sự cố
Khả năng tồn tại: Nhà cung cấp đám mây cũng là một doanh nghiệp, trong
trường hợp doanh nghiệp làm ăn thua lỗ có thể dẫn đến phá sản và ngừngcung cấp dịch vụ, nếu trường hợp này xảy ra thì nguy cơ mất an toàn dữ liệu
là rất lớn
Khả năng hỗ trợ giảm rủi ro: là các hướng dẫn người dùng các phương
pháp đảm bảo an toàn khi sử dụng dịch vụ đám mây Nếu nhà cung cấp dịch
vụ đám mây thực hiện tốt việc này sẽ giảm được nguy cơ mất an toàn dữliệu
3.2 Vấn đề đảm bảo an ninh dữ liệu trên môi trường IaaS
Với một hệ thống đám mây IaaS, dữ liệu người dùng được lưu trữ dưới dạng các
ổ đĩa ảo (virtual disk), các ổ đĩa ảo này thực chất là các file ảnh (virtual image)được lưu trữ trên hệ thống lưu trữ (image repository) của nhà cung cấp dịch vụcloud Khi người dùng bật/tắt máy ảo của mình được cung cấp bởi nhà cung cấpdịch vụ cloud thì các ổ đĩa ảo này được gắn/gỡ vào các máy ảo để người dùng truyxuất dữ liệu của mình [6] [7] [9] [15]
Trang 28Hình 7: Kiến trúc hệ thống IaaS (nguồn: [6], trang 91)
Với việc toàn bộ dữ liệu trong ổ đĩa ảo của người dùng được lưu trữ dưới dạngcác file trên các repository của nhà cung cấp dẫn đến một số nguy cơ về an toàn dữliệu của người dùng như:
- Nguy cơ bị tấn công trực tiếp vào máy ảo qua mạng: hacker có thể tấn công
trực tiếp vào các máy ảo người dùng thông qua các lỗ hổng của các phầnmềm được cài đặt trên máy ảo hoặc Trojan house
- Nguy cơ mất dữ liệu trong quá trình truyền file trong hệ thống: trong quá
trình tạo/xóa/bật/tắt máy ảo các file ổ đĩa được truyền giữa các thành phầntrong hệ thống cloud, điều này hoàn toàn có thể xay ra nguy cơ bị tấn côngdẫn đến mất dữ liệu người dùng
Trang 29- Hệ thống lưu trữ của nhà cung cấp cloud bị tấn công: khi hệ thống lưu trữ
của nhà cung cấp bị tấn công, hacker hoàn toàn có thể lấy các file chưa ổ đĩa
ảo của người dùng và dựng lại hệ thống để mount ổ đĩa vào một máy ảo khác
và đọc được toàn bộ dữ liệu của người dùng
- Nguy cơ từ quản trị của hệ thống cloud: quản trị của hệ thống cloud có toàn
quyền truy cập và có thể truy cập vào các file đĩa ảo của người dùng Trongtrường hợp máy tính của quản trị hệ thống bị tấn công thì hacker hoàn toàn
có thể chiếm được dữ liệu của người dùng
3.3 Các giải pháp mã hóa dữ liệu người dùng trên môi trường IaaS
Để đảm bảo an toàn cho dữ liệu của người dùng trên môi trường IaaS thì mã hóa
dữ liệu được xem là giải pháp cần thiết, tuy nhiên việc lựa chọn các thuật toán mãhóa, độ dài khóa và vấn đề quản lý khóa mã hóa là hết sức quan trọng Trên môitrường IaaS có thể triển khai các giải pháp mã hóa dữ liệu như [1] [11] [13]:
- ã hóa file/thư mục (File/folder Encryption): là giải pháp thực hiện mã hóa
các file/thư mục riêng lẻ được lưu trên ổ đĩa của máy ảo Các giải pháp nàythường là do chính người dùng tự cài đặt, quản lý và thực hiện mã hóa/giải
mã dữ liệu mà người dùng chọn Với các giải pháp mã hóa file/thư mục thì
ưu điểm là có tính linh động cao, người dùng có thể tùy chọn file/thư mục cụthể cần mã hóa Một số giải pháp mã hóa dạng này như Vera rypt, x rypt,Winrar…Các thuật toán mã hóa hỗ trợ khá đa dạng như ES, Twofish…Tuynhiên, với các giải pháp kiểu này người dùng phải tự quản lý khóa mã hóacủa mình do đó có thể xảy ra các nguy cơ người dùng quên khóa mã hóahoặc làm lộ khóa mã hóa trong quá trình lưu trữ
- Mã hóa toàn bộ ổ đĩa ảo (Full Virtual Disk Encryption): là giải pháp mã hóa
mà toàn bộ dữ liệu của ổ đĩa, giải pháp này thường hoạt động theo cơ chế mãhóa ổ đĩa trên đường đi (on-the-fly encryption) Nghĩa là dữ liệu tự độngđược mã hóa hoặc giải mã ngay khi được ghi xuống đĩa ảo hoặc ngay khi dữliệu được nạp lên mà không có bất kỳ sự can thiệp nào của người dùng Dữliệu được lưu trữ trên một ổ đĩa đã được mã hóa (encryption volume) không
Trang 30thể đọc được nếu người dùng không cung cấp đúng khóa mã hóa bằng mộttrong ba hình thức là mật khẩu (password) hoặc tập tin có chứa khóa(keyfile) hoặc khóa mã hóa (encryption key) Toàn bộ dữ liệu trên ổ đĩa mãhóa đều được mã hóa (ví dụ như tên file, tên folder, nội dung của từng file,dung lượng còn trống, siêu dữ liệu ) Việc triển khai giải pháp mã hóa theodạng này thường có 02 cách thực hiện:
Người dùng tự cài đặt các giải pháp mã hóa trên máy ảo của mình: vớicách này người dùng phải tự tạo, quản lý khóa mã hóa, tự triển khaicác giải pháp sao lưu, khôi phục dữ liệu Việc người dùng tự quản lýkhóa mã hóa dữ liệu như đã nói ở trên có thể dẫn đến nhiều nguy cơmất an toàn dữ liệu
Nhà cung cấp dịch vụ cloud triển khai giải pháp mã hóa dữ liệu: Nhàcung cấp dịch vụ Cloud Computing tự xây dựng giải pháp mã hóa dữliệu cho khách hàng của họ Cách làm này có yếu điểm là yêu cầukhách hàng cung cấp khóa mã hóa của họ cho nhà cung cấp dịch vụ loud, như vậy dù muốn hay không thì nhà cung cấp dịch vụ Cloudcũng có thể xem được dữ liệu khách hàng Ví dụ về cách làm này
có thể kể tới Amazon S3 Server Side Encryption Việc mã hóa dữliệu được giao trách nhiệm cho bên thứ ba, được nhà cung cấp dịch
vụ Cloud Computing và khách hàng của họ tin tưởng Rất nhiềunhà cung cấp dịch vụ mã hóa dữ liệu lớn có thể kể ra là:TrendMicro (giải pháp SecureCloud), Vormetric, SafeNet (giảipháp ProtectV), Voltage, Porticor Các nhà cùng cấp dịch vụ loudomputing đang bắt tay với các giải pháp này để đảm bảo an toàn
dữ liệu cho người dùng của họ, có thể liệt kê ra như V Ware (sửdụng SecureCloud, ProtectV, Porticor), Amazon EC2 (sử dụngSecureCloud), Amazon Web Service (sử dụng Vormetric, ProtectV,Porticor)… ách làm này có một yếu điểm là người sử dụng phảiđưa quyền thao tác trên hệ thống Cloud cho bên thứ ba (bên cungcấp giải pháp mã hóa) Như
Trang 31vậy, bên thứ ba lại có quyền thao tác với tài nguyên của khách hàngtrên hệ thống Cloud Computing (ví dụ như hủy máy chủ ảo của kháchhàng)[14].
độ dài 128 hoặc 256 bit
Điểm mạnh của Bitlocker là dễ dàng thiết lập, sử dụng và có hiệu năng khá cao
do được tích hợp sẵn với hệ điều hành Tuy nhiên, Bitlocker không hỗ trợ hệ điềuhành Linux và là giải pháp mã nguồn đóng do đó chỉ thích hợp với các trường hợpngười dùng tự thiết lập mã hóa và tự quản lý khóa mã hóa, với Bitlocker không thểtích hợp thành dịch vụ mã hóa trên môi trường đám mây để cung cấp cho ngườidùng do Microsoft không cung cấp P để tương tác với Bitlocker
3.3.2 VeraCrypt
Là phần mềm mã hóa dữ liệu mã nguồn mở được phát triển bởi IDRIX có khảnăng hỗ trợ mã hóa toàn bộ dữ liệu trên ổ đĩa bằng cơ chế mã hóa dữ liệu trênđường đi (on-the-fly encryption) VeraCrypt mã hóa dữ liệu ở chế độ XTS và hỗ trợcác giải thuật mã hóa AES, Serpent, Twofish, Camellia và Kuznyechik
TrueCrypt được phát triển bởi TrueCrypt Foundation giải pháp mã hóa dữ liệu
mã nguồn mở có khả năng mã hóa toàn bộ ổ đĩa (thậm chí cả ổ đĩa chứa hệ điềuhành TrueCrypt hỗ trợ cài đặt trên hệ điều hành Windows và Linux [19].TrueCrypt hỗ trợ các thuật toán mã hóa AES, Serpent, và Twofish
ơ chế thiết lập và quản lý của TrueCrypt là mã hóa ổ đĩa trên đường đi fly encryption) Nghĩa là dữ liệu tự động được mã hóa hoặc giải mã ngay khi được
Trang 32(on-the-ghi xuống đĩa cứng hoặc ngay khi dữ liệu được nạp lên mà không có bất kỳ sự canthiệp nào của người dùng Dữ liệu được lưu trữ trên một ổ đĩa đã được mã hóa(encryption volume) không thể đọc được nếu người dùng không cung cấp đúngkhóa mã hóa bằng một trong ba hình thức là mật khẩu (password) hoặc tập tin cóchứa khóa (keyfile) hoặc khóa mã hóa (encryption key).
Toàn bộ dữ liệu trên ổ đĩa mã hóa đều được mã hóa (ví dụ như tên file, tênfolder, nội dung của từng file, dung lượng còn trống, siêu dữ liệu ) Dữ liệu có thểđược copy từ một ổ đĩa mã hóa của TrueCrypt sang một ổ đĩa bình thường không
mã hóa (và ngược lại) một cách bình thường mà không có sự khác biệt nào cả, kể cảcác thao tác kéo-thả
Khi một tập tin được đọc nó sẽ được giải mã on-the-fly (trong bộ nhớ/RAM),ngược lại khi tập tin hay thư mục được chép lên ổ TrueCrypt thì sẽ được tự động
mã hoá trước khi lưu TrueCrypt không nạp toàn bộ dữ liệu cần mã hóa (file/folder)vào R cùng lúc để tiến hành mã hóa hay giải mã, mà chương trình chỉ nạp mộtphần tập tin vào bộ nhớ để thực hiện quá trình này, sau đó nạp tiếp những phần cònlại theo cơ chế "cuốn chiếu" Điều này làm cho bộ nhớ không bị chiếm dụng toàn
bộ nhưng vẫn có thể tiến hành mã hoá/giải mã trong suốt quá trình xử lý tập tin nhưđọc, ghi, xem video
True rypt không lưu bất kỳ dữ liệu đã được giải mã lên đĩa cứng mà chỉ tạmthời lưu trữ lên RAM, khi hệ thống shutdown/restart hoặc bị sự cố mất nguồn độtngột thì dữ liệu vẫn được lưu trong trạng thái an toàn
TrueCrypt là giải pháp mã nguồn mở do đó có khả năng cung cấp các thư viện,công cụ cho việc mã hóa dữ liệu, mã hóa ổ đĩa và có khả năng tích hợp vào hệthống đám mây
Kiến trúc và hoạt động của TrueCrypt:
1 Boot Đảm nhiệm chức năng liên quan tới phân vùng boot sector
trong lựa chọn mã hóa phân vùng chứa hệ điều hành
Trang 33# Tên chức năng Chú thích
2 Mount Đảm nhiệm chức năng mount / dismount volume
3 Format Đảm nhiệm chức năng format volume, tạo volume header
4 Driver Đảm nhiệm chức năng tương tác với phần cứng
5 Crypto Đảm nhiệm chức năng cung cấp các thư viện phục vụ mã
hóa
- Driver: là project tương tác trực tiếp với phần cứng Bao gồm hai chức năngchính là: Read Decrypted Sector và Write Encrypted Sector Project nàytương tác trực tiếp với tất cả các project còn lại (boot, mount, format, crypto)của module
Read Decrypted Sector: đọc dữ liệu đã được giải mã từ ổ cứng
Write Encrypted Sector: ghi dữ liệu đã được mã hóa vào ổ cứng
- Boot: là project thực hiện chức năng liên quan tới quá trình boot máy ảotrong trường hợp thực hiện mã hóa phân vùng ô cứng chứa hệ điều hành Khi
đó, trong quá trình boot máy ảo, module sẽ hiển thị hộp thoại yêu cầu ngườidùng nhập passphase để thực hiện quá trình mã hóa/giải mã Một số hàmchính của project Boot bao gồm:
Execute Boot Sector: thực hiện quá trình nạp bootloader
Get System Partition: lấy thông tin của các phân vùng system
Boot Menu: hiển thị menu lựa chọn boot
- Mount: là project thực hiện chức năng gắn (mount) và gỡ (unmount) cácvolume mã hóa, cho phép người dùng thực hiện các thao tác đọc/ghi dữ liệutrên các volume đó Hai hàm chức năng chính của project này là:
Mount/Dismount All: gắn/gỡ tất cả các volume mã hóa
Mount/Dismount Driver: gắn/gỡ volume tương ứng
- Format: là project thực hiện chức năng định dạng volume, phục vụ quá trình
mã hóa dữ liệu Hai hàm chính của project này là:
Trang 34 Format Volume: định dạng volume theo các dạng thường dùng như là ext2-4, ntfs, fat32,…
Create Volume Header: tạo header mã hóa cho volume
- rypto: là project đảm nhiệm chức năng cung cấp các thư viện phục vụ quá trình mã hóa/giải mã
Hình 8: Kiến trúc module mã hóa (nguồn:
truecrypt.sourceforge.net)
Hình 9: Giao tiếp giữa các project (nguồn: truecrypt.sourceforge.net)