マイナンバー・ICTが拓くセキュアで豊かな社会
第21回 カフェ発 暗号を公開するって? 公開鍵暗号と共通鍵暗号(4)
ICT
2019.06.19
第21回 カフェ発マイナンバー・ICTが拓くセキュアで豊かな社会
暗号を公開するって?
公開鍵暗号と共通鍵暗号(4)
インターネット特有の管理方法とは
ある日の午前、都内文田区にあるカフェデラクレ(Café de la clé)。今年初めての台風が来るという天気予報がある日で、店では常連の竹見と市倉、マスターの加藤の3人だけだった。
* * *
竹見は嫌みのない教育的配慮で、市倉が暗号の講義について間違って覚えていたところを説明させていた。
市倉は、公開鍵暗号で鍵交換問題が解決できるものの、本人が本当につくったかどうかを確認する手段がないことを思い出し、説明を始めていた。
「PKI(注1)の基盤について簡単に説明できるかい?」
竹見が尋ねた。
「結構複雑なんですよね、特に日本は。」
市倉は、講義の最後の方で教員が説明していた話を思い出したようだった。
「あぁ、それはだいぶ政治的な背景があるからねぇ。」
グラスをふいているマスターの加藤が半ばあきれながら言った。
「まぁ、それはおいておこうよ、加藤くん」
竹見は笑いながら言うと、市倉は続けた。
「公開鍵の暗号鍵とその鍵の持ち主の対応関係を示す必要性はあるから、その対応関係を誰かに教えてもらいたい、と。」
「ふむふむ、正しいねぇ。」
「対応関係がわかるためには、世界中の人の持つ鍵と人の対応表の一覧が存在するべきで、電話帳を日々更新しなければならない。一方で、インターネットのような場所では、その電話帳を一元的に管理して、正しくアップデートすることは難しい。」
「そうだね。なんで一元的に管理をすることが難しいんだっけ?」
竹見が尋ねた。横で加藤が空になっていたグラスに水をついでいる。
「インターネットは、1人で管理しているわけではなく、たくさんの人が管理をして融通し合いながら管理しているから、かな?」
市倉は、悩みつつ言った。
「そのあたりは、分散協調での管理、と言う方がよいかな。インターネットの基本的な考え方だよね。」
加藤が言った。
家系図のような木構造とオレオレ証明書
「ネットワークの講義ですね。」
「で、電話帳に変わるものとして?」
竹見はグラスを空にしたあとで、尋ねた。
「誰かに一旦証明してもらって、その誰かを信用する方が、気をつける偽造先が減る。でも、1人で全部保証するのは難しい、と。世界各地で1人だけで全員を確認して鍵の台帳がつくれるのか、それが信頼できるのか、と。あと、Web上だと偽造サイトもたくさんあって、その人の鍵台帳が正しいかどうかの判断も難しいと。」
「そうだね。」
「なので、木構造(*)になっていると。」
市倉は少し気取って言った。
「その利点は?」
竹見が尋ねた。
「1人で全員の信頼を保証するのではなく、親となる人がいて、その人が複数の子供の信頼を保証していくので、鍵の正しさを確認したい人は、親だけを見たらよい。」
「そうだね。」
「ただ、一番親の鍵だけは、全員が持つ必要性があって、こういった考え方をPKI基盤と呼ぶ、と。」
市倉は、自分の言うことが正しいと信じ始め、スムーズに言うようになってきた。
「じゃあ、なんで、『この接続は安全ではありません』って出るんだっけ? サイトによっては、『この接続は安全ではありません、と出ていますが、証明書をインストールしてください』と言うこともあるよね。」
加藤が少しいじわるな口調で聞いた。竹見は横でほほえんでいた。
「竹見先生…」
市倉が竹見の方を見ながら言った。ちょうど、外の風がビュービューと聞こえ始めたところだった。
「さて、加藤君、この話が終わったら、ぼくは失礼するよ。台風も本格的に近づいてきたようだね。さぁ、市倉くん、君が終わらないとぼくはびちょびちょで帰ることになるから頑張ってくれたまえ。」
竹見は、加藤が水をつぎ足そうとしたのを遮りながら言った。
「Webの暗号化を示すSSLのサイト証明書(注2)は、一番親となるルート証明書が、ブラウザに最初からインストールされている。でも、その証明書を利用していないようなサイトについては、ブラウザが『安全ではありません』と、出していると。」
「そういう証明書を利用していないのに、信用ができるのかね?」
竹見が尋ねた。
「いわゆる、オレオレ証明書(**)というもので、自分勝手に親になって、自分の証明書が正しいと言っているだけと。」
「お、ちゃんとわかっているのだな。」
加藤は、そう言いながら竹見や市倉の前にある食器を片付け始めた。
「市倉君はなかなかまじめそうだな。安心したよ。あんな事件にひっかかるぐらいだから、少し心配していたんだ。」
竹見は、ほほえみながら言った。市倉は少しばつの悪そうな顔をしながら席を立った。
(注1)公開鍵基盤。英: public key infrastructure
(注2)サーバ証明書とも言う。
*木構造(ツリー構造)
木構造をざっくりと説明します。単純に言うと、家系図のような構造のことで、実際にノード間の関係は、家系図の用語を用いられます。親に対して、複数の子を持つことができ、下にいくほど広がります。
**オレオレ証明書
オレオレ証明書(自己署名証明書)とは、公開鍵をそれに対応する私有鍵で証明した公開鍵証明書のこと。自分自身で自分が正しいと言っていることになってしまいます。それでは、信用できませんよね(^^;