PGPとS/MIMEの違い

 暗号化技術そのものはさて置き、大事なのは「公開鍵」の扱いなんだ。もちろん「秘密鍵」を漏らさないように厳重に管理することが大事なのは言うまでもないが、署名の検証にしろ、暗号の復号にしろ、公開鍵自体が偽者だったら意味がないだろ? この「公開鍵」の検証方法がPGPS/MIMEの違いといっても過言じゃない。


 本人の「公開鍵」を適切にやり取りするには、いくつかの方法が考えられる。最も確実な方法は「手渡し」であろう。しかし、メールを送信する可能性のあるすべての人に自分の公開鍵を「手渡し」するのは現実的ではない。そこでPGPS/MIMEではそれぞれ異なった方法が用いられている。


 PGPでは「友達の友達は皆友達」という「Web-of-trust(信用の輪)」の考えを用いている。PGPの公開鍵には、別のユーザーが自らの秘密鍵で署名できるのだ。すでに何らかの方法で本人確認が済んでいる第三者によって署名されている公開鍵は「(ある程度)信用できる」と判断するわけである。


 PGPの場合はこのほか、公開鍵ごとに異なる文字列「フィンガープリント」を使って検証する方法もある。例えば、公開鍵自体は普通のメールなどで送付し、別途電話などでフィンガープリントを伝え、そのフィンガープリントによって公開鍵を検証する。また、フィンガープリントについては、名刺に記載しておく方法も一般的である。


 一方、S/MIMEでは公開鍵の正当性を「認証局」が証明してくれる。ただし、当然のことながら、認証局に「認証費用」を支払わなくてはならない。


 上記の違いから、PGPは小規模なコミュニティ内で手軽に利用するのに適しているのに対して、S/MIMEは不特定多数とのやり取りに適していると言えそうだ。


ソ-ス:研修で教えてくれない!:第18回「PGP? S/MIME? 電子署名の違いを学ぶ」 - ITmedia エンタープライズ