i
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN&TRUYỀN THÔNG
PHẠM THỊ PHƯỢNG
TÌM HIỂU MÔ HÌNH ĐIỆN TOÁN ĐÁM MÂY VÀ VẤN ĐỀ BẢO MẬT DỮ LIỆU TRONG ĐIỆN TOÁN ĐÁM MÂY
Ngành: Công nghệ thông tin
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 0101
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. HỒ VĂN CANH
Thái Nguyên – 2019
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
ii
LỜI CAM ĐOAN
Học viên xin cam đoan luận văn này là công trình nghiên cứu thực sự của
bản thân, dưới sự hướng dẫn khoa học của TS. Hồ Văn Canh.
Các số liệu, kết quả trong luận văn là trung thực và chưa từng được công
bố dưới bất cứ hình thức nào. Tất cả các nội dung tham khảo, kế thừa của các tác
giả khác đều được trích dẫn đầy đủ.
Em xin chịu trách nhiệm về nghiên cứu của mình.
Tác giả
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Phạm Thị Phượng
iii
LỜI CẢM ƠN
Học viên trân trọng cảm ơn sự quan tâm, tạo điều kiện và động viên của
Lãnh đạo Đại học Thái Nguyên, các thầy cô Khoa Đào tạo sau đại học, các khoa
đào tạo và các quý phòng ban Học viện trong suốt thời gian qua.
Học viên xin bày tỏ sự biết ơn sâu sắc tới TS. Hồ Văn Canh đã nhiệt tình
định hướng, bồi dưỡng, hướng dẫn học viên thực hiện các nội dung khoa học trong
suốt quá trình nghiên cứu, thực hiện luận văn.
Xin chân thành cảm ơn sự động viên, giúp đỡ to lớn từ phía Cơ quan đơn
vị, đồng nghiệp và gia đình đã hỗ trợ học viên trong suốt quá trình triển khai các
nội dung nghiên cứu.
Mặc dù học viên đã rất cố gắng, tuy nhiên, luận văn không tránh khỏi những
thiếu sót. Học viên kính mong nhận được sự đóng góp từ phía Cơ sở đào tạo, quý
thầy cô, các nhà khoa học để tiếp tục hoàn thiện và tạo cơ sở cho những nghiên
cứu tiếp theo.
Xin trân trọng cảm ơn!
Thái Nguyên, tháng năm 2019
Học viên
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Phạm Thị Phượng
iv
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
DANH MỤC CÁC HÌNH VẼ, BẢNG BIỂU
v
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
1
MỞ ĐẦU
1. Đặt vấn đề
Điện toán đám mây_ Cloud Computing được hình thành năm 1969 và có
sự phát triển mạnh mẽ từ khi có internet băng thông rộng, đã làm thay đổi cách
thức hoạt động của điện toán truyền thống. Hiện nay, điện toán đám mây (ĐTĐM)
được các quốc gia trên thế giới ứng dụng rộng rãi trong các lĩnh vực hoạt động
của đời sống, kinh tế xã hội. Bằng việc tối ưu sử dụng các nguồn tài nguyên hệ
thống, điện toán đám mây đem lại nhiều lợi ích, cơ hội mới cho các các cơ quan,
tổ chức, doanh nghiệp trong quá trình đẩy mạnh ứng dụng công nghệ thông tin,
truyền thông vào hoạt động chuyên ngành [3, 4].
Các hoạt động liên quan tới điện toán đám mây được chính phủ các quốc
gia phát triển mang tính chiến lược trên phạm vi toàn thế giới như đám mây
Nebula, google moderator của Mỹ, đám mây G-clould của Anh, kasumigaseki của
Nhật Bản…bởi vậy điện toán đám mây luôn thu hút nhiều quốc gia, tổ chức, các
tập đoàn, công ty và nhà khoa học, các chuyên gia đầu tư nghiên cứu [10, 11, 13].
Ở nước ta hiện nay, hầu hết các tổ chức, doanh nghiệp đã có hiểu biết cơ
bản về điện toán đám mây. Nhiều tổ chức, doanh nghiệp đã và đang sử dụng điện
toán đám mây theo các mức độ khác nhau. Một số công trình nghiên cứu [3, 6] đã
chỉ rõ điện toán đám mây là giải pháp tối ưu để các doanh nghiệp nước ta giảm
thiểu chi phí cũng như tăng hiệu suất làm việc ở mức tối đa.
Tuy nhiên trong quá trình nghiên cứu và ứng dụng cho thấy có nhiều vấn
đề về nguy cơ an ninh an toàn thông tin đang đặt ra hiện nay đối với việc lưu trữ
dữ liệu trên đám mây [16, 24]. Do vậy, tình hình sử dụng công nghệ đám mây còn
gặp phải một số khó khăn nhất định, hiệu quả ứng dụng chưa phát huy tối đa tính
ưu việt của các dịch vụ. Trước những yêu cầu cấp bách đó, đòi hỏi cần có những
nghiên cứu, giải pháp tăng tính an toàn cho đám mây cũng như việc bảo mật thông
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
tin, dữ liệu lưu trữ.
2
Xuất phát từ thực tiễn đó, luận văn “Tìm hiểu điện toán đám mây và vấn đề
bảo mật dữ liệu trong điện toán đám mây” mang tính cấp thiết, thực sự có ý nghĩa
khoa học và thực tiễn.
2. Đối tượng và phạm vi nghiên cứu
Nghiên cứu tìm hiểu về điện toán đám mây, kiến trúc, mô hình, ưu nhược
điểm và giới thiệu một số nhà cung cấp dịch vụ điện toán đám mây
- Nghiên cứu một số vấn đề bảo mật dữ liệu trong điện toán đám mây và
phương pháp khắc phục. Từ đó đi sâu tìm hiểu phương pháp bảo vệ dữ liệu đã lưu
trữ bằng các thuật toán mã hóa AES và RSA.
- Nghiên cứu và cài đặt, thử nghiệm hệ thống máy chủ lưu trữ ownCloud.
3. Hướng nghiên cứu của luận văn
Nghiên cứu tổng quan mô hình điện toán đám mây, một số vấn đề bảo mật
dữ liệu trong điện toán đám mây và phương pháp khắc phục. Từ đó đi sâu nghiên
cứu phương pháp bảo vệ dữ liệu đã lưu trữ bằng các thuật toán mã hóa trên máy
chủ ownCloud. Nghiên cứu xây giải pháp mã hóa dữ liệu an toàn từ phía người
dùng và ổ chức cài đặt, thực nghiệm, đánh giá các kết quả nghiên cứu đạt được.
4. Những nội dung nghiên cứu chính
Chương 1: Tổng quan về điện toán đám mây
Nghiên cứu về tổng quan khái niệm, lịch sử hình thành và phát triển của
điện toán đám mây, kiến trúc và một số mô hình của điện toán đám mây. Đồng
thời phân tích chỉ ra những ưu, nhược điểm, tình hình triển khai nghiên cứu ứng
dụng và sử dụng công nghệ điện toán đám mây thế giới và tại Việt Nam.
Chương 2: Bảo vệ thông tin trong điện toán đám mây
Nội dung Chương 2 nghiên cứu tìm hiểu vấn đề an ninh thông tin, một số
tiêu chuẩn về an ninh thông tin, phân loại an ninh thông tin trong điện tóa đám
mây, vấn đề an ninh dữ liệu trong điện toán đám mây và giải pháp. Trên cơ sở đó,
tập trung phân tích hai thuật toán mã hóa dữ liệu lưu trữ cho điện toán đám mây
là RSA và AES.
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Chương 3: Ứng dụng bảo vệ thông tin trong điện toán đám mây
3
Nghiên cứu và xây dựng điện toán đám mây riêng tích hợp công cụ thu thập
thông tin tự động dựa trên phần mềm mã nguồn mở ownCloud và Apache Nutch.
Nghiên cứu phân tích thuật toán mã hóa dữ liệu phía ownCloud và đề xuất xây
dựng giải pháp mã hóa dữ liệu an toàn phía client sử dụng RSA kết hợp AES 256.
Tiến hành cài đặt, thực nghiệm và rút ra những kết luận, đề xuất.
5. Phương pháp nghiên cứu
- Nghiên cứu các bài báo khoa học trong nước và quốc tế.
- Nghiên cứu một số vấn đề bảo mật dữ liệu trong điện toán đám mây và
phương pháp khắc phục. Từ đó đi sâu tìm hiểu phương pháp bảo vệ dữ liệu đã lưu
trữ bằng các thuật toán mã hóa AES và RSA.
- Cài đặt ứng dụng thử nghiệm và đánh giá.
6. Ý nghĩa khoa học của luận văn
Nghiên cứu vấn đề bảo mật dữ liệu trong điện toán đám mây có ý nghĩa và
vai trò to lớn trong việc vệ an ninh thông tin. Đây là vấn đề đang được quan tâm,
thu hút nhiều quốc gia, tổ chức, cá nhân đầu tư nghiên cứu. Luận văn đã kết hợp
hai kỹ thuật sử dụng các search engine để xây dựng đám mây thu tin tự động và
kỹ thuật mã hóa để bảo mật dữ liệu. Do vậy, luận văn có tính khoa học và ứng
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
dụng thực tiễn.
4
CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY
1.1 Điện toán đám mây
Điện toán đám mây - Cloud Computing (sau đây có thể gọi tắt là đám mây)
là mô hình điện toán đang tiến tới hoàn chỉnh, mỗi tổ chức tiêu chuẩn, mỗi hãng
công nghệ đang đưa ra những định nghĩa và cách nhìn của riêng mình.
Theo Wikipedia: “Điện toán đám mây là một mô hình điện toán có khả
năng co giãn linh động, các tài nguyên thường được ảo hóa và được cung cấp
như một dịch vụ trên mạng Internet”.
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”.
Một số định nghĩa thì cho rằng điện toán đám mây là điện toán máy chủ ảo,
tuy nhiên, định nghĩa này chưa thực sự đầy đủ và chính xác, máy chủ ảo không
phải là thành phần thiết yếu của một đám mây. Nó chỉ là thành phần chủ chốt để
một vài loại đám mây hoạt động.
Hiện tại, định nghĩa của Viện tiêu chuẩn và công nghệ quốc gia Mỹ - NIST
(National Institute of Science and Technology) được cho là thể hiện rõ nhất bản
chất của điện toán đám mây [14]: điện toán đám mây là mô hình điện toán cho
phép truy cập qua mạng để lựa chọn và sử dụng tài nguyên tính toán (mạng, máy
chủ, lưu trữ, ứng dụng và dịch vụ…) theo nhu cầu một cách thuận tiện và nhanh
chóng. Đồng thời, điện toán đám mây cũng cho phép kết thúc sử dụng dịch vụ,
giải phóng tài nguyên dễ dàng, giảm thiểu các tương tác với nhà cung cấp.
Như vậy, điện toán đám mây có thể coi là bước tiếp theo của ảo hóa, bao
gồm ảo hóa phần cứng và ứng dụng, là thành phần quản lý, tổ chức, vận hành các
hệ thống ảo hóa trước đó.
Điện toán đám mây có năm đặc điểm chính như sau:
Tự phục vụ theo nhu cầu (On-deman self-service): Người sử dụng có thể tự
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
cung cấp các tài nguyên như máy chủ ảo, tài khoản email… mà không cần có
5
người tương tác với nhân viên của nhà cung cấp dịch vụ (nhân viên công nghệ
thông tin).
Mạng lưới truy cập rộng lớn (Broad Network Access): Khách hàng có thể
truy cập tài nguyên qua mạng máy tính (như mạng Internet) từ nhiều thiết bị khác
nhau (điện thoại thông minh, máy tính bảng, máy tính xách tay…).
Tài nguyên được chia sẻ (Resource Pooling): Tài nguyên của các nhà cung
cấp dịch vụ được chia sẻ tới nhiều khách hàng. Thông thường, các công nghệ ảo
hóa được sử dụng để cho nhiều bên cùng thuê và cho phép tài nguyên được cấp
phát động dựa theo nhu cầu của khách hàng.
Tính linh hoạt nhanh (Rapid elasticity): Tài nguyên có thể được cung cấp
và giải phóng nhanh, tự động dựa trên nhu cầu. Khách hàng có thể tăng hoặc giảm
việc sử dụng dịch vụ đám mây một cách dễ dàng theo nhu cầu hiện tại của mình.
Ước lượng dịch vụ (Measured service): Khách hàng chỉ chi trả cho tài
nguyên thực tế họ đã sử dụng. Thông thường, nhà cung cấp dịch vụ sẽ cung cấp
cho khách hàng bảng điều khiển (dashboard) để họ có thể theo dõi việc sử dụng
dịch vụ của họ.
Điện toán đám mây đã khắc phục được yếu điểm quan trọng của điện toán
truyền thống về khả năng mở rộng và độ linh hoạt. Các công ty, tổ chức có thể
triển khai ứng dụng và dịch vụ nhanh chóng, giảm chi phí và ít rủi ro về đầu tư
ban đầu.
1.2 Lịch sử hình thành và phát triển của điện toán đám mây
Điện toán đám mây thường được mọi người biết đến như một công nghệ
mới được phát triển trong những năm gần đây. Tuy nhiên, khái niệm này không
mới như ta vẫn nghĩ. Điện toán đám mây đã bắt đầu được hình thành vào khoảng
giữa thế kỷ 20, khi có sự ra đời của các máy tính mainframe. Dưới đây là một số
mốc phát triển quan trọng của điện toán đám mây [20]:
Năm 1969, J.C.R Liicklider là người chịu trách nhiệm tạo điều kiện cho sự
phát triển của APANET trong cuốn Advanced Research Project Agency Network
đã nêu ý tưởng về mạng máy tính giữa các thiên hà, có vẻ giống với điện toán
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
đám mây.
6
Tuy nhiên, cho đến năm 1999, điện toán đám mây mới cho thấy thành tựu
của sự phát triển với cột mốc là điện toán đám mây của Saleforce.com với các
ứng dụng doanh nghiệp cung cấp thông qua một trang web đơn giản, mở đường
cho việc cung cấp các ứng dụng trên Internet.
Năm 2002, Amazon Web Service cung cấp bộ các dịch vụ lưu trữ, tính toán,
trí tuệ nhân tạo…
Năm 2004, mạng xã hội Facebook ra đời kết nối và lưu dữ liệu, tạo thành
một dịch vụ đám mây cá nhân.
Năm 2006, Amazon ra mắt EC2 (Elastic Compute), là một dịch vụ web
thương mại cho phép các công ty nhỏ, cá nhân thuê máy tính mà trên đó để chạy
các ứng dụng máy tính của mình.
Cuối năm 2008 là sự ra đời của điện toán đám mây Azue của Microsoft.
Năm 2009, Google Apps chính thức được phát hành, sau đó, liên tiếp các
hãng công nghệ có tên tuổi tham gia cung cấp dịch vụ liên quan đến điện toán
đám mây như Rackspace, IBM…
Cho tới nay, các công ty đã tích cực cải thiện dịch vụ và khả năng đáp ứng
của mình để phục vụ nhu cầu cho người sử dụng một cách tốt nhất. Đặc biệt, số
người dùng điện thoại thông minh và máy tính bảng tăng nhanh trong những năm
gần đây đã giúp cho các dịch vụ điện toán đám mây ngày càng phát triển vượt
bậc, mang nhiều trải nghiệm mới cho người dùng, kết nối mọi lúc mọi nơi qua
môi trường Internet.
1.3 Kiến trúc điện toán đám mây
Kiến trúc điện toán đám mây bao gồm nhiều thành phần đám mây liên kết
với nhau. Ta có thể chia kiến trúc điện toán đám mây thành hai phần quan trọng:
nền tảng font-end và nền tảng back-end. Hai phần này kết nối với nhau thông qua
mạng máy tính, thường là mạng Internet [18].
Front-end là phần thuộc về phía khách hàng dùng máy tính. Hạ tầng khách
hàng trong nền tảng font-end (Client Infrastructure) là những yêu cầu phần mềm
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
hoặc phần cứng (hệ thống mạng của khách hàng hoặc máy tính) để sử dụng các
7
dịch vụ trên điện toán đám mây. Thiết bị cung cấp cho khách hàng có thể là trình
duyệt, máy tính để bàn, máy xách tay, điện thoại thông minh…
Back-end đề cập đến chính đám mây của hệ thống, bao gồm tất cả các tài
nguyên cần thiết để cung cấp dịch vụ điện toán đám mây. Nó gồm các thành phần
con chính như: cơ sở hạ tầng, lưu trữ, máy ảo, cơ chế an ninh, dịch vụ, mô hình
triển khai, máy chủ…
Hình 1.1: Kiến trúc điện toán đám mây
Cơ sở hạ tầng (Infrastructure) của điện toán đám mây là phần cứng được
cung cấp như dịch vụ, nghĩa là được chia sẻ và có thể sử dụng lại dễ dàng. Các tài
nguyên phần cứng được cung cấp theo thời gian cụ thể theo yêu cầu. Dịch vụ kiểu
này giúp cho khách hàng giảm chi phí bảo hành, chi phí sử dụng,…
Lưu trữ (Storage): Lưu trữ đám mây là khái niệm tách dữ liệu khỏi quá trình
xử lý và chúng được lưu trữ ở những vị trí từ xa. Lưu trữ đám mây thường được
triển khai theo các dạng: đám mây công cộng, đám mây riêng, đám mây cộng
đồng hoặc đám mây lai. Lưu trữ đám mây cũng bao gồm cả các dịch vụ cơ sở dữ
liệu, ví dụ như BigTable của Google, SimpleDB của Amazon,…
Cloud Runtime: Là dịch vụ phát triển phần mềm ứng dụng và quản lý các
yêu cầu phần cứng, nhu cầu phần mềm. Ví dụ nền dịch vụ như khung ứng dụng
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
web, web hosting.
8
Dịch vụ (Service): Dịch vụ đám mây là một phần độc lập có thể kết hợp
với các dịch vụ khác để thực hiện tương tác, kết hợp giữa các máy tính với nhau
để thực thi chương trình ứng dụng theo yêu cầu trên mạng. Ví dụ các dịch vụ hiện
nay như: Simple Queue Service, Google Maps, các dịch vụ thanh toán linh hoạt
trên mạng của Amazon.
Ứng dụng: Ứng dụng đám mây (Cloud Application) là một đề xuất về kiến
trúc phần mềm sẵn sàng phục vụ, nhằm loại bỏ sự cần thiết phải mua phần mềm,
cài đặt, vận hành và duy trì ứng dụng tại máy bàn/thiết bị của người sử dụng. Ứng
dụng đám mây loại bỏ được các chi phí để bảo trì và vận hành các chương trình
ứng dụng.
Các máy chủ sử dụng các giao thức nhất định được gọi là middleware giúp
các thiết bị kết nối để giao tiếp với nhau.
1.4 Một số mô hình điện toán đám mây
1.4.1 Các mô hình dịch vụ
Điện toán đám mây có thể được xem như một nhóm các dịch vụ, trong đó
có 3 mô hình dịch vụ chính [9, 14]: phần mềm như một dịch vụ, nền tảng như một
dịch vụ, cơ sở hạ tầng như một dịch vụ.
Phần mềm như một dịch vụ (SaaS - Software as a Service): Tất cả các
phần mềm (tài chính, nhân sự, bán hàng, tư vấn) được cung cấp như một dịch vụ.
Nghĩa là người dùng sử dụng các phần mềm của nhà cung cấp dịch vụ chạy trên
một nền tảng đám mây và sẽ truy cập các phần mềm này thông qua Web. Với
SaaS, người dùng lựa chọn ứng dụng phù hợp với nhu cầu và chạy ứng dụng đó
trên cơ sở hạ tầng đám mây mà không cần quan tâm đến việc quản lý tài nguyên
phần cứng - công việc này đã có nhà cung cấp dịch vụ lo. Nhà cung cấp dịch vụ
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
sẽ quản lý, kiểm soát và đảm bảo ứng dụng luôn sẵn sang và hoạt động ổn định.
9
Hình 1.2: Các mô hình dịch vụ của điện toán đám mây
SaaS có thể phục vụ cùng lúc hàng 9iki nghìn khách hàng (dịch vụ đám
mây công cộng), hoặc môi trường dịch vụ đám mây riêng cho các phần mềm
chuyên dụng.
Một số phần mềm được cung cấp như dịch vụ tiêu biểu là: Google Docs,
Zoho Docs, Salesfore.com…
Nền tảng như một dịch vụ (PaaS): Cung cấp nền tảng vận hành các ứng
dụng, dịch vụ, cho phép khách hàng phát triển các phần mềm trên đó. Nghĩa là
khách hàng sử dụng ngôn ngữ lập trình và các công cụ mà nhà cung cấp dịch vụ
hỗ trợ để tạo các ứng dụng (hoặc mua lại các ứng dụng đã tạo). Khách hàng không
cần quản lý, kiểm soát cơ sở hạ tầng đám mây (mạng, máy chủ, hệ điều hành, lưu
trữ), nhưng có quyền kiểm soát các ứng dụng họ đã triển khai ứng dụng lưu trữ
các cấu hình môi trường. Có thể xem cơ sở dữ liệu, phần mềm middleware là các
ví dụ của nền tảng và được cung cấp như một dịch vụ. PaaS thường được sử dụng
bởi các nhà phát triển, nhà kiểm thử, nhà triển khai, các kỹ sư middleware và quản
trị viên. Google App Engine, IBM IT Factory, Windows Azure là các ví dụ điển
hình của PaaS.
Cơ sở hạ tầng như một dịch vụ (IaaS): IaaS là tầng thấp nhất của điện
toán đám mây, cung cấp các tài nguyên phần cứng như máy chủ, hệ thống lưu trữ,
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
các thiết bị mạng và các tài nguyên tính toán cơ bản khác dưới dạng dịch vụ cho
10
các đơn vị, tổ chức. Với IaaS, người dùng có thể triển khai và chạy các phần mềm
tùy ý mà không phải quan tâm đến cơ sở hạ tầng đám mây, nhưng có quyền kiểm
soát với hệ điều hành, lưu trữ, các ứng dụng đã triển khai và có thể hạn chế việc
lựa chọn thành phần mạng.
Đối tượng sử dụng dịch vụ IaaS thường là các nhà phát triển hệ thống, kỹ
sư mạng, quản trị hệ thống, kỹ sư giám sát, người quản lý công nghệ thông tin.
Công nghệ được sử dụng rộng rãi trong IaaS là công nghệ ảo hóa để chia sẻ và
phân phối tài nguyên theo yêu cầu.
Đối với các doanh nghiệp, lợi ích lớn nhất của IaaS là sự bùng nổ lên đám
mây (Cloudbursting), quá trình này làm giảm tải các tác vụ lên đám mây nhiều
lần khi cần nhiều tài nguyên tính toán nhất. Việc này giúp tiết kiệm nhiều chi phí
vì các doanh nghiệp sẽ không phải đầu tư thêm nhiều máy chủ mà rất ít khi sử
dụng hết công suất.
Tuy nhiên, những doanh nghiệp này phải có bộ phận công nghệ thông tin
để xây dựng và triển khai phần mềm xử lý có khả năng phân phối lại các quy trình
xử lý lên một đám mây IaaS. Nếu không xây dựng lại phần mềm này thì doanh
nghiệp sẽ gặp một số khó khăn khi nhà cung cấp ngừng kinh doanh, hoặc các vấn
đề về bảo vệ dữ liệu cá nhân, tài chính…
Một số nhà cung cấp dịch vụ IaaS tiêu biểu như: Vmware, Amazon…
1.4.2 Các mô hình triển khai
Với mỗi loại mô hình dịch vụ, đều có thể sử dụng các hình triển khai [9,
14] chính của điện toán đám mây là: đám mây công cộng, đám mây riêng, đám
mây cộng đồng, đám mây lai và một số mô hình triển khai khác như sau:
Đám mây công cộng (Public Cloud): việc cung cấp và sử dụng dịch vụ
được tổ chức, hoạt động và quản lý bởi nhà cung cấp dịch vụ. Dịch vụ đám mây
công cộng thường được chuyển qua Internet từ một hoặc nhiều trung tâm dữ liệu
của nhà cung cấp dịch vụ. Chúng được dùng chung và cho nhiều bên thuê để tính
toán giúp tiết kiệm, giảm thiểu chi phí mà vẫn đạt được tối đa tiềm năng. Tuy
nhiên, đám mây công cộng nhận được ít sự kiểm soát và giám sát an ninh của nhà
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
cung cấp dịch vụ.
11
Đám mây công cộng có nhiều dạng và tồn tại dưới nhiều hình thức như là
Windows Azure, Microsoft Office 365 và Amazon Elastic Compute Cloud… Ta
cũng có thể tìm thấy các dịch vụ quy mô nhỏ hơn phù hợp với nhu cầu cá nhân.
Ưu điểm lớn nhất của đám mây công cộng chính là nó luôn được sẵn sàng
để sử dụng nhanh chóng: một ứng dụng kinh doanh mới nhất có thể được triển
khai chỉ trong vòng vài phút và có khả năng mở rộng dễ dàng. Doanh nghiệp
không cần đầu tư vào hệ thống hạ tầng công nghệ thông tin nội bộ nữa.
Hình 1.3: Các mô hình triển khai chính của điện toán đám mây
Đám mây riêng (Private Cloud): được cung cấp riêng cho một cá nhân
hoặc tổ chức nào đó (không sử dụng chung). Một số mô hình điện toán đám mây
riêng nổi bật cung cấp cái nhìn tổng quan về các mô hình phổ biến nhất:
Dedicated: dịch vụ được sở hữu, vận hành và quản lý bởi tổ chức và được
lưu trữ trong hạ tầng cơ sở (on premises) của chính tổ chức hoặc cùng được đặt
trong một cơ sở dữ liệu trung tâm (ngoài hạ tầng cơ sở - off premises).
Managed: dịch vụ thuộc sở hữu của tổ chức nhưng được điều hành và quản
lý bởi một nhà cung cấp dịch vụ. Dịch vụ này có thể được lưu trữ trong các tổ
chức hoặc lưu trữ đồng thời cùng nhà cung cấp dịch vụ.
Virtual: dịch vụ được sở hữu, vận hành, quản lý và tổ chức bởi một nhà
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
cung cấp dịch vụ nhưng tổ chức này được cô lập với các khách hàng khác.
12
Lợi ích của đám mây riêng là doanh nghiệp có thể tự thiết kế nó rồi tùy biến
theo thời gian cho phù hợp với mình. Họ có thể kiểm soát được chất lượng dịch
vụ đã cung cấp. Với hệ thống chuẩn được lắp đặt, hoạt động theo nguyên tắc, đảm
bảo tính bảo mật thì nhiệm vụ quản trị của nhân viên công nghệ thông tin sẽ được
duy trì. Mặt bất lợi của đám mây này là mô hình triển khai của nó cần sự đầu tư
nhiều về chuyên môn, tiền bạc (đầu tư vốn để mua các phần cứng, phần mềm cần
thiết đủ đáp ứng trong lúc cao điểm, chi phí duy trì phần cứng…) và thời gian để
tạo ra các giải pháp kinh doanh đúng đắn cho doanh nghiệp.
Đám mây cộng đồng (Community Cloud): là đám mây được chia sẻ giữa
một số tổ chức, doanh nghiệp có mục tiêu sử dụng tương tự nhau với nhau. Đám
mây cộng đồng này có thể sử dụng nhiều công nghệ, và nó thường được các doanh
nghiệp liên doanh sử dụng cùng thực hiện các công trình nghiên cứu khoa học.
Đám mây cộng đồng hỗ trợ người dùng các tính năng của cả đám mây riêng và
đám mây công cộng. Các đám mây loại này cố gắng để đạt được một mức độ kiểm
soát an ninh và giám sát tương tự như được cung cấp bởi đám mây riêng trong khi
cố gắng đạt được hiệu quả chi phí như được cung cấp bởi đám mây công cộng.
Vì tính mở tự nhiên, đám mây cộng đồng rất phức tạp. Tính bảo mật và
thống nhất vừa là một thế mạnh vừa là một điểm yếu, mang sự thách thức về tính
toán. Dù là với đám mây riêng yếu tố chính sách công ty là rất lớn nhưng ta chỉ
có thể hình dung ra vai trò của chính sách công ty là quan trọng thế nào khi tham
gia vào đám mây cộng đồng được mua và sử dụng bởi nhiều công ty cùng một
lúc.
Đám mây lai (Hybrid Cloud): Đám mây lai thường là sự kết hợp những
mặt mạnh của đám mây riêng và đám mây công cộng… Điểm yếu của cái này thì
sẽ có điểm mạnh bù lại. Đa số các doanh nghiệp đều lựa chọn mô hình triển khai
điện toán đám mây có lợi cho mình nhất.
Với mô hình này, các tổ chức, doanh nghiệp sẽ sử dụng đám mây công cộng
để xử lý, giải quyết các chức năng nghiệp vụ và các dữ liệu ít quan trọng. Đồng
thời, tổ chức, doanh nghiệp sẽ giữ lại các chức năng nghiệp vụ và dữ liệu quan
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
trọng trong tầm kiểm soát bằng cách sử dụng đám mây riêng. Tổ chức, doanh
13
nghiệp sẽ hưởng lợi từ hai thứ: quản lý được tính bảo mật với đám mây riêng; rẻ,
tiện, linh động và có khả năng mở rộng với đám mây công cộng, một dịch vụ đơn
lẻ nhưng bao gồm cả hai loại đám mây.
Các mô hình triển khai khác: Ngoài các mô hình đám mây riêng, đám
mây công cộng, đám mây cộng đồng và đám mây lai là điển hình thì điện toán
đám mây còn có một số loại mô hình triển khai khác như:
Đám mây phân tán (Distributed Cloud): Điện toán đám mây cũng có thể
được cung cấp bởi một tập các máy phân tán chạy ở các vị trí khác nhau nhưng
vẫn kết nối tới một mạng hoặc một trung tâm dịch vụ. Ví dụ các nền tảng máy
phân tán như BONIC, Folding@Home.
Đám mây liên kết (Intercloud): Là một liên kết có quy mô toàn cầu “cloud
of clouds” và một phần mở rộng dựa trên mạng Internet. Đám mây liên kết tập
trung vào khả năng tương tác trực tiếp giữa nhà cung cấp dịch vụ đám mây công
cộng hơn là giữa nhà cung cấp và người sử dụng (như trường hợp đám mây lai và
đa đám mây).
Đa đám mây (Multicloud): Là việc sử dụng nhiều dịch vụ điện toán đám
mây trong một kiến trúc không đồng nhất để giảm sự phụ thuộc vào một nhà cung
cấp duy nhất, làm tăng tính linh hoạt thông qua việc chọn, giảm các nguy cơ…
Nó khác với đám mây lai trong đó đề cập đến nhiều dịch vụ đám mây thay vì
nhiều mô hình triển khai (công cộng, riêng, kế thừa).
Như vậy, tùy theo nhu cầu cụ thể mà các tổ chức, doanh nghiệp có thể chọn
để triển khai các ứng dụng trên mô hình nào cho phù hợp. Mỗi mô hình đám mây
đều có điểm mạnh và yếu của nó. Các doanh nghiệp phải cân nhắc đối với các mô
hình mà họ chọn. Và họ có thể sử dụng nhiều mô hình để giải quyết các vấn đề
khác nhau. Theo Ziff David B2B, phần lớn các công ty dùng nhiều hơn một loại
đám mây: 29% chỉ dùng đám mây công cộng, 7% chỉ dùng đám mây riêng, 58%
sử dụng đám mây lai (2014). Nhu cầu về một ứng dụng có tính tạm thời có thể
triển khai trên đám mây công cộng bởi vì nó giúp tránh việc phải mua thêm thiết
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
bị để giải quyết một nhu cầu tạm thời. Tương tự, nhu cầu về một ứng dụng thường
14
trú hoặc một ứng dụng có những yêu cầu cụ thể về chất lượng dịch vụ hay vị trí
của dữ liệu thì nên triển khai trên đám mây riêng hoặc đám mây lai.
1.5 Phân tích ưu nhược điểm của điện toán đám mây
1.5.1 Ưu điểm
Người sử dụng có thể được hưởng những lợi ích khác nhau khi sử dụng các
mô hình đám mây khác nhau. Tuy nhiên có một số lợi ích nổi bật sau đây đã góp
phần giúp điện toán đám mây trở thành mô hình điện toán được áp dụng rộng rãi
trên toàn thế giới.
- Tốc độ xử lý nhanh, cung cấp dịch vụ nhanh chóng với giá thành rẻ.
- Chi phí đầu tư cơ sở hạ tầng, máy móc và nhân lực ban đầu của người sử
dụng điện toán đám mây được giảm đến mức thấp nhất.
- Không phụ thuộc vào thiết bị và vị trí địa lý, cho phép người sử dụng truy
cập hệ thống thông qua trình duyệt web ở bất kỳ đâu, trên bất kỳ thiết bị nào.
- Chia sẻ tài nguyên trên địa bàn rộng lớn.
- Độ tin cậy cao, không chỉ phù hợp cho các ứng dụng thông thường, điện
toán đám mây còn phù hợp với các yêu cầu cao và liên tục của các công ty kinh
doanh và các trung tâm nghiên cứu khoa học.
- Khả năng mở rộng mềm dẻo, giúp cải thiện chất lượng dịch vụ trên đám
mây.
- Khả năng bảo mật được cải thiện do sự tập trung về dữ liệu.
- Khả năng bảo trì dễ dàng: các ứng dụng trên điện toán đám mây dễ sửa
chữa và cải thiện tính năng vì chúng không được cài đặt cố định trên một máy tính
nào.
- Tài nguyên sử dụng của điện toán đám mây luôn được quản lý và thống
kê trên từng khách hàng và ứng dụng theo thời gian cụ thể, giúp cho việc định giá
mỗi dịch vụ do điện toán đám mây cung cấp để người sử dụng lựa chọn cho phù
hợp.
1.5.2 Một số tồn tại của điện toán đám mây
- Tính sẵn dùng: Trong môi trường chung của điện toán đám mây, các ứng
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
dụng thường cạnh tranh về tài nguyên mạng như: thời gian xử lý, khả năng chia
15
tải… Nếu hệ thống cơ sở hạ tầng của nhà cung cấp dịch vụ không hoàn thiện thì
việc tắc nghẽn trong hệ thống hoàn toàn có thể xảy ra. Khi đó, liệu các dịch vụ
đám mây có bị “treo” bất ngờ, khiến cho người dùng không thể truy cập các dịch
vụ và dữ liệu của mình trong những khoảng thời gian nào đó khiến ảnh hưởng đến
công việc.
- Tính riêng tư: Các thông tin người dùng và dữ liệu được chứa trên điện
toán đám mây có đảm bảo được riêng tư, và liệu các thông tin đó có bị sử dụng vì
một mục đích nào khác.
- Mất dữ liệu: Một vài dịch vụ lưu trữ dữ liệu trực tuyến trên đám mây bất
ngờ ngừng hoạt động hoặc không tiếp tục cung cấp dịch vụ, khiến cho người dùng
phải sao lưu dữ liệu của họ từ đám mây về máy tính cá nhân. Điều này sẽ mất
nhiều thời gian. Thậm chí một vài trường hợp, vì một lý do nào đó, dữ liệu người
dùng bị mất và không thể phục hồi được.
- Tính di động của dữ liệu và quyền sở hữu: Một câu hỏi đặt ra, liệu người
dùng có thể chia sẻ dữ liệu từ dịch vụ đám mây này sang dịch vụ của đám mây
khác? Hoặc trong trường hợp không muốn tiếp tục sử dụng dịch vụ cung cấp từ
đám mây, liệu người dùng có thể sao lưu toàn bộ dữ liệu của họ từ đám mây hay
không. Và làm cách nào để người dùng có thể chắc chắn rằng các dịch vụ đám
mây sẽ không hủy toàn bộ dữ liệu của họ trong trường hợp dịch vụ ngừng hoạt
động.
- Khả năng bảo mật: Vấn đề tập trung dữ liệu trên các đám mây là cách thức
hiệu quả để tăng cường bảo mật, nhưng mặt khác cũng lại chính là mối lo của
người sử dụng dịch vụ của điện toán đám mây. Bởi lẽ một khi các đám mây bị tấn
công hoặc đột nhập, toàn bộ dữ liệu sẽ bị chiếm dụng. Tuy nhiên, đây không thực
sự là vấn đề của riêng điện toán đám mây, bởi lẽ tấn công đánh cắp dữ liệu là vấn
đề gặp phải trên bất kỳ môi trường nào, ngay cả trên các máy tính cá nhân.
Ở nước ta, việc triển khai điện toán đám mây vẫn đối mặt với nhiều thách
thức như: cơ sở hạ tầng chưa đồng bộ, bảo mật thông tin, chi phí đầu tư cho hạ
tầng đám mây cao trong khi quy mô thị trường còn nhỏ và các nhà cung cấp dịch
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
vụ trong nước khó cạnh tranh với các nhà cung cấp dịch vụ toàn cầu, khả năng
16
liên kết giữa các nhà cung cấp dịch vụ đám mây, lien kết hạ tầng với ứng dụng
còn yếu… Tuy nhiên, điện toán đám mây với những lợi ích đã thấy rõ vẫn sẽ sớm
trở nên phổ biến và là xu thế tất yếu của công nghệ tương lai.
1.6 Một số nhà cung cấp dịch vụ điện toán đám mây
1.6.1 Trên thế giới
Trên thế giới hiện có khoảng hơn 200 nhà cung cấp dịch vụ điện toán đám
mây [6, 19], mỗi nhà cung cấp thường có thế mạnh riêng của mình về từng lĩnh
vực của điện toán đám mây. Sau đây là một số nhà cung cấp dịch vụ đám mây
tiêu biểu:
Với dịch vụ cơ sở hạ tầng (IaaS): có hai nhà cung cấp nổi tiếng về cả chất
lượng và giá cả là Amazon Web Services của Amazon.com và Microsoft Azure
của Microsoft.
- Amazon: có vị trí nổi bật về điện toán đám mây. Hiện nay, Amazon đã
cung cấp không gian máy tính ảo với dịch vụ Amazon Workspaces, qua đó, người
sử dụng có thể thuê một máy tính ảo chạy trên Amazon Web Services. Amazon
khiến mọi người ngạc nhiên khi một nhà bán lẻ trực tuyến lại có thể tạo ra nhiều
sự thay đổi trong ngành công nghiệp công nghệ thông tin và trong cuộc sống hàng
ngày đến vậy.
- Microsoft: cũng đang là một doanh nghiệp lớn về điện toán đám mây với
Azure. Microsoft cũng mới mở rộng Azure vào thị trường IaaS, và thậm chí còn
cho phép người dùng chạy Linux trên đám mây của mình với mức giá hứa hẹn sẽ
thấp hơn Amazon. Bên cạnh đó, Microsoft cũng cung cấp rất nhiều các ứng dụng
doanh nghiệp trên đám mây của mình từ cơ sở dữ liệu SQL Server đến Microsoft
Office 365.
Với dịch vụ lưu trữ (Storage): Google Drive của Google và Box là hai
nhà cung cấp tiêu biểu:
- Google: là gã khổng lồ công nghệ được sinh ra từ đám mây. Hiện tại
Google đã tăng mức lưu trữ và kết hợp với các công cụ trước đây như Google
Docs để thuận tiện cho người sử dụng. Google Drive tương thích với các hệ điều
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
hành trên máy tính cũng như trên điện thoại thông minh.
17
- Box: cung cấp 10 GB dung lượng lưu trữ miễn phí, và dịch vụ chia sẻ file
giúp nhiều người có thể làm việc cùng nhau trên các tài liệu.
Với dịch vụ Desktop (DaaS): hai nhà cung cấp nổi tiếng với dịch vụ này
là Citrix và Vmware.
- Vmware: là một trong những đối thủ lớn nhất trong thị trường điện toán
đám mây, chuyên cung cấp phần mềm vCloud để xây dựng đám mây. Vmware
gần đây là thay đổi chiến lược khi cung bố kế hoạch ra mắt đám mây công cộng
của riêng mình. Đây là một sự lựa chọn thú vị vì hiện có khoảng 200 nhà cung
cấp dịch vụ điện toán đám mây được xây dựng trên nền tảng vCloud và giờ đây
Vmware sẽ phải cạnh tranh với họ.
- Citrix: cũng sản xuất phần mềm dành cho các đám mây để cạnh tranh với
hai đối thủ chính là Vmware và OpenStack. Để cạnh tranh với OpenStack, công
ty đã cho phép quỹ Apache, một tổ chức phi lợi nhuận quản lý nhiều dự án mã
nguồn mở phổ biến, sử dụng phần mềm CloudStack của mình. Động thái này cũng
cho phép Citrix bán nhiều hơn các phần mềm trung tâm dữ liệu khác của mình để
cạnh tranh với Vmware.
Với dịch vụ phần mềm (SaaS): tiêu biểu là Salesforce.com và Insightly.
- Salesforce.com:Salesforce.com đã chứng minh rằng thế giới muốn mua
phần mềm-như-một-dịch vụ. Trong năm 2012, công ty đã mở rộng một loạt các
lĩnh vực mới. Salesforce.com đã chi hơn 1 tỷ đô la Mỹ để mua lại Radian6 và
Buddy Media Cloud Marketing. Bên cạnh đó, Salesforce.com cũng được biết đến
như là một trong những đám mây PaaS phổ biến nhất để chạy các ứng dụng của
riêng bạn. Salesforce.com được biết đến như là một trong những đám mây PaaS
phổ biến nhất.
- Insightly: cung cấp phần mềm CRM (Customer Relationship
Management) như một dịch vụ được tích hợp với Gmail, Google Apps, Outlook
2013 và Office 365. Insightly phù hợp với các doanh nghiệp vừa và nhỏ, giúp
khách hàng theo dõi các giao dịch của họ.
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Với dịch vụ nền tảng (PaaS): tiêu biểu là Red Hat OpenShift và Heroku.
18
- Red Hat OpenShift: cung cấp dịch vụ nền tảng dựa trên nguồn mở, cho
phép các nhà phát triển tùy chỉnh theo ý mình và có thể được dùng thử miễn phí
(1 GB lưu trữ).
- Heroku: Nền tảng này hỗ trợ nhiều ngôn ngữ lập trình, từ Java tới Ruby
Python. Heroku là một trong những nhà cung cấp PaaS sớm nhất, nó cung cấp các
ứng dụng của bên thứ ba cũng như của riêng mình.
Ngoài ra, còn một số nhà cung cấp dịch vụ đám mây nổi tiếng như IBM,
Rackspace (OpenStack)...
1.6.2 Tại Việt Nam
Với trung tâm điện toán đám mây đầu tiên được ra mắt từ nửa cuối năm
2008, Việt Nam trở thành một trong những nước đầu tiên của Asian đưa vào sử
dụng công nghệ này. Cho đến nay, Việt Nam đã xuất hiện thêm nhiều công ty
cung cấp dịch vụ điện toán đám mây, song chủ yếu tập trung vào thị trường nhỏ
như QTSC, VNTT, Prism, Exa, HostVN, MOS, BiakiCRM. Một số nhà cung cấp
như Bkav, FPT, VDC, CMC Telecom NEO,… thì chỉ cung cấp những dịch vụ
riêng lẻ quản lý văn phòng, nhân sự, quan hệ khách hàng…
Nhìn chung, các nhà cung cấp dịch vụ đám mây công cộng tại Việt Nam
vẫn còn ở quy mô nhỏ. Một số công ty tích hợp hệ thống (SI) và nhà cung cấp
phần mềm độc lập (ISV) đã có chiến lược đầu tư vào điện toán đám mây, kết hợp
xây dựng đám mây công cộng với triển khai đám mây riêng cho khách hàng.
Trong số này, FIS, SBD, HiPT đang chiếm thị phần lớn ở mảng IaaS; còn Lạc
Việt, MISA, NEO, CT-IN giữ vai trò chủ chốt ở mảng SaaS.
Năm 2014, VTC Digicom sau hai năm nghiên cứu và phát triển đã chính
thức ra mắt dịch vụ điện toán đám mây gồm: Cloud Server (máy chủ ảo), Cloud
Storage (không gian lưu trữ) và Cloud Streaming/CDN.
Năm 2017, Viện Công nghiệp phần mềm và nội dung số Việt Nam triển
khai đề án cung cấp hạ tầng, dịch vụ dùng chung cho cơ quan nhà nước tại địa chỉ
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
số 115 Trần Duy Hưng [3].
19
Kết luận Chương 1
Trong chương 1 của luận văn đã phân tích, tìm hiểu những nội dung cơ bản
về điện toán đám mây, bao gồm khái niệm, lịch sử hình thành và phát triển, vai
trò, kiến trúc mô hình dịch vụ, mô hình triển khai điện toán đám mây, những nhà
cung cấp dịch vụ điện toán đám mây lớn trên thế giới và tại Việt Nam.
Nội dung chương 1 cũng đi sâu nghiên cứu phân tích những ưu điểm, giá
trị to lớn của điện toán đám mây trong việc cung cấp các nhóm dịch vụ hạ tầng,
dịch vụ lưu trữ, desktop, dịch vụ phần mềm và nền tảng [3, 6]. Trên cơ sở nghiên
cứu những hạn chế của điện toán đám mây, nội dung chương 1 phân tích làm rõ
nguy cơ mất an toàn thông tin, cho thấy vị trí tầm quan trọng của việc nghiên cứu
giải pháp bảo mật dữ liệu trong quá trình lưu trữ và truyền nhận qua đám mây.
Đây là cơ sở tiền đề, nền tảng cho triển khai nghiên cứu chuyên sâu về bảo vệ
thông tin trong điện toán đám mây được trình bày tại chương 2.
CHƯƠNG 2: BẢO VỆ THÔNG TIN TRONG ĐIỆN TOÁN ĐÁM MÂY
2.1 Khái niệm an ninh thông tin
Ngày càng có nhiều các công ty cung cấp dịch vụ điện toán đám mây, nhưng
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
bước tiến mới này tiềm ẩn những nguy cơ về an ninh.
20
Theo NIST định nghĩa [14]: An ninh thông tin là sự tiến hành việc duy trì
tính toàn vẹn, bảo mật và sẵn sàng của dữ liệu khi gặp vấn đề từ truy cập độc hại,
lỗi hệ thống…
- Tính toàn vẹn: Thông tin là thực, đầy đủ, đáng tin cậy. Dữ liệu không
được thay đổi không phù hợp cho dù gặp sự cố hoặc các hoạt động độc hại có chủ
đích.
- Bảo mật: Thông tin có thể chỉ được truy cập bởi người được uỷ quyền
hoặc chia sẻ giữa các nhóm được ủy quyền. Phương pháp xác thực, bao gồm cả
xác minh, có thể được áp dụng để bảo vệ dữ liệu tránh khỏi xâm nhập độc hại.
- Sẵn sàng: dữ liệu luôn sẵn sàng và sẵn có sử dụng khi cần theo quyền thao
tác cho đối tượng đã được ủy quyền.
Theo ISO/IEC 27000, 2009 định nghĩa [10]: An ninh thông tin là sự giữ
gìn tính bảo mật, toàn vẹn và sẵn sàng của thông tin và các thuộc tính khác như
tính xác thực, trách nhiệm, không chối bỏ và tin cậy.
Theo CNSS, 2010 định nghĩa [6]: An ninh thông tin là sự bảo vệ thông tin
và hệ thống thông tin khỏi việc truy cập trái phép, sử dụng, tiết lộ, gián đoạn, biến
đổi, hoặc phá hủy để cung cấp bảo mật, tính toàn vẹn và tính sẵn sàng.
Theo Venter và Eloff, 2003 [6]: An ninh thông tin là sự bảo vệ thông tin và
giảm thiểu những nguy cơ lộ thông tin cho các bên trái phép.
2.2 Một số tiêu chuẩn về an ninh thông tin
Ban kỹ thuật tiêu chuẩn quốc tế JTC1/SC 27 “IT Security Techniques” do
hai tổ chức là Cơ qua tiêu chuẩn hóa quốc tế ISO (International Organization for
Standardization) và Ủy bản kỹ thuật điện quốc tế IEC (International
Electrotechnical Commission) cộng tác thành lập.
Ban kỹ thuật này đã công bố hơn 130 tiêu chuẩn quốc tế về lĩnh vực an ninh
thông tin. Những tiêu chuẩn quốc tế được sự trợ giúp xây dựng, đóng góp ý kiến
của nhiều chuyên gia, các hãng bảo mật và các tổ chức tiêu chuẩn hóa trên thế
giới.
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
2.2.1 Tiêu chuẩn về hệ thống quản lý an ninh
21
Hiện nay, trên thế giới đang tồn tại một họ các tiêu chuẩn hệ thống quản lý
an ninh thuộc bộ ISO 27000. Bộ tiêu chuẩn ISO 27000 về hệ thống quản lý an
ninh thông tin ISMS (Information Security Management System) được xây dựng
để có thể áp dụng cho mọi tổ chức, bất kể loại hình, kích cỡ hay môi trường kinh
doanh của tổ chức đó. Người sử dụng là những chuyên gia, quản lý kinh doanh có
liên quan đến các hoạt động quản lý hệ thống an ninh.
Để có thể đạt được các chỉ tiêu an ninh có trong bộ ISO 27000 là khá khó
khăn và rất tốn kém. Số lượng chứng chỉ chứng nhận đạt sự phù hợp với ISO/IEC
27001 trên toàn thế giới mới chỉ lên đến con số 7940.
Một bộ tiêu chuẩn về lĩnh vực quản lý an ninh cũng đáng được nhắc tới đó
là bộ ISO/IEC 31000 về quản lý rủi ro.
2.2.2 Tiêu chuẩn an ninh thông tin về điện toán đám mây
Tổ chức ISO công bố 04 tiêu chuẩn liên quan đến điện toán đám mây là:
ISO/IEC 17203:2011 quy định về định dạng mã hóa mở OVF, ISO/IEC
17826:2012 về giao diện quản lý dữ liệu đám mây CDMI, ISO/IEC 17963:2013
về quản lý dịch vụ web, cuối cùng là ISO/IEC TR 30102:2012 về thủ tục kỹ thuật
cho DAPS (Nền tảng và dịch vụ ứng dụng phân tán). Ngoài ra tiêu chuẩn ISO/IEC
27017 đưa ra các nguyên tắc kiểm soát an ninh thông tin cho dịch vụ điện toán
đám mây.
Tuy nhiên, các tiêu chuẩn điện toán đám mây “riêng” vẫn đang phát triển
mạnh mẽ, Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (NIST) đã đưa ra nguyên
tắc phân loại chuẩn điện toán đám mây, đồng thời theo đó là hàng loạt tiêu chuẩn
điện toán đám mây ra đời (công bố bởi NIST, IETF, ITU-T…), được thế giới công
nhận và áp dụng. Cụ thể:
- Về xác thực và ủy quyền: RFC 5246, RFC 3820, RFC 5280, X.509
(ISO/IEC 9594-8), RFC 5849, OpenID, XACML (eXtensible Access Control
Markup Language), SAML (Security Assertion Markup Language), FIPS 181,
FIPS 190, FIPS 196…
- Về tính bí mật: RFC 5246, KMIP (Key Management Interoperability
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Protocol), XML, FIPS 140-2, FIPS 185, FIPS 197, FIPS 188…
22
- Về tính toàn vẹn: XML, FIPS 180-3, FIPS 186-3, FIPS 198-1,…
- Về quản lý nhận diện: SPML (Service Provisioning Markup Language),
X.idmcc, SAML, OpenID, FIPS 201-1,…
- Về thủ tục an ninh: NIST SP 800-126, NIST SP 800-61, X.1500, X.1520,
X.1521, PCI, FIPS 191…
- Về quản lý chính sách: XACML, FIPS 199, FIPS 200,…
- Về tính tương hợp: OCCI (Open Cloud Computing Interface), CDMI,
IEEE P2301, IEEE P2302…
- Về tính khả chuyển: CDMI, OVF (Open Virtualization Format), IEEE
P2301…
2.2.3 Tiêu chuẩn an ninh thông tin về dữ liệu
Điểm mấu chốt trong an ninh thông tin chính là dữ liệu, có nhiều bộ tiêu
chuẩn về an ninh dữ liệu, đầu tiên cần kể đến là bộ tiêu chuẩn ISO 8000 về Chất
lượng dữ liệu. Bộ tiêu chuẩn này đưa ra các thủ tục về chất lượng dữ liệu, các đặc
tính cần kiểm tra chất lượng, đồng thời đưa ra hàng loạt các yêu cầu về thu nhận,
biểu diễn, phương pháp đo và kiểm tra chất lượng dữ liệu.
Hiện nay bộ tiêu chuẩn ISO 8000 được chia thành 04 mảng:
Phần 1 đến phần 99: Chất lượng dữ liệu chung;
Phần 100 đến phần 199: Chất lượng dữ liệu gốc;
Phần 200 đến phần 299: Chất lượng dữ liệu giao dịch;
Phần 300 đến phần 399: Chất lượng dữ liệu sản phẩm.
Ngoài ra là các tiêu chuẩn về kiến trúc dữ liệu cũng được xây dựng như:
- ISIS-MTT: Đặc tả tính tương hợp chữ ký công nghiệp (MailTrusT): đưa
ra cách chứng thực khóa công khai, chứng thực thuộc tính và thu hồi chứng thực,
thiết lập và gửi yêu cầu đến cơ quan chứng thực và phản hồi, thiết lập thông điệp
mã hóa và chữ ký.
- Phương pháp mã hóa không đối xứng RSA, mã hóa đối xứng AES, thuật
toán hàm băm SHA 256, quản lý khóa XML V2.
- Các bộ tiêu chuẩn ISO 7811, ISO 7816 về thẻ nhận dạng, thẻ thông minh
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
tiếp xúc và không tiếp xúc, thẻ từ và thẻ mạch tích hợp,…
23
2.2.4 Tiêu chuẩn về đánh giá an ninh thông tin
Tiêu chuẩn đánh giá an ninh thông tin chung là CC (Common Criteria) đưa
ra những tiêu chí đánh giá an ninh chung cho sản phẩm hoặc hệ thống thông tin.
Hiện nay, CC đã được chuyển thành các tiêu chuẩn quốc tế là bộ tiêu chuẩn
ISO/IEC 15408 và tiêu chuẩn ISO/IEC 18045. Trong đó, ISO/IEC 18045:2008
quy định các hành động tối thiểu được thực hiện bởi chuyên gia đánh giá khi thực
hiện đánh giá theo ISO/IEC 15408, sử dụng các chỉ tiêu và bằng chứng để đánh
giá như quy định trong ISO/IEC 15408. Tiêu chuẩn này không quy định các hành
động đảm bảo đánh giá từng thành phần mà chưa có chấp thuận đánh giá chung.
Đây được xem là bộ các tiêu chí đánh giá chung nhất cho các sản phẩm,
thiết bị và hệ thống công nghệ thông tin.
Hình 2.1: Quá trình hình thành cộng đồng CC (Common Criteria)
Ngoài ra đối với hệ thống ISMS, chúng ta có ISO/IEC 27007:2011 đưa ra
các nguyên tắc đánh giá hệ thống an ninh thông tin, cũng là tiêu chuẩn được sử
dụng để đánh giá an ninh thông tin cho các hệ thống thông tin thông thường, kể
cả các hệ thống không phải ISMS.
2.3 Phân loại về an ninh thông tin trong điện toán đám mây
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
2.3.1 Theo nhóm vấn đề
24
Các vấn đề an ninh liên quan đến điện toán đám mây được chia thành 5 loại
chính: các tiêu chuẩn an ninh, mạng, kiểm soát truy cập, hạ tầng đám mây và dữ
liệu [18].
2.3.1.1 Nhóm vấn đề về các tiêu chuẩn an ninh
Các tiêu chuẩn cần thiết để có biện pháp phòng ngừa, ngăn chặn các cuộc
tấn công bao gồm các thỏa thuận mức dịch vụ, kiểm tra quản lý và các thỏa thuận
khác giữa người sử dụng, nhà cung cấp dịch vụ và các bên liên quan khác.
Các vấn đề an ninh thuộc nhóm này gồm vấn đề thiếu tiêu chuẩn an ninh,
thiếu kiểm tra quản lý, thiếu khía cạnh pháp lý, vấn đề về sự tin cậy.
2.3.1.2 Nhóm vấn đề về mạng
Liên quan đến các cuộc tấn công mạng như kết nối sẵn sàng (Connection
Availability), từ chối dịch vụ (DoS), tấn công lũ lụt (flooding attack), các lỗ hổng
giao thức Internet.v.v.
Các vấn đề an ninh của nhóm mạng gồm việc cài đặt các tường lửa cho
mạng, các cấu hình an ninh mạng, các lỗ hổng giao thức Internet và tính phụ thuộc
vào Internet.
2.3.1.3 Nhóm vấn đề về kiểm soát truy cập
Là một nhóm hướng người dùng, bao gồm các vấn đề nhận diện, xác thực
và cấp phép. Các vấn đề an ninh của kiểm soát truy cập gồm cướp tài khoản và
dịch vụ, vấn đề độc hại từ nội bộ, cơ chế xác thực, quyền truy cập và an ninh trình
duyệt.
2.3.1.4 Nhóm vấn đề về hạ tầng đám mây
Gồm các vấn đề an ninh, các cuộc tấn công tới SaaS, PaaS, IaaS và liên
quan đến môi trường ảo hóa. Một số vấn đề an ninh của nhóm này gồm giao diện
API thiếu an toàn, chất lượng dịch vụ, lỗi công nghệ chia sẻ, độ bền của nhà cung
cấp, cấu hình an ninh sai, kiến trúc đa thuê, vị trí máy chủ và sao lưu.
2.3.1.5 Nhóm vấn đề về dữ liệu
Gồm các vấn đề liên quan đến an ninh dữ liệu như dự phòng dữ liệu, mất
và rò rỉ dữ liệu, vị trí dữ liệu, phục hồi dữ liệu, sự riêng biệt của dữ liệu, tính sẵn
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
sàng của dữ liệu, bảo vệ dữ liệu…
25
2.3.2 Các nguy cơ hàng đầu về an ninh
Các nguy cơ an ninh có thể thay đổi tùy theo các mô hình dịch vụ hay các
mô hình triển khai đám mây. Dưới đây là một số nguy cơ hàng đầu về an ninh
trong điện toán đám mây được khảo sát vào cuối năm 2013 bởi CSA [25], xét theo
các mô hình dịch vụ của đám mây.
2.3.2.1 Nguy cơ vi phạm dữ liệu
Việc lấy cắp dữ liệu bí mật của một công ty, tổ chức luôn là một nguy cơ
đối với bất kỳ cơ sở hạ tầng công nghệ thông tin nào, nhưng với điện toán đám
mây thì nguy cơ này cao hơn. Người dùng có thể sử dụng biện pháp mã hóa để
giảm thiểu nguy cơ vi phạm dữ liệu, tuy nhiên khóa mã hóa cần phải được giữ cẩn
thận. Người dùng cũng có thể chọn giải pháp sao lưu (sao lưu offline) phòng
trường hợp mất dữ liệu, nhưng vấn đề này đồng thời cũng làm tăng nguy cơ tiếp
xúc với việc vi phạm dữ liệu.
2.3.2.2 Nguy cơ mất dữ liệu
Với cả người tiêu dùng và doanh nghiệp thì mất những dữ liệu quan trọng
là nguy cơ nghiêm trọng. Dữ liệu lưu trữ trên đám mây có thể bị mất do kẻ tấn
công lấy cắp hoặc một vài nguyên nhân khác (bị xóa tình cờ, mất chìa khóa mã
hóa dữ liệu hoặc thảm họa động đất, hỏa hoạn…).
2.3.2.3 Cướp tài khoản hoặc dịch vụ vận chuyển
Cướp tài khoản và dịch vụ cũng không phải là nguy cơ mới. Phương pháp
tấn công như lừa đảo, gian lận, các phần mềm khai thác… Việc sử dụng lại mật
khẩu có thể làm tăng nguy cơ này, nếu kẻ tấn công được quyền truy cập vào thông
tin của người dùng, họ có thể can thiệp vào các hoạt động, thao tác dữ liệu, giao
dịch, trả về các thông tin giả mạo, chuyển hướng truy cập đến các trang độc hại.
Với các thông tin bị đánh cắp, kẻ tấn công có thể thường xuyên truy cập vào các
khu vực quan trọng của dịch vụ điện toán đám mây, đe dọa tính bảo mật, toàn vẹn
và tính sẵn sàng của các dịch vụ này. Các tổ chức cần phải nhận thức được các kỹ
thuật đó cũng như thực hiện các chiến lược bảo vệ theo chiều sâu để hạn chế thiệt
hại. Các tổ chức cũng nên hạn chế việc chia sẻ thông tin tài khoản giữa các người
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
dùng và sử dụng các kỹ thuật xác thực mạnh mẽ nếu có thể.
26
2.3.2.4 Nguy cơ giao diện và các API không an toàn
Nhà cung cấp dịch vụ điện toán đám mây cung cấp một tập hợp các giao
diện hay các API để người dùng quản lý, tương tác với dịch vụ đám mây của họ
(dự phòng, quản lý tài nguyên…) trong khi tính bảo mật, tính sẵn dùng của điện
toán đám mây nói chung lại phụ thuộc vào sự an toàn của các API cơ bản. Nếu cơ
chế kiểm soát truy cập và chứng thực không được thiết kế tốt thì rất dễ gặp các
truy cập trái phép, độc hại. Ví dụ như các truy cập nặc danh, sử dụng lại mật
khẩu…Nguy cơ này tồn tại trên cả ba mô hình dịch vụ của điện toán đám mây.
Để giảm thiểu nguy cơ này, cần phân tích mô hình an ninh của các giao diện nhà
cung cấp dịch vụ, đảm bảo cơ chế xác thực và điều khiển truy cập mạnh mẽ kết
hợp với mã hóa trong quá trình truyền và cần hiểu được liên kết phụ thuộc với các
API.
2.3.2.5 Tấn công từ chối dịch vụ (DoS)
Tấn công từ chối dịch vụ gây ra tình trạng quá tải của cơ sở hạ tầng, chúng
sử dụng lượng lớn tài nguyên hệ thống và không cho phép khách hàng sử dụng
dịch vụ. Có nhiều dạng của tấn công DoS có thể ngăn cản việc sử dụng điện toán
đám mây. Ví dụ, kẻ tấn công có thể khởi động cuộc tấn công DoS trên lớp ứng
dụng bằng cách khai thác lỗ hổng bảo mật trong các máy chủ web, cơ sở dữ liệu
hoặc các nguồn tài nguyên điện toán đám mây khác để lấp đầy các ứng dụng khác
với tải trọng rất nhỏ. Trải qua một cuộc tấn công từ chối dịch vụ cũng giống như
tắc nghẽn giao thông trong giờ cao điểm: không có cách nào để đến được đích và
không thể làm gì khác ngoại trừ ngồi và chờ đợi. Với người dùng, ngừng dịch vụ
không chỉ chống lại bạn, mà còn buộc bạn phải cân nhắc lại việc chuyển dữ liệu
quan trọng lên đám mây để giảm chi phí cơ sở hạ tầng.
2.2.2.6 Nguy cơ từ chính người dùng nội bộ
Hầu hết các tổ chức đã quen với các mối đe dọa từ bên trong (nội bộ), có
thể là nhà cung cấp đám mây, khách hàng sử dụng đám mây hay bên thứ ba. Nguy
cơ từ người dùng nội bộ thường gây ra thiệt hại lớn hơn so với các cuộc tấn công
khác. Theo CSA, ngay cả khi đã thực hiện mã hóa, nếu không giữ bí mật khóa thì
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
vẫn dễ bị tấn công từ người dùng nội bộ.
27
2.2.2.7 Nguy cơ lạm dụng dịch vụ điện toán đám mây
Một trong những lợi ích lớn nhất của điện toán đám mây là cho phép cả các
tổ chức dù nhỏ vẫn có thể sử dụng nguồn điện toán lớn. Bên cạnh đó là quá trình
đăng ký thuận lợi (chỉ cần có thẻ tín dụng hợp lệ có thể đăng ký và sử dụng ngay).
Một số nhà cung cấp dịch vụ điện toán đám mây còn cho phép dùng thử dịch vụ
miễn phí. Nếu kẻ tấn công lợi dụng được thông tin ẩn sau quá trình đăng ký và sử
dụng, người dùng có thể gặp các vấn đề về thư rác, botnet, trojan, phần mềm khai
thác… Nguy cơ này thường tồn tại ở mô hình PaaS và IaaS của điện toán đám
mây. Vấn đề này đòi hỏi phải chặt chẽ trong việc xử lý đăng ký ban đầu và quá
trình xác nhận; tăng cường phối hợp giám sát gian lận thẻ tín dụng; xem xét toàn
bộ giao thông mạng của khách hàng; giám sát danh sách đen trong mạng của mình.
2.2.2.8 Nguy cơ do thiếu hiểu biết về an ninh thông tin
Để tiết kiệm chi phí và hưởng những lợi ích khác của điện toán đám mây,
một số tổ chức vội vàng sử dụng dịch vụ này mà chưa có hiểu biết đầy đủ về các
vấn đề an ninh khi sử dụng trong mô hình này. Các tổ chức cần phải đánh giá một
cách toàn diện, xem xét các hệ thống nội bộ của mình, chọn nhà cung cấp đám
mây đủ tiềm năng, đào tạo nhóm người dùng quen với đám mây để hiểu đầy đủ
các rủi ro trước khi chuyển sang mô hình mới này.
2.2.2.9 Nguy cơ từ việc chia sẻ công nghệ
Nhà cung cấp IaaS cung cấp dịch vụ theo khả năng mở rộng bằng cách chia
sẻ cơ sở hạ tầng mặc dù các thành phần như CPU, GPU không được thiết kế để
cung cấp các kiến trúc đa thuê và cơ chế cô lập mạnh mẽ. Vấn đề chia sẻ công
nghệ này tiềm ẩn nhiều nguy cơ an ninh. Tổ chức CSA khuyến cáo sử dụng các
biện pháp bảo mật sâu cho các ứng dụng, mạng, tính toán, lưu trữ, giám sát và
thực thi bảo mật của người dùng.
Phần tiếp theo của luận văn tập trung đi sâu về vấn đề bảo vệ dữ liệu trong
điện toán đám mây.
2.4 An ninh dữ liệu trong điện toán đám mây
Ngoại trừ đám mây riêng, với đám mây công cộng, đám mây lai… thì việc
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
giao quyền kiểm soát cho một nhà cung cấp dịch vụ đám mây bên ngoài rõ ràng
28
là một nguy cơ đối với an ninh dữ liệu. Người dùng đám mây phải dựa trên các
nhà cung cấp dịch vụ đám mây để thực hiện các tính năng bảo vệ dữ liệu cá nhân
trên đám mây.
Một trong các đặc tính của điện toán đám mây là tài nguyên được chia sẻ,
nghĩa là các tài nguyên bao gồm khả năng tính toán, lưu trữ, băng thông được ảo
hóa và chia sẻ với nhiều người dùng khác. Vì thế, việc bảo vệ dữ liệu bị giới hạn
trên đám mây sẽ dẫn đến lo ngại vấn đề bảo mật so với công nghệ thông tin truyền
thống.
Những vấn đề đe dọa đến bảo vệ dữ liệu cũng có thể thay đổi tùy theo các
mức dịch vụ đám mây. Các tổ chức và cá nhân có thể có nhiều quyền kiểm soát
an ninh với dữ liệu của mình ở mức IaaS nhiều hơn so với các mức PaaS và SaaS.
Với người sử dụng IaaS, họ sẽ được quyền sử dụng các máy ảo và có thể thiết lập
chính sách điều kiển bảo mật cho chính dữ liệu của họ, nghĩa là dữ liệu trong máy
ảo có thể được bảo vệ bởi chính người sử dụng đám mây. Ở mức SaaS, người sử
dụng có ít hoặc không có quyền kiểm soát cơ sở hạ tầng đám mây, mạng, hệ điều
hành và lưu trữ, họ chỉ dựa vào chính sách bảo mật mà nhà cung cấp dịch vụ thiết
lập.
2.4.1 Một số vấn đề bảo vệ dữ liệu trong điện toán đám mây
Bảo vệ dữ liệu [11, 17] là vấn đề đứng đầu trong danh sách các thách thức
của điện toán đám mây hiện nay. Khả năng bảo mật của nhà cung cấp là chìa khóa
để thiết lập giá trị chiến lược, là xu hướng của điện toán đám mây.
Theo Derek Tumulak, phó chủ tịch quản lý sản phẩm tại Vormetri: Mọi
người đều muốn sử dụng điện toán đám mây do tiết kiệm chi phí và mô hình kinh
doanh mới linh hoạt. Nhưng khi nói đến an ninh đám mây, điều quan trọng là phải
hiểu được mối đe dọa trong trường hợp khác nhau để vận dụng.
Sau đây là một số thách thức phức tạp của an ninh dữ liệu trong điện toán
đám mây:
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
2.4.1.1 Vấn đề bảo mật dữ liệu (data confidentiality)
29
Phương pháp chung để bảo mật dữ liệu là mã hóa, tuy nhiên cần xem xét
chọn chuỗi khóa và thuật toán mã hóa. Khi mã hóa lượng lớn thông tin, cần lưu ý
đến tốc độ xử lý dữ liệu và hiệu suất tính toán.
2.4.1.2 Vị trí dữ liệu (data locatity)
Với mô hình SaaS, người dùng sử dụng phần mềm và công cụ của nhà cung
cấp để xử lý dữ liệu của họ. Khi đó, người sử dụng không biết dữ liệu của mình
được lưu trữ và xử lý ở đâu. Đôi khi đây không phải là vấn đề nghiêm trọng.
Nhưng với một số tổ chức kinh doanh thì vị trí của dữ liệu là rất quan trọng.
Trong một số trường hợp, nhà cung cấp dịch vụ điện toán đám mây phải
thực hiện yêu cầu phải tiết lộ dữ liệu của người dùng hoặc bàn giao thiết bị vật lý
cho bên thứ ba hoặc cơ quan pháp luật. Hoặc ở một số khu vực, việc xử lý, giao
dịch dữ liệu cần phải trả phí. Bên cạnh đó, một số khu vực địa lý cũng thường
xuyên phải chịu các hiểm họa từ môi trường như động đất, lũ lụt…ảnh hưởng đến
sự an toàn dữ liệu. Ví dụ như ở nhiều nước châu Âu, dữ liệu bí mật không được
lưu trữ ở nước khác.
2.4.1.3 Toàn vẹn dữ liệu (data integrity)
Trong hệ thống phân tán, có nhiều cơ sở dữ liệu và ứng dụng cần quản lý.
Ứng dụng SaaS thường sử dụng API dựa trên XML. Việc thiếu kiểm soát tính
toàn vẹn có thể làm dữ liệu bị sai lệch, do đó, các nhà phát triển phải đảm bảo tính
toàn vẹn của dữ liệu không bị tổn hại.
2.4.1.4 Phân tách dữ liệu (data segregation)
Dữ liệu của người sử dụng được chia sẻ trên cùng vị trí lưu trữ vật lý, điều
này dễ dẫn đến xâm nhập dữ liệu. Kẻ tấn công trong một cuộc tấn công đơn lẻ có
thể truy cập vào lượng thông tin bí mật của nhiều tổ chức khách hàng, lấy được
lượng thông tin phong phú. Nếu không có cơ chế cách ly dữ liệu của những người
dùng khác nhau thì khả năng bị xâm phạm dữ liệu là rất cao.
2.4.1.5 Truyền dữ liệu
Với vấn đề truyền dữ liệu, có một số lo ngại chung về an ninh, dữ liệu được
truyền tới đám mây thông qua mạng công cộng (thường là Internet) khi sử dụng
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
đám mây công cộng. Để bảo vệ dữ liệu trên đường truyền, cần thuật toán mã hóa
30
đủ mạnh (mã hóa dữ liệu nhận được ở máy chủ, sau đó giải mã, xử lý rồi lại được
mã hóa trên máy chủ rồi mới gửi đi) và các giao thức sử dụng để truyền dữ liệu
có tính bảo mật cũng như tính toàn vẹn (ví dụ HTTPs, FTPs). Khi dữ liệu được
chuyển giao giữa các nước khác nhau, cũng cần xem xét những vấn đề tuân thủ
các quy định riêng khác nhau, ví dụ thỏa thuận Safe Harbor để truyền dữ liệu giữa
châu Âu và Mỹ [12].
2.4.1.6 Truy cập dữ liệu
Trong điện toán đám mây, chính sách an ninh nên được thiết kế với mục
đích kiểm soát quyền truy cập dữ liệu của các đối tượng sử dụng, nên đảm bảo
rằng dữ liệu chỉ được truy cập bởi người được phân quyền, ngăn chặn truy cập
trái phép. Một số đối tượng dữ liệu nên được trao quyền để xử lý dữ liệu trong
đám mây một cách sẵn sàng. Mặt khác, một số bên khác (vụ trong một số trường
hợp bao gồm cả nhà cung cấp dịch vụ), không nên có quyền truy cập vào dữ liệu
của khách hàng. Tuy nhiên khá khó khăn cho các nhà cung cấp SaaS và PaaS để
thiết lập một cơ chế truy cập đáng tin cậy và hiệu quả, do thiếu công nghệ và chịu
trách nhiệm phát triển bảo mật. Một ví dụ là Google Docs trục trặc riêng tư và lỗi
về kiểm soát truy cập trong năm 2009 [23].
Ngoài ra, như sự bùng nổ của điện toán đám mây trong cuộc sống hàng
ngày, mọi người đang chuyển lượng lớn dữ liệu cá nhân lên đám mây, mà đã tạo
ra bộ dữ liệu khổng lồ mà có thể sẽ được sử dụng cho quảng cáo và phân tích dữ
liệu. Ví dụ, Google về cơ bản là khai thác dữ liệu giá rẻ khi trả về kết quả tìm
kiếm. Bên cạnh đó, Google sử dụng dịch vụ điện toán đám mây của mình để thu
thập và phân tích dữ liệu của khách hàng cho mạng quảng cáo của mình. Trong
trường hợp này, người tiêu dùng chỉ có thể kiểm soát dữ liệu của họ bởi các thỏa
thuận bảo mật, an ninh được quản lý bởi Google.
2.4.1.7 Tuân thủ pháp luật
Luật pháp thường không theo kịp sự phát triển của công nghệ, điện toán
đám mây lại là một mô hình mới trong lĩnh vực công nghệ thông tin, chưa có luật
hay tiêu chuẩn xác định yêu cầu tuân thủ bảo mật trong đám mây. Các quy định
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
hiện hành không phải lúc nào cũng áp dụng đối với việc bảo vệ sự riêng tư trong
31
đám mây. Hơn nữa, đám mây có thể thông qua nhiều khu vực có pháp lý khác
nhau, dữ liệu có thể lưu ở nhiều quốc gia và khó xác định quốc gia nào có thẩm
quyền để điều chỉnh dữ liệu khách hàng.
2.4.1.8 Việc xóa dữ liệu
Dữ liệu lưu trên máy chủ từ xa, người sử dụng không có quyền truy cập vật
lý nên việc xóa dữ liệu cũng có thể là một nguy cơ đối với an ninh dữ liệu. Vấn
đề chính trong việc xóa dữ liệu là làm thế nào để đảm bảo rằng dữ liệu đã hoàn
toàn bị hủy bỏ một cách an toàn. Để đảm bảo tính sẵn sàng cao, các nhà cung cấp
dịch vụ thường tạo các bản sao chép của dữ liệu và chuyển lên đám mây, vì thế
khó để xóa hoàn toàn dữ liệu mà không lưu lại dấu vết nào. Hơn nữa, các nhà
cung cấp dịch vụ có thể chỉ cần làm cho dữ liệu không tiếp cận được với khách
hàng và giữ chúng lại để sử dụng cho mục đích riêng. Do vậy, bên cạnh một lược
đồ xóa dữ liệu an toàn thì cũng cần một cơ chế tin cậy cho việc xóa dữ liệu.
2.4.2 Giải pháp bảo vệ dữ liệu cho điện toán đám mây
Trong phần này, ta sẽ tìm hiểu về giải pháp giảm nhẹ nguy cơ về an ninh
dữ liệu trên đám mây [10] nhằm hạn chế các nguy cơ, hướng tới sự an toàn tốt
nhất khi làm việc trên đám mây. Để hạn chế được các nguy cơ này, các cá nhân,
tổ chức sử dụng đám mây cần thực hiện theo các khuyến nghị sau:
2.4.2.1 Đảm bảo an ninh dữ liệu trên đám mây
Xác định các yêu cầu an ninh của tổ chức và các yêu cầu an ninh đối với
dữ liệu trên đám mây; tiến hành chọn nhà cung cấp điện toán đám mây phù hợp
với yêu cầu của tổ chức; quản lý rủi to liên quan đến việc sử dụng các dịch vụ
điện toán đám mây. Nên chọn nhà cung cấp dịch vụ đám mây có uy tín, có chính
sách hỗ trợ người dùng và chính sách an ninh (như xác thực, phân quyền…hỗ trợ
mã hóa dữ liệu phía server) tốt.
2.4.2.2 Hiểu các mối đe dọa trong đám mây
Đánh giá các mối đe dọa đến tài sản thông tin trong đám mây, các mối đe
dọa đến nhà cung cấp điện toán đám mây bao gồm cả các mối đe dọa vào người
dùng khác trên đám mây để sử dụng hợp lý. Mặt khác, người sử dụng đám mây
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
phải nhận thức được rằng những điểm yếu nhất của an ninh dữ liệu thường đến từ
32
chính người sử dụng chứ không phải chỉ từ phía nhà cung cấp dịch vụ. Khi tham
gia vào môi trường điện toán đám mây, người sử dụng nên thực hiện tốt các biện
pháp an ninh theo thông lệ: đặt và sử dụng mật khẩu, không sử dụng lại mật khẩu
ở các dịch vụ khác nhau cũng như xác thực hai nhân tố để giảm thiểu rủi ro.
2.4.2.3 Mã hóa dữ liệu
Nếu dữ liệu cần phải được giữ bí mật với nhà cung cấp dịch vụ đám mây
thì cần phải thực hiện mã hóa trước khi chuyển dữ liệu lên đám mây và khóa mã
hóa cần được quản lý riêng biệt với nhà cung cấp dịch vụ đám mây (vì nhà cung
cấp dịch vụ có quyền truy cập vào dữ liệu). Xem xét những hạn chế về pháp lý
hoặc những yêu cầu trong việc sử dụng mã hóa ở phạm vi quản lý của các nhà
cung cấp đám mây cụ thể.
2.4.2.4 Đánh giá việc cách ly dữ liệu giữa những người dùng của nhà cung
cấp dịch vụ đám mây
Mã hóa có thể bảo vệ dữ liệu lưu trữ trên đám mây nếu nhà cung cấp dịch
vụ có thể chứng minh khả năng quản lý khóa đảm bảo an ninh. Đánh giá các cơ
chế cách ly dữ liệu của nhà cung cấp dịch vụ điện toán đám mây khi không được
mã hóa.
2.4.2.5 Đánh giá cam kết hủy dữ liệu trên đám mây
Vấn đề an ninh khi xóa dữ liệu thường không khả thi. Chọn thuật toán mã
hóa mạnh có thể được chấp nhận là giải pháp thay thế cho việc xóa an toàn. Người
dùng cũng có thể yêu cầu nhà cung cấp dịch vụ xóa dữ liệu theo các tiêu chuẩn
quy định với từng loại dữ liệu như UK, HMM Information Assurance Standard 5
hoặc tiêu chuẩn NIST Special Publication 800-88 ở Mỹ [14].
2.4.2.6 Xác định các vị trí địa lý, nơi sẽ lưu trữ, xử lý và truyền dữ liệu
Tuân thủ các luật định và quy định về việc sử dụng điện toán đám mây với
từng vị trí địa lý của dữ liệu. Một số rủi ro khác (như môi trường, chính trị, kinh
tế…) cũng sẽ thay đổi theo vị trí địa lý, vì thế cần phải lưu ý tới vị trí của dữ liệu.
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
2.4.2.7 Đánh giá hiệu quả giám sát việc bảo vệ dữ liệu
33
Hoạt động truy vết với cá nhân người dùng có thể không khả thi khi không
kết hợp giữa người dùng và nhà cung cấp dịch vụ. Đánh giá năng lực các nhà cung
cấp và tự giác giám sát thông tin cũng là một hình thức bảo vệ trong các đám mây.
2.5 Các thuật toán mã hóa dữ liệu lưu trữ cho điện toán đám mây
Khi nói đến mã hóa dữ liệu, các nhà cung cấp điện toán đám mây vẫn còn
một con đường dài phía trước. Alex Staomos là một nhà nghiên cứu của iSec
Partners năm 2009 đã tuyên bố rằng điện toán đám mây nên được tiếp cận từ góc
độ mật mã.
Các thuật toán mã hóa cần phải đáp ứng một số yêu cầu về tính hiệu quả
trong việc chuyển đổi bản rõ thành bản mã cũng như trong giải mã và bản mã phải
chịu được các cuộc tấn công.
Dưới đây, luận văn sẽ giới thiệu hai thuật toán mã hóa thường sử dụng trong
điện toán đám mây là thuật toán mã hóa RSA và AES. Trong đó, AES là thuật
toán mã hóa cho đến nay được sử dụng phổ biến nhất trong lĩnh vực bảo vệ dữ
liệu điện toán đám mây.
2.5.1 Thuật toán RSA
2.5.1.1 Mô tả thuật toán
Hệ mật RSA được phát minh bởi Ron Rivest, Adi Shamir và Len Adleman
và được Scientific American công bố lần đầu tiên vào năm 1977 [7].
Hệ mật RSA được sử dụng để bảo mật và đảm bảo tính xác thực của dữ
liệu số. Hiện nay RSA được sử dụng trong hệ thống thương mại điện tử, các dịch
vụ web server và web browser. RSA còn được sử dụng để đảm bảo tính xác thực
vào bảo mật của email, đảm bảo an toàn cho các phiên truy cập từ xa và là bộ
phận quan trọng của hệ thống thanh toán thẻ tín dụng. Như vậy ta có thể thấy rằng
RSA thường được sử dụng trong các ứng dụng cần đảm bảo sự an toàn và bảo
mật dữ liệu số cao.
Hệ mật RSA bao gồm bộ . Trong đó:
1. là tập các bản rõ.
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
2. là tập các bản ký tự mã.
34
3. là tập các khóa , mỗi khóa gồm hai phần: là khóa công khai
dành cho việc lập mã, còn là khóa bí mật dành cho việc giải mã.
4. Với mỗi bản rõ , thuật toán lập mã cho ta ký tự mã tương ứng
5. Với mỗi ký tự mã thuật toán giải mã cho ta lại ký tự bản rõ :
Hệ mật RSA sử dụng các tính toán trong trong đó là tích của hai số
nguyên tố lớn phân biệt nhau và . Mô tả hình thức của hệ
mật như sau:
Cho trong đó là các số nguyên tố lớn phân biệt nhau sao cho độ
dài của hai số này là gần nhau nhất có thể được.
Đặt: và định nghĩa
- Mã hóa:
- Giải mã:
Trong đó
Các giá trị công khai còn các giá trị được giữ bí mật.
Ta sẽ kiểm xem các phép mã hóa và giải mã có phải là các phép toán nghịch
đảo của nhau hay không?
Vì nên ta có với một số nguyên bất kỳ . Giả
sử có khi đó ta sẽ xét hai trường hợp.
a. Trường hợp . Khi đó ta có:
b. Trường hợp hoặc
Giả sử , khi đó với và
Suy ra: . Do nên
. Bên cạnh đó ta lại có:
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
. Vậy
35
Ví dụ: Alice muốn gửi một thông báo cho Bob, hai bên sẽ thiết lập các tham
số hệ mật.
Giả sử Bob chọn và . Khi đó và
.
Vì nên có thể dùng một số nguyên b khóa công khai có giá
trị không chia hết cho . Anh ta kiểm tra điều kiện bằng thuật
toán Euclidean.
Giả sử Bob chọn , khi đó theo thuật toán Euclidean mở rộng ta có:
Do vậy số mũ mật (khóa bí mật) để giải mã của Bob sẽ là . Bob sẽ
. công bố và
Giả sử Alice muốn gửi bản rõ cho Bob, sẽ tiến hành chuyển bản rõ sang
dạng số, giả sử là . Cô ta sẽ tính:
Rồi gửi bản mã trên kênh truyền. Khi Bob nhận được bản mã ,
anh ta sẽ sử dụng khóa bí mật để tính:
2.5.1.2 Độ an toàn của thuật toán RSA
Hệ mật RSA chỉ được an toàn khi giữ bí mật khóa giải mã và thừa số
nguyên tố (hay giữ bí mật ).
Trường hợp biết được thì Marvin dễ dàng tính được .
Khi đó Marvin sẽ sử dụng thuật toán Euclidean mở rộng để tính .
Khi biết thì toàn bộ hệ thống sẽ bị phá vỡ ngay lập tức. Vì khi biết ,
toàn bộ khóa đều được biết và Marvin sẽ giải mã được và sẽ đọc được nội dung
của bản rõ, Ngoài ra Marvin có thể lập mã trên văn bản khác là cực kỳ nguy hiểm.
Tuy vậy việc phân tích này là bài toán khó trong trường hợp đủ lớn, và độ an
toàn của hệ mật sẽ phụ thuộc vào việc phân tích số nguyên thành tích của hai
thừa số nguyên tố lớn [6, 7].
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
2.5.2 Thuật toán AES
36
Tiêu chuẩn mã hóa tiên tiến AES (Advanced Encryption Standard) là một
thuật toán mã hóa khối (block cipher) được chính phủ Hoa kỳ áp dụng làm tiêu
chuẩn mã hóa và được kỳ vọng áp dụng trên phạm vi thế giới và đã được nghiên
cứu rất kỹ lưỡng. AES được Viện tiêu chuẩn và công nghệ quốc gia Mỹ (NIST)
phát hành ngày 26/11/2001 và được đặc tả trong Tiêu chuẩn xử lý thông tin liên
bang 197 [25] sau một quá trình tiêu chuẩn hóa kéo dài 5 năm.
AES ban đầu được thiết kế bởi hai nhà mật mã học người Bỉ: Joan
Daemen và Vincent Rijmen và sử dụng mạng thay thế-hoán vị. Từ khi được công
bố là một tiêu chuẩn, AES trở thành một trong những thuật toán mã hóa được sử
dụng rộng rãi. Ở Việt Nam, thuật toán AES đã được công bố thành tiêu chuẩn
quốc gia TCVN 7816 năm 2007.
AES cho phép xử lý các khối dữ liệu đầu vào có kích thước 128 bit sử dụng
các khóa có độ dài 128, 192 hoặc 256 bit. AES có thể dễ dàng thực hiện với tốc
độ cao và không yêu cầu bộ nhớ dung lượng lớn.
2.5.2.1 Cơ sở toán học
Hai phép cộng và phép nhân trên trường Galoris là cở sở toán học
của thuật toán AES.
+ Phép cộng: được hiểu là phép XOR trên hai bit tương ứng trong byte và
có ký hiệu là .
Phép cộng bít:
1 1 0
1 0 1
0 1 1
0 0 0
Với phép cộng hai byte: và bằng
. với
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
+ Phép nhân trên trường , ký hiệu là
37
Tương ứng với phép nhân thông thường của hai đa thức đem chia lấy dư
(modulo) cho một đa thức tối giản bậc 8. Trong thuật toán AES, đa thức tối giản
được chọn là hay nếu biểu diễn dưới dạng hexa.
Kết quả nhận được của phép nhân rút gọn theo modulo là một đa thức
có bậc nhỏ hơn nên có thể biểu diễn được dưới dạng 1 byte.
Phép nhân với : Phép nhân đa thức nhị phân với đa thức (hay phần tử
trong được kết quả là:
Kết quả của phép nhân có được bằng cách rút gọn kết quả trên theo
modulo .
Nếu thì kết quả đã ở dạng rút gọn.
Nếu , quá trình rút gọn được thực hiện bằng cách trừ đi đa thức .
Theo đó, phép nhân với (tức là hoặc ) có thể được thực hiện ở
mức byte bằng một phép dịch trái và sau đó thực hiện tiếp phép XOR với giá trị
. Thao tác này được ký hiệu là xtime(). Phép nhân với các luỹ thừa của x có
thể được thực hiện bằng cách áp dụng nhiều lần thao tác xtime(). Kết quả phép
nhân với một giá trị bất kỳ được xác định bằng phép cộng ( ) các kết quả trung
gian này lại với nhau.
Ví dụ: Thực hiện phép nhân
Ta có:
do đó,
+ Đa thức với các hệ số trên trường : Phép nhân của hai đa thức bậc
4: theo modulo được xác định bằng 4 hạng tử
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
. Trong đó:
38
Và còn
Khi là đa thức cố định, thì có thể được viết dưới dạng ma trận như
sau:
2.5.2.2 Các khái niệm, ký hiệu và hàm
+ Một số khái niệm
- Biến đổi Affine: Phép biến đổi bao gồm một phép nhân với một ma trận
sau đó là một phép cộng của một vectơ.
- Block: Một dãy các bit nhị phân tạo thành input, output, trạng thái (state)
và các khóa sử dụng tại các vòng lặp (Round Key) của hệ mã. Độ dài của dãy
(khối) là số lượng các bit mà nó chứa. Các khối cũng có thể được xem là một dãy
các byte.
- Cipher: Thuật toán mã hóa, gồm các phép biến đổi để chuyển bản rõ thành
bản mã sử dụng khóa mã hóa.
- Ciphertext: Bản mã, là dữ liệu đầu ra từ Cipher hoặc đầu vào của Inverse
Cipher.
- Inverse Cipher: Thủ tục giải mã, gồm chuỗi các phép biến dổi chuyển bản
mã thành bản rõ sử dụng Cipher Key.
- Cipher Key: Khóa chính được sử dụng bởi thủ tục mở rộng khóa để tạo ra
một tập hợp các khóa vòng (Round Key); có thể được hình dung như là một mảng
các byte, có bốn hàng và cột.
- Plaintext: Bản rõ, là dữ liệu đầu vào của Cipher hoặc là dữ liệu đầu ra của
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Inverse Cipher.
39
- Round Key: Là các giá trị sinh ra từ khóa chính bằng cách sử dụng thủ tục
sinh khóa. Các khóa này được sử dụng tại các vòng lặp của thuật toán.
- State: Trạng thái, là kết quả mã hóa trung gian, có thể hình dung như một
ma trận hình của các byte, có 4 dòng và cột (mỗi dòng có byte).
- S-box: Một bảng thế phi tuyến được sử dụng trong thủ tục sinh khóa và
trong các biến đổi thay thế các byte để thực hiện các thay thế 1-1 đối với một giá
trị 1 byte.
+ Một số ký hiệu
: Khóa mã hóa (Cipher Key)
: Số lượng các cột (là các word 32 bit) tạo thành một trạng thái (theo tiêu
chuẩn thì )
: Số lượng các word 32 bit (số cột) tạo thành khóa mã hóa ( )
: Số lượng các vòng lặp của thuật toán, là một hàm của và . Số
lượng vòng lặp có thể nhận các giá trị khác nhau phụ thuộc vào độ dài khóa AES-
128 sử dụng 10 vòng ( ), AES-192 sử dụng 12 vòng ( ) và AES-256
sử dụng 14 vòng ( ).
Rcon[]: Mảng word liên tiếp.
: Phép toán XOR
: Phép nhân hai đa thức bậc nhỏ hơn 4 theo modulo .
: Phép nhân trong trường hữu hạn.
+ Các hàm sử dụng trong thuật toán
- AddRoundKey(): Hàm biến đổi được sử dụng trong thuật toán mã hóa và
giải mã trong đó thực hiện phép toán XOR bit giữa một trạng thái trung gian
(State) và một khóa của vòng lặp (Round Key).
- MixColumns(): Hàm biến đổi trong thuật toán mã hóa nhận tất cả các cột
của một trạng thái (State) và trộn với dữ liệu của nó (không phụ thuộc lẫn nhau)
để nhận được một cột mới.
- InvMixColumns(): Hàm biến đổi được sử dụng trong thuật toán giải mã,
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
là hàm ngược của hàm MixColumns().
40
- ShiftRows():Hàm sử dụng trong quá trình mã hóa, xử lý các trạng thái
bằng cách dịch vòng ba hàng cuối của trạng thái với số lần dịch khác nhau.
- InvShiftRows(): Hàm biến đổi trong thuật toán giải mã, là hàm ngược của
hàm ShiftRows().
- SubBytes(): Hàm biến đổi sử dụng trong quá trình mã hóa, xử lý một trạng
thái bằng cách sử dụng một bảng thế phi tuyến các byte (S-box) thao tác trên mỗi
byte một cách độc lập.
- InvSubBytes(): Hàm biến đổi trong thuật toán giải mã, là hàm ngược của
hàm SubBytes().
- RotWord(): Hàm sử dụng trong thủ tục sinh khóa nhận một word 4 byte
và thực hiện một hoán vị vòng.
- SubWord(): Hàm sử dụng trong thủ tục sinh khóa nhận một word đầu vào
4 byte và sử dụng một S-box trên mỗi giá trị 4 byte này để thu được 1 word đầu
ra.
2.5.2.3 Thủ tục mở rộng khóa
Thủ tục mở rộng khóa (KeyExpansion) là quá trình tạo các khóa vòng từ
khóa chính. Từ khóa chính cho trước, thuật toán AES thực hiện một thủ tục
sinh khóa để sinh một dãy các khóa mã hóa. Thủ tục này sinh khóa, mỗi
khóa chứa word, như vậy tổng số word là .
Dãy khóa kết quả là một mảng tuyến tính các word 4 byte được ký hiệu là
trong đó .
2.5.2.4 Thủ tục mã hóa/ giải mã AES
AES chỉ làm việc với các khối dữ liệu đầu vào và đầu ra và trạng thái 128
bit và khóa có độ dài 128, 192 hoặc 256 bit. Các khóa con sử dụng trong các chu
trình được tạo ra bởi quá trình tạo khóa con Rijndael. Mỗi khóa con cũng là một
cột gồm 4 byte. Hầu hết các phép toán trong thuật toán AES đều thực hiện trong
một trường hữu hạn của các byte. Mỗi khối dữ liệu 128 bit đầu vào được chia
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
thành 16 byte, có thể xếp thành 4 cột, mỗi cột 4 phần tử hay là một ma trận
41
của các byte, được gọi là ma trận trạng thái, hay vắn tắt là trạng thái. Trong quá
trình thực hiện thuật toán các toán tử tác động để biến đổi ma trận trạng thái này.
Tại thời điểm bắt đầu mã hóa, đầu vào được sao chép vào mảng trạng thái
sử dụng các quy ước. Sau đó thực hiện theo 3 bước sau:
Bước 1: Khởi động vòng lặp:
Thực hiện phép biến đổi AddRoundKey(): Mỗi cột của trạng thái đầu tiên
lần lượt được kết hợp với một khóa con theo thứ tự từ đầu dãy khóa.
Bước 2: Vòng lặp:
Thực hiện lần lượt các phép biến đổi theo thứ tự sau:
SubBytes(): đây là phép thế (phi tuyến) trong đó mỗi byte trong trạng thái
sẽ được thế bằng một byte khác theo bảng tra (Rijndael S-box).
ShiftRows(): dịch chuyển, các hàng trong trạng thái được dịch vòng theo số
bước khác nhau.
MixColumns(): quá trình trộn làm việc theo các cột trong khối theo một
phép biến đổi tuyến tính.
AddRoundKey()
Bước 3: Vòng lặp cuối:
Thực hiện các phép biến đổi tương tự như ở bước 2, nhưng không thực biện
phép biến đổi MixCloumns(): SubBytes(), ShiftRows(), AddRoundKey().
Trong trường hợp giải mã: Các phép biến đổi trong phần mã hóa AES có
thể được đảo ngược và thực thi theo thứ tự khác để giải mã cho thuật toán AES.
Các phép biến đổi được thực hiện trong quá trình giải mã gồm: InvShiftRows(),
InvSubBytes(), InvMixColumns() và AddRoundKey(). Quá trình mã hóa và giải
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
mã AES 128 được mô tả theo lược đồ sau [6, 7]:
42
Hình 2.1: Lược đồ mã hóa/ giải mã AES 128
2.5.2.5 Tính an toàn của AES
Vào thời điểm năm 2009, dạng tấn công lên AES duy nhất thành công là
tấn công kênh bên (side channel attack). Vào tháng 6 năm 2003, chính
phủ Mỹ tuyên bố AES có thể được sử dụng cho thông tin mật “Thiết kế và độ dài
khóa của thuật toán AES (128, 192 và 256 bit) là đủ an toàn để bảo vệ các thông
tin. Các thông tin tuyệt mật (top secret) sẽ phải dùng khóa 192 hoặc 256 bit. Các
phiên bản thực hiện AES nhằm mục đích bảo vệ hệ thống an ninh hay thông
tin quốc gia phải được NSA kiểm tra và chứng nhận trước khi sử dụng” [14]. Điều
này đánh dấu lần đầu tiên công chúng có quyền tiếp xúc với thuật toán mật mã mà
NSA phê chuẩn cho thông tin tuyệt mật. Nhiều phần mềm thương mại hiện nay
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
sử dụng mặc định khóa có độ dài 128 bit, hoặc cao hơn là 256 bit.
43
Phương pháp thường dùng để tấn công các dạng mã hóa khối là thử các
kiểu tấn công lên phiên bản có số chu trình thu gọn. Tại thời điểm năm 2006,
những tấn công thành công được biết đến là 7 chu trình đối với khóa 128 bit, 8
chu trình với khóa 192 bit và 9 chu trình với khóa 256 bit.
Một số nhà khoa học trong lĩnh vực mật mã lo ngại về an ninh của AES.
Họ cho rằng ranh giới giữa số chu trình của thuật toán và số chu trình bị phá vỡ
quá nhỏ, và vì vậy nếu các kỹ thuật tấn công được cải thiện thì AES có thể bị phá
vỡ. Ở đây, phá vỡ có nghĩa chỉ bất cứ phương pháp tấn công nào nhanh hơn tấn
công kiểu duyệt toàn bộ. Vì thế một tấn công cần thực hiện lần cũng được cho
là thành công mặc dù tấn công này chưa thể thực hiện trong thực tế. Tại thời điểm
hiện nay, nguy cơ này không thực sự nguy hiểm và có thể bỏ qua. Tấn công kiểu
duyệt toàn bộ quy mô nhất đã từng thực hiện là do distributed.net thực hiện lên hệ
thống 64 bit RC5 vào năm 2002.
Một vấn đề khác nữa là cấu trúc toán học của AES có mô tả khá đơn giản.
Tuy điều này chưa dẫn đến mối nguy hiểm nào nhưng một số nhà nghiên cứu sợ
rằng sẽ có người lợi dụng được cấu trúc này trong tương lai. Vào năm
2002, Nicolas Courtois và Josef Pieprzyk phát hiện một tấn công trên lý thuyết
gọi là tấn công XSL và chỉ ra điểm yếu tiềm 43iki của AES. Tuy nhiên, một vài
chuyên gia về mật mã học khác cũng chỉ ra một số vấn đề trong cơ sở toán học
của tấn công này và cho rằng các tác giả đã có sai lầm trong tính toán. Việc tấn
công dạng này có thực sự trở thành hiện thực hay không vẫn còn để ngỏ và cho
tới nay thì tấn công XSL vẫn chỉ là suy đoán.
Chương tiếp theo của luận văn sẽ trình bày về việc sử dụng thuật toán mã
hóa AES để mã hóa cho cả dữ liệu phía máy chủ và dữ liệu phía người dùng.
Hiện nay, khá nhiều nhà cung cấp dịch vụ điện toán đám mây hỗ trợ mã
hóa dữ liệu phía server (Amazon S3, Saleforce, Dropbox,…) và nhiều phần mềm
mã hóa của bên thứ ba hỗ trợ mã hóa phía client (Box Cryptor, Crypt Keeper,
Secure Cloud Drive, Credeon Cloud Data Protection…) sử dụng thuật toán mã
hóa AES (AES-128, AES-256 và các biến thể của nó).
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Kêt luận Chương 2
44
Nội dung Chương 2 trình bày kết quả nghiên cứu tìm hiểu những nội dung
về khái niệm, phân loại các bộ tiêu chuẩn về an ninh thông tin. Trên cơ sở đó, lựa
chọn đi sâu phân tích vấn đề bảo vệ dữ liệu trong điện toán đám mây, bao gồm
các khía cạnh về bảo mật, vị trí, phân tách, truy cập, quản lý dữ liệu… đồng thời
nghiên cứu các giải pháp để đảm bảo an ninh dữ liệu, hiểu các mối đe dọa và mã
hóa dữ liệu.
Chương 2 cũng tập trung nghiên cứu, phân tích mô tả, đánh giá độ an toàn
của hai thuật toán mã hóa dữ liệu RSA và AES. Từ đó chỉ ra tính ưu việt của hai
hệ mã hóa này, làm sở cứ khoa học chắc chắn cho việc đề xuất nghiên cứu xây
dựng giải pháp mã hóa dữ liệu an toàn được trình bày tại Chương 3.
CHƯƠNG 3: ỨNG DỤNG BẢO VỆ THÔNG TIN TRONG
ĐIỆN TOÁN ĐÁM MÂY
Hiện nay, có rất nhiều công nghệ cho điện toán đám mây với mức chi phí
và giải pháp khác nhau tùy vào mục đích sử dụng và ưu điểm của mỗi công nghệ.
Trong khuôn khổ luận văn này, học viên sử dụng phần mềm mã nguồn mở
ownCloud và Apache Nutch để nghiên cứu, triển khai xây dựng điện toán đám
mây thông minh, tích hợp chức năng tự động tìm kiếm thu thập thông tin theo yêu
cầu, phục vụ nhiệm vụ khai thác, quản lý, sử dụng, chia sẻ, bảo mật thông tin. Mặt
khác luận văn không đi sâu nghiên cứu các giải pháp bảo vệ thông tin về phần
cứng, mà tập trung phân tích, làm rõ vấn đề bảo mật dữ liệu dựa trên các ứng dụng
mã hóa từ phía máy chủ cũng như phía người dùng. Trên cơ sở đó, học viên nghiên
cứu đề xuất xây dựng một giải pháp mã hóa dữ liệu riêng bằng cách sử dụng kết
hợp hai hệ mật mã RSA và AES để bảo mật thông tin từ phía người dùng.
3.1 Xây dựng điện toán đám mây tích hợp công cụ thu tin tự động
3.1.1 Giới thiệu ownCloud
Grank Karlitschek, một chuyên gia phát triển phần mềm KDE người Đức,
đã bắt đầu phát triển ownCloud vào đầu năm 2010, với mục đích cung cấp một
phần mềm miễn phí nhằm thay thế các nhà cung cấp dịch vụ lưu trữ đán mây độc
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
quyền. OwnCloud [19] là một ứng dụng mã nguồn mở miễn phí có giao diện web
45
mạnh mẽ để xây dựng một hệ thống lưu trữ đám mây nhằm đồng bộ hóa dữ liệu,
chia sẻ tập tin, và lưu trữ từ xa.
OwnCloud được viết bằng ngôn ngữ PHP/javascript và được thiết kế để
làm việc với nhiều hệ quản lý cơ sở dữ liệu, bao gồm cả MySQL, MariaDB,
SQLite, Oracle Database, và PostgreSQL. Hơn nữa ownCloud có thể được triển
khai trên tất cả các nền tảng như Linux, Macintosh, Windows và Android. Đây là
một ứng dụng chạy trên hệ thống mạnh mẽ, nền tảng độc lập, linh hoạt về cấu
hình và khả năng sử dụng, không giới hạn về không gian lưu trữ hay số lượng
client kết nối.
OwnCloud có một số đặc tính cơ bản sau:
- Lưu trữ các tập tin, thư mục, danh bạ, thư viện ảnh, lịch…
- Có thể truy cập từ điện thoại, thiết bị di động, laptop, hoặc trình duyệt
web.
- Đồng bộ dữ liệu lưu trữ từ máy chủ về các thiết bị cá nhân và ngược lại.
- Chia sẽ dữ liệu lưu trữ cá nhân với người khác thông qua URLs.
- Lưu trữ tập tin theo cấu trúc thư mục thông thường hoặc WebDAV.
- Cho phép lấy lại dữ liệu đã xóa trong thùng rác. Mặc định hệ thống sẽ lưu
trữ các file đã xóa trong 30 ngày.
- Cho phép mã hóa dữ liệu để đảm bảo an toàn hơn cho dữ liệu của người
sử dụng.
- Có khả năng tùy biến cao.
- Kết nối với các dịch vụ lưu trữ bên ngoài như DropBox, GoogleDrive,
Amazon S3…
- Tích hợp tính năng xem file PDF và ODF (Open Document Format for
Office Applications) trực tiếp.
Một số ưu điểm của ownCloud:
Các mô hình lưu trữ đám mây hiện nay đã được sử dụng phổ biến, đối với
cả cá nhân hay doanh nghiệp, tập đoàn lớn… Việc lựa chọn các giải pháp thương
mại nổi tiếng như DropBox, OneDrive, Google Drive đều mang lại những lợi ích
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
thiết thực. Tuy nhiên, các dịch vụ này có điểm chung là phải mất phí để được sử
46
dụng nhiều dung lượng hơn so với mức miễn phí được phép và dữ liệu của người
dùng sẽ lưu trữ trên máy chủ của người khác nên vẫn tiềm ẩn nguy cơ mất an toàn
thông tin. Vì thế, những thông tin bí mật, nhạy cảm đặt ra yêu cầu về xây dựng
một tiện ích lưu trữ đám mây riêng, nằm trong hệ thống mạng nội bộ, được bảo
vệ và tin tưởng.
Người dùng có thể tự xây dựng dịch vụ lưu trữ và đồng bộ dữ liệu cho riêng
mình, không phụ thuộc vào nhà cung cấp, không mất phí mua tài khoản và kiểm
soát dữ liệu nhạy cảm của mình.
- OwnCloud bảo vệ và quản lý các dữ liệu nhạy cảm bằng cách lưu trữ
chúng trên bất kì hệ thống lưu trữ có sẵn nào, với bộ phần mềm hoàn thiện chạy
trên các server an toàn đặt trong trung tâm dữ liệu của chính tổ chức; được điều
khiển bởi các quản trị mà tổ chức tin tưởng và được quản lý với chính sách của
chính tổ chức đó.
- OwnCloud tích hợp vào hệ thống hệ thống hạ tầng và an ninh hiện có,
được quản lý từ chính sách của tổ chức, từ thư mục người dùng, quản trị, bảo mật,
giám sát, lưu trữ và sao lưu, để phát hiện xâm nhập.
- OwnCloud mở rộng chức năng dễ dàng thông qua một tập hợp toàn diện
các APIs để tùy chỉnh nhanh chóng khả năng của hệ thống, đáp ứng yêu cầu dịch
vụ, và khả năng mở rộng tính năng trong tương lai.
- OwnCloud cung cấp cho người dùng cuối khả năng truy cập đơn giản đến
các tài liệu mà họ cần và sử dụng chúng trên bất kì thiết bị mà họ sử dụng hàng
ngày nào.
3.1.2 Giới thiệu Apache Nutch
Nutch Apache được phát triển trên nền tảng gồm 3 thành phần chính đó là:
Solr (sử dụng Lucene thư viện mã nguồn mở có chức năng xây dựng chỉ mục và
tìm kiếm, sử dụng Tika công cụ để phát hiện và rút trích metadata và nội dung
văn bản có cấu trúc từ những loại tài liệu khác nhau) và Hadoop (cung cấp nền
tảng tính toán phân tán với hệ thống tập tin phân tán).
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Một số ưu điểm chính của Nutch:
47
- Tính trong suốt: Các Search Engine trên thị trường không tiết lộ cho người
dùng về giải thuật được sử dụng bên trong, đặc biệt là giải thuật ranking các trang
kết quả. Nutch cho phép người dùng xem và thậm chí có thể chỉnh sửa hoặc áp
dụng các giải thuật khác tùy ý.
- Tính mở: Bằng việc chỉnh sửa các giải thuật đã được cài đặt, Nutch có thể
trở thành một Search Engine theo chủ đề, chuyên sâu cho một lĩnh vực.
- Tính tận dụng: Như mọi hệ thống mã nguồn mở khác, sử dụng Nutch là
việc kế thừa thành quả lao động của cộng đồng, tiết kiệm thời gian và công sức
phát triển.
- Tính tích hợp: Nutch được tích nhiều công nghệ tiên tiến để xử lý văn bản
và dữ liệu lớn (scalability). Các tiện ích mở rộng (plugins) có thể dễ dàng cài đặt
vào Nutch làm phong phú tính năng của hệ thống.
Kiến trúc của Nutch
Hình 3.1: Kiến trúc của Nutch
Về kiến trúc, Nutch bao gồm hai thành phần là trình thu thập thông tin
(Crawler) và trình tìm kiếm thông tin (Searcher). Crawler lấy dữ liệu từ các trang
và tạo ra bộ chỉ mục ngược (inverted index). Searcher sử dụng inverted index để
trả lời câu truy vấn query.
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Mô tả hoạt động Nutch:
48
Hình 3.2: Hoạt động của Nutch
Bước 1: Injector lấy tất cả các liên kết tới các địa chỉ cần thu thập dữ liệu
và thêm chúng vào crawdb. Crawdb với vai trò là trung tâm của Nutch sẽ xử lý
thông tin trên tất cả những liên kết đã biết.
Bước 2: Dựa trên dữ liệu của crawldb, bộ phận Generator tạo một danh sách
thông tin cần thu thập và đặt chúng trong một thư mục segment mới được khởi
tạo.
Bước 3: Bộ phận fetcher lấy nội dung từ các liên kết trong danh sách thu
thập và ghi chúng vào thư mục segment tạo ở bước 2.
Bước 4: Bộ phận parser sẽ xử lý nội dung của từng trang web. Nếu bộ phận
thu thập thông tin phát hiện ra có sự thay đổi đối với thông tin đã thu thập, bộ
phận updater sẽ thêm dữ liệu mới vào crawldb ở bước tiếp.
Bước 5: Trước khi đánh chỉ mục, tất cả các liên kết cần phải được đảo
ngược. Các liên kết đảo ngược được lưu trong bộ phận linkdb.
Bước 6 và 7: Sử dụng dữ liệu từ tất cả các nguồn khả dụng, bộ phận đánh
chỉ mục tạo chỉ mục và lưu trong thư mục Solr. Thư viện Lucene được dùng để
đánh chỉ mục. Bây giờ người dùng có thể tìm kiếm thông tin trong dữ liệu đã thu
thập thông qua Solr.
Trong toàn bộ quá trình hoạt động, các bộ lọc (filters), các bộ chuẩn hóa
(normalizers) và các tiện ích mở rộng khác cho phép Nutch xử lý linh hoạt, hiệu
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
quả và có thể dễ dàng tùy biến.
49
3.1.3 Xây dựng hệ thống ownCloud tích hợp công cụ thu tin tự động
Apache Nutch
Luận văn thực hiện xây dựng đám mây riêng ownCloud phiên bản hoàn
thiện ổn định là 9.0, Apache Nutch được cài đặt là phiên bản 1.15 và Solr phiên
bản 7.7.1 trên máy ảo Wmware cài đặt hệ điều hành Ubuntu Desktop 16.04 LTS.
Chuẩn bị:
- Cài đặt phần mềm Vitrualbox trên máy tính sử dụng hệ điều hành
Windows 7 của Microsoft, sau đó tiến hành tạo máy ảo dung lượng 20 GB,
memory 1024MB, processors: 2.
- Cài hệ điều hành Ubuntu Desktop 16.04 LTS trên máy ảo này.
Cài đặt:
Tiến hành cài đặt máy chủ ownCloud theo hướng dẫn tại [19, 24] cho hệ
điều hành Ubuntu.
Khi đã hoàn thiện cài đặt máy chủ, ta có thể truy cập máy chủ ownCloud
thông qua trình duyệt web trên chính máy chủ theo địa chỉ
http://localhost/owncloud/index.php hoặc trên máy tính khác theo địa chỉ
http://your-ip/owncloud/index.php (với your-ip là địa chỉ ip của máy chủ
owncloud được thiết lập trong trusted domain).
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Hình 3.3: Đăng nhập máy chủ ownCloud qua localhost
50
Hình 3.4: Đăng nhập máy chủ ownCloud qua địa chỉ IP
Cài đặt thêm ứng dụng desktop clients trên Windows 7 để đồng bộ dữ liệu
với ownCloud server nếu có nhu cầu. Trong quá trình xây dựng ứng dụng, em cài
đặt ứng dụng desktop client 1.8 cho windows 7 theo hướng dẫn tại [24].
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Hình 3.5: Desktop client đồng bộ dữ liệu với máy chủ ownCloud
51
Hình 3.6: Đăng nhập tài khoản đồng bộ với máy chủ ownCloud
Hình 3.7: Chọn thư mục đồng bộ với máy chủ ownCloud
Cài đặt hệ thống tiến hành theo hướng dẫn tại [19] dành cho hệ điều hành
Linux. Hệ thống thu thập thông tin tự động Nutch được cài đặt là phiên bản 1.15
và Solr phiên bản 7.7.1. Ta tiến thiết lập tham số để hệ thống có thể hoạt động bao
gồm: các địa chỉ sẽ thu thập dữ liệu, độ sâu khi thu thập, các bộ lọc để chuyên sâu
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
nội dung thu thập. Sau đó sẽ khởi chạy hệ thống.
52
Hình 3.8: Thiết lập tham số thu thập thông tin tự động
Hình 3.9: Khởi chạy hệ thống
Tiến hành tích hợp máy tìm kiếm của hệ thống thu tin vào hệ thống
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
ownCloud mà ta đã xây dựng bằng công cụ External Site của ownCloud [20].
53
Hình 3.10: Tích hợp Search Engine vào ownCloud
Hình 3.11: Giao diện phần khai thác thông tin đã thu thập
Hệ thống đám mây tự động thu thập thông tin được thiết lập và phân quyền
quản lý tài khoản người dùng theo yêu cầu và mục đích sử dụng. Theo đó thông
tin người dùng được bảo vệ và quản lý bằng mã hóa hàm băm.
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Thiết lập tài khoản admin:
54
Hình 3.12: Thiết lập tài khoản Admin
Hình 3.13: Thiết lập và quản lý tài khoản người dùng
3.2 Bảo vệ dữ liệu khi sử dụng điện toán đám mây
3.2.1 Mã hóa dữ liệu phía máy chủ ownCloud
OwnCloud bao gồm cả một ứng dụng mã hóa (Encryption App) phía máy
chủ (server-side) [19], nếu muốn sử dụng ứng dụng này, người quản trị ownCloud
cần phải kích hoạt để ứng dụng hoạt động. Khi đó, tất cả các tập tin dữ liệu của
người sử dụng sẽ tự động được ownCloud mã hóa. Ứng dụng này sẽ mã hóa tất
cả các tập tin được lưu trữ trên máy chủ ownCloud và tất cả các tập tin trên ổ lưu
trữ từ xa được kết nối với máy chủ ownCloud. Vì vậy, khi kích hoạt ứng dụng
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
này, người sử dụng sẽ không thể chọn một số tập tin không được mã hóa. Ứng
55
dụng sử dụng tài khoản đăng nhập vào ownCloud của người dùng như mật khẩu
cho khóa bí mật, người dùng cần đăng nhập và quản lý, chia sẻ các tập tin như
bình thường và vẫn có thể thay đổi mật khẩu.
Ứng dụng mã hóa của ownCloud sử dụng thuật toán AES, quá trình mã hóa
và giải mã xảy ra “trong suốt”, người dùng vẫn có thể sử dụng tất cả các tính năng,
ứng dụng khác từ ownCloud như chia sẻ WebDAV .
Mã hóa phía máy chủ đặc biệt hữu ích cho những trường hợp sử dụng lưu
trữ bên ngoài (external), đảm bảo cho người dùng lưu trữ bên ngoài mà bên thứ
ba không truy cập được dữ liệu của mình.
3.2.1.1 Kích hoạt mã hóa
Có một vài lựa chọn khi sử dụng ứng dụng mã hóa của ownCloud. Khi
người quản trị kích hoạt mã hóa lần đầu tiên thì người dùng cần phải đăng xuất
và đăng nhập lại để tạo khóa mã hóa và mã hóa các tập tin.
Sau khi mã hóa đã được kích hoạt, người sử dụng sẽ thấy yêu cầu khởi tạo
khóa. Lưu ý rằng không được để mất password ownCloud vì sẽ mất quyền truy
cập vào các tập tin.
Hình 3.14: Khởi động khóa mã hóa dữ liệu trên máy chủ ownCloud
OwnCloud cho phép người dùng đăng nhập mật khẩu để mã hóa. Điều này
có nghĩa là người dùng nên chọn mật khẩu mạnh để bảo vệ dữ liệu. Mặc định,
người dùng sẽ mất quyền truy cập vào dữ liệu của mình nếu mất mật khẩu đăng
nhập. OwnCloud cũng có tính năng bổ sung là tạo khóa khôi phục để người quản
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
trị có thể khôi phục dữ liệu của người dùng (xem phần mật khẩu khôi phục khóa)
56
3.2.1.2 Chia sẻ tập tin được mã hóa
Chỉ những người dùng có các khóa mã hóa bí mật có quyền truy cập vào
các tập tin được mã hóa và thư mục được chia sẻ. Người dùng chưa tạo khóa mã
hóa bí mật sẽ không có quyền truy cập vào các tập tin chia sẻ được mã hóa; họ sẽ
thấy các thư mục và tên tập tin, nhưng sẽ không thể để mở hoặc tải về các tập tin
3.2.1.3 Mật khẩu khôi phục khóa (Key Recovery Password)
Nếu người quản trị ownCloud đã kích hoạt tính năng khôi phục khóa trong
tài khoản quản trị thì người sử dụng có thể chọn tính năng này cho tài khoản của
mình. Nếu người dùng kích hoạt Password recovery, người quản trị sẽ có thể phục
hồi các tập tin của người dùng trong trường hợp họ bị mất mật khẩu
ownCloud. Nếu không kích hoạt thì không có cách nào khôi phục lại các tập tin
khi người dùng bị mất mật khẩu đăng nhập.
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Hình 3.15: Kích hoạt chế độ mã hóa bằng tài khoản admin
57
Hình 3.16: Kích hoạt chế độ khôi phục khóa mã hóa
3.2.1.4 Loại bỏ mã hóa
Nếu người quản trị ownCloud được chọn để loại bỏ ứng dụng mã hóa, người
dùng sẽ vào trang cá nhân của mình và nhập mật khẩu vào form Encryption để
giải mã các tập tin.
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Hình 3.17: Thông báo ở trang cá nhân sau khi admin kích hoạt giải mã
58
Hình 3.18: Giải mã thành công và loại bỏ khóa mã hóa dữ liệu
Nếu giải mã thành công, người dùng có thể chọn nút Delete Encryption
Keys. Không có lý do gì để lưu chúng sau khi vô hiệu hóa giải mã, bởi vì nếu mã
hóa được kích hoạt một lần nữa bạn sẽ tạo ra một tập khóa mới.
Lưu ý rằng, mọi dữ liệu được mã hóa và giải mã phía máy chủ, người quản
trị sẽ luôn có thể chặn dữ liệu của người dùng. Vì thế, nên chọn những người quản
trị đáng tin cậy hoặc tự quản trị.
3.2.1.5 Tập tin không được mã hóa
Chỉ dữ liệu trong các tập tin được mã hóa, tên tập tin hoặc các cấu trúc thư
mục sẽ không được mã hóa.
Những tập tin sau cũng không được mã hóa:
- Các tập tin cũ trong thùng rác.
- Hình ảnh thu nhỏ (image thumbnail) từ ứng dụng Gallery.
- Preview từ ứng dụng Files
- Các chỉ mục tìm kiếm từ các ứng dụng tìm kiếm văn bản đầy đủ.
- Dữ liệu của ứng dụng bên thứ ba (third-party).
3.5.1.6 Cách thức hoạt động của mã hóa
Mã hóa dựa trên ba khóa khác nhau: mỗi người dùng có một cặp khóa bí
mật, công khai (private/public key-pair), mỗi tập tin có một khóa tập tin (file-key)
và để nhiều người sử dụng có thể truy cập tới một tập tin ta sử dụng khóa chia sẻ
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
(share-key) [22].
59
Mỗi người dùng có một cặp khóa bất đối xứng 4096 bit mạnh mẽ bao gồm
một khóa bí mật và một khóa công khai. Các khóa bí mật được mã hóa với mật
khẩu đăng nhập của người dùng sử dụng thuật toán mã hóa AES-256. Ngoài ra,
có hai cặp khóa toàn hệ thống: một cặp cho phép ownCloud giải mã các tập tin
chia sẻ liên kết công khai, một cặp nếu được kích hoạt sự phục hồi cặp khóa.
Các file-key được sử dụng để mã hóa tập tin của người sử dụng với AES-
256. Các tập tin được mã hóa với khóa công khai từ tất cả người dùng có quyền
truy cập vào các tập tin. Điều này có nghĩa là nếu một người dùng thêm hoặc bớt
từ một tập tin, ta chỉ cần mã hóa lại file-key nhỏ thay vì toàn bộ tập tin.
Mỗi khi một file-key được mã hóa cho nhiều người dùng OpenSSL sinh ra
cho mỗi người dùng một khóa chia sẻ share-key bổ sung. Chỉ có sự kết hợp khóa
bí mật của những người dùng với các share-key tương ứng cho phép người dùng
giải mã các tập tin nhất định.
Hình 3.2: Mô hình mã hóa phía máy chủ ownCloud
Khi một tập tin mới được thêm vào hoặc được đồng bộ, ownCloud tạo ra
một file-key liên kết và sử dụng để mã hóa tập tin bằng thuật toán mã hóa AES-
256. Như vậy, mỗi tập tin trên ownCloud có một file-key duy nhất.
OwnCloud cũng mã hóa chính file-key bằng cách sử dụng khóa công khai
của từng người dùng. Kết quả của việc mã hóa này là một hoặc nhiều share-key.
Mỗi người dùng có một share-key duy nhất ứng với mỗi tập tin. Khi một người
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
dùng được phép truy cập vào tập tin, ownCloud giải mã file-key với khóa riêng
60
của người dùng (private key) kết hợp với khóa share-key thích hợp. Sau đó, sử
dụng file-key để giải mã tập tin.
Khi một tập tin được chia sẻ với người dùng mới, file-key lại được mã hóa
một lần nữa với khóa công khai của người dùng mới để tạo ra một share-key mới.
Mặc dù ownCloud phải mã hóa lại file-key, nhưng công việc này giúp giảm
bớt nhiều nhiệm vụ hơn so với việc phải mã hóa lại toàn bộ các tập tin vật lý khi
chia sẻ tập tin với người dùng mới.
Toàn bộ mã nguồn phần mã hóa ownCloud được trình bày trong tài liệu CD
đính kèm.
3.2.2 Nghiên cứu xây dựng giải pháp mã hóa dữ liệu người dùng
Giải pháp mã hóa dữ liệu có chức năng mã hóa đảm bảo an toàn thông tin
dữ liệu của người sử dụng trước khi lưu trữ, quản lý, khai thác, chia sẻ trên điện
toán đám mây thu tin tự động. Trình tự thực hiện diễn ra như sau:
1. Trước tiên, người nhận tệp mã hóa cần tạo cặp khóa bằng thuật toán mã
hóa bất đối xứng, sau đó gửi khóa công khai cho người gửi.
2. Người gửi dùng thuật toán mã đối xứng để mã hóa dữ liệu, và sử dụng
thuật toán mã hóa bất đối xứng để mã hóa khóa đối xứng nối trên bằng khóa công
khai của người nhận
3. Người nhận sử dụng khóa bí mật để giải mã khóa đối xứng, sau đó giải
mã dữ liệu với khóa đối xứng vừa thu được.
Trong trường hợp này, thuật toán mã hóa bất đối xứng được dùng chỉ để
mã hóa khóa đối xứng, vì vậy độ phức tạp tính toán là không đáng kể. Đây chính
là nguyên lý làm việc của SSL. Cụ thể, trong chương trình sử dụng thuật toán
AES để mã hóa dữ liệu với độ lớn của khóa là 256 bit, và RSA để mã hóa khóa
của AES trong thư viện Microsoft .NET Cryptography.
3.2.2.1 Giao diện Chương trình
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Chương trình được thiết kế với giao diện chính như sau:
61
Hình 3.20: Giao diện chính của chương trình
3.2.2.1 Giới thiệu và hướng dẫn sử dụng Chương trình
Tóm tắt thông tin Chương trình được mô tả theo hình sau:
Hình 3.21: Giới thiệu chương trình
3.2.2.2 Chức năng tạo khóa
Để sử dụng, trước hết cần tạo cặp khóa công khai - bí mật bằng công cụ tạo
khóa trên phần mềm. Cặp khóa được tạo ra có dạng XML, nằm trong 02 tệp là
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
privateKey.xml và publicKey.xml.
62
Hình 3.22: Chức năng tạo khóa
3.2.2.2 Chức năng mã hóa
Khi đã tạo được cặp khóa, cần chọn tệp để mã hóa và nạp khóa công khai
publicKey.xml ở mục thiết lập để tiến hành mã hóa.
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Hình 3.23: Chức năng mã hóa
63
Tên tệp mã hóa giống với tên tệp cần mã hóa và có phần mở rộng là
.encrypted. Tệp này nằm cùng thư mục với tệp cần mã hóa. Ngoài ra trong quá
trình mã hóa còn sinh ra tệp có phần mở rộng là .manifest.xml có tác dụng chứa
khóa đối xứng đã được mã hóa.
Hình 3.24: Quá trình mã hóa
3.2.2.2 Chức năng giải mã
Giải mã tệp là quá trình ngược lại với quá trình mã hóa. Quá trình giải mã
tính toán khóa đối xứng đã được mã bằng RSA, ghi trong tệp .manifest.xml. Để
sử dụng chức năng giải mã cần dùng lệnh “Chuyển mã hóa/giải mã” của chương
trình.
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Hình 3.25: Chức năng giải mã
64
Sau khi đã chọn tệp để giải mã, trong phần thiết lập cần nạp khóa bí mật và
khóa đối xứng được mã hóa trong quá trình mã tệp để tiến hành giải mã tệp đã
được mã. Tệp sau khi được giải mã sẽ có phần mở rộng .decrypted.
Minh họa nội dung tệp trước và sau khi đã mã hóa
Hình 3.26: Minh họa tệp trước và sau khi đã mã hóa
3.3 Thử nghiệm và đánh giá
Để đảm bảo an toàn thông tin, dữ liệu trước khi gửi lên đám mây được mã
hóa bằng phần mềm mã hóa file. Phương pháp này mang lại nhiều lợi ích trong
trường hợp người dùng không đủ tin tưởng vào việc quản trị của ownCloud. Tuy
nhiên, phương pháp mã hóa dữ liệu trước khi đưa lên đám mây có vẻ không được
thuận tiện trong quá trình sử dụng, làm hạn chế đi một số ưu điểm của điện toán
đám mây. Vì vậy, người sử dụng chỉ nên mã hóa những dữ liệu quan trọng, nhạy
cảm (sensitive data) để tiết kiệm thời gian và giảm sự bất tiện.
Người sử dụng cũng có thể kết hợp cả việc mã hóa dữ liệu phía client với
việc sử chính sách mã hóa dữ liệu phía server để giảm thiểu rủi ro trong quá trình
bảo vệ dữ liệu.
3.3.1 Với mã hóa phía máy chủ ownCloud
Sau khi kích hoạt ứng dụng mã hóa Ecryption App trên máy chủ
ownCloud thì toàn bộ các tập tin lưu trữ trên máy chủ sẽ được mã hóa. Kích thước
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
tập tin được mã hóa sẽ tăng thêm hơn 30% so với tập tin gốc.
65
Người dùng nên thường xuyên sao lưu tất cả các khóa mã hóa để ngăn
ngừa mất dữ liệu vĩnh viễn. Các khóa mã hóa được lưu trữ trong các thư mục sau
đây:
data/owncloud_private_key: Khóa khôi phục, nếu được kích hoạt
và khóa chia sẻ công khai
data/public_keys: Các khóa công khai của tất cả người dùng
data/
và tất cả các khóa cần thiết khác để giải mã tập tin của user.
data/files_encryption: Các khóa bí mật và tất cả các khóa cần
thiết khác để giải mã các tập tin được lưu trữ trên toàn hệ thống lưu trữ mở rộng.
Các khóa mã hóa chỉ được lưu trữ trên máy chủ ownCloud, tránh bên thứ
ba tiếp xúc với dữ liệu của người dùng khi sử dụng dịch vụ lưu trữ ngoài.
3.3.2 Với mã hóa phía người dùng
Trong thư mục ownCloud của ứng dụng desktop client 1.8 đã cài đặt, tạo
thư mục Encrypted để lưu trữ các tập tin cần mã hóa bằng phần mềm Mã hóa file
phía client và thiết lập chế độ mã hóa cho thư mục này.
Sau đó, ta có thể chuyển hoặc sao chép các tập tin vào thư mục này. Các
tập tin sẽ tự động được mã hóa và chuyển lên máy chủ ownCloud. Các tập tin này
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
sẽ có phần đuôi mở rộng là .encrypted.
66
Hình 3.27: Lưu trữ tập tin đã mã hóa phía client trên ownCloud
Ta tiến hành thử nghiệm bằng cách copy tập tin debug.log vào thư mục
Ecrypted trong thư mục ownCloud desktop của tài khoản admin, tập tin này sẽ tự
động được mã hóa và được chuyển lên máy chủ ownCloud của tài khoản admin.
Với các dữ liệu không mã hóa phía người dùng, dữ liệu được lưu ở thư mục
NotEncrypted. Tuy nhiên dữ liệu khi người dùng gửi lên sẽ được mã hóa bằng
thuật toán mã của Cloud. Tuy nhiên
Hình 3.28: Lưu trữ tập tin không mã hóa phía client trên ownCloud
Nội dung tập tin đã được mã hóa so với tập tin gốc, giúp đảm bảo an toàn
cho dữ liệu của người dùng khi lưu trữ trên đám mây. Tuy nhiên, người dùng cũng
mất quyền sử dụng giao diện web nghĩa là không tận dụng được những ưu điểm
như xem nôi dung tập tin… khi sử dụng mã hóa phía client.
Vì thế, người dùng nên cân nhắc kĩ trước khi sử dụng loại mã hóa này, chỉ
nên sử dụng mã hóa phía client cho những dữ liệu nhạy cảm, các dữ liệu thông
thường không cần thiết phải sử dụng mã hóa hoặc chỉ cần chọn mã hóa dữ liệu
phía server để thuận tiện trong việc sử dụng và chia sẻ.
Kết luận Chương 3
Trên cơ sở nghiên cứu tổng quan về điện toán đám mây và kỹ thuật mã hóa
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
dữ liệu tại chương 1 và 2, nội dung Chương 3 nghiên cứu xây dựng điện toán đám
67
mây riêng tích hợp công cụ thu tin tự động để tăng khả năng mở rộng cho đám
mây.
Đã tiến hành cài đặt, phân tích quá trình mã hóa dữ liệu của thông tin tài
liệu tại hệ thống máy chủ ownCloud, đánh giá về sự an toàn của việc mã hóa trên
đám mây. Đồng thời đi sâu nghiên cứu xây dựng giải pháp mã hóa dữ liệu an toàn
sử dụng phía client bằng cách kết hợp hai thuật toán mã hóa RSA và AES. Theo
đó, đã tổ chức cài đặt, thực nghiệm để đánh giá việc mã hóa dữ liệu trên đám mây
dùng riêng, rút ra một số kết luận, làm cơ sở khoa học đề xuất, triển khai, ứng
dụng trong thực tiễn.
KẾT LUẬN
Luận văn “Tìm hiểu điện toán đám mây và vấn đề bảo mật trong điện toán
đám mây” hoàn thành đã đạt được một số kết quả sau:
Đã nghiên cứu tìm hiểu tổng quan những vấn đề điện toán đám mây bao
gồm khái niệm, kiến trúc, mô hình cũng như ưu, nhược điểm trong quá trình sử
dụng, ứng dụng thực tiễn. Trên cơ sở đó, đã phân tích làm rõ những nội dung cơ
bản nhất về an ninh thông tin, phân loại, các bộ tiêu chuẩn về an ninh thông tin.
Từ đó lựa chọn đi sâu nghiên cứu vấn đề an ninh dữ liệu trong mô hình đám mây
và phân tích cơ sở toán học, nguyên lý, cơ chế hoạt động của hai hệ mật mã RSA
và AES.
Với những kết quả nghiên cứu lý thuyết đã đạt được, luận văn nghiên cứu
xây dựng giải pháp mã hóa dữ liệu an toàn bằng cách kết hợp hai thuật toán mã
hóa RSA với AES phục vụ việc mã hóa dữ liệu phía người dùng.
Đã tiến hành nghiên cứu, xây dựng hệ thống đám mây riêng tự động thu
thập thông tin dữ liệu. Tổ chức cài đặt, thực nghiệm, đánh giá kết quả nghiên cứu
về bảo mật dữ liệu hệ thống ở hai khía cạnh người dùng và server. Theo đó đã rút
ra những nhận xét về ưu, nhược điểm của giải pháp đề xuất, làm sở cứ khoa học
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
vững chắc để tiếp tục nghiên cứu, ứng dụng trong thực tiễn triển khai.
68
Tuy nhiên, để giải quyết một cách triệt để những yêu cầu đặt ra, cần tiếp
tục có những nghiên cứu chuyên sâu, ứng dụng các giải pháp hiện đại cả về phần
mềm và phần cứng để nâng cao độ bảo mật, an toàn dữ liệu cho đám mây. Mặt
khác cần tiếp tục phát triển nâng cao khả năng mở rộng cho đám mây bằng cách
ứng dụng các công nghệ Big data, AI, IoT.v.v.
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Bộ Thông tin truyền thông, “Hướng dẫn về tiêu chuẩn ứng dụng công
nghệ thông tin trong cơ quan nhà nước”, Hà Nội, 2008.
[2] Bộ Thông tin truyền thông, “Quyết định quy định chức năng, nhiệm vụ,
quyền hạn và cơ cấu tổ chức của trung tâm phần mềm nguồn mở và điện
toán đám mây trực thuộc viện công nghiệp phần mềm và nội dung số Việt
Nam”, Hà Nội, 2014.
[3] Hoàng Lê Minh, “Hạ tầng công nghệ thông tin dùng chung và dịch vụ
điện toán đám mây dùng riêng”, Viện Công nghiệp phần mềm và nội dung
số Việt Nam, 2017.
[4] Trương Ngọc Hạnh, Trần Đức Sự, “Nghiên cứu mô hình xử lý dữ liệu mã
hóa trong điện toán đám mây”, Đại học Thái Nguyên, 2015.
[5] Trần Nhật Vinh, Lê Văn Sơn, “Nghiên cứu mô hình điện toán đám mây,
cài đặt, thử nghiệm, đánh giá”, Đại học Đà Nẵng, 2011.
[6] Vũ Thị Ngân, Hồ Văn Canh, “Nghiên cứu bảo vệ thông tin trong điện toán
đám mây”, Đại học Công nghệ, Đại học Quốc gia Hà Nội, 2015.
Tiếng Anh
[7] Alfred J. Menezes, Paul C. van Ooschot, Scott A. Vanstone, “Handbook
of Applied Cryptography”, pp.425-481, CRC Press, 1996.
[8] Bernstein, David; Ludvigson, Erik; Sankar, Krishna; Diamond, Steve;
Morrow, Monique, “Blueprint for the Intercloud - Protocols and Formats
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
for Cloud Computing Interoperability”, IEEE Computer Society, 2009.
69
[9] Borko Furht, Armando Escalante, “Handbook of Cloud Computings”,
Springer, USA, 2010.
[10] CPNI, “Information security briefing Cloud Computing”, Centre for the
protection of Nationnal Infrastructure, 2010.
[11] CSO, Vormetric, “Data Security in the Cloud”, Gartner Inc, 2010.
[12] Jan de Muijnck-Hughes BSc, “Data Protection in the Cloud”, Radboud
University Nijmegen, Netherland, 2014.
[13] Moritz Borgmann, Tobias Hahn, Michael Herfert, Thomas Kunz,Marcel
Richter, Ursula Viebeg, Sven Vowé, “On the Security of Cloud Storage
Services”, SIT Technical Reports, Germany, 2012.
[14] NIST, “NIST Cloud Computing Security Reference Architecture”, U.S.
Department of Commerce, US, 2014.
[15] Sajjad Hashemi, “Data Storage Security Challenges in Cloud Computing,
International Journal of Security”, Privacy and Trust Management, 2013.
[16] Vic (J.R.) Winkler, “Securing the Cloud”, Syngress, USA, 2011.
[17] Ya Liu, “Data Security in Cloud Computing”, Eindhoven University of
Technology, Philips, 2012.
Website
[18] http://cloudcomputingnet.com/cloud-computing-architecture/
[19] https://owncloud.org/
[20] https://wiki.apache.org/nutch/NutchTutorial
[21] http://psg.hitachi-solutions.com/credeon/faq/does-credeon-work-with-
owncloud
[22] http://www.forbes.com/2009/07/30/cloud-computing-security-
technology-cio-network-cloudcomputing.html (available: 2009).
[23] https://cloudsecurityalliance.org
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
[24] https://doc.owncloud.org/desktop/1.8/
70
[25] https://github.com/owncloud/core/blob/master/apps/encryption/lib/crypt
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
o/crypt.php
71
PHỤ LỤC
Phụ lục 1: Mã nguồn Chương trình mã hóa file
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
//---------------------------------------------------
--------------------
//---------------------------------------------------
--------------------
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Xml.Linq;
namespace Encryptor
{
///
72
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
/// Full path
of the encrypted file
/// Full path
of the generated manifest file
/// Product
name
/// Product
version
/// RSA key used to
encrypt the one-time symmetrical key
/// RSA key id for
backend index
///
73
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
/// Signature
Key
/// AES
Encryption key
/// AES Encryption
key IV
///
74
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
using (RNGCryptoServiceProvider random =
new RNGCryptoServiceProvider())
{
random.GetBytes(bytes);
}
return bytes;
}
///
75
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
}
}
}
}
}
///
76
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
///
77
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
/// Calculate file signature
///
/// Full path of the
file for calculating signature
/// key for calculating
signature
///
78
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
private static void CreateManifest(byte[]
signature,
byte[] signatureKey,
byte[] encryptionKey,
byte[] encryptionIv,
string rsaKey,
string manifestFilePath)
{
string template = "
79
doc.Descendants("DataSignature").Single().Descendants ("EncryptedKey").Single().Value = System.Convert.ToBase64String(RSAEncryptBytes(signatu reKey, rsaKey)); doc.Save(manifestFilePath); } } }
Phụ lục 2: Mã nguồn modul mã hóa trên ownCloud
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Học viên xin phép trình bày trong tài liệu lưu đĩa CD gửi kèm