Nói một cách đơn giản, điện toán đám mây là một mô hình điện toán trong đó tài nguyên được cung cấp cho người dùng dựa trên nhu cầu của họ.. Trong bài tiểu luận này, chúng ta sẽ phân tíc
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA: VIỄN THÔNG I
Trang 2DANH SÁCH THÀNH VIÊN VÀ PHÂN
CÔNG CÔNG VIỆC
thiệu chung về hệ thống điện toán đám mây và Chương 2: Hàm băm mật mã MD5
thuật mã hóa khóa công khai RSA
- Tổng hợp WORD
dụng hai giải thuật MD5 và RSA trong an toàn điện toán đám mây
- Xây dựng đề cương cho bài tiểu luận
Trang 3MỤC LỤC
THUẬT NGỮ VIẾT TẮT 3
DANH MỤC CÁC BẢNG, HÌNH VẼ Error! Bookmark not defined MỞ ĐẦU 5
CHƯƠNG I : GIỚI THIỆU CHUNG VỀ ĐIỆN TOÁN ĐÁM MÂY 6
1.1 Tổng quan 6
1.2 Một vài đặc điểm chính 7
1.3 Ưu , nhược điểm điện toán đám mây 7
1.3.1 Ưu điểm 7
1.3.2 Nhược điểm 7
1.4 Vấn đề bảo mật trong điện toán đám mây 8
CHƯƠNG II : HÀM BĂM MẬT MÃ MD5 8
2.1 Tổng quan 8
2.2 Giải thuật 8
2.2.1 Quá trình đệm 8
2.2.2 Quá trình nén 9
CHƯƠNG III: GIẢI THÍCH THUẬT MÃ HÓA CÔNG KHAI RSA 12
3.1 Giới thiệu về thuật toán RSA 12
3.2 Giải thuật, mã hóa và giải mã RSA 12
3.3 Phạm vi ứng dụng của hệ mã hóa RSA 13
3.4 Ví dụ về giải thuật mã hóa công khai RSA: 13
CHƯƠNG IV: ỨNG DỤNG HAI GIẢI THUẬT MD5 VÀ RSA TRONG AN TOÀN ĐIỆN TOÁN ĐÁM MÂY 17
4.1: Các công việc thực hiện 17
4.2: Tính bảo mật của hệ thống 18
4.3: Kết quả thực tế 19
CHƯƠNG V : KẾT LUẬN 22
TÀI LIỆU THAM KHẢO 23
24
Trang 4THUẬT NGỮ VIẾT TẮT
Standards
Tiêu chuẩn xử lý thông tin liên bang
MD4 Message-Digest Algorithm 4 Thuật toán thông báo-thông báo 4 MD5 Message-Digest Algorithm 5 Thuật toán thông báo-thông báo 5
and Technology
Viện Tiêu chuẩn và Công nghệ quốc gia
Extension
Bảo mật-Tiện ích mở rộng Internet Mail đa năng
Trang 5DANH MỤC CÁC BẢNG, HÌNH VẼ
Trang 6MỞ ĐẦU
Điện toán đám mây là một công nghệ mới nổi trong lĩnh vực mạng Nó đang trở nên phổ biến trong mọi lĩnh vực Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) định nghĩa điện toán đám mây là một mô hình cho phép truy cập mạng phổ biến, thuận tiện, theo yêu cầu vào một nhóm tài nguyên máy tính có thể định cấu hình được chia sẻ Nói một cách đơn giản, điện toán đám mây là một mô hình điện toán trong đó tài nguyên được cung cấp cho người dùng dựa trên nhu cầu của họ Trong điện toán đám mây, tài nguyên được cung cấp bởi nhà cung cấp dịch vụ đám mây được gọi là CSP Nhiều công ty phần mềm như Google, Microsoft, Amazon, Salesforce, v.v đang cung cấp các dịch vụ đám mây trên các tham số khác nhau
Bằng cách sử dụng dịch vụ của nhà cung cấp dịch vụ đám mây, người dùng chuyển gánh nặng cài đặt phần mềm, bảo trì dữ liệu, cơ sở hạ tầng, không gian lưu trữ, v.v sang nhà cung cấp dịch vụ đám mây Các nhà cung cấp luận án cung cấp cho khách hàng của họ khả năng lưu trữ, truy xuất và chia sẻ dữ liệu với những người dùng khác một cách dễ dàng Vì
dữ liệu được chia sẻ giữa những người dùng khác nhau trong đám mây nên có thể có khả năng dữ liệu bị mất hoặc sử dụng sai bởi những người dùng khác Đó là vấn đề đáng quan tâm nhất trong điện toán đám mây Nhiều người ngại chia sẻ dữ liệu của họ trên đám mây
vì họ không biết dữ liệu của họ được chia sẻ với ai Trong bài tiểu luận này, chúng ta sẽ phân tích khả năng bảo mật cũng như toàn vẹn dữ liệu của mô hình điện toán đám mây, trong đó trước hết dữ liệu được mã hóa bằng thuật toán RSA và sau đó nó được tải lên trên các máy chủ đám mây rồi được xác minh bằng hàm băm MD5 Trong cách tiếp cận này, mỗi khách hàng có thể tạo khóa công khai và khóa bí mật của họ Khóa công khai được chia sẻ đến tất cả mọi người và khóa bí mật chỉ được chia sẻ đến với những người dùng được ủy quyền
Phần còn lại của bài nghiên cứu được sắp xếp như sau: Giới thiệu chung về điện toán
mã hóa RSA được trình bày trong Phần III Phần IV trình bày Ứng dụng hai giải thuật trên trong an toàn điện toán đám mây Và cuối cùng Phần V nêu kết luận cho bài tiểu luận
Trang 7GIẢI THUẬT MD5 - RSA VÀ ỨNG DỤNG TRONG AN TOÀN ĐIỆN TOÁN ĐÁM MÂY
I GIỚI THIỆU CHUNG VỀ ĐIỆN TOÁN ĐÁM MÂY
1.1 Tổng quan
Điện toán đám mây ( với tên tiếng Anh là: cloud computing), hay còn gọi là các máy chủ ảo, là mô hình sử dụng công nghệ máy tính tiên tiến và phát triển dựa vào Internet Theo tổ chức quốc tế IEEE "Đây là hình mẫu trong đó thông tin được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được được lưu trữ tạm thời ở các máy khách như là các trung tâm giải trí, máy tính cá nhân và các phương tiện máy tính cầm tay, hoặc máy tính trong doanh nghiệp ".Tên gọi "đám mây" ở đây là ám chỉ mạng Internet cũng như sự tưởng tượng về độ phức tạp của các cơ sở hạ tầng chứa trong nó Trong mô hình này, nó cho phép người sử dụng có thể truy cập các dịch vụ công nghệ từ một nhà cung cấp bất kì
"trong đám mây" mà không nhất thiết có các am hiểu, kinh nghiệm về chúng, hay là không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó
Hình 1 : Mô hình điện toán đám mấy (cloud computing)
Trang 81.2 Một vài đặc điểm chính
Điện toán đám mây cần được phân biệt rõ ràng với tính toán tiện ích, điện toán lưới, hoặc
tự trị tính toán có liên quan đến sự tương tác của một số tài nguyên ảo hóa Đám mây máy chủ kết nối và chia sẻ thông tin dựa trên mức độ lưu lượng truy cập trang web trên toàn bộ mạng Các dịch vụ được điện toán đám mây cung cấp thường là dưới hình thức sau:
Một cách đơn giản, cloud computing là việc ảo hóa tài nguyên và các ứng dụng Thay vì khách hàng dùng một hoặc nhiều server thật thì khách hàng sẽ sử dụng các tài nguyên được
ảo hóa (virtualized) thông qua Internet
1.3 Ưu và nhược điểm điện toán đám mây
1.3.1 Ưu điểm
Như vậy, trước đây thay vì việc phải đi mua các server thật rồi đặt vào trung tâm dữ liệu thì bây giờ các doanh nghiệp chỉ cần đưa ra yêu cầu thì hệ thống đám mây sẽ tự động tìm các tài nguyên rỗi mà cấp phát cho bạn Cụ thể các lợi ích như sau:
Các tài nguyên được cấp phát cho doanh nghiệp đúng như những gì họ yêu cầu một cách nhanh chóng
Doanh nghiệp sẽ cắt giảm được lượng lớn chi phí mua bán, cài đặt và bảo trì server trong quá trình sử dụng
Cắt giảm khâu chuyên gia vận hành và bảo trì server
Doanh nghiệp có thể không phải lo lắng về vấn đề công nghệ được cập nhật trong server vì lúc này các công nghệ mới trên server sẽ được các nhà cung cấp điện toán đám mây làm việc này
Trang 9Một vấn đề khác liên quan đến nhà cung cấp, khi khách hàng muốn thay đổi nhà cung cấp thì việc thay đổi đám mây cũng tương đối mệt mỏi, do vậy bạn rất có thể phụ thụ rất nhiều vào nhà cung cấp và hầu như rất ít có ai nghĩ rằng sẽ thay đổi nhà cung cấp khi mà
sẽ có rất nhiều vấn đề xảy ra khi thực hiện điều này
1.4 Vấn đề bảo mật trong điện toán đám mây
trong đám mây nên có thể có khả năng dữ liệu bị mất hoặc sử dụng sai bởi những người dùng khác Đó là vấn đề đáng quan tâm nhất trong điện toán đám mây Nhiều người ngại chia sẻ dữ liệu của họ trên đám mây vì họ không biết dữ liệu của họ được chia sẻ với ai Giải pháp được cung cấp để duy trì bảo mật dữ liệu và tính toàn vẹn của dữ liệu Lược
đồ này chứa sự kết hợp của thuật toán RSA và thuật toán băm MD5 Trong giải pháp này,
dữ liệu được mã hóa bởi RSA trước khi tải nó lên máy chủ đám mây Sau khi tải lên giá trị băm của nó được tính bằng lược đồ băm MD5 Tất cả các phương pháp này đều trải qua các bước sau Mã hóa / Giải mã, Tải lên dữ liệu trên đám mây, Băm và Xác minh
2.1 Tổng quan
- Khái niệm: MD5 (viết tắt của tiếng Anh Message-Digest algorithm 5, giải thuật Tiêu
hóa tin 5) là một hàm băm mật mã học được sử dụng phổ biến với giá trị Hash dài 128-bit
- Đặc điểm:
• Việc tính MD đơn giản, có khả năng xác định được file có kích thước nhiều Gb
• Không có khả năng tính ngược khi tìm ra MD
• Do bản chất ngẫu nhiên của hàm băm và số lượng lớn các giá trị hash có thế nên hầu như không có khả năng hai bản tin phân biệt có cùng giá trị hash
• Giá trị MD phụ thuộc vào bản tin tương ứng và các bit trong bản tin đó
• Một chuỗi chỉ có duy nhất 1 hash
2.2 Giải thuật
Về cơ bản thuật toán MD5 được thực hiện qua 2 bước chính đó chính là đệm dữ liệu và nén thông điệp Mục đích của việc đệm là để đồng bộ thông điệp có độ dài bất kì thành thông điệp có độ dài là một số nguyên lần của 512 bit Còn mục đích của việc nén thông điệp là để chuyển đổi thông điệp sau khi đệm thành thông điệp có độ dài 128 bit
2.2.1 Quá trình đệm
Bản tin đầu vào B được độn thêm các bit sao cho chiều dài của nó chỉ cần thêm 64 bit nữa sẽ là bội của 512 Việc độn luôn được thực hiện kể cả chiều dài bản tin đầu vào đã đồng
dư với 448 theo mudulo 512
Việc độn được tín hành như sau: Một bit “1” được chèn vào sau bản tin, sau đó là chuỗi bit “0” được chèn vào tiếp sao cho chiều dài tính theo bit của bản tin đã được độn là đồng
dư với 448 theo modulo 512
Trang 10Như vậy, bản tin sau khi độn các bit thì sẽ có chiều dài là bội của 512 bit
Hình 2 : Sơ đồ quá trình đệm
Khởi tạo biến trạng thái: Trong MD5 này sử dụng 4 biến trạng thái Biến là một số
nguyên 32 bit Bốn biến này được cắt lát và cắt hạt lựu Chúng được đặt tên là A, B, C, D
và chúng được khởi tạo Ví dụ các khởi tạo này như sau:
- Quá trình nén xử lí được mô tả như sau:
Hình 3 : Sơ đồ tổng quát quá trình nén
Trang 11Hình 4 : Sơ đồ nén 1 khối 512 bit thành 128 bit
- Mỗi khối 512 bit được chia thành 4 vòng xử lí với công thức tính như sau :
Vòng 1 : 𝑎 = 𝑏 + ((𝑎 + 𝐹(𝑏, 𝑐, 𝑑) + 𝑀[𝑖] + 𝐾[𝑖]) <<< 𝑠)(i = [ 0 , 15 ])
Vòng 2 : 𝑎 = 𝑏 + ((𝑎 + 𝐺(𝑏, 𝑐, 𝑑) + 𝑀[𝑖] + 𝐾[𝑖]) ≪< 𝑠)(i = [ 16 , 31 ])
Vòng 3 : 𝑎 = 𝑏 + ((𝑎 + 𝐻(𝑏, 𝑐, 𝑑) + 𝑀[𝑖] + 𝐾[𝑖]) ≪< 𝑠)(i = [ 32 , 47 ])
Vòng 4 : 𝑎 = 𝑏 + ((𝑎 + 𝐼(𝑏, 𝑐, 𝑑) + 𝑀[𝑖] + 𝐾[𝑖]) <<< 𝑠)(i = [ 48 , 63 ])
- Với mỗi vòng sẽ thực hiện 16 bước với i lần lượt theo thứ tự 0 đến 63
Hình 5: Sơ đồ mô tả công thức tính hàm
Trang 12- Các công thức F, G, H, I được tính như sau :
𝐹(𝑋, 𝑌, 𝑍) = (𝑋⋀𝑌)⋁(𝑋̅ ⋀𝑍) 𝐺(𝑋, 𝑌, 𝑍) = (𝑋⋀𝑍)⋁(𝑌⋀𝑍̅) 𝐻(𝑋, 𝑌, 𝑍) = 𝑋⨁𝑌⨁𝑍 𝐼(𝑋, 𝑌, 𝑍) = 𝑌⨁(𝑋⋁𝑍̅)
Ta có bảng hằng số T[i]= K[i] theo i như sau :
Bảng 1 : Hằng số T của MD5 Bảng dịch S theo i :
Bảng 2 : Bảng dịch S theo I Sau đó thực hiện các phép cộng sau (cộng vào mỗi thanh ghi giá trị của nó trước khi vào vòng lặp) Cuối cùng , bản tin tóm lược bao gồm bốn từ liên tiếp A,B,C,D
Trang 13III GIẢI THÍCH THUẬT MÃ HÓA CÔNG KHAI RSA
3.1 Giới thiệu về thuật toán RSA
RSA là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với
3.2 Giải thuật, mã hóa và giải mã RSA
Hình 6: Quá trình mã hóa và giải mã RSA
Trước khi mã hóa khóa tệp được tạo, các bước sau được thực hiện như sau:
Chọn hai số nguyên tố lớn p và q (p ≠ q.)
Tính n = p * q
sao cho 1 <e <ø (n) và ước chung lớn nhất (gcd) của e và ø (n) là 1 e này là thành phần khóa công khai
Tính d = e-1 (mod ø (n)) tức là d là phép nhân nghịch đảo của e module ø (n)
Khóa riêng bao gồm n và số mũ của khóa riêng d tức là (d, n)
Trang 14 Đào tạo, thi cử từ xa, bảo mật dữ liệu tuyển sinh
Ngân hàng thương mại:Giao dịch, thanh toán qua mạng
Xuất nhập cảnh
3.4 Ví dụ về giải thuật mã hóa công khai RSA:
In số q và p :
Trang 15Ở đây ví dụ p = 23 và q =17 ;
Sau đó ta kiểm tra xem số đó có phải số nguyên tố hay không :
Xét số q và p có trùng nhau không :
Trang 16Thuật toán tính n và Euler(r) :
Ước chung lớn nhất của e và r :
Tính e :
Trang 17Khóa riêng tư và khóa công khai :
Chọn mã hóa(1) hoặc giải mã (2)
Trang 18IV ỨNG DỤNG HAI GIẢI THUẬT MD5 VÀ RSA TRONG AN TOÀN ĐIỆN TOÁN ĐÁM MÂY
4.1: Các công việc thực hiện
Mô hình điện toán đám xoay quanh việc trao đổi dữ liệu giữa ba thực thể chính bao gồm Chủ sở hữu dữ liệu, CSP và Người dùng Chủ sở hữu dữ liệu là người sở hữu đồng thời tải
dữ liệu này lên máy chủ, người dùng là người yêu cầu dữ liệu đó được chủ sở hữu dữ liệu
ủy quyền và CSP là nhà cung cấp dịch vụ đám mây cung cấp môi trường trao đổi cho toàn
bộ mô hình Các bước thực hiện được mô tả lần lượt như sau:
Bước 1: Mã hóa tệp và tạo khóa
Trước khi tải tệp lên đám mây thì chủ sở hữu dữ liệu cần phải thực hiện một số bước
cơ bản, đó là mã hóa tệp được chỉ định, tạo khóa công khai và khóa bí mật Trong mô hình
mã hóa này thuật toán RSA sẽ được sử dụng Để mã hóa, chủ sử hữu chỉ phải tải tệp của
họ lên và tạo khóa công khai cho nó Thuật toán mã hóa RSA sẽ tạo khóa bí mật để liên lạc một cách an toàn Giờ đây, tệp dữ liệu được mã hóa sẽ tiếp tục gửi đến máy chủ đám mây
để tải dữ liệu lên Tệp truy cập cũng được tải lên chứa thông tin chi tiết về danh sách người dùng được ủy quyền
Bước 2: Tải dữ liệu lên
Sau khi tải lên, chủ sở hữu dữ liệu sẽ nhận được những thông tin chi tiết như thời gian và ngày tải tệp lên, giá trị băm và mã xác minh Trong bước này để duy trì quyền truy cập bảo mật dữ liệu, chủ sở hữu sẽ dùng mã xác minh được cung cấp từ trước để kiểm soát việc tải dữ liệu lên Người dùng sẽ nhận tệp dưới dạng mã hóa có thể được giải mã bằng khóa bí mật được tạo tại thời điểm mã hóa Trong trường hợp có kẻ tấn công sử dụng mã độc đánh cắp dữ liệu, chúng không thể giải mã ra được vì không có khóa bí mật
Bước 3: Sao lưu dữ liệu
Khi dữ liệu hoặc tệp được tải lên trên đám mây, cần phải giữ an toàn cho chúng để có thể sử dụng trong tương lai Dữ liệu sẽ được sao lưu lại để tránh trường hợp bị hỏng hoặc mất Để giữ cho bản sao lưu dữ liệu mạnh mẽ, cần thực hiện một số việc sau:
+ Thực hiện băm dữ liệu: Để giữ an toàn cho dữ liệu trên máy chủ đám mây, giá trị
băm của tệp tải lên được tính toán Quá trình này được thực hiện bởi CSP với sự trợ giúp của thuật toán băm MD5 Bản sao tính toán giá trị băm sẽ được gửi đến chủ sở hữu dữ liệu
và được sử dụng thêm cho mục đích xác minh Trên máy chủ dịch vụ đám mây chỉ hiển thị
dữ liệu dưới dạng tệp mã hóa và giá trị băm của nó, điều này nhằm mục đích bảo mật vì CSP sẽ không thể sử dụng dữ liệu của khách hàng cho các mục đích khác
+ Xác minh: Xác minh là một bước quan trọng của mô hình này Dữ liệu lưu trữ trên
máy chủ đám mây được chủ sở hữu xác minh lại để đảm bảo tính toàn vẹn của dữ liệu Tác
Trang 19khi tính toán giá trị băm của dữ liệu, giá trị đó được gửi lại cho chủ sở hữu để xác minh tính toàn vẹn Chủ sở hữu cũng có thể yêu cầu xác minh dữ liệu của họ tại bất kì thời điểm nào bằng cách yêu cầu tùy chọn xác minh Khi đó, giá trị băm của dữ liệu hiện tại đang lưu trên máy chủ đám mây sẽ được tính toán rồi đem so sánh với giá trị băm có ở phía chủ sở hữu Nếu chúng khớp với nhau thì dữ liệu hiện có trên máy chủ đám mây là an toàn và không có sửa đổi nào được thực hiện Còn nếu nó không khớp thì đã có một số thay đổi được thực hiện trên dữ liệu Chủ sở hữu cần xem xét và sửa lại những thay đổi này Chủ sở hữu dữ liệu sẽ nhận được kết quả đầu ra dưới dạng một báo cáo chi tiết
Bước 4: Chia sẻ dữ liệu
Quá trình chia sẻ dữ liệu trong đó chủ sở hữu dữ liệu chia sẻ dữ liệu của họ với những người dùng được ủy quyền Để chia sẻ, danh sách truy cập được tạo bởi chủ sở hữu Danh sách này chứa tên, thông tin nhận dạng cũng như quyền truy cập của những người dùng được ủy quyền Để giải mã được những tệp dữ liệu, khóa bí mật của chủ sở hữu sẽ được gửi qua email cho người dùng Bằng cách này, bảo mật dữ liệu vẫn sẽ được duy trì Quyền truy cập của người dùng được chia thành hai dạng là Chỉ đọc (Read Only) và Đọc và Viết (Read and Write) được mô tả như sau:
bất kỳ sửa đổi nào trên đó
Đọc và Viết: Người dùng có quyền này có thể thực hiện cả hai thao tác Đọc và Ghi trên tệp
4.2: Tính bảo mật của hệ thống
Trong phần này, một cuộc thảo luận không chính thức về bảo mật được đề xuất như sau
- Bảo mật
Trong mô hình này, mã hóa được thực hiện để bảo mật dữ liệu Đầu tiên, dữ liệu được
mã hóa bằng RSA, tạo ra khóa công khai và khóa bí mật Tệp được mã hóa này sau đó được tải lên trên các máy chủ đám mây Trong trường hợp nếu có kẻ tấn công muốn lấy dữ liệu thì chúng không thể lấy được vì không có khóa bí mật Nhờ đó, dữ liệu được bảo mật với những người dùng khác
- Kiểm soát truy nhập
Để chia sẻ an toàn dữ liệu, cơ chế kiểm soát truy nhập hai lần được sử dụng Thứ nhất
là quyền truy cập vào tệp được cấp bởi chủ sở hữu và được quản lý bởi nhà cung cấp dịch
vụ đám mây Nếu bất kỳ người dùng nào muốn truy cập vào dữ liệu, danh tính của họ phải được CSP xác thực Thứ hai là chỉ cung cấp dữ liệu dưới dạng mã hóa Khi người dùng truy cập vào một tệp dữ liệu, hệ thống sẽ yêu cầu họ tải xuống để đọc Tuy nhiên dữ liệu tải về này là bản đã được mã hóa và người dùng cần có khóa bí mật để giải mã chúng Bằng cách này, bảo mật của dữ liệu được duy trì tránh những trường hợp kẻ tấn công sử dụng mã độc để đánh cắp dữ liệu