Chương 12: Các thuật toán Hash và MAC
I. Các thuật toán Hash và MAC (Hash and MAC Algorithms)
Hàm Hash
Nén mẩu tin vê kích thước cố định
Bằng cách xử lý mẩu tin theo từng khối
Theo một hàm nén nào đó
sử dụng mã khối hoặc tuỳ chọn
Mã xác thực mẩu tin (MAC)
Phần xác thực mẩu tin có kích thước cố định
Để cung cấp tính xác thực cho mẫu tin
Bằng cách sử dụng mã khối với chế độ móc nối hoặc hàm Hash
26 trang |
Chia sẻ: khicon_1279 | Lượt xem: 3509 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Mã hóa và an ninh mạng ( Chapter 12), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 12: Các thuật toán Hash và MAC Fourth Edition by William Stallings Lecture slides by Lawrie Brown Các thuật toán Hash và MAC Hash and MAC Algorithms Hàm Hash Nén mẩu tin vê kích thước cố định Bằng cách xử lý mẩu tin theo từng khối Theo một hàm nén nào đó sử dụng mã khối hoặc tuỳ chọn Mã xác thực mẩu tin (MAC) Phần xác thực mẩu tin có kích thước cố định Để cung cấp tính xác thực cho mẫu tin Bằng cách sử dụng mã khối với chế độ móc nối hoặc hàm Hash One-way HASH function One-way HASH function Secret value is added before the hash and removed before transmission. Hash Algorithm Structure Thuật toán Hash an toàn SHA Secure Hash Algorithm SHA có nguồn gốc từ NIST & NSA vào năm 1993 Được nâng cấp vào 1995 như SHA-1 Chuẩn US được sử dụng với sơ đồ chữ ký điện tử DSA Chuẩn là FIPS 180-1 1995 và Internet RFC3174 Thuật toán là SHA, còn chuẩn là SHS Dựa trên thiết kế MD4 với một số khác biệt Tạo nên giá trị Hash 160 bit Các kết quả 2005 về an toàn của SHA-1 đề xuất sử dụng nó trong tương lai Message Digest Generation Using SHA-1 SHA-1 Processing of single 512-Bit Block Chuẩn Hash an toàn nâng cao NIST xuất bản bản sửa FIPS 180-2 vào năm 2002 Bổ sung 3 phiên bản cua SHA: SHA-256, SHA-384, SHA-512 Được thiết kế tương thích với việc tăng độ an toàn được cung cấp bởi chuẩn mã nâng cao AES Cấu trúc và chi tiết giống SHA-1 Suy ra việc phân tích cũng tương tự Nhưng mức độ an toàn cao hơn nhiều SHA-512 Overview Hàm nén SHA-512SHA-512 Compression Function Là trọng tâm của thuật toán Xử lý mẩu tin với các khối 1024 bit Bao gồm 80 vòng cập nhật bộ đệm 512 bit Sử dụng giá trị Wt 64 bit được lấy ra từ block hiện tại của mẩu tin Và hằng số quay vòng dựa trên căn bậc ba của 80 số nguyên tố đầu tiên SHA-512 Round Function SHA-512 Round Function Hàm Hash Whirlpool Bây giờ xem xét hàm Hash Whirlpool Được tán thành bởi dự án NESSIE châu Âu Sử dụng biến đổi bên trong của AES làm hàm nén Hướng tới sử dụng mã khối như trước Chất lượng thực hiện sánh được với các thuật toán nổi tiếng như SHA Whirlpool Overview Mã khối Whirlpool WWhirlpool Block Cipher W Được thiết kế riêng cho việc sử dụng hàm Hash Với độ an toàn và hiệu quả như AES Nhưng với kích thước khối 512 và Hash cũng vậy Hàm và cấu trúc tương tự như AES nhưng Đầu vào được ánh xạ khéo léo vào hàng Có 10 hàng Và đa thức nguyên tố khác cho GF(28) Sử dụng giá trị và thiết kế S-box khác Whirlpool Block Cipher W An toàn và chất lượng thực hiện của Whirlpool Whirlpool mới được đề xuất Nên có ít kinh nghiệm sử dụng Nhưng có nhiều mã AES đã được dùng Có thể cần nhiều thiết bị phần cứng hơn SHA, nhưng với kết quả thực hiện tốt hơn Hàm Hash có khoá giống như MAC Keyed Hash Functions as MACs Muốn có MAC dựa trên hàm Hash Vì hàm Hash thông thường nhanh hơn Mã nguồn của hàm Hash được phổ biến rộng rãi Là Hash bao gồm cả khoá với mẩu tin Được đề xuất gốc là KeyedHash = Hash (Key | Message) Có một số điểm yếu đã được tìm thấy Tất nhiên dẫn đến sự phát triển HMAC HMAC Được thiết kế theo chuẩn Internet RFC2104 Sử dụng hàm Hash trên mẩu tin HMACK = Hash [(K+ XOR opad) || Hash [(K+ XOR ipad) || M)]] Trong đó K+ là khoá đệm mở rộng của K Và opad, ipad là các hằng bộ đệm đặc biệt Như vậy cần tính nhiều hơn 3 hàm Hash so với nếu bản tin đứng một mình Bất cứ hàm Hash nào cũng có thể được sử dụng MD5, SHA-1, RIPEMD-160, Whirlpool HMAC Overview An toàn HMAC - HMAC Security Sự an toàn được chứng minh liên quan đến thuật toán Hash nền Tấn công HMAC yêu cầu hoặc: Tấn công vét cạn khoá sử dụng Tấn công ngày sinh nhật (tuy cần quan sát số lượng rất lớn bản tin) Chọn hàm Hash được sử dụng dựa trên tốc độ và các ràng buộc an toàn CMAC Trước kia đã xét DAA (CBC-MAC) Được sử dụng rộng rãi trong các chính phủ và công nghiệp Nhưng kích thước bản tin có giới hạn Có thể khắc phục bằng cách sử dụng 2 khoá và bộ đệm Viết tắt từ Mã xác thực mẩu tin dựa trên mã (Cipher-based Message Authentication Code (CMAC) Được đề xuất bởi NIST SP800-38B CMAC Overview Summary have considered: some current hash algorithms SHA-512 & Whirlpool HMAC authentication using hash function CMAC authentication using a block cipher