自己署名証明書とは
自己署名証明書とは、暗号技術において、公開鍵をその鍵ペアに対応する秘密鍵で署名した
公開鍵証明書のことです。RFC 5280の3.2節などで定義されています。
暗号理論上、自己署名証明書は、その主体が証明書に記載された公開鍵に対応する秘密鍵を間違いなく所有していることを証明します。これは、証明書上の公開鍵を使って署名を検証することで、その正当性を確認できるためです。
もし主体が秘密鍵を持たず、公開鍵と署名をランダムに作成した場合、署名検証は失敗します。これは、主体が正しい秘密鍵を持っていないことを示すものです。
自己署名証明書の分類
自己署名証明書は、その用途や発行状況によっていくつかの種類に分類されます。
ルート証明書は、発行者と主体が同一である自己署名証明書です。鍵ペアや識別名を変更せずに、有効期間や拡張属性を変更して発行された証明書も
ルート証明書に含まれます。
ネーム・ロールオーバー証明書
認証局が鍵ペアを更新せずに識別名を変更した際に発行される自己署名証明書を、ネーム・ロールオーバー証明書といいます。
自己署名と混同しやすい証明書
キー・ロールオーバー証明書は、識別名を変更せずに鍵更新を行う際に発行される
自己発行証明書ですが、署名に用いる秘密鍵が異なるため、自己署名証明書ではありません。
公開鍵基盤の信頼を受けていない証明書
オレオレ証明書
信頼されていない自己署名証明書は、「オレオレ証明書」と呼ばれることがあります。これは、不特定多数の通信相手にSSL/TLS通信などで送られることが多いです。自己署名である理由は、発行や設定が簡単であるためです。
このような証明書は、
公開鍵基盤の信頼を前提とする用途には不適切です。しかし、VPNのように通信相手が限定される場合は、許可された相手のみが証明書を信頼することで問題なく運用できます。
証明書署名要求は、非改ざん性や秘密鍵の所有を主張および検証する目的で、自己署名証明書と同様に自己署名処理が行われます。
自己署名証明書の利用
自己署名証明書は、その手軽さから開発環境やテスト環境でよく利用されます。また、VPNや社内ネットワークのように、信頼できる相手との通信に限られる環境でも使用されます。しかし、
公開鍵基盤の信頼が必要な環境では、認証局によって発行された証明書を利用することが推奨されます。
自己署名証明書と他の証明書との違い
自己署名証明書は、自己発行であるため、認証局による信頼性の保証がありません。
ルート証明書は、認証局の起点となる証明書であり、信頼の基盤となるものです。オレオレ証明書は、信頼性の低い自己署名証明書を指す俗称です。
まとめ
自己署名証明書は、手軽に発行できる一方で、信頼性の保証が限定的であるという特徴があります。利用する際には、その特性を理解し、適切な環境で利用することが重要です。
関連項目
ルート証明書
Java - keytoolコマンドで自己発行の自己署名証明書を発行できる
OpenSSL
Pretty Good Privacy
Transport Layer Security
外部リンク
オレオレ証明書の区分 第三版 -
高木浩光、2007年11月