Điểm:3

Tại sao cần có khóa tạm thời để chứng minh quyền sở hữu khóa riêng tĩnh trong Sơ đồ thiết lập khóa

lá cờ br

bên trong NIST 800-56A phiên bản 3 "Đề xuất cho các lược đồ thiết lập khóa theo cặp thông minh bằng cách sử dụng mật mã logarit rời rạc" trong phần 5.6.2.2.3.2 "Người nhận có được sự đảm bảo [của khóa riêng tư tĩnh] Trực tiếp từ Chủ sở hữu được xác nhận quyền sở hữu (tức là Bên kia)" nó yêu cầu 2 điều kiện được đáp ứng trong một giao dịch thỏa thuận khóa cho "Người nhận khóa công khai" để chứng minh rằng bên kia sở hữu khóa riêng tương ứng. Về cơ bản, PKR cần đóng góp một khóa tạm thời (điều kiện 1) và xác nhận rằng bên kia cũng chia sẻ khóa đã thỏa thuận (điều kiện 2).

Theo như tôi hiểu, miễn là đáp ứng 2 điều kiện này, chúng tôi không cần phải kiểm tra rõ ràng quyền sở hữu khóa riêng bằng các phương pháp khác, tức là không yêu cầu thử thách/phản hồi bổ sung, vì các tính toán đã chứng minh quyền sở hữu. Sau đó, nó liệt kê các sơ đồ thỏa mãn cả hai điều kiện như tất cả các sơ đồ C(1e, 2s) và C(1e, 1s), nhưng không có sơ đồ C(2e, 2s) nào có yêu cầu "nên sử dụng một trong những điều sau đây".

Thêm vào sự nhầm lẫn, trong các giả định của lược đồ C(1e, 2s), nó yêu cầu giả định 6 "Người nhận khóa công khai tĩnh đã nhận được sự đảm bảo rằng chủ sở hữu (đã tuyên bố) của nó đang (hoặc đã) sở hữu khóa riêng tĩnh tương ứng khóa, như được chỉ định trong Mục 5.6.2.2.3." "nên đúng".

Câu hỏi của tôi là:

  1. Các tính toán thỏa thuận khóa với xác nhận khóa cũng chứng minh việc sở hữu khóa riêng tĩnh, vì vậy không cần đặt câu hỏi khác cho bên kia, điều này có đúng không?
  2. Lược đồ C(2e, 2s) với xác nhận khóa song phương cũng phải thỏa mãn các điều kiện đã cho, phải không?
  3. Đối với tôi, có vẻ như các lược đồ C(0e, 2s) với xác nhận khóa song phương cũng sẽ chứng minh việc sở hữu khóa riêng tĩnh, tại sao lại cần có khóa phù du?
Điểm:2
lá cờ cn

Một trong những loại tấn công mà chúng tôi đang cố gắng ngăn chặn ở đây bằng các cơ chế như vậy được gọi là "Mạo danh thỏa hiệp chính", nơi một bữa tiệc lấy được khóa riêng của bạn (không phải của bên kia) và đang cố gắng mạo danh các bên khác với bạn.

Bây giờ, tôi sẽ cố gắng giải quyết các câu hỏi khác nhau của bạn theo một thứ tự khác vì nó có ý nghĩa hơn đối với tôi và sẽ giúp hiểu biết toàn cầu về các điều kiện cơ bản:

Q.3

  1. Đối với tôi, có vẻ như các lược đồ C(0e, 2s) với xác nhận khóa song phương cũng sẽ chứng minh việc sở hữu khóa riêng tĩnh, tại sao lại cần khóa phù du?

Không, khi sử dụng 2 khóa tĩnh và 0 khóa tạm thời, kẻ tấn công chỉ biết khóa riêng của bạn chứ không biết khóa riêng của bên kia có thể tính toán bí mật chung giống như bạn.

Vấn đề hơi bị ẩn trong văn bản, ví dụ: trong 6.3.3.3 có ghi:

Việc hoàn thành thành công quy trình xác nhận khóa cung cấp cho mỗi bên sự đảm bảo rằng bên kia đã nhận được cùng một giá trị Z bí mật

Vì vậy, những gì bạn đang nhận được xác nhận thực sự chỉ là bí mật dẫn xuất giống như bí mật của bạn, nhưng không phải bên kia thực sự sử dụng kiến ​​thức của họ về khóa tĩnh bí mật mà họ tuyên bố đang nắm giữ.

