Webアプリ開発事始 第15回

安全な通信を考える(1)
~暗号化と認証
長谷川裕行
有限会社 手國堂

情報の隠蔽と暗号化

通信の当事者間でのみ正しく情報をやり取りできるようにするためには、送受信する情報を暗号化します。


- 大切なデータを隠す -

Webアプリケーションを利用すれば、一般の顧客を対象に通信販売などのビジネスを展開できます。このとき、顧客の住所や氏名、あるいはクレジットカード番号などを扱うことになります。これらの情報は、当然他のユーザーから隠蔽しなければなりません。

その他、本社~支社間など会社・組織同士のやり取りでも、他から見られては困る重大な情報を行き来させたい場合はたくさんあります。

ご存じのように、通常のHTTPプロトコルでは、サーバーとクライアントの間でやり取りされるデータは、誰にでも読み取れる形となっています。ネットワーク上を流れるパケットを横取りし、中を読むことは誰にでも可能です。

そこで、外部に知られてはならない大切なデータを盗み見されないよう、暗号化してやり取りすることになります。これによって、データはクライアントとサーバーの間だけで正しく扱え、他からはたとえ盗み見しても内容を読み取ることができないようになります。


- 暗号化と復号化 -

誰にでも読み取れる状態のテキストを「平文」と呼びます。暗号化とは、平文を一定のルールに従って他の文字配列に置き換える処理です。これによって、一定のルールを知っている特定のユーザーと特定のサイトの間でしか、正しいテキストとして読み取ることはできなくなります。

暗号化されたデータを受信したら、一定のルールに基づいて平文に戻します。これを「復号化」と呼びます。一般には、送信側の暗号化と受信側の復号化、双方の操作を合わせて「暗号化通信」と呼びます。


コンピュータで扱う文字情報はすべてコード化されているため、プログラムでこれを異なるコードに置き換えることは容易です。ただ、特定のユーザーとサイトの間でのみ一定のルールが通用する形とする――という処理が、大変難しいのです。


- 暗号を作り解く<鍵> -

暗号化と複合化のための「一定のルール」は、誰にでも分かる単純なものであってはいけません。暗号化通信では、本当に情報を交わす必要のある「正しい受け手だけが」それを復号化できる仕組みが重要です。

暗号を生成しそれを復元するための規則を「鍵」と言います。暗号化通信では、クライアントとサーバーの双方が同じ鍵を使ってテキストを暗号化~復号化します。問題は鍵の共有手段です。

鍵をメールで送信したりすれば、メールの盗み見によって第三者に共通のルールを知られてしまいます。仮に誰にも見られないように鍵を送信できたとしても、この先いつ盗まれるかは分かりません。そのため鍵は、通信の都度変更する必要があります。


トップページ
情報の隠蔽と暗号化
大切なデータを隠す
暗号化と復号化
暗号を作り解く<鍵>
暗号化通信の2方式
認証とSSL
SSLによる暗号化通信
あとがき

Copyright © GrapeCity inc. All rights reserved.