JP2008109569A - 中継装置及び通信システム及び中継方法及びプログラム - Google Patents

中継装置及び通信システム及び中継方法及びプログラム Download PDF

Info

Publication number
JP2008109569A
JP2008109569A JP2006292525A JP2006292525A JP2008109569A JP 2008109569 A JP2008109569 A JP 2008109569A JP 2006292525 A JP2006292525 A JP 2006292525A JP 2006292525 A JP2006292525 A JP 2006292525A JP 2008109569 A JP2008109569 A JP 2008109569A
Authority
JP
Japan
Prior art keywords
public key
certificate
key certificate
format
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006292525A
Other languages
English (en)
Inventor
Tsutomu Sakagami
勉 坂上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006292525A priority Critical patent/JP2008109569A/ja
Publication of JP2008109569A publication Critical patent/JP2008109569A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】形式の異なる公開鍵証明書を用いる装置間で、暗号通信を実現する。
【解決手段】第一の通信機器(アプリケーションサーバ装置300及び小型機器200)が送信した第一の形式の公開鍵証明書を、公開鍵証明書受信部121が受信する。公開鍵証明書受信部121が受信した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を、公開鍵証明書取得部122が取得する。公開鍵証明書取得部122が取得した第二の形式の公開鍵証明書を、公開鍵証明書送信部133が第二の通信機器(小型機器200及びアプリケーションサーバ装置300)に対して送信する。第二の通信機器は、第一の形式の公開鍵証明書を検証できないが、第二の形式の公開鍵証明書を検証できるので、第一の通信機器を認証し、共通鍵を生成して、暗号通信をすることができる。
【選択図】図9

Description

