🔰

例えで掴む「公開鍵基盤」のイメージ

2024/04/29に公開

概要

公開鍵基盤を説明する例えを思いついたので、書いてみます。

ゴール

「公開鍵基盤?何それ美味しいの?」状態から、「なんとなくイメージできた」レベルになることを目指します。

話さないこと

公開鍵基盤の技術的な詳細

結論

公開鍵基盤とは、インターネットの世界で「信用できる第三者を通して身分を証明する仕組み(≒基盤)」を実現したもの

です。

詳細を見ていきます。

現実世界において「身分を証明する」とは

公開鍵基盤の主な目的の一つは、身分証明のお墨付きを与えることです。

この仕組みは、現実世界の身分証明の仕組みと非常に類似しています。

そこで、公開鍵基盤を理解するために、現実世界における「身分を証明する」ことを少し掘り下げてみます。

例1 正規のサービス利用者であることを証明する

皆さんが銀行や郵便局に行って、身分を証明する必要が出たときに、何を使用して身分を証明しますか?

大体、以下のいずれかだと思います。

  • 運転免許証
  • 健康保険証
  • マイナンバーカード

(以降、上記をまとめて「身分証明に使えそうな道具」と記述します)

ここで一つ提案です。

「そこらのメモ帳に自分の名前、生年月日あたりをフリーハンドで書いて、身分証明書として提出する」という手段はいかがでしょうか?

フリーハンドで書いた身分証明書(?)

フリーハンドとはいえ、立派に自身の身分を相手に伝えることできます。

ですが、まず全員が、「いや、ダメでしょ」と感じるはずです。

なぜ、上記「身分証明に使えそうな道具」はよさそうで、「メモ帳にフリーハンドで書いた身分証明書(?)」はダメそうなのでしょうか?
その違いは一体何でしょうか?

その答えは、 「信用できる第三者のお墨付き」 です。

信用できる第三者(団体や公的機関など)が発行した道具だからこそ、その記載内容に信ぴょう性が生じ、身分を証明する道具として機能します。

言い換えると、私たちは、信用できる第三者を通すことで、自分の身分(≒「正規のサービス利用者」であること)を証明します。

例2 正規のサービス提供者であることを証明する

花の金曜日、1杯飲みに行こう!と繁華街へ繰り出した皆さんの目の前に、以下二つの居酒屋があったとします。

  • 飲食店営業許可証を取得している、自治体の認可が下りている居酒屋
  • 飲食店営業許可証を取得 していない 居酒屋 (いわゆる無許可営業)

営業許可証の有無

どちらに入店したいですか?

まず全員が、「飲食店営業許可証を取得している、自治体の認可が下りている居酒屋」を選択するはずです。

なぜでしょうか?と問われれば、「自治体の認可があって安心だから」という回答になるかと思います。

この安心感は、 「信用できる第三者である自治体のお墨付き」 から来ています。

言い換えると、居酒屋は、"営業許可証"という第三者のお墨付きを通して、私たちに「正規のサービス提供者ですよ」という事を証明します。

現実世界における身分証明

上記2例をまとめます。

  • 私たちは、信用できる第三者を通すことで、自分の身分(≒「正規のサービス利用者」であること)を証明します
  • 居酒屋(サービス提供者)は、"営業許可証"という第三者のお墨付きを通して、私たちに「正規のサービス提供者ですよ」という事を証明します

このことから分かる通り、私たちの社会では、 「信用できる第三者を通して身分を証明する仕組み(≒基盤)」 が確立されています。

身分を証明する基盤

インターネットの世界で身分を証明する

現実世界では、「信用できる第三者を通して身分を証明する仕組み(≒基盤)」が確立されていることを確認しました。

この、「信用できる第三者を通して身分を証明する仕組み(≒基盤)」をインターネット上で実現したものが「公開鍵基盤」です。

公開鍵基盤のイメージ

以下は、公開鍵基盤の各種用語を、現実世界の用語に対応させた表です。

現実世界の用語 公開鍵基盤での用語
信用できる第三者 => 認証局(CA)
第三者のお墨付き(署名捺印) => デジタル署名
サービス利用者 => クライアント(ユーザー)
サービス提供者 => サーバー
正規のサービス利用者を証明する情報(身分証明書) => クライアント証明書
正規のサービス提供者を証明する情報(許可証・証明書) => サーバー証明書

まとめ

改めて、

公開鍵基盤とは、インターネットの世界で「信用できる第三者を通して身分を証明する仕組み(≒基盤)」を実現したもの

です。

皆様の理解の一助になれば幸いです。

余談 : オレオレ証明書

公開鍵基盤における「第三者のお墨付き(デジタル署名)」ですが、第三者が生成したデジタル署名ではなく、自分で生成したデジタル署名を使用することもできます。

こうした「自分で生成したデジタル署名を含む証明書」を、自己署名証明書(通称オレオレ証明書)と呼んでいます。

オレオレ証明書は、動作確認などのテスト目的で使用します。

サーバー証明書など、インターネットで使用することは(よほどの理由がない限り)ありません。

  • というか、使用するとブラウザが警告を出します
  • 「自己署名証明書 ブラウザ 警告」等で検索すると、警告画面の画像が出てきます

Discussion