リビング+:特集 2003/02/28 23:59:00 更新

特集:ホームユーザーのための実践的セキュリティ術(最終回)
S/MIMEによるメールの暗号化〜「Web of Trust」による無料のデジタルIDを試す

ネットワークの管理者が、他人のメールの内容を覗くことは容易なのだが、無防備なまま放置されているメールが多い。そこで、今回は公開鍵暗号を使い、メールを暗号化するまでの手順を紹介しよう

 細かい部分まで仕様が決められており、対応したソフトもあるのにかかわらず、なぜかまったく普及していないセキュリティ技術がある。それは、メールを暗号化するS/MIMEのことだ。「Outlook Express」や「Netscape Communicator」など、S/MIMEに対応したメールソフトを使っているユーザーは多いはずなのだが、暗号メールはほとんど利用されていない。ネットワークの管理者であれば、他人のメールの内容を覗くことは技術的には容易なのだが、無防備なまま放置されているメールが多い。

 S/MIMEが、なぜ普及しないか理由を考えるのにあたって、簡単に暗号技術のおさらいをしておこう。

 メールの暗号化では、公開鍵暗号と呼ばれる暗号方式が用いられる。公開鍵暗号では、暗号化と復号化で異なる鍵を使う。なぜ、暗号化と復号化に同じ鍵を用いる共有鍵暗号では、ダメなのであろうか。

 例えば、軍隊など組織内で用いられる暗号であれば、共有鍵暗号を使用することが可能だ。しかし、インターネット上の暗号メールは、初対面の人にも送ることができなければならない。共有鍵暗号の場合、暗号化されたメールを読むには暗号化に用いた鍵が必要だが、直接会ったりしないかぎり、初対面の人に鍵を安全に知らせることはできない。

 一方、公開鍵は、暗号化に用いる鍵と復号化に用いる鍵が別である。このため、暗号化鍵を公開しても、復号化鍵さえ隠しておけば、本人以外は暗号化されたメールを読むことができない。また、初対面の相手でも、送る相手の暗号化鍵は広く公開されているため、暗号化されたメールを送ることができる。このような理由から、公開鍵暗号が用いられているのである。

 メールの暗号化がなかなか普及しない原因の1つは、この公開鍵暗号の特性にある。公開鍵暗号では、送信元ではなく、送信先が暗号化鍵を公開していなければ、暗号化が行えない。セキュリティに関心があり、メールを暗号化したいと思っていても、送る相手の方がメールの暗号化に興味がなければ、何もできないのである。

 Webで用いられる暗号化技術SSLでも、公開鍵暗号が用いられているが、こちらはデータを受ける側となるのはサーバだ。したがって、ショッピングサイトなど暗号化が必要な場合は、サーバが対応するだけで暗号化通信が利用できる。このため、S/MIMEと異なり、すでにSSLはよく利用されている。

 暗号鍵を公開するためには費用がかかるのも、普及を妨げている。費用がかかるのは、公開される暗号鍵が正しいものであることを認証局に保証してもらわなければならないからである。認証局に保証された鍵を証明書(デジタルID)という。最近では、@niftyやBIGLOBEなどの大手ISPが、大手の認証局であるVerisignと提携して、証明書の発行サービスを、比較的低価格で始めている。しかし、一般的なメールのやりとりでは危険性を感じていない人も多く、なかなか証明書を取得するユーザーは増えない。

