web-dev-qa-db-ja.com

自己署名証明書の技術的な説明

PKIに関しては、「自己署名」の意味について同僚と友好的な議論をしています。私たちの組織には内部ルートと下位CAがあります。内部クライアントに証明書チェーンをインポートして、内部/プライベートCAから発行された証明書を信頼できるようにします。

私の同僚は、自己署名証明書の定義は、公的に信頼されている/商用の認証局が関与していないものであると信じています。しかし、私は自己署名証明書が、それが常駐するホストによって作成された証明書であり、プライベートまたはパブリックのチェーンへのリンクがないことを理解しています。

私はGoogleを検索しましたが、どちらの回答も正しいと宣伝されていました。私はRFCを理解するのが得意ではありません。これはおそらく、この議論の根本に到達するために私がする必要があることです。むしろ、私よりも知識のある誰かがこの不一致を解決するのを助けることができますか?

15
Keith Madaras

RFC 5280-インターネットX.509公開鍵インフラストラクチャ証明書および証明書失効リスト(CRL)プロファイル

セクション3.2 の終わりは次のように述べています。

この仕様は、CA証明書とエンドエンティティ証明書の2つのクラスの証明書を対象としています。 CA証明書は、相互証明書、自己発行証明書、自己署名証明書の3つのクラスにさらに分類できます。

  • Cross-certificatesは、発行者とサブジェクトが異なるエンティティであるCA証明書です。相互認証は、2つのCA間の信頼関係を記述します。
  • 自己発行の証明書は、発行者とサブジェクトが同じエンティティであるCA証明書です。自己発行の証明書は、ポリシーまたは操作の変更をサポートするために生成されます。
  • 自己署名証明書は、証明書にバインドされた公開鍵によってデジタル署名が検証される自己発行証明書です。自己署名証明書は、認証パスを開始するために使用する公開鍵を伝達するために使用されます。

エンドエンティティ証明書は、証明書の発行が許可されていないサブジェクトに発行されます。

21
phbits

過去に私は私の友人の一人と同様の議論に遭遇し、こうしてコメントしました:

あなたとあなたの友人/同僚はどちらも正しいです。ただし、あなたの同僚は自己署名証明書(SSC)の定義により近く、その1つの側面を見てきました。

自己署名証明書は、それが常駐するホストによって作成され、プライベートまたはパブリックのチェーンへのリンクがないものです。

組織でのケースを考えると、開発者の1人がテスト/内部アプリケーションを作成し、同じように作成された自己署名証明書(SSC)[公開鍵]を共有しているため、ルートに追加することもできるため、これは部分的に当てはまります。/trusted CAは、そのアプリケーションを一覧表示して参照し、プライベートチェーンにします。

また、 https://aboutssl.org/what-is-self-sign-certificate/ を参照することもできます。

技術的に自己署名証明書とは、証明書が身元を証明するのと同じ個人によって署名されていることを意味します。ここで、署名手順では、秘密鍵は証明書自体の所有者によって(信頼された認証局ではなく)署名されます。自己署名証明書は無料で提供され、インターネットユーザーは無料のSSL証明書でWebサイトを保護することができます。ページ数が少なく、ユーザー数が少ないWebサイトの場合は、SSL証明書に自己署名することをお勧めします。

0
Jiger Jain