3.3 インターネットのセキュリティ

3.3.1 ユーザの認証方法

(1)パスワード方式

 一般的にコンピュータを利用する者を特定するための名前をユーザ名あるいはユーザIDという.そしてそのユーザ名と一対になった本人確認のためのキーワードをパスワードといい,ユーザ名とパスワードの入力は一連の動作となる.コンピュータ上に格納されているパスワードは他者から確認できないように暗号化処理されている.図3.12は,自宅等からダイヤルアップで接続する場合のユーザ名,パスワードなどの入力画面である.

図3.12 ダイアルアップ接続時のメッセージ

インターネットなどネットワーク上でのユーザ名とパスワードの入力では,その入力された文字を盗聴されることがあり,なりすましの心配がある. そこで,送信される文字を暗号化して,安全な認証を行うことが重要である(図3.13).また,暗号化するだけの方式以外にも,チャレンジ&レスポンス方式やワンタイムパスワード方式がある.

図3.13 ダイアルアップネットワークのプロパティ

(1)チャレンジ&レスポンス方式

 接続したいコンピュータから,そのコンピュータに保存された本来のパスワードから再生不可能なキーワード(チャレンジコード)が送られてくる.このチャレンジコードとユーザがもっているパスワードを演算してキーワード(レスポンスコード)を生成してコンピュータに送り返す.コンピュータ側でそのキーワードの演算が正当とみなした場合に認証を行う.

(2)ワンタイムパスワード方式

 ネットワーク上に流れる認証のためのキーワードが毎回変わる,つまり認証パスワードが1回限りで,次回には別のパスワードを利用する.このキーワードを発行する仕組みにより,ハードウェア方式とソフトウェア方式に分れる.ハードウェア方式のワンタイムパスワード生成装置の例を図3.14に示す.

図3.14 ワンタイムパスワード生成装置の例

(セキュリティ・ダイナミクス社製)

ソフトウェア方式では,1番目の秘密のキーワードにある計算方式(一方向ハッシュ関数と呼ばれる)をk回適用すると,k+1個のキーワードができる.これらのキーワードは,n番目からn+1番目は計算されるが,n番目からn-1番目を計算することは非常に困難であるという特徴を持つ.k+1番目のキーワードを利用したいコンピュータに登録しておき,認証時にk番目のキーワードを送信し,コンピュータ側で計算して登録されたキーワードと同一となれば,認証が行われ,次回に備えて入力されたキーワードを保存する.

 ハードウェア方式では,認証を受ける利用者が,キーワードを生成するハードウェアを持ち,そのキーワードを利用して認証を行う.

3.3.2 通信の暗号化

 ワンタイムパスワード方式などによりユーザ認証が行われても,その後の通信の内容がそのままネットワークに流れている状況は,データの途中,改ざんや搾取の危険性がある.ネットワークに流す情報に対して,暗号化を行うことによって安全な通信を行う.

 暗号化通信は,次の手順で行われる.

a)送信者が情報(「平文」)Mを,暗号化鍵K1で暗号文Cに変化して送信する.

b)受信者が,復号鍵K2を用いて,Cを復号し,Mを得る.

 K2を持たない者は,CからMを求める解読は事実上不可能であること,暗号方式のそのものの秘密によるのではなく,あくまで復号鍵を秘密にすることによって安全性を確保することが必要である.

