Chương 5: Chứng thực thông điệp
SHA (secure hash algorithm)
Năm 1993, NIST (national institute of standards and technology) đề xuất giải thuật SHA, tương tự như MD5 nhưng mạnh hơn và chậm hơn MD5
Được thiết kế thích hợp với AES
Các phiên bản SHA
42 trang |
Chia sẻ: vutrong32 | Lượt xem: 2802 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Chương 5: Chứng thực thông điệp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Phạm Văn ThoChương 5chứng thực thông điệp1Nội dungBảo toàn dữ liệuChứng thực thông điệpNhóm chứng thực thông điệpDùng hệ mật mãDùng MAC (Massage Authentication code)Dùng hàm hash2Các kiểu tấn công qua mạngDisclosureTraffic AnalysisMaquaradeContent modificationSequence modificationTiming modificationRepudiationEncryptionMassage AuthenticationDigital Signature3Bảo toàn dữ liệu (data integrity)Dữ liệu được truyền trên mạng không chỉ cần bảo mật mà cần được bảo toàn.Đôi khi yêu cần bảo toàn cần thiết hơn bảo mật nó.4Chứng thực thông điệp Là thủ tục để kiểm tra xem thông điệp nhận được đến từ 1 nguồn gốc rõ ràng và có bị sửa đổi hay khôngKhi nhận thông báo, người nhận cần phải biết ai gởi thông báoNgười gởi cần chứng thực (authentication) thông báo của mình5Chứng thực thông điệpBất kỳ cơ chế chứng thực thông báo hay chữ ký số đều có hay cấp:Ở mức thấp: hàm tạo giá trị chứng thực (autheticator) dùng để chứng thực thông điệpMức cao: hàm mức thấp được dùng làm cơ sở cho giao thức chứng thực, cho phép người nhận kiểm tra tính chính xác của thông điệp6Phương thức tạo mã chứng thựcCó 3 PP tạo mã chứng thựcMessage encrytion: dùng bản mã của cả thông báo như mã chứng thựcMessage authentication code (MAC): dùng hàm dựa vào khóa bí mật để tạo ra một giá trị có chiều dài cố định làm giá trị chứng thựcHash function: hàm ánh xạ thông điệp có chiều dài bất kỳ thành 1 giá trị hash có chiều dài cố định làm giá trị chứng thực 7Mã hóa thông điệp để chứng thựcĐối với mã hóa, bản thân nó cũng có thể dùng để chứng thực thông điệpMã hóa đối xứngMã hóa phi đối xứng8Dùng mã đối xứng để chứng thực thông điệpThông điệp truyền từ A đến B được mã hóa bằng khóa bí mật dùng chung cho A và B. Nếu không ai biết khóa chung này thì việc truyền thông báo là đáng tin cậy.9Dùng mã đối xứng để chứng thựcLàm sao để chứng minh thông điệp B nhận được là của A ???Thông báo chỉ có thể đến từ A vì chỉ có A mới có khóa bí mật K.Khi thông báo M được khôi phục, B biết ko có bit nào của M bị biến đổi vì không ai biết khóa bí mật K; hơn nữa không thể thay đổi một số bit bản mã để tạo ra bản rõ mong muốn được.10Dùng mã đối xứng để chứng thựcThực tế thông điệp M là một chuỗi bit ngẫu nhiên, do đó không có cách xác định một bản mã là thông điệp hợp lệĐối thủ có thể gây rối bằng cách tạo ra các thông điệp có nội dung ngẫu nhiên và giả như một thông điệp đến từ một nguồn hợp lệGiải pháp: biến bản tin từ dãy bit ngẫu nhiên thành dãy bit có cấu trúc11Dùng mã đối xứng để chứng thựcThông điệp M được đưa vào hàm F để có mã FCS, rồi thêm mã FCS vào cuối M trước khi mã hóa.B mã hóa khối nhận được thông điệp có mã FCS ở cuối. B áp dụng cùng hàm F để tính FCS, nếu FCS tính bằng FCS nhận thì thông báo được xem hợp lệ.12Chứng thực bằng mã hóa phi đối xứngNếu dùng khóa công khai Kub thì không thể chứng thực được, vì bất cứ ai cũng có thể dùng khoa công khai của B để mã hóa thông điệp13Chứng thực bằng mã hóa phi đối xứngNếu A dùng khóa riêng của mình để mã hóa thông điệp, B dùng khoa chung của A để giải mã thì có thể chứng thực thong điệp.Tuy nhiên bản rõ cầu có cấu trúc để phân biệt bản rõ thực sự với bản rõ các bit ngẫu nhiên.14Chứng thực bằng mã hóa phi đối xứngNếu muốn đảm bảo bí mật thông điệp thì:Phức tạp, phải qua 4 lần biến đổi15Message authentication code (MAC)Sử dụng 1khóa bí mật để sinh ra 1 khối dữ liệu có kích thước cố định được gọi là MAC gắn vào cuối thông điệp16Message authentication code (MAC)17Message authentication code (MAC)18Message authentication code (MAC)19Message authentication code (MAC)20Đặc điểm của hàm MACTương tự như hàm mã hóa nhưng không cần hàm giải mãHàm MAC là hàm many-to-oneInput: chuỗi thông điệp có chiều dài bất kỳ và khóa KOutput: MAC có chiều dài cố định n-bit21Hàm băm (hash function)Áp dụng cho các thông điệp có chiều dài khác nhauĐầu ra là mã băm có kích thước cố định và nhỏKhông giống như MAC, không cần khóa K mà chỉ có thông điệp cần chứng thựcMã băm còn được gọi là message digesst hay hash value22Yêu cầu của hàm băm H(x)Có thể áp dụng cho các thông điệp x có độ dài khác nhauOutput h=H(x) cố định và nhỏTính một chiều: với h cho trước, không thể tìm lại x sao cho h = H(x) (về mặt thời gian tính toán).Chống trùng yếu: cho trước x, không thể tìm y ≠x sao cho H(x) = H(y).Chống trùng mạnh: không thể tìm ra cặp x, y bất kỳ sao cho H(x)=H(y), hay nói cách khác, nếu H(x)=H(y) thì có thể chắc chắn x=y.23Hàm băm đơn giản 24Hàm băm đơn giảm25Hàm băm MD5Được phát triển bởi Ron RivestĐược phát triển từ MD4Kích thước giá trị băm là 128bitNăm 1994 và 1998, một số phương pháp tấn công MD5 đã tìm thấy một số thông điệp có cùng giá trị băm MD5 (tính chống trùng mạnh). Tuy nhiên vẫn còn sử dụng phổ biến.2627Hàm băm MD528Hàm băm MD5Kj =round(232 abs(sin(i)))i biểu diễn theo radianPhép cộng modulo 2322930SHA (secure hash algorithm)Năm 1993, NIST (national institute of standards and technology) đề xuất giải thuật SHA, tương tự như MD5 nhưng mạnh hơn và chậm hơn MD5Được thiết kế thích hợp với AESCác phiên bản SHA31SHA132SHA13334SHA-51235SHA-51236SHA-51237Một số ứng dụng hàm bămLưu trữ mật khẩu38Đấu giá trực tuyến39Download file40Chữ ký số41Q&A42
Các file đính kèm theo tài liệu này:
- chuong_5_8582.pptx