|
|
|
第31回:SSL(Secure Socket Layer)とは
|
|
|
|
大和 哲 1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連のQ&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら。 (イラスト : 高橋哲史) |
|
■ より安全にデータを扱うSSLがケータイに
NTTドコモの503iシリーズといえば、Javaを搭載したことが大きな特徴ですが、その他にもいくつかの改良点があります。そのうちのひとつが「SSL」に対応したことです。
このSSLを利用することによって、iモードでも、より安全にモバイルバンキングなどを使うことができるようになりました。
SSLとはSecure Socket Layerの略で、もともとはNetscape社によって提唱された規格で、通信の内容を暗号化することで、より安全な通信をするための仕組みです。現在では、IETF(Internet Engineering Task Force) が標準化を行なっています。
このSSLはインターネット上で最も普及しているセキュリティプロトコルで、PC用のWebブラウザではWebサーバーとの通信を安全にする方法として、このSSLが以前から使われていたわけですが、今回、iモードの通信方式にも、このSSLがサポートされ、ネットバンキングなどのメニューから利用されるようになりました。
既に、iモード用公式サイトの中では、いくつかのモバイルバンキングなどが既にこのSSLをサービスに利用していて、503シリーズを利用した場合、SSLを使ってページの通信が行われます(従来機では通常の方法でページデータのやりとりがされます)。
このSSLはサービスを提供するサーバーが本当に身元の確かなサーバーであることを確認し、また、サーバーから端末(この場合は携帯電話)とでやりとりされるデータを暗号化することで、途中経路でデータを盗聴されても内容がわからないようにします。これによって、ネット上で安心して、ネットバンキングなどの「他人に覗かれてはいけない情報」を扱うサイトを利用することができます。
実際には、iモードの場合、端末はデジタル携帯電話ですから、基地局までの電波の段階でも当事者以外にはデータを覗かれることはほとんどありませんし、そこから先も公式メニューではNTTドコモが承認したサーバーへの接続ですから、他のサーバーが成りすましたり、データを他人に覗かれたりという心配はほとんどないと思いますが、このSSLを利用すればより安全に、金銭取引などを行なうことができるようになるのです。
■ SSLの要は「認証」と「暗号化」
普通、インターネット上では多くの通信が平文(暗号化されていないテキストのこと)で行われています。たとえば、それはWebページの表示(HTTP)でもブラウザとサーバーが「どのページを見たい」「ブラウザの受け取れるデータの種類」と交渉したり、端末に渡されるデータも覗けばそのまま内容がわかってしまいます。
そのうえ、インターネットでも、他のマシンとマシンのデータのやりとりしているデータを盗聴するのはそれほど難しいことではありません。たとえば、インターネットでは、普通、Ehternetという有線の回線を使ってTCP/IPというパケット通信でデータをやりとりします。この場合、同じサブネット上にあるマシンからも簡単に他のマシンが通信のときに使っているIPパケットを見ることができるようになっています。ネットワークのメンテナンス用のツールとして、他のマシンも含めてネットワーク上のIPパケットを監視するツールというものもいくつかあるくらいです。また、やろうと思えば、データの改ざんもできますから、他のサーバーになりすますことも不可能ではありません。
しかし、インターネットでは、たとえば、ネットバンキングなどでは他のサーバーが銀行のサーバーになりすまされたり、あるいはでは口座番号や暗証番号(通常のHTTPを使ったWebサーバーとのやりとりでは、ブラウザ上で暗証番号は見えないようになっていても、実は、データ自体はしっかりと平文で流れています)などを覗き見されると悪用される恐れもあり、危険です。
そこで、SSLでは、「公開鍵暗号」「共通鍵暗号」の2つの方式を使ったデータの暗号化と「サーバーの認証」、それに「送信したデータが改ざんされていないかを確認」することによって、データの安全を図っています。なぜ、暗号化をするのかというと、情報を暗号化して送り、送り先で復号化するようにすれば、途中でデータを除き見されてても、暗号化、複合化の方法を知るサーバーと端末以外には、その内容を窺い知ることができなくなるからです。
具体的には、インターネットを使う場合は、WebデータのやりとりはHTTPという方法で通信が行なわれていますが、このHTTPを使うプログラム(普通はブラウザやウェブサーバー)は、Socketというインターネットを使うためのプログラムを呼び出します。さらにSocketが、TCP/IPパケット通信をするためのプログラムを呼び出すのですが、SSLはこのSocketとTCP/IPの層にあって、上にあげたような機能を果たしています。
まず、Webサーバーは自分が本当に身元の確かなサーバーだということを証明するために、アクセスしてきた端末に対して、「認証書」というデータを送ります。この認証書はサーバ証明書認証機関(CA)により発行されるもので、機関によって証明された企業などのサーバーなどしかこの認証をうけることができません。つまり、クライアントはこの認証書で相手のサイトが安全だ、として、接続するわけです。
それから、この認証書など、公開された情報を「公開鍵」として、データと展開するための「鍵」を暗号化してやりとりします。そして、この鍵データを共通鍵として、Webコンテンツのデータを暗号化してやりとりしています。インターネットを使う場合は、WebデータのやりとりはHTTPという方法で通信が行われていますが、このHTTPを使うプログラム(普通はブラウザやWebサーバー)は、Socketというインターネットを使うためのプログラムを呼び出します。さらにSocketが、TCP/IPパケット通信をするためのプログラムを呼び出すのですが、SSLはこのSocketとTCP/IPの層にあって、データの暗号化を行われています。
ちなみに、この2つの鍵を使ってデータの暗号化を行なう、という方式は、この手のデータの暗号化にはよく使われている方式です。というのも、公開鍵暗号方式は共通鍵暗号方式に比べて暗号化と複合化の処理に時間がかかるためで、組み合わせて使うことで暗号データの複号化作業を軽くしているのです。
ちなみに、この暗号化という作業は計算量が大きく、小さなコンピュータにはあまり楽なものではないのですが、それでも、iモードではインターネットで使われているものと同じ本格的なものを利用しており、安全性もパソコンのウェブブラウザと同等です。鍵データもパソコンのブラウザでも(日本では最近使われ始めたばかりの)128ビットデータのものが利用されています。
|
サーバー、端末それぞれで暗号化、複合化を行ない、回線上には暗号化されたデータが流される。そのため、仮に途中でデータを覗かれても、悪用は不可能だ
|
■ SSLを使ったページの利用
|
F503iの場合、SSLページにアクセスすると、画面下に鍵のマークが表示される
|
503iシリーズの場合、SSLを使ったメニューにアクセスしても、あるいはそれ以外のメニューへのアクセスでも、メニューの使い勝手はほとんど変わりません。
通常、iモード携帯電話がデータをサーバーとやりとりしているときには、たとえばF503の場合、「ページ取得中です」のように表示されますが、SSLを使ったセキュアサーバーとアクセスしている場合は「SSLページを取得中です」と表示されます。ページを表示しているときは画面の下に鍵のマークが表示されます。それ以外の使い勝手はほとんど通常のiモードメニューと同じです。
なお、通常、SSLを利用したiモードメニューを利用する場合でも、SSLに対応していない501、502シリーズでアクセスした場合は、SSLでない通常のメニューが表示されるのが普通です。
■ URL
NTTドコモの503iシリーズニュースリリース
http://www.nttdocomo.co.jp/new/contents/01/whatnew0118a.html
IETF(Internet Engineering Task Force、英文)
http://www.ietf.org/
(大和 哲)
2001/02/07 00:00
|
|
|
|
|