MÃ HÓA ĐỐI XỨNG

45 2.4K 25
MÃ HÓA ĐỐI XỨNG

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

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

Thông tin tài liệu

MÃ HÓA ĐỐI XỨNG

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO __________ ĐỒ ÁN MÔN HỌC BẢO MẬT THÔNG TIN CHƯƠNG 6: HÓA ĐỐI XỨNG Sinh viên thực hiện: Trần Thị Huyền 08110227 Nguyễn MinhNhật 08110168 Tp. Hồ Chí Minh Tháng 04/2011 1 Tóm tắt chương: Hệ DES Des được xem như là chuẩn hóa dữ liệu cho các ứng dụng. Song căn cứ vào lỗ hổng tiềm năng của DES đối với việc tấn công hàng loạt, đã tạo ra một sự quan tâm đáng kể về việc tìm một giải pháp thay thế đó là sử dụng nhiều hoá với DES và nhiều khóa mã: DES 2 lớp, DES 3 lớp 2 khóa mã, DES 3 lớp 3 khóa mã. DES 2 lớp có thể bị thám bằng việc tấn công dùng xác suất. 3DES với 2 khóa là phương án thay thế khá thông dụng cho DES. Trong thực tế người sử dụng 3 DES với 2 khóa cảm thấy một vài lo âu. Vì vậy, nhiều nhà nghiên cứu ngày nay cảm thấy sử dụng 3DES 3 khóa là giải pháp thay thế ưa thích hơn. Chế độ hoạt động hóa theo khối Chế độ hoạt động hóa theo khối có 5 kiểu điển hình: kiểu electric codebook, kiểu chuỗi khối hóa, kiểu phản hồi hóa, kiểu phản hồi đầu ra, và kiểu máy đếm. • Kiểu electric codebook (ECB): Thông điệp được chia thành các khối độc lập, được hóa riêng rẽ. Các khối hoàn toàn độc lập với nhau. • Kiểu hóa chuỗi khối (CBC): Thông điệp cũng được chia thành các khối nhưng có liên kết với nhau trong qui trình hóa. Các khối hóa có liên kết với chuỗi văn bản nguồn. Sử dụng vector khởi tạo IV nhằm không để kẻ thứ 3 đoán được thông điệp gửi và nhận. • Kiểu phản hồi hóa (CFB): Thông điệp cũng được chia thành các khối, kết quả được dùng làm đầu vào cho vòng sau. Nếu lỗi xảy ra sẽ lan truyền cho các khối sau đó. • Kiểu phản hồi đầu ra (OFB): Thông điệp cũng được chia thành các khối có liên kết với nhau, sử dụng thanh ghi dịch. Nếu lỗi xảy ra sẽ không ảnh hưởng đến khối kế tiếp. • Kiểu máy đếm (CTR): Máy đếm được hóa và sau đó XOR với bản nguồn để tạo ra bản mã, sử dụng tính năng song song. Phương thức hóa dòng (stream cipher) Phương thức hóa dữ liệu theo từng bit. Một dòng điển hình sẽ hóa bản rõ mỗi lần được 1 byte mặc dù dòng có thể được thiết kế để hoạt động mỗi lần trên 1 bit hay trên những đơn vị lớn hơn 1 byte. Trong cấu trúc này, một khóa được đưa vào một bộ sinh chuỗi bit ngẫu nhiên giả tạo ra được một dòng những bộ đếm 8 bit bề ngoài có vẻ như ngẫu nhiên. Dữ liệu ra của bộ sinh, được gọi là dòng khóa, kết hợp mỗi lần 1 byte với dòng plaintext sử dụng phép toán đảo bit loại trừ OR (XOR). Thuật toán RC4 RC4 là loại dòng được Ron Rivest thiết kế cho RSA Security. RC4 là dòng với độ dài khóa không cố định cùng những thao tác định hướng byte. Thuật toán dựa trên cách sử dụng phép hoán vị ngẫu nhiên. Thuật toán đối xứng RC4 được ứng dụng trong WEP cung cấp bảo mật cho dữ liệu trên mạng không dây. 2 Chương 6: hóa đối xứng 6.1 Quá trình hóa tổ hợp và DES 3 lớp…………………………… .Trang 5 DES 2 lớp…………………………………………………………Trang 5 DES 3 lớp với 2 khóa Trang 10 DES 3 lớp với 3 khóa…………………………………………… Trang 15 6.2 Chế độ hoạt động của kiểu hóa theo khối……………………….Trang 16 Kiểu Electronic Codebook (ECB)….…………………………… .Trang 17 Kiểu hóa chuỗi khối (CBC)………………………………… .Trang 19 Kiểu phản hồi hóa (CFB)…………………………………… .Trang 21 Kiểu phản hồi đầu ra (OFB).…………………………………… Trang 24 Kiểu máy đếm (CTR) …………………………………………….Trang 25 6.3 hóa dòng và RC4……………………………………………… Trang 27 Cấu trúc hóa dòng…………………………………………… Trang 27 Thuật toán RC4……………………………………………………Trang 31 6.4 Giới thiệu sách đọc và Website………………………………………Trang 36 6.5. Thuật ngữ then chốt, câu hỏi ôn tập, và vấn đề………………………Trang 37 Thuật ngữ then chốt……………………………………………… .Trang 37 Câu hỏi ôn tập………………………………………………………Trang 38 Bài toán…………………………………………………………… Trang 38 3 “ Tôi gần như quen với tất cả các dạng của viết bảo mật, và chính tôi là tác giả của những nghiên cứu vặt theo chủ đề, trong đó tôi phân tích 160 hóa riêng biệt”, theo Holmes. Cuộc phiêu lưu của những người khiêu vũ, Arthur Conan Doyle. Chương này tiếp tục cho chúng ta thảo luận về hóa đối xứng, bắt đầu với chủ đề háo tổ hợp, được sử dụng rộng rãi nhất trong qui trinh hóa tổ hợp là DES 3 lớp. Chương tiếp theo đề cập đến chế độ hoạt động của kiểu hóa theo khối, chúng ta nhận thấy 3 cách khác nhau để đưa hóa theo khối đến bản nguồn với mỗi ưu điểm riêng và ứng dụng cụ thể. 4 Trọng tâm: • hóa tổ hợp là kỹ thuật trong đó thuật toán háo được dùng nhiều thời gian. Trong giải pháp đầu tiên, bản nguồn được chuyển thành bản sử dụng thuật toán hóa. Bản này sau đó được dùng như đầu vào và thuật toán được áp dụng lại. Tiến trình này được lặp đi lặp lại cho bất kì giai đoạn nào. • DES 3 lớp sử dụng 3 giai đoạn trong thuật toán DES, dùng tổng cộng 2 hoặc 3 khóa riêng biệt. • Kiểu hoạt động là kỹ thuật cải tiến hiệu quả của giải thuật hóa hay tương thích giải thuật cho ứng dụng, như là đưa háo theo khối đến chuỗi dữ liệu khối hoặc dữ liệu dòng. • 5 kiểu hoạt động được chuẩn hóa cho việc sử dụng hóa khối đối xứng như là: kiểu electric codebook, kiểu chuỗi khối hóa, kiểu phản hồi hóa, kiểu phản hồi đầu ra, và kiểu máy đếm. • hóa theo luồng là thuật toán hoá đối xứng, trong đó đầu ra hóa được tạo ra từng bit một, hoặc từng byte một cho luồng đầu vào văn bản nguồn, được sử dụng rộng rãi như thuật hóa là RC4. Cuối cùng, chương này phát biểu chủ đề hóa luồng đối xứng, khác với cách hóa khối đối xứng, chúng ta cũng thấy quan trọng nhất như hóa, RC4. 6.1. Quá trình hóa tổ hợp và DES 3 lớp Căn cứ vào lỗ hổng tiềm năng của DES đối với việc tấn công hàng loạt, đã tạo ra một sự quan tâm đáng kể về việc tìm một giải pháp thay thế. Một phương pháp đó là thiết kế một thuật toán mới hoàn toàn, AES là ví dụ tiêu biểu. Một giải pháp khác, sẽ bảo tồn đầu tư hiện có trong phần mềm và thiết bị, đó là sử dụng nhiều hoá với DES (Chuẩn hoá dữ liệu) và nhiều khóa mã. Chúng ta bắt đầu bằng cách kiểm tra ví dụ đơn giản nhất của giải pháp thứ hai này. Sau đó chúng ta xét về phương pháp chuẩn hóa dữ liệu 3 lớp (3DES) được chấp nhận rộng rãi. DES 2 lớp Hình thức đơn giản nhất của quá trình hóa tổ hợp có hai giai đoạn hóa và hai khóa ( Hình 6.1a ) . Cho một bản nguồn (plaintext) P thô và hai khóa hóa K 1 và K 2 , bản (ciphertext) C được tạo ra như sau C = E(K 2 , E(K 1 , P)) 5 Hình 6.1. hoá tổ hợp Quá trình giải đòi hỏi những khóa phải được áp dụng theo trật tự ngược lại: P = D (K 1 , D (K 2 , C)) 6 Đối với DES thì nhìn bề ngoài, giản đồ này có chứa độ dài của khóa 56 x 2 = 112 bits, dẫn đến việc độ dài ghi sẽ tăng lên đáng kể. Tuy nhiên ta cũng cần nghiên cứu kĩ lưỡng hơn về thuật toán này. Giảm thiểu đến từng giai đoạn đơn lẻ (Reduction to a Single Stage) Giả sử điều đó là đúng cho DES, với mọi giá trị khóa 56 bits, dựa vào bất kì 2 khóa K 1 , K 2 nào thì cũng sẽ tìm được 1 khóa K 3 tương ứng. Phương trình 6 – 1: E (K 2 , E(K 1 , P)) = E (K 3 , P) Nếu thuộc trường hợp này thì quá trình hóa đôi và thực ra là bất kì giai đoạn nào của quá trình hóa tổ hợp bằng DES cũng sẽ trở nên vô ích, bởi kết quả cũng sẽ tương đương với một quá trình hóa đơn bằng một khóa đơn 56 bit. Xét theo bề ngoài thì Phương trình (6.1) có vẻ không cố định được. Hãy xét đến việc hóa bằng DES là một phép ánh xạ các khối kí hiệu 64 bit đến các khối 64 bit. Thực ra, phép ánh xạ có thể xem như một sự hoán vị. Nghĩa là, nếu chúng ta xem xét tất cả 264 khối dữ liệu vào có thể thì hóa DES với một khóa cụ thể sẽ ánh xạ từng khối vào một khối độc nhất 64 bit. Mặt khác, nếu hai khối dữ liệu 7 vào đã cho được ánh xạ đến cùng một khối dữ liệu xuất thì sau đó quá trình giải sẽ không thể khôi phục lại đoạn văn bản gốc. Với 264 dữ liệu vào có thể, thì sẽ có bao nhiêu phép ánh xạ khác nhau để tạo ra một sự hoán vị cho những khối dữ liệu vào? Ta có thể dễ dàng nhận thấy trị số sẽ là: Mặt khác, DES xác định một phép ánh xạ khác nhau cho mỗi khóa khác nhau, đối với tổng cộng số cách gán: 2 56 > 10 17 Vì thế, cũng hợp lý khi giả định rằng nếu DES được sử dụng 2 lần bằng 2 khóa khác nhau thì sẽ tạo ra một trong số nhiều phép ánh xạ không hề được xác định bởi ứng dụng đơn lẻ của DES. Mặc dù có nhiều bằng chứng ủng hộ cho giả thuyết này nhưng mãi đến năm 1992 thì điều này mới được chứng minh [CAMP92]. Tấn công dùng xác suất (Meet-in-the-middle attack) Như vậy, việc sử dụng DES 2 lớp dẫn đến một phép ánh xạ không tương đương với một thuật hóa đơn DES. Tuy nhiên có một cách để thâm nhập hệ thống này, một cách không lệ thuộc vào bất kì đặc tính riêng biệt nào của DES nhưng lại sẽ hoạt động chống lại bất kì mật hóa khối. 8 Thuật toán được biết đến như là một dạng tấn công dùng xác suất, lần đầu tiên được mô tả trong [DIF77], dựa trên sự quan sát như sau, nếu ta có C = E(K 2 , E(K 1 ,P)) Thì (xem biểu đồ 6.1a) X = E(K 1 , P) = D(K 2 , P) Dựa vào một cặp đã biết, (P, C), quá trình thâm nhập tiến hành như sau. Đầu tiên, hóa P cho tất cả 256 giá trị có thể có của K 1 . Lưu lại những kết quả này trên 1 bảng biểu, rồi phân loại bảng này dựa trên những giá trị của X. Tiếp đó giải C, sử dụng tất cả 256 giá trị có thể của K 2 . Khi mỗi quá trình giải được tạo ra, kiểm tra kết quả với bảng biểu xem có khớp hay không. Nếu khớp thì thử hai khóa kết quả với một cặp văn bản rõ – bản đã biết mới. Nếu hai khóa đó tạo ra bản đúng thì chấp nhận chúng là những khóa đúng. Đối với bất kì bản nguồn (plaintext) đã cho P nào, DES 2 lớp cũng có thể tạo ra 2 64 giá trị bản mã. Thực vậy, DES đôi sử dụng một khóa dài 112 bit, để có được 2 112 khóa có thể có. Vì thế, trung bình đối với 1 văn bản gốc đã cho P, số khóa 112 bit sẽ tạo ra 1 bản đã cho C là 2 112 / 2 64 = 2 48 . Như vậy, quá trình nói trên sẽ 9 tạo ra khoảng 2 48 báo động giả trên cặp đầu tiên (P, C). Một lý luận tương tự cũng chỉ ra rằng bằng mỗi 64 bit bổ sung của văn bản rõ và bản đã biết thì tỉ lệ báo động giả được giảm đến 2 48-64 = 2 -16 . Nói cách khác, nếu tấn công bằng xác suất được thực hiện trên hai khối của bản ró – bản đã biết thì khả năng khóa đúng sẽ được xác định là 2 -16 . Kết quả là việc tấn công một bản rõ đã biết sẽ thành công dựa trên DES đôi có kích thước khóa 112 bit, với nỗ lực trên bậc 2 56 , không nhiều hơn bậc 2 55 đòi hỏi đối với DES đơn. DES ba lớp với 2 khóa (Triple DES with Two Keys) Một cách đếm hiển nhiên trong tấn công bằng xác suất là sử dụng ba giai đoạn của quá trình hóa với ba khóa khác nhau. Việc này làm tăng hao phí của tấn công văn bản rõ đã biết tới 2 112 , quá mức cái gọi là thực tiễn hiện tại và xa trong tương lai. Tuy nhiên, nó cũng có nhược điểm của việc đòi hỏi độ dài khóa 56 x 3 = 118 bit là hơi khó điều khiển. Để thay thế, Tuchman đã đề ra phương thức hóa ba lần chỉ sử dụng có 2 khóa [TUCH79]. Vận hành theo chuỗi hóa – giải hóa (EDE) (Sơ đồ 6.1b): C = E(K 1 , D(K 2 , E(K 1 , P))) 10 [...]... thuật hóa và không phải giải giải thuật Những vấn đề này đa số khi sự giải giải thuật khác đáng kể so với giải thuật hóa, như nó làm cho AES Ngoài ra, khóa giải không cần được thực thi 6.3 hóa dòng và RC4 Trong phần này chúng ta sẽ xem xét loại dòng đối xứng có lẽ là thông dụng nhất, RC4 Chúng ta sẽ bắt đầu khái quát chung về cấu trúc hóa dòng rồi nghiên cứu về RC4 Cấu trúc hóa. .. lí, một hóa dòng có thể an toàn ngang với khối với độ dài khóa so sánh được Ưu điểm chính của 1 hóa dòng là những dòng hầu như lúc nào cũng nhanh hơn và sử dụng ít số hơn nhiều so với khối Ví dụ trong phần này, RC4 có được thực thi chỉ bằng một vài dòng mật Bảng 6.2 sử dụng dữ liệu từ [RESC01] so sánh thời gian thực hiện của RC4 với ba khối đối xứng nổi tiếng Ưu điểm của khối... nguồn đã được hóa Điển hình, máy đếm được khởi tạo tới giá trị nào đó và sau đó được tăng lên 1 cho mỗi khối kế tiếp ( modulo với b là kích thước khối) Đối với hóa, máy đếm được hóa và sau đó XOR với khối văn bản nguồn để tạo ra khối văn bản mã; không có sự móc nối Đối với giải mã, cùng 1 chuỗi những giá trị máy đếm được sử dụng, với mỗi máy đếm được hóa XOR với khối văn bản để khôi phục... gồm cả chức năng hoá lẫn giao thức tạo ra sử dụng chúng 6.4 Giới thiệu sách đọc và Website [SCHN96] cung cấp rất nhiều chi tiết về mật khối đối xứng cũng như một số thuật toán hóa theo luồng [ROBS95b] là một xét nghiệm thú vị và đáng giá của các vấn đề thiết kế liên quan đến khối mã hóa đối xứng [KUMA97] chứa đựng một thảo luận tuyệt vời và dài những nguyên lý thiết kế hóa theo luồng.Một... văn Những giá trị đơn của việc bản gốc được hoá độc truyền tải bảo mật ( e lập dùng khóa giống nhau g., khóa hóa ) Cipher Block Chaining (CBC) Đầu vào cho thuật toán hóa được XOR 64 bit kế tiếp của văn bản gốc và 64 bit có trước của văn bản hoá Đầu vào được xử lí j bit đồng thời.Văn bản hoá có trước được dùng như đầu vào cho thuật toán hóa để tạo đầu ra ngẫu nhiên, được XOR với văn... được hiển thị trên trang 189 trong bản in ) hóa dòng cũng tương tự như mật khóa sử dụng 1 lần (one-time pad) được nói đến ở chương 2 Khác nhau ở chỗ là one-time pad sử dụng dòng số ngẫu nhiên có thực trong khi hóa dòng sử dụng dòng số theo chuỗi ngẫu nhiên giả [KUMA97] liệt kê những chú ý quan trọng về thiết kế đối với hóa dòng như sau: 1 Chuỗi hóa nên có chu kì lớn Bộ sinh chuỗi số ngẫu... khả thi của việc mã hóa để hóa khối có thể được dùng Khi có những yêu cầu và ứng dụng mới, NIST mở rộng danh sách chế độ yêu cầu lên năm trong ấn phẩm đặc biệt 800 - 38A Những chế độ này là nhằm để dùng bất kì mã hóa khối đối xứng nào, bao gồm AES và DES 3 lớp Chế độ được tóm tắt trong bảng 6.1 và mô tả ngắn gọn trong phần còn lại của phần này Bảng 6.1 Chế độ hoạt động của kiểu hóa theo khối... khối Kiểu hóa chuỗi khối (CBC) Để khắc phục những khiếm khuyết bảo mật của ECB, chúng tôi giới thiệu kỹ thuật trong đó khối văn bản gốc giống nhau, nếu lặp lại, tạo ra khối văn bản khác nhau Một cách đơn giản để đáp ứng yêu cầu này là kiểu hóa chuỗi khối (CBC) ( Hình 6.4 ) Trong kiểu này, đầu vào thuật toán hóa là XOR các khối văn bản gốc hiện tại và khối văn bản trước đó; khóa giống... thể liên kết chuỗi khối văn bản gốc với nhau Đầu vào hàm hoá cho mỗi khối văn bản gốc sinh ra không có mối liên hệ cố định với khối văn bản Do đó, mẫu lặp lại của b bit không được lộ ra Hình 6.4 Kiểu hóa chuỗi khối ( CBC ) 19 Đối với việc giải mã, mỗi khối đã được giải thông qua thuật toán giải Kết quả được XOR với khối văn bản có trước để tạo ra khối văn bản gốc Để xem công việc... hóa (Cipher Feedback Mode) Qui trình DES chủ yếu là kỹ thuật hoá theo khối, sử dụng khối b- bit Tuy nhiên, có thể chuyển DES thành hóa theo luồng, sử dụng như phản hồi hóa ( CFB) hoặc kiểu phản hồi đầu ra hóa theo luồng loại bỏ nhu cầu thêm thông điệp để được số nguyên của khối Nó cũng có thể thực thi theo thời gian thực Vì vậy, nếu luồng ký tự được truyền, mỗi kí tự có thể được hoá

Ngày đăng: 26/04/2013, 14:55

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan