(57)【要約】【課題】複数の情報処理装置の各々でアプリケーションプログラムが実行される場合に、両者間の認証を速やかにかつ確実に行なうことができる通信制御方法、通信制御プログラムおよび情報処理装置を提供する。【解決手段】接続依頼元は、認証指示メッセージに従って、入力データをアプリケーション１に入力し（ステップＳ６）、処理指示に従って処理を実行する（ステップＳ８）。そして、接続依頼元は、認証指示メッセージに含まれる計算エリア指定指示に従い、メモリ上の特定位置の値を抽出し、特定識別値を生成する（ステップＳ１０）。接続依頼元は、特定識別値に自己の署名を施して暗号識別値を生成する（ステップＳ１２）。接続依頼先は、接続依頼元の特定識別値と、自己の生成した特定識別値とを比較し（ステップＳ２６）、両者の一致／不一致に基づいて、接続許否を判定する（ステップＳ２８）。【選択図】図４
2009246459.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置と第２の情報処理装置との間での通信を制御する通信制御方法であって、
前記第２の情報処理装置が、処理指示およびメモリエリア指示を含むメッセージを前記第１の情報処理装置へ送信するステップと、
前記第１の情報処理装置が、第１のアプリケーションプログラムで前記処理指示に従って処理を実行した結果を第１のメモリに出力するステップと、
前記第１の情報処理装置が、前記第１のメモリのうち前記メモリエリア指示の範囲にある値から第１の識別値を生成するステップと、
前記第１の情報処理装置が、前記第１の識別値を前記第２の情報処理装置に送信するステップと、
前記第２の情報処理装置が、第２のアプリケーションプログラムで前記処理指示に従って処理を実行した結果を第２のメモリに出力するステップと、
前記第２の情報処理装置が、前記第２のメモリのうち前記メモリエリア指示の範囲にある値から第２の識別値を生成するステップと、
前記第２の情報処理装置が、前記第１の情報処理装置から受信した前記第１の識別値を前記第２の識別値と比較し、前記第１の識別値と前記第２の識別値とが一致する場合に、前記第１の情報処理装置との接続を許可するステップとを備える、通信制御方法。
【請求項２】
前記第１の情報処理装置は、前記第１の識別値を暗号化して前記第２の情報処理装置に送信し、
前記第２の情報処理装置は、暗号化された前記第１の識別値を復号化した上で、前記第２の識別値と比較する、請求項１に記載の通信制御方法。
【請求項３】
前記第１の情報処理装置は、外部から読出し不可能に格納された秘密鍵と、当該秘密鍵に対応する公開鍵とを保持しており、
前記第１の情報処理装置は、前記秘密鍵を用いて前記第１の識別値を暗号化し、
前記第２の情報処理装置は、前記暗号化された第１の識別値を前記第１の情報処理装置の前記公開鍵を用いて復号化する、請求項２に記載の通信制御方法。
【請求項４】
前記第１の情報処理装置は、前記第１の識別値を暗号化するために認証サーバに送信するとともに、前記認証サーバから前記暗号化された第１の識別値を受信し、
前記第２の情報処理装置は、前記暗号化された第１の識別値を前記認証サーバの公開鍵を用いて復号化する、請求項２に記載の通信制御方法。
【請求項５】
前記第１の情報処理装置は、前記第１のメモリのうち前記メモリエリア指示の範囲にある値を抽出し、抽出した値を特定関数に入力することで前記第１の識別値を生成し、
前記第２の情報処理装置は、前記第２のメモリのうち前記メモリエリア指示の範囲にある値を抽出し、抽出した値を前記第１の情報処理装置と同一の特定関数に入力することで前記第２の識別値を生成する、請求項１〜４のいずれか１項に記載の通信制御方法。
【請求項６】
前記メッセージは、前記第１および第２のアプリケーションプログラムのバージョン情報を互いに比較するための処理指示を含む、請求項１〜５のいずれか１項に記載の通信制御方法。
【請求項７】
前記第２の情報処理装置は、
前記第１の情報処理装置から接続要求を受けた場合に、前記メッセージを前記第１の情報処理装置へ送信し、
前記メッセージの送信毎に、前記メッセージに含まれる前記処理指示および前記メモリエリア指示の少なくとも一方を変化させる、請求項１〜６のいずれか１項に記載の通信制御方法。
【請求項８】
他の情報処理装置との通信を制御する通信制御プログラムであって、
前記プログラムは、情報処理装置にインストールされて、前記情報処理装置に、
処理指示およびメモリエリア指示を含むメッセージを前記他の情報処理装置へ送信するステップと、
前記他の情報処理装置が第１のアプリケーションプログラムで前記処理指示に従って処理を実行した結果を第１のメモリに出力し、前記第１のメモリのうち前記メモリエリア指示の範囲にある値から生成された第１の識別値を受信するステップと、
第２のアプリケーションプログラムで前記処理指示に従って処理を実行した結果を第２のメモリに出力するステップと、
前記第２のメモリのうち前記メモリエリア指示の範囲にある値から第２の識別値を生成するステップと、
前記他の情報処理装置から受信した前記第１の識別値を前記第２の識別値と比較し、前記第１の識別値と前記第２の識別値とが一致する場合に、前記他の情報処理装置との接続を許可するステップとを実行させる、通信制御プログラム。
【請求項９】
他の情報処理装置との通信を制御可能な情報処理装置であって、
処理指示およびメモリエリア指示を含むメッセージを前記他の情報処理装置へ送信する手段と、
前記他の情報処理装置が第１のアプリケーションプログラムで前記処理指示に従って処理を実行した結果を第１のメモリに出力し、前記第１のメモリのうち前記メモリエリア指示の範囲にある値から生成された第１の識別値を受信する手段と、
第２のアプリケーションプログラムで前記処理指示に従って処理を実行した結果を第２のメモリに出力する手段と、
前記第２のメモリのうち前記メモリエリア指示の範囲にある値から第２の識別値を生成する手段と、
前記他の情報処理装置から受信した前記第１の識別値を前記第２の識別値と比較し、前記第１の識別値と前記第２の識別値とが一致する場合に、前記他の情報処理装置との接続を許可する手段とを備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御方法、通信制御プログラムおよび情報処理装置に関し、特に、通信相手先との接続の許否を安全に決定する方法に関する。
【背景技術】
【０００２】
一般的に、ユーザが、ある情報処理装置において、あるアプリケーションプログラムを実行させて、他のアプリケーションプログラムを実行する他の情報処理装置との間で通信を行なう場合、アプリケーションプログラム間の通信が安全になされることが望まれる。なぜなら、通信相手のアプリケーションプログラム（上記した他のアプリケーションプログラム）が違法に改造されていたり、あるいは接続の保証がされていない悪意のあるアプリケーションプログラムであったりした場合、当該ユーザが利用するある情報処理装置からの情報漏洩のおそれが生じるからである。
【０００３】
情報処理装置で実行されるアプリケーションプログラムの正当性を検証する手法としては、特開２００６−２０３５６４号公報（特許文献１）および特表２００４−５０９３９２号公報（特許文献２）などが開示されている。
【０００４】
特開２００６−２０３５６４号公報（特許文献１）は、サーバから送出されたプログラムをノードが実行し、実行したプログラムおよびそのプログラムの実行結果を含む結果情報をサーバに送り返すグリッドコンピューティングシステムを開示している。このシステムでは、ノードが結果情報をサーバに送り返す際に、実行後のプログラムのハッシュ値を算出してサーバに送信する。サーバでは、そのノードから受信したハッシュ値と、ノードに送出したプログラム（サーバに記憶されている）から算出したハッシュ値とが比較され、これらの一致によって、ノードによって実行されたプログラムが改ざんされたものではないことが検証されている。
【０００５】
特表２００４−５０９３９２号公報（特許文献２）は、ソフトウェア・モジュールのＰ２Ｐ（ピア・ツー・ピア）認証のために、ソフトウェア・モジュールが占有する保護されたアドレス範囲内のコードの完全性を検証するステップと、そのモジュールによって実行される関数呼出しが、前記範囲から生じ、前記範囲にリターンすることを検証するステップが実行される構成が開示されている。
【特許文献１】特開２００６−２０３５６４号公報
【特許文献２】特表２００４−５０９３９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特開２００６−２０３５６４号公報（特許文献１）に開示された従来技術は、グリッドコンピュータシステムにおいて、サーバからプログラムを複数のノードに配布し、各ノードが対応するプログラムの実行が完了した時点で、各ノードの秘密鍵を用いて、ハッシュ関数が演算されたプログラムおよびプログラムの実行結果にデジタル署名を行なうものである。この際の正当性の検証も、アプリケーションプログラム全体が対象とされていた。つまり、プログラム全体のハッシュ値が算出され、正当性の検証に用いられていた。
【０００７】
また、特表２００４−５０９３９２号公報（特許文献２）に開示された従来技術は、単一マシン（情報処理装置）上での処理を対象としたものであり、ネットワーク接続された情報処理装置間での認証を対象としたものではなく、上述のような課題を解決するものではない。
【０００８】
本発明は、係る実情に鑑み考え出されたものであり、その目的は、複数の情報処理装置の各々でアプリケーションプログラムが実行される場合に、両者間の認証を速やかにかつ確実に行なうことができる通信制御方法、通信制御プログラムおよび情報処理装置を提供することである。
【課題を解決するための手段】
【０００９】
この発明のある局面に従えば、第１の情報処理装置と第２の情報処理装置との間での通信を制御する通信制御方法を提供する。通信制御方法は、第２の情報処理装置が、処理指示およびメモリエリア指示を含むメッセージを第１の情報処理装置へ送信するステップと、第１の情報処理装置が、第１のアプリケーションプログラムで処理指示に従って処理を実行した結果を第１のメモリに出力するステップと、第１の情報処理装置が、第１のメモリのうちメモリエリア指示の範囲にある値から第１の識別値を生成するステップと、第１の情報処理装置が、第１の識別値を第２の情報処理装置に送信するステップと、第２の情報処理装置が、第２のアプリケーションプログラムで処理指示に従って処理を実行した結果を第２のメモリに出力するステップと、第２の情報処理装置が、第２のメモリのうちメモリエリア指示の範囲にある値から第２の識別値を生成するステップと、第２の情報処理装置が、第１の情報処理装置から受信した第１の識別値を第２の識別値と比較し、第１の識別値と第２の識別値とが一致する場合に、第１の情報処理装置との接続を許可するステップとを含む。
【００１０】
好ましくは、第１の情報処理装置は、第１の識別値を暗号化して第２の情報処理装置に送信し、第２の情報処理装置は、暗号化された第１の識別値を復号化した上で、第２の識別値と比較する。
【００１１】
さらに好ましくは、第１の情報処理装置は、外部から読出し不可能に格納された秘密鍵と、当該秘密鍵に対応する公開鍵とを保持しており、第１の情報処理装置は、秘密鍵を用いて第１の識別値を暗号化し、第２の情報処理装置は、暗号化された第１の識別値を第１の情報処理装置の公開鍵を用いて復号化する。
【００１２】
またさらに好ましくは、第１の情報処理装置は、第１の識別値を暗号化するために認証サーバに送信するとともに、認証サーバから暗号化された第１の識別値を受信し、第２の情報処理装置は、暗号化された第１の識別値を認証サーバの公開鍵を用いて復号化する。
【００１３】
好ましくは、第１の情報処理装置は、第１のメモリのうちメモリエリア指示の範囲にある値を抽出し、抽出した値を特定関数に入力することで第１の識別値を生成し、第２の情報処理装置は、第２のメモリのうちメモリエリア指示の範囲にある値を抽出し、抽出した値を第１の情報処理装置と同一の特定関数に入力することで第２の識別値を生成する。
【００１４】
好ましくは、メッセージは、第１および第２のアプリケーションプログラムのバージョン情報を互いに比較するための処理指示を含む。
【００１５】
好ましくは、第２の情報処理装置は、第１の情報処理装置から接続要求を受けた場合に、メッセージを第１の情報処理装置へ送信し、メッセージの送信毎に、メッセージに含まれる処理指示およびメモリエリア指示の少なくとも一方を変化させる。
【００１６】
この発明の別の局面に従えば、他の情報処理装置との通信を制御する通信制御プログラムを提供する。通信制御プログラムは、情報処理装置にインストールされて、情報処理装置に、処理指示およびメモリエリア指示を含むメッセージを他の情報処理装置へ送信するステップと、他の情報処理装置が第１のアプリケーションプログラムで処理指示に従って処理を実行した結果を第１のメモリに出力し、第１のメモリのうちメモリエリア指示の範囲にある値から生成された第１の識別値を受信するステップと、第２のアプリケーションプログラムで処理指示に従って処理を実行した結果を第２のメモリに出力するステップと、第２のメモリのうちメモリエリア指示の範囲にある値から第２の識別値を生成するステップと、他の情報処理装置から受信した第１の識別値を第２の識別値と比較し、第１の識別値と第２の識別値とが一致する場合に、他の情報処理装置との接続を許可するステップとを実行させる。
【００１７】
この発明のさらに別の局面に従えば、他の情報処理装置との通信を制御可能な情報処理装置を提供する。情報処理装置は、処理指示およびメモリエリア指示を含むメッセージを他の情報処理装置へ送信する手段と、他の情報処理装置が第１のアプリケーションプログラムで処理指示に従って処理を実行した結果を第１のメモリに出力し、第１のメモリのうちメモリエリア指示の範囲にある値から生成された第１の識別値を受信する手段と、第２のアプリケーションプログラムで処理指示に従って処理を実行した結果を第２のメモリに出力する手段と、第２のメモリのうちメモリエリア指示の範囲にある値から第２の識別値を生成する手段と、他の情報処理装置から受信した第１の識別値を第２の識別値と比較し、第１の識別値と第２の識別値とが一致する場合に、他の情報処理装置との接続を許可する手段とを含む。
【発明の効果】
【００１８】
本発明によれば、複数の情報処理装置の各々でアプリケーションプログラムが実行される場合に、両者間の認証を速やかにかつ確実に行なうことができる。
【発明を実施するための最良の形態】
【００１９】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２０】
［第１の実施の形態］
＜全体構成＞
図１は、本発明の実施の形態に従う情報処理装置を含むネットワークの構成を模式的に示す図である。
【００２１】
図１を参照して、このネットワークには、情報処理装置の代表例であるパーソナルコンピュータ（Personal Computer；以下「ＰＣ」とも称す。）２００が複数含まれている。図１では、複数のＰＣ２００が、ＰＣ（１）〜ＰＣ（ｎ）として示されている。ＰＣ２００の各々は、ネットワークケーブル３００を通じてハブ４００と接続されている。ＰＣ２００の各々は、ハブ４００およびルータ５００を介して、図示しない別のネットワークに接続されたＰＣ２００との接続も可能に構成されている。また、ＰＣ２００の各々には、当該ＰＣ２００における情報処理の結果などを表示させるためのモニタ１００が接続されている。
【００２２】
＜ハードウェア構成＞
図２は、ＰＣ２００のハードウェア構成を模式的に示す図である。
【００２３】
図２を参照して、ＰＣ２００は、当該ＰＣ２００の動作を全体的に制御するＣＰＵ（Central Processing Unit）２５０と、ＣＰＵ２５０のワークエリアとして機能するＲＡＭ（Random Access Memory）２５４と、プログラムやデータなどを記憶するＲＯＭ（Read Only Memory）２５６と、ＰＣ２００に対して情報を入力するためのキーボードなどの入力装置２６０と、他のＰＣ２００または別のネットワークとの通信を行なう通信装置２６２と、プログラムやファイルを格納するハードディスクを有するハードディスク装置（ＨＤＤ）２６４と、およびＰＣ２００に対して着脱可能な記憶媒体２５２Ａとアクセスするメディアドライブ２５２とを含む。つまり、ＰＣ２００は、入力装置２６０を介して入力された情報の入力を受付け、通信装置２６２を介して他のＰＣ２００やネットワークと接続可能であり、また、モニタ１００に当該ＰＣ２００において処理されている情報を表示させることができる。
【００２４】
また、ＣＰＵ２５０が実行するプログラムのファイルは、ＲＯＭ２５６やＨＤＤ２６４などの内蔵の記憶媒体に記憶されていてもよいし、通信装置２６２を介してアクセスする外部の記憶媒体に記憶されているものであってもよい。また、ＨＤＤ２６４のハードディスクには、メディアドライブ２５２を介して記憶媒体２５２Ａに記憶されたファイルや、通信装置２６２を介してアクセス可能となる外部の記憶装置から取得されるファイルが記憶されて、ＣＰＵ２５０はこのファイルを実行するように構成されていてもよい。
【００２５】
ＣＰＵ２５０が、アプリケーションプログラムを実行する際には、たとえば、ＨＤＤ２６４のような不揮発性の記憶媒体に記憶されたアプリケーションプログラムに基づいて、ＲＡＭ２５４にバイナリ形式のプログラムと実行動作に使用されるデータとが展開される。このようなＲＡＭ２５４に展開されたバイナリ形式のプログラム（以下「バイナリコード」とも称す。）は、ＣＰＵ２５０のハードウェア構成に依存して、ＣＰＵ２５０が直接実行することが可能な、いわゆるネイティブコードである。
【００２６】
＜機能構成＞
図３は、ＰＣ２００の機能ブロックを模式的に示す図である。
【００２７】
図３を参照して、ハブ４００（図１）を介してＰＣ２００へ送信されるデータは、データ受信部２０２において受信される。データ受信部２０２は受信したデータ（パケット）が、自機宛のパケットであるか否かを判断し、自機宛のデータであると判断すると、当該データをデータ解析部２０３に送る。データ解析部２０３は、受信されたパケットからデータを抽出し、抽出されたデータの中に処理命令が含まれていれば、エンコード／デコード部２０４、識別値作成／検証部２０５、その他処理部２０７のいずれかで処理をさせる。
【００２８】
識別値作成／検証部２０５は、ルータ５００（図１）を介して接続されている他の情報処理装置において実行されているアプリケーションプログラムとの間で通信を開始する際に、認証処理を行なう。
【００２９】
より具体的には、識別値作成／検証部２０５は、他の情報処理装置から接続依頼メッセージを受信すると、認証指示メッセージを当該依頼元の情報処理装置へ送信するとともに、自機のアプリケーションプログラムに当該認証指示メッセージに従った演算処理を実行させる。そして、識別値作成／検証部２０５は、ＲＡＭ２５４（図２）に展開されたアプリケーションプログラムのワークエリアのうち、特定の領域にある値に基づいて自己の特定識別値を生成するとともに、他の情報処理装置から受信する暗号識別値から接続依頼先の特定識別値を生成する。さらに、識別値作成／検証部２０５は、２つの暗号識別値が一致するか否かに基づいて、接続の許否を判断する。
【００３０】
このように、特定識別値は、アプリケーションプログラム間で接続の許否を判断するために用いられるデータであり、第三者による改ざんなどを防止するために、本発明に係る通信制御方法では、認証処理毎にその値が動的に変化するように構成される。また、暗号識別値は、ある特定識別値の送信元が特定の情報処理装置であることの正当性を確認するために暗号化された値であり、後述するように、送信元の情報処理装置によるデジタル署名（以下単に「署名」とも称す。）から生成される。なお、特定識別値は、認証処理毎にその値が動的に変化するため、必ずしも暗号化して送信する必要はなく、平文のまま送信してもよい。
【００３１】
また、識別値作成／検証部２０５は、他の情報処理装置へ接続依頼メッセージを送信後、当該他の情報処理装置から認証指示メッセージを受信すると、当該認証指示メッセージに従った演算処理を実行させる。そして、識別値作成／検証部２０５は、ＲＡＭ２５４（図２）に展開されたアプリケーションプログラムのワークエリアのうち、特定の領域にある値に基づいて自己の特定識別値を生成するとともに、エンコード／デコード部２０４により当該特定識別値を自己の秘密鍵を用いて署名することで暗号識別値を作成（自己署名）させる。なお、特定識別値は、指定されたメモリ領域の値をそのまま抽出した値でもよいが、指定されたメモリ領域の大きさにかかわらず、一定の大きさのデータとして出力されることが好ましい。そのため、特定識別値は、一方向性のハッシュ関数などの特定関数を用いて生成される。このハッシュ関数は、外部から読出し不能なセキュリティ領域に格納される。
【００３２】
さらに、識別値作成／検証部２０５は、当該暗号識別値を接続依頼先の情報処理装置へ送信する。なお、後述するように、認証（Certification Authority）サーバ（以下「ＣＡサーバ」とも称す。）に暗号識別値の生成（署名）を依頼してもよい。
【００３３】
上述した識別値の内容および作成方法ならびに認証方法については、後述する。
識別値作成／検証部２０５は、他の情報処理装置へメッセージを送信する場合、送信するべきデータを作成してデータ作成部２１１に送る。そして、データ作成部２１１は、受取ったデータをネットワークパケットの形に成形し、データ送信部２１２へ送る。データ送信部２１２は、データ作成部２１１が受取ったデータなどによって決定される送り先に当該パケットが送られるように、当該パケットをハブ４００へ送信する。
【００３４】
以上、図３に示したブロック構成において、各機能ブロックの機能を実現するハードウェアについては、特に限定されないが、たとえば、データ保持部２０６は、ＲＡＭ２５４およびＨＤＤ２６４によって構成される。また、エンコード／デコード部２０４、識別値作成／検証部２０５、その他処理部２０７、データ解析部２０３、データ作成部２１１は、ＨＤＤ２６４のハードディスクに記憶されたプログラムを実行するＣＰＵ２５０およびＲＡＭ２５４によって構成される。データ受信部２０２およびデータ送信部２１２は、通信装置２６２によって構成される。なお、データ保持部２０６には、不揮発性記憶装置として、ＨＤＤ２６４に加えて、あるいは、ＨＤＤ２６４に代えて、フラッシュメモリなどのような記憶装置が設けられていてもよい。
【００３５】
その他処理部２０７は、上述したような機能以外の機能、たとえば、アプリケーションプログラムの固有のサービスを提供する処理（たとえば、アプリケーションプログラムがワープロ用のソフトであるならば、ワープロ機能を提供する処理）や、アプリケーションプログラムをオンラインで更新する処理や、更新の有無等の問合せや、プログラムのバージョンの管理等の処理を行なう。
【００３６】
したがって、図３に示された例では、特に限定されないが、各機能ブロックのうち、データ解析部２０３、エンコード／デコード部２０４、識別値作成／検証部２０５、その他処理部２０７は、アプリケーションプログラムがＣＰＵ２５０によって実行されることにより実現される機能であり、データ解析部２０３およびデータ作成部２１１は、ＯＳ（Operating System）プログラムがＣＰＵ２５０によって実行されることにより実現される機能である、とすることができる。
【００３７】
本実施の形態では、ＰＣ２００において実行されているアプリケーションプログラムと他の情報処理装置において実行されているアプリケーションプログラムとの間で通信を行なう際に、各アプリケーションプログラムが相手のアプリケーションプログラムの正当性を認証したことを条件として、接続が許可される。なお、本実施の形態におけるアプリケーションプログラムとは、主としてＯＳプログラムの実行環境下で実行されるプログラムに加えて、ハードウェアを直接的に制御するファームウェアをも包含するものである。
【００３８】
＜認証処理＞
本実施の形態に従う通信制御方法における認証処理は、概略すると、アプリケーションプログラムが共通にもつ数値演算関数をそれぞれの情報処理装置で実行させることで生じるメモリ上の値を比較することで、アプリケーションプログラムの正当性を検証する。特に、任意に選択される数値演算関数を２つの情報処理装置でそれぞれ実行させることで、当該数値演算関数の実行により出力されるメモリ上の値を認証処理毎に異ならせるとともに、比較対象とするメモリ上の領域も認証処理毎に任意に選択される。
【００３９】
図４は、本発明の第１の実施の形態に従う認証処理の処理手順を示すシーケンス図である。図４には、互いにデータ通信可能に構成されている２つのＰＣ２００でそれぞれ実行されているアプリケーションプログラムの間で通信を開始する場合の処理を示す。なお、理解を容易にするため、図４には、一方のＰＣ２００から他方のＰＣ２００への接続要求がなされた場合に、接続要求を受信したＰＣ２００が認証処理を行なう場合について例示するが、２つのＰＣ２００が互いに認証処理を行なうようにしてもよい。その場合には、図４に示す処理を各処理の実行主体を入れ替えて再度実行すればよい。
【００４０】
以下の説明では、説明の便宜上、アプリケーションプログラムを実行する２つのＰＣ２００のうち、他方のＰＣ２００に対して通信の開始を依頼するＰＣ２００を「接続要求元」とも称し、通信の開始を依頼されるＰＣ２００を「接続要求先」とも称す。また、接続要求元のＰＣ２００で実行されるアプリケーションプログラムを「アプリケーション１」とも称し、接続要求先のＰＣ２００で実行されるアプリケーションプログラムを「アプリケーション２」とも称する。
【００４１】
本実施の形態に従う認証処理を実行するＰＣ２００のうち、少なくとも接続要求元となり得るＰＣ２００は、自己の公開鍵およびそれに対応する秘密鍵を保持しており、かつ公開鍵は、他のＰＣ２００による取得が可能であるとする。一般的に、秘密鍵は、外部から読出し不能なセキュリティ領域に格納される。なお、このような公開鍵基盤（ＰＫＩ：Public Key Infrastructure）については、周知であるので詳細な説明は行なわない。
【００４２】
本実施の形態に従う認証処理は、主として、以下の６つのフェーズを含む。
（１）接続依頼元から接続依頼先への接続依頼メッセージの送信
（２）接続依頼先から接続依頼元への認証指示メッセージの送信
（３）接続依頼元における特定識別値の生成、および特定識別値から暗号識別値の生成
（４）接続依頼元から接続依頼先への暗号識別値の送信
（５）接続依頼先における特定識別値の生成
（６）接続依頼先における接続許否の判定
以下、これらの各フェーズについて、図４〜図８を参照して説明する。
【００４３】
（１．接続依頼メッセージの送信）
図４を参照して、接続依頼元に対してユーザ操作などがなされると、接続依頼元から接続依頼メッセージが接続依頼先へ送信される（ステップＳ２）。この接続依頼メッセージは、接続許可を依頼するための情報を含んでいる。より具体的には、接続依頼メッセージには、接続を依頼するための単純なコマンドに加えて、接続依頼元のアプリケーションプログラムのバージョン情報や接続履歴といったアプリケーションプログラム自体の情報を含めてもよい。なお、このような接続依頼メッセージは、ＸＭＬ（Extensible Markup Language）などのマークアップ言語によって記述されることが多い。
【００４４】
（２．認証指示メッセージの送信）
接続依頼元から接続依頼メッセージを受信した接続依頼先は、接続依頼元のアプリケーションプログラムの正当性を検証するために、接続依頼元のアプリケーションプログラムによって所定の処理を実行した結果を応答させるための指示を含む、認証指示メッセージを接続依頼元へ送信する（ステップＳ４）。
【００４５】
この認証指示メッセージは、代表的に以下に示すいずれかの内容を含む。
（ｉ）指定した数値演算関数を送信依頼元において実行させ、その実行結果（特定識別値）を送信依頼元の秘密鍵で署名した暗号識別値を送信依頼先へ返信する指示
（ｉｉ）指定した入力値に対して指定した数値演算関数を送信依頼元において実行させ、当該実行後の指定したメモリエリアの値を特定識別値として抽出し、さらに抽出した特定識別値を送信依頼元の秘密鍵で署名した暗号識別値を送信依頼先へ返信する指示
（ｉｉｉ）指定した入力値に対して指定した数値演算関数を送信依頼元において実行させ、当該実行前と当該実行後の指定したメモリエリアの差分を特定識別値として抽出し、さらに抽出した特定識別値を送信依頼元の秘密鍵で署名した暗号識別値を送信依頼先へ返信する指示
（ｉｖ）（ｉ）〜（ｉｉｉ）において、特定識別値をＣＡサーバによって署名された暗号識別値を送信依頼先へ返信する指示
このような指示を送信依頼元に実行させるために、認証指示メッセージには、数値演算関数で用いられる入力データ、実行すべき数値演算関数を指定する処理指示、暗号識別値を抽出すべきメモリエリアを指定する計算エリア指示番号などが含まれる。
【００４６】
入力データ、処理指示、計算エリア指示番号の全部または一部は、認証処理毎に変更されることが好ましく、その変更方法としては、予め定めた複数の組合せから順次選択するようにしてもよいし、擬似乱数などを用いてランダムに選択してもよい。このような認証指示メッセージの具体例については後述する。
【００４７】
（３．接続依頼元における特定識別値および暗号識別値の生成）
接続依頼先から認証指示メッセージを受信した接続依頼元は、認証指示メッセージに含まれる内容に従って、特定識別値および暗号識別値を生成する。まず、図５を参照して、特定識別値の生成処理について説明する。
【００４８】
図５は、本発明の実施の形態に従う特定識別値の生成に係る処理を模式的に示す図である。
【００４９】
図５を参照して、ＰＣ２００において、ＣＰＵ２５０（図２）がＨＤＤ２６４（図２）などに予め格納されたアプリケーションプログラムを実行する場合には、当該アプリケーションプログラムは、ＲＡＭ２５４（図２）などのメモリエリアにバイナリコードとして展開される。このメモリエリアには、各種の数値演算関数の実行結果や中間データを一時的に格納するためのレジスタとして使用される領域も形成される。本実施の形態に従う認証処理では、このようなアプリケーションプログラムの実行に際して用いられるメモリエリアの一部分の値を抽出した上で、当該抽出した値を特定関数（代表的に、ハッシュ関数）に入力して、その出力を特定識別値として動的に生成する。
【００５０】
より具体的な一例として、任意に指定した入力データに対する素因数分解を指定した認証指示メッセージなどを用いることができる。このような任意に指定された入力データについての素因数分解の処理過程におけるメモリエリアの値を特定識別値の生成に用いることで、より改ざんされにくい暗号識別値を生成することができる。
【００５１】
あるいは、入力データを用いない数値演算関数の一例として、アプリケーションプログラムの製造日（あるいは、あるバージョンのリリース日）からの経過日数などを算出する関数などを用いることができる。このような関数を用いることで、アプリケーションプログラムが互いに同一であれば、基本的に同じ特定識別値を生成することができる。
【００５２】
なお、認証処理に係るＰＣ２００のＲＡＭ２５４（図２）の大きさは同一であるとは限らず、またＯＳといった他のプログラムの実行の状態も互いに異なっているので、それぞれのＰＣ２００において、アプリケーションプログラムが展開されるメモリエリアの絶対位置は一致することはまずない。そのため、特定識別値の生成対象となる領域は、当該アプリケーションプログラムが占有するメモリエリアの相対位置を指定することが好ましい。すなわち、当該アプリケーションプログラムが占有する先頭アドレスは、一定ではないが、当該先頭アドレスから予め定められた位置にあるアドレス範囲を指定することで、正当なアプリケーションプログラム同士であれば、それぞれにおいて生成される特定識別値を互いに一致させることができる。
【００５３】
そのため、認証指示メッセージに含まれる計算エリア指示番号には、以下の表に示すように、アプリケーションプログラムが占有するメモリエリアの先頭アドレスからの相対位置を示す相対アドレスと、特定識別値の生成に係る入力値を抽出するための相対アドレスからの範囲を示すサイズとが含まれる。なお、両ＰＣ２００において、予め、ＩＤ番号に対応付けて相対アドレスとサイズとの組合せを複数格納しておき、計算エリア指示番号としてはＩＤ番号のみを送信するようにしてもよい。
【００５４】
【表１】
2009246459.tif 000003
【００５５】
以下、認証指示メッセージの具体例について説明する。
上述したように、より安全な認証処理を行なうためには、処理指示、入力データ、計算エリア指示番号の全部または一部は、認証処理毎に変更されることが好ましい。そこで、認証指示メッセージは、認証処理の実行毎に以下の表に示すようにその内容が変更される。
【００５６】
【表２】
2009246459.tif 000004
【００５７】
上記の表中において、数値演算関数１としては、たとえば、アプリケーションプログラムの製造日から、指定された日付時刻までの経過時間（秒）を算出する関数が用いられる。認証指示メッセージの処理指示内容としては、数値演算関数１のまま変化していないが、入力データとされるメッセージ送信時の日付時刻については、認証指示メッセージが送信される毎に変化する。また、計算エリア指示番号としては、アプリケーションプログラムが占有するメモリエリアの先頭アドレスからの相対位置を示す相対アドレスと、特定識別値の生成に係る入力値を抽出するための相対アドレスからの範囲を示すサイズとに対応付けられたＩＤ番号が指定されており、上記の表中においては、認証指示メッセージが送信される毎にＩＤ番号が変更されている。
【００５８】
このような認証指示メッセージが用いられる結果、上記の数値演算関数１から出力される結果自体も認証処理毎に変化し、さらに特定識別値の生成に係る入力値として用いられるメモリエリアも変化するので、特定識別値は認証処理毎に順次変化することになる。
【００５９】
さらに、認証指示メッセージの処理指示内容についても、以下の表に示すように、認証処理毎に変化させてもよい。
【００６０】
【表３】
2009246459.tif 000005
【００６１】
上記の表中において、数値演算関数１としては、たとえば、アプリケーションプログラムの製造日から、指定された日付時刻までの経過時間（秒）を算出する関数が用いられ、数値演算関数２としては、たとえば、あるバージョンのリリースの日から、指定された日付時刻までの経過時間（秒）を算出する関数が用いられる。
【００６２】
このような認証指示メッセージが用いられる結果、上記の処理の実行結果自体も認証処理毎に変化し、さらに特定識別値の生成に係る入力値として用いられるメモリエリアも変化するので、特定識別値は認証処理毎に順次変化することになる。
【００６３】
さらに、何らかの処理の実行前と実行後との間のメモリエリアの差分を特定識別値の生成に係る入力値として抽出する場合には、認証指示メッセージには、処理前のメモリエリアのうち差分を算出するためのメモリ状態として一時的に保存すべきエリアの指定と、特定識別値の生成に係る入力値として抽出すべき差分のエリアの指定などを含む。
【００６４】
なお、メモリ上に展開する規則がハードウェアに依存（特に、ＣＰＵの種類）している場合には、そのような特定の差異を利用して正当性を検証することもできる。より具体的には、ビット列のいずれの方向を最上位／最下位ビットとして扱うかによって、ＢｉｇＥｎｄｉａｎ／ＬｉｔｔｌｅＥｎｄｉａｎの差異が生じ得る。そこで、同一種類のＣＰＵ間での接続を許可するような場合には、このような差異を利用して、正当性を検証することができる。一方、異なる種類のＣＰＵ間であっても接続を許可し得るように構成する場合には、送信依頼元および送信依頼先のいずれか一方に、このようなメモリ展開の規則の違いを解消する変換機能（互換性機能）を持たせる必要がある。
【００６５】
再度、図４を参照して、認証指示メッセージを受信した接続依頼元は、当該認証指示メッセージに従って、入力データをアプリケーション１に入力し（ステップＳ６）、処理指示に従って処理を実行する（ステップＳ８）。すなわち、上述した例では、接続依頼元は、指定された入力データに対する素因数分解を実行する。
【００６６】
そして、接続依頼元は、認証指示メッセージに含まれる計算エリア指定指示に従い、メモリ上の特定位置の値を抽出し、さらに抽出した値を特定関数に入力することで、特定識別値を生成する（ステップＳ１０）。さらに、接続依頼元は、特定識別値に自己の署名を施して暗号識別値を生成する（ステップＳ１２）。すなわち、暗号識別値は、特定識別値を接続依頼元が保持する秘密鍵を用いて暗号化した結果である。
【００６７】
（４．接続依頼元から接続依頼先への暗号識別値の送信）
送信依頼元は、生成した暗号識別値を接続依頼先へ送信する（ステップＳ２２）。なお、暗号識別値は、認証処理毎に変化する認証指示メッセージに従って動的に生成されるものであるため、接続依頼元から接続依頼先へ暗号識別値を平文（さらなる暗号化を行なうことなく）で送信してもよい。より安全性を高めるために、ＳＳＬ（Secure Socket Layer）などの暗号化通信を用いて送信してもよい。
【００６８】
（５．接続依頼先における特定識別値の生成）
接続依頼先は、認証指示メッセージを送信した後、当該認証指示メッセージに従って、送信依頼先と同様の処理を実行する。すなわち、送信依頼先は、認証指示メッセージに従って、入力データをアプリケーション２に入力し（ステップＳ１６）、処理指示に従って処理を実行する（ステップＳ１８）。そして、接続依頼先は、認証指示メッセージに含まれる計算エリア指定指示に従い、メモリ上の特定位置の値を抽出し、さらに抽出した値を特定関数に入力することで、特定識別値を生成する（ステップＳ２０）。なお、この特定関数（代表的に、ハッシュ関数）は、予め、接続依頼元が保持している特定関数と同一に設定されている。
【００６９】
送信依頼元および送信依頼先でそれぞれ実行されるアプリケーションプログラムが正当なものであれば、送信依頼元が実行するステップＳ６〜Ｓ１０の処理内容と、送信依頼先が実行するステップＳ１６〜Ｓ２０の処理内容とは互いに一致する。
【００７０】
（６．接続依頼先における接続許否の判定）
接続依頼先は、接続依頼元から送信された暗号識別値と、自己の生成した特定識別値とに基づいて、アプリケーションプログラムの正当性を検証する。
【００７１】
より具体的には、接続依頼先は、相手の特定識別値から相手の特定識別値を算出する（ステップＳ２４）。すなわち、接続依頼先は、接続依頼元から送信された暗号識別値を、接続依頼先の公開鍵を用いて復号化することで、接続依頼元の特定識別値を算出する。
【００７２】
なお、接続依頼元の公開鍵については、公開鍵そのものを予め取得しておいてもよいし、ＣＡサーバが発行する接続依頼元の証明書を取得しておき、その証明書に含まれる公開鍵を用いてもよい。
【００７３】
続いて、接続依頼先は、ステップＳ２４において算出した接続依頼元の特定識別値と、自己の生成した特定識別値とを比較し（ステップＳ２６）、両者の一致／不一致に基づいて、接続許否を判定する（ステップＳ２８）。さらに、接続依頼先は、ステップＳ２８における判定結果（接続許可／接続拒否）のメッセージを接続依頼元に送信する（ステップＳ３０）。この接続許可のメッセージが送信されることで、認証処理が成功したことが通知されるので、両者の間で通信が開始される。なお、接続拒否と判定された場合には、何らのメッセージも送信することなく、以後の通信を拒絶してもよい。
【００７４】
＜接続依頼元における特定識別値および暗号識別値の生成に係る処理手順＞
以下、送信依頼元の内部の制御構造における、特定識別値および暗号識別値の生成に係る処理手順について説明する。
【００７５】
図６は、送信依頼元の識別値作成／検証部２０５およびエンコード／デコード部２０４における処理手順を示すフローチャートである。
【００７６】
図６を参照して、識別値作成／検証部２０５は、メモリ上の特定位置のデータを抽出し、さらに抽出した値を特定関数に入力することで、特定識別値を生成する（ステップＳＡ１０）。続いて、識別値作成／検証部２０５は、ステップＳＡ１０において生成した特定識別値をエンコード／デコード部２０４へ送信する（ステップＳＡ２０）。
【００７７】
エンコード／デコード部２０４は、識別値作成／検証部２０５から送信された特定識別値を受信する（ステップＳＢ１０）と、当該特定識別値に自己の秘密鍵で署名する（ステップＳＢ２０）。そして、エンコード／デコード部２０４は、この署名によって生成されたデータを識別値作成／検証部２０５へ送信する（ステップＳＢ３０）。
【００７８】
識別値作成／検証部２０５は、エンコード／デコード部２０４から署名によって生成されたデータを受信する（ステップＳＡ３０）と、当該データを暗号識別値としてメモリ上に一旦保持する（ステップＳＡ４０）。その後、この暗号識別値は、データ作成部２１１およびデータ送信部２１２（図３）を介して、接続依頼先へ送信される。
【００７９】
本実施の形態によれば、認証処理毎に、比較の対象となる特定識別値を生成するための処理および当該処理により出力される結果のうち採用されるメモリエリアが動的に変化するので、ある認証処理における特定識別値が悪意のある第三者によって盗聴されたとしても、当該特定識別値を次回以降の認証処理に用いることはできない。そのため、第三者による改ざんをより有効に防止することができる。
【００８０】
また、本実施の形態によれば、メモリに展開されるデータに基づいて特定識別値が生成されるので、ハードウェア環境の差異を反映した認証処理を行なうことができる。
【００８１】
また、本実施の形態によれば、接続依頼先では、接続依頼元が特定識別値を署名した暗号識別値を復号化した上で、自身で生成した特定識別値と比較するので、第三者による改ざんをさらに高めることができる。
【００８２】
［第２の実施の形態］
上述した第１の実施の形態においては、接続依頼元が自己の秘密鍵を用いて、特定識別値から暗号識別値を生成する構成について例示したが、ＣＡサーバが暗号識別値を生成してもよい。以下、第２の実施の形態では、接続依頼元が生成した特定識別値をＣＡサーバが署名して暗号識別値を生成する構成について例示する。
【００８３】
本発明の第２の実施の形態に従う情報処理装置を含むネットワークの構成は、図１と同様であり、そのハードウェア構成および機能ブロックについては、それぞれ図２および図３と同様であるので、詳細な説明は繰返さない。
【００８４】
＜認証処理＞
（１．接続依頼メッセージの送信）
接続依頼元から接続依頼メッセージへの接続依頼先の送信に係る処理は、上述の第１の実施の形態と同様であるので、詳細な説明は繰返さない。
【００８５】
（２．認証指示メッセージの送信）
接続依頼先から接続依頼元への認証指示メッセージの送信に係る処理についても、認証指示メッセージに、特定識別値をＣＡサーバにより生成する旨の指示が含まれる点を除いて、上述の第１の実施の形態とほぼ同様であるので、詳細な説明は繰返さない。
【００８６】
（３．接続依頼元における特定識別値および暗号識別値の生成）
接続依頼元が接続依頼先からの認証指示メッセージに含まれる内容に従って特定識別値を生成するまでの処理は、上述の第１の実施の形態とほぼ同様であるので、詳細な説明は繰返さない。一方、特定識別値から暗号識別値の生成処理については、第１の実施の形態とは異なり、ＣＡサーバにより実行される。以下、図７および図８を参照して、特定識別値から暗号識別値の生成処理について説明する。
【００８７】
図７は、本発明の第２の実施の形態に従う暗号化識別値の生成に係る処理を模式的に示す図である。図８は、本発明の第２の実施の形態に従う暗号化識別値の生成に係る処理を示すフローチャートである。
【００８８】
図７を参照して、接続依頼元および接続依頼先は、それぞれＣＡサーバとデータ通信可能であるとし、予めＣＡサーバにより証明書（ルート証明書）を発行されているものとする。
【００８９】
接続依頼元は、認証指示メッセージに従って特定識別値を生成すると、当該特定識別値および予め取得したルート証明書に自己の秘密鍵を用いて署名した上で、ＣＡサーバへ送信する。ＣＡサーバは、まず、接続依頼元から受信したメッセージを接続依頼元の公開鍵を用いて復号化し、その中に含まれるルート証明書の内容に基づいて、接続依頼元が正当であるか否かを判断する。接続依頼元の正当性が検証されると、ＣＡサーバは、接続依頼元から送信された特定識別値を自己の秘密鍵を用いて署名して暗号識別値を生成する。さらに、ＣＡサーバは、当該生成した暗号識別値を接続依頼元へ送信する。
【００９０】
このような手順によって、接続依頼元で生成された特定識別値が暗号識別値に変換される。以下、本発明の第２の実施の形態に従う暗号化識別値の生成に係る処理の詳細について説明する。
【００９１】
図８を参照して、接続依頼元は、特定識別値を署名承認用メッセージに変換する（ステップＳＣ１０）。具体的には、接続依頼元は、特定識別値および予め取得しているルート証明書を１つのデータにまとめるとともに、自己の秘密鍵を用いて署名することで署名承認用メッセージを生成する（自己署名）。続いて、接続依頼元は、ステップＳＣ１０において生成した署名承認用メッセージをＣＡサーバへ送信する（ステップＳＣ２０）。
【００９２】
ＣＡサーバは、接続依頼元から署名承認用メッセージを受信する（ステップＳＤ１０）と、当該署名承認用メッセージを接続依頼元の公開鍵を用いて復号化し、その中に含まれるルート証明書をチェックする（ステップＳＤ２０）。すなわち、ＣＡサーバは、接続依頼元から送信されたルート証明書の内容が、自己が発行したもとと同一であるか否かに基づいて、接続依頼元が正当であるか否かを判断する（ステップＳＤ３０）。接続依頼元が正当でなければ（ステップＳＤ３０においてＮＯ）、ＣＡサーバは、接続依頼元からの要求を拒否する（ステップＳＤ４０）。そして、以降の処理は行なわない。
【００９３】
一方、接続依頼元が正当であれば（ステップＳＤ３０においてＹＥＳ）、ＣＡサーバは、接続依頼元から送信された特定識別値をＣＡサーバの秘密鍵を用いて署名し（ステップＳＤ５０）、暗号識別値を生成する（ステップＳＤ６０）。そして、ＣＡサーバは、生成した暗号識別値を接続依頼元へ送信する（ステップＳＤ７０）。なお、ＣＡサーバから接続依頼元への暗号識別値の送信は、平文のまま行なってもよいが、より安全性を高めるために、ＳＳＬ（Secure Socket Layer）などの暗号化通信を用いて送信することが好ましい。
【００９４】
接続依頼元は、ＣＡサーバから暗号識別値を受信すると（ステップＳＣ３０）、当該暗号識別値としてメモリ上に一旦保持する（ステップＳＣ４０）。
【００９５】
以上のような処理によって、接続依頼元は、特定識別値から暗号識別値を生成する。
（４．接続依頼元から接続依頼先への暗号識別値の送信）
接続依頼元から接続依頼先への暗号識別値の送信に係る処理は、上述の第１の実施の形態と同様であるので、詳細な説明は繰返さない。
【００９６】
（５．接続依頼先における特定識別値の生成）
接続依頼先における特定識別値の生成に係る処理は、上述の第１の実施の形態と同様であるので、詳細な説明は繰返さない。
【００９７】
（６．接続依頼先における接続許否の判定）
上述の第１の実施の形態と同様、接続依頼先は、接続依頼元から送信された暗号識別値と、自己の生成した特定識別値とに基づいて、アプリケーションプログラムの正当性を検証する。ここで、本実施の形態では、接続依頼元から送信された暗号識別値は、ＣＡサーバの秘密鍵を用いて署名されているので、接続依頼先は、接続依頼元から送信された暗号識別値をＣＡサーバの公開鍵を用いて特定識別値に復号化する。このとき、接続依頼先は、予めＣＡサーバにより発行されているルート証明書に含まれているＣＡサーバの公開鍵を用いることができる。
【００９８】
このように、接続依頼元および接続依頼先のいずれもが共通のＣＡサーバによって認証されている（ルート証明書が発行されている）場合には、より信頼性の高いＣＡサーバによる署名がなされたデータを用いて検証ができるので、より改ざんに対して強固な通信制御方法を実現できる。
【００９９】
その他の処理についても、上述した実施の形態と同様であるので、詳細な説明は繰返さない。
【０１００】
本実施の形態によれば、上述の第２の実施の形態と同様の効果に加えて、認証サーバにより署名された特定識別値を比較することで接続の可否が判断されるので、第三者による改ざんをさらに高めることができるとともに、暗号識別値から特定識別値に復号する際の公開鍵をより安全に取得することができる。
【０１０１】
［第１変形例］
認証処理の開始時において、接続依頼元および接続依頼先との間の通信状態を互いに一致させておくことが好ましい場合もある。このような場合には、上述したような認証指示メッセージに、以下の表に示すような内容をさらに含ませておくことが好ましい。
【０１０２】
【表４】
2009246459.tif 000006
【０１０３】
上記の表には、メッセージキューをクリアして、何らかの通信を行なうための処理を互いに初期化（待機処理がない状態）を実現させるためのメッセージが記述されている。このように、メッセージキューをクリアすることで、通信状態を互いに同一の状態にさせた上で、認証処理を開始することができる。
【０１０４】
［第２変形例］
認証処理を実行するための前提条件として、互いにアプリケーションプログラムが同じバージョンであるか、あるいは少なくとも特定のパッチが適用されていることを確認することが好ましい場合もある。このようなこのような場合には、上述したような認証指示メッセージに、以下の表に示すような内容をさらに含ませておくことが好ましい。
【０１０５】
【表５】
2009246459.tif 000007
【０１０６】
上記の表には、接続依頼元で実行されるアプリケーションプログラムのバージョン（あるいは、適用パッチ情報）を接続依頼先に応答させるためのメッセージが記述されている。このように、互いにアプリケーションプログラムのバージョン、あるいは適用パッチ情報を互いに確認することで、前提となる条件を満たすものについてのみ、認証処理を実行することができる。
【０１０７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１０８】
【図１】本発明の実施の形態に従う情報処理装置を含むネットワークの構成を模式的に示す図である。
【図２】ＰＣのハードウェア構成を模式的に示す図である。
【図３】ＰＣの機能ブロックを模式的に示す図である。
【図４】本発明の第１の実施の形態に従う認証処理の処理手順を示すシーケンス図である。
【図５】本発明の実施の形態に従う特定識別値の生成に係る処理を模式的に示す図である。
【図６】送信依頼元の識別値作成／検証部およびエンコード／デコード部における処理手順を示すフローチャートである。
【図７】本発明の第２の実施の形態に従う暗号化識別値の生成に係る処理を模式的に示す図である。
【図８】本発明の第２の実施の形態に従う暗号化識別値の生成に係る処理を示すフローチャートである。
【符号の説明】
【０１０９】
１００  モニタ、２００  パーソナルコンピュータ（ＰＣ）、２０２  データ受信部、２０３  データ解析部、２０４  エンコード／デコード部、２０５  識別値作成／検証部、２０６  データ保持部、２０７  その他処理部、２１１  データ作成部、２１２  データ送信部、２５２  メディアドライブ、２５２Ａ  記憶媒体、２６０  入力装置、２６２  通信装置、３００  ネットワークケーブル、４００  ハブ、５００  ルータ。
【図１】
2009246459.tif 000008
【図２】
2009246459.tif 000009
【図３】
2009246459.tif 000010
【図４】
2009246459.tif 000011
【図５】
2009246459.tif 000012
【図６】
2009246459.tif 000013
【図７】
2009246459.tif 000014
【図８】
2009246459.tif 000015