Nó nghiên cứu về những nguy cơ gây mất an toàn dữ liệu và các biện pháp đảm bảo an toàn, tránh khỏi những nguy cơ trong quá trình sử dụng hình thức kinh doanh thương mại điện tử được tốt
Trang 1THẢO LUẬN AN TOÀN DỮ LIỆU (Nhóm 7)
Đề tài: Tìm hiểu, đưa ra ưu và nhược điểm các phiên bản của các thuật toán: DES, Triple DES, AES
MỤC LỤC
A.Lời mở đầu
B Nội dung
I Tổng quan về mã hóa dữ liệu
1 Khái niệm mã hóa dữ liệu
2 Quá trình phát triển
3 Các phương pháp mã hóa
II Các thuật toán mã hóa thường dùng
1 Mã hóa DES
1.1 Khái niệm
1.2 Lịch sử phát triển
1.3 Mô tả thuật toán
1.4 Quá trình thay thế
1.5 Đánh giá
1.5.1 ưu điểm
1.5.2 nhược điểm
2 Thuật toán Triple
2.1 Khái niệm
2.2 Lịch sử phát triển
2.3 Mô tả thuật toán
2.4 Quá trình thay thế
2.5 Đánh giá
2.5.1 Ưu điểm
2.5.2 Nhược điểm
3 Thuật toán AES
3.1 Khái niệm
3.2 Lịch sử phát triển
3.3 Mô tả thuật toán
3.4 Quá trình thay thế
3.5 Đánh giá
3.5.1 Ưu điểm
3.5.2 Nhược điểm
C Kết luận
Trang 2MỞ ĐẦU
Thương mại điện tử đang và sẽ phát triển rất mạnh trên toàn thế giới Sự xuất hiện và phát triển của TMĐT không chỉ giúp cho việc kinh doanh của các doanh nghiệp thuận lợi hơn mà còn giúp cho người tiêu dùng những lợi ích về mặt tiết kiệm thời gian, công sức… Vậy để sự tồn tại của TMĐT sẽ lâu dài thì sự xuất hiện của An Toàn Dữ Liệu là rất quan trọng và cần thiết
Nó nghiên cứu về những nguy cơ gây mất an toàn dữ liệu và các biện pháp đảm bảo an toàn, tránh khỏi những nguy cơ trong quá trình sử dụng hình thức kinh doanh thương mại điện tử được tốt hơn thì việc nghiên cứu để đưa
ra cách cách mã hóa bằng các thuật toán cũng là một trong số những biện pháp đảm bảo an toàn trong dữ liệu như : thuật toán DES, Triple DES, AES Tuy nhiên, việc mã hóa bằng các thuật toán này không chỉ là có những ưu điểm nhất định mà bên cạnh đó nó còn có những nhược điểm Vì vậy, việc nhóm chúng tôi tìm hiểu và đưa ra ưu nhược điểm của các thuật toán trên để giúp người sử dụng công nghệ thông tin nói chung và kinh doanh TMDT nói riêng sẽ có cách nhìn và biết cách lựa chọn thuật toán nào phù hợp với từng đặc tính của nó đúng đắn hơn
Trang 3
NỘI DUNG
I Tổng quan về mã hóa dữ liệu
1 Khái niệm mã hóa dữ liệu
+ Khái niệm: Mã hóa là phương thức biến đổi thông tin từ định dạng thông thường thành một dạng khác ( mã hóa) không giống như ban đầu nhưng có thể khôi phục lại được ( giải mã) ư
+ Mục đích:
Đảm bảo tính bảo mật của thông tin khi chúng được truyền trong những môi trường có độ an toàn không cao
Trong quá trình mã hóa thông tin có sử dụng một giá trị đặc biệt gọi là khóa mã (key)
2 Quá trình phát triển
+ Trước năm 1949:
Mã hóa được coi là một nghành mang tính nghệ thuật
Các phép mã hóa còn đơn giản, chủ yếu là một phép thay thế ký tự nào đó
+ Sau năm 1949:
Bùng nổ trong lý thuyết về mã hóa, mã hóa đã được coi là một ngành khoa học thực sự
Ra đời phương pháp mã hóa công khai
Ra đời của khái niệm về chữ ký điện tử
3 Các phương pháp mã hóa
+ Phương pháp mã hóa đối xứng:
Khái niệm:
Hệ thống mã hóa mà bên gửi và bên nhận tin cùng sử dụng chung 1 khóa =>
mã hóa và giải mã đều dùng chung 1 khóa chung
Kỹ thuật mã hóa duy nhất trước 1970
và hiện rất phổ biến
Còn gọi là mã hóa riêng, khóa bí mật
Mô hình mã hóa đối xứng
Trang 4
X Y X
K K
+ Phương pháp mã hóa khóa công khai:
Khái niệm:
Mã hóa trong đó sử dụng một cặp khóa, một khóa công khai và một khóa bí mật
Khóa công khai:
Được sinh ra từ khóa bí mật bởi một phép biến đổi một chiều, nghĩa là biến đổi ngược lại là không thể thực hiện được
Khóa công khai ai cũng có thể biết
Dùng để mã hóa thông điệp và
để thẩm tra chữ ký
Khóa bí mật:
Chỉ nơi giữ được biết
Để giải mã thông điệp và tạo chữ ký
Mô hình mã hóa khóa công khai:
X Y X
Kc Kr
Bẻ khóa
Người gửi A Mã
hóa Giải mã Người nhận B
Khóa mã
Kênh truyền
Bẻ khóa
Người gửi A Mã hóa Giải mã Người nhận B
Trang 5
B sinh cặp khóa : Khóa công khai
Kc và khóa bí mật Kr
B gửi Kc cho A và ai cũng có thể biết
A dùng Kc mã hóa thông điệp và gửi lại cho B
B dùng Kr để giải mã thông điệp của A
II Các thuật toán mã hóa thường dùng
1 Mã hóa DES
1.1 Khái niệm
DES (viết tắt của Data Encryption Standard, hay Tiêu chuẩn Mã hóa
Dữ liệu) là một phương pháp mật mã hóa được FIPS (Tiêu chuẩn Xử lý
Thông tin Liên bang Hoa Kỳ) chọn làm chuẩn chính thức vào năm 1976 Sau đó chuẩn này được sử dụng rộng rãi trên phạm vi thế giới Ngay từ đầu, thuật toán của nó đã gây ra rất nhiều tranh cãi, do nó bao gồm các thành phần thiết kế mật, độ dài khóa tương đối ngắn, và các nghi ngờ về cửa sau
để Cơ quan an ninh quốc gia Hoa Kỳ (NSA) có thể bẻ khóa Do đó, DES đã được giới nghiên cứu xem xét rất kỹ lưỡng, việc này đã thúc đẩy hiểu biết hiện đại về mật mã khối (block cipher) và các phương pháp thám mã tương ứng
1.2 Lịch sử phát triển
Khởi nguyên của thuật toán đã có từ đầu thập niên 1970 Vào năm
1972, sau khi tiến hành nghiên cứu về nhu cầu an toàn máy tính của chính
phủ Hoa Kỳ, Cục Tiêu chuẩn Liên bang Hoa Kỳ (National Bureau of
Standard - NBS), hiện nay đã đổi tên thành Viện Tiêu chuẩn và Công nghệ
Quốc gia Hoa Kỳ (National Institute of Standards and Technology - NIST),
đã nhận ra nhu cầu về một tiêu chuẩn của chính phủ dùng để mật mã hóa các thông tin mật/nhạy cảm Vào ngày 15 tháng 5 năm 1973, sau khi tham khảo với NSA, NBS đưa ra kêu gọi thiết kế một thuật toán mã hóa có thể đáp ứng được các tiêu chuẩn nghiêm ngặt Tuy nhiên không có đề xuất nào
Khóa mã của B
Trang 6đáp ứng được yêu cầu đề ra Ngày 27 tháng 8 năm 1974, NBS đưa ra kêu gọi lần thứ hai Lần này công ty IBM đã đưa ra một đề xuất có thể chấp nhận được Đề xuất này được phát triển trong những năm 1973-1974 dựa trên một thuật toán đã có từ trước - thuật toán mật mã Lucifer của Horst Feistel Đội ngũ tại công ty IBM liên quan tới quá trình thiết kế bao gồm: Feistel, Walter Tuchman, Don Coppersmith, Alan Konheim, Carl Meyer, Mike Matyas, Roy Adler, Edna Grossman, Bill Notz, Lynn Smith và Bryant Tuckerman
1.3 Mô tả thuật toán
DES là thuật toán mã hóa khối, nó xử lý từng khối thông tin của bản
rõ có độ dài xác định và biến đổi theo những quá trình phức tạp để trở thành khối thông tin của bản mã có độ dài không thay đổi Trong trường hợp của DES, độ dài mỗi khối là 64 bit DES cũng sử dụng khóa để cá biệt hóa quá trình chuyển đổi Nhờ vậy, chỉ khi biết khóa mới có thể giải mã được văn bản mã Khóa dùng trong DES có độ dài toàn bộ là 64 bit Tuy nhiên chỉ có
56 bit thực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra Vì thế,
độ dài thực tế của khóa chỉ là 56 bit
Trang 71.4 Quá trình thay thế
Từ cuối thập niên 1980, đầu thập niên 1990, xuất phát từ những lo ngại về độ an toàn và tốc độ thấp khi áp dụng bằng phần mềm, giới nghiên cứu đã đề xuất khá nhiều thuật toán mã hóa khối để thay thế DES Những ví
dụ tiêu biểu bao gồm: RC5, Blowfish, IDEA (International Data
Encryption Algorithm, hay Thuật toán mã hóa dữ liệu quốc tế), NewDES,
SAFER, CAST5 và FEAL Hầu hết những thuật toán này có thể sử dụng từ khóa 64 bit của DES mặc dù chúng thường được thiết kế hoạt động với từ khóa 64 bit hay 128 bit
Trang 8Ngay bản thân DES cũng có thể được sử dụng một cách an toàn hơn Những người sử dụng DES trước đây có thể dùng Triple DES (hay TDES) Đây là phương pháp được một trong những người phát minh ra DES miêu tả
và kiểm tra (Xem thêm FIPS PUB 46-3) Triple DES sử dụng DES ba lần cho một văn bản với những khóa khác nhau Hiện nay Triple DES được xem là an toàn mặc dù tốc độ thực hiện khá chậm Một phương pháp khác ít đòi hỏi khả năng tính toán hơn là DES-X với việc tăng độ dài từ khóa bằng cách thực hiện phép XOR từ khóa với phần thêm trước và sau khi thực hiện DES Một phương pháp nữa là GDES được đề xuất làm tăng tốc độ mã hóa
nhưng nó được chứng tỏ là không an toàn trước tấn công vi sai (differential
cryptanalysis).
Năm 2001, sau một cuộc thi quốc tế, NIST đã chọn ra một thuật toán mới, AES, để thay thế cho DES Tác giả của thuật toán được biết dưới tên là Rijndael Những thuật toán khác có tên trong danh sách cuối cùng của cuộc thi AES bao gồm: RC6, Serpent, MARS và Twofish
1.5 Đánh giá
1.5.1 Ưu điểm
Nếu dữ liệu đang lựa chọn bảo vệ chỉ có tuổi thọ vài giờ thì lựa chọn DES là hợp lỹ Phương pháp mã hoá DES nhanh hơn so với thuật toán TDES/AES
1.5.2 Nhược điểm
Hiện nay DES được xem là không đủ an toàn cho nhiều ứng dụng Nguyên nhân chủ yếu là độ dài 56 bit của khóa là quá nhỏ Khóa DES đã từng bị phá trong vòng chưa đầy 24 giờ Đã có rất nhiều kết quả phân tích cho thấy những điểm yếu về mặt lý thuyết của mã hóa có thể dẫn đến phá khóa, tuy chúng không khả thi trong thực tiễn Thuật toán được tin tưởng là
an toàn trong thực tiễn có dạng Triple DES (thực hiện DES ba lần), mặc dù trên lý thuyết phương pháp này vẫn có thể bị phá Gần đây DES đã được
Trang 9thay thế bằng AES (Advanced Encryption Standard, hay Tiêu chuẩn Mã hóa
Tiên tiến)
Mặc dù đã có nhiều nghiên cứu về phá mã DES hơn bất kỳ phương pháp mã hóa khối nào khác nhưng phương pháp phá mã thực tế nhất hiện nay vẫn là tấn công kiểu duyệt toàn bộ Nhiều đặc tính mật mã hóa của DES
đã được xác định và từ đó ba phương pháp phá mã khác được xác định với mức độ phức tạp nhỏ hơn tấn công duyệt toàn bộ Tuy nhiên các phương pháp này đòi hỏi một số lượng bản rõ quá lớn (để tấn công lựa chọn bản rõ) nên hầu như không thể thực hiện được trong thực tế
“NSA(National Standards Association) coi DES là một trong những
sai lầm lớn nhất Nếu họ biết trước rằng chi tiết của thuật toán sẽ được công bố để mọi người có thể viết chương trình phần mềm, họ sẽ không bao giờ đồng ý.”
2 Thuật toán Triple
2.1 khái niệm
3DES (Triple DES), là thuật toán mã hóa khối trong đó thông khối
thông tin 64 bit sẽ được lần lượt mã hóa 3 lần bằng thuật toán mã hóa DES với 3 chìa khóa khác nhau Thuật toán 3DES có thể minh họa như sau:
trong đó M là thông điệp cần mã hóa, k1, k2 và k3 là 3 chìa khóa
2.2 Mô tả thuật toán
Triple DES sử dụng một chìa khóa bó "" trong đó bao gồm ba DES phím , K 1, K 2 và K 3, mỗi 56 bit (không bao gồm các bit chẵn lẻ ) Các thuật toán mã hóa là:
bản mã = E K3 (D K2 (E K1 (chữ thô)))
Trang 10Tức là, DES mã hóa với 1 K, giải mã DES với K 2, sau đó mã hóa DES với
K 3
Giải mã là ngược lại:
chữ thô = D K1 (E K2 (D K3 (mã hóa)))
Tức là giải mã với 3 K, mã hóa với K 2, sau đó giải mã với K 1
Mỗi mã hóa ba mã hóa một khối 64 bit dữ liệu
Trong mỗi trường hợp hoạt động giữa là đảo ngược của việc đầu tiên và cuối cùng.Điều này giúp cải thiện sức mạnh của thuật toán khi sử dụng tùy chọn keying 2, và cung cấp tính tương thích ngược với DES với keying tùy chọn 3
2.3 Lịch sử phát triển
Triple DES là thế hệ mới của DES, nó xuất hiện sau DES Năm 1988 các chuyên gia tìm cách phá khóa cho Triple DES nhưng không rất khó
2.4 Quá trình thay thế
Triple ECB (Electronic Code Book)
Phiên bản này của Triple DES hoạt động chính xác giống chế độ ECB của DES Triple ECB là loại mã hóa được sử dụng bởi Private
Detective Đây là phương thức phổ biến nhất đang được sử dụng
Chế độ ECB
Dữ liệu được chia thành các khối 64-bit và mỗi khối được mã hóa cùng một lúc Mã hóa riêng biệt với các khối khác nhau là hoàn toàn độc lập với nhau Điều này có nghĩa rằng nếu dữ liệu được truyền qua mạng hoặc đường dây điện thoại, lỗi truyền dẫn sẽ chỉ ảnh hưởng đến khối có chứa các lỗi đó Nó cũng có nghĩa là,các khối có thể được sắp xếp lại
ECB là yếu nhất trong các phương thức khác nhau vì không có các biện pháp an ninh bổ sung được thực hiện bên cạnh các thuật toán DES cơ bản However, Tuy nhiên, ECB là cách nhanh nhất và dễ nhất để thực hiện, làm cho nó phương thức phổ biến nhất của DES được thấy trong các ứng dụng thương mại Đây là phương thức hoạt động được sử dụng bởi Private Detective
Trang 11Triple CBC (Cipher Block Chaining)
Phương pháp này rất giống với tiêu chuẩn DES chế độ CBC Như với Triple ECB, hiệu quả chính chiều dài là 168 bits và các phím được sử dụng trong cùng một cách thức, Các bit đầu tiên có hành vi giống như là vector khởi cho DES Triple ECB sau đó được thực hiện cho một khối 64-bit duy nhất của chữ thô Các bản mã kết quả là sau đó XORed với khối chữ thô tiếp theo sẽ được mã hóa, và thủ tục được lặp lại Phương pháp này cho biết thêm một lớp bảo mật để Triple DES và do đó an toàn hơn Triple ECB, mặc
dù nó không được sử dụng rộng rãi như Triple ECB
Chế độ CBC
mỗi khối của bản mã được mã hóa ECB là XORed với khối chữ thô tiếp theo sẽ được mã hóa, do đó làm cho tất cả các khối phụ thuộc vào tất cả các khối trước Điều này có nghĩa rằng để tìm thấy những chữ thô của một khối
cụ thể, bạn cần phải biết bản mã, chìa khóa, và các bản mã cho khối trước hối đầu tiên được mật mã không có bản mã trước đây, do đó, chữ thô là XORed với một số 64-bit được gọi là Vector khởi, Vì vậy, nếu dữ liệu được truyền qua mạng hoặc đường dây điện thoại và có một lỗi truyền dẫn (thêm hoặc xóa các bit), lỗi này sẽ được chuyển đến tất cả các khối tiếp theo kể từ khi mỗi khối là phụ thuộc vào cuối Nếu các bit chỉ là sửa đổi quá cảnh (như
là trường hợp phổ biến hơn) các lỗi sẽ chỉ ảnh hưởng đến tất cả các bit trong khối thay đổi, và các bit tương ứng trong khối sau đấy, các lỗi không lan truyền thêm nữa
Phương thức này hoạt động là an toàn hơn ECB vì bước thêm XOR cho biết thêm một lớp nữa vào quá trình mã hóa
2.5 Đánh giá
2.5.1 Ưu điểm
a Triple DES ECB:
Tốc độ mã hóa nhanh đơn giản dễ thực hiện nhưng tính bảo mật yếu
Mỗi khối được mã hóa độc lập với khối khác Với mỗi khóa là một kí hiệu mã hóa khác nhau
Bản rõ được mã hóa thành các khối giống hệt bản mã khối do đó nó không ẩn được các mô hình dữ liệu tốt
Trang 12Nó không cung cấp những gói tin quan trọng cần phải được bảo mật và
nó không khuyến khích được sử dụng một giao thức mật mã nào khác
Những lỗi mang tính đồng bộ có thể khôi phục được
b Triple DES CBC
2.5.2 Nhược điểm
Có mật mã tuần tự (tức là, nó không thể được song song), và rằng thông điệp phải được thêm vào một bội số của kích thước khối cơ yếu Một cách để xử lý vấn đề này cuối cùng là thông qua các phương pháp được gọi
là ăn cắp bản mã
Chỉ sử dụng một kích thước phản hồi bằng kích thước khối
Mẫu chữ thô được che giấu bởi XORing với bản mã khối trước đấy
Dữ liệu cho mã hóa khối là ngẫu nhiên
Một gói tin có thể được mã hóa bởi hơn một khóa
Chữ thô thì khó để thao tác nhưng với khối thì ngược lại
Khối đầu tiên có thể thay đổi được cho phép kiểm soát một số thay đổi trong khối này
Một lỗi mã hóa có thể ảnh hưởng đến một khối chứa đầy đủ các chữ thô và bị tương ứng trong khối tiếp theo
Phương pháp này thêm một lớp phụ nhằm mục đích bảo mật đối với TDES và do đó nó an toàn hơn triple ECB mặc dù nó không được sử dụng rộng rãi như triple ECB
3 Thuật toán AES
3.1 Khái niệm:
AES (viết tắt của từ tiếng Anh: Advanced Encryption Standard, hay Tiêu chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối được chính phủ Hoa kỳ áp dụng làm tiêu chuẩn mã hóa Giống như tiêu chuẩn tiền nhiệm