【新企画】


初めての方へのEC講座 第1回「SSL & Verisign」


 インターネットでショッピングができることは、新聞や雑誌などで既にご存じだろう。一方でインターネットでは安全性に欠けるということも大きく報道されている。電子商取引実証推進協議会(ECOM)が5月に発表した電子商取引に関する意識調査(http://www.ecom.or.jp/ )では、8割の人が「他人に個人情報が漏洩するのが心配」という結果が出ている。

 そんな中、安全性を保つ手段として使われているのが情報の暗号化だ。主流のWWWブラウザーにも既に暗号技術が組み込まれるなど、知らず知らずのうちに私たちにも浸透してきている。

 現在の暗号技術で、最も多く使われているのがSSL(Secure Sockets Layer)だ。みなさんの中でも、WWWブラウザーのウインドウ隅にある「鍵」がつながった状態を見かけたことがあるだろう。それがSSLなのだ。今回は、SSLの基本的な仕組みから、実際に証明書を取得できるまでを解説したい。

●世の中には2つの暗号化方式がある

 SSLを詳しく説明する前に、SSLで使っている基礎的な話をしておこう。暗号化方式には大きく分けて2つあり、ひとつは共通鍵暗号方式、もうひとつは公開鍵暗号方式だ。SSLではこの両方を使っており、それぞれの長所をうまく使い分けて利用している。

 共通鍵暗号方式は、いわゆる「鍵」のイメージそのもので、閉じる鍵と開ける鍵は一つの同じ鍵を使う。鍵を皆に見せてしまうとだれにでも開けられ、鍵を掛けている意味が無くなってしまうので、この鍵を人に使われないように隠しているところから秘密鍵暗号方式とも呼ばれている。ちなみにSSLでは、共通鍵暗号方式に鍵長40bitのDES(Data Encryption Standard)が使われている。

 公開鍵暗号方式は、公開鍵と秘密鍵と呼ばれる2つの鍵を使う。公開鍵と秘密鍵は1対になっている。秘密鍵の保管は、今までの鍵と同様に秘密に保管しているが、公開鍵は必要ならば誰でも見ることも使うこともできる。このとき公開鍵を公に登録しておく場所が認証局だ。認証局の役割としては公開鍵が本物であるという証に電子証明書を付けている。いってみれば印鑑証明書のようなものだ。後で詳細を解説するが、この認証局として代表的なものがベリサイン社である。

 *図1のように、2つの鍵はの使い方は単に開ける鍵と閉める鍵ではなく、公開鍵で閉めたら秘密鍵でないと開かない。逆に秘密鍵で閉めたら公開鍵でないと開かない。この公開鍵は誰でも入手できるが、公開鍵があるからといって全てが開閉できるわけではなく、やりとりするには対となる秘密鍵も必要となるのが公開鍵暗号方式の最大の特徴だ。

 この特長を使って、文章の暗号化をした場合を考えてみよう。例えば貴方が彼女に電子メールでラブレターを送るとする。貴方は彼女の公開鍵でラブレターを暗号化し、彼女にメールを送る。ラブレターは秘密鍵を持っている彼女以外は決して開けることができない。つまり途中で第三者に手紙を読まれることはない。仮に電子メールの送り先を間違えたとしても、届いた相手は対になるはずの鍵を持っていないため、簡単にはラブレターを読むことはできないというしくみだ。

 また、公開鍵暗号方式は暗号化以外に、鍵の使い方を逆にすることにより、文書を書いた人を証明をする『電子署名』としても使われている。先程と同じようにラブレターに例えてみよう。貴方が書いたラブレターを、貴方の秘密鍵で暗号化して彼女に送る。それを彼女が貴方の公開鍵で開けて読むことができれば、貴方が出したラブレターであることを証明できるのだ。仮に貴方の名前を偽って彼女に手紙を出したとしても、彼女は鍵が合わないことに気がつき、貴方からの手紙ではないことがすぐに分かるだろう。電子署名については、SSLでは使われていないので、詳しくは次回以降に紹介する。

*図1 インプレス刊 インターネットコマースより

●そもそも何故暗号化通信(SSL)を使うの?

 インターネットの電子メールでクレジットカード番号を送ることは、「安全性の面で危険だ」と聞いたことがあるだろう。インターネットで送る文字は、見ようと思えばだれでも簡単に覗き見ることができるからだ。「そんなことをする奴はけしからん!」とは思ってみても、残念ながら現状ではインターネットの機密性は高くない。そこで安全に利用するための自衛策として生まれてきた手段の一つがSSLだ。SSLには認証技術や暗号技術などが応用されており、「通信をしている相手が本当に目的の相手かどうか?」や「簡単に通信内容を見られない」、「通信内容を変更できない」といった「なりすまし」や「盗聴」、「改ざん」といったものの防止策として有効なのである。

●ではSSLとは一体なにものだろう

 SSL(Secure Sockets Layer)は米Netscape社により提唱された暗号通信方式だ。SSLでは特定の情報を暗号化するのではなく、インターネットの基礎であるTCP/IPで通信される内容を全て暗号化する。またSSLを使うときは、URLが『http:』ではなく『https:』となる。具体的には、*図2のようにTCP/IPレイヤとサービスプロトコルレイヤの間にSSLが入るのだ。このため、ホームページを見るための情報(HTTP)や電子メールを読むための情報(SMTP、POP)など、さまざまな通信プロトコルに対応できる点が特長だ。









*図2 インプレス刊 インターネットセキュリティより

●実はSSLはこうなっている

 SSLの仕組は大きく2つに分けられ、ひとつはセキュアなデータ通信を確立するフェーズ、もうひとつは機密性を持ったデータ通信を行なうフェーズだ。その概念図はベリサイン社のサイト(http://www.verisign.co.jp/did/SSL/how-to-ssl.html )から、見ることができる。

 『セキュアなデータ通信を確立するフェーズ』では、公開鍵暗号方式と認証技術を使って、通信している相手が実際に存在するかどうかを確認している。相手が偽って取引をしている「なりすまし」や、本来とは違う情報を送ってくる「改ざん」が、されていない正しい情報であるかの認証を行なっている。この認証を正しくするためには提供者側と利用者側の双方で電子証明書が必要になる。現在日本では、約1,000のWWWサーバー(提供者側)が電子証明書をもっているのに対し、利用者側の殆どは電子証明書をもっていない。このため、双方が正しい利用者である確認が取れず、ほとんどの場合片方向の認証しか行なわれていないのが現状だ。

 『機密性をもったデータ通信を行なう』フェーズでは、実は公開鍵暗号方式ではなく、共通鍵暗号方式を使って暗号化通信をしている。「全部公開鍵方式でやれば良いのでは?」とも思うのだが、公開鍵暗号方式では暗号化,復号化に複雑な計算を行なっているために、処理に時間がかかってしまうという欠点がある。通信を行なっているときあまり遅いと使いものにならないので、データ通信の暗号化では共通鍵暗号方式で行なっているのだ。

 SSLは、現在考えられる複数の技術を使って高度かつ高速な暗号化を実現してる。実際に利用者が認証が正しく行なわれているかは、WWWブラウザーの場合は画面から確認することができる。Netscape NavigaterではSSLが正しく認証されると壊れていた鍵がくっつき、Internet Explorerの場合は何も無かった場所に鍵マークが表示される。

 ひとつ気になるのは、片方向認証と相互認証の場合のどちらも鍵マークは全く同じな点だが、日本ベリサイン社に確認したところ、「片方向認証か相互認証かは、サーバ側だけでわかれば良いため」との説明を受けた。

●SSL以外のセキュリティ技術

 SSLと同じような技術にS-HTTPがある。このS-HTTPは米CommerceNet社が提唱した暗号プロトコルで、Netscape社でも対応を発表し、一時はS-HTTPプロトコルが主流となると思われた時期もあった。しかしSSLより高度な暗号化ができる反面サービスプロトコルのHTTP自体を暗号化しているため、SSLのようにtelnetやFTPで暗号技術を利用するといったことできない。またSSLもS-HTTPも同じだが、これらのセキュリティ技術を使うためには、それぞれに対応しているソフトを使わなければいけない。この点でSSLは既にNetscape NavigaterやInternet Explorerに組み込まれてるため、多くの人がそのまま使える。その点ではS-HTTPは大きく遅れをとっており、現状はSSLの方が優勢と言えるだろう。

●ところで電子証明書とは何だろう?

 公開鍵暗号方式を使うときには、公開鍵自体が本当に持ち主のものだということが分からなければ、利用価値がないだろう。そこで公開鍵の持ち物を証明するために電子証明書がある。同時に公開鍵を管理し、電子証明書を発行する機関として認証局が不可欠だ。また電子証明書は公共的なものと個別なものの2つに分類することができる。これは電子証明書を発行している機関と発行基準によっての違いによるもので、この違いは公共的なものが運転免許証やパスポートとすると、個別なものはクレジットカードやスポーツクラブの会員証といえばわかりやすいだろう。

 既にサービスを開始している認証局としては、ベリサイン社がある。ベリサインではCPS(ベリサインサーティフィケーションプラクティスステートメント)という発行基準を定め、そのチェックレベルの高さにより3タイプのパブリック証明書(電子証明書)を発行している。どの程度のチェックに違いがあるかを簡単に説明すると、クラス1は電子メールアドレスだけあっていれば名前も匿名でかまわない。クラス2は正しい本名、住所、電子メールでなければ発行されない。クラス3は現在企業認証のみで、個人には対応していない。クラス3の企業認証は、登記簿謄本、代表者印鑑、印鑑証明書等の政府機関への届け出されている情報の確認が要求される。詳しくはCPSのホームページを読んで見てほしい。

 また平成9年4月に設立したばかりのサイバートラスト社は、米GTE社が技術提供する認証局を運営する。GTE社はSETの主要メンバーであることから、これらの分野で利用されていくと思われる。これらベリサインとGTEが米2大認証サービス事業者といえる。なお、国内の認証サービスの動向としては、4月末に日立など3社が電子認証事業の会社設立について合意したと発表されている。新会社の社名などは未定だが、今秋から事業を開始する予定としている。

 個別なものとしては、凸版印刷で行なっているトッパン・セキュア・モール(TSM)がある。これはベリサイン社の技術を使ってTSM独自で認証局を立ち上げており、TSM独自の基準を満たした場合に電子証明書が発行される。TSMの場合は基準が特に厳しく設定されており、ベリサイン社のパブリック証明書クラス2としても利用することができる。ちなみに個人にクラス2の証明書を発行しているところはTSMのみである。

●実際に電子証明書をもらってみよう

 ベリサインのパブリック証明書(digital ID)のクラス1は、6ヵ月無料体験ができる。ここではその実際の方法を解説しよう。

 デジタルIDセンター( http://digitalid.verisign.com/)より申し込む。メニューからENROLLを選択し、次に使っているWWWブラウザを選択。するとdigital IDを選択できるが、無料体験ができるのはクラス1のみなので、クラス1を選択すると個人情報の入力画面が表示される。ここでは電子メールアドレスを入力することと6-month trial Digital IDを選択することに注意。後は適当に入力してもチェックされることはないようだ。分かりにくい点は、Challenge Phraseには任意の英数字を入力すれば良い所ぐらいだろう。またUSでは暗号キー長は512,768,1024bitと選択できる様だが、私には512bitしか選択できなかった。全て入力して問題なければ10秒程度で正常に終了したメッセージが表示される。すると先ほど入力した電子メールにPINを知らせるメールが届く。これにより、正しい電子メールアドレスがチェックされている。そしてPIN番号を使ってWWWブラウザへ電子証明書をダウンロードを行なったら全てが終了だ。

 早速ちゃんと使えるかどうか、デモ( https://www.verisign.co.jp/demo/ )で試してみる。3種類のデモが用意されており、画面に従いnextを選んで行くと電子証明書を要求され相互認証になるところや電子証明書からユーザ名を読み取り、WWWサイトに表示される様子を試すことができる。



●相互認証はまだまだこれから

 本当であれば次に実際に電子証明書を使ったサイトの紹介とその使い方を紹介するべきなのだが、残念ながら相互認証を行なっているサイトはTSMぐらいしか存在しない。しかしTSMで相互認証を行なう場合はTSM専用の電子証明書が必要なため、今回もらったパブリック証明書クラス1は使うことはできない。TSMに関しては別途詳しくレポートしてあるので、そちらを見てほしい(本誌5月12日号参照 )。

 電子証明書を使った相互認証は、これから徐々に増えていくと思われるが、ベリサイン共通のパブリック証明書とそれ以外の企業独自発行の電子証明書とあり、将来的には一人でたくさんのクレジットカードを持っているように、たくさんの電子証明書を持つ日が来るのかもしれない。

('97/6/23) 

[Reported by Watcher小林]


INTERNET Watchホームページ


ウォッチ編集部INTERNET Watch担当 internet-watch-info@impress.co.jp