Hệ phân bố khóa Kerberos

Một phần của tài liệu các hệ mật mã.doc (Trang 38 - 40)

2. Phân bố các khóa bảo mật

2.2.Hệ phân bố khóa Kerberos

- Do vấn đề không an toàn khi sử dụng cùng một khóa trong một thời gian dài, cho nên thường sử dụng một phương pháp trực tuyến thích hợp hơn mà trong đó khóa liên lạc mới được tạo ra cho mỗi cặp user muốn truyền thông (tính chất làm tươi khóa).

- Nếu sự phân bố khóa trực tuyến được sử dụng thì không cần thiết cho bất kỳ user trong mạng phải lưu trữ khóa để truyền thông với user khác (mỗi user sẽ tham gia một khóa với TA). Các khóa phiên liên lạc sẽ được truyền theo yêu cầu của TA.

- Kerberos là một hệ thống phục vụ khóa phổ biến dựa trên hệ mật mã khóa bí mật (không dựa vào mã hóa khóa công khai). Mỗi user U tham gia một khóa bí mật (DES) KU với TA, trong hầu hết các version của Kerberos, tất cả đoạn tin khi truyền được mã hóa sử dụng kiểu CBC (Cipher Block Chain).

- Khi có yêu cầu về khóa phiên liên lạc được gởi tới TA, TA sẽ tạo một khóa phiên liên lạc ngẫu nhiên K. TA sẽ ghi thời gian mà tại đó yêu cầu được thực hiệngọi là thời gian timestamp T và mô tả khoảng thời gian sống L mà khóa K còn hợp lệ (từ T tới T+L). Tất cả các thông tin này được mã hóa và được truyền tới U và V. Giao thức truyền khóa phiên liên lạc như sau:

1. U yêu cầu TA cho một khóa phiên liên lạc để truyền thông với V. 2. TA chọn một khóa phiên liên lạc ngẫu nhiên K, timestamp T và L.

3. TA tính: m1 = eKu (K, ID(V), T, L) và m2 = eKv (K, ID(U), T, L) và gởi m1, m2 tới U. 4. U sử dụng hàm giải mã dKu để tính K, T, L và ID(V) từ m1.

Sau đó tính: m3 = eK (ID(U), T) Và gởi m3 tới V cùng với m2 mà đã nhận từ TA. 5. U sử dụng hàm giải mã dKv để tính K, T, L và ID(U) từ m2.

Sau đó sử dụng dK để tính T và ID(U) từ m3, rồi kiểm tra xem hai giá trị Của T và hai giá trị của ID(U) có giống nhau không? Nếu thỏa thì tính: m4 = eK (T+1). Và gởi m4 tới U.

6. U giải mã m4 sử dụng dK và làm rỏ rằng kết quả là T+1. Nếu đúng thì K đã được truyền thành công tới V.

Trong đó:

. KU, KV : khóa tham gia của U và V với TA. . U (V) sử dụng của mình để giải mã eKu (eKv).

. m1, m2 : cung cấp sự bảo mật trong khi truyền khóa K. . m3, m4 : cung cấp sự xác nhận khóa.

- Mục đích của T và L là nhằm ngăn cản đối phương chủ động từ việc lưu trữ đoạn tin cũ cho việc tái truyền ở lần sau. Các khóa sẽ không đươc coi là hợp lệ một khi chúng đã hết hạn.

- Một trong những nhược điểm của Kerberos là tất cả user trong mạng phải có đồng hồ đồng bộ bởi vì thời gian hiện tại được sử dụng để xác định khi nào một khóa phiên liên lạc đã cho là hợp lệ. Trong thực tế rất khó khăn để cung cấp sụ đồng bộ hoàn hảo bởi vì thường trong máy sự thay đổi một lượng thời gian phải được cho phép.

Một phần của tài liệu các hệ mật mã.doc (Trang 38 - 40)