1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng giải pháp mã hóa ổ đĩa ảo trên môi trường điện toán đám mây IAAS

68 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 5,07 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

DANH 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 cao API Application Programming Interface – Giao diện lập trình ứng dụng AWS

Trang 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 2

1.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 ài đặt hệ thống CloudStack 48

1.1.1 Mô hình thử nghiệm 48

Trang 3

1.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 ài đặt, 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 4

I 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ác

kiế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ận

vă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

Nguyễn Đình Việt

Trang 5

L 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ỹ, Viện Công Nghệ Thông

Tin và Truyền Thông, Đại học Bách khoa Hà Nội, những người đã tận tình truyề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ành trang

giúp tôi vững bước trên con đường hoạt động trong lĩnh vực Công nghệ thông tin

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ành

tới PGS.TS Ngô Hồng là người đã định hướng, hướng dẫn cho tôi những ngày đầu

thự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ạn

khó 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ác

thầ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ển

Viettel/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ình

thự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ập

cũ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ên

luậ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

Nguyễn Đình Việt

Trang 6

DANH 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 cao API Application Programming Interface – Giao diện lập trình ứng dụng

AWS 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 7

DANH 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 8

Hì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 9

DANH 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 10

PHẦN MỞ ĐẦU

1 Tổng quan

Điện toán đám mây ( loud computing) đang là xu hướng phát triển mạnh

củ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àn

thông tin đang là vấn đề lớn được tất cả người dùng cũng như các nhà cung cấp

quan tâm Những người dùng (đặc biệt là người dùng doanh nghiệp) luôn thắc mắc

liệ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 (IaaS

cloud computing) thì toàn bộ dữ liệu người dùng trên các máy chủ ảo được cung

cấ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 trong

nhữ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ụ

2 Mục tiêu, nhiệm vụ và phạm vi của luận văn

- 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

- 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ải

thuậ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

3 Phương pháp thực hiện

- Tham khảo các tài liệu, bài báo, sách nghiên cứu về các vấn đề an ninh dữ

liệu trên môi trường điện toán đám mây

- Sử dụng các thư viện mật mã khóa đối xứng mã nguồn mở, các nền tảng ảo

hóa, giải pháp cloud mã nguồn mở để xây dựng giải pháp và thử nghiệm

- Đ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

4 Kết quả đạt được

- 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 12

CHƯƠ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 Tổng quan về điện toán đám mây

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ên

cứ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ên

thường được ảo hóa được cung cấp như một dịch vụ trên mạng nternet”[18] hoặc

theo 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ột

cá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ấp

dị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ữ “đám

mây” ở đây là ám chỉ nternet, người dùng có thể truy cập đến tài nguyên tồn tại

trong “đá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ểu

biế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ểm

soá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ách

hà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ăng

thông và tài khoản người dùng đang active) Tài nguyên sử dụng có thể được

giám sát, đo lường và khách hàng thường sẽ chỉ phải trả phí cho lượng tài

nguyê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ác

dịch vụ công nghệ từ một nhà cung cấp nào đó “trong đám mây” mà không cần

quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó ó 03 mô hình cơ bản nhất

thườ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ột

cá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 14

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

(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ác

má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 ứng

dụ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ài

nguyê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ều

nề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ện

tươ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 ứng

dụ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ụ do

nhà 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ủa

nhà 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ối

thô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 16

1.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 Đối

tượ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 doanh

nghiệ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ểm

mạ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 17

dụ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

Nền tảng ảo

Xen, KVM, Virtual Box

Xen, KVM, Hyper-V, VMware

Xen, XCP, KVM, Hyper-V,

VMware, Virtual Box

Mạng

DHCP server on the 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)

Neutron)

Hỗ trợ (tích hợp sẵn)

Tương thích

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ểm

mạ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ầu

quá 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ông

cộ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 đám mây

phù hợp với nhà cung cấp ( SP) cũng như người dùng được phát triển bởi

Rackspace hosting và NASA Openstack bao gồm 3 dự án chính: Openstack

