Điểm:3

Có cách nào để "gắn thẻ" một khóa theo cách ngăn nó được sử dụng lại không?

lá cờ br

Giả sử tôi có một cặp khóa công khai và khóa riêng được liên kết với một số tài nguyên (ví dụ: chứng chỉ TLS cho trang web mycoolsite.com). Tôi có thể tự do lấy các khóa đó và sử dụng lại chúng cho một tài nguyên khác (ví dụ: cho anotherneatsite.net). Câu hỏi của tôi là: có cách nào hiệu quả để "gắn thẻ" các khóa gốc với dữ liệu "khóa này dành cho mycoolsite.com" sao cho việc xóa thẻ sẽ làm mất hiệu lực các khóa không?

Ý tưởng là cho phép hệ thống xác thực từ chối khóa công khai nếu nó được sử dụng lại cho một tài khoản khác. Rõ ràng, đây là một câu hỏi chung về các hệ thống mã hóa khóa công khai, không chỉ TLS.

kelalaka avatar
lá cờ in
https://sectigostore.com/page/one-ssl-certificate-for-multiple-domains/
Điểm:4
lá cờ in

Câu hỏi của tôi là: có cách nào hiệu quả để "gắn thẻ" các khóa gốc với dữ liệu "khóa này dành cho mycoolsite.com" sao cho việc xóa thẻ sẽ làm mất hiệu lực các khóa không?

Vâng, về cơ bản, đó là những gì chứng chỉ làm, nơi bạn có thể có một tên miền trong RDN kiểu X500 (Tên phân biệt tương đối). Cũng có thể có các tiện ích mở rộng (quan trọng) chứa dữ liệu bổ sung như tên thay thế chủ đề hoặc cách sử dụng khóa. "Nghiêm trọng" có nghĩa là không nên bỏ qua phần mở rộng ngay cả khi phần mở rộng không xác định. Tất cả dữ liệu này được ký bởi CA cấp chứng chỉ và PHẢI được xác thực bởi người xác minh.

Tất nhiên, ngay cả điều PHẢI trong quy trình xác minh chứng chỉ cũng có thể bị bỏ qua. Không thể làm mất hiệu lực khóa chính nóvà bạn không thể buộc một hệ thống bỏ qua dữ liệu được gửi đến nó từ bên ngoài (trừ khi tôi cho rằng bạn hộp cát hệ thống).

Cũng không thể không cho phép người dùng sao chép khóa chung hoặc yêu cầu chứng chỉ ở một nơi khác. Đôi khi các CA cụ thể sẽ giữ ID của các khóa trong chứng chỉ mà họ đã ký. Trong trường hợp đó, một CA có thể chọn bỏ qua yêu cầu chứng chỉ bằng khóa "cũ" - mặc dù theo kinh nghiệm của tôi, điều này thiên về việc tránh lỗi trong hệ thống.

Và cuối cùng, không thể hạn chế việc sử dụng khóa riêng. Người nắm giữ khóa riêng RSA có thể sử dụng khóa đó để ký hoặc thiết lập khóa, ngay cả khi thông tin chứng chỉ nêu rõ khác. Chứng chỉ chỉ nêu rõ cặp khóa có thể được sử dụng để làm gì, nhưng bên nhận, xác thực và tin cậy chứng chỉ để thực thi điều này tùy thuộc vào bên đó.

lá cờ br
Vì vậy, đặt hệ thống xã hội của các cơ quan cấp chứng chỉ sang một bên, không có cách mã hóa nào được biết đến để liên kết khóa với một phần thông tin?
Maarten Bodewes avatar
lá cờ in
Một phần thông tin trong trường hợp này là tài nguyên trong câu hỏi mà tôi tưởng tượng? Bởi vì nếu không nó sẽ trở thành một câu hỏi khác.
lá cờ br
Vâng - trường hợp sử dụng ở đây là một hệ thống mà khách hàng tự tạo khóa mà không cần hỏi ý kiến ​​của cơ quan có thẩm quyền tập trung. Vì vậy, tôi không thể dựa vào cơ sở hạ tầng xã hội mà chứng chỉ TLS được hưởng (và không rõ là ngay cả cơ sở hạ tầng đó cũng có thể thực thi điều này, xem ví dụ về tình huống này https://koen.engineer/a-tale-of-private-key- tái sử dụng-8ff0cb766fa5).
knaccc avatar
lá cờ es
@IanH Chỉ vì bạn cần CA, không có nghĩa là bạn cần CA bên thứ ba. Bạn sẽ có chứng chỉ CA tự ký mà bạn sẽ kiểm soát cơ sở hạ tầng của riêng mình. Và nếu bạn hoàn toàn không muốn sử dụng CA, bạn chỉ cần có chứng chỉ tự ký hạn chế việc sử dụng khóa công khai của mình. Về cơ bản, câu trả lời cho câu hỏi của bạn là bạn cần gộp một số siêu dữ liệu với khóa công khai của mình để hạn chế việc sử dụng nó, đó là chức năng của chứng chỉ.
Điểm:1
lá cờ ph
jpa

Một cách là thế này:

  1. Khách hàng tạo khóa riêng và khóa chung.
  2. Máy khách gửi khóa công khai đến máy chủ.
  3. Máy chủ tạo khóa dẫn xuất từ ​​khóa chung của máy khách và một nonce ngẫu nhiên.
  4. Máy chủ gửi nonce trở lại máy khách, người này có thể sử dụng nó để tạo khóa riêng dẫn xuất.

Theo cách này, cả máy khách và máy chủ đều đóng góp tính ngẫu nhiên cho khóa, vì vậy máy khách không thể tự chọn khóa chất lượng kém hoặc khóa được sử dụng lại. Đồng thời, máy chủ không bao giờ biết khóa riêng.

Cách thực hiện bước 3 phụ thuộc vào thuật toán được sử dụng. Có một số ví dụ trong câu trả lời cho câu hỏi này.

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