Webアプリ開発事始 第15回

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

認証とSSL

暗号化によってデータを他から隠蔽すれば、情報そのものの漏洩は防げます。しかし、生身の人間同士のやり取りが見えないネットワークでは、通信している相手が本当に本物なのか――という不安がつきまといます。


- 認証と認証局 -

いわゆる「なりすまし」によって、他の誰かの操るコンピュータがあなたの会社のWebサーバーを騙せれば、顧客の情報は簡単に漏洩してしまいます。この危険を回避する手段が「認証局による認証」です。

認証とは、通信相手(クライアントにとってのWebサーバーなど)が信頼できるものかどうかを、第三者機関に証明してもらうことです。証明基幹を認証局(Certification Authority)と呼び、CAと略します。認証局は、デジタル署名による証明書で、サーバー自体とサーバーの発行する公開鍵に対して「それが本人(サーバーを管理する組織)のものである」ことを証明します。


- 認証局の階層構造 -

認証局は、図2のような階層構造を構成して多重の証明を行うことで、その信頼性を保持しています。

最も有名な認証局は、おそらく米国のベリサイン社でしょう。サーバーに対する認証の他、個人著作物への電子署名(ウォーターマーク:透かし)など様々な電子認証業務を手がけています。その日本法人である日本ベリサイン社(http://www.verisign.co.jp/)が、日本国内のサーバー認証業務を担当しています。

サーバーの所有者(サイトの運営者)は、稼働させているWebサーバーが正当であることを、図3のような手順で証明します。





《参考》証明書の仕様

認証局の発行する証明書の内容は、ITU(International Telecommunication Union:国際電気通信連合)の標準化部門であるITU-Tが定めたX.509が標準となっています。X.509では、証明書に含めなければならない情報とそのデータ形式が定義されています。

証明書に含まれる情報

X.509では、証明書に以下のような情報を含めるよう規定しています。

バージョン
X.509は、現在バージョン1~3まで存在します。バージョンによって情報とその形式が異なるため、最初に証明書に適用されるX.509のバージョンを示します。
シリアル番号
証明書のシリアル番号です。シリアル番号は発行の都度異なるため、唯一の番号となります。これによって、他の証明書と区別できます。
署名アルゴリズム識別子
証明書の電子署名に適用されたアルゴリズムを示す識別子です。
発行者名
電子署名を行った認証局名です。ITU-Tが定めたX.500シリーズ勧告※1に基づく、インターネット上で唯一の名称となります。
有効期間
証明書には期限があります。証明書の効力が有効になる日時と、効力の消滅する日時が明記されます。
エンティティ名
証明の対象となる組織の名称です。通称、組織種別、組織名、国名などで構成されます。ITU-Tが定めたX.500シリーズ勧告※1に基づく、インターネット上で唯一の名称となります。例えば、以下のような内容です。

CN=Java Duke, OU=Java Software Division,
(a) (b)
O=Sun Microsystems Inc, C=US
(c) (d)
(a)通称、(b)組織種別、(c)組織名、(d)国名
エンティティの公開鍵情報
証明の対象となる組織の公開鍵と、公開鍵に適用される暗号化アルゴリズムの識別子です。

これら証明書のデータは、データの表記法を定めるAbstract Syntax Notation 1とその保存/転送方法を定めるDefinite Encoding Rulesという2つの規格に基づいて符号化され、クライアントには、これに認証局のデジタル署名を加えたものが送信されます。

※1 ITU-Tの定めたデータ通信に関するXシリーズ勧告のうち、各種通信サービスで利用される案内サービス(ディレクトリ・サービス)に関する勧告。


トップページ
情報の隠蔽と暗号化
暗号化通信の2方式
認証とSSL
認証と認証局
認証局の階層構造
SSLによる暗号化通信
あとがき

Copyright © MESCIUS inc. All rights reserved.