• Diffie-Hellman bị vấn đề man-in-the-middle kết hợp với chứng thực public key. • Khóa K trong DH gọi là khóa chết non tự nhiên[r]
Trang 1Trao đổi khóa
Trần Trung Dũng
Trang 2Bài giảng hôm nay
• Giao thức trao đổi khóa trực tiếp
• Tấn công man-in-the-middle
• Chứng thực với Certificate Authorities
• Trao đổi khóa chung bằng khóa công cộng
• Thuật toán trao đổi khóa chung Diffie-Hellman
Trang 3Sử dụng khóa công cộng để trao đổi
khóa bí mật
• RSA không thích hợp để mã hóa nội dung dữ liệu dài
• Nhưng RSA đóng vai trò quan trọng trong việc trao đổi khóa chung Giúp cho việc triển khai bảo mật trên mạng khả thi
Trang 4Giao thức trao đổi khóa đơn giản
• A E(PUA, KS) B
• KS: khóa bí mật
• tấn công man-in-the-middle
Trang 5Certificate Authorities (CA)
• Một certificate được cấp bởi CA sẽ chứng thực anh/chị đó là ai
• Để nhận được certificate, user gửi public key đến CA
• Khi user mới muốn cấp certificate thì CA sẽ có cách để chứng thực user mới này
• Một certificate cho user A (CA) như sau:
CA = E (PRauth, [T, IDA, PUA])
T: timestamp, ID của A, public key của A Tất cả được mã hóa bằng
Private key của CA.
Trang 6• A sử dụng XA và YB để tạo số bí mật K: K
• B tương tự tính số bí mật K: K
K tính từ A
= K tính từ B
p
Y X A
B) mod (
p
p A
X mod ) mod (
p
A
B X
X ) mod (
p
B
A X
X ) mod (
p
p B
X mod ) mod (
p
Y X B
A) mod (
p
Y X B
A) mod (
p
Y X A
B) mod (
Trang 7• Diffie-Hellman bị vấn đề man-in-the-middle kết hợp với chứng thực public key
• Khóa K trong DH gọi là khóa chết non tự nhiên Vì chỉ dùng 1 lần
• Giải pháp: Thuật toán chữ kí số ElGamal cho phép công bố và giữ nguyên YA trong thời gian dài
• Giải sử có được YA, p, α
• Vẫn chưa tìm được thuật toán hiệu quả để tìm XA từ phương trình (1)
p
Y X A
A mod