公開鍵認証(こうかいかぎにんしょう)

公開鍵認証(こうかいかぎにんしょう)とは、ペアになった2つの鍵(公開鍵と秘密鍵)を使って、パスワードを送らずに本人確認を行う仕組みのことです。サーバーへのログインや通信の安全性を高める方法として広く使われています。

現実世界でいえば、誰でも投函できる「郵便ポストの投入口(公開鍵)」と、その中身を取り出せる「ポストの鍵(秘密鍵)」の関係に似ています。投入口の場所は公開しても構いませんが、中身を開けられるのは鍵を持つ本人だけ、というわけです。

公開鍵と秘密鍵の関係

公開鍵認証では、必ずペアになった2種類の鍵を使います。この2つは数学的に結びついており、片方で処理したデータはもう片方でしか正しく扱えません。

鍵の種類 特徴 取り扱い
公開鍵 相手やサーバーに渡して使う鍵。他人に知られても問題ない。 広く公開・配布してよい
秘密鍵 本人だけが持つ鍵。これがあれば本人と証明できる。 絶対に他人に渡さない

ログインの流れ

SSHなどでサーバーにログインする場合、公開鍵認証はおおよそ次のように動作します。パスワードそのものをネットワークに流さないため、盗み見られる心配が少なくなります。

  • 公開鍵をサーバーに登録
    あらかじめ自分の公開鍵をログイン先のサーバーに置いておきます。
  • サーバーが本人確認を要求
    ログイン時、サーバーは登録された公開鍵を使って問題(チャレンジ)を出します。
  • 秘密鍵で応答
    手元の秘密鍵で正しく応答できれば、本人だと認められログインできます。

パスワード認証との違い

従来のパスワード認証と比べると、公開鍵認証は安全性と利便性の面で優れています。

方式 仕組み 主な弱点
パスワード認証 合言葉(パスワード)を送って照合する。 推測・使い回し・漏えいに弱い
公開鍵認証 秘密鍵を使い、パスワード自体は送らない。 秘密鍵ファイルの管理が必要

安全に使うための注意点

強力な仕組みですが、秘密鍵が流出すればなりすましを許してしまいます。次の点に注意して運用します。

  • 秘密鍵を厳重に保管する
    他人と共有せず、パスフレーズ(鍵自体のパスワード)を設定しておくとより安全です。
  • 使わない公開鍵は削除する
    不要になった鍵をサーバーに残しておくとリスクになります。

あわせて知っておきたい用語

  • SSH
    サーバーに安全に接続するための代表的な通信方式。公開鍵認証がよく使われます。
  • 秘密鍵
    本人だけが持つ、なりすまし防止のかなめとなる鍵。
  • 暗号化
    データを第三者に読めない形に変換する技術。鍵のペアが基礎になっています。
  • 認証
    相手が本人かどうかを確かめる仕組み全般のこと。

コメント

タイトルとURLをコピーしました