無料の証明書を取得する

 そこで、今回は、南アフリカに本拠をかまえるThawte(http://www.thawte.com/)という認証局を紹介することにした。ここは、個人向けの証明書を無償で提供している。もちろん、証明書を取得しても、自分から暗号メールを送ることはできない。しかし、証明書を取得しておけば、誰かがあなた宛に暗号メールを送ってくれるかもしれない。費用はかからないため、暗号メールを送りたい、あなたの知人にも勧めやすいだろう。

 実際に取得するには、Thawteのトップページにある“get your FREE personal email certificate”から始めればよい。ここで取得した証明書は、後で説明する“Web of Trust”により本人の証明にも利用できる。このために、パスポートや免許書の番号を入力するように促されるので、あらかじめ番号を控えておくとよいだろう。途中、メールアドレスの確認のため、メールが送られてくる。届いたメール中のURLにアクセスして、手続きを続行する。

 アカウントが作成できたら、実際の証明書の発行をリクエストしよう(Request A Certificate)。 S/MIMEのために“X.509 Format Certificates”を取得する。利用しているメールソフトを尋ねられるが、オレンジソフトの「Winbiff」のように、S/MIMEに対応していながら選択肢にないものを利用している場合は、とりあえず“Microsoft Internet Explorer、Outlook and Outlook Express”などを選んで、後から証明書のエクスポートを行えばよい。証明書の拡張機能も“Default Extensions”のままでかまわない。

/broadband/0302/28/getcert.jpg
対応しているソフトはこの画面のとおりだが、X.509に準拠した証明書が発行されるため、これ以外のソフトにもエクスポートによって、証明書を移すことは可能だ

 認証局は鍵を保証する証明書を発行するが、実際の鍵自体はユーザーのPCで作成される。このため、途中からOSの鍵作成画面に移る。このあたりからはOSによって変わってくるが、筆者の環境であるWindowsの場合は、次のような手順になる。

 まず、鍵を作成するプログラム「CSP」は“Microsoft Enhanced Cryptographic Provider”を選択しよう。より安全な1024ビットの鍵が作成されるはずだ。鍵の作成が要求されると、確認のダイアログが表示されるのでOKを押す。また、鍵を使うたびにパスワードで確認させたいなら、セキュリティレベルを“高”に、入力が煩わしいなら、セキュリティレベルを“中”にするとよいだろう。鍵が作成されると、しばらくしてからメールが届く。メール中のURLにアクセスして“Install Your Cert”を押すと、証明書がインストールされる。

/broadband/0302/28/digitalid.jpg
実際に取得した証明書。Outlook Expressの場合、ツール→オプション→セキュリティ→デジタルIDで、取得した証明書を確認できる

 証明書を取得できたら、メールを送ってみよう。相手が証明書を取得していない場合、暗号化はできない。しかし、署名付きのメールを送ることができる。署名付きのメールは、そのメールをあなたが書いたことを保証するだけでなく、あなた宛てに暗号化するための情報にもなる。一度、署名つきのメールを受け取ると、署名した人へ暗号化メールを送ることができるようになる。ただし、相手がOutlook ExpressなどのS/MIMEに対応したメールソフトを利用している必要がある。

/broadband/0302/28/ciphermail.jpg
Outlook Expressでは、暗号化されたメールや署名されたメールを受け取ると、このような表示が現れる

“Web of Trust”とは

 このようにして入手できた証明書は、あなたのメールアドレスに関連付けられている。しかし、あなた自身には関連付けられてはいない。証明書の内容を表示してみても、メールアドレスは表示されるが、名前は“Thawte Freemail Member”になったままである。

 というのは、無料の取得手続きでは、本人の確認ができないからだ。確認ができないままでも、証明書自体は普通に使用することができ、暗号の効力も問題はない。ただ、そのメールアドレスが本当に“あなたのもの”であるということを証明できないだけである。普通にメールをやりとりするだけであれば、これだけでも十分だろう。

 しかし、興味深いのは、Thawteが本人確認の方法として選んだやり方である。Thawteが採用した“Web of Trust”は「信用の輪」という意味で、信頼性を保証するためのモデルの1つだ。

 本来、S/MIMEでは、認証局として認められた機関が、本人であることを保証してくれる。このため、ユーザーは認証局に本人であることを確認できる資料を提出し、証明書を発行してもらう。

 一方、Web of Trustは、ユーザーが相互にお互いを保証するという考えだ。もちろん、一般の人が保証を行うので、場合によっては偽りの可能性もある。しかし、たくさんの人に保証されていれば、信頼に値すると判断してもよい。そう考えたのがWeb of Trustである。この考え方は、もともと草の根レベルで広まった暗号化ソフト「PGP」で、特権的な機関がなくても、信頼性を保証することができるように生み出されたものだ。

 Thawteは、S/MIMEに、うまくWeb of Trustの考えを持ち込んでいる。ThawteのWeb of Trustでは、“Notary”(公証人)が活躍する。Notaryは、新しいメンバーに一定の“Trust Points”を与えることができる。与えることのできるTrust Pointsは、Notaryとしての経験によって異なり、最初は10Pointsだが、経験を積むと最大35Pointsとなる。新しいメンバーは、複数のNotaryからTrust Pointsをもらい、それが50Pointsに達すると、証明書に名前を関連付けられるようになる。そして、さらに100Pointsに達すると、自らNotaryとなって、他のメンバーにTrust Pointsを与えることができるようになる。

 Web of Trustによる信用が得られると、Thawteが認証局として証明書を裏打ちする。このような仕組みによって、本来は認証局ベースのS/MIMEで、Web of Trustによる相互認証が用いられているのである。

 ただし、実際にWeb of Trustによる信用を得ようとして、筆者は壁にぶつかった。日本における参加者はそれほど多くないため、Trust Pointsを与えてくれるNotaryが身近にいないのである。このようなケースのために“Trusted Third Party Program”も用意されているが、弁護士や公認会計士などに書類を書いてもらう必要があり、手軽には行えない。興味深いシステムなので、かなり残念に思う点だ。

関連記事
▼しつこいウイルスメールへの対処法〜Fromを詐称されたメールから送信元を特定
▼セキュリティパッチの重要性〜セキュリティ対策ソフトだけで安心してはダメ
▼内部プログラムの怪しい動きをチェック〜パーソナルファイアウォールの正しい使い方
▼ルータはセキュリティの第一歩〜ブロードバンドルータで防げる攻撃と防げない脅威

関連リンク
▼Thawte

[吉川敦,ITmedia]



モバイルショップ

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!