この発明は、公開鍵証明書を用いた暗号通信を中継する中継装置に関する。特に、異なる形式の公開鍵証明書を用いる装置間の暗号通信を中継する中継装置に関する。
公開鍵暗号方式では、通信相手の公開鍵を用いて、通信相手を認証したり、通信に使用する共通鍵を生成したりする。そのための通信方式として、例えば、非特許文献3に規定されたプロトコルがある。
公開鍵基盤(PKI:Public Key Infrastructure)は、公開鍵証明書を用いて、公開鍵が通信相手のものであることを保証するためのシステムである。
公開鍵証明書には、非特許文献2に規定されるX.509形式の公開鍵証明書が広く利用されている一方で、非特許文献4に規定される公開鍵証明書のように、X.509形式とは異なる形式の公開鍵証明書も利用されている。
特開2001−350406号公報 特開2002−123492号公報 特開2000−224164号公報 特開2004−302835号公報 特開2005−123888号公報 特開2004−247799号公報 C. Ellison「SPKI Requirements」RFC2692、1999年9月、http://www.ietf.org/ R. Housley他「Internet X.509 Public Key Infrastructure Certificate and CRL Profile」RFC2459、1999年1月、http://www.ietf.org/ T.Dierks、C.Allen「The TLS Protocol Version 1.0」RKC2246、1999年1月、http://www.ietf.org/ 「TENeTメッセージ仕様書 Ver.1.0」TEF950−S004−01.00.00/ja、T−Engineフォーラム、2005年3月、http://www.t−engine.org/japanese/text/TEF950−S004−01.00.00_ja.pdf
X.509形式の公開鍵証明書が国際標準として認知され、広く利用されているなかで、あえて非X.509形式公開鍵証明書を使用するのには、以下のような理由がある。
X.509形式公開鍵証明書はデータの形式がASN.1で定義されているため、そのエンコード/デコード処理はコスト(消費する処理装置の処理能力や記憶装置の記憶容量)が高い。
ユビキタス化の進展などにより小型コンピュータがいろいろな場所に配置(埋め込み)されるようになってきており、そのような小型コンピュータ同士や小型コンピュータが組み込まれた小型機器とその制御装置との間の通信路のセキュリティを保つ必要がある。
そのために、公開鍵基盤を導入したいがコンピュータのリソースが乏しいため高コストなX.509形式公開鍵証明書は使用できない。
X.509形式と異なる形式の公開鍵証明書を利用する公開鍵基盤においては、X.509形式の公開鍵証明書を利用する公開鍵基盤において開発された豊富なアプリケーションを利用することができない。
この発明は、例えば、以上のような課題を解決し、非X.509形式公開鍵証明書を使用したPKIシステムと、X.509形式公開鍵証明書を使用したシステムとの間を相互に接続することを目的とする。
この発明にかかる中継装置は、
情報を処理する処理装置と、第一の通信機器及び第二の通信機器と通信する通信装置と、第一証明書受信部と、第二証明書取得部と、第二証明書送信部とを有し、
上記第一証明書受信部は、
上記通信装置を用いて、上記第一の通信機器が送信した第一の形式の公開鍵証明書である情報を受信し、上記処理装置を用いて、受信した第一の形式の公開鍵証明書を出力し、
上記第二証明書取得部は、
上記処理装置を用いて、上記第一証明書受信部が出力した第一の形式の公開鍵証明書を入力し、上記処理装置を用いて、入力した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書である情報を取得し、上記処理装置を用いて、取得した第二の形式の公開鍵証明書を出力し、
上記第二証明書送信部は、
上記処理装置を用いて、上記第二証明書取得部が出力した第二の形式の公開鍵証明書を入力し、上記通信装置を用いて、入力した第二の形式の公開鍵証明書を、上記第二の通信機器に対して送信することを特徴とする。
この発明にかかる中継装置によれば、第一の通信機器から受信した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を、第二証明書取得部が出力し、第二証明書送信部が第二の通信機器に対して送信するので、第二の通信機器が第一の形式の公開鍵証明書を検証できなくても、第一の通信機器を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
実施の形態1.
実施の形態1を、図1〜図10を用いて説明する。
図1は、この実施の形態における通信システム800の全体構成の一例を示すシステム構成図である。
通信システム800は、複数の通信ネットワーク801,802を有する。
ネットワーク801,802は、データ通信を行うことができるデータ通信路である。
ネットワーク801には、ゲートウェイ装置100、小型機器200などが接続している。
ネットワーク802には、ゲートウェイ装置100、アプリケーションサーバ装置300、宛先サーバ装置400、証明書サーバ装置500などが接続している。
ゲートウェイ装置100は、ネットワーク801とネットワーク802との双方に接続し、ネットワーク801に接続した小型機器200と、ネットワーク802に接続したアプリケーションサーバ装置300との間の通信を中継する。
ゲートウェイ装置100は、中継装置の一例である。
小型機器200は、ネットワーク801を介して、他の小型機器200などネットワーク801に接続した装置と通信する。また、小型機器200は、ゲートウェイ装置100と通信することにより、ゲートウェイ装置100を介してアプリケーションサーバ装置300と通信する。
小型機器200は、第一の通信機器または第二の通信機器の一例である。
アプリケーションサーバ装置300は、ネットワーク802を介して、ネットワーク802に接続した他の装置と通信する。また、アプリケーションサーバ装置300は、ゲートウェイ装置100と通信することにより、ゲートウェイ装置100を介して小型機器200と通信する。
アプリケーションサーバ装置300は、第一の通信機器または第二の通信機器の一例である。
宛先サーバ装置400は、小型機器200やアプリケーションサーバ装置300を識別するアドレス情報を記憶している。
アドレス情報は、ネットワーク801やネットワーク802において、小型機器200やアプリケーションサーバ装置300を一意に識別する識別情報である。アドレス情報は、例えば、ドメイン名、URL(Uniform Resource Locator)、IPアドレスなどである。
また、アプリケーションサーバ装置300はゲートウェイ装置100を介してネットワーク801に接続した機器と通信することもできるので、ネットワーク801においてアプリケーションサーバ装置300を一意に識別する識別情報もある。逆に、ネットワーク802においてゲートウェイ装置100を一意に識別する識別情報もある。これらの識別情報もアドレス情報である。
ネットワーク801のアドレス体系と、ネットワーク802のアドレス体系とが異なる場合、ネットワーク801においてアプリケーションサーバ装置300を識別するアドレス情報と、ネットワーク802においてアプリケーションサーバ装置300を識別するアドレス情報とが異なる場合がある。
宛先サーバ装置400は、同一の機器を識別する複数のアドレス情報を対応づけて記憶する。
宛先サーバ装置400は、問い合わせに応じて、あるネットワークにおけるアドレス情報を、同一の機器についての異なるネットワークにおけるアドレス情報に変換する。
なお、この例では、宛先サーバ装置400がネットワーク802に接続しているが、ゲートウェイ装置100と通信可能であればどこに接続していてもよい。例えば、ゲートウェイ装置100と直接接続していてもよいし、ネットワーク801に接続していてもよい。
証明書サーバ装置500は、小型機器200やアプリケーションサーバ装置300の公開鍵証明書を記憶している。
公開鍵証明書とは、公開鍵暗号方式において公開された公開鍵と、その所有者とを証明する電子情報である。
公開鍵証明書には、様々なフォーマットがある。もっとも一般的に用いられるフォーマットは、X.509形式である。
この実施の形態では、アプリケーションサーバ装置300は、X.509形式の公開鍵証明書を処理することができるものとする。また、小型機器200は、処理能力が低いため、X.509形式の公開鍵証明書を処理することができず、X.509形式よりも検証に必要な処理量・記憶容量が少ない形式の公開鍵証明書を処理することができるものとする。
証明書サーバ装置500は、アプリケーションサーバ装置300が処理できるX.509形式の公開鍵証明書と、小型機器200が処理できる形式の公開鍵証明書との双方を、対応づけて記憶している。
証明書サーバ装置500は、問い合わせに応じて、ある形式の公開鍵証明書に対応する別の形式の公開鍵証明書を応答する。
なお、この例では、証明書サーバ装置500がネットワーク802に接続しているが、ゲートウェイ装置100と通信可能であればどこに接続していてもよい。例えば、ゲートウェイ装置100と直接接続していてもよいし、ネットワーク801に接続していてもよい。
図2は、この実施の形態におけるゲートウェイ装置100、アプリケーションサーバ装置300、宛先サーバ装置400、証明書サーバ装置500の外観の一例を示す図である。
ゲートウェイ装置100、アプリケーションサーバ装置300、宛先サーバ装置400、証明書サーバ装置500は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ネットワーク801やネットワーク802に接続されている。
図3は、この実施の形態におけるゲートウェイ装置100、小型機器200、アプリケーションサーバ装置300、宛先サーバ装置400、証明書サーバ装置500のハードウェア資源の一例を示す図である。
ゲートウェイ装置100、小型機器200、アプリケーションサーバ装置300、宛先サーバ装置400、証明書サーバ装置500は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信装置915は、ファクシミリ機932、電話器931、ネットワーク801,802等に接続されている。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disc)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
次に、小型機器200について説明する。
小型機器200は、公開鍵暗号方式に基づく暗号通信を行うことができる装置である。
しかし、小型機器200は、小型であるため処理速度や記憶容量の観点からX.509形式公開鍵証明書ではなく非X.509形式公開鍵証明書をサポートしている。
また、小型機器200は、公開鍵暗号アルゴリズムとして、例えば、ディッフィーへルマン鍵交換(Diffie−Hellman Key Exchange)アルゴリズムをサポートしている。
図4は、この実施の形態における小型機器200の機能ブロックの構成の一例を示すブロック構成図である。
小型機器200は、接続先アドレス記憶部212、接続要求送信部213、公開鍵証明書受信部221、公開鍵証明書検証部222、秘密鍵記憶部223、共通鍵生成部224、証明書提示要求受信部231、公開鍵証明書記憶部232、公開鍵証明書送信部233、接続応答受信部241、復号部242、接続応答検証部245、暗号文受信部251、暗号化部261、暗号文送信部262を有する。
接続先アドレス記憶部212は、不揮発性メモリなどの記憶装置を用いて、アプリケーションサーバ装置300など、通信したい相手のアドレス情報を記憶している。接続先アドレス記憶部212が記憶しているアドレス情報は、ネットワーク801におけるアドレス体系によるものである。
接続要求送信部213は、通信装置915を用いて、接続要求情報を送信する。
接続要求情報とは、通信したい相手に対して、暗号化された通信路の確立を要求することを示す情報である。接続要求情報は、例えば、TLS(Transport Layer Security)プロトコルにおけるClientHelloメッセージに相当するものである。
接続要求送信部213は、CPU911などの処理装置を用いて、接続要求情報を生成する。
接続要求送信部213は、CPU911などの処理装置を用いて、接続先アドレス記憶部212が記憶したアドレス情報を取得する。
接続要求送信部213は、CPU911などの処理装置を用いて、取得したアドレス情報を、接続要求情報の送信先を示す情報として、接続要求情報に付加する。
接続要求送信部213は、通信装置915を用いて、接続要求情報を送信する。
接続要求情報は、ネットワーク801を介し、付加された送信先を示す情報にしたがって、相手に届けられる。接続要求情報は、送信先がネットワーク802に接続した機器である場合には、ゲートウェイ装置100に届けられ、ゲートウェイ装置100が中継することで、ネットワーク802に接続した相手に届けられる。
公開鍵証明書受信部221は、通信装置915を用いて、通信相手の公開鍵証明書を受信する。
小型機器200は、通信相手との間に暗号化された通信路を確立するために、通信相手の公開鍵を入手する必要がある。そのため、接続要求情報に対する応答として、通信相手が自分の公開鍵証明書を小型機器200に対して送信する。例えば、TLSプロトコルにおいては、ServerCertificateメッセージにより、公開鍵証明書を送信する。
公開鍵証明書受信部221は、通信装置915を用いて、公開鍵証明書を受信する。
公開鍵証明書受信部221は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
公開鍵証明書検証部222は、CPU911などの処理装置を用いて、公開鍵証明書受信部221が受信した公開鍵証明書を検証し、その公開鍵の所有者が通信相手であることを確認する。
公開鍵証明書には、所有者を識別する情報(識別名、サブジェクト)と、その所有者の公開鍵と、これらの情報が正しいものであることを証明する認証局(CA:Certificate Authority)による電子署名とが含まれている。
公開鍵証明書検証部222は、これらを検証することにより、公開鍵の所有者が通信相手であることを確認する。
公開鍵証明書検証部222は、CPU911などの処理装置を用いて、公開鍵証明書受信部221が出力した公開鍵証明書を入力する。
公開鍵証明書検証部222は、CPU911などの処理装置を用いて、入力した公開鍵証明書に含まれる所有者の識別名が、通信相手を示すものであるか否かを判定する。
例えば、所有者の識別名と、接続先アドレス記憶部212が記憶した通信したい相手のアドレス情報とを比較し、一致するか否かを判定する。
所有者の識別名が、通信相手を示すものでないと判定した場合、公開鍵証明書検証部222は、CPU911などの処理装置を用いて、検証に失敗したことを示す情報を出力する。
所有者の識別名が、通信相手を示すものであると判定した場合、公開鍵証明書検証部222は、CPU911などの処理装置を用いて、入力した公開鍵証明書に含まれる認証局の電子署名を、認証局の公開鍵で復号して、公開鍵証明書の内容が正しいことを認証局が保証しているか否かを判定する。
小型機器200が信頼する認証局の公開鍵は、小型機器200があらかじめ記憶装置を用いて記憶している。
公開鍵証明書検証部222は、CPU911などの処理装置を用いて、公開鍵証明書に電子署名した認証局の公開鍵を記憶しているか否かを判定し、記憶している場合には、あらかじめ記憶した認証局の公開鍵を用いて、電子署名を復号する。
認証局の公開鍵をあらかじめ記憶していない場合、公開鍵証明書検証部222は、CPU911などの処理装置を用いて、認証局の公開鍵証明書を取得する。認証局の公開鍵証明書は、通常、通信相手の公開鍵証明書とともに、通信相手から送られてくる。
認証局の公開鍵証明書を取得できない場合、公開鍵証明書検証部222は、CPU911などの処理装置を用いて、検証に失敗したことを示す情報を出力する。
認証局の公開鍵証明書を取得できた場合には、公開鍵証明書検証部222は、CPU911などの処理装置を用いて、認証局の公開鍵証明書を検証する。
認証局の公開鍵証明書の検証に失敗した場合、公開鍵証明書検証部222は、CPU911などの処理装置を用いて、検証に失敗したことを示す情報を出力する。
以上のようにして、公開鍵証明書検証部222は、入手した通信相手の非X.509形式公開鍵証明書を証明書検証する。
通信相手の公開鍵証明書の検証に成功した場合、公開鍵証明書検証部222は、CPU911などの処理装置を用いて、通信相手の公開鍵を出力する。
秘密鍵記憶部223は、耐タンパ性のあるメモリなどの記憶装置を用いて、小型機器200自身の秘密鍵を記憶している。秘密鍵記憶部223が記憶している秘密鍵は、小型機器200が所有し、公開している公開鍵とペアをなすものである。
共通鍵生成部224は、通信相手の公開鍵と自身の秘密鍵とから、確立する通信路における通信を暗号化するための共通鍵を生成する。
共通鍵生成部224は、通常、秘密鍵記憶部223とともに耐タンパ性のあるモジュール内にあり、CPU911とは独立した処理装置を用いて、共通鍵を生成する。
共通鍵生成部224は、公開鍵証明書検証部222が出力した通信相手の公開鍵を入力する。
共通鍵生成部224は、秘密鍵記憶部223が記憶した自身の秘密鍵を入力する。
共通鍵生成部224は、入力した公開鍵と秘密鍵とに基づいて、共通鍵を生成する。
例えば、共通鍵生成部224は、ディッフィーヘルマン鍵交換アルゴリズムに基づいて、共通鍵を生成する。
共通鍵生成部224は、生成した共通鍵を出力する。
証明書提示要求受信部231は、通信装置915を用いて、通信相手から送られてきた証明書提示要求情報を受信する。
証明書提示要求情報とは、通信相手が小型機器200を認証するため、あるいは、共通鍵生成部224が生成した共通鍵と同一の共通鍵を通信相手が生成するために、小型機器200の公開鍵証明書の送信を要求することを示す情報である。証明書提示要求情報は、例えば、TLSプロトコルにおけるCertificateRequestメッセージに相当するものである。
証明書提示要求受信部231は、通信装置915を用いて、証明書提示要求情報を受信する。
証明書提示要求受信部231は、CPU911などの処理装置を用いて、受信した証明書提示要求情報を出力する。
公開鍵証明書記憶部232は、記憶装置を用いて、小型機器200自身の公開鍵証明書を記憶している。
公開鍵証明書送信部233は、CPU911などの処理装置を用いて、証明書提示要求受信部231が出力した証明書提示要求情報を入力する。
公開鍵証明書送信部233は、CPU911などの処理装置を用いて、公開鍵証明書記憶部232が記憶した公開鍵証明書を入力する。
公開鍵証明書送信部233は、通信装置915を用いて、入力した公開鍵証明書を、通信相手に向けて送信する。
接続応答受信部241は、通信装置915を用いて、通信相手から送られてきた接続応答情報を受信する。
接続応答情報とは、通信相手が小型機器200を認証し、共通鍵の生成に成功し、暗号通信の準備が整ったことを示す情報である。接続応答情報は、例えば、TLSプロトコルにおけるFinishedメッセージに相当するものである。
また、共通鍵生成部224が生成した共通鍵と、通信相手が生成した共通鍵とが一致していることを確認するため、接続応答情報は通常、共通鍵で暗号化してある。これを正しく復号できれば、生成した共通鍵が一致していることが確認できる。
復号部242は、共通鍵生成部224が生成した共通鍵を用いて、暗号文を復号する。
復号部242は、CPU911などの処理装置を用いて、共通鍵生成部224が出力した共通鍵を入力する。
復号部242は、CPU911などの処理装置を用いて、接続応答受信部241が出力した接続応答情報または暗号文受信部251が出力した暗号文情報を入力する。
復号部242は、CPU911などの処理装置を用いて、入力した接続応答情報または暗号文情報を、入力した共通鍵で復号する。
復号部242は、CPU911などの処理装置を用いて、復号した結果を出力する。
接続応答検証部245は、接続応答情報が正しく復号できたか否かを判定する。
接続応答検証部245は、CPU911などの処理装置を用いて、復号部242が接続応答情報を復号した復号結果を入力する。
接続応答検証部245は、CPU911などの処理装置を用いて、入力した復号結果が正しいか否かを判定する。
復号結果が正しい場合には、暗号通信の準備が整ったことが確認できたので、通信相手との暗号通信を開始する。
暗号文受信部251は、通信装置915を用いて、通信相手から送られてきた暗号文情報を受信する。
暗号文受信部251は、CPU911などの処理装置を用いて、受信した暗号文情報を出力する。
暗号化部261は、CPU911などの処理装置を用いて、共通鍵生成部224が出力した共通鍵を入力する。
暗号化部261は、CPU911などの処理装置を用いて、通信相手に対して送信したい情報(平文情報)を入力する。
暗号化部261は、CPU911などの処理装置を用いて、入力した平文情報を、入力した共通鍵で暗号化する。
暗号化部261は、CPU911などの処理装置を用いて、暗号化した結果を暗号文情報として出力する。
暗号文送信部262は、CPU911などの処理装置を用いて、暗号化部261が出力した暗号文情報を入力する。
暗号文送信部262は、通信装置915を用いて、入力した暗号文情報を、通信相手に向けて送信する。
以上のようにして、小型機器200は、小型機器200の公開鍵とペアをなす小型機器200の秘密鍵と、受信した通信相手の非X.509形式公開鍵証明書とを使用して共通鍵を生成し、通信相手との間に暗号化された通信路を確立して、第三者による盗聴や改竄の危険がない安全な通信を実現する。
次に、アプリケーションサーバ装置300について説明する。
アプリケーションサーバ装置300は、X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信を行うことができる。
また、アプリケーションサーバ装置300は、公開鍵暗号アルゴリズムとして、例えば、ディッフィーへルマン鍵交換アルゴリズムをサポートしている。
図5は、この実施の形態におけるアプリケーションサーバ装置300の機能ブロックの構成の一例を示すブロック構成図である。
アプリケーションサーバ装置300は、接続要求受信部311、公開鍵証明書記憶部332、公開鍵証明書送信部333、証明書提示要求送信部334、公開鍵証明書受信部321、公開鍵証明書検証部322、秘密鍵記憶部323、共通鍵生成部324、接続応答生成部343、暗号化部361、接続応答送信部344、暗号文送信部362、暗号文受信部351、復号部342を有する。
接続要求受信部311は、通信装置915を用いて、接続要求情報を受信する。
接続要求情報は、アプリケーションサーバ装置300との間に暗号化された通信路を確立したい機器(例えば、小型機器200)から送られてくるものである。
接続要求受信部311は、CPU911などの処理装置を用いて、受信した接続要求情報を出力する。
公開鍵証明書記憶部332は、磁気ディスク装置920などの記憶装置を用いて、アプリケーションサーバ装置300自身の公開鍵証明書を記憶している。
公開鍵証明書記憶部332が記憶している公開鍵証明書は、X.509形式に対応したアプリケーションサーバ装置300の公開鍵証明書である。
公開鍵証明書送信部333は、接続要求受信部311が受信した接続要求情報に対する応答として、アプリケーションサーバ装置300自身の公開鍵証明書を送信する。
公開鍵証明書送信部333は、CPU911などの処理装置を用いて、接続要求受信部311が出力した接続要求情報を入力する。
公開鍵証明書送信部333は、CPU911などの処理装置を用いて、公開鍵証明書記憶部332が記憶した公開鍵証明書を入力する。
公開鍵証明書送信部333は、通信装置915を用いて、入力した公開鍵証明書を、入力した接続要求情報の送信元に向けて送信する。
証明書提示要求送信部334は、CPU911などの処理装置を用いて、証明書提示要求情報を生成する。
証明書提示要求送信部334は、通信装置915を用いて、生成した証明書提示要求情報を、接続要求情報の送信元に向けて送信する。
公開鍵証明書受信部321は、証明書提示要求送信部334が送信した証明書提示要求情報に対する応答として、接続要求情報の送信元から送られてきた公開鍵証明書を受信する。
公開鍵証明書受信部321は、通信装置915を用いて、公開鍵証明書を受信する。
公開鍵証明書受信部321は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
公開鍵証明書検証部322は、公開鍵証明書受信部321が受信した公開鍵証明書を検証して、その公開鍵の所有者が、接続要求情報の送信元であることを確認する。
公開鍵証明書検証部322は、CPU911などの処理装置を用いて、公開鍵証明書受信部321が出力した公開鍵証明書を入力する。
公開鍵証明書検証部322は、CPU911などの処理装置を用いて、入力した公開鍵証明書を検証する。
なお、検証の詳細は、小型機器200の公開鍵証明書検証部222と同様なので、説明を省略する。
検証に成功した場合、公開鍵証明書検証部322は、CPU911などの処理装置を用いて、接続要求情報の送信元の公開鍵を出力する。
このように、公開鍵証明書検証部322(X.509証明書検証部)は、X.509形式公開鍵証明書に対応したアプリケーションサーバ装置300が入手した通信相手のX.509形式公開鍵証明書を証明書検証する。
秘密鍵記憶部323は、耐タンパ性のあるメモリなどの記憶装置を用いて、アプリケーションサーバ装置300自身の秘密鍵を記憶している。
秘密鍵記憶部323が記憶している秘密鍵は、アプリケーションサーバ装置300が所有し、公開している公開鍵とペアをなすものである。
共通鍵生成部324は、公開鍵証明書検証部322が出力した通信相手の公開鍵と、秘密鍵記憶部323が記憶した秘密鍵とに基づいて、共通鍵を生成する。
共通鍵生成部324は、生成した共通鍵を出力する。
接続応答生成部343は、CPU911などの処理装置を用いて、接続応答情報を生成する。
接続応答生成部343は、CPU911などの処理装置を用いて、生成した接続応答情報を出力する。
暗号化部361は、CPU911などの処理装置を用いて、共通鍵生成部324が出力した共通鍵を入力する。
暗号化部361は、CPU911などの処理装置を用いて、接続応答生成部343が出力した接続応答情報や、通信相手に送信したい情報(平文情報)を入力する。
暗号化部361は、CPU911などの処理装置を用いて、入力した情報を、入力した共通鍵で暗号化する。
暗号化部361は、CPU911などの処理装置を用いて、暗号化した結果を暗号文情報として出力する。
接続応答送信部344は、CPU911などの処理装置を用いて、暗号化部361が接続応答情報を暗号化した暗号文情報を入力する。
接続応答送信部344は、通信装置915を用いて、入力した暗号化された接続応答情報を、通信相手に向けて送信する。
これにより、暗号通信の準備が整ったことが通信相手に知らされる。
暗号文送信部362は、CPU911などの処理装置を用いて、暗号化部361が出力した暗号文情報を入力する。
暗号文送信部362は、通信装置915を用いて、入力した暗号文情報を、通信相手に向けて送信する。
暗号文受信部351は、通信装置915を用いて、通信相手からの暗号文情報を受信する。
暗号文受信部351は、CPU911などの処理装置を用いて、受信した暗号文情報を出力する。
復号部342は、CPU911などの処理装置を用いて、共通鍵生成部324が出力した共通鍵を入力する。
復号部342は、CPU911などの処理装置を用いて、暗号文受信部351が出力した暗号文情報を入力する。
復号部342は、CPU911などの処理装置を用いて、入力した暗号文情報を、入力した共通鍵で復号する。
復号部342は、CPU911などの処理装置を用いて、復号した結果を出力する。
以上のようにして、アプリケーションサーバ装置300は、X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づき、通信相手との間に暗号化された通信路を確立して、第三者による盗聴や改竄の危険がない安全な通信を実現する。
小型機器200やアプリケーションサーバ装置300は、通信相手から送られてきた公開鍵証明書を検証することにより、通信相手を認証したり、共通鍵を生成したりする。
前述したように、小型機器200とアプリケーションサーバ装置300とでは、処理できる公開鍵証明書の形式が異なる。
例えば、小型機器200は、X.509形式の公開鍵証明書を検証できないので、アプリケーションサーバ装置300が送った公開鍵証明書を検証できず、通信路を確立できない。
また、小型機器200が処理できる形式の公開鍵証明書をアプリケーションサーバ装置300が送ったとしても、ネットワーク801とネットワーク802とではアドレス体系が異なるので、公開鍵証明書に記載された公開鍵の識別名が一致せず、検証に失敗する。
ゲートウェイ装置100は、このような原因で通信路の確立に失敗することを防ぎ、小型機器200とアプリケーションサーバ装置300との間に、安全な通信を実現するものである。
次に、ゲートウェイ装置100について説明する。
ゲートウェイ装置100は、小型機器200の通信をサポートする装置である。
図6は、この実施の形態におけるゲートウェイ装置100の機能ブロックの構成の一例を示すブロック構成図である。
ゲートウェイ装置100は、中継装置の一例である。
ゲートウェイ装置100は、接続要求受信部111、接続先アドレス変換部112、接続要求送信部113、証明書提示要求受信部131、証明書提示要求送信部134、公開鍵証明書受信部121、公開鍵証明書取得部122、公開鍵証明書送信部133、暗号文受信部151、暗号文送信部162を有する。
また、ゲートウェイ装置100は、宛先テーブル記憶部412、証明書データベース記憶部512を有していてもよい。
接続要求受信部111は、小型機器200がアプリケーションサーバ装置300に対して送信した接続要求情報を、ネットワーク801を介して受信する。
接続要求受信部111は、通信装置915を用いて、接続要求情報を受信する。
接続要求受信部111は、CPU911などの処理装置を用いて、受信した接続要求情報を出力する。
接続要求受信部111が受信した接続要求情報に付加された送信先を示す情報は、ネットワーク801におけるアドレス体系に基づいて、アプリケーションサーバ装置300を識別するアドレス情報である。
接続先アドレス変換部112は、これをネットワーク802におけるアドレス体系に基づいて、アプリケーションサーバ装置300を識別するアドレス情報に変換する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、接続要求受信部111が出力した接続要求情報を入力する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、入力した接続要求情報に付加された送信先を示すアドレス情報を取得する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、取得したアドレス情報を、ネットワーク802におけるアドレス体系に基づいて、アプリケーションサーバ装置300を識別するアドレス情報に変換する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、変換したアドレス情報を付加した接続要求情報を生成する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、生成した接続要求情報を出力する。
例えば、接続先アドレス変換部112は、CPU911などの処理装置を用いて、宛先テーブル記憶部412が記憶したアドレス情報の対応テーブルを検索することにより、アドレス情報を変換する。
宛先テーブル記憶部412は、磁気ディスク装置920などの記憶装置を用いて、異なるアドレス体系において同一の通信機器を識別する複数のアドレス情報を、対応づけて記憶している。
したがって、ネットワーク801におけるアドレス情報で検索すれば、ネットワーク802において、同一の通信機器を識別するアドレス情報を取得することができる。
あるいは、接続先アドレス変換部112は、通信装置915を用いて、宛先サーバ装置400に対して、ネットワーク801におけるアドレス情報を含む宛先変換要求情報を送信し、通信装置915を用いて、送信した宛先変換要求情報に対する応答として、宛先サーバ装置400が送信してきたアドレス情報を受信することにより、ネットワーク802におけるアドレス情報を取得してもよい。
すなわち、接続先アドレス変換部112(宛先検索要求送信部)は、小型機器200から受け取った非X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用する通信先のアドレスを使用して宛先サーバ装置400に問い合わせを行い、宛先サーバ装置400から通信先のネットワーク802上でのアドレス(URLなど)を取得する。
接続要求送信部113は、接続先アドレス変換部112がアドレス情報を変換した接続要求情報を、ネットワーク802を介して、アプリケーションサーバ装置300に対して送信する。
接続要求送信部113は、CPU911などの処理装置を用いて、接続先アドレス変換部112が出力した接続要求情報を入力する。
接続要求送信部113は、通信装置915を用いて、入力した接続要求情報を送信する。
接続要求送信部113が送信した接続要求情報には、ネットワーク802においてアプリケーションサーバ装置300を識別するアドレス情報が付加されているので、接続要求情報がアプリケーションサーバ装置300に届けられる。
証明書提示要求受信部131は、通信装置915を用いて、アプリケーションサーバ装置300が小型機器200に対して送信した証明書提示要求情報を受信する。
証明書提示要求受信部131は、CPU911などの処理装置を用いて、受信した証明書提示要求情報を出力する。
証明書提示要求送信部134は、CPU911などの処理装置を用いて、証明書提示要求受信部131が出力した証明書提示要求情報を入力する。
証明書提示要求送信部134は、通信装置915を用いて、入力した証明書提示要求情報を、小型機器200に対して送信する。
公開鍵証明書受信部121は、アプリケーションサーバ装置300が小型機器200に対して送信した公開鍵証明書を、ネットワーク802を介して受信する。
公開鍵証明書受信部121は、また、小型機器200がアプリケーションサーバ装置300に対して送信した公開鍵証明書を、ネットワーク801を介して受信する。
公開鍵証明書受信部121は、通信装置915を用いて、公開鍵証明書を受信する。
公開鍵証明書受信部121は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
アプリケーションサーバ装置300は、受信した接続要求情報に対する応答として、アプリケーションサーバ装置300の公開鍵証明書を送信する。
また、小型機器200は、受信した証明書提示要求情報に対する応答として、小型機器200の公開鍵証明書を送信する。
アプリケーションサーバ装置300が送信したアプリケーションサーバ装置300の公開鍵証明書は、例えば、X.509形式の公開鍵証明書であり、小型機器200は検証することができない。
また、アプリケーションサーバ装置300が送信したアプリケーションサーバ装置300の公開鍵証明書は、公開鍵の所有者の識別名として、ネットワーク802におけるアドレス体系に基づくアドレス情報を含むものであり、小型機器200がアプリケーションサーバ装置300の識別名として認識しているのは、ネットワーク801におけるアドレス体系に基づくアドレス情報であるから、両者は一致しない。したがって、アプリケーションサーバ装置300が送信した公開鍵証明書を小型機器200が検証できたとしても、検証に失敗する。
逆に、小型機器200が送信した小型機器200の公開鍵証明書は、X.509形式とは異なる形式の公開鍵証明書であるから、アプリケーションサーバ装置300が検証できない可能性があり、検証できたとしても、識別名が不一致なので検証に失敗する。
そのため、ゲートウェイ装置100は、受信した公開鍵証明書を、通信相手が検証できる公開鍵証明書に置き換えて、送信する。
公開鍵証明書取得部122は、CPU911などの処理装置を用いて、公開鍵証明書受信部121が出力した公開鍵証明書を入力する。
公開鍵証明書取得部122は、CPU911などの処理装置を用いて、入力した公開鍵証明書に対応する異なる形式の公開鍵証明書を取得する。
公開鍵証明書取得部122は、CPU911などの処理装置を用いて、取得した公開鍵証明書を出力する。
例えば、公開鍵証明書取得部122は、CPU911などの処理装置を用いて、証明書データベース記憶部512が記憶した公開鍵証明書の対応テーブルを検索することにより、対応する公開鍵証明書を取得する。
証明書データベース記憶部512は、磁気ディスク装置920などの記憶装置を用いて、複数の形式の公開鍵証明書を記憶している。
証明書データベース記憶部512は、例えば、X.509形式の公開鍵証明書と、X.509形式とは異なる形式の公開鍵証明書とを記憶している。また、アドレス体系の違いなどにより、同一の通信機器を識別する識別名が複数ある場合には、それぞれの識別名について、同一の公開鍵の所有者であることを証明する公開鍵証明書を、複数記憶していてもよい。この場合、識別名が異なる複数の公開鍵証明書は、異なる形式(例えば、X.509形式と、X.509形式でない形式)であってもよいし、同一の形式(例えば、X.509形式)であってもよい。ここでは、同一の通信機器を識別する異なるアドレス体系の識別名についての複数の公開鍵証明書は、形式が同一であっても、「異なる形式」と呼ぶこととする。
証明書データベース記憶部512は、同一の所有者が、同一の公開鍵の所有者であることを証明する複数の公開鍵証明書を、対応づけて記憶している。
したがって、あるアドレス体系における識別名と、その識別名で識別される所有者が所有する公開鍵とで検索すれば、対応する異なる形式の公開鍵証明書を取得することができる。
あるいは、公開鍵証明書取得部122は、通信装置915を用いて、証明書検索要求情報を、証明書サーバ装置500に対して送信し、通信装置915を用いて、送信した証明書検索要求情報に対する応答として証明書サーバ装置500が送信してきた公開鍵証明書を受信することにより、対応する異なる形式の公開鍵証明書を取得してもよい。
すなわち、公開鍵証明書取得部122(証明書検索要求送信部)は、通信先とX.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信を行うために小型機器200のX.509形式公開鍵証明書を証明書サーバ装置500に要求したり、小型機器200に通信先が非X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信をサポートしていると見せかけるために通信先の非X.509形式公開鍵証明書を証明書サーバ装置500に要求したりする。
なお、公開鍵証明書取得部122は、入力した公開鍵証明書を検証してもよいし、検証しなくてもよい。公開鍵証明書取得部122が公開鍵証明書を検証する場合、検証に成功したときのみ、対応する公開鍵証明書を出力することとしてもよい。
公開鍵証明書送信部133は、通信相手が検証できる形式の公開鍵証明書を、その通信相手に対して送信する。
公開鍵証明書送信部133は、CPU911などの処理装置を用いて、公開鍵証明書取得部122が出力した公開鍵証明書を入力する。
公開鍵証明書送信部133は、通信装置915を用いて、入力した公開鍵証明書を送信する。
このようにして、ゲートウェイ装置100が、小型機器200及びアプリケーションサーバ装置300が検証できる公開鍵証明書を、それぞれに対して送信するので、小型機器200及びアプリケーションサーバ装置300は、通信相手を認証することができ、同一の共通鍵を生成して、暗号化した通信路を確立することができる。
すなわち、ゲートウェイ装置100は、小型機器200と非X.509形式公開鍵証明書の送受信を行い、小型機器200の通信先とX.509形式公開鍵証明書の送受信を行って、両者の橋渡しをする。
暗号化した通信路が確立したあとは、ゲートウェイ装置100は、暗号文情報を暗号化した共通鍵を知らないので、暗号文情報に手を加えることができない。ゲートウェイ装置100は、単に、暗号文情報を中継するだけである。
暗号文受信部151は、通信装置915を用いて、小型機器200またはアプリケーションサーバ装置300が送信した暗号文情報(接続応答情報を含む)を受信する。
暗号文受信部151は、CPU911などの処理装置を用いて、受信した暗号文情報を出力する。
暗号文送信部162は、CPU911などの処理装置を用いて、暗号文受信部151が出力した暗号文情報を入力する。
暗号文送信部162は、CPU911などの処理装置を用いて、入力した暗号文情報を、通信相手に対して送信する。
次に、宛先サーバ装置400について説明する。
宛先サーバ装置400は、小型機器200から指定された宛先の情報を、ネットワーク802で利用可能な形式の宛先情報に変換するアドレス変換サーバである。
図7は、この実施の形態における宛先サーバ装置400の機能ブロックの構成の一例を示すブロック構成図である。
宛先サーバ装置400は、宛先検索要求受信部411、宛先テーブル記憶部412、宛先検索部413、宛先検索結果送信部414を有する。
宛先検索要求受信部411は、通信装置915を用いて、ゲートウェイ装置100が送信してきた宛先検索要求情報を受信する。
宛先検索要求受信部411は、CPU911などの処理装置を用いて、受信した宛先検索要求情報を出力する。
宛先検索要求情報は、例えば、アドレス体系を示す情報と、そのアドレス体系においてある通信機器を識別するアドレス情報と、アドレス情報を変換したい別のアドレス体系を示す情報とを含む。
このように、宛先検索要求受信部411(宛先検索要求受付部)は、ゲートウェイ装置100からの宛先検索要求を受信して受け付ける。
宛先テーブル記憶部412は、磁気ディスク装置920などの記憶装置を用いて、アドレス情報を記憶している。
宛先テーブル記憶部412は、複数のアドレス体系におけるアドレス情報を記憶している。
宛先テーブル記憶部412は、異なる複数のアドレス体系において、同一の通信機器を識別する複数のアドレス情報を、対応づけて記憶している。
このように、宛先テーブル記憶部412は、非X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用するアドレス情報を、ネットワーク802(データ通信経路)で使用するアドレス情報(通常はURL)に変換するための変換表(宛先表)を記憶する。
宛先検索部413は、CPU911などの処理装置を用いて、宛先検索要求受信部411が出力した宛先検索要求情報を入力する。
宛先検索部413は、CPU911などの処理装置を用いて、入力した宛先検索要求情報に基づいて、宛先テーブル記憶部412が記憶したアドレス情報を検索し、対応するアドレス情報を取得する。
宛先検索部413は、CPU911などの処理装置を用いて、取得したアドレス情報を出力する。
このように、宛先検索部413は、ゲートウェイ装置100から受信した宛先検索要求を解析し、宛先テーブル(宛先表)を検索する。
宛先検索結果送信部414は、CPU911などの処理装置を用いて、宛先検索部413が出力したアドレス情報を入力する。
宛先検索結果送信部414は、通信装置915を用いて、宛先検索結果情報を、ゲートウェイ装置100に対して送信する。
宛先検索結果情報は、入力したアドレス情報を含む。宛先検索結果情報に含まれるアドレス情報は、宛先検索要求情報に含まれるアドレス情報により識別される通信機器を、別のアドレス体系において識別するアドレス情報である。
次に、証明書サーバ装置500について説明する。
証明書サーバ装置500は、小型機器200のX.509形式公開鍵証明書やX.509形式公開鍵証明書に対応したアプリケーションサーバ装置300の非X.509形式公開鍵証明書などを保管しているサーバである。
図8は、この実施の形態における証明書サーバ装置500の機能ブロックの構成の一例を示すブロック構成図である。
証明書サーバ装置500は、証明書検索要求受信部511、証明書データベース記憶部512、証明書検索部513、証明書検索結果送信部514を有する。
証明書検索要求受信部511は、通信装置915を用いて、ゲートウェイ装置100が送信してきた証明書検索要求情報を受信する。
証明書検索要求受信部511は、CPU911などの処理装置を用いて、受信した証明書検索要求情報を出力する。
証明書検索要求情報は、例えば、公開鍵と、公開鍵の所有者の識別名と、検索したい公開鍵証明書の形式を示す情報とを含む。
このように、証明書検索要求受信部511(証明書検索要求受付部)は、ゲートウェイ装置100からの証明書検索要求を受信して受け付ける。
証明書データベース記憶部512は、磁気ディスク装置920などの記憶装置を用いて、公開鍵証明書を記憶している。
証明書データベース記憶部512は、形式の異なる複数の公開鍵証明書を記憶している。
証明書データベース記憶部512は、形式の異なる公開鍵証明書において、同一の所有者が、同一の公開鍵を所有していることを証明する公開鍵証明書を、対応づけて記憶している。
このように、証明書データベース記憶部512は、非X.509形式公開鍵証明書のサブジェクトの情報から、そのサブジェクトのX.509形式公開鍵証明書を検索可能なX.509証明書データベースや、X.509形式公開鍵証明書のサブジェクトの情報から、そのサブジェクトの非X.509形式公開鍵証明書を検索可能な非X.509データベースを記憶する。
証明書検索部513は、CPU911などの処理装置を用いて、証明書検索要求受信部511が出力した証明書検索要求情報を入力する。
証明書検索部513は、CPU911などの処理装置を用いて、入力した証明書検索要求情報に基づいて、証明書データベース記憶部512が記憶した公開鍵証明書を検索し、対応する公開鍵証明書を取得する。
証明書検索部513は、CPU911などの処理装置を用いて、取得した公開鍵証明書を出力する。
このように、証明書検索部513は、ゲートウェイ装置100から受信したX.509形式公開鍵証明書の検索要求を処理するためにX.509証明書データベースを検索したり、非X.509形式公開鍵証明書の検索要求を処理するために非X.509証明書データベースを検索したりする。
証明書検索結果送信部514は、CPU911などの処理装置を用いて、証明書検索部513が出力した公開鍵証明書を入力する。
証明書検索結果送信部514は、通信装置915を用いて、入力した公開鍵証明書を、ゲートウェイ装置100に対して送信する。
次に、動作について説明する。
図9は、この実施の形態における小型機器200とアプリケーションサーバ装置300とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図(その1)である。
小型機器200は、S21において、接続要求送信部213が、通信装置915を用いて、アプリケーションサーバ装置300に対する接続要求情報を送信する。
小型機器200は、ゲートウェイ装置100に対してアプリケーションサーバ装置300への暗号通信の接続を要求する。このとき、小型機器200が接続先のアドレスとして指定するのは、非X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用されるアドレス体系を持ち、そのアドレス体系の中で、仮想的に、アプリケーションサーバ装置300が小型機器200に提供するサービスに対して割り振られたアドレスである。
ゲートウェイ装置100は、S01において、接続要求受信部111が、通信装置915を用いて、S21で小型機器200が送信した接続要求情報を受信する。
接続要求受信部111は、CPU911などの処理装置を用いて、受信した接続要求情報を出力する。
S02において、接続先アドレス変換部112は、CPU911などの処理装置を用いて、S01で接続要求受信部111が出力した接続要求情報を入力する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、入力した接続要求情報から、送信先(アプリケーションサーバ装置300)を示すアドレス情報を取得する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、取得したアドレス情報を含む宛先検索要求情報を生成する。
接続先アドレス変換部112は、通信装置915を用いて、生成した宛先検索要求情報を、宛先サーバ装置400に対して送信する。
すなわち、ゲートウェイ装置100は、小型機器200から指定されたアドレスを、ネットワーク802(データ通信経路)上で使用されるURLに変換するため、宛先サーバ装置400にアプリケーションサーバ装置300のURLを問い合わせる。
ゲートウェイ装置100が宛先サーバ装置400に送信する宛先検索要求情報(URL取得要求)の中には、小型機器200が指定した、非X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用されるアプリケーションサーバ装置300の仮想的なアドレスが含まれている。
宛先サーバ装置400は、ゲートウェイ装置100から受け取ったURL取得要求(宛先検索要求情報)にしたがって、アプリケーションサーバ装置300のURLを検索し、その結果を応答する。
接続先アドレス変換部112は、通信装置915を用いて、送信した宛先検索要求情報に対する応答として、宛先サーバ装置400が送信した宛先検索結果情報を受信する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、受信した宛先検索結果情報から、ネットワーク802のアドレス体系においてアプリケーションサーバ装置300を示すアドレス情報を取得する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、取得したアドレス情報を送信先として付加した接続要求情報を生成する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、生成した接続要求情報を出力する。
なお、ゲートウェイ装置100が宛先テーブル記憶部412を有している場合には、宛先サーバ装置400に問い合わせず、接続先アドレス変換部112が宛先テーブル記憶部412を検索して、アドレス情報を変換してもよい。
S03において、接続要求送信部113は、CPU911などの処理装置を用いて、S02で接続先アドレス変換部112が出力した接続要求情報を入力する。
接続要求送信部113は、通信装置915を用いて、入力した接続要求情報を、アプリケーションサーバ装置300に対して送信する。
すなわち、ゲートウェイ装置100は、宛先サーバ装置400から受け取ったアプリケーションサーバ装置300のURL(アドレス情報)に対して、X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信の接続要求を行う。
アプリケーションサーバ装置300は、S31において、接続要求受信部311が、通信装置915を用いて、S03でゲートウェイ装置100が送信した接続要求情報を受信する。
S32において、公開鍵証明書送信部333は、S31で受信した接続要求情報に対する応答として、通信装置915を用いて、アプリケーションサーバ装置300の公開鍵証明書を送信する。
すなわち、アプリケーションサーバ装置300は、ゲートウェイ装置100からの接続要求を受けて、小型機器200との暗号通信を確立するために、アプリケーションサーバ装置300のX.509形式公開鍵証明書をゲートウェイ装置100に送付する。
なお、アプリケーションサーバ装置300が送信した公開鍵証明書は、形式が異なるため小型機器200が検証することはできない。
ゲートウェイ装置100は、S04において、公開鍵証明書受信部121が、通信装置915を用いて、S32でアプリケーションサーバ装置300が送信した公開鍵証明書を受信する。
公開鍵証明書受信部121は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
S05において、公開鍵証明書取得部122は、CPU911などの処理装置を用いて、S04で公開鍵証明書受信部121が出力した公開鍵証明書を入力する。
公開鍵証明書取得部122は、CPU911などの処理装置を用いて、入力した公開鍵証明書から、公開鍵の所有者の識別名と、公開鍵とを取得する。
公開鍵証明書取得部122は、CPU911などの処理装置を用いて、取得した識別名と公開鍵とを含む証明書検索要求情報を生成する。
公開鍵証明書取得部122は、通信装置915を用いて、生成した証明書検索要求情報を、証明書サーバ装置500に対して送信する。
すなわち、ゲートウェイ装置100は、アプリケーションサーバ装置300から受け取ったX.509形式公開鍵証明書をもとに、アプリケーションサーバ装置300のX.509形式公開鍵証明書に設定されているものと同一の公開鍵が設定された逆マッピング公開鍵証明書(非X.509形式公開鍵証明書)の検索を、証明書サーバ装置500に要求する。
証明書サーバ装置500は、ゲートウェイ装置100から受け取った逆マッピング公開鍵証明書取得要求にしたがって、アプリケーションサーバ装置300の公開鍵が設定された非X.509形式公開鍵証明書を検索し、その結果を応答する。
検索された非X.509形式公開鍵証明書には、S21で小型機器200が指定した、非X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用されるアプリケーションサーバ装置300の仮想的なアドレスが、公開鍵証明書の所有者名として設定されている。
公開鍵証明書取得部122は、通信装置915を用いて、送信した証明書検索要求情報に対する応答として、証明書サーバ装置500が送信した公開鍵証明書を受信する。
公開鍵証明書取得部122は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
なお、ゲートウェイ装置100が証明書データベース記憶部512を有している場合には、証明書サーバ装置500に問い合わせず、公開鍵証明書取得部122が証明書データベース記憶部512を検索して、公開鍵証明書を取得してもよい。
S06において、公開鍵証明書送信部133は、CPU911などの処理装置を用いて、S05で公開鍵証明書取得部122が出力した公開鍵証明書を入力する。
公開鍵証明書送信部133は、通信装置915を用いて、入力した公開鍵証明書を、小型機器200に対して送信する。
すなわち、ゲートウェイ装置100は、証明書サーバ装置500から受け取ったアプリケーションサーバ装置300の逆マッピング公開鍵証明書を、小型機器200とアプリケーションサーバ装置300との間で暗号通信を確立させるために小型機器200に送付する。
小型機器200は、S22において、公開鍵証明書受信部221が、通信装置915を用いて、S06でゲートウェイ装置100が送信した公開鍵証明書を受信する。
公開鍵証明書受信部221は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
公開鍵証明書受信部221が受信した公開鍵証明書は、ゲートウェイ装置100により小型機器200が検証できる形式のものとなっている。
S23において、公開鍵証明書検証部222は、CPU911などの処理装置を用いて、S22で公開鍵証明書受信部221が出力した公開鍵証明書を入力する。
公開鍵証明書検証部222は、CPU911などの処理装置を用いて、入力した公開鍵証明書を検証する。
すなわち、小型機器200は、ゲートウェイ装置100から受け取った逆マッピング公開鍵証明書を証明書検証する。なお、逆マッピング公開鍵証明書を検証するために使用する信頼点は、小型機器200内にあらかじめ設定されている非X.509形式公開鍵証明書である。
検証に成功した場合、公開鍵証明書検証部222は、CPU911などの処理装置を用いて、入力した公開鍵証明書から取得した公開鍵を出力する。
アプリケーションサーバ装置300は、S33において、証明書提示要求送信部334が、通信装置915を用いて、小型機器200に対する証明書提示要求情報を送信する。
すなわち、アプリケーションサーバ装置300は、小型機器200との暗号通信を確立するために、小型機器200のX.509形式公開鍵証明書を、ゲートウェイ装置100に要求する。
ゲートウェイ装置100は、S07において、証明書提示要求受信部131が、通信装置915を用いて、S33でアプリケーションサーバ装置300が送信した証明書提示要求情報を受信する。
証明書提示要求受信部131は、CPU911などの処理装置を用いて、受信した証明書提示要求情報を出力する。
S08において、証明書提示要求送信部134は、CPU911などの処理装置を用いて、S07で証明書提示要求受信部131が出力した証明書提示要求情報を入力する。
証明書提示要求送信部134は、通信装置915を用いて、入力した証明書提示要求情報を、小型機器200に対して送信する。
すなわち、ゲートウェイ装置100は、アプリケーションサーバ装置300からの要求にしたがって、小型機器200に対して小型機器200の公開鍵が設定された非X.509形式公開鍵証明書を要求する。
小型機器200は、S24において、証明書提示要求受信部231が、通信装置915を用いて、S08でゲートウェイ装置100が送信した証明書提示要求情報を受信する。
S25において、公開鍵証明書送信部233は、通信装置915を用いて、S24で証明書提示要求受信部231が受信した証明書提示要求情報に対する応答として、小型機器200の公開鍵証明書を送信する。
すなわち、小型機器200は、ゲートウェイ装置100からの要求にしたがって、小型機器200の公開鍵が設定された、小型機器200の非X.509形式公開鍵証明書をゲートウェイ装置100に応答する。
なお、小型機器200が送信した公開鍵証明書は、形式が異なるためアプリケーションサーバ装置300が検証することはできない。
ゲートウェイ装置100は、S09において、公開鍵証明書受信部121が、通信装置915を用いて、S25で小型機器200が送信した公開鍵証明書を受信する。
公開鍵証明書受信部121は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
以下、図10へ続く。
図10は、この実施の形態における小型機器200とアプリケーションサーバ装置300とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図(その2)である。
ゲートウェイ装置100は、S10において、公開鍵証明書取得部122が、CPU911などの処理装置を用いて、S09で公開鍵証明書受信部121が出力した公開鍵証明書を入力する。
公開鍵証明書取得部122は、証明書サーバ装置500に問い合わせるなどして、対応する公開鍵証明書を取得する。
公開鍵証明書取得部122は、CPU911などの処理装置を用いて、取得した公開鍵証明書を出力する。
すなわち、ゲートウェイ装置100は、小型機器200から受け取った非X.509形式公開鍵証明書をもとに、小型機器200の非X.509形式公開鍵証明書に設定されているものと同一の公開鍵が設定されたマッピング公開鍵証明書(X.509形式公開鍵証明書)の検索を、証明書サーバ装置500に要求する。
証明書サーバ装置500は、ゲートウェイ装置100から受け取ったマッピング公開鍵証明書取得要求にしたがって、小型機器200の公開鍵が設定されたX.509形式公開鍵証明書を検索し、その結果を応答する。検索されたX.509形式公開鍵証明書には、小型機器200の識別子が公開鍵証明書の所有者名として設定されている。
S11において、公開鍵証明書送信部133は、CPU911などの処理装置を用いて、S10で公開鍵証明書取得部122が出力した公開鍵証明書を入力する。
公開鍵証明書送信部133は、通信装置915を用いて、入力した公開鍵証明書を、アプリケーションサーバ装置300に対して送信する。
すなわち、ゲートウェイ装置100は、小型機器200の公開鍵が設定されたX.509形式公開鍵証明書を、アプリケーションサーバ装置300に応答する。
アプリケーションサーバ装置300は、S34において、公開鍵証明書受信部321が、通信装置915を用いて、S11でゲートウェイ装置100が送信した公開鍵証明書を受信する。
公開鍵証明書受信部321は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
公開鍵証明書受信部321が受信した公開鍵証明書は、ゲートウェイ装置100によりアプリケーションサーバ装置300が検証できる形式のものになっている。
S35において、公開鍵証明書検証部322は、CPU911などの処理装置を用いて、S34で公開鍵証明書受信部321が出力した公開鍵証明書を入力する。
公開鍵証明書検証部322は、CPU911などの処理装置を用いて、入力した公開鍵証明書を検証する。
すなわち、アプリケーションサーバ装置300は、ゲートウェイ装置100から受け取った小型機器200のマッピング公開鍵証明書を証明書検証する。なお、マッピング公開鍵証明書を検証するために使用する信頼点は、アプリケーションサーバ装置300内にあらかじめ設定されているX.509形式公開鍵証明書である。
検証に成功した場合、公開鍵証明書検証部322は、CPU911などの処理装置を用いて、入力した公開鍵証明書から取得した公開鍵を出力する。
小型機器200は、S26において、共通鍵生成部224が、CPU911などの処理装置を用いて、共通鍵を生成する。
アプリケーションサーバ装置300は、S36において、共通鍵生成部324が、CPU911などの処理装置を用いて、共通鍵を生成する。
小型機器200とアプリケーションサーバ装置300とは、互いに相手の公開鍵証明書から取得した公開鍵と自身の秘密鍵とをもとに共通鍵を生成するので、同一の共通鍵を生成でき、しかも、それまでのやり取りを盗聴していた第三者がいたとしても、第三者には、その共通鍵が生成できない。
アプリケーションサーバ装置300は、S37において、接続応答送信部344が、通信装置915を用いて、接続応答情報を送信する。
接続応答情報は、S36で共通鍵生成部324が生成した共通鍵で暗号化されている。
すなわち、アプリケーションサーバ装置300は、小型機器200のマッピング公開鍵証明書の検証に成功し、接続が完了した旨をゲートウェイ装置100に応答する。
ゲートウェイ装置100は、S12において、暗号文受信部151が、通信装置915を用いて、S37でアプリケーションサーバ装置300が送信した接続応答情報を受信する。
暗号文受信部151は、CPU911などの処理装置を用いて、受信した接続応答情報を出力する。
S13において、暗号文送信部162は、CPU911などの処理装置を用いて、S12で暗号文受信部151が出力した接続応答情報を入力する。
暗号文送信部162は、通信装置915を用いて、入力した接続応答情報を、小型機器200に対して送信する。
すなわち、ゲートウェイ装置100は、アプリケーションサーバ装置300からの接続応答にしたがって、小型機器200に接続応答をする。
小型機器200は、S27において、接続応答受信部241が、通信装置915を用いて、S13でゲートウェイ装置100が送信した接続応答情報を受信する。
復号部242は、CPU911などの処理装置を用いて、受信した接続応答情報を、S26で共通鍵生成部224が生成した共通鍵で復号する。
S28において、接続応答検証部245は、CPU911などの処理装置を用いて、S27で復号部242が復号した接続応答情報を検証する。
検証に成功した場合、小型機器200とアプリケーションサーバ装置300とが同一の共通鍵を生成したことが確認される。
ここまでの処理により、小型機器200とアプリケーションサーバ装置300とが同一の共通鍵(セッション鍵)を共有し、なおかつ、小型機器200とアプリケーションサーバ装置300との間の相互認証が完了したこととなり、暗号通信の準備が整う。
その後、S29・S14・S38において、確立した安全な通信路を用いて、実際に暗号通信を実行する。
このとき、ゲートウェイ装置100は、小型機器200とアプリケーションサーバ装置300との間の通信を中継するが、共通鍵を有していないので、通信の内容を知ることはできない。
以上のようにして、非X.509形式公開鍵証明書を用いた暗号通信にのみ対応している小型機器200が、マッピング証明書を使用して、X.509形式公開鍵証明書を用いた暗号通信にのみ対応しているアプリケーションサーバ装置300と暗号通信を開始することができる。
この実施の形態におけるゲートウェイ装置100(中継装置)は、
情報を処理するCPU911などの処理装置と、第一の通信機器及び第二の通信機器(小型機器200及びアプリケーションサーバ装置300)と通信する通信装置915と、第一証明書受信部(公開鍵証明書受信部121)と、第二証明書取得部(公開鍵証明書取得部122)と、第二証明書送信部(公開鍵証明書送信部133)とを有することを特徴とする。
第一証明書受信部(公開鍵証明書受信部121)は、
通信装置915を用いて、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)が送信した第一の形式の公開鍵証明書である情報を受信し、
CPU911などの処理装置を用いて、受信した第一の形式の公開鍵証明書を出力することを特徴とする。
第二証明書取得部(公開鍵証明書取得部122)は、
CPU911などの処理装置を用いて、第一証明書受信部(公開鍵証明書受信部121)が出力した第一の形式の公開鍵証明書を入力し、
CPU911などの処理装置を用いて、入力した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書である情報を取得し、
CPU911などの処理装置を用いて、取得した第二の形式の公開鍵証明書を出力することを特徴とする。
第二証明書送信部(公開鍵証明書送信部133)は、
CPU911などの処理装置を用いて、第二証明書取得部(公開鍵証明書取得部122)が出力した第二の形式の公開鍵証明書を入力し、
通信装置915を用いて、入力した第二の形式の公開鍵証明書を、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)に対して送信することを特徴とする。
この実施の形態におけるゲートウェイ装置100(中継装置)によれば、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)から受信した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を、第二証明書取得部(公開鍵証明書取得部122)が出力し、第二証明書送信部(公開鍵証明書送信部133)が第二の通信機器(小型機器200及びアプリケーションサーバ装置300)に対して送信するので、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)が第一の形式の公開鍵証明書を検証できなくても、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
この実施の形態におけるゲートウェイ装置100(中継装置)は、更に、
情報を記憶する磁気ディスク装置920などの記憶装置と、証明書データベース記憶部512とを有することを特徴とする。
証明書データベース記憶部512は、
磁気ディスク装置920などの記憶装置を用いて、第一の形式の公開鍵証明書において、公開鍵の所有者を示す情報(識別名)と、上記所有者と同一の所有者が公開鍵の所有者であることを証明する第二の形式の公開鍵証明書とを対応づけて記憶することを特徴とする。
第二証明書取得部(公開鍵証明書取得部122)は、
CPU911などの処理装置を用いて、入力した第一の形式の公開鍵証明書に基づいて、公開鍵の所有者を示す情報(識別名)と、上記所有者が所有する公開鍵である情報とを取得し、
CPU911などの処理装置を用いて、証明書データベース記憶部512が記憶した情報に基づいて、取得した情報が示す所有者と同一の所有者が、取得した公開鍵と同一の公開鍵の所有者であることを証明する第二の形式の公開鍵証明書を取得することを特徴とする。
この実施の形態におけるゲートウェイ装置100(中継装置)によれば、証明書データベース記憶部512が、第一の公開鍵証明書に対応する第二の形式の公開鍵証明書を記憶しているので、公開鍵証明書取得部122が第一の公開鍵証明書に対応する第二の形式の公開鍵証明書を取得することができるという効果を奏する。
通信装置915は、更に、
第一の形式の公開鍵証明書と第二の形式の公開鍵証明書との対応関係を記憶した証明書サーバ装置500と通信することを特徴とする。
第二証明書取得部(公開鍵証明書取得部122)は、
通信装置915を用いて、入力した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書の検索を、証明書サーバ装置500に対して要求する証明書検索要求情報を、証明書サーバ装置500に対して送信し、
通信装置915を用いて、送信した証明書検索要求情報に対する応答として、証明書サーバ装置500が送信した第二の形式の公開鍵証明書を受信することにより、第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を取得することを特徴とする。
この実施の形態におけるゲートウェイ装置100(中継装置)によれば、公開鍵証明書取得部122が、第一の形式の公開鍵証明書と第二の形式の公開鍵証明書との対応関係を記憶した証明書サーバ装置500と通信することにより、第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を取得するので、証明書データベースを記憶する必要がなく、ゲートウェイ装置100の記憶装置の容量が少なくて済むという効果を奏する。
第一の形式の公開鍵証明書は、X.509形式の公開鍵証明書であることを特徴とする。
第二の形式の公開鍵証明書は、X.509形式以外の形式の公開鍵証明書であることを特徴とする。
この実施の形態におけるゲートウェイ装置100(中継装置)によれば、公開鍵証明書取得部122が、第一の通信機器(アプリケーションサーバ装置300)から受信したX.509形式の公開鍵証明書に対応するX.509形式以外の形式の公開鍵証明書を、第二証明書取得部(公開鍵証明書取得部122)が出力し、第二証明書送信部(公開鍵証明書送信部133)が第二の通信機器(小型機器200)に対して送信するので、第二の通信機器(小型機器200)がX.509形式の公開鍵証明書を検証できなくても、第一の通信機器(アプリケーションサーバ装置300)を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
第一の形式の公開鍵証明書は、X.509形式以外の形式の公開鍵証明書であることを特徴とする。
第二の形式の公開鍵証明書は、X.509形式の公開鍵証明書であることを特徴とする。
この実施の形態におけるゲートウェイ装置100(中継装置)によれば、公開鍵証明書取得部122が、第一の通信機器(小型機器200)から受信したX.509形式以外の形式の公開鍵証明書に対応するX.509形式の公開鍵証明書を、第二証明書取得部(公開鍵証明書取得部122)が出力し、第二証明書送信部(公開鍵証明書送信部133)が第二の通信機器(アプリケーションサーバ装置300)に対して送信するので、第二の通信機器(アプリケーションサーバ装置300)がX.509形式以外の形式の公開鍵証明書を検証できなくても、第一の通信機器(小型機器200)を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
第一の形式の公開鍵証明書は、所定のアドレス体系において通信機器を識別するアドレス情報を、公開鍵の所有者を示す情報として含むことを特徴とする。
第二の形式の公開鍵証明書は、上記所定のアドレス体系と異なるアドレス体系において通信機器を識別するアドレス情報を、公開鍵の所有者を示す情報として含むことを特徴とする。
この実施の形態におけるゲートウェイ装置100(中継装置)によれば、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)が接続したネットワークにおけるアドレス体系と、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)が接続したネットワークにおけるアドレス体系とが異なることにより、公開鍵証明書において公開鍵の所有者を示す情報が異なる場合でも、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)が、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
この実施の形態における通信システム800は、
上記説明したゲートウェイ装置100(中継装置)を備えることを特徴とする。
この実施の形態における通信システム800によれば、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)が送信した第一の形式の公開鍵証明書を、ゲートウェイ装置100が、対応する第二の形式の公開鍵証明書に置き換えて、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)に対して送信するので、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)が第一の形式の公開鍵証明書を検証できなくても、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
この実施の形態におけるゲートウェイ装置100(中継装置)が通信を中継する中継方法は、
情報を処理するCPU911などの処理装置と、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)及び第二の通信機器(小型機器200及びアプリケーションサーバ装置300)と通信する通信装置915とを有する中継装置(ゲートウェイ装置100)が、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)と第二の通信機器(小型機器200及びアプリケーションサーバ装置300)との間の通信を中継する中継方法において、
通信装置915が、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)が送信した第一の形式の公開鍵証明書である情報を受信し、
CPU911などの処理装置が、通信装置915が受信した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書である情報を取得し、
通信装置915が、CPU911などの上記処理装置が取得した第二の形式の公開鍵証明書を、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)に対して送信することを特徴とする。
この実施の形態における中継方法によれば、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)が送信した第一の形式の公開鍵証明書を、ゲートウェイ装置100が、対応する第二の形式の公開鍵証明書に置き換えて、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)に対して送信するので、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)が第一の形式の公開鍵証明書を検証できなくても、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
この実施の形態におけるゲートウェイ装置100は、CPU911などの処理装置と、通信装置915とを有するコンピュータを上記説明したゲートウェイ装置100として機能させるプログラムを、上記コンピュータが実行することにより、実現することができる。
この実施の形態におけるコンピュータプログラムは、
情報を処理するCPU911などの処理装置と、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)及び第二の通信機器(小型機器200及びアプリケーションサーバ装置300)と通信する通信装置915とを有するコンピュータを、この実施の形態における中継装置として機能させることを特徴とする。
この実施の形態におけるコンピュータプログラムによれば、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)が送信した第一の形式の公開鍵証明書を、対応する第二の形式の公開鍵証明書に置き換えて、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)に対して送信するので、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)が第一の形式の公開鍵証明書を検証できなくても、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)を認証し、共通鍵を生成して、暗号通信を可能にするゲートウェイ装置100(中継装置)を実現することができるという効果を奏する。
以上説明したゲートウェイ装置100は、
非X.509形式公開鍵証明書を使用した公開鍵基盤をサポートする機器(非X.509機器)と、X.509形式公開鍵証明書を使用した公開鍵基盤をサポートする機器(X.509機器)との間で、非X.509機器の公開鍵証明書に設定された公開鍵と同一の公開鍵が設定されたX.509形式公開鍵証明書(マッピング証明書)と、X.509機器の公開鍵証明書に設定された公開鍵と同一の公開鍵が設定された非X.509形式公開鍵証明書(逆マッピング証明書)を使用して、非X.509機器とX.509機器との間でPKIに基づく暗号通信を行うことができるようにすることを特徴とする。
以上説明した宛先サーバ装置400(アドレス変換サーバ装置)は、ゲートウェイ装置100が、非X.509機器から、非X.509機器が使用するプロトコルでX.509機器への接続要求を受け付けた際、非X.509機器が使用するプロトコルのアドレス情報から、X.509機器が使用するアドレス情報に、アドレス変換をするために使用されることを特徴とする。
なお、宛先サーバ装置400(アドレス変換サーバ装置)は、非X.509機器が使用するプロトコルのアドレス情報を、X.509機器が使用するアドレス情報に変換する際、単にアドレス情報に変換するだけでなく、X.509機器が使用するプロトコルに関する情報を含んでもよい。プロトコルに関する情報を含むアドレス情報とは、例えばURLのようなもののことを指す。
以上説明した公開鍵証明書は、
非X.509形式公開鍵証明書を使用した公開鍵基盤をサポートする機器(非X.509機器)と、X.509形式公開鍵証明書を使用した公開鍵基盤をサポートする機器(X.509機器)との間でPKIに基づく暗号通信を行うことができるようにするために利用されるX.509形式公開鍵証明書であって、
設定される公開鍵は、対応する非X.509形式公開鍵証明書に設定されているものと同一であり、
サブジェクト名の一部に非X.509形式公開鍵証明書のサブジェクトとして設定されているデータを含み、
対応する非X.509形式公開鍵証明書がこのX.509形式公開鍵証明書の発行時点で有効であることを示すことを特徴とする。
以上説明した公開鍵証明書は、
非X.509形式公開鍵証明書を使用した公開鍵基盤をサポートする機器(非X.509機器)と、X.509形式公開鍵証明書を使用した公開鍵基盤をサポートする機器(X.509機器)との間でPKIに基づく暗号通信を行うことができるようにするために利用される非X.509形式公開鍵証明書であって、
設定される公開鍵は、対応するX.509形式公開鍵証明書に設定されているものと同一であり、
サブジェクトを示すデータとして、宛先サーバ装置400(アドレス変換サーバ装置)によってX.509機器が使用するアドレス情報に変換可能なデータが記載され、
対応するX.509形式公開鍵証明書がこの非X.509形式公開鍵証明書の発行時点で有効であることを示すことを特徴とする。
なお、非X.509形式公開鍵証明書は、サブジェクトを示すデータが宛先サーバ装置400(アドレス変換サーバ装置)によって変換される際、単にX.509機器が使用するアドレス情報に変換されるだけではなく、X.509機器が使用するプロトコルに関する情報を含んでも良い。プロトコルに関する情報を含むアドレス情報とは、例えばURLのようなもののことを指す。
以上のように、小型機器200がX.509形式公開鍵証明書が取り扱えなくても、あらかじめ小型機器200のマッピング公開鍵証明書、アプリケーションサーバ装置300の逆マッピング公開鍵証明書を用意しておけば、小型機器200とX.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信をサポートしたアプリケーションサーバ装置300との間で暗号通信が行える。したがって、X.509形式公開鍵証明書を取り扱えない小型機器200から一般的なアプリケーションサーバ装置300によって提供されているサービスを利用することができる。
実施の形態2.
実施の形態2について、図11〜図14を用いて説明する。
この実施の形態における通信システム800の全体構成、ゲートウェイ装置100、小型機器200、アプリケーションサーバ装置300、宛先サーバ装置400、証明書サーバ装置500のハードウェア構成及びブロック構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
図11は、この実施の形態における証明書データベース記憶部512が記憶する公開鍵証明書の一例を示す図である。
公開鍵証明書700は、公開鍵証明書750に対応して証明書データベース記憶部512が記憶している公開鍵証明書である。
公開鍵証明書700は、証明内容情報710と電子署名720とを含んでいる。
電子署名720は、証明内容情報710について、認証局が署名した電子署名であり、これを認証局の公開鍵で復号することにより、証明内容情報710が正しいか検証できる。
証明内容情報710は、認証局の識別名711、所有者の識別名712、所有者の公開鍵713、公開鍵証明書の有効期限714、エクステンション715などを含んでいる。
認証局の識別名711は、公開鍵証明書700に署名した認証局を識別する情報である。公開鍵証明書700を検証するには、認証局の識別名711に基づいて、認証局の公開鍵を取得し、取得した公開鍵で電子署名720を復号する。
所有者の識別名712は、公開鍵証明書700において公開鍵の所有者であることが証明されている所有者を識別する情報である。例えば、所有者のURL(Uniform Resource Locator)、電子メールアドレス、IP(Internet Protocol)アドレスなどである。
所有者の公開鍵713は、公開鍵証明書700において識別名712で識別される所有者が所有していることが証明されている公開鍵である。
公開鍵証明書の有効期限714は、公開鍵証明書700の証明内容が有効な期間を示す情報である。
エクステンション715は、その他様々な付加情報である。例えば、公開鍵の用途制限を示す情報や、証明書の使用目的を示す情報などである。
公開鍵証明書750は、証明書データベース記憶部512が記憶している公開鍵証明書700に対応する公開鍵証明書である。
公開鍵証明書750は、例えば、アプリケーションサーバ装置300が送信するX.509形式の公開鍵証明書である。公開鍵証明書750は、あるいは、小型機器200が送信するX.509形式と異なる形式の公開鍵証明書である。
証明書データベース記憶部512が記憶している公開鍵証明書700と、アプリケーションサーバ装置300または小型機器200が送信する公開鍵証明書750との間の関係は、以下のとおりである。
公開鍵証明書700における所有者の識別名712によって識別される所有者は、公開鍵証明書750における所有者の識別名762によって識別される所有者と同一である。しかし、アドレス体系の違いなどにより、識別名712と識別名762とが同一である必要はない(同一であってもよい)。
公開鍵証明書700における所有者の公開鍵713と、公開鍵証明書750における所有者の公開鍵763とは、同一である。これにより、小型機器200及びアプリケーションサーバ装置300は、相手が送信した公開鍵証明書から取得するのと同一の公開鍵を入手することができる。
公開鍵証明書700の有効期限714と、公開鍵証明書750の有効期限764とは、同一である。これにより、小型機器200及びアプリケーションサーバ装置300が有効期限の切れた公開鍵証明書750を送信した場合には、通信相手が、対応する公開鍵証明書700を検証することにより、有効期限切れを認識することができる。
公開鍵証明書700のエクステンション715には、公開鍵証明書750そのものが含まれる。これにより、両方の形式の公開鍵証明書を検証できる場合には、公開鍵証明書700を検証してもよいし、公開鍵証明書750を検証してもよいし、両方を検証してもよい。
公開鍵証明書700に署名した認証局と、公開鍵証明書750に署名した認証局とは、必ずしも同一でなくてもよい。
例えば、公開鍵証明書750を発行した認証局が、それと同時に公開鍵証明書700を発行してもよい。あるいは、公開鍵証明書750を検証して有効であることを確認した認証局が、公開鍵証明書700を発行してもよい。
次に、公開鍵証明書取得部122が、公開鍵証明書を取得する動作について説明する。
図12は、この実施の形態における公開鍵証明書取得部122が公開鍵証明書を取得する公開鍵証明書取得処理の流れの一例を示すフローチャート図である。
これは、実施の形態1で説明した処理のうち、図9のS05及び図10のS10に相当する処理である。
ゲートウェイ装置100は、S61において、公開鍵証明書取得部122が、CPU911などの処理装置を用いて、公開鍵証明書受信部121が出力した公開鍵証明書を入力する。
これは、アプリケーションサーバ装置300または小型機器200が送信した自身の公開鍵証明書750である。
S62において、公開鍵証明書取得部122は、CPU911などの処理装置を用いて、証明書検索要求情報を生成する。公開鍵証明書取得部122が生成する証明書検索要求情報は、S61で入力した公開鍵証明書750を含む。
S63において、公開鍵証明書取得部122は、通信装置915を用いて、S62で生成した証明書検索要求情報を、証明書サーバ装置500に対して送信する。
証明書サーバ装置500は、S51において、証明書検索要求受信部511が、通信装置915を用いて、S63でゲートウェイ装置100が送信した証明書検索要求情報を受信する。
証明書検索要求受信部511は、CPU911などの処理装置を用いて、受信した証明書検索要求情報を出力する。
S52において、証明書検索部513は、CPU911などの処理装置を用いて、S51で証明書検索要求受信部511が出力した証明書検索要求情報を入力する。
証明書検索部513は、CPU911などの処理装置を用いて、入力した証明書検索要求情報から、公開鍵証明書750を取得する。
証明書検索部513は、CPU911などの処理装置を用いて、証明書データベース記憶部512が記憶した公開鍵証明書700を検索し、取得した公開鍵証明書750と同一の公開鍵証明書750をエクステンション715に含む公開鍵証明書700を取得する。
証明書検索部513は、CPU911などの処理装置を用いて、取得した公開鍵証明書700を出力する。
S53において、証明書検索結果送信部514は、CPU911などの処理装置を用いて、S52で証明書検索部513が出力した公開鍵証明書700を入力する。
証明書検索結果送信部514は、通信装置915を用いて、入力した公開鍵証明書700を、ゲートウェイ装置100に対して送信する。
ゲートウェイ装置100は、S64において、公開鍵証明書取得部122が、通信装置915を用いて、S53で証明書サーバ装置500が送信した公開鍵証明書700を受信する。
S65において、公開鍵証明書取得部122は、CPU911などの処理装置を用いて、S64で受信した公開鍵証明書700を出力する。
公開鍵証明書取得部122が出力した公開鍵証明書700は、公開鍵証明書送信部133が小型機器200またはアプリケーションサーバ装置300に対して送信し、小型機器200またはアプリケーションサーバ装置300が検証する。
次に、接続応答情報の検証処理について説明する。
小型機器200とアプリケーションサーバ装置300との間の通信は、同一の共通鍵を共有したのちにおいては、暗号化されているので第三者による盗聴・改竄を受けることなく、安全である。
これに対し、接続要求情報から接続応答情報の前までの通信は、共通鍵を共有していないので、暗号化されていない。
暗号化されていない通信は、第三者に盗聴される危険がある。しかし、共通鍵を生成するには、小型機器200またはアプリケーションサーバ装置300の秘密鍵が必要なので、接続応答情報の前までの通信を第三者に盗聴されたとしても、第三者に共通鍵を知られる心配はない。
また、暗号化されていない通信は、第三者に改竄される危険がある。
そこで、第三者による改竄を検出するため、接続要求情報から接続応答情報の前までに小型機器200とアプリケーションサーバ装置300との間で送受信されたすべての情報を結合し、これに対して、アプリケーションサーバ装置300がダイジェストを作成する。
アプリケーションサーバ装置300は、ダイジェストを含む接続応答情報を生成し、暗号化して小型機器200に対して送信する。
小型機器200は、接続応答情報を受信し、復号してアプリケーションサーバ装置300が作成したダイジェストを取得する。小型機器200は、これを自己の送受信記録と照合することにより、第三者による改竄を検出する。
第三者による改竄が検出された場合には、その後の通信の安全が保証できないので、通信路の確立に失敗したものと判断する。
これにより、第三者の改竄を受けることなく、安全に通信路を確立することができる。
しかし、ゲートウェイ装置100が、公開鍵証明書750を異なる形式の公開鍵証明書700に置き換えた場合、正当な改変であるにもかかわらず、第三者による改竄と判断されてしまう。
そこで、この実施の形態における通信システム800では、以下のようにして、接続応答情報を検証する。
図13は、この実施の形態におけるアプリケーションサーバ装置300が接続応答情報を生成する接続応答情報生成処理の流れの一例を示すフローチャート図である。
これは、実施の形態1で説明した処理のうち、図10のS37に相当する処理である。
S71において、接続応答生成部343は、CPU911などの処理装置を用いて、送受信記録を取得する。送受信記録は、接続要求情報の受信に始まり、直前(小型機器200の公開鍵証明書700)までの間に小型機器200との間で送受信した情報の記録である。
S72において、接続応答生成部343は、CPU911などの処理装置を用いて、S71で取得した送受信記録のなかから、受信した公開鍵証明書700を抽出する。
S73において、接続応答生成部343は、CPU911などの処理装置を用いて、抽出した公開鍵証明書700のエクステンション715に公開鍵証明書750が含まれているか否かを判断する。
エクステンション715に公開鍵証明書750が含まれている場合、接続応答生成部343は、CPU911などの処理装置を用いて、公開鍵証明書700のエクステンション715から公開鍵証明書750を取得する。
接続応答生成部343は、CPU911などの処理装置を用いて、送受信記録に含まれる公開鍵証明書700を、取得した公開鍵証明書750で置き換える。
エクステンション715に公開鍵証明書750が含まれている公開鍵証明書700は、ゲートウェイ装置100により置き換えられたものであるから、S73の処理により、小型機器200が送信した元の状態に戻ることになる。
S74において、接続応答生成部343は、CPU911などの処理装置を用いて、送受信記録に対して電子署名する。
すなわち、接続応答生成部343は、CPU911などの処理装置を用いて、送受信記録を結合して1つのデータ列とし、結合したデータ列のハッシュ値を算出する。接続応答生成部343は、CPU911などの処理装置を用いて、算出したハッシュ値を、アプリケーションサーバ装置300の秘密鍵で暗号化して、電子署名を生成する。
S75において、接続応答生成部343は、CPU911などの処理装置を用いて、S74で生成した電子署名を含む接続応答情報を生成する。
接続応答生成部343は、生成した接続応答情報を出力する。
S76において、暗号化部361は、CPU911などの処理装置を用いて、S75で接続応答生成部343が出力した接続応答情報を入力する。
暗号化部361は、CPU911などの処理装置を用いて、入力した接続応答情報を、共通鍵生成部324が生成した共通鍵で暗号化する。
暗号化部361は、CPU911などの処理装置を用いて、暗号化した接続応答情報を出力する。
S77において、接続応答送信部344は、CPU911などの処理装置を用いて、S76で暗号化部361が出力した接続応答情報を入力する。
接続応答送信部344は、通信装置915を用いて、入力した接続応答情報を送信する。
アプリケーションサーバ装置300が送信した接続応答情報は、ゲートウェイ装置100が中継して、小型機器200に届けられる。
図14は、この実施の形態における小型機器200が接続応答情報を検証する接続応答検証処理の流れの一例を示すフローチャート図である。
これは、実施の形態1で説明した処理のうち、S27〜S28に相当する処理である。
S81において、接続応答受信部241は、通信装置915を用いて、接続応答情報を受信する。
接続応答受信部241は、CPU911などの処理装置を用いて、受信した接続応答情報を出力する。
S82において、復号部242は、CPU911などの処理装置を用いて、S81で接続応答受信部241が出力した接続応答情報を入力する。
復号部242は、CPU911などの処理装置を用いて、入力した接続応答情報を、共通鍵生成部224が生成した共通鍵で復号する。
復号部242は、CPU911などの処理装置を用いて、復号した接続応答情報を出力する。
S83において、接続応答検証部245は、CPU911などの処理装置を用いて、送受信記録を取得する。送受信記録は、接続要求情報の送信に始まり、接続応答情報の直前(小型機器200の公開鍵証明書750)までの間にアプリケーションサーバ装置300との間で送受信した情報の記録である。
S84において、接続応答検証部245は、CPU911などの処理装置を用いて、S83で取得した送受信記録のなかから、受信した公開鍵証明書700を抽出する。
S85において、接続応答検証部245は、CPU911などの処理装置を用いて、抽出した公開鍵証明書700のエクステンション715に公開鍵証明書750が含まれているか否かを判断する。
エクステンション715に公開鍵証明書750が含まれている場合、接続応答生成部343は、CPU911などの処理装置を用いて、公開鍵証明書700のエクステンション715から公開鍵証明書750を取得する。
接続応答生成部343は、CPU911などの処理装置を用いて、送受信記録に含まれる公開鍵証明書700を、取得した公開鍵証明書750で置き換える。
S86において、接続応答検証部245は、CPU911などの処理装置を用いて、S82で復号部242が出力した接続応答情報を入力する。
接続応答検証部245は、CPU911などの処理装置を用いて、入力した接続応答情報から、アプリケーションサーバ装置300の電子署名を取得する。
接続応答検証部245は、CPU911などの処理装置を用いて、S86で取得した電子署名を検証する。
すなわち、接続応答検証部245は、CPU911などの処理装置を用いて、電子署名を、アプリケーションサーバ装置300の公開鍵で復号し、送受信記録のハッシュ値を取得する。接続応答検証部245は、CPU911などの処理装置を用いて、自身の送受信記録からハッシュ値を算出し、一致するか否かを判断する。
ハッシュ値が一致していれば、アプリケーションサーバ装置300の送受信記録と、小型機器200の送受信記録とが一致し、第三者による改竄がないものと判断する。
これにより、ゲートウェイ装置100が公開鍵証明書を置き換えた以外には、小型機器200とアプリケーションサーバ装置300との間で送受信した情報が、第三者による改竄を受けていないことを確認することができる。
公開鍵証明書は、信頼できる認証局が発行したものであれば、その内容を信頼することができるので、必ずしも、小型機器200またはアプリケーションサーバ装置300が送信した公開鍵証明書と同一の公開鍵証明書でなくてもよい。
ゲートウェイ装置100が置き換えることができるのは、公開鍵証明書だけであるから、小型機器200またはアプリケーションサーバ装置300がゲートウェイ装置100を信頼していない場合であっても、通信の安全を保証できる。
第二の形式の公開鍵証明書は、第一の形式の公開鍵証明書を、付加情報として含むことを特徴とする。
この実施の形態におけるゲートウェイ装置100(中継装置)によれば、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)から受信した第一の形式の公開鍵証明書の代わりに、第二の通信機器(小型機器200及びアプリケーションサーバ装置300)に対して送信する第二の形式の公開鍵証明書に、もとの第一の形式の公開鍵証明書が含まれているので、第三者による改竄だけを検出することができるという効果を奏する。
この実施の形態における証明書サーバ装置500は、
CPU911などの処理装置と、中継装置(ゲートウェイ装置100)と通信する通信装置915と、証明書検索要求受信部511と、証明書データベース記憶部512と、証明書検索部513と、証明書検索結果送信部514とを有することを特徴とする。
証明書データベース記憶部512は、
識別名762により識別される所有者が、公開鍵763の所有者であることを証明する第一の形式の公開鍵証明書750を付加情報(エクステンション715)に含み、識別名712により識別される上記所有者と同一の所有者が、上記公開鍵763と同一の公開鍵713の所有者であることを証明する第二の形式の公開鍵証明書700を記憶することを特徴とする。
証明書検索要求受信部511は、
通信装置915を用いて、中継装置(ゲートウェイ装置100)が送信した公開鍵証明書750を含む証明書検索要求情報を受信し、
CPU911などの処理装置を用いて、受信した証明書検索要求情報を出力することを特徴とする。
証明書検索部513は、
CPU911などの処理装置を用いて、証明書検索要求受信部511が出力した証明書検索要求情報を入力し、
CPU911などの処理装置を用いて、入力した証明書検索要求情報に含まれる公開鍵証明書750を取得し、
CPU911などの処理装置を用いて、証明書データベース記憶部512を検索して、取得した公開鍵証明書750を付加情報(エクステンション715)に含む公開鍵証明書700を取得し、
CPU911などの処理装置を用いて、取得した公開鍵証明書700を出力することを特徴とする。
証明書検索結果送信部514は、
CPU911などの処理装置を用いて、証明書検索部513が出力した公開鍵証明書700を入力し、
通信装置915を用いて、入力した公開鍵証明書700を、中継装置(ゲートウェイ装置100)に対して送信することを特徴とする。
この実施の形態における証明書サーバ装置500によれば、ゲートウェイ装置100から受信した公開鍵証明書に対応し、受信した公開鍵証明書を含む公開鍵証明書を、証明書検索部513が検索し、証明書検索結果送信部514がゲートウェイ装置100に対して送信するので、ゲートウェイ装置100が公開鍵証明書を置き換えても、第一の通信機器(アプリケーションサーバ装置300及び小型機器200)と第二の通信機器(小型機器200及びアプリケーションサーバ装置300)との間の通信が第三者に改竄されているか否かを検出することができるという効果を奏する。
この実施の形態におけるアプリケーションサーバ装置300(第二の通信機器)は、
CPU911などの処理装置と、中継装置(ゲートウェイ装置100)を介して第一の通信装置(小型機器200)と通信する通信装置915と、共通鍵生成部324と、接続応答生成部343と、暗号化部361と、接続応答送信部344とを有することを特徴とする。
共通鍵生成部324は、
CPU911などの処理装置を用いて、第一の通信機器(小型機器200)と共有する共通鍵を生成し、
CPU911などの処理装置を用いて、生成した共通鍵を出力することを特徴とする。
接続応答生成部343は、
CPU911などの処理装置を用いて、第一の通信機器(小型機器200)との間の送受信記録を取得し、
CPU911などの処理装置を用いて、取得した送受信記録のなかから、受信した第二の形式の公開鍵証明書700を抽出し、
CPU911などの処理装置を用いて、抽出した第二の形式の公開鍵証明書700の付加情報(エクステンション715)に含まれる第一の形式の公開鍵証明書750を取得し、
CPU911などの処理装置を用いて、取得した送受信記録に含まれる第二の形式の公開鍵証明書700を、取得した第一の形式の公開鍵証明書750で置き換え、
CPU911などの処理装置を用いて、置き換えた送受信記録に対する電子署名を生成し、
CPU911などの処理装置を用いて、生成した電子署名を含む接続応答情報を生成し、
CPU911などの処理装置を用いて、生成した接続応答情報を出力することを特徴とする。
暗号化部361は、
CPU911などの処理装置を用いて、共通鍵生成部324が出力した共通鍵と、接続応答生成部343が出力した接続応答情報とを入力し、
CPU911などの処理装置を用いて、入力した接続応答情報を、入力した共通鍵で暗号化し、
CPU911などの処理装置を用いて、暗号化した接続応答情報を出力することを特徴とする。
接続応答送信部344は、
CPU911などの処理装置を用いて、暗号化部361が出力した接続応答情報を入力し、
通信装置915を用いて、入力した接続応答情報を、第一の通信機器(小型機器200)に対して送信することを特徴とする。
この実施の形態におけるアプリケーションサーバ装置300によれば、受信した公開鍵証明書700の付加情報(エクステンション715)に公開鍵証明書750が含まれている場合に、送受信記録に含まれる公開鍵証明書700を公開鍵証明書750で置き換えてから、第三者による改竄がないかを検証するための電子署名を生成するので、ゲートウェイ装置100による公開鍵証明書の置換は検出せず、第三者による改竄だけを検出することができるという効果を奏する。
この実施の形態における小型機器200(第一の通信機器)は、
CPU911などの処理装置と、中継装置(ゲートウェイ装置100)を介して第二の通信機器(アプリケーションサーバ装置300)と通信する通信装置915と、共通鍵生成部224と、接続応答受信部241と、復号部242と、接続応答検証部245とを有することを特徴とする。
共通鍵生成部224は、
CPU911などの処理装置を用いて、第二の通信機器(アプリケーションサーバ装置300)と共有する共通鍵を生成し、
CPU911などの処理装置を用いて、生成した共通鍵を出力することを特徴とする。
接続応答受信部241は、
通信装置915を用いて、第二の通信機器(アプリケーションサーバ装置300)が送信した接続応答情報を受信し、
CPU911などの処理装置を用いて、受信した接続応答情報を出力することを特徴とする。
復号部242は、
CPU911などの処理装置を用いて、共通鍵生成部224が出力した共通鍵と、接続応答受信部241が出力した接続応答情報とを入力し、
CPU911などの処理装置を用いて、入力した接続応答情報を、入力した共通鍵で復号し、
CPU911などの処理装置を用いて、復号した接続応答情報を出力することを特徴とする。
接続応答検証部245は、
CPU911などの処理装置を用いて、第二の通信機器(アプリケーションサーバ装置300)との間の送受信記録を取得し、
CPU911などの処理装置を用いて、取得した送受信記録のなかから、受信した第二の形式の公開鍵証明書700を抽出し、
CPU911などの処理装置を用いて、抽出した第二の形式の公開鍵証明書700の付加情報(エクステンション715)に含まれる第一の形式の公開鍵証明書750を取得し、
CPU911などの処理装置を用いて、取得した送受信記録に含まれる第二の形式の公開鍵証明書700を、取得した第一の形式の公開鍵証明書750で置き換え、
CPU911などの処理装置を用いて、復号部242が出力した接続応答情報を入力し、
CPU911などの処理装置を用いて、入力した接続応答情報から、アプリケーションサーバ装置300が生成した電子署名を取得し、
CPU911などの処理装置を用いて、取得した電子署名が、置き換えた送受信記録に対するものであるかを検証することを特徴とする。
この実施の形態における小型機器200(第一の通信機器)によれば、受信した公開鍵証明書700の付加情報(エクステンション715)に公開鍵証明書750が含まれている場合に、送受信記録に含まれる公開鍵証明書700を公開鍵証明書750で置き換えてから、第三者による改竄がないかを検証するので、ゲートウェイ装置100による公開鍵証明書の置換は検出せず、第三者による改竄だけを検出することができるという効果を奏する。
この実施の形態における通信システム800は、
ゲートウェイ装置100(中継装置)と、小型機器200(第一の通信機器)と、アプリケーションサーバ装置300(第二の通信機器)とを有することを特徴とする。
この実施の形態における通信システム800によれば、小型機器200とアプリケーションサーバ装置300との間の通信に含まれる公開鍵証明書750を、ゲートウェイ装置100が、対応する公開鍵証明書700で置き換えるので、小型機器200とアプリケーションサーバ装置300とが相互に認証し、共通鍵を生成し、第三者による改竄を検出することができるという効果を奏する。
以上説明した公開鍵証明書700は、
エクステンション715に、対応する非X.509形式公開鍵証明書750そのものを含むことを特徴とする。
実施の形態3.
実施の形態3について、図15を用いて説明する。
この実施の形態における通信システム800の全体構成、ゲートウェイ装置100、小型機器200、アプリケーションサーバ装置300、宛先サーバ装置400のハードウェア構成及びブロック構成は、実施の形態2で説明したものと同様なので、ここでは説明を省略する。
実施の形態2において、公開鍵証明書750をエクステンション715に含む公開鍵証明書700は、認証局があらかじめ発行したものを、証明書サーバ装置500(またはゲートウェイ装置100)の証明書データベース記憶部512が記憶しておく。
この実施の形態では、証明書サーバ装置500(またはゲートウェイ装置100)に公開鍵証明書700を発行する権限があり、小型機器200及びアプリケーションサーバ装置300に信頼されている場合について説明する。
図15は、この実施の形態において、公開鍵証明書750を検証して公開鍵証明書700を発行する証明書サーバ装置500の機能ブロックの構成の一例を示すブロック構成図である。
証明書サーバ装置500は、証明書検索要求受信部511、証明書検証部515、証明書発行部516、証明書検索結果送信部514を有する。
証明書検索要求受信部511、証明書検索結果送信部514は、実施の形態2で説明したものと同様なので、ここでは説明を省略する。
証明書検証部515は、CPU911などの処理装置を用いて、証明書検索要求受信部511が出力した証明書検索要求情報を入力する。
証明書検証部515は、CPU911などの処理装置を用いて、入力した証明書検索要求情報から、公開鍵証明書700を取得する。
証明書検証部515は、CPU911などの処理装置を用いて、取得した公開鍵証明書700を検証する。
証明書発行部516は、証明書検証部515が検証に成功した場合、CPU911などの処理装置を用いて、公開鍵証明書700を生成する。
証明書発行部516が生成する公開鍵証明書700は、証明書検索要求受信部511が受信した証明書検索要求情報によって指示された形式の公開鍵証明書である。
公開鍵証明書700における認証局の識別名711は、証明書サーバ装置500を識別する情報である。
公開鍵証明書700における所有者の識別名712は、公開鍵証明書750における所有者の識別名762によって識別される所有者と同一の所有者を識別する情報であり、公開鍵証明書700の形式により、識別名762と同一である場合も、異なる場合もある。
公開鍵証明書700における所有者の公開鍵713は、公開鍵証明書750における所有者の公開鍵763と同一である。
公開鍵証明書700における有効期限714は、公開鍵証明書750における有効期限764と同一であってもよいし、有効期限764よりも短い期限であってもよい。
公開鍵証明書700は、小型機器200とアプリケーションサーバ装置300との間の今回の通信の間のみ有効であればよいので、有効期限714は、例えば、1日程度の短い期間であってもよい。
このようにして、証明書サーバ装置500は、公開鍵証明書750に対応する公開鍵証明書700を発行し、証明書検索要求情報に対する応答として、ゲートウェイ装置100に対して送信する。
これにより、あらかじめ公開鍵証明書700を発行・記憶しておく必要がないので、大量の公開鍵証明書700をあらかじめ発行・記憶しておくコストが削減される。
この実施の形態における証明書サーバ装置500は、
CPU911などの処理装置と、中継装置(ゲートウェイ装置100)と通信する通信装置915と、証明書検索要求受信部511と、証明書検証部515と、証明書発行部516と、証明書検索結果送信部514とを有することを特徴とする。
証明書検索要求受信部511は、
通信装置915を用いて、中継装置(ゲートウェイ装置100)が送信した証明書検索要求情報を受信し、
CPU911などの処理装置を用いて、受信した証明書検索要求情報を出力することを特徴とする。
証明書検証部515は、
CPU911などの処理装置を用いて、証明書検索要求受信部511が出力した証明書検索要求情報を入力し、
CPU911などの処理装置を用いて、入力した証明書検索要求情報に含まれる第一の形式の公開鍵証明書750を取得し、
CPU911などの処理装置を用いて、取得した公開鍵証明書750を検証することを特徴とする。
証明書発行部516は、
証明書検証部515が公開鍵証明書750の検証に成功した場合、CPU911などの処理装置を用いて、公開鍵証明書750を付加情報(エクステンション715)に含む公開鍵証明書700を生成し、
CPU911などの処理装置を用いて、生成した公開鍵証明書700を出力することを特徴とする。
証明書検索結果送信部514は、
CPU911などの処理装置を用いて、証明書発行部516が出力した公開鍵証明書700を入力し、
通信装置915を用いて、入力した公開鍵証明書700を、中継装置(ゲートウェイ装置100)に対して送信することを特徴とする。
この実施の形態における証明書サーバ装置500によれば、受信した公開鍵証明書750を証明書検証部515が検証し、検証に成功した場合に、受信した公開鍵証明書750を含む公開鍵証明書700を、証明書発行部516が発行するので、あらかじめ公開鍵証明書700を用意しておく必要がないという効果を奏する。
実施の形態4.
実施の形態4について、図16〜図20を用いて説明する。
図16は、この実施の形態における通信システム800の全体構成の一例を示すシステム構成図である。
通信システム800は、ネットワーク801、ネットワーク802、ゲートウェイ装置100、小型機器200、宛先サーバ装置400、証明書サーバ装置500、ブラウザ装置600を有する。
ネットワーク801、ネットワーク802、ゲートウェイ装置100、小型機器200、宛先サーバ装置400、証明書サーバ装置500は、実施の形態1〜実施の形態3で説明したものと同様なので、ここでは説明を省略する。
ブラウザ装置600は、ネットワーク802を介してゲートウェイ装置100と通信し、更に、ゲートウェイ装置100を介して小型機器200と通信する。
ブラウザ装置600は、第一の通信機器または第二の通信機器の一例である。
実施の形態1〜実施の形態3では、小型機器200がクライアントとして、ネットワーク802に接続したアプリケーションサーバ装置300にアクセスする場合について説明したが、この実施の形態では、小型機器200がサーバとしてサービスを提供し、ネットワーク802に接続したブラウザ装置600がクライアントとして小型機器200にアクセスし、小型機器200が提供するサービスを利用する場合について説明する。
図17は、この実施の形態における小型機器200の機能ブロックの構成の一例を示すブロック構成図である。
小型機器200は、接続要求受信部211、公開鍵証明書記憶部232、公開鍵証明書送信部233、証明書提示要求送信部234、公開鍵証明書受信部221、公開鍵証明書検証部222、秘密鍵記憶部223、共通鍵生成部224、接続応答生成部243、接続応答送信部244、暗号化部261、暗号文送信部262、暗号文受信部251、復号部242を有する。
小型機器200の各ブロックは、実施の形態1〜実施の形態3で説明したアプリケーションサーバ装置300の各ブロックと同様なので、ここでは説明を省略する。
次に、ブラウザ装置600について説明する。
ブラウザ装置600は、X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信が行うことができる。ブラウザ装置600は、公開鍵暗号アルゴリズムとして、例えば、ディッフィーへルマン鍵交換アルゴリズムをサポートしている。ブラウザ装置600は、例えば、小型機器200が提供するサービスに接続するWWW(World Wide Web)ブラウザを実行する。
図18は、この実施の形態におけるブラウザ装置600の機能ブロックの構成の一例を示すブロック構成図である。
ブラウザ装置600は、接続先アドレス記憶部612、接続要求送信部613、公開鍵証明書受信部621、公開鍵証明書検証部622、秘密鍵記憶部623、共通鍵生成部624、証明書提示要求受信部631、公開鍵証明書記憶部632、公開鍵証明書送信部633、接続応答受信部641、復号部642、接続応答検証部645、暗号文受信部651、暗号化部661、暗号文送信部662を有する。
ブラウザ装置600の各ブロックは、実施の形態1〜実施の形態3で説明した小型機器200の各ブロックと同様なので、ここでは説明を省略する。
図19は、この実施の形態における小型機器200とブラウザ装置600とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図(その1)である。
なお、実施の形態1で説明した通信路確立処理と共通する処理については、共通の符号を付す。
ブラウザ装置600は、S21において、接続要求送信部613が、通信装置915を用いて、小型機器200に対する接続要求情報を送信する。
すなわち、ブラウザ装置600は、ゲートウェイ装置100に対して小型機器200とのX.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信の接続を要求する。
ゲートウェイ装置100は、S01において、接続要求受信部111が、通信装置915を用いて、S21でブラウザ装置600が送信した接続要求情報を受信する。
接続要求受信部111は、CPU911などの処理装置を用いて、受信した接続要求情報を出力する。
S02において、接続先アドレス変換部112は、CPU911などの処理装置を用いて、S01で接続要求受信部111が出力した接続要求情報を入力する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、入力した接続要求情報から、送信先(小型機器200)を示すアドレス情報を取得する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、取得したアドレス情報を含む宛先検索要求情報を生成する。
接続先アドレス変換部112は、通信装置915を用いて、生成した宛先検索要求情報を、宛先サーバ装置400に対して送信する。
接続先アドレス変換部112は、通信装置915を用いて、送信した宛先検索要求情報に対する応答として、宛先サーバ装置400が送信した宛先検索結果情報を受信する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、受信した宛先検索結果情報から、ネットワーク801のアドレス体系において小型機器200を示すアドレス情報を取得する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、取得したアドレス情報を送信先として付加した接続要求情報を生成する。
接続先アドレス変換部112は、CPU911などの処理装置を用いて、生成した接続要求情報を出力する。
なお、ゲートウェイ装置100が宛先テーブル記憶部412を有している場合には、宛先サーバ装置400に問い合わせず、接続先アドレス変換部112が宛先テーブル記憶部412を検索して、アドレス情報を変換してもよい。
S03において、接続要求送信部113は、CPU911などの処理装置を用いて、S02で接続先アドレス変換部112が出力した接続要求情報を入力する。
接続要求送信部113は、通信装置915を用いて、入力した接続要求情報を、小型機器200に対して送信する。
すなわち、ゲートウェイ装置100は、小型機器200に対して非X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信の接続を要求する。
小型機器200は、S31において、接続要求受信部211が、通信装置915を用いて、S03でゲートウェイ装置100が送信した接続要求情報を受信する。
S32において、公開鍵証明書送信部233は、S31で受信した接続要求情報に対する応答として、通信装置915を用いて、小型機器200の公開鍵証明書を送信する。
すなわち、小型機器200は、ゲートウェイ装置100からの接続要求を受けて、ブラウザ装置600との暗号通信を確立するために、小型機器200の非X.509形式公開鍵証明書をゲートウェイ装置100に送付する。
ゲートウェイ装置100は、S04において、公開鍵証明書受信部121が、通信装置915を用いて、S32で小型機器200が送信した公開鍵証明書を受信する。
公開鍵証明書受信部121は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
S05において、公開鍵証明書取得部122は、CPU911などの処理装置を用いて、S04で公開鍵証明書受信部121が出力した公開鍵証明書を入力する。
公開鍵証明書取得部122は、CPU911などの処理装置を用いて、入力した公開鍵証明書から、公開鍵の所有者の識別名と、公開鍵とを取得する。
公開鍵証明書取得部122は、CPU911などの処理装置を用いて、取得した識別名と公開鍵とを含む証明書検索要求情報を生成する。
公開鍵証明書取得部122は、通信装置915を用いて、生成した証明書検索要求情報を、証明書サーバ装置500に対して送信する。
すなわち、ゲートウェイ装置100は、小型機器200から受け取った非X.509形式公開鍵証明書をもとに、小型機器200の非X.509形式公開鍵証明書に設定されているものと同一の公開鍵が設定されたマッピング公開鍵証明書(X.509形式公開鍵証明書)の検索を、証明書サーバ装置500に要求する。
証明書サーバ装置500は、ゲートウェイ装置100から受け取ったマッピング公開鍵証明書取得要求にしたがって、小型機器200の公開鍵が設定されたX.509形式公開鍵証明書を検索し、その結果を応答する。検索されたX.509形式公開鍵証明書には、小型機器200の識別子が公開鍵証明書の所有者名として設定されている。
公開鍵証明書取得部122は、通信装置915を用いて、送信した証明書検索要求情報に対する応答として、証明書サーバ装置500が送信した公開鍵証明書を受信する。
公開鍵証明書取得部122は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
なお、ゲートウェイ装置100が証明書データベース記憶部512を有している場合には、証明書サーバ装置500に問い合わせず、公開鍵証明書取得部122が証明書データベース記憶部512を検索して、公開鍵証明書を取得してもよい。
また、証明書サーバ装置500に対して送信する証明書検索要求情報は、公開鍵証明書取得部122が入力した公開鍵証明書そのものを含んでいてもよい。
S06において、公開鍵証明書送信部133は、CPU911などの処理装置を用いて、S05で公開鍵証明書取得部122が出力した公開鍵証明書を入力する。
公開鍵証明書送信部133は、通信装置915を用いて、入力した公開鍵証明書を、ブラウザ装置600に対して送信する。
すなわち、ゲートウェイ装置100は、証明書サーバ装置500から受け取った小型機器200のマッピング公開鍵証明書を、ブラウザ装置600と小型機器200との間で暗号通信を確立させるためにブラウザ装置600に送付する。
ブラウザ装置600は、S22において、公開鍵証明書受信部621が、通信装置915を用いて、S06でゲートウェイ装置100が送信した公開鍵証明書を受信する。
公開鍵証明書受信部621は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
S23において、公開鍵証明書検証部622は、CPU911などの処理装置を用いて、S22で公開鍵証明書受信部621が出力した公開鍵証明書を入力する。
公開鍵証明書検証部622は、CPU911などの処理装置を用いて、入力した公開鍵証明書を検証する。
すなわち、ブラウザ装置600は、ゲートウェイ装置100から受け取ったマッピング公開鍵証明書を証明書検証する。マッピング公開鍵証明書を検証するために使用する信頼点は、ブラウザ装置600内にあらかじめ設定されているX.509形式公開鍵証明書である。
検証に成功した場合、公開鍵証明書検証部622は、CPU911などの処理装置を用いて、入力した公開鍵証明書から取得した公開鍵を出力する。
小型機器200は、S33において、証明書提示要求送信部234が、通信装置915を用いて、ブラウザ装置600に対する証明書提示要求情報を送信する。
すなわち、小型機器200は、ブラウザ装置600との暗号通信を確立するために、ブラウザ装置600の非X.509形式公開鍵証明書を、ゲートウェイ装置100に要求する。
ゲートウェイ装置100は、S07において、証明書提示要求受信部131が、通信装置915を用いて、S33で小型機器200が送信した証明書提示要求情報を受信する。
証明書提示要求受信部131は、CPU911などの処理装置を用いて、受信した証明書提示要求情報を出力する。
S08において、証明書提示要求送信部134は、CPU911などの処理装置を用いて、S07で証明書提示要求受信部131が出力した証明書提示要求情報を入力する。
証明書提示要求送信部134は、通信装置915を用いて、入力した証明書提示要求情報を、ブラウザ装置600に対して送信する。
すなわち、ゲートウェイ装置100は、小型機器200からの要求にしたがって、ブラウザ装置600に対してブラウザ装置600の公開鍵が設定されたX.509形式公開鍵証明書を要求する。
ブラウザ装置600は、S24において、証明書提示要求受信部631が、通信装置915を用いて、S08でゲートウェイ装置100が送信した証明書提示要求情報を受信する。
S25において、公開鍵証明書送信部633は、通信装置915を用いて、S24で証明書提示要求受信部631が受信した証明書提示要求情報に対する応答として、ブラウザ装置600の公開鍵証明書を送信する。
すなわち、ブラウザ装置600は、ゲートウェイ装置100からの要求にしたがって、ブラウザ装置600の公開鍵が設定された、ブラウザ装置600のX.509形式公開鍵証明書をゲートウェイ装置100に応答する。
ゲートウェイ装置100は、S09において、公開鍵証明書受信部121が、通信装置915を用いて、S25でブラウザ装置600が送信した公開鍵証明書を受信する。
公開鍵証明書受信部121は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
以下、図20へ続く。
図20は、この実施の形態における小型機器200とブラウザ装置600とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図(その2)である。
ゲートウェイ装置100は、S10において、公開鍵証明書取得部122が、CPU911などの処理装置を用いて、S09で公開鍵証明書受信部121が出力した公開鍵証明書を入力する。
公開鍵証明書取得部122は、証明書サーバ装置500に問い合わせるなどして、対応する公開鍵証明書を取得する。
公開鍵証明書取得部122は、CPU911などの処理装置を用いて、取得した公開鍵証明書を出力する。
すなわち、ゲートウェイ装置100は、ブラウザ装置600から受け取ったX.509形式公開鍵証明書をもとに、ブラウザ装置600のX.509形式公開鍵証明書に設定されているものと同一の公開鍵が設定された逆マッピング公開鍵証明書(非X.509形式公開鍵証明書)の検索を、証明書サーバ装置500に要求する。
証明書サーバ装置500は、ゲートウェイ装置100から受け取った逆マッピング公開鍵証明書取得要求にしたがって、ブラウザ装置600の公開鍵が設定された非X.509形式公開鍵証明書を検索し、その結果を応答する。検索された非X.509形式公開鍵証明書には、小型機器200とゲートウェイ装置100との間で使用されている、非X.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用されるブラウザ装置600の仮想的なアドレスが、公開鍵証明書の所有者名として設定されている。
S11において、公開鍵証明書送信部133は、CPU911などの処理装置を用いて、S10で公開鍵証明書取得部122が出力した公開鍵証明書を入力する。
公開鍵証明書送信部133は、通信装置915を用いて、入力した公開鍵証明書を、小型機器200に対して送信する。
すなわち、ゲートウェイ装置100は、ブラウザ装置600の公開鍵が設定された非X.509形式公開鍵証明書を、小型機器200に応答する。
小型機器200は、S34において、公開鍵証明書受信部221が、通信装置915を用いて、S11でゲートウェイ装置100が送信した公開鍵証明書を受信する。
公開鍵証明書受信部221は、CPU911などの処理装置を用いて、受信した公開鍵証明書を出力する。
S35において、公開鍵証明書検証部222は、CPU911などの処理装置を用いて、S34で公開鍵証明書受信部221が出力した公開鍵証明書を入力する。
公開鍵証明書検証部222は、CPU911などの処理装置を用いて、入力した公開鍵証明書を検証する。
すなわち、小型機器200は、ゲートウェイ装置100から受け取ったブラウザ装置600の逆マッピング公開鍵証明書を証明書検証する。逆マッピング公開鍵証明書を検証するために使用する信頼点は、小型機器200内にあらかじめ設定されている非X.509形式公開鍵証明書である。
検証に成功した場合、公開鍵証明書検証部222は、CPU911などの処理装置を用いて、入力した公開鍵証明書から取得した公開鍵を出力する。
ブラウザ装置600は、S26において、共通鍵生成部624が、CPU911などの処理装置を用いて、共通鍵を生成する。
小型機器200は、S36において、共通鍵生成部624が、CPU911などの処理装置を用いて、共通鍵を生成する。
小型機器200は、S37において、接続応答送信部244が、通信装置915を用いて、接続応答情報を送信する。
接続応答情報は、S36で共通鍵生成部224が生成した共通鍵で暗号化されている。
すなわち、小型機器200は、ブラウザ装置600の逆マッピング公開鍵証明書の検証に成功し、接続が完了した旨をゲートウェイ装置100に応答する。
ゲートウェイ装置100は、S12において、暗号文受信部151が、通信装置915を用いて、S37で小型機器200が送信した接続応答情報を受信する。
暗号文受信部151は、CPU911などの処理装置を用いて、受信した接続応答情報を出力する。
すなわち、ゲートウェイ装置100は、小型機器200からの接続応答にしたがって、ブラウザ装置600に接続応答をする。
S13において、暗号文送信部162は、CPU911などの処理装置を用いて、S12で暗号文受信部151が出力した接続応答情報を入力する。
暗号文送信部162は、通信装置915を用いて、入力した接続応答情報を、ブラウザ装置600に対して送信する。
ブラウザ装置600は、S27において、接続応答受信部641が、通信装置915を用いて、S13でゲートウェイ装置100が送信した接続応答情報を受信する。
復号部642は、CPU911などの処理装置を用いて、受信した接続応答情報を、S26で共通鍵生成部624が生成した共通鍵で復号する。
S28において、接続応答検証部645は、CPU911などの処理装置を用いて、S27で復号部642が復号した接続応答情報を検証する。
検証に成功した場合、小型機器200とブラウザ装置600とが同一の共通鍵を生成したことが確認される。
ここまでの処理により、小型機器200とブラウザ装置600とが相互認証し、同一の共通鍵(セッション鍵)を共有して、暗号通信の準備が整う。
その後、S29・S14・S38において、確立した安全な通信路を用いて、実際に暗号通信を実行する。
このとき、ゲートウェイ装置100は、小型機器200とブラウザ装置600との間の通信を中継するが、共通鍵を有していないので、通信の内容を知ることはできない。
このようにして、X.509形式公開鍵証明書を用いた暗号通信にのみ対応しているブラウザ装置600が、マッピング証明書を使用して、非X.509形式公開鍵証明書を用いた暗号通信にのみ対応している小型機器200と暗号通信を開始する。
以上のように、小型機器200がX.509形式公開鍵証明書が取り扱えなくても、あらかじめ小型機器200のマッピング公開鍵証明書、ブラウザ装置600の逆マッピング公開鍵証明書を用意しておけば、小型機器200とX.509形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信をサポートしたブラウザ装置600との間で暗号通信が行える。したがって、一般的なブラウザ装置600からX.509形式公開鍵証明書を取り扱えない小型機器200によって提供されているサービスを利用することができる。
このように、小型機器200がサーバとして機能する場合でも、ゲートウェイ装置100が、公開鍵証明書を相手が検証できる形式のもので置き換えることにより、小型機器200とブラウザ装置600との間で相互認証ができ、共通鍵を共有することができる。
これにより、検証できる公開鍵証明書の形式が互いに異なる装置の間で、暗号化された通信路を確立し、第三者による盗聴や改竄を受けない安全な通信を実現することができる。
実施の形態1における通信システム800の全体構成の一例を示すシステム構成図。 実施の形態1におけるゲートウェイ装置100、アプリケーションサーバ装置300、宛先サーバ装置400、証明書サーバ装置500の外観の一例を示す図。 実施の形態1におけるゲートウェイ装置100、小型機器200、アプリケーションサーバ装置300、宛先サーバ装置400、証明書サーバ装置500のハードウェア資源の一例を示す図。 実施の形態1における小型機器200の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1におけるアプリケーションサーバ装置300の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1におけるゲートウェイ装置100の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1における宛先サーバ装置400の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1における証明書サーバ装置500の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1における小型機器200とアプリケーションサーバ装置300とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図。 実施の形態1における小型機器200とアプリケーションサーバ装置300とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図。 実施の形態2における証明書データベース記憶部512が記憶する公開鍵証明書の一例を示す図。 実施の形態2における公開鍵証明書取得部122が公開鍵証明書を取得する公開鍵証明書取得処理の流れの一例を示すフローチャート図。 実施の形態2におけるアプリケーションサーバ装置300が接続応答情報を生成する接続応答情報生成処理の流れの一例を示すフローチャート図。 実施の形態2における小型機器200が接続応答情報を検証する接続応答検証処理の流れの一例を示すフローチャート図。 実施の形態3において、公開鍵証明書750を検証して公開鍵証明書700を発行する証明書サーバ装置500の機能ブロックの構成の一例を示すブロック構成図。 実施の形態4における通信システム800の全体構成の一例を示すシステム構成図。 実施の形態4における小型機器200の機能ブロックの構成の一例を示すブロック構成図。 実施の形態4におけるブラウザ装置600の機能ブロックの構成の一例を示すブロック構成図。 実施の形態4における小型機器200とブラウザ装置600とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図。 実施の形態4における小型機器200とブラウザ装置600とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図。
符号の説明
100 ゲートウェイ装置、111,211,311 接続要求受信部、112 接続先アドレス変換部、113,213,613 接続要求送信部、121,221,321,621 公開鍵証明書受信部、122 公開鍵証明書取得部、131,231,631 証明書提示要求受信部、133,233,333,633 公開鍵証明書送信部、134,234,334 証明書提示要求送信部、151,251,351,651 暗号文受信部、162,262,362,662 暗号文送信部、200 小型機器、212,612 接続先アドレス記憶部、222,322,622 公開鍵証明書検証部、223,323,623 秘密鍵記憶部、224,324,624 共通鍵生成部、232,332,632 公開鍵証明書記憶部、241,641 接続応答受信部、242,342,642 復号部、243,343 接続応答生成部、244,344 接続応答送信部、245,645 接続応答検証部、261,361,661 暗号化部、300 アプリケーションサーバ装置、400 宛先サーバ装置、411 宛先検索要求受信部、412 宛先テーブル記憶部、413 宛先検索部、414 宛先検索結果送信部、500 証明書サーバ装置、511 証明書検索要求受信部、512 証明書データベース記憶部、513 証明書検索部、514 証明書検索結果送信部、515 証明書検証部、516 証明書発行部、600 ブラウザ装置、700,750 公開鍵証明書、710,760 証明内容情報、711,712,761,762 識別名、713,763 公開鍵、714,764 有効期限、715,765 エクステンション、720,770 電子署名、800 通信システム、801,802 ネットワーク、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。