Vì vậy, ở đây bạn có thể đảm bảo không có Người ở giữa can thiệp vào thỏa thuận khóa của bạn: cả hai bạn đều nhận được cùng một khóa đã thỏa thuận.

tại sao cần có khóa phù du?

Bởi vì đó là khóa tạm thời mà chúng ta vừa tạo, bên kia sẽ không biết khóa bí mật tạm thời tương ứng của nó (giả sử một đối thủ có chỉ có kiến thức về khóa bí mật tĩnh của bạn).
Vì vậy, trong quá trình thỏa thuận khóa, vì bạn đang kết hợp khóa tạm thời bí mật của mình với khóa tĩnh công khai (được xác nhận quyền sở hữu) của họ, nếu họ không biết khóa tĩnh bí mật (được xác nhận quyền sở hữu) của họ họ sẽ không thể thực hiện cùng một dẫn xuất như bạn đã làm bằng cách sử dụng khóa công khai tạm thời mà bạn đã gửi cho họ.

Với một chìa khóa phù du, đây là những gì thường xảy ra ở phía bạn:

  1. bạn kết hợp khóa bí mật tạm thời của mình với khóa chung tĩnh (được xác nhận quyền sở hữu) của họ, bạn sẽ nhận được một bí mật $Z_e$
  2. bạn kết hợp khóa bí mật tĩnh của mình với khóa chung tĩnh (được xác nhận quyền sở hữu) của họ, bạn sẽ nhận được một khóa bí mật $Z_s$
  3. bạn sử dụng cả hai $Z_e$$Z_s$ trong quá trình phái sinh của bạn để có được bí mật được chia sẻ cuối cùng $Z$
  4. bạn sử dụng quy trình xác nhận khóa để đảm bảo cả hai đều nhận được cùng một bí mật chung $Z$

Và bên kia cũng ít nhiều làm giống như vậy, nhưng thay vào đó, họ đang sử dụng khóa tạm thời công khai của bạn

(Đây là một thỏa thuận khóa C(1e,2s) cổ điển được tóm tắt.)

Bây giờ, một kẻ thù biết của bạn khóa bí mật có thể bắt chước bước 2, nhưng không thể bắt chước bước 1, do đó không thể thực hiện đúng bước 3 và sẽ nhận được bắt ở bước 4, nếu bạn sử dụng khóa tạm thời. Nhưng nếu bạn không có khóa tạm thời thì bạn chỉ dựa vào bước 2 trong bước 3 và do đó, việc mạo danh không bị phát hiện ở bước 4.

Đây thực sự là ý chính của những gì được nói trong điều kiện đầu tiên của 5.6.2.2.3.2 (nhấn mạnh của tôi):

  1. Người nhận khóa công khai tĩnh đóng góp một khóa công khai tạm thời cho quy trình thỏa thuận khóa, một dự định được kết hợp theo phương pháp số học với chủ sở hữu đã xác nhận quyền sở hữu (tức là, khóa riêng tư tĩnh của bên kia) trong các phép tính do chủ sở hữu đã xác nhận quyền sở hữu thực hiện. (Nếu một sơ đồ thỏa thuận khóa thích hợp được sử dụng, chủ sở hữu được xác nhận quyền sở hữu sẽ được thử thách chứng minh kiến ​​thức hiện tại về khóa riêng tư tĩnh của mình bằng cách thực hiện thành công các tính toán đó trong quá trình giao dịch.)

Điều này có nghĩa là bước 1 và 3 cần phải xảy ra.

Và sau đó chúng ta có điều kiện thứ hai:

  1. Người nhận khóa công khai tĩnh cũng là người nhận xác nhận khóa, với chủ sở hữu đã xác nhận quyền sở hữu (tức là bên khác) đóng vai trò là nhà cung cấp xác nhận khóa. (Bằng cách cung cấp thành công xác nhận khóa, chủ sở hữu được xác nhận quyền sở hữu có thể chứng minh quyền sở hữu đối với khóa chung tĩnh đã nhận và kiến ​​thức hiện tại về khóa riêng tĩnh tương ứng.)

Về cơ bản, điều này có nghĩa là bước 4 phải xảy ra, do đó cung cấp sự đảm bảo rằng quy trình phái sinh khóa được thực hiện như mong đợi và do đó đảm bảo rằng bước 1 không thể bị "làm giả" bởi ai đó không biết khóa tĩnh bí mật của công khai tĩnh nhận được key, mà thay vào đó là khóa tĩnh bí mật của riêng bạn.

Q.2

  1. Lược đồ C(2e, 2s) với xác nhận khóa song phương cũng phải thỏa mãn các điều kiện đã cho, phải không?

