Điểm:0

ECDHE không có bắt tay ban đầu

lá cờ tz

Có thể thực hiện một thỏa thuận chính với ECDH phù du-phù du mà không yêu cầu bắt tay ban đầu không?

Có thể có thỏa thuận khóa trong cùng một thông báo với dữ liệu được mã hóa bằng ECDHE không?

Tôi biết điều này là có thể với ECDH ephemeral-static nhưng điều đó không có bí mật hoàn hảo về phía trước. Và với ephemeral-static, bạn cần có một cách an toàn để lưu trữ khóa riêng tĩnh.

kelalaka avatar
lá cờ in
[Thuật toán Diffie-Hellman và cuộc tấn công MITM](https://crypto.stackexchange.com/q/72370/18298) và [Xem cách nó được thực hiện](https://crypto.stackexchange.com/q/87532/18298 ). Xem [hộp bí mật của libsodium](https://doc.libsodium.org/secret-key_cryptography/secretbox) để biết phần thứ hai.
Điểm:1
lá cờ gb

Có thể thực hiện một thỏa thuận chính với ECDH phù du-phù du mà không yêu cầu bắt tay ban đầu không?

Có, tuy nhiên điều này dễ bị tấn công bởi người trung gian (MITM).

Có thể có thỏa thuận khóa trong cùng một thông báo với dữ liệu được mã hóa bằng ECDHE không?

Để người nhận sử dụng khóa tạm thời, họ sẽ phải gửi nó trước khi bạn có thể sử dụng nó để trao đổi. Ngoài ra, họ có thể tải một số khóa tạm thời lên máy chủ của bên thứ ba đáng tin cậy để người gửi truy xuất sau này (đây là loại việc được thực hiện bởi Signal). Nhưng thông thường, bạn sẽ cho rằng người gửi chỉ sử dụng khóa tĩnh của người nhận để họ biết rằng nó sẽ đến đúng người. Trong trường hợp này, tất cả tính ngẫu nhiên tạm thời được cung cấp bởi người gửi, vì vậy bạn thực sự có một KEM (cơ chế đóng gói khóa) thay vì trao đổi khóa.

Vì vậy, về cơ bản, nếu bạn sẵn sàng từ bỏ xác thực và mạo hiểm mạo danh/người đàn ông ở giữa các cuộc tấn công, bạn có thể đạt được bí mật hoàn hảo về phía trước với KEM và bạn có thể yêu cầu người nhận thường xuyên xoay phím nhận để họ không phải lo lắng về lưu trữ dài hạn an toàn (khóa bán tĩnh).

lá cờ tz
Cảm ơn. Chúng tôi sẽ thêm tĩnh tĩnh ECDSA để ngăn chặn các cuộc tấn công MITM và cung cấp xác thực. Vấn đề của chúng tôi hiện tại là trên Android, chúng tôi không có cách an toàn để bảo mật khóa riêng ECDH (nếu chúng tôi chuyển sang trạng thái tĩnh tạm thời).
lá cờ tz
Bạn có thể giải thích về việc lưu trữ các khóa tạm thời trên máy chủ không? Bạn có nghĩa là lưu trữ các khóa công khai ECDH tạm thời của người nhận trên máy chủ, phải không?
meshcollider avatar
lá cờ gb
Đúng, thì rõ ràng người nhận sẽ phải tự lưu trữ các khóa riêng tư tương ứng một cách an toàn. Sau đó, bạn sẽ quản lý các khóa tĩnh cho phần xác thực trên Android như thế nào?
lá cờ tz
Điều này thực sự sẽ làm việc thực sự tốt cho chúng tôi sau đó. Cảm ơn bạn. Cả Android KeyMaster và KeyStore đều hỗ trợ lưu trữ an toàn các khóa ECDSA nhưng không hỗ trợ ECDH. iOS Secure Eniances đã hỗ trợ ECDH trong nhiều năm nên Android thực sự đi sau về vấn đề này.
lá cờ tz
Tôi cho rằng trên Android, chúng tôi sẽ phải giữ khóa riêng ECDH trong bộ nhớ. Đó là một dấu hỏi lớn về bảo mật.
meshcollider avatar
lá cờ gb
Thật thú vị, tôi không biết rằng kho khóa android không hỗ trợ ECDH. Điều này sẽ làm việc? https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec#example:ecdh
lá cờ tz
Có vẻ như nó đang sử dụng cặp khóa EC được lưu trữ trong KeyStore cho ECDH. Hoàn hảo cảm ơn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.