Các khóa phiên có cùng giá trị ở cả hai bên trong TLS không?

Aug 15 2020

Tôi có hai câu hỏi về các khóa phiên được tạo trong các bước cuối cùng của giai đoạn Bắt tay:

  1. "Khóa ghi máy khách" và "khóa ghi máy chủ" có cùng giá trị không, mặc dù cả hai khóa được tạo độc lập ở cả hai phía?

  2. (Câu hỏi tương tự) "Máy khách ghi khóa MAC" và "máy chủ ghi khóa MAC" có cùng giá trị không?

Câu hỏi chung: Máy khách và máy chủ có đạt được kết quả giống nhau trong khi tạo khóa phiên không?

Trả lời

5 MaartenBodewes Aug 15 2020 at 21:49

"Khóa ghi máy khách" và "khóa ghi máy chủ" có cùng giá trị không, mặc dù cả hai khóa được tạo độc lập ở cả hai phía?

Không, hãy xem câu trả lời tiếp theo.

Đối với các khóa mã hóa, điều này ít quan trọng hơn vì dù sao thì thông báo cũng là MAC. Tuy nhiên, trong TLS 1.2 và trước khi sử dụng mã hóa MAC sau đó, có thể để lộ một số lỗ hổng không mong muốn. Ví dụ: nếu người gửi dễ bị tấn công bởi tiên tri, thì bạn có thể sử dụng nó để giải mã thư khi cùng một khóa sẽ được sử dụng. Điều này cho thấy rằng tách khóa luôn là một ý tưởng hay, vì ban đầu các cuộc tấn công thần thánh không được hình dung.

(Câu hỏi tương tự) "Máy khách ghi khóa MAC" và "máy chủ ghi khóa MAC" có cùng giá trị không?

Không, chúng cố tình khác nhau để bạn không thể để người gửi phát lại tin nhắn của riêng họ cho họ. Về cơ bản, KDF (PRF trong cách nói của TLS 1.2) sử dụng một nhãn khác nhau cho mỗi khóa, có nghĩa là mỗi khóa dẫn xuất sẽ chỉ phụ thuộc vào khóa chính (sử dụng một hàm một chiều).

Câu hỏi chung: Máy khách và máy chủ có đạt được kết quả giống nhau trong khi tạo khóa phiên không?

Có, họ làm. Nhưng chúng chỉ đơn giản là kết thúc với các giá trị giống nhau cho từng khóa cụ thể . Máy khách và máy chủ lấy được các bí mật tổng thể giống hệt nhau, sau đó tiến hành sử dụng các nhãn giống nhau cho các khóa cụ thể. Vì vậy, cả hai bên sẽ có "khóa ghi máy khách", nhưng máy chủ sẽ sử dụng nó để giải mã các thông điệp.