📘
【IT基礎】SSH/ウォレット/TLS 鍵のライフサイクル比較
SSH/ウォレット/TLS 鍵のライフサイクル比較
SSHの鍵ライフサイクル
時系列フロー
-
接続元PC が鍵ペア(秘密鍵・公開鍵)を作成(
ssh-keygen
、長期利用想定) -
管理者 が公開鍵を接続先VPSの
~/.ssh/authorized_keys
に登録 - 接続元PC がログイン要求時に秘密鍵で署名し送信
- VPS が受信した署名を登録済み公開鍵で検証し、合致すればログイン許可
- 管理者 が任意のタイミングで鍵ペアを更新(期限なし)
秘密鍵漏洩時の影響
- 登録されている全サーバへ侵入可能
- 即座にサーバから公開鍵を削除し、新しい鍵ペアへ切替必須
特徴
- 長寿命・手動管理
- 公開鍵は事前配布(信頼は管理者が担保)
- 同じ鍵を複数サーバで使い回し可(リスク増)
ウォレットの鍵ライフサイクル
時系列フロー
- ウォレットアプリ が内部で鍵ペアを生成(多くはBIP-39ニーモニック→派生)
- 送金者(ウォレット) が送金トランザクションに秘密鍵で署名し、公開鍵と署名をネットワークへ送信
- 各ノード が受信したトランザクションの署名を公開鍵で検証
- ブロックチェーンネットワーク が有効な取引をブロックに記録
- 送金者 は資産が残る限り同じ鍵を利用(破棄せず)
秘密鍵漏洩時の影響
- 即座に資産が盗まれる(誰でも送金可能)
- ブロックチェーン上で鍵の失効は不可
- 唯一の対策は全資産を新ウォレットへ速やかに移動
特徴
- 永続利用(同じ鍵=同じ資産)
- 公開鍵はトランザクションごとに提示
- 秘密鍵流出=即資産消失(復旧不可)
TLS(SSL証明書)の鍵ライフサイクル(TLS 1.3)
時系列フロー
- サーバ が鍵ペアを生成し、CSRを作成
- 認証局(CA) がCSRに署名してサーバ証明書を発行
- サーバ がクライアント接続時に証明書(公開鍵付き)を送信
- クライアント が証明書チェーンを検証(CA署名 → 中間証明書 → ルート証明書)
- クライアント と サーバ がECDHEで一時的な鍵ペアを生成し、Diffie-Hellmanで共通鍵(セッション鍵)を共有
- クライアント と サーバ が共通鍵で実通信を暗号化(AESなど)
- クライアント と サーバ がセッション終了時にセッション鍵を破棄
- サーバ管理者 が証明書有効期限(90日〜1年)ごとにサーバ証明書を更新
秘密鍵漏洩時の影響
- サーバなりすまし可能
- TLS 1.3では過去通信は解読不可(PFS)だが、漏洩後の通信は危険
- 即座に証明書失効と新鍵発行が必要
特徴
- 公開鍵の信頼はPKI(認証局)モデル
- セッションごとに暗号鍵が変わる
- 前方秘匿性で過去通信を守る
- TLS 1.2以前のRSA鍵交換では秘密鍵漏洩で過去通信も解読可能だった
Discussion