Vâng, họ thường làm. Chúng thực sự có thể đáp ứng một phiên bản mạnh hơn nhiều, trong đó bạn cũng có được sự đảm bảo về việc sở hữu khóa tạm thời bí mật (được tuyên bố). Nếu bạn xem phần 5.6.2.2.4, các lược đồ C(2e, 2s) đang thỏa mãn điều kiện 2 và 3 đương nhiên thỏa mãn điều kiện 1 và 2 của 5.6.2.2.3.2.

Lưu ý rằng chỉ có mô hình Hợp nhất DH và One Pass được trích dẫn ở đó, đó là bởi vì như đã nói trong 7.1 (nhấn mạnh của tôi):

Nếu sơ đồ MQV (MQV2 hoặc MQV đầy đủ) sẽ được sử dụng trong một giao dịch với đối thủ đang sở hữu khóa riêng tĩnh bị xâm phạm (hoặc chữ ký ngầm bị xâm phạm tương ứng với khóa riêng tĩnh đó), kẻ thù bị giới hạn trong việc giả dạng là chủ sở hữu của cặp khóa bị xâm phạm (hoặc với tư cách là chủ sở hữu của cặp khóa tĩnh tương ứng với chữ ký ngầm bị xâm phạm). Tuy nhiên, việc sử dụng mô hình Full Unified hoặc lược đồ dhHybrid1 mang đến cho kẻ thù thêm cơ hội để giả mạo: Nếu một kẻ thù xâm phạm khóa riêng tĩnh của một thực thể, thì kẻ thù đó có thể mạo danh bất kỳ thực thể nào khác trong giao dịch thỏa thuận khóa dựa trên mô hình Hợp nhất đầy đủ hoặc dhHybrid1 với thực thể đó.

Các lược đồ MQV ở dạng "hai lượt" đã có khả năng chống lại các cuộc tấn công Mạo danh thỏa hiệp chính này và không yêu cầu thêm bước mà các lược đồ dựa trên mô hình dựa trên DH hoặc Hợp nhất đầy đủ thực hiện, được trình bày chi tiết trong 5.6.2.2.3.2 và 5.6.2.2.4. Đây có lẽ là lý do tại sao chúng không được trích dẫn rõ ràng trong 5.6.2.2.4.

Q.1

Và cuối cùng tôi nghĩ rằng câu trả lời cho câu hỏi đầu tiên của bạn tự nhiên đến từ các chi tiết trên:

  1. Các tính toán thỏa thuận khóa với xác nhận khóa cũng chứng minh việc sở hữu khóa riêng tĩnh, vì vậy không cần đặt câu hỏi khác cho bên kia, điều này có đúng không?

Không, không phải vậy, thay vào đó, nó cũng có thể chứng minh quyền sở hữu khóa riêng tư tĩnh của bạn. Đây là lý do tại sao chúng ta cần các bước quan trọng tạm thời.

lá cờ br
Cảm ơn đã phản ứng chi tiết. Nếu ai đó có khóa riêng của tôi, chắc chắn họ có thể mạo danh tôi, nhưng tôi chưa bao giờ nghĩ đến khả năng ngược lại, điều này cũng hợp lý. Tôi cũng hiểu tại sao Mô hình hợp nhất không cung cấp KCI - vì kẻ tấn công có thể tạo các khóa tạm thời của riêng mình và dễ dàng tính toán bí mật - và tại sao MQV thành công - bởi vì kẻ tấn công cần khóa riêng tĩnh của bên khác hoặc khóa riêng tạm thời của tôi.
lá cờ br
Chúng tôi không thể cung cấp KCI đơn giản bằng cách ký khóa công khai tạm thời bằng khóa riêng tĩnh sao?
lá cờ cn
@obareey Vâng, chúng tôi hoàn toàn có thể, nhưng việc thêm một giao thức chữ ký vào hỗn hợp sẽ không làm cho mọi thứ thực sự đơn giản hơn, kể cả từ quan điểm phân tích. Ngoài ra, nó gây hại cho việc "từ chối", bởi vì các chữ ký đang "ràng buộc" khóa tạm thời với khóa tĩnh dài hạn của bạn, trong khi sơ đồ dựa trên khóa tạm thời không cho biết khóa nào đã được sử dụng để thiết lập khóa đã thỏa thuận: đó có thể là bên kia bịa đặt mọi thứ cùng một lúc (họ không thể chứng minh rằng họ đã không làm).

Đă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.