PKIとは
PKI(Public Key Infrastructure)は、公開鍵暗号を基盤としたセキュリティインフラストラクチャです。証明書の発行、配布、検証、失効を管理する仕組みで、HTTPS通信、電子署名、メール暗号化など、現代のセキュアな通信の基盤となっています。
PKIの主要コンポーネントには、認証局(CA)、登録局(RA)、証明書リポジトリ、証明書失効リスト(CRL)、オンライン証明書状態プロトコル(OCSP)などがあります。
PKIの構成要素
- 認証局(CA):証明書を発行・署名する信頼された組織
- 登録局(RA):証明書申請者の身元を確認
- 証明書:公開鍵と所有者情報を結びつけるデジタル文書
- CRL/OCSP:失効した証明書を管理する仕組み
- トラストストア:信頼されたルート証明書の格納場所
AIエンジニアとしての実体験
AIエンジニアとして、社内のマイクロサービス間通信でmTLS(相互TLS認証)を実装する際、PKIの構築が必要でした。以下は社内PKIの構築例です:
# ルートCAの作成
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 \
-out ca.crt -subj "/CN=Internal Root CA"
# 中間CAの作成
openssl genrsa -out intermediate.key 4096
openssl req -new -key intermediate.key -out intermediate.csr \
-subj "/CN=Internal Intermediate CA"
openssl x509 -req -in intermediate.csr -CA ca.crt -CAkey ca.key \
-CAcreateserial -out intermediate.crt -days 1825 -sha256
# サーバー証明書の発行
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr \
-subj "/CN=api.internal.example.com"
openssl x509 -req -in server.csr -CA intermediate.crt \
-CAkey intermediate.key -CAcreateserial -out server.crt \
-days 365 -sha256
企業内PKIの設計
階層構造の設計
一般的なPKI階層は3層で構成されます:
- ルートCA:オフラインで保管、最上位の信頼アンカー
- 中間CA:日常的な証明書発行を担当
- エンドエンティティ証明書:サーバー、クライアント、コードサイニング用
証明書ライフサイクル管理
- 発行:CSRの検証と証明書の発行
- 配布:安全な証明書の配布
- 更新:期限前の自動更新
- 失効:鍵漏洩時の即時失効
最新動向(2026年)
自動化の進展
ACME(Automatic Certificate Management Environment)プロトコルにより、証明書の発行・更新が自動化されています。Let's Encryptの成功を受け、企業内PKIでもACME対応が進んでいます。
ゼロトラストアーキテクチャ
ゼロトラストセキュリティモデルでは、すべての通信で証明書ベースの認証が求められ、PKIの重要性が増しています。
トラブル事例と対策
⚠️ ルート証明書の秘密鍵漏洩
影響:PKI全体の信頼が失われる
対策:ルートCAはHSMで保護し、オフラインで運用。中間CAを使用して日常運用。
⚠️ 証明書の有効期限切れ
症状:サービスが突然停止
対策:証明書の有効期限を監視し、自動更新を設定。certbotやACMEクライアントを活用。
権威あるリソース
関連用語
📝 関連ブログ記事
よくある質問(FAQ)
Q. PKI(公開鍵基盤)とは何ですか?
PKI(Public Key Infrastructure)は公開鍵暗号を使ったセキュリティインフラです。認証局(CA)がデジタル証明書を発行し、通信相手の身元確認・通信暗号化を実現します。TLS/HTTPS、コード署名、S/MIMEメール暗号化などインターネットセキュリティの基盤となっています。
Q. 企業内PKIとパブリックPKIの違いは何ですか?
パブリックPKIはDigiCert・Comodo等の公的認証局が運営し、Webブラウザが信頼します。企業内PKI(Private PKI)はMicrosoft ADCSやHashiCorp Vault等で構築し、社内システム・VPN・Wi-Fi等での内部認証に使います。コストを抑えて柔軟な証明書管理が可能ですが、社外には信頼されません。
Q. 証明書失効(CRL/OCSP)とは何ですか?
CRL(Certificate Revocation List)は失効した証明書のリストで、CAが定期的に更新・公開します。OCSP(Online Certificate Status Protocol)はリアルタイムで証明書の有効性を確認するプロトコルです。ChromeはCRLSets、AppleはOCSP Stapling等の最適化を使っています。