Compute (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ải dị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áy tí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ẵn sàng cao

và tính mở rộng đặc trưng trong môi trường đám mây CloudStack hiệ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ột trong 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ình bày chi tiết trong phần

tiếp theo

2 Tổng quan về CloudStack

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ở, cho

phép người dùng phối hợp ảo hóa server, network, network storage để cung cấp

Trang 19

Infrastructure –as-a service (Iaas) tương tự Amazon EC2 CloudStack phối hợp các

nguồ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 cho

ngườ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, Public

Cloud, 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 trung

trê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ý trung

gian 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 20

việc bảo trì các máy chủ có thể được thực hiện đồng thời mà không làm ảnh

hưở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ý (cloud

management) 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ý truy

cậ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ân

bằ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ưới

của tài nguyên (CPU, RAM, HDD) và hệ thống sẽ tự động co giãn tài

nguyê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 21

trong 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 theo

layer-2 trong mô hình OSI Hay nói dễ hiểu hơn, sau này những thiết bị nào được

cấ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 ảo

cho 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ùng

mộ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ỗi

lớp mạng sẽ có thể được cấu hình thêm các dịch vụ network tương ứng đi

kè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 22

Template: 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 Root

disk 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ấu

hình và quản trị hạ tầng đám mây anagement server điều khiển việc cấp phát tài

nguyê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 23

Hì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 cho

cá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 (High

Avaiable service)

- Management: Là module đảm nhiệm chức năng quản lý cho các đối tượng

trong 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ữa

Management Server với Agent chạy trên các host ác thông điệp được

truyề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ới Management

Server Tùy vào Hypervisor chạy trên Host mà có Agent quả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ởi itrix, 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ác má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ến

trúc hàng đợi bất đồng bộ, các Job trong Queue được thực thi theo mô hình

FIFO, tuy nhiên là mô hình bất đồng bộ nên Job đứng sau trong hàng đợi

không nhất thiết phải chờ đợi Job đứng trước nó hoàn thành mới bắt đầu xử

- 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ều

phươ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 25

3 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ảm

bớ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ề an

ninh 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ười

dù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ề cloud

computing 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àm

mấ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 đánh

cắ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ôi

trườ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ểm

soát của một nhà cung cấp dịch vụ Các nhà cung cấp dịch vụ truyền thống

thường được kiểm định độc lập và có các chứng chỉ đảm bảo an toàn thông

tin do bên thứ ba cấp, các nhà cung cấp dịch vụ truyền thống cũng cung cấp

cho khách hang của họ đầy đủ thông tin về mức điều khiển dữ liệu của khách

hà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ậm

chí 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ặt

luậ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ôi

trường điện toán đám mây lại được lưu trữ trong môi trường chia sẻ Các giải

pháp mã hóa có thể giải quyết được các vấn đề về chia sẻ dữ liệu trên môi

trườ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 đề quan

trọ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 27

vớ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ẵn

sà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 được

hoặ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ừng

cung 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ấp

dị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 truy

xuất dữ liệu của mình [6] [7] [9] [15]

Trang 28

Hì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ạng

cá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ần

mề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ần

trong hệ thống cloud, điều này hoàn toàn có thể xay ra nguy cơ bị tấn công

dẫ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 Trong

trườ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ôi

trườ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ày

thườ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…Tuy

nhiê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óa

của mình do đó có thể xảy ra các nguy cơ người dùng quên khóa mã hóa

hoặ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 30

thể đọc được nếu người dùng không cung cấp đúng khó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ê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 theo

dạ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ới

cách này người dùng phải tự tạo, quản lý khóa mã hóa, tự triển khai cá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ầu khá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ụ Cloud cũ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ều nhà 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ải pháp ProtectV), Voltage, Porticor Các nhà cùng cấp dịch vụ loud omputing đ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ụng SecureCloud), 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 cung cấp giải pháp mã hóa) Như

Trang 31

vậy, bên thứ ba lại có quyền thao tác với tài nguyên của khách hàng trên hệ thống Cloud Computing (ví dụ như hủy máy chủ ảo của khách hàng)[14]

3.3.1 Bitlocker

BitLocker là phần mềm mã hóa mã nguồn đóng của icrosoft được tích hợp sẵn

trên các hệ điều hành (từ Windows 7 trở lên) của Microsoft cho phép mã hóa toàn

bộ dữ liệu trong ổ đĩa cứng, USB và các thiết bị lưu trữ khác giúp chống lại những

thay đổi, truy cập trái phép vào dữ liệu Mặc định Bitlocker sử dụng giải thuật mã

hóa AES ở chế độ mã khối chuỗi (Cipher Block Chaining – CBC) hoặc mã khối hẹp

(XEX-based tweaked-codebook mode with ciphertext stealing – XTS) với khóa có

độ 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ều

hà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ợp

ngườ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ười

dù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

4 Giải pháp mã hóa dữ liệu TrueCrypt

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ều

hà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

(on-the-fly encryption) Nghĩa là dữ liệu tự động được mã hóa hoặc giải mã ngay khi được

Trang 32

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ự 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 thể đọc được nếu người dùng không cung cấp đúng

khó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ên

folder, 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ột

phầ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òn

lạ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ạm

thời lưu trữ lên RAM, khi hệ thống shutdown/restart hoặc bị sự cố mất nguồn đột

ngộ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ăng

chính là: Read Decrypted Sector và Write Encrypted Sector Project này

tươ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 ảo

trong 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ười

dùng nhập passphase để thực hiện quá trình mã hóa/giải mã Một số hàm

chí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ác

volume mã hóa, cho phép người dùng thực hiện các thao tác đọc/ghi dữ liệu

trê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á

Ngày đăng: 28/02/2021, 00:23

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm