it-swarm-vi.com

Việc sử dụng chứng chỉ ký chéo trong X.509 là gì?

Trong kiến ​​trúc X.509, việc sử dụng các chứng chỉ ký chéo từ các hệ thống phân cấp khác là gì?

Có phải nó chỉ mở rộng niềm tin?


Vì vậy, từ câu trả lời, tôi giả sử rằng nếu CA3 được ký chéo bởi CA2 (từ một hệ thống phân cấp khác) và CA1 (cha mẹ trong hệ thống phân cấp của chính nó) có khóa riêng được sử dụng để mã hóa hàm băm xác thực trong chứng chỉ CA3?

24
zcqwevb

Đó là về việc mở rộng lòng tin, vâng. Nếu bạn tin tưởng cả CA1 và CA2 và một chứng chỉ được ký bởi cả hai, bạn đã có mức độ tin cậy rất cao bởi vì hai thực thể seaparate mà bạn tin tưởng đã xác minh chứng chỉ.

Nó có thêm phần thưởng là tăng sự dễ dàng xác minh lòng tin, chẳng hạn như các tình huống mà bạn có khách hàng tin tưởng CA1 hoặc CA2 (nhưng không phải cả hai). Trong trường hợp như vậy, bạn có thể ký chéo một chứng chỉ để được cả hai tin tưởng. Điều này cho phép nhiều khách hàng xác minh lòng tin mà không phải phân phối các certs riêng cho các CA khác nhau.

Một phần thưởng khác là trong trường hợp khóa riêng của CA bị rò rỉ. Giả sử rò rỉ khóa của CA1 và chứng chỉ của bạn được ký bởi CA1 và CA2. Trước sự rò rỉ, CA1 đưa ra một lời tuyên bố cho khóa công khai của nó và bạn không còn có thể tin tưởng bất cứ điều gì do CA1 ban hành. Tuy nhiên, vì chứng chỉ của bạn cũng được ký chéo với CA2, nên bất kỳ khách hàng nào tin tưởng CA2 vẫn có thể duy trì mức độ tin cậy đối với chứng chỉ của bạn.

29
Polynomial

Thông số kỹ thuật X.509 chỉ hỗ trợ một chữ ký. Từ RFC liên quan đến họ:

   Certificate  ::=  SEQUENCE  {
        tbsCertificate       TBSCertificate,
        signatureAlgorithm   AlgorithmIdentifier,
        signatureValue       BIT STRING  }

Để hỗ trợ nhiều chữ kýValue, bạn phải làm một cái gì đó như "chữ kýValue SEQUENCE OF BIT STRING" và thực hiện một vài thay đổi khác.

Nếu bạn có chứng chỉ X.509 đã được ký bởi nhiều CA, tôi rất muốn thấy nó và thực hiện một chút về nó!

9
compcert

Lược đồ Let Encrypt được sử dụng không yêu cầu hai chữ ký trong một chứng chỉ. Theo như tôi hiểu thì có vẻ như thế này:

Root-CA này

  • Chứng chỉ trung cấp A (Khóa công khai X, được ký bởi CA Root)

Root-CA khác

  • Chứng chỉ trung cấp A (Khóa công khai X (giống!), Được ký bởi Other-CA Root)

Trong trường hợp này, có hai bản sao của cùng một Chứng chỉ trung gian A: một bản được ký bởi CA gốc của chính bạn, bản còn lại được ký bởi Other-CA. Chúng có cùng khóa RSA và tất cả các trường bằng nhau, ngoại trừ chữ ký (một chữ ký cho mỗi phiên bản của CA trung gian). Máy khách (như trình duyệt) được phục vụ với chuỗi chứng chỉ chỉ có một phiên bản chứng chỉ Trung cấp, không phải cả hai và dẫn đến một trong hai gốc. Đây có thể là cách tương thích duy nhất để "ký chéo".

1
Myke B