秘密鍵(Private Key)とは、公開鍵暗号で使う一対の鍵のうち、持ち主だけが厳重に保管し、決して他人に見せてはいけない側の鍵のことです。もう一方の「公開鍵」で暗号化されたデータを元に戻したり、自分が作った証拠として電子署名を付けたりするときに使われます。
現実世界に例えると、秘密鍵は誰でも投函できる郵便受けの、中身を取り出すための鍵のようなものです。郵便受けの場所(公開鍵)は広く知られていてかまいませんが、取り出し口の鍵だけは、持ち主が肌身離さず管理しなければなりません。
秘密鍵 図解
公開鍵と対になって働く
仕組みの基本です。秘密鍵と公開鍵は、片方で施した処理をもう片方でしか元に戻せない、特別な関係の一組として作られます。公開鍵から秘密鍵を計算で割り出すことは、現実的な時間ではできないように設計されています。この性質のおかげで、公開鍵を誰に渡しても、秘密鍵さえ守れば安全が保たれます。
2つの使い方
秘密鍵の主な役割です。1つは、自分あてに公開鍵で暗号化されたデータを、秘密鍵で元に戻すこと。もう1つは、データに秘密鍵で電子署名を付け、自分が作ったもので改ざんされていないことを、公開鍵を持つ相手に確かめてもらうことです。どちらも「秘密鍵を持っているのは本人だけ」という前提で成り立っています。
身近に使われている場面
私たちの周りの例です。秘密鍵は、目に見えないところで、さまざまな仕組みの安全を支えています。
| 場面 | 秘密鍵の役割 | 漏れたときの影響 |
|---|---|---|
| Webサイト(HTTPS) | サーバーが本物であることを示し、通信を守る | 偽のサイトを作られる |
| SSHでのログイン | パスワードの代わりに本人を確かめる | サーバーに侵入される |
| 電子署名 | 文書を作った本人であることを示す | なりすましの署名をされる |
| 暗号資産 | 資産を動かす権利そのものを表す | 資産を持ち出される |
鍵の方式と長さ
鍵の種類の話です。秘密鍵には、RSAや楕円曲線暗号など、もとになる暗号の方式による違いがあり、方式ごとに必要な鍵の長さが異なります。RSAでは2048ビット以上が目安とされ、楕円曲線暗号では、より短い鍵で同じくらいの強さを得られます。古い方式や短すぎる鍵は解読の危険が高まるため、作り直しが勧められます。
漏れたら取り返しがつかない
最も大切な注意点です。秘密鍵が他人の手に渡ると、その人は本人になりすまし、暗号化されたデータを読み、署名を偽ることができてしまいます。暗号の仕組みがどれほど強くても、秘密鍵が漏れれば意味がありません。メールで送る、共有のフォルダーに置く、プログラムと一緒に公開するといった扱いは、絶対に避ける必要があります。
安全に保管する工夫
守り方です。秘密鍵のファイルは、持ち主以外が読めないように権限を絞り、パスフレーズを設定して、ファイルそのものも暗号化しておくのが基本です。より重要な鍵は、パソコンのTPMや、鍵を外に取り出せない専用の装置の中で保管します。失うと二度と作り直せない鍵は、安全な場所に控えを残しておくことも大切です。
漏れたときの対応
万一への備えです。秘密鍵が漏れた、または漏れた疑いがあるときは、すぐに新しい鍵の組を作り直し、古い鍵を使えないようにします。Webサイトの証明書であれば、発行元に失効を申請します。SSHであれば、サーバーに登録した古い公開鍵を削除します。早く対応するほど、被害を小さく抑えられます。
「秘密鍵」の別の意味
言葉の注意点です。暗号化と復号に同じ鍵を使う「共通鍵暗号」は、鍵を秘密にしておくことから「秘密鍵暗号」と呼ばれることもあり、その鍵も「秘密鍵」と呼ばれる場合があります。英語では区別されますが、日本語では同じ言葉になるため、公開鍵暗号の話か、共通鍵暗号の話かを、文脈で見分ける必要があります。



コメント