Giả sử có N người sử dụng, trao đổi dữ liệu bằng mã hóa đối xứng, mỗi cặp người sử dụng cần có một khóa bí mật riêng, dẫn đến cần có N(N-1)/2 khóa bí mật. Việc thiết lập các khóa bí mật này sẽ gây ra khó khăn cho các người sử dụng vì mỗi người cần thiết lập N-1 khóạ
56
Phương pháp trao đổi khóa bằng trung tâm phân phối khóa (Key Distribution Center – KDC) giúp đơn giản hóa vấn đề nàỵ Trong mô hình sử dụng KDC, mỗi người sử dụng chỉ cần có một khóa bí mật với KDC. Còn khóa dùng để trao đổi dữ liệu giữa các người sử dụng sẽ do KDC cung cấp.
Giả sử Alice có khóa bí mật KA với KDC và Bob có khóa bí mật KB với KDC. Bây giờ Alice muốn trao đổi dữ liệu với Bob. Quá trình thiết lập khóa chung KAB giữa Alice và Bob gồm các bước sau:
1) Alice sẽ gửi yêu cầu muốn trao đổi dữ liệu với Bob cho KDC.
2) KDC sẽ tạo một khóa bí mật KAB và mã hóa thành hai bản mã. Một bản mã được mã hóa bằng khóa bí mật của Alice E(KAB, KA) và một bản mã được mã hóa bằng khóa bí mật của Bob E(KAB, KB).
3) Alice giải mã E(KAB, KA) để có KAB
4) Alice gửi E(KAB, KB) cho Bob, Bob giải mã để có được KAB
5) Alice và Bob trao đổi dữ liệu qua khóa bí mật KAB
Hình 3-14. Trao ñổi khóa bít mật dùng KDC
Như vậy, khóa KAB chỉ có KDC, Alice và Bob biết. Trách nhiệm của KDC là giữ bí mật khóa nàỵ Alice và Bob dùng khóa KAB để mã hóa dữ liệụ Khi kết thúc quá trình
A B 1. REQUEST to B KDC 4. E(KAB, KB) 5. E(P, KAB) 2. E(KAB, KA)||E(KAB, KB) A B C D E KA KE KB KC KDC KD A B C D E KAB KAC KAD KAE KBC KDC
57 truyền dữ liệu, KAB được hủy bỏ. Lần sau nếu Alice lại truyền số liệu với Bob thì KDC sẽ cung cấp khóa KAB khác. Như vậy chỉ cần Alice có thiết lập khóa bí mật KA với KDC thì Alice có thể truyền số liệu không chỉ với Bob mà còn với những người khác.
Một khái niệm quan trọng khác có thể rút ra từ mô hình dùng KDC là khái niệm khóa chủ và khóa phiên (master key và session key). Trong ví dụ trên các khóa KA, KB
không được sử dụng trực tiếp để mã hóa dữ liệu, chúng chỉ được dùng để mã hóa các khóa tạm KAB. Các khóa KAB này mới trực tiếp mã hóa dữ liệu và bị hủy bỏ khi sau quá trình truyền dữ liệu kết thúc. Vì vậy KA, KB được gọi là khóa chủ, chúng ít được sử dụng nên người phá mã khó có cơ hội thu thập bản mã để phá mã. Nên KA, KB được sử dụng lâu dàị Còn KAB được gọi là khóa phiên, KAB chỉ tồn tại trong một phiên truyền dữ liệu duy nhất mà thôị
Chương 7 sẽ trình bày giao thức Keberos, là một giao thức dựa trên khái niệm trung tâm phân phối khóạ Keberos được sử dụng trong các hệ điều hành ngày nay, để mã hóa dữ liệu trong mạng cục bộ LAN.
3.10Câu hỏi ôn tập
1) Mã hóa đối xứng hiện đại và mã hóa đối xứng cổ điển khác nhau ở điểm nàọ 2) Mã dòng hoạt động dựa trên nguyên tắc thay thế hay hoán vị?
3) Từ nguyên tắc sinh số của mã hóa A5/1 và RC4, hãy cho biết lý do mã dòng lại dùng bộ sinh số để sinh ra dãy bít? Tại sao không dùng trực tiếp khóa K để thực hiện phép XOR ?
4) Hệ mã Fiestel có thuận lợi gì trong việc thực hiện mã khốỉ
5) Tại sao mã hóa DES lại dùng các phép biến đổi phức tạp chỉ để mã hóa một khối 64 bít?
6) Xét mô hình ECB, để mã hóa một bản tin dài bằng mã DES, chúng ta phải lần lượt mã hóa từng khối 64 bít. Việc thực hiện như vậy giống và khác với mã dòng ở những điểm nàỏ
7) Mô hình CBC có đặc tính gì mà các phương pháp mã hóa theo nguyên tắc thay thế (như ECB) không có?
8) Tại sao nói mô hình CTR, OFB và CFB thực ra là mã dòng?
9) Một bản rõ phải có đặc điểm gì thì mới có thể nói phương pháp mã hóa đối xứng có tính chứng thực? Nếu Trudy không biết khóa bí mật của Alice và Bob, Trudy có thể mạo danh Alice gửi thông điệp mà Trudy muốn cho Bob được không? 10) Trong mã hóa đối xứng, việc hai người cùng biết khóa dẫn đến nhược điểm gì
của phương pháp mã hóa nàỷ
11) Hãy nêu lợi ích của việc dùng khóa chủ và khóa phiên.