Claims (10)

  1. 情報を処理する処理装置と、第一の通信機器及び第二の通信機器と通信する通信装置と、第一証明書受信部と、第二証明書取得部と、第二証明書送信部とを有し、
    上記第一証明書受信部は、
    上記通信装置を用いて、上記第一の通信機器が送信した第一の形式の公開鍵証明書である情報を受信し、上記処理装置を用いて、受信した第一の形式の公開鍵証明書を出力し、
    上記第二証明書取得部は、
    上記処理装置を用いて、上記第一証明書受信部が出力した第一の形式の公開鍵証明書を入力し、上記処理装置を用いて、入力した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書である情報を取得し、上記処理装置を用いて、取得した第二の形式の公開鍵証明書を出力し、
    上記第二証明書送信部は、
    上記処理装置を用いて、上記第二証明書取得部が出力した第二の形式の公開鍵証明書を入力し、上記通信装置を用いて、入力した第二の形式の公開鍵証明書を、上記第二の通信機器に対して送信する
    ことを特徴とする中継装置。
  2. 上記中継装置は、更に、
    情報を記憶する記憶装置と、証明書データベース記憶部とを有し、
    上記証明書データベース記憶部は、
    上記記憶装置を用いて、第一の形式の公開鍵証明書において、公開鍵の所有者を示す情報と、上記所有者と同一の所有者が公開鍵の所有者であることを証明する第二の形式の公開鍵証明書とを対応づけて記憶し、
    上記第二証明書取得部は、
    上記処理装置を用いて、入力した第一の形式の公開鍵証明書に基づいて、公開鍵の所有者を示す情報と、上記所有者が所有する公開鍵である情報とを取得し、上記処理装置を用いて、上記証明書データベース記憶部が記憶した情報に基づいて、取得した情報が示す所有者と同一の所有者が、取得した公開鍵と同一の公開鍵の所有者であることを証明する第二の形式の公開鍵証明書を取得する
    ことを特徴とする請求項1に記載の中継装置。
  3. 上記通信装置は、更に、
    第一の形式の公開鍵証明書と第二の形式の公開鍵証明書との対応関係を記憶した証明書サーバ装置と通信し、
    上記第二証明書取得部は、
    上記通信装置を用いて、入力した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書の検索を、上記証明書サーバ装置に対して要求する証明書検索要求情報を、上記証明書サーバ装置に対して送信し、上記通信装置を用いて、送信した証明書検索要求情報に対する応答として、上記証明書サーバ装置が送信した第二の形式の公開鍵証明書を受信することにより、第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を取得する
    ことを特徴とする請求項1に記載の中継装置。
  4. 上記第一の形式の公開鍵証明書は、X.509形式の公開鍵証明書であり、
    上記第二の形式の公開鍵証明書は、X.509形式以外の形式の公開鍵証明書であることを特徴とする請求項1に記載の中継装置。
  5. 上記第一の形式の公開鍵証明書は、X.509形式以外の形式の公開鍵証明書であり、
    上記第二の形式の公開鍵証明書は、X.509形式の公開鍵証明書であることを特徴とする請求項1に記載の中継装置。
  6. 上記第一の形式の公開鍵証明書は、所定のアドレス体系において通信機器を識別するアドレス情報を、公開鍵の所有者を示す情報として含み、
    上記第二の形式の公開鍵証明書は、上記所定のアドレス体系と異なるアドレス体系において通信機器を識別するアドレス情報を、公開鍵の所有者を示す情報として含むことを特徴とする請求項1に記載の中継装置。
  7. 上記第二の形式の公開鍵証明書は、上記第一の形式の公開鍵証明書を、付加情報として含むことを特徴とする請求項1に記載の中継装置。
  8. 請求項1に記載の中継装置を備えることを特徴とする通信システム。
  9. 情報を処理する処理装置と、第一の通信機器及び第二の通信機器と通信する通信装置とを有する中継装置が、上記第一の通信機器と上記第二の通信機器との間の通信を中継する中継方法において、
    上記通信装置が、上記第一の通信機器が送信した第一の形式の公開鍵証明書である情報を受信し、
    上記処理装置が、上記通信装置が受信した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書である情報を取得し、
    上記通信装置が、上記処理装置が取得した第二の形式の公開鍵証明書を、上記第二の通信機器に対して送信する
    ことを特徴とする中継方法。
  10. 情報を処理する処理装置と、第一の通信機器及び第二の通信機器と通信する通信装置とを有するコンピュータを、請求項1に記載の中継装置として機能させることを特徴とするプログラム。