<暗号と認証>

 暗号は,通信データを暗号文データに変換することにより,暗号文データが盗聴されても,盗聴者にわからないようにする技術である.暗号技術は,古代から主に軍事目的で利用されてきたが,1970年代後半より,コンピュータ通信を目的とする主に商業用の暗号技術が開発されてきた.現在の暗号技術には,送信者および受信者が共通の鍵(暗号を復号するデータ)を持って,暗号化・復号化をする秘密鍵(共通鍵)方式,暗号化の鍵と復号化の鍵が異なり暗号化の鍵を公開し,復号化鍵を秘密に保持する公開鍵方式の二つがある.秘密鍵方式では,送信者および受信者が同じ秘密鍵を持つ必要があるので,鍵の送信が必要である.一方,公開鍵方式では,暗号化鍵が公開されているので,鍵の送信が不要であり,不特定多数間での暗号通信が容易となる.

 認証は,不法アクセス,データの改ざん,否認(情報を送信したのに,送信者が送信してないということ)などの不正行為に対する対策技術である.相手認証は,ネットワークを通じて通信している相手が真の相手かどうか確認する技術で,認証技術の一つである.相手認証の方法には,パスワード,使い捨てパスワード,デジタル署名(電子署名)などを用いた認証方式が使われる.

(1)共通鍵暗号

 前述のK1とK2が同じであるか,一方から他方を容易に推定できる場合を共通鍵暗号あるいは対称暗号方式という.公開鍵に比較して,鍵の長さ(ビット長)が短く,暗号化および復号が高速である.共通鍵方式で有名なものに,DES(Data Encryption Standard)があり,アメリカ政府標準暗号で64ビット長の鍵を使用している.

(2)公開鍵暗号

 K1,K2の一方から他方を容易に推定できない場合,非対称暗号方式とよばれ,一方が公開され,他方が秘密に保たれることから,公開鍵暗号という.共通鍵に比較して鍵の長さが長く,暗号化,復号ともに低速となる.そのためユーザ認証(公開鍵によるチャレンジ&レスポンス方式)や共通鍵を安全に配布するために利用される.公開鍵暗号方式で有名なものに,RSA(Ron Rivest, Adi Shamir, Leonard Adleman,発明者の頭文字) がある.

(a) PGPの公開鍵の例

(b)平文「Sample」を暗号化した例

図3.15 PGPによる暗号化の例

 公開鍵暗号方式の応用としてPGP(Pretty Good Privacy)があり,電子メールの内容や添付ファイルを暗号化して送受信することができる.図3.15(a)のPGP公開鍵で,平文「Sample」を暗号化したものを図3.15(b)に示す.この方式で暗号化メールをやり取りするには,受信者側もPGPに対応している必要がある.また,送信者確認を行う電子署名を行うこともできる.

3.3.3 Webブラウザのセキュリティ

(1)Webブラウザからのセキュリティメッセージ

 WebブラウザとWebサーバとの送受信についても,インターネット上での盗聴などに留意する必要がある.送受信される情報に対するセキュリティチェックは,Webブラウザの設定によって左右される.

 (a)テキストの入力     (b)HTMLファイル

図3.16 Webサーバに情報が送信される例

図3.17 Webブラウザから表示されるメッセージ

図3.18 送信情報の内容

 図3.16に示すようなテキスト入力などがある場合,WebブラウザからWebサーバに情報が送信される.送信される情報は,暗号化などされずに送信されるので,送信する時,図3.17のような警告メッセージが頻繁に現れる.図3.18はネットワーク管理用プログラムを用いて送信されている情報を読み取ったものである.読み取られて不安な内容(例えば,クレジットカードの番号や住所,氏名などの個人情報)を入力する場合は,安心できるWebサイトかどうかを確認するなど注意が必要である.

(2)Web通信の暗号化

 SSL (Secure Sockets Layer )が広く利用されている.SSLは,Netscape Communications社 が開発した暗号化通信技術で,公開鍵を証明書という形で受け取りを行い,その後の通信を共通鍵暗号で行う.

 Webサーバの対応が必要であるが,主要なブラウザの最新バージョンではSSLを利用した通信を標準でサポートしているので,WWW上での決済や個人情報の送受信に広く使われている.図3.19に暗号化に対応したページにリンクされるときに表示されるメッセージを示す.また,暗号化通信を確立するための公開鍵についての情報に不信な点がある場合などは図3.20のようなメッセージが表示される.

図3.19 セキュリティ機能を有するページにリンクする場合のメッセージ

図3.20 公開鍵に第三者の証明が無い場合の表示