(57)【要約】  情報処理方法は、装置のプロセッサによって実行され、前記装置の秘密鍵に基づいて前記装置の公開鍵を生成するステップ（Ｓ２）と、前記公開鍵と所定のハッシュ関数に基づいてハッシュ値を生成するステップ（Ｓ３）と、前記ハッシュ値に基づいて前記装置のＩＰアドレスを決定するステップ（Ｓ６）と、を含む。
2020049754.tif 000002
【特許請求の範囲】
【請求項１】
装置のプロセッサによって実行される情報処理方法であって、
前記装置の秘密鍵に基づいて前記装置の公開鍵を生成するステップと、
前記公開鍵と所定のハッシュ関数に基づいてハッシュ値を生成するステップと、
前記ハッシュ値に基づいて前記装置のネットワークアドレスを決定するステップと、
を含む、情報処理方法。
【請求項２】
前記秘密鍵を生成するステップをさらに含む、請求項１に記載の情報処理方法。
【請求項３】
前記装置の外部に存在する外部装置に前記公開鍵を送信するステップをさらに含む、請求項１又は２に記載の情報処理方法。
【請求項４】
前記ハッシュ値が所定の条件を満たすかどうか判定するステップをさらに含み、
前記ハッシュ値が前記所定の条件を満たす場合に、前記ハッシュ値に基づいて前記ネットワークアドレスが決定される、請求項１から３のうちいずれか一項に記載の情報処理方法。
【請求項５】
前記秘密鍵を生成するステップをさらに含み、
前記ハッシュ値が前記所定の条件を満たさない場合に、前記ハッシュ値が前記所定の条件を満たすまで前記秘密鍵を生成するステップと、前記公開鍵を生成するステップと、前記ハッシュ値を生成するステップが繰り返し実行される、請求項４に記載の情報処理方法。
【請求項６】
前記所定の条件は、前記ハッシュ値のうちの先頭の２桁の値に関連付けられた条件を含む、請求項４又は５に記載の情報処理方法。
【請求項７】
前記所定の条件は、前記装置の種類に関連付けられた条件を含む、請求項４から６のうちいずれか一項に記載の情報処理方法。
【請求項８】
前記ハッシュ値を生成するステップは、
前記公開鍵と、所定の組織に関連付けられた値と、前記所定のハッシュ関数に基づいて前記ハッシュ値を生成するステップを含む、請求項１から７のうちいずれか一項に記載の情報処理方法。
【請求項９】
前記所定の組織に関連付けられた値は、前記所定の組織の商標に関連付けられた値である、請求項８に記載の情報処理方法。
【請求項１０】
前記公開鍵に関連付けられた電子証明書を認証局から取得するステップをさらに含む、請求項１から９のうちいずれか一項に記載の情報処理方法。
【請求項１１】
前記装置の外部に存在する外部装置に前記公開鍵と前記電子証明書を送信するステップとをさらに含む、請求項１０に記載の情報処理方法。
【請求項１２】
前記電子証明書は、前記装置の属性に関連する属性情報を含む、請求項１０又は１１に記載の情報処理方法。
【請求項１３】
前記電子証明書は、前記装置に関連付けられたユーザの属性情報を含む、請求項１０又は１１に記載の情報処理方法。
【請求項１４】
前記電子証明書は、
前記装置及び／又は前記装置に関連付けられたユーザの属性情報と、
前記属性情報の全体のハッシュ値と、
を含む、請求項１０又は１１に記載の情報処理方法。
【請求項１５】
前記属性情報の一部がハッシュされている、請求項１４に記載の情報処理方法。
【請求項１６】
前記属性情報の一部と所定の係数とに基づいて、前記属性情報の一部がハッシュされている、請求項１５に記載の情報処理方法。
【請求項１７】
前記装置の外部に存在する外部装置から前記外部装置の公開鍵を受信するステップと、
前記外部装置の公開鍵と前記所定のハッシュ関数に基づいて前記外部装置のハッシュ値を生成するステップと、
前記外部装置のハッシュ値に基づいて前記外部装置のネットワークアドレスを決定するステップと、をさらに含む、請求項１から１６うちいずれか一項に記載の情報処理方法。
【請求項１８】
前記外部装置の公開鍵を受信するステップは、
前記外部装置の公開鍵と当該公開鍵に関連付けられた電子証明書を受信するステップを含み、
前記情報処理方法は、前記電子証明書が正当であるかどうかを判定するステップをさらに含み、
前記電子証明書が正当であると判定された場合に、前記外部装置の公開鍵に基づいて前記外部装置のハッシュ値が生成される、請求項１７に記載の情報処理方法。
【請求項１９】
装置のプロセッサによって実行される情報処理方法であって、
前記装置の公開鍵に基づいて前記装置のネットワークアドレスを決定するステップを含む、
情報処理方法。
【請求項２０】
ネットワークアドレスを管理するサーバを介せずに、前記装置のネットワークアドレスを用いた通信を実行するステップをさらに含む、請求項１から１９のうちいずれか一項に記載の情報処理方法。
【請求項２１】
ＯＳＩ参照モデルのネットワーク層において前記情報処理方法が実行される、請求項１から２０のうちいずれか一項に記載の情報処理方法。
【請求項２２】
請求項１から２１のうちのいずれか一項に記載の情報処理方法をコンピュータに実行させるための情報処理プログラム。
【請求項２３】
請求項２２に記載の情報処理プログラムが保存されたコンピュータ読取可能な記憶媒体。
【請求項２４】
少なくとも一つのプロセッサと、
コンピュータ可読命令を記憶するメモリと、を備えた情報処理装置であって、
前記コンピュータ可読命令が前記プロセッサにより実行されると、前記情報処理装置は、請求項１から２３のうちいずれか一項に記載の前記情報処理方法を実行するように構成されている、情報処理装置。
【請求項２５】
第１装置と前記第１装置に通信可能に接続される第２装置とを含む情報処理システムであって、
前記第１装置は、
前記第１装置の第１秘密鍵に基づいて前記第１装置の第１公開鍵を生成し、
前記第１公開鍵と所定のハッシュ関数に基づいて第１ハッシュ値を生成し、
前記第１ハッシュ値に基づいて前記第１装置の第１のネットワークアドレスを決定し、
前記第１公開鍵を前記第２装置に送信し、
前記第２装置は、
前記第２装置の第２秘密鍵に基づいて前記２装置の第２公開鍵を生成し、
前記第２公開鍵と前記所定のハッシュ関数に基づいて第２ハッシュ値を生成し、
前記第２ハッシュ値に基づいて前記第２装置の第２のネットワークアドレスを決定し、
前記第２公開鍵を前記第１装置に送信し、
前記第１装置は、
前記第２装置から前記第２公開鍵を受信し、
前記第２公開鍵と前記所定のハッシュ関数に基づいて前記第２ハッシュ値を生成し、
前記第２ハッシュ値に基づいて前記第２のネットワークアドレスを決定し、
前記第２装置は、
前記第１装置から前記第１公開鍵を受信し、
前記第１公開鍵と前記所定のハッシュ関数に基づいて前記第１ハッシュ値を生成し、
前記第１ハッシュ値に基づいて前記第１のネットワークアドレスを決定する、
情報処理システム。
【請求項２６】
前記第１装置は、
認証局に前記第１公開鍵を送信し、
前記認証局から前記第１公開鍵に関連付けられた第１電子証明書を取得し、
前記第１電子証明書と前記第１公開鍵を前記第２装置に送信し、
前記第２装置は、
前記認証局又は別の認証局に前記第２公開鍵を送信し、
前記認証局又は前記別の認証局から前記第２公開鍵に関連付けられた第２電子証明書を取得し、
前記第２電子証明書と前記第２公開鍵を前記第１装置に送信し、
前記第１装置は、
前記第２装置から前記第２公開鍵及び前記第２電子証明書を受信し、
前記第２電子証明書が正当であるかどうかを判定し、
前記第２装置は、
前記第１装置から前記第１公開鍵及び前記第１電子証明書を受信し、
前記第１電子証明書が正当であるかどうかを判定する、
請求項２５に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法、情報処理プログラム、情報処理装置及び情報処理システムに関する。
【背景技術】
【０００２】
近年の情報通信技術の発展は目覚ましく、パーソナルコンピュータ、スマートフォンやタブレットだけでなく、自動車、家電、センサ装置等のあらゆるモノ（ｔｈｉｎｇｓ）がインターネット等の通信ネットワークに接続されつつある。このように、地球上の数兆個の装置が通信ネットワークに接続されるＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）社会が近い将来に到来することが予想されている（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】日本国特表２０１６−５１５３２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に開示されているように、現在のＩｏＴ技術では、インターネットサービス事業者（ＩＳＰ）がインターネットに接続される各デバイスのＩＰアドレスを管理している。例えば、所定の装置がインターネットに接続される場合、ＩＳＰが当該所定の装置にＩＰアドレスを割り当てる。その後、当該所定の装置は、ＩＳＰによって割り当てられたＩＰアドレスを用いてインターネット上のＷＥＢサーバにアクセスすることが可能となる。このように、インターネット等の通信ネットワークに装置を接続させる場合では、ＩＳＰ等のＩＰアドレスを管理する事業者の介入が必要となっており、通信ネットワークへの接続に対するユーザ体験又はユーザの利便性を向上させる点で改善の余地がある。【０００５】
本開示は、通信ネットワークへの接続に対するユーザ体験又はユーザの利便性を向上させることが可能な情報処理方法、情報処理プログラム、情報処理装置及び情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示の一態様に係る情報処理方法は、装置のプロセッサによって実行され、
前記装置の秘密鍵に基づいて前記装置の公開鍵を生成するステップと、
前記公開鍵と所定のハッシュ関数に基づいてハッシュ値を生成するステップと、
前記ハッシュ値に基づいて前記装置のネットワークアドレスを決定するステップと、
を含む。【０００７】
また、前記情報処理方法は、前記秘密鍵を生成するステップをさらに含んでもよい。【０００８】
また、前記情報処理方法は、前記装置の外部に存在する外部装置に前記公開鍵を送信するステップをさらに含んでもよい。【０００９】
また、前記情報処理方法は、前記ハッシュ値が所定の条件を満たすかどうか判定するステップをさらに含んでもよい。前記ハッシュ値が前記所定の条件を満たす場合に、前記ハッシュ値に基づいて前記ネットワークアドレスが決定されてもよい。【００１０】
また、前記情報処理方法は、前記秘密鍵を生成するステップをさらに含んでもよい。
前記ハッシュ値が前記所定の条件を満たさない場合に、前記ハッシュ値が前記所定の条件を満たすまで前記秘密鍵を生成するステップと、前記公開鍵を生成するステップと、前記ハッシュ値を生成するステップが繰り返し実行されてもよい。【００１１】
また、前記所定の条件は、前記ハッシュ値のうちの先頭の２桁の値に関連付けられた条件を含んでもよい。【００１２】
また、前記所定の条件は、前記装置の種類に関連付けられた条件を含んでもよい。【００１３】
また、前記ハッシュ値を生成するステップは、前記公開鍵と、所定の組織に関連付けられた値と、前記所定のハッシュ関数に基づいて前記ハッシュ値を生成するステップを含んでもよい。【００１４】
また、前記所定の組織に関連付けられた値は、前記所定の組織の商標に関連付けられた値であってもよい。【００１５】
また、前記情報処理方法は、前記公開鍵に関連付けられた電子証明書を認証局から取得するステップをさらに含んでもよい。【００１６】
また、前記情報処理方法は、前記装置の外部に存在する外部装置に前記公開鍵と前記電子証明書を送信するステップとをさらに含んでもよい。【００１７】
また、前記電子証明書は、前記装置の属性に関連する情報を含んでもよい。【００１８】
また、前記電子証明書は、前記装置に関連付けられたユーザの属性情報を含んでもよい。【００１９】
また、前記電子証明書は、
前記装置及び／又は前記装置に関連付けられたユーザの属性情報と、
前記属性情報の全体のハッシュ値と、
を含んでもよい。【００２０】
また、前記属性情報の一部がハッシュされてもよい。【００２１】
また、前記属性情報の一部と所定の係数とに基づいて、前記属性情報の一部がハッシュされてもよい。【００２２】
また、前記情報処理方法は、
前記装置の外部に存在する外部装置から前記外部装置の公開鍵を受信するステップと、
前記外部装置の公開鍵と前記所定のハッシュ関数に基づいて前記外部装置のハッシュ値を生成するステップと、
前記外部装置のハッシュ値に基づいて前記外部装置のネットワークアドレスを決定するステップと、をさらに含んでもよい。【００２３】
また、前記外部装置の公開鍵を受信するステップは、前記外部装置の公開鍵と当該公開鍵に関連付けられた電子証明書を受信するステップを含んでもよい。前記情報処理方法は、前記電子証明書が正当であるかどうかを判定するステップをさらに含んでもよい。前記電子証明書が正当であると判定された場合に、前記外部装置の公開鍵に基づいて前記外部装置のハッシュ値が生成されてもよい。【００２４】
本開示の一態様に係る情報処理方法は、装置のプロセッサによって実行され、前記装置の公開鍵に基づいて前記装置のネットワークアドレスを決定するステップを含む。【００２５】
また、前記情報処理方法は、ネットワークアドレスを管理するサーバを介せずに、前記装置のネットワークアドレスを用いた通信を実行するステップをさらに含んでもよい。【００２６】
また、ＯＳＩ参照モデルのネットワーク層において前記情報処理方法が実行されてもよい。【００２７】
また、前記情報処理方法をコンピュータに実行させるための情報処理プログラムが提供される。さらに、当該情報処理プログラムが保存されたコンピュータ読取可能な記憶媒体が提供される。【００２８】
本開示の一態様に係る情報処理装置は、少なくとも一つのプロセッサと、コンピュータ可読命令を記憶するメモリとを備える。前記コンピュータ可読命令が前記プロセッサにより実行されると、前記情報処理装置は、前記情報処理方法を実行するように構成されている。【００２９】
本開示に一態様に係る情報処理システムは、第１装置と前記第１装置に通信可能に接続される第２装置とを含む。
前記第１装置は、
前記第１装置の第１秘密鍵に基づいて前記第１装置の第１公開鍵を生成し、
前記第１公開鍵と所定のハッシュ関数に基づいて第１ハッシュ値を生成し、
前記第１ハッシュ値に基づいて前記第１装置の第１のネットワークアドレスを決定し、
前記第１公開鍵を前記第２装置に送信する。
前記第２装置は、
前記第２装置の第２秘密鍵に基づいて前記２装置の第２公開鍵を生成し、
前記第２公開鍵と前記所定のハッシュ関数に基づいて第２ハッシュ値を生成し、
前記第２ハッシュ値に基づいて前記第２装置の第２のネットワークアドレスを決定し、
前記第２公開鍵を前記第１装置に送信する。
前記第１装置は、
前記第２装置から前記第２公開鍵を受信し、
前記第２公開鍵と前記所定のハッシュ関数に基づいて前記第２ハッシュ値を生成し、
前記第２ハッシュ値に基づいて前記第２のネットワークアドレスを決定する。
前記第２装置は、
前記第１装置から前記第１公開鍵を受信し、
前記第１公開鍵と前記所定のハッシュ関数に基づいて前記第１ハッシュ値を生成し、
前記第１ハッシュ値に基づいて前記第１のネットワークアドレスを決定する。【００３０】
また、前記第１装置は、
認証局に前記第１公開鍵を送信し、
前記認証局から前記第１公開鍵に関連付けられた第１電子証明書を取得し、
前記第１電子証明書と前記第１公開鍵を前記第２装置に送信してもよい。
前記第２装置は、
前記認証局又は別の認証局に前記第２公開鍵を送信し、
前記認証局又は前記別の認証局から前記第２公開鍵に関連付けられた第２電子証明書を取得し、
前記第２電子証明書と前記第２公開鍵を前記第１装置に送信してもよい。
前記第１装置は、
前記第２装置から前記第２公開鍵及び前記第２電子証明書を受信し、
前記第２電子証明書が正当であるかどうかを判定してもよい。
前記第２装置は、
前記第１装置から前記第１公開鍵及び前記第１電子証明書を受信し、
前記第１電子証明書が正当であるかどうかを判定してもよい。
【発明の効果】
【００３１】
本開示によれば、通信ネットワークへの接続に対するユーザ体験又はユーザの利便性を向上させることが可能な情報処理方法、情報処理プログラム、情報処理装置及び情報処理システムを提供することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態（以下、本実施形態という。）に係る情報処理装置のハードウェア構成の一例を示す図である。
【図２】情報処理装置のＩＰアドレスを決定する処理の一例を説明するためのフローチャートである。
【図３】情報処理装置とインターネット上のサーバとを示す図である。
【図４】２つの情報処理装置を含む情報処理システムを示す図である。
【図５】外部装置のＩＰアドレスを決定する処理の一例を説明するためのフローチャートである。
【図６】外部装置から送信された電子証明書の正当性を判定する処理の一例を示すフローチャートである。
【図７】４つの情報処理装置を含む情報処理システムを示す図である。
【図８】ユーザ属性情報の一部がハッシュされる前後の電子証明書の一例を示す図である。
【発明を実施するための形態】
【００３３】
以下、本実施形態について図面を参照しながら説明する。最初に、図１を参照して本発明の実施形態（以下、単に「本実施形態」という。）に係る情報処理装置２のハードウェア構成について以下に説明する。
【００３４】
図１は、本実施形態に係る情報処理装置２のハードウェア構成の一例を示す図である。図１に示すように、情報処理装置２（以下、単に「装置２」という。）は、制御部２０と、記憶装置２３と、ネットワークインターフェース２５と、表示部２６と、入力操作部２７とを備える。これらは、バス２９を介して互いに通信可能に接続されている。
【００３５】
装置２は、例えば、パーソナルコンピュータ、スマートフォン、タブレット、ユーザの身体（例えば、腕や頭等）に装着されるウェアラブルデバイス（例えば、スマートウォッチやＡＲグラス等）であってもよい。また、装置２は、スマート家電、コネクティッド自動車、工場等に設置された制御機器であってもよい。このように、装置２の種類は、ＩＰアドレス（ネットワークアドレスの一例）を用いてインターネット等の通信ネットワークに接続されると共に、プロセッサとメモリを備える全てのモノが対象となる。本実施形態では、装置２は、表示部２６と、入力操作部２７を備えるが、これらは装置２の必須の構成要素ではない。
【００３６】
制御部２０は、装置２の動作を制御するように構成されており、メモリとプロセッサを備えている。メモリは、コンピュータ可読命令（例えば、情報処理プログラム）を記憶するように構成されている。例えば、メモリは、各種プログラム等が格納されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及びプロセッサにより実行される各種プログラム等が格納される複数のワークエリアを有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成されてもよい。また、メモリは、フラッシュメモリ等によって構成されてもよい。プロセッサは、例えば、ＣＰＵ、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ
Ｕｎｉｔ）及びＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のうちの少なくとも一つを含む。ＣＰＵは、複数のＣＰＵコアによって構成されてもよい。ＧＰＵは、複数のＧＰＵコアによって構成されてもよい。プロセッサは、記憶装置２３又はＲＯＭに組み込まれた各種プログラムから指定されたプログラムをＲＡＭ上に展開し、ＲＡＭとの協働で各種処理を実行するように構成されてもよい。特に、プロセッサがメモリに記憶された情報処理プログラムを実行することで、装置２は本実施形態に係る情報処理方法を実行するように構成される。
【００３７】
記憶装置２３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリ等の記憶装置（ストレージ）であって、プログラムや各種データを格納するように構成されている。記憶装置２３には、インターネット上のサーバから送信された本実施形態に係る情報処理プログラムが保存されてもよい。
【００３８】
ネットワークインターフェース２５は、装置２を通信ネットワークに接続するように構成されている。具体的には、ネットワークインターフェース２５は、通信ネットワークを介してサーバ等の外部装置と通信するための各種有線接続端子を含んでもよい。また、ネットワークインターフェース２５は、無線ルータ若しくは無線基地局と通信するための各種処理回路及びアンテナ等を含んでもよい。無線通信の規格は、例えば、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）、ＬＰＷＡ又は第５世代移動通信システム（５Ｇ）である。また、通信ネットワークは、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線アクセスネットワーク（ＲＡＮ）及びインターネットのうちの少なくとも一つを含む。
【００３９】
表示部２６は、液晶ディスプレイ、有機ＥＬディスプレイ等の表示装置であってもよいし、操作者の頭に装着される透過型又は非透過型のヘッドマウントディスプレイ等であってもよい。さらに、表示部２６は、画像をスクリーン上に投影するプロジェクター装置であってもよい。
【００４０】
入力操作部２７は、装置２を操作するユーザの入力操作を受付けると共に、当該入力操作に応じた指示信号を生成するように構成されている。入力操作部２７は、例えば、表示部２６上に重ねて配置されたタッチパネル、筐体に取り付けられた操作ボタン、マウス及び／又はキーボード等である。入力操作部２７によって生成された指示信号がバス２９を介して制御部２０に送信された後、制御部２０は、指示信号に応じて所定の動作を実行する。表示部２６及び入力操作部２７は、ＵＳＢ等の入出力インターフェースを介して装置２に接続されてもよい。
【００４１】
次に、図２を参照して本実施形態に係る情報処理方法について以下に説明する。図２は、装置２のＩＰアドレス（例えば、グローバルＩＰアドレス）を決定する処理の一例を説明するためのフローチャートである。図２に示すように、ステップＳ１において、装置２の制御部２０は、乱数発生器を用いて装置２の秘密鍵を生成する。ここで、乱数発生器は、装置２のＯＳプログラムによって実現されてもよいし、装置２のハードウェア構成（論理回路等）として実現されてもよい。また、生成される秘密鍵のサイズは、例えば、５１２ビットである。
【００４２】
次に、制御部２０は、ステップＳ２において、生成された秘密鍵と所定の暗号アルゴリズムに基づいて装置２の公開鍵を生成する。ここで、所定の暗号アルゴリズムは、例えば、楕円曲線暗号アルゴリズムである。また、生成される公開鍵のサイズは、例えば、２５６ビットである。
【００４３】
次に、制御部２０は、ステップＳ３において、生成された公開鍵と所定のハッシュ関数とに基づいてハッシュ値を生成する。ここで、所定のハッシュ関数は、暗号学的ハッシュ関数であって、例えば、ＢＬＡＫＥが用いられる。また、生成されるハッシュ値のサイズは、例えば、２５６ビットである。
【００４４】
尚、制御部２０は、ステップＳ３において、生成された公開鍵と、所定の組織に関連付けられた値と、所定のハッシュ関数とに基づいてハッシュ値を生成してもよい。ここで、所定の組織に関連付けられた値の一例としては、所定の組織の商標に関連付けられた値である。例えば、所定の組織が商標Ｘ（例えば、“ｃｏｎｎｅｃｔＦｒｅｅ”）を使用している場合に、ハッシュ値を生成する際に商標Ｘの値が使用されてもよい。この場合、所定の組織以外の第３者が、所定の組織の許可なしに、本実施形態に係る情報処理方法を実行させるための情報処理プログラムを作成することが防止されうる。
【００４５】
次に、制御部２０は、生成されたハッシュ値が１６進数で表示されるハッシュ値のうちの先頭の２桁（先頭の１桁目及び２桁目）に関連付けられた条件を満たすかどうかを判定する（ステップＳ４）。この点において、ハッシュ値のサイズが２５６ビットの場合では、ハッシュ値は１６進数の６４桁で表示される。例えば、６４桁で表示されたハッシュ値のうちの先頭の２桁が“ＦＣ”である（つまり、ハッシュ値＝ＦＣ・・・）場合に、制御部２０は、ハッシュ値がステップＳ４の判定条件を満たすと判定してもよい。ステップＳ４の判定条件がＹＥＳの場合には、本処理はステップＳ５に進む。一方、ステップＳ４の判定条件がＮＯである場合には、本処理はステップＳ１に進む。つまり、ステップＳ４の判定条件が満たされるまでステップＳ１〜Ｓ３の処理が繰り返し実行される。
【００４６】
次に、制御部２０は、ステップＳ５において、ハッシュ値が装置２の種類に関連付けられた条件を満たすかどうかを判定する（ステップＳ５）。この点において、１６進数で表示されるＩＰアドレスの先頭から３桁目と４桁目の値に応じて当該ＩＰアドレスに関連付けられた装置２の種類が特定できるものとする。例えば、ＩＰアドレスの先頭から３桁目と４桁目の値と装置の種類が以下の関係を有するものとする。 
【表１】
2020049754.tif 000003
【００４７】
ここで、１６進数で表示されたハッシュ値の３桁目と４桁目の値が装置２の種類に対応するＩＰアドレスの先頭から３桁目と４桁目の値に一致する場合に、ステップＳ５の判定条件が満たされる。例えば、装置２の種類がパーソナルコンピュータであると仮定する。この場合、装置２のＩＰアドレスの先頭から３桁目と４桁目の値は“００”となるため、１６進数で表示されたハッシュ値の先頭から３桁目と４桁目の値が“００”であれば（つまり、ハッシュ値＝ＦＣ００・・・）、ステップＳ５の判定条件が満たされる。一方、ハッシュ値の先頭から３桁目と４桁目の値が“１１”であれば（つまり、ハッシュ値＝ＦＣ１１・・・）、ステップＳ５の判定条件は満たされない。ステップＳ５の判定条件がＹＥＳの場合には、本処理はステップＳ６に進む。一方、ステップＳ５の判定条件がＮＯである場合には、本処理はステップＳ１に進む。つまり、ステップＳ５の判定条件が満たされるまでステップＳ１〜Ｓ３の処理が繰り返し実行される。なお、ステップＳ５を省略する構成としてもよい。
【００４８】
次に、制御部２０は、ステップＳ４，Ｓ５の判定条件を満たしたハッシュ値に基づいて装置２のＩＰアドレスを決定する（ステップＳ６）。例えば、ハッシュ値のサイズが２５６ビットであって、ＩＰｖ６に対応するＩＰアドレス（１２８ビット）が装置２のＩＰアドレスとして使用される場合、制御部２０は、６４桁のハッシュ値のうち前半の３２桁のハッシュ値を装置２のＩＰアドレスとして決定してもよい。また、ハッシュ値のサイズが１２８ビットであって、ＩＰｖ６に対応するＩＰアドレス（１２８ビット）が装置２のＩＰアドレスとして使用される場合、制御部２０は、３２桁のハッシュ値の全ての値を装置２のＩＰアドレスとして決定してもよい。さらに、ハッシュ値のサイズが２５６ビットであって、ＩＰｖ４に対応するＩＰアドレス（３２ビット）が装置２のＩＰアドレスとして使用される場合、制御部２０は、６４桁のハッシュ値のうち前半の８桁のハッシュ値を装置２のＩＰアドレスとして決定してもよい。
【００４９】
尚、ステップＳ６の処理の後に、決定された装置２のＩＰアドレスが他の装置のＩＰアドレスと重複しているかどうかを判定するステップが設けられてもよい。具体的には、ステップＳ６の処理の後に、装置２は、通信ネットワークを介して、ＩＰアドレスを管理する管理サーバに装置２のＩＰアドレスに関する情報を送信する。管理サーバは、装置２から送信されたＩＰアドレスが自身の記憶装置に保存されたＩＰアドレス管理テーブルに含まれるＩＰアドレスの一つと重複するかどうかを判定する。ここで、装置２のＩＰアドレスがＩＰアドレス管理テーブルに含まれるＩＰアドレスの一つに重複する場合には、管理サーバは、ＩＰアドレスの登録を拒絶する旨のメッセージを装置２に送信してもよい。この場合、装置２は、再度ステップＳ１からＳ６の処理を実行した後に再度決定されたＩＰアドレスに関する情報を管理サーバに送信する。一方、装置２のＩＰアドレスがＩＰアドレス管理テーブルに含まれるＩＰアドレスのいずれにも重複していない場合には、管理サーバは、ＩＰアドレスの登録を許可する旨のメッセージを装置２に送信してもよい。
【００５０】
次に、ステップＳ７において、制御部２０は、生成された公開鍵に関連付けられた電子証明書を所定の組織の認証局から取得する。すなわち、装置２のユーザは、公開鍵を認証局に登録すると共に、登録された公開鍵に関連した電子証明書を認証局から取得する。より具体的には、制御部２０は、通信ネットワークを介して認証局のサーバに公開鍵と電子証明書の発行要求（証明書署名要求）を送信する。次に、認証局のサーバは、受信した電子証明書の発行要求に応じて、公開鍵を登録すると共に、当該公開鍵に関連付けられた電子証明書を発行する。その後、認証局のサーバは、通信ネットワークを介して電子証明書を装置２に送信する。
【００５１】
尚、所定の組織の認証局は、所定の組織の中間認証局であってもよい。また、公開鍵に関連した電子証明書を認証局から取得する際には所定の手数料の支払いが必要であってもよい。
【００５２】
本実施形態によれば、装置２の公開鍵に基づいて装置２に固有のＩＰアドレスが決定される。このように、装置２自身によって決定されたＩＰアドレスを用いて装置２をインターネット等の通信ネットワークに接続させることができる。特に、装置２は、ＩＳＰ等のグローバルＩＰアドレスを管理するサービス事業者（サーバ）を介せずに、装置２自身によって決定されたＩＰアドレスを用いてインターネットに接続することができる。この点において、図３に示すように、装置２を操作するユーザＵは、装置２自身によって決定されたＩＰアドレスを利用することで、無線ＬＡＮルータ３を介して所定のルーティングによってインターネット４上のＷＥＢサーバ６にアクセスすることができる。さらに、装置２は、プライベートＩＰアドレスを管理するサーバ（例えば、ＤＨＣＰサーバ）を介せずに、装置２自身によって決定されたＩＰアドレスを用いて外部装置と直接通信することができる（詳細については後述する）。
【００５３】
したがって、インターネット等の通信ネットワークへの接続に対するユーザ体験又はユーザの利便性を向上させることが可能な情報処理方法及び装置２を提供することができる。
【００５４】
また、本実施形態によれば、ステップＳ４，Ｓ５の条件を満たすハッシュ値を生成することができる。つまり、ステップＳ４，Ｓ５の条件を満たすハッシュ値に関連付けられたＩＰアドレスを生成することが可能となる。
【００５５】
具体的には、１６進数で表示されたハッシュ値のうちの先頭の２桁の値を固定値（例えば、ハッシュ値＝ＦＣ・・・）にすることができる。つまり、ＩＰアドレスの先頭の２桁の値を固定値（例えば、ＩＰアドレス＝ＦＣ・・・）にすることができる。このため、第三者は、装置２のＩＰアドレスが装置２自身によって決定されたＩＰアドレスであるかどうかを判別することができる。
【００５６】
さらに、本実施形態では、装置２の種類に応じたハッシュ値を生成することができる。つまり、装置２の種類に応じたＩＰアドレスを生成することができる。このため、第三者は、装置２のＩＰアドレスに基づいて装置２の種類を特定することができる。
【００５７】
また、本実施形態では、ステップＳ４，Ｓ５の判定条件が満たされるまで繰り返しハッシュ値が生成されるので、ステップＳ４，Ｓ５の条件を満たすハッシュ値に関連付けられたＩＰアドレスを確実に生成することができる。
【００５８】
また、本実施形態によれば、電子証明書の取得を通じて公開鍵が認証局によって直接的に認証されると共に、公開鍵に基づいて決定されるＩＰアドレスも間接的に認証局によって認証される。このように、装置２は、認証局によって間接的に認証されたＩＰアドレスを用いてインターネット等の通信ネットワークに接続することができる。
【００５９】
尚、本実施形態の説明では、装置２の乱数発生器を用いて装置２の秘密鍵が生成されるが、装置２の秘密鍵は、装置２に通信可能に接続された外部装置によって提供されてもよい。また、図２に示す各ステップの順番は特に限定されるものではない。例えば、ステップＳ７の処理の後にステップＳ６の処理が実行されてもよい。
【００６０】
また、公開鍵に関連付けられた電子証明書は、装置２の属性に関連する情報（属性情報）を含んでもよい。装置２の属性情報は、例えば、装置２のＯＳプログラムのバージョン情報及び装置２を構成するハードウェア（例えば、プロセッサや記憶装置等）のシリアル番号に関する情報のうちの少なくとも一つを含んでもよい。また、電子証明書に含まれた装置２の属性情報は、ハッシュ関数等によって暗号化されてもよい。この場合、装置２は、公開鍵及び電子証明書の発行要求（証明書署名要求）を送信する際に、装置２の属性情報を認証局のサーバに送信してもよい。このように、装置２の属性情報が電子証明書に含まれているため、装置２の要求に従って電子証明書が発行されたことが認証される。このため、装置２以外の他の装置が装置２の公開鍵と電子証明書を用いることが好適に防止される。
【００６１】
また、電子証明書は、装置２に関連付けられたユーザ（例えば、装置２を所有するユーザ）の属性情報を含んでもよい。例えば、ユーザの属性情報の一例としては、ユーザの氏名、識別番号、連絡先、年齢、性別、住所又はクレジットカード情報である。このように、ユーザの属性情報が電子証明書に含まれているため、当該ユーザ以外の第三者が装置２の公開鍵と電子証明書を用いることが好適に防止される。さらに、装置２がユーザの属性情報を含む電子証明書をＷＥＢサーバに送信する場合には、ＷＥＢサーバは電子証明書に含まれるユーザ属性情報を確認することができる。このため、装置２のユーザは、ユーザ情報等を登録せずに、当該ＷＥＢサーバによって提供されるオンラインサービス（ＥＣサイト等）を利用することができる。つまり、装置２のユーザは、各オンラインサービスのログイン情報（ログインＩＤとログインパスワード）を管理する手間から解放されうるため、ユーザにリッチなオンライン体験を提供することが可能となる。
【００６２】
また、電子証明書に記載された装置２の属性情報及び／又はユーザの属性情報（以下、単に「属性情報」という場合がある。）のハッシュ値が電子証明書に含まれてもよい。当該ハッシュ値は、属性情報と暗号学的ハッシュ関数とに基づいて生成される。この場合、電子証明書に記載された属性情報が第三者によって改ざんされた場合には当該ハッシュ値が変化するため、ハッシュ値に基づいて属性情報の改ざんを検出することができる。例えば、装置２が電子証明書を外部装置に送信する場合、外部装置は電子証明書の属性情報のハッシュ値を演算することで、演算されたハッシュ値が電子証明書に示されるハッシュ値と一致するかどうかを判定する。ここで、演算されたハッシュ値が電子証明書に示されるハッシュ値と一致すれば、外部装置は電子証明書の属性情報が改ざんされていないと判定する。一方、両者が一致しなければ、外部装置は電子証明書の属性情報が改ざんされたと判定する。
【００６３】
また、電子証明書に記載された全ての記載内容のハッシュ値が電子証明書に含まれてもよい。この場合も同様に、電子証明書に記載された一部の内容が第三者によって改ざんされた場合には、当該ハッシュ値が変化するため、ハッシュ値に基づいて電子証明書の記載内容が第三者によって改ざんされたことを検出することができる。
【００６４】
上述したように、電子証明書は、装置２の属性情報及び／又はユーザの属性情報を含んでいる。この場合、電子証明書に記載された全ての属性情報が外部装置に伝達されてもよいし、電子証明書に記載された一部の属性情報が外部装置に非伝達となっていてもよい。つまり、電子証明書に記載された一部の属性情報がハッシュ関数によってハッシュされてもよい。例えば、図８に示すように、ユーザは、装置２に対する入力操作を通じて、電子証明書８に記載されたユーザ属性情報４０のうち住所及びクレジットカード情報等をハッシュすることができる。このように、装置２から電子証明書８を受信した外部装置は、電子証明書８に記載のユーザ属性情報４０のうち住所及びクレジットカード情報を特定できない一方で、住所及びクレジットカード情報以外のユーザ属性情報４０を特定することができる。
【００６５】
また、図８に示すように、全ての属性情報が表示状態となっている場合の全ての属性情報のハッシュ値は、一部の属性情報が非表示（ハッシュ）状態となっている場合の全ての属性情報のハッシュ値と一致する。同様に、全ての属性情報が表示状態となっている場合の電子証明書に記載された全ての記載内容のハッシュ値は、一部の属性情報が非表示（ハッシュ）状態となっている場合の電子証明書に記載された全ての記載内容のハッシュ値と一致する。つまり、属性情報の一部がハッシュされていても全ての属性情報のハッシュ値又は電子証明書に記載された全ての記載内容のハッシュ値は変化しないため、ハッシュ値に基づいて、第三者による電子証明書の改ざんを容易に検出することができる。
【００６６】
また、一部の属性情報の非表示（ハッシュ化）は、ユーザによって予め設定されてもよいし、外部装置からの要求に応じて変更可能であってもよい。尚、ハッシュ値と元の情報との間の関係を示すデータベースを参照することで、属性情報のハッシュ値に基づいて元の属性情報が把握されてしまう状況が想定される。かかる状況を防ぐために、所定の係数と元の属性情報とに基づいて元の属性情報がハッシュされてもよい。この場合、所定の係数は、定数であってもよいし、所定の情報（例えば、電子証明書の日付情報等）に基づいて変化する変数であってもよい。
【００６７】
次に、図４及び図５を主に参照して本実施形態に係る情報処理システム３０について以下に説明する。図４は、情報処理装置２Ａ（以下、単に「装置２Ａ」という。）と、情報処理装置２Ｂ（以下、単に「装置２Ｂ」という。）を含む情報処理システム３０を示す図である。図５は、外部装置のＩＰアドレスを決定する処理の一例を説明するためのフローチャートである。
【００６８】
尚、本実施形態の情報処理システム３０では、説明を簡略化するために、互いに通信可能に接続される情報処理装置の数を２つとしているが、互いに通信可能に接続される情報処理装置の数は３つ以上であってもよい。また、装置２Ａ，２Ｂの各々は、図１に示す装置２のハードウェア構成を有するものとする。
【００６９】
さらに、装置２Ａ，２Ｂの各々は、図２に示すＩＰアドレスを決定する処理を既に実行しているものとする。即ち、装置２Ａは、装置２ＡのＩＰアドレスを決定する処理を既に実行しているものとする。このため、装置２Ａは、図４に示すように、装置２ＡのＩＰアドレスに関連付けられた公開鍵７Ａを既に生成していると共に、公開鍵７Ａに関連付けられた電子証明書８Ａを認証局から既に取得しているものとする。同様に、装置２Ｂは、装置２ＢのＩＰアドレスを決定する処理を既に実行しているものとする。このため、装置２Ｂは、図４に示すように、装置２ＢのＩＰアドレスに関連付けられた公開鍵７Ｂを既に生成していると共に、公開鍵７Ｂに関連付けられた電子証明書８Ｂを認証局から既に取得しているものとする。
【００７０】
図５に示すように、ステップＳ１０において、装置２Ａ（具体的には、装置２Ａの制御部２０）は、装置２Ａの外部に向けて公開鍵７Ａと公開鍵７Ａに関連付けられた電子証明書８Ａを送信（ブロードキャスト）する。その後、装置２Ａの付近に存在する装置２Ｂは、装置２Ａからブロードキャストされた公開鍵７Ａと電子証明書８Ａを受信する。また、ステップＳ１１において、装置２Ｂ（具体的には、装置２Ｂの制御部２０）は、装置２Ｂの外部に向けて公開鍵７Ｂと公開鍵７Ｂに関連付けられた電子証明書８Ｂを送信（ブロードキャスト）する。その後、装置２Ａは、装置２Ｂからブロードキャストされた公開鍵７Ｂと電子証明書８Ｂを受信する。尚、ステップＳ１１の処理は、ステップＳ１０の処理と同時に実行されてもよいし、ステップＳ１０の処理よりも前に実行されてもよい。
【００７１】
次に、ステップＳ１２において、装置２Ｂは、装置２Ａからブロードキャストされた電子証明書８Ａが正当であるかどうかを判定する。ここで、図６を参照して電子証明書８Ａの正当性を判定する処理（つまり、ステップＳ１２の処理）について以下に説明する。
【００７２】
図６に示すように、ステップＳ２０において、装置２Ｂは、電子証明書８Ａの完全性を判定する。具体的には、装置２Ｂは、電子証明書８Ａの所有者情報、電子証明書８Ａの発行者情報及び発行者のデジタル署名を確認する。次に、ステップＳ２１において、装置２Ｂは、電子証明書８Ａの有効期限を判定する。その後、ステップＳ２２において、装置２Ｂは、電子証明書８Ａの発行元の信頼性を判定する。特に、電子証明書８Ａを発行した認証局が中間認証局である場合、装置２Ｂは、電子証明書８Ａを発行した中間認証局のルート認証局を特定すると共に、当該特定されたルート認証局が信頼できるかどうかを判定する。例えば、当該特定されたルート認証局が装置２Ｂのメモリに保存された複数のルート認証局に関する情報に含まれている場合には、電子証明書８Ａの発行元が信頼できると判定する。
【００７３】
図５に戻ると、装置２Ｂは、電子証明書８Ａが正当であると判定すると、公開鍵７Ａと所定のハッシュ関数とに基づいてハッシュ値を生成する（ステップＳ１３）。ここで、所定のハッシュ関数は、既に説明したように、ＢＬＡＫＥ等の暗号学的ハッシュ関数である。また、本実施形態では、装置２Ｂが使用するハッシュ関数と装置２Ａが使用するハッシュ関数は同一であるものとする。
【００７４】
次に、ステップＳ１４において、装置２Ｂは、生成されたハッシュ値に基づいて装置２ＡのＩＰアドレスを決定する。例えば、既に説明したように、ハッシュ値のサイズが２５６ビットであって、ＩＰｖ６に対応するＩＰアドレス（１２８ビット）が装置２ＡのＩＰアドレスとして使用される場合、装置２Ｂは、６４桁のハッシュ値のうち前半の３２桁のハッシュ値を装置２ＡのＩＰアドレスとして決定してもよい。
【００７５】
一方、装置２Ａは、ステップＳ１５において、装置２Ｂからブロードキャストされた電子証明書８Ｂが正当であるかどうかを判定する。ステップＳ１５の具体的な処理の内容は、図６に示したとおりである。次に、装置２Ａは、電子証明書８Ｂが正当であると判定すると、公開鍵７Ｂと所定のハッシュ関数とに基づいてハッシュ値を生成する（ステップＳ１６）。また、既に説明したように、装置２Ａが使用するハッシュ関数は、装置２Ｂが使用するハッシュ関数と同一のものである。
【００７６】
その後、ステップＳ１７において、装置２Ａは、生成されたハッシュ値に基づいて装置２ＢのＩＰアドレスを決定する。ステップＳ１４の処理と同様に、ハッシュ値のサイズが２５６ビットであって、ＩＰｖ６に対応するＩＰアドレス（１２８ビット）が装置２ＢのＩＰアドレスとして使用される場合、装置２Ａは、６４桁のハッシュ値のうち前半の３２桁のハッシュ値を装置２ＢのＩＰアドレスとして決定してもよい。
【００７７】
このように、装置２Ａは、装置２Ａ，２ＢのＩＰアドレスを知ることができると共に、装置２Ｂは、装置２Ａ，２ＢのＩＰアドレスを知ることができる。したがって、装置２Ａ，２ＢはＩＰアドレスを管理するサーバを介せずに互いに直接接続されうる（つまり、サーバを介さない装置２Ａ，２Ｂとの間のＰ２Ｐ通信が実現されうる）。特に、バーチャルプライベートネットワーク（ＶＰＮ）サーバを中継して装置２Ａ，２Ｂを接続する必要がないため、装置２Ａ，２Ｂ間の直接接続において必要とされる消費電力が大幅に低減されうる。また、３以上の装置間を直接接続する際にもＶＰＮサーバを中継する必要がないため、３以上の装置間の直接接続において必要とされる消費電力が大幅に低減されうる。
【００７８】
例えば、装置２Ａはメールサーバ等を介さずに装置２Ｂにメッセージを送信することができるため、装置２Ａのメッセージが第三者（例えば、サーバ管理者等）に把握される状況を回避することが可能となる。さらに、装置２Ａは、ＶＰＮサーバを介さずに装置２Ａのスクリーン画面を示す画像データを装置２Ｂに送信することができる。一方で、装置２Ｂは、ＶＰＮサーバを介さずに装置２Ａのスクリーン画面を操作するための操作信号を装置２Ａに送信することができる。このように、装置２Ｂのユーザは、装置２Ａをリモート操作することが可能となる。また、装置２Ａと装置２Ｂは、ファイル交換サーバを介さずに電子ファイルを互いに共有することができる。このため、共有される電子ファイルが第三者に把握される状況を回避することが可能できる。
【００７９】
また、装置２Ａが装置２Ｂにメッセージを送信する場合（又は、装置２Ｂが装置２Ａにメッセージを送信する場合）には、送信メッセージ（送信パケット）は暗号化されてもよい。例えば、送信メッセージは、装置２Ａの公開鍵７Ａと装置２Ｂの公開鍵７Ｂに基づいて生成される共通鍵によって暗号化されてもよい。また、装置２Ａと装置２Ｂとのセッションが確立される度に当該共通鍵は変更されてもよい。このように、装置２Ａと装置２Ｂとの間のセキュアな通信を実現することが可能となる。
【００８０】
また、本実施形態によれば、外部装置から送信された電子証明書が正当であると判定された場合に、外部装置の公開鍵に基づいて外部装置のハッシュ値が生成される。その後、外部装置のハッシュ値に基づいて外部装置のＩＰアドレスが決定される（ここで、装置２Ａから見た場合では装置２Ｂが外部装置となる一方で、装置２Ｂから見た場合には装置２Ａが外部装置となる。）。このように、装置２Ａは、受信した公開鍵７Ｂが装置２Ｂの公開鍵であることを確認することができる。さらに、装置２Ａは、公開鍵７Ｂに基づいて生成されたＩＰアドレスが装置２ＢのＩＰアドレスであることを確認することができる。したがって、装置２Ａは、装置２ＢのＩＰアドレスを確実に取得することができると共に、装置２ＢのＩＰアドレスを用いて装置２Ｂと確実に通信することが可能となる。
【００８１】
一方、装置２Ｂは、受信した公開鍵７Ａが装置２Ａの公開鍵であることを確認することができる。さらに、装置２Ｂは、公開鍵７Ａに基づいて生成されたＩＰアドレスが装置２ＡのＩＰアドレスであることを確認することができる。したがって、装置２Ｂは、装置２ＡのＩＰアドレスを確実に取得することができると共に、装置２ＡのＩＰアドレスを用いて装置２Ａと確実に通信することができる。
【００８２】
また、上記したように、本実施形態に係る情報処理システムは３つ以上の情報処理装置を有してもよい。例えば、図７に示すように、情報処理システム３０Ａが４つの情報処理装置２Ａ〜２Ｄ（以下、単に「装置２Ａ〜２Ｄ」という。）を有する場合を想定する。ここで、装置２Ａ〜２Ｄの各々は図１に示す装置２のハードウェア構成を有するものとする。この場合、装置２Ａ〜２Ｄの各々は、図５に示す装置２Ａ又は装置２Ｂによって実行される各処理を実行する。
【００８３】
この点において、装置２Ａは、外部に向けて装置２Ａの公開鍵と電子証明書をブロードキャストすると共に、装置２Ａの付近に存在する装置２Ｂ〜２Ｄの各々から公開鍵と電子証明書を受信する。装置２Ｂは、外部に向けて装置２Ｂの公開鍵と電子証明書をブロードキャストする共に、装置２Ａ，２Ｃ，２Ｄの各々から公開鍵と電子証明書を受信する。装置２Ｃは、外部に向けて装置２Ｃの公開鍵と電子証明書をブロードキャストすると共に、装置２Ａ，２Ｂ，２Ｄの各々から公開鍵と電子証明書を受信する。装置２Ｄは、外部に向けて装置２Ｄの公開鍵と電子証明書をブロードキャストすると共に、装置２Ａ〜２Ｃの各々から公開鍵と電子証明書を受信する。
【００８４】
その後、装置２Ａは、装置２Ｂ〜装置２ＤのＩＰアドレスを決定する。装置２Ｂは、装置２Ａ，２Ｃ，２ＤのＩＰアドレスを決定する。装置２Ｃは、装置２Ａ，２Ｂ，２ＤのＩＰアドレスを決定する。装置２Ｄは、装置２Ａ〜２ＣのＩＰアドレスを決定する。このように、装置２Ａ〜２Ｄの各々は、装置２Ａ〜２ＤのＩＰアドレスを用いて３つの外部装置と直接接続されうる。換言すれば、装置２Ａ〜２Ｄによってメッシュネットワークが構成されうる。また、装置２Ａ〜２Ｄの接続には通信ネットワークにおける所定のルーティングを介してもよい。装置２Ａ〜２Ｄは最適な経路を形成して互いに接続されうる。
【００８５】
また、図７に示す情報処理システム３０Ａでは、装置２Ａ〜２Ｄの各々が同一のハッシュ関数を用いるため、装置２Ａ〜２Ｄによってメッシュネットワークが構成されているが、本実施形態はこれに限定されるものではない。
【００８６】
例えば、装置２Ａ，２Ｂが第１ハッシュ関数を用いる一方で、装置２Ｃ，２Ｄが第１ハッシュ関数とは異なる第２ハッシュ関数を用いてもよい。この場合、装置２Ａ，２Ｂが互いに通信可能に接続されると共に、装置２Ｃ，２Ｄが互いに通信可能に接続される。一方で、装置２Ａ，２Ｂは、装置２Ｃ，２Ｄとは通信可能に接続されない。このように、異なる２つのハッシュ関数を用いることで情報処理システム３０Ａ内において２つの通信ネットワークグループを構築することができる。
【００８７】
また、本実施形態に係る装置２をソフトウェアによって実現するためには、情報処理プログラムが記憶装置２３又はＲＯＭに予め組み込まれていてもよい。或いは、情報処理プログラムは、磁気ディスク（例えば、ＨＤＤ、フロッピーディスク）、光ディスク（例えば、ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙ（登録商標）ディスク）、光磁気ディスク（例えば、ＭＯ）、フラッシュメモリ（例えば、ＳＤカード、ＵＳＢメモリ、ＳＳＤ）等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、コンピュータ読取可能な記憶媒体に格納された情報処理プログラムが記憶装置２３に組み込まれてもよい。さらに、記憶装置２３に組み込まれた当該情報処理プログラムがＲＡＭ上にロードされた上で、プロセッサがＲＡＭ上にロードされた当該情報処理プログラムを実行してもよい。このように、本実施形態に係る情報処理方法が装置２によって実行される。
【００８８】
また、情報処理プログラムは、インターネット等の通信ネットワーク上のサーバの記憶媒体（例えば、ＨＤＤ）に格納されてもよい。この場合、情報処理プログラムは、当該サーバからネットワークインターフェース２５を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該情報処理プログラムが記憶装置２３に組み込まれてもよい。
【００８９】
また、本実施形態に係る情報処理プログラム（情報処理方法）は、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルにおけるネットワーク層によって実行される。このため、ＯＳＩ参照モデルのトランスポート層、セッション層、プレゼンテーション層及びアプリケーション層においてセキュアな通信を実現できると共に、既存のアプリケーションプログラム及び物理インフラがそのまま適用可能となる。
【００９０】
以上、本発明の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。
【００９１】
例えば、図２に示すステップＳ７の処理において、装置２は、複数の組織の認証局から装置２の公開鍵に関連付けられた電子証明書を取得してもよい。また、電子証明書は、認証局の組織の属性に関連した情報を含んでもよい。例えば、電子証明書が組織Ｘの認証局から発行された場合には、電子証明書は組織Ｘの属性に関連した情報を含んでもよい。
【００９２】
また、図４に示すように、装置２Ａは、複数の別々の組織の認証局から複数の電子証明書８Ａを取得すると共に、装置２Ｂは、複数の別々の組織の認証局から複数の電子証明書８Ｂを取得するものとする。この場合、装置２Ａは、ステップＳ１０において、公開鍵７Ａと複数の電子証明書８Ａを装置２Ｂに送信する。また、装置２Ｂは、ステップＳ１１において、公開鍵７Ｂと複数の電子証明書８Ｂを装置２Ａに送信する。さらに、装置２Ｂは、ステップＳ１２において、複数の電子証明書８Ａの各々が正当であるかどうかを判定した後に、複数の電子証明書８Ａを発行した複数の認証局の組織のうちの少なくとも一つが装置２Ｂのメモリに保存された複数の認証局の組織を示す組織リストに含まれるかどうかを判定してもよい。具体的には、装置２Ｂは、電子証明書８Ａに含まれる組織の属性に関連した情報と組織リストに基づいて、複数の電子証明書８Ａを発行した複数の認証局の組織のうちの少なくとも一つが組織リストに含まれるかどうかを判定してもよい。装置２Ｂは、複数の電子証明書８Ａを発行した複数の認証局の組織のうちの少なくとも一つが組織リストに含まれる場合に、ステップＳ１３，Ｓ１４の処理を実行してもよい。
【００９３】
同様に、装置２Ａは、ステップＳ１５において、複数の電子証明書８Ｂの各々が正当であるかどうかを判定した後に、複数の電子証明書８Ｂを発行した複数の認証局の組織のうちの少なくとも一つが装置２Ａのメモリに保存された複数の組織を示す組織リストに含まれるかどうかを判定してもよい。具体的には、装置２Ａは、電子証明書８Ｂに含まれる組織の属性に関連した情報と組織リストに基づいて、複数の電子証明書８Ｂを発行した複数の認証局の組織のうちの少なくとも一つが組織リストに含まれるかどうかを判定してもよい。装置２Ａは、複数の電子証明書８Ｂを発行した複数の組織のうちの少なくとも一つが組織リストに含まれる場合に、ステップＳ１６，Ｓ１７の処理を実行してもよい。
【００９４】
このように、公開鍵７Ａの電子証明書を発行した組織が装置２Ｂに保存された組織リストに含まれると共に、公開鍵７Ｂの電子証明書を発行した組織が装置２Ａに保存された組織リストに含まれる場合に、装置２Ａと装置２Ｂは互いに直接的に接続されうる。つまり、電子証明書を発行した組織に関連した条件に応じて通信相手を選択することができると共に、情報処理システム内において複数の通信ネットワークグループを構築することが可能となる。
【００９５】
また、上記例では、装置２Ａ，２Ｂは複数の電子証明書を取得しているが、装置２Ａ，２Ｂが一つの電子証明書を取得する場合でも、電子証明書を発行した組織に関連した判定条件に関連する処理が適用されてもよい。例えば、装置２Ａの電子証明書を発行した認証局の組織と装置２Ｂの電子証明書を発行した認証局の組織が互いに異なる場合に、ステップＳ１３，Ｓ１４の処理（ステップＳ１６，Ｓ１７）の処理が実行されなくてもよい。
【００９６】
尚、本実施形態では、装置２Ａ，２Ｂのネットワークアドレスの一例としてインターネットプロトコルに対応したネットワークアドレスであるＩＰアドレスについて説明しているが、ネットワークアドレスはＩＰアドレスに限定されるものではない。例えば、装置２Ａ，２Ｂのネットワークアドレスは、インターネットプロトコル以外の所定の通信プロトコルに対応したネットワークアドレスであってもよい。
【００９７】
本出願は、２０１８年９月５日に出願された日本国特許出願（特願２０１８−１６６４２９号）に開示された内容を適宜援用する。
【図１】
2020049754.tif 000004
【図２】
2020049754.tif 000005
【図３】
2020049754.tif 000006
【図４】
2020049754.tif 000007
【図５】
2020049754.tif 000008
【図６】
2020049754.tif 000009
【図７】
2020049754.tif 000010
【図８】
2020049754.tif 000011
【国際調査報告】
2020049754.tif 000012
2020049754.tif 000013
2020049754.tif 000014
2020049754.tif 000015