JP2006292525A 2006-10-27 2006-10-27 中継装置及び通信システム及び中継方法及びプログラム Pending JP2008109569A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006292525A JP2008109569A (ja) 2006-10-27 2006-10-27 中継装置及び通信システム及び中継方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006292525A JP2008109569A (ja) 2006-10-27 2006-10-27 中継装置及び通信システム及び中継方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2008109569A true JP2008109569A (ja) 2008-05-08

Family

ID=39442533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006292525A Pending JP2008109569A (ja) 2006-10-27 2006-10-27 中継装置及び通信システム及び中継方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2008109569A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011244213A (ja) * 2010-05-18 2011-12-01 Nec Corp 公開鍵証明書検証処理システム
WO2020044666A1 (ja) * 2018-08-28 2020-03-05 パナソニックIpマネジメント株式会社 証明書生成方法、証明書生成装置およびコンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011244213A (ja) * 2010-05-18 2011-12-01 Nec Corp 公開鍵証明書検証処理システム
WO2020044666A1 (ja) * 2018-08-28 2020-03-05 パナソニックIpマネジメント株式会社 証明書生成方法、証明書生成装置およびコンピュータプログラム

Similar Documents

Publication Publication Date Title
KR101265873B1 (ko) 분산된 단일 서명 서비스 방법
RU2437229C2 (ru) Способ и устройство для совместного использования секретной информации устройствами в домашней сети
US8340283B2 (en) Method and system for a PKI-based delegation process
KR101054970B1 (ko) 개인 정보를 포함하는 전자 증명서를 이용하여 통신 상대를 인증하기 위한 시스템, 장치, 방법, 및 컴퓨터 판독 가능한 기록 매체
JP4617763B2 (ja) 機器認証システム、機器認証サーバ、端末機器、機器認証方法、および機器認証プログラム
JP4600851B2 (ja) コンピュータシステム間でメッセージを通信するための安全なコンテキストの確立
US8291231B2 (en) Common key setting method, relay apparatus, and program
US7627905B2 (en) Content transfer system, content transfer method, content transmitting apparatus, content transmission method, content receiving apparatus, content reception method, and computer program
US20030070069A1 (en) Authentication module for an enterprise access management system
KR100739245B1 (ko) 정보 처리 장치, 정보 처리 방법 및 기억 매체
US20060126848A1 (en) Key authentication/service system and method using one-time authentication code
KR20060045440A (ko) 패스워드 보호 비밀 데이터의 노출 없이 통신 네트워크을통해 이 비밀 데이터를 복구하는 방법 및 시스템
KR101452708B1 (ko) Ce 장치 관리 서버, ce 장치 관리 서버를 이용한drm 키 발급 방법, 및 그 방법을 실행하기 위한프로그램 기록매체
JP2005303485A (ja) 暗号化通信のための鍵配付方法及びシステム
JP2015115893A (ja) 通信方法、通信プログラム、および中継装置
JP4332071B2 (ja) クライアント端末、ゲートウエイ装置、及びこれらを備えたネットワークシステム
JP2012181662A (ja) アカウント情報連携システム
KR100890720B1 (ko) 웹 콘텐츠를 선택적으로 암호화하는 방법 및 그러한 방법을수행하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체
US20090254756A1 (en) Data communication method
JP4068877B2 (ja) ディジタル・コンテンツ・システム
JP4552785B2 (ja) 暗号化通信管理サーバ
JP2008109569A (ja) 中継装置及び通信システム及び中継方法及びプログラム
JP2006186807A (ja) 通信支援サーバ、通信支援方法、および通信支援システム
JP2010028689A (ja) 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム
JP4631869B2 (ja) 暗号化通信のための鍵配付方法及びシステム