3 tiêu chuẩn xác thực: • M: Thông điệp • C: Hàm MAC • C: Hàm MAC • K: Khóa bảo mật được chia sẻ • MAC: Mã xác thực thông điệp (báo) (báo)
IV.1 Các Vấn Đề Xác Thực
Tại sao dùng MAC:
• Nhiều trường hợp chỉ cần xác thực, không cần mã hóa tốn thời gian và tài nguyên
h b h hố
Thông báo hệ thống
Chương trình máy tính
• Tách riêng các chTách riêng các chứức nc năăng bng bảảo mo mậật và xác tht và xác thựực sc sẽẽ khikhiếếnn việc tổ chức linh hoạt hơn
Chẳng hạn mỗi chức năng thực hiện ở một tầng riêng
ầ ố
• Cần đảm bảo tính toàn vẹn của thông báo trong suốt thời gian tồn tại không chỉ khi lưu chuyển
Vì thông báo có thể bị thay đổi sau khi giải mã Vì thông báo có thể bị thay đổi sau khi giải mã
IV.1 Các Vấn Đề Xác Thực
Xác thực dùng hàm băm:
• Một hàm băm nhận đầu vào là một thông báo có độ dài tùy ý và tạo ra kết quả là một xâu ký tự có độ dài cố định,
đôi khi đ i là ó ắ hô bá h ặ hữ ký ố
đôi khi được gọi là tóm tắt thông báo hoặc chữ ký số.
• Tạo ra một giá trị băm có kích thước cố định từ thông báo đầu vào (không dùng khóa)
báo đầu vào (không dùng khóa) h = H(M)
• Hàm băm không cg ần gig ữ bí mậật
• Giá trị băm gắn kèm với thông báo dùng để kiểm tra tính toàn vẹn của thông báo
ấ ổ
• Bất kỳ sự thay đổi M nào dù nhỏ cũng tạo ra một giá trị h khác
IV.1 Các Vấn Đề Xác Thực
IV.1 Các Vấn Đề Xác Thực
IV.1 Các Vấn Đề Xác Thực
Yêu cầu đối với hàm băm:
• Có thể áp dụng với thông báo M có độ dài bất kỳ
• Tạo ra giá trị băm h có độ dài cố định
• H(M) dễ dàng tính được với bất kỳ M nào
• Từ h rất khó tìm được M sao cho H(M) = h
Tí h ột hiề
Tính một chiều
• Từ M1 rất khó tìm được M2 sao cho H(M2) = H(M1)
Tính chống xung g g độột yyếu
• Rất khó tìm được (M1, M2) sao cho H(M1) = H(M2)
IV.1 Các Vấn Đề Xác Thực
Yêu cầu đối với hàm băm:
• Có thể áp dụng với thông báo M có độ dài bất kỳ
• Tạo ra giá trị băm h có độ dài cố định
• H(M) dễ dàng tính được với bất kỳ M nào
• Từ h rất khó tìm được M sao cho H(M) = h
Tí h ột hiề
Tính một chiều
• Từ M1 rất khó tìm được M2 sao cho H(M2) = H(M1)
Tính chống xung g g độột yyếu
• Rất khó tìm được (M1, M2) sao cho H(M1) = H(M2)