Tại sao các khóa khác nhau được tạo cho bộ khởi tạo và bộ phản hồi để mã hóa?
Chà, một số thuật toán mã hóa (ví dụ: GCM và ChaCha/Poly1305) không an toàn nếu nhiều bộ mã hóa có thể sử dụng cùng một khóa. Điều này có thể được quản lý (trong các ví dụ trên, bằng cách đảm bảo rằng hai bên sử dụng các nonce khác nhau, ví dụ: bên khởi tạo luôn sử dụng các nonce chẵn và bên phản hồi luôn sử dụng các nonce lẻ), tuy nhiên sẽ cần một phương pháp khác cho mọi thuật toán mã hóa như vậy. Sẽ dễ dàng hơn và dễ dàng hơn nhiều khi chỉ có các phím riêng biệt cho các hướng riêng biệt.
Việc sử dụng rõ ràng các khóa khác nhau có nguồn gốc từ SKEYSEED trong IKE là gì?
SKd - khóa đó được sử dụng khi tạo "SA con", nghĩa là, các liên kết bảo mật được tạo do kết quả của khóa này. Đây có thể là cả IKE SA và IPsec SA.
SKe - đây là những khóa được sử dụng để mã hóa tin nhắn IKE
SKa - đây là các khóa được sử dụng để thêm tính năng bảo vệ tính toàn vẹn cho các thông báo IKE (giả sử rằng một số biến đổi tính toàn vẹn rõ ràng, chẳng hạn như HMAC hoặc CMAC, được thương lượng; nếu chế độ kết hợp như GCM được sử dụng, chế độ này không được sử dụng và có độ dài bằng 0) .
SKp - chúng được sử dụng như một phần của công thức được sử dụng để tính toán/xác minh tải trọng AUTH, nhằm mục đích xác minh danh tính của bên kia (trái ngược với các khóa SKa, nhằm mục đích xác minh rằng tin nhắn được gửi từ bên kia bên là tin nhắn đã được nhận).