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クライアントを活用。
