(57)【要約】【課題】追加のコストを必要とせずに、なりすましを試みるブラックハットを検出することのできるサーバや情報端末を提供すること。【解決手段】Ｂ情報端末はＡ情報Ｐａ’及びＢ情報Ｐｂを任意の演算によって演算したＦ（Ｐａ’，Ｐｂ）を生成しＦ（Ｐａ’，Ｐｂ）をサーバに送信し、サーバはＢ認識票とＦ（Ｐａ’，Ｐｂ）とを関連づけて記憶し、Ｃ情報端末はＡ情報Ｐａ’’及びＢ情報Ｐｂ’’を任意の演算によって演算したＦ（Ｐａ’’，Ｐｂ’’）を生成しＦ（Ｐａ’’，Ｐｂ’’）をサーバに送信し、サーバはＣ認識票とＦ（Ｐａ’’，Ｐｂ’’）とを関連づけて記憶し、サーバは受信し記憶したＦ（Ｐａ’，Ｐｂ）と一致する演算結果を検索し、一致した演算結果に各々関連づけられている認識票をＢ情報端末に送り、Ｂ情報端末はサーバから送られた認識票中でＢ認識票と異なる認識票を検索する。【選択図】図１
2009003690.tif 000002
【特許請求の範囲】
【請求項１】
利用者Ａの情報Ｐａ’及び利用者Ｂの情報Ｐｂを記憶する利用者Ｂの情報端末と、
利用者Ａの情報Ｐａ’’及び利用者Ｂの情報Ｐｂ’’を記憶する利用者Ｃの情報端末と、
サーバと、
を有するシステムであって、
前記利用者Ｂの情報端末は、前記利用者Ａの情報Ｐａ’及び前記利用者Ｂの情報Ｐｂを任意の演算によって演算した第１の演算結果Ｆ（Ｐａ’，Ｐｂ）を生成し、前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）を前記サーバに登録のために送信し、
前記サーバは、利用者Ｂの認識票と前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）とを関連づけて記憶し、
前記利用者Ｃの情報端末は、前記利用者Ａの情報Ｐａ’’及び前記利用者Ｂの情報Ｐｂ’’を前記任意の演算によって演算した第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）を生成し、前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）を前記サーバに登録のために送信し、
前記サーバは、利用者Ｃの認識票と前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）とを関連づけて記憶し、
前記サーバは、前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）と一致する演算結果を検索し、前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）と一致する第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）が関連づけられている認識票、または前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）が前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）と一致したことを示すフラグ情報を前記利用者Ｂの情報端末に送ることを特徴とするシステム。
【請求項２】
利用者Ｂの情報端末において生成された、利用者Ａの情報Ｐａ’及び利用者Ｂの情報Ｐｂを任意の演算によって演算した第１の演算結果Ｆ（Ｐａ’，Ｐｂ）を受信し、利用者Ｂの認識票と前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）とを関連づけて記憶し、利用者Ｃの情報端末において生成された、利用者Ａの情報Ｐａ’’及び利用者Ｂの情報Ｐｂ’’を任意の演算によって演算した第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）を受信し、前記利用者Ｃの認識票と前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）とを関連づけて記憶することを特徴とするサーバ。
【請求項３】
前記サーバは、前記利用者Ａの情報端末で生成され、検索のために送信された利用者Ａの情報Ｐａおよび利用者Ｂの情報Ｐｂ’を任意の演算によって演算した第３の演算結果Ｆ（Ｐａ，Ｐｂ’）を受信し、
前記第３の演算結果Ｆ（Ｐａ，Ｐｂ’）と一致する演算結果を検索し、
前記検索で一致が検出された演算結果に関連づけられ記憶された認識票、または前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）が前記第３の演算結果Ｆ（Ｐａ，Ｐｂ’）と一致したことを示すフラグ情報を、前記利用者Ａの情報端末に送信することを特徴とする請求項２記載のサーバ。
【請求項４】
前記サーバは、前記利用者Ｂの情報端末より受信した前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）に基づき、前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）と等しい前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）を検出し、
一致が検出された場合には前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）に関連づけられて記憶された利用者Ｃの認識票、または前記第１演算結果Ｆ（Ｐａ’，Ｐｂ）と等しい前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）が検出されたことを示すフラグ情報を前記利用者Ｂの情報端末へ送信することを特徴とする請求項２に記載のサーバ。
【請求項５】
利用者Ａの情報端末であって、
利用者Ａの情報Ｐａ及び利用者Ｂの情報Ｐｂ’を任意の演算によって演算した第１の演算結果Ｆ（Ｐａ，Ｐｂ’）を生成する演算手段と、
前記第１の演算結果Ｆ（Ｐａ，Ｐｂ’）をサーバに送信する送信手段と、
利用者Ｂの情報端末より送られ前記サーバで利用者Ｂの認識票と関連づけられて記憶された利用者Ａの情報Ｐａ’及び利用者Ｂの情報Ｐｂを前記任意の演算によって演算した第２の演算結果Ｆ（Ｐａ’，Ｐｂ）か、または利用者Ｃの情報端末より送られ前記サーバで前記利用者Ｃの認識票と関連づけられて記憶された利用者Ａの情報Ｐａ’’および利用者Ｂの情報Ｐｂ’’を前記任意の演算によって演算した第３の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）のどちらかから、前記サーバが前記利用者Ａの情報端末から送信された前記第１の演算結果Ｆ（Ｐａ，Ｐｂ’）と一致する演算結果を検索し、前記第１の演算結果Ｆ（Ｐａ，Ｐｂ’）と前記第２演算結果Ｆ（Ｐａ’，Ｐｂ）または前記第３の前記演算結果Ｆ（Ｐａ’’，Ｐｂ’’）との一致を検出することによって前記サーバが前記利用者Ａの情報端末に送信する、前記一致を検出した演算結果に関連づけられた前記利用者Ｂまたは前記利用者Ｃの認識票、または前記第１の演算結果と前記第２の演算結果または前記第３の演算結果が一致したことを示すフラグ情報を受信する受信手段と、
を有することを特徴とする情報端末。
【請求項６】
前記情報端末は、受信した利用者Ｂまたは利用者Ｃの前記認識票のなかから、前記利用者Ｃの認識票を検索する手段を有することを特徴とする請求項５記載の情報端末。
【請求項７】
利用者Ｂの情報端末であって、
利用者Ｂの情報Ｐｂ及び利用者Ａの情報Ｐａ’を任意の演算によって演算した第１の演算結果Ｆ（Ｐａ’，Ｐｂ）を生成する演算手段と、
前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）をサーバに送信する手段と、
前記サーバが、利用者Ｃの情報端末から送られ利用者Ｃの認識票と関連づけて記憶された前記利用者Ｃの情報端末の記憶する利用者Ａの情報Ｐａ’’および利用者Ｂの情報Ｐｂ’’を前記任意の演算で演算した第２の結果Ｆ（Ｐａ’’、Ｐｂ’’）と、利用者Ｂの情報端末より前記サーバが受信した前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）との一致を検出し、前記サーバがさらに前記利用者Ｂの情報端末へ送る前記利用者Ｃの認識票か、または前記第１の演算結果と前記第２の演算結果が一致したことを示すフラグ情報を受信する手段と、
を有することを特徴とする情報端末。
【請求項８】
利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’の一部または全部及び利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂの一部または全部を記憶する利用者Ｂの情報端末と、
利用者Ａの情報Ｐ１ａ’’、Ｐ２ａ’’、・・・Ｐｎａ’’（ｎは整数）の一部または全部及び利用者Ｂの情報Ｐ１ｂ’’、Ｐ２ｂ’’、・・・、Ｐｍｂ’’（ｍは整数）の一部または全部を記憶する前記利用者Ｃの情報端末と、
サーバと、
を有するシステムであって、
前記利用者Ｂの情報端末は、前記利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’及び利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂを任意に組み合わせて任意の演算によって演算した第１の演算結果群を生成し、前記第１の算結果群を前記サーバに送信し、
前記サーバは、前記利用者Ｂの認識票と前記第１の演算結果群をなす各々の演算結果とを関連づけて記憶し、
前記利用者Ｃの情報端末は、前記利用者Ａの情報Ｐ１ａ’’、Ｐ２ａ’’、・・・Ｐｎａ’’及び前記利用者Ｂの情報Ｐ１ｂ’’、Ｐ２ｂ’’、・・・、Ｐｍｂ’’を任意に組み合わせて前記任意の演算によって演算した第２の演算結果群を生成し、前記第２の算結果群を前記サーバに送信し、
前記サーバは、前記利用者Ｃの認識票と前記第２の演算結果群をなす各々の演算結果とを関連づけて記憶し、
前記サーバは、記憶された前記第１の演算結果群をなす演算結果について、前記第２の演算結果群をなす演算結果の中から一致する演算結果を検索し、一致した演算結果に関連づけられている認識票を前記利用者Ｂの情報端末に送ることを特徴とするシステム。
【請求項９】
前記第１の演算結果群は、前記利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’及び利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂを任意に組み合わせて任意の演算によって演算したＦ（Ｐ１ａ’，Ｐ１ｂ）、・・・、Ｆ（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｍｂ）のうち一つ以上であり、前記第２の演算結果群は、（Ｐ１ａ’’，Ｐ１ｂ’’）、・・・、  Ｆ（Ｐ１ａ’’，Ｐ２ａ’’，Ｐ１ｂ’’，Ｐ２ｂ’’）、・・・、Ｆ（Ｐ１ａ’’，Ｐ２ａ’’，・・・，Ｐｎａ’’，Ｐ１ｂ’’，Ｐ２ｂ’’，・・・，Ｐｍｂ’’）のうち一つ以上であることを特徴とする請求項８記載のシステム。
【請求項１０】
利用者Ｂの情報端末において生成された、利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’（ｎは整数）及び利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂ（ｍは整数）を任意に組み合わせて任意の演算によって演算した第１の演算結果群を受信し、利用者Ｂの認識票と前記第１の演算結果群または前記第１の演算結果群をなす各々の演算結果とを関連づけて記憶し、利用者Ｃの情報端末において生成された、利用者Ａの情報Ｐ１ａ’’、Ｐ２ａ’’、・・・、Ｐ１ｎ’’（ｎは整数）を任意に組み合わせて前記任意の演算によって演算した第２の演算結果群を受信し、利用者Ｃの認識票と前記第２の演算結果群または前記第２の演算結果群をなす各々の演算結果とを関連づけて記憶することを特徴とするサーバ。
【請求項１１】
前記サーバは、前記利用者Ａの情報端末で生成され、検索のために送信された利用者Ａの利用者Ａの情報Ｐ１ａ、Ｐ２ａ、・・・、Ｐｎａ（ｎは整数）及び利用者Ｂの情報Ｐ１ｂ’、Ｐ２ｂ’、・・・、Ｐｍｂ‘（ｍは整数）を任意に組み合わせて任意の演算によって演算した第３の演算結果群を受信し、
前記利用者Ａの情報端末より送信され記憶された前記第３の演算結果群をなす演算結果と、前記第１の演算結果群および前記第２の演算結果群をなす演算結果とが一致する演算結果を検索し、
前記一致が検出された演算結果に関連づけられ記憶された認識票、または第３の演算結果群をなす演算結果と第２の演算結果群をなす演算結果が一致したことを示すフラグ情報を、前記利用者Ａの情報端末に送信することを特徴とする請求項１０記載のサーバ。
【請求項１２】
前記サーバは、前記利用者Ｂの情報端末より受信した前記第１の演算結果群をなす演算結果の各々と一致する前記第２の演算結果群をなす演算結果を検出し、一致が検出された場合は、前記第２の演算結果群に関連づけられて記憶された利用者Ｃの認識票、または前記第１の演算結果群をなす演算結果と前記第２の演算結果群をなす演算結果との一致が検出されたことを示すフラグ情報を前記利用者Ｂの情報端末へ送信することを特徴とする請求項１０記載のサーバ。
【請求項１３】
利用者Ａの情報端末であって、
利用者Ａの情報Ｐ１ａ、Ｐ２ａ、・・・Ｐｎａの一部または全部、及び利用者Ｂの情報Ｐ１ｂ’、Ｐ２ｂ’、・・・、Ｐｍｂ’の一部または全部を任意に組み合わせて任意の演算によって演算した第１の演算結果群を生成する演算手段と、
前記第１の演算結果群をサーバに送信する手段と、
利用者Ｂの情報端末より送られ前記サーバで利用者Ｂの認識票と関連づけられて記憶された利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・Ｐｎａ’および利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・Ｐｍｂの一部または全部を任意に組み合わせて前記任意の演算によって演算した第２の演算結果群をなす任意の演算結果か、または利用者Ｃの端末より送られ前記サーバで前記利用者Ｃの認識票と関連づけられて記憶された利用者Ａの情報Ｐ１ａ’’、Ｐ２ａ’’、・・・Ｐｎａ’’および利用者Ｂの情報Ｐ１ｂ’’、Ｐ２ｂ’’、・・・、Ｐｍｂ’’の一部または全部を任意に組み合わせて前記任意の演算によって演算した第３の演算結果群をなす任意の演算結果か、のどちらかから、前記サーバが利用者Ａの情報端末から送信された前記第１の演算結果群をなす演算結果と一致する演算結果を検索し、前記一致を検出することによって前記サーバが前記利用者Ａの情報端末に送信する、前記一致を検出した演算結果に関連づけられた前記利用者Ｂの認識票または前記利用者Ｃの認識票、または前記第１の演算結果群をなす演算結果と前記第２の演算結果群をなす演算結果または前記第３の演算結果群をなす演算結果が一致したことを示すフラグ情報を受信する受信手段と、
を有することを特徴とする情報端末。
【請求項１４】
前記情報端末は、受信した前記利用者Ｂまたは前記利用者Ｃの認識票のなかから、前記利用者Ｃの認識票を検索する手段を有することを特徴とする請求項１３記載の情報端末。
【請求項１５】
利用者Ｂの情報端末であって、
利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂの一部または全部と、利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’の一部または全部とを、任意に組み合わせて任意の演算によって演算した前記第１の演算結果群を生成する演算手段と、
前記第１の演算結果群をサーバに送信する手段と、
前記サーバが、利用者Ｃの情報端末から送られ利用者Ｃの認識票と関連づけて記憶された、前記利用者Ｃの情報端末の記憶する利用者Ａの情報Ｐ１ａ’’、Ｐ２ａ’’、・・・Ｐｎａ’’および利用者Ｂの情報Ｐ１ｂ’’、Ｐ２ｂ’’、・・・、Ｐｍｂ’’を任意に組み合わせて前記任意の演算で演算した第２の演算結果群をなす演算結果と、利用者Ｂの情報端末より前記サーバが受信した前記第１の演算結果群をなす演算結果との一致を検出し、前記サーバがさらに前記利用者Ｂの情報端末へ送る前記利用者Ｃの認識票か、または前記第１の演算結果群をなす演算結果と前記第２の演算結果群をなす演算結果が一致したことを示すフラグ情報を受信する手段と、
を有することを特徴とする情報端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ、情報端末、通信端末、システム、認証方法、アプリケーションソフトウェア、およびミドルウェアに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ、電話、ゲーム機のなどの各種情報端末がＩＰ網に接続されるようになり、これまでは主としてＷｅｂに代表されるようにサーバ上での、世界に向けた情報公開に使われていたインターネットが、ＩＰ電話やネットワークゲーム、あるいはソーシャル・ネットワーク・サイト（ＳＮＳ）などの、個人的な情報をサーバ上、あるいはピア・ツー・ピア（Ｐ２Ｐ）網上で、開示先を限定してやりとりすることのできるサービスに代表されるような、個人間のコミュニケーションの手段としても使われるようになってきた。
【０００３】
さらに、デジタルカメラ、ビデオカメラ、携帯型音楽プレーヤー、ビデオレコーダ、ナビゲーションシステムなどの様々な民生機器も、ＩＰネットワークへの接続が進んでおり、今後はこれらの様々な民生機器も、情報端末として個人間のコミュニケーションの手段として使われるようになると予想される。
【０００４】
ネットワークに接続されたこのような各種情報端末を使ってのコミュニケーション、もしくはデータのやりとりを実現する場合、利用者はネットワーク上で通信したい相手を検索して見つける必要がある。
【０００５】
ほとんどのサービスでは、個人間のコミュニケーションやデータのやりとりはサービス事業者の運営するサーバ上で行われるため、利用者はログイン時に認証を受けた上で、通信したい相手を探す際、その相手があらかじめサービス事業者に開示および登録しておいた個人情報を直接検索することで、相手を特定して通信をおこなう。
【０００６】
また、ピア・ツー・ピア（Ｐ２Ｐ）型のようなサーバに依存しないアーキテクチャによって個人間のコミュニケーションやデータのやりとりを実現するサービスでは、通信したい相手を探す際、その相手がこのサービスの参加者に対して開示している個人情報を検索する問い合わせ(Ｑｕｅｒｙ:クエリ)を、直接通信しているノード（近接ノード）に対して行う。このノードがこのクエリの検索対象である個人情報を持っていない場合、さらにこのノードの別の近接ノードに対してこのクエリを転送する。このクエリの検索対象である個人情報を持っているノードに出会うまでクエリの転送を繰り返すことで、通信したい相手を特定し、その相手のネットワーク上でのＩＤを得て通信を確立する。
【０００７】
さらに、上記のようにサーバ上での個人情報を検索した上で、サーバのデータベース上で個人情報の一致を検出すると、通信を必要としている利用者に各々のネットワークＩＤを通知し、データ転送はＰ２Ｐで利用者同士が直接接続を確立しておこなう、いわゆるハイブリッド型のサービスも提案されている。
【０００８】
【特許文献１】特開２００６−２４４０９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
個人間のコミュニケーションやデータのやりとりをする際の、通信相手の特定やネットワークＩＤの取得のための、サーバ上、もしくはＰ２Ｐネットワーク上での個人情報の検索に関する解決すべき主な課題は以下の三点である。
【００１０】
第一の問題は、個人情報の機密性の問題である。この種のサービスの利用者があらかじめサーバに登録した個人情報は、このサービスの利用者全員が検索対象として問い合わせることができ、問い合わせた情報とデータベース上の情報との一致が検出されると、その旨を問い合わせた者に通知する。したがって、不特定多数の利用者が登録された個人情報を入手可能であった。さらに巡回型のソフトウェアでこの検索対象を走査するなどすれば、このサービスの利用者のリスト等も作成できた。この種のサービスの利用者が登録し、検索に使われている個人情報は、事実上サービスの利用者全体に公開されていたといえる。さらに、サービス利用者がサービス事業者に開示した個人情報はそのサーバにデータベースとして保持されるため、これが何らかの形で外部に漏洩する危険もあった。利用者が誰かに検索してもらうためには、サービス事業者およびサービス利用者に対して個人情報を開示することは不可避であり、利用者が望む個人情報の秘匿とは本質的に矛盾があった。
【００１１】
第二の問題は、利用者が検索されたくない相手に検索されることを防ぐ手段がない点である。たとえばＩＰ電話の電話帳において、検索のための個人情報として利用者の名前をサーバに登録した場合、名前を知る世界中の誰もがこの利用者に電話をかけられるようになってしまう。また同様にＳＮＳサービスで実名を登録すれば、勤務先には知られたくない個人的な人間関係、活動、嗜好などを知られてしまうかもしれない。悪意の第三者が、この検索に対して自動的に多数のクエリを送り、名前（氏名）やその他の付帯情報、さらにはネットワーク上のＩＤなどのデータベースを作成し、悪用するかもしれない。これらはすべて合法的な行為であり、これらを止めることは技術的手段のみならず法的手段をもってしてもあり得なかった。
【００１２】
第三の問題は、悪意を持った利用者が、他の利用者になりすますことを防ぐ手段がない点である。通信事業者のサーバには、利用者の情報端末より送られた利用者の個人情報と、この通信サービス内でこの利用者を一意に特定するための情報（以下これをコンタクト情報と称する）と、を関連づけた上で、これをデータベースとして記憶している。通信相手を探そうとする利用者は、通信相手の任意の個人情報を検索キーとしてこのデータベースを検索することで、通信相手のコンタクト情報を得る。しかし、前記通信事業者のサーバ上のデータベースに登録されている検索キーとなる個人情報は、一般にこの通信サービスの各利用者からの自己申告によるものであり、なりすましは容易である。たとえばある利用者Ｃが、他人である利用者Ｂになりすます目的で、Ｂの個人情報を登録することもできる。この場合には、利用者Ｂを前記データベースで検索しようとする別の利用者Ａは、利用者Ｂのコンタクト情報を得ているつもりで、実際には利用者Ｃのコンタクト情報を得るということが起こる。これは、いわゆるなりすましと呼ばれる、認証に対する典型的な攻撃のひとつである。この中間一致攻撃を仕掛ける悪意の第三者のことを、一般にはブラックハットと呼ぶ。このなりすましを防ぐためには、この通信サービスのサーバに、各利用者が個人情報を登録する際に、本人であることを認証する方法がある。たとえば個人情報登録を窓口でおこない、そこで運転免許証やパスポートなどの写真付き証明書を直接確認するなどがその一例である。しかし、この種の方法はコストが高いため、ほとんど採用されず、ほぼすべての通信サービスにおいて、単に自己申告による検索用個人情報の登録がおこなわれているため、従来の検索方法によれば、この第三のなりすまし防止という課題は、解決が困難であった。
【００１３】
これらの三つの問題により、現実には個人間のコミュニケーションやデータのやりとりをするサービスでは、利用者のほとんどが検索対象となる、サーバに登録する個人情報から実名性を排除することを望む。その結果、検索となる個人情報には主として利用者が任意につけた本人確認のできないあだ名（ニックネーム）が使われており、その結果この種のサービス上ではほとんどが匿名者同士のコミュニケーションとなっている。
【００１４】
しかし、たとえばＩＰ電話やＳＮＳサービスの多くは、実名性をもったコミュニケーションがその本質である。これまでに利用されている方法によれば、電子メールや会話など、実名性をもった通信手段によって、直接通信したい相手本人からニックネームを入手した上で、ニックネームをＩＰ電話やＳＮＳサービスで検索することで、通信を確立する場合がほとんどであり、このようなサービスで本来必要としている実名性のある検索は事実上機能しなくなっていた。
【００１５】
このように、利用者が匿名性のある個人情報だけを、検索キーとしてサービス事業者のサーバに登録すれば、前記第一および第二の問題は、検索が事実上機能しなくなるという代償を払うことで解決できる。しかし、この方法をもってしても前記第三の問題、すなわち悪意の第三者によるなりすましの回避は、コストをかけて認証レベルを上げる以外の方法では困難であった。
【００１６】
本発明は、このような事情に鑑みてなされたものであり、ネットワークに接続されたこのような各種情報端末を使ってのコミュニケーション、もしくはデータのやりとりを実現するサービスにおいて、通信したい相手を、安全で、かつ実名性をもって検索し、認証レベルを上げるための追加のコストを必要とせずに、なりすましを試みるブラックハットを検出することのできるサーバ、情報端末、通信端末、システム、認証方法、アプリケーションソフトウェア、およびミドルウェアを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の一実施形態によると、
利用者Ａの情報Ｐａ’及び利用者Ｂの情報Ｐｂを記憶する利用者Ｂの情報端末と、
利用者Ａの情報Ｐａ’’及び利用者Ｂの情報Ｐｂ’’を記憶する利用者Ｃの情報端末と、
サーバと、
を有するシステムであって、
前記利用者Ｂの情報端末は、前記利用者Ａの情報Ｐａ’及び前記利用者Ｂの情報Ｐｂを任意の演算によって演算した第１の演算結果Ｆ（Ｐａ’，Ｐｂ）を生成し、前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）を前記サーバに登録のために送信し、
前記サーバは、利用者Ｂの認識票と前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）とを関連づけて記憶し、
前記利用者Ｃの情報端末は、前記利用者Ａの情報Ｐａ’’及び前記利用者Ｂの情報Ｐｂ’’を前記任意の演算によって演算した第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）を生成し、前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）を前記サーバに登録のために送信し、
前記サーバは、利用者Ｃの認識票と前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）とを関連づけて記憶し、
前記サーバは、前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）と一致する演算結果を検索し、前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）と一致する第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）が関連づけられている認識票、または前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）が前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）と一致したことを示すフラグ情報を前記利用者Ｂの情報端末に送ることを特徴とするシステムが提供される。
【００１８】
本発明の一実施形態によると、
利用者Ｂの情報端末において生成された、利用者Ａの情報Ｐａ’及び利用者Ｂの情報Ｐｂを任意の演算によって演算した第１の演算結果Ｆ（Ｐａ’，Ｐｂ）を受信し、利用者Ｂの認識票と前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）とを関連づけて記憶し、利用者Ｃの情報端末において生成された、利用者Ａの情報Ｐａ’’及び利用者Ｂの情報Ｐｂ’’を任意の演算によって演算した第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）を受信し、前記利用者Ｃの認識票と前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）とを関連づけて記憶することを特徴とするサーバが提供される。
【００１９】
前記サーバは、前記利用者Ａの情報端末で生成され、検索のために送信された利用者Ａの情報Ｐａおよび利用者Ｂの情報Ｐｂ’を任意の演算によって演算した第３の演算結果Ｆ（Ｐａ，Ｐｂ’）を受信し、
前記第３の演算結果Ｆ（Ｐａ，Ｐｂ’）と一致する演算結果を検索し、
前記検索で一致が検出された演算結果に関連づけられ記憶された認識票、または前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）が前記第３の演算結果Ｆ（Ｐａ，Ｐｂ’）と一致したことを示すフラグ情報を、前記利用者Ａの情報端末に送信するようにしてもよい。
【００２０】
前記サーバは、前記利用者Ｂの情報端末より受信した前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）に基づき、前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）と等しい前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）を検出し、
一致が検出された場合には前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）に関連づけられて記憶された利用者Ｃの認識票、または前記第１演算結果Ｆ（Ｐａ’，Ｐｂ）と等しい前記第２の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）が検出されたことを示すフラグ情報を前記利用者Ｂの情報端末へ送信するようにしてもよい。
【００２１】
本発明の一実施形態によると、
利用者Ａの情報端末であって、
利用者Ａの情報Ｐａ及び利用者Ｂの情報Ｐｂ’を任意の演算によって演算した第１の演算結果Ｆ（Ｐａ，Ｐｂ’）を生成する演算手段と、
前記第１の演算結果Ｆ（Ｐａ，Ｐｂ’）をサーバに送信する送信手段と、
利用者Ｂの情報端末より送られ前記サーバで利用者Ｂの認識票と関連づけられて記憶された利用者Ａの情報Ｐａ’及び利用者Ｂの情報Ｐｂを前記任意の演算によって演算した第２の演算結果Ｆ（Ｐａ’，Ｐｂ）か、または利用者Ｃの情報端末より送られ前記サーバで前記利用者Ｃの認識票と関連づけられて記憶された利用者Ａの情報Ｐａ’’および利用者Ｂの情報Ｐｂ’’を前記任意の演算によって演算した第３の演算結果Ｆ（Ｐａ’’，Ｐｂ’’）のどちらかから、前記サーバが前記利用者Ａの情報端末から送信された前記第１の演算結果Ｆ（Ｐａ，Ｐｂ’）と一致する演算結果を検索し、前記第１の演算結果Ｆ（Ｐａ，Ｐｂ’）と前記第２演算結果Ｆ（Ｐａ’，Ｐｂ）または前記第３の前記演算結果Ｆ（Ｐａ’’，Ｐｂ’’）との一致を検出することによって前記サーバが前記利用者Ａの情報端末に送信する、前記一致を検出した演算結果に関連づけられた前記利用者Ｂまたは前記利用者Ｃの認識票、または前記第１の演算結果と前記第２の演算結果または前記第３の演算結果が一致したことを示すフラグ情報を受信する受信手段と、
を有することを特徴とする情報端末が提供される。
【００２２】
前記情報端末は、受信した利用者Ｂまたは利用者Ｃの前記認識票のなかから、前記利用者Ｃの認識票を検索する手段を有していてもよい。
【００２３】
本発明の一実施形態によると、
利用者Ｂの情報端末であって、
利用者Ｂの情報Ｐｂ及び利用者Ａの情報Ｐａ’を任意の演算によって演算した第１の演算結果Ｆ（Ｐａ’，Ｐｂ）を生成する演算手段と、
前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）をサーバに送信する手段と、
前記サーバが、利用者Ｃの情報端末から送られ利用者Ｃの認識票と関連づけて記憶された前記利用者Ｃの情報端末の記憶する利用者Ａの情報Ｐａ’’および利用者Ｂの情報Ｐｂ’’を前記任意の演算で演算した第２の結果Ｆ（Ｐａ’’、Ｐｂ’’）と、利用者Ｂの情報端末より前記サーバが受信した前記第１の演算結果Ｆ（Ｐａ’，Ｐｂ）との一致を検出し、前記サーバがさらに前記利用者Ｂの情報端末へ送る前記利用者Ｃの認識票か、または前記第１の演算結果と前記第２の演算結果が一致したことを示すフラグ情報を受信する手段と、
を有することを特徴とする情報端末が提供される。
【００２４】
本発明の一実施形態によると、
利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’の一部または全部及び利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂの一部または全部を記憶する利用者Ｂの情報端末と、
利用者Ａの情報Ｐ１ａ’’、Ｐ２ａ’’、・・・Ｐｎａ’’（ｎは整数）の一部または全部及び利用者Ｂの情報Ｐ１ｂ’’、Ｐ２ｂ’’、・・・、Ｐｍｂ’’（ｍは整数）の一部または全部を記憶する前記利用者Ｃの情報端末と、
サーバと、
を有するシステムであって、
前記利用者Ｂの情報端末は、前記利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’及び利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂを任意に組み合わせて任意の演算によって演算した第１の演算結果群を生成し、前記第１の算結果群を前記サーバに送信し、
前記サーバは、前記利用者Ｂの認識票と前記第１の演算結果群をなす各々の演算結果とを関連づけて記憶し、
前記利用者Ｃの情報端末は、前記利用者Ａの情報Ｐ１ａ’’、Ｐ２ａ’’、・・・Ｐｎａ’’及び前記利用者Ｂの情報Ｐ１ｂ’’、Ｐ２ｂ’’、・・・、Ｐｍｂ’’を任意に組み合わせて前記任意の演算によって演算した第２の演算結果群を生成し、前記第２の算結果群を前記サーバに送信し、
前記サーバは、前記利用者Ｃの認識票と前記第２の演算結果群をなす各々の演算結果とを関連づけて記憶し、
前記サーバは、記憶された前記第１の演算結果群をなす演算結果について、前記第２の演算結果群をなす演算結果の中から一致する演算結果を検索し、一致した演算結果に関連づけられている認識票を前記利用者Ｂの情報端末に送ることを特徴とするシステムが提供される。
【００２５】
前記第１の演算結果群は、前記利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’及び利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂを任意に組み合わせて任意の演算によって演算したＦ（Ｐ１ａ’，Ｐ１ｂ）、・・・、Ｆ（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｍｂ）のうち一つ以上であり、前記第２の演算結果群は、（Ｐ１ａ’’，Ｐ１ｂ’’）、・・・、  Ｆ（Ｐ１ａ’’，Ｐ２ａ’’，Ｐ１ｂ’’，Ｐ２ｂ’’）、・・・、Ｆ（Ｐ１ａ’’，Ｐ２ａ’’，・・・，Ｐｎａ’’，Ｐ１ｂ’’，Ｐ２ｂ’’，・・・，Ｐｍｂ’’）のうち一つ以上であるようにしてもよい。
【００２６】
本発明の一実施形態によると、
利用者Ｂの情報端末において生成された、利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’（ｎは整数）及び利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂ（ｍは整数）を任意に組み合わせて任意の演算によって演算した第１の演算結果群を受信し、利用者Ｂの認識票と前記第１の演算結果群または前記第１の演算結果群をなす各々の演算結果とを関連づけて記憶し、利用者Ｃの情報端末において生成された、利用者Ａの情報Ｐ１ａ’’、Ｐ２ａ’’、・・・、Ｐ１ｎ’’（ｎは整数）を任意に組み合わせて前記任意の演算によって演算した第２の演算結果群を受信し、利用者Ｃの認識票と前記第２の演算結果群または前記第２の演算結果群をなす各々の演算結果とを関連づけて記憶することを特徴とするサーバが提供される。
【００２７】
前記サーバは、前記利用者Ａの情報端末で生成され、検索のために送信された利用者Ａの利用者Ａの情報Ｐ１ａ、Ｐ２ａ、・・・、Ｐｎａ（ｎは整数）及び利用者Ｂの情報Ｐ１ｂ’、Ｐ２ｂ’、・・・、Ｐｍｂ‘（ｍは整数）を任意に組み合わせて任意の演算によって演算した第３の演算結果群を受信し、
前記利用者Ａの情報端末より送信され記憶された前記第３の演算結果群をなす演算結果と、前記第１の演算結果群および前記第２の演算結果群をなす演算結果とが一致する演算結果を検索し、
前記一致が検出された演算結果に関連づけられ記憶された認識票、または第３の演算結果群をなす演算結果と第２の演算結果群をなす演算結果が一致したことを示すフラグ情報を、前記利用者Ａの情報端末に送信するようにしてもよい。
【００２８】
前記サーバは、前記利用者Ｂの情報端末より受信した前記第１の演算結果群をなす演算結果の各々と一致する前記第２の演算結果群をなす演算結果を検出し、一致が検出された場合は、前記第２の演算結果群に関連づけられて記憶された利用者Ｃの認識票、または前記第１の演算結果群をなす演算結果と前記第２の演算結果群をなす演算結果との一致が検出されたことを示すフラグ情報を前記利用者Ｂの情報端末へ送信するようにしてもよい。
【００２９】
本発明の一実施形態によると、
利用者Ａの情報端末であって、
利用者Ａの情報Ｐ１ａ、Ｐ２ａ、・・・Ｐｎａの一部または全部、及び利用者Ｂの情報Ｐ１ｂ’、Ｐ２ｂ’、・・・、Ｐｍｂ’の一部または全部を任意に組み合わせて任意の演算によって演算した第１の演算結果群を生成する演算手段と、
前記第１の演算結果群をサーバに送信する手段と、
利用者Ｂの情報端末より送られ前記サーバで利用者Ｂの認識票と関連づけられて記憶された利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・Ｐｎａ’および利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・Ｐｍｂの一部または全部を任意に組み合わせて前記任意の演算によって演算した第２の演算結果群をなす任意の演算結果か、または利用者Ｃの端末より送られ前記サーバで前記利用者Ｃの認識票と関連づけられて記憶された利用者Ａの情報Ｐ１ａ’’、Ｐ２ａ’’、・・・Ｐｎａ’’および利用者Ｂの情報Ｐ１ｂ’’、Ｐ２ｂ’’、・・・、Ｐｍｂ’’の一部または全部を任意に組み合わせて前記任意の演算によって演算した第３の演算結果群をなす任意の演算結果か、のどちらかから、前記サーバが利用者Ａの情報端末から送信された前記第１の演算結果群をなす演算結果と一致する演算結果を検索し、前記一致を検出することによって前記サーバが前記利用者Ａの情報端末に送信する、前記一致を検出した演算結果に関連づけられた前記利用者Ｂの認識票または前記利用者Ｃの認識票、または前記第１の演算結果群をなす演算結果と前記第２の演算結果群をなす演算結果または前記第３の演算結果群をなす演算結果が一致したことを示すフラグ情報を受信する受信手段と、
を有することを特徴とする情報端末が提供される。
【００３０】
前記情報端末は、受信した前記利用者Ｂまたは前記利用者Ｃの認識票のなかから、前記利用者Ｃの認識票を検索する手段を有しているようにしてもよい。
【００３１】
本発明の一実施形態によると、
利用者Ｂの情報端末であって、
利用者Ｂの情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂの一部または全部と、利用者Ａの情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’の一部または全部とを、任意に組み合わせて任意の演算によって演算した前記第１の演算結果群を生成する演算手段と、
前記第１の演算結果群をサーバに送信する手段と、
前記サーバが、利用者Ｃの情報端末から送られ利用者Ｃの認識票と関連づけて記憶された、前記利用者Ｃの情報端末の記憶する利用者Ａの情報Ｐ１ａ’’、Ｐ２ａ’’、・・・Ｐｎａ’’および利用者Ｂの情報Ｐ１ｂ’’、Ｐ２ｂ’’、・・・、Ｐｍｂ’’を任意に組み合わせて前記任意の演算で演算した第２の演算結果群をなす演算結果と、利用者Ｂの情報端末より前記サーバが受信した前記第１の演算結果群をなす演算結果との一致を検出し、前記サーバがさらに前記利用者Ｂの情報端末へ送る前記利用者Ｃの認識票か、または前記第１の演算結果群をなす演算結果と前記第２の演算結果群をなす演算結果が一致したことを示すフラグ情報を受信する手段と、
を有することを特徴とする情報端末が提供される。
【発明の効果】
【００３２】
本発明による方法では、ネットワークサービスの利用者検索において、従来の方法にくらべて、ブラックハットがなりすますことが難しいだけでなく、さらに幾重にも重なる方法によって、ブラックハットによるなりすましを検出することができ、安全な検索方法を実現することができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。なお、以下の実施形態は、本発明を実施するための例に過ぎず、本発明のシステム、方法、コンピュータプログラム、サーバ、情報端末、オペレーティングシステム、ミドルウェア、情報通信機器、認証方法、及びアプリケーションソフトウェアは、以下の実施形態に限定されるわけではない。
【００３４】
（実施形態１）
図1から図８を参照して、本発明の一実施形態に係るサーバ、情報端末、通信端末、システム、認証方法、アプリケーションソフトウェア、およびミドルウェアにおけるブラックハット検出の原理について説明する。
【００３５】
本実施形態に係る本発明のシステムは、サーバ１００並びに利用者Ａの端末１０４及び利用者Ｂの端末１０６を有する。図1においては、サーバ１００とインターネット、イントラネット、ＬＡＮ、あるいは直接接続等によって接続された、本発明の情報端末又は通信端末の一実施形態である利用者Ａの端末１０４及び利用者Ｂの端末１０６が示されている。利用者Ａの端末１０４、利用者Ｂの端末１０６、およびサーバ１００において、本発明の本実施形態に係る認証方法、アプリケーションソフトウェア、およびミドルウェアが搭載され、本発明の方法が実行される。また、本実施形態の説明のために、図１においては利用者Ｃの端末１０５が示されている。利用者Ｃは、利用者Ａが利用者Ｂを検索する際に、利用者Ｂになりすますことを試みるブラックハットである。
【００３６】
図１において、利用者Ａ、利用者Ｂ、および利用者Ｃは、それぞれ、ネットワークに接続された端末１０４、端末１０６、及び端末１０５を利用して特定の個人間でのコミュニケーションやデータのやりとりをする、たとえば電子メール、ＩＰ電話、ネットワークゲーム、ＳＮＳ、チャットサービスなどの、特定のネットワークサービスの利用者である。
【００３７】
いま、図１で、利用者Ａの端末１０４の記憶装置２１には、Ｂ、Ｃ、およびＤという、利用者Ａが知る三名の友人の個人情報として名前Ｐｂ’、Ｐｃ’、およびＰｄ’が記憶されている。また利用者Ｂの端末１０６の記憶装置２２には、Ａ、Ｅ、およびＦという、利用者Ｂが知る三名の友人の名前Ｐａ’、Ｐｅ’、およびＰｆ’が記憶されている。また、ブラックハットＣの端末１０５の記憶装置２８には、利用者Ｃが何らかの方法で知った利用者Ａおよび利用者Ｂの名前Ｐａ’’およびＰｂ’’が記憶されている。
【００３８】
ここで、各々の端末の記憶装置に記憶された各情報（本実施形態においては名前）の右上につけた「ダッシュ」は、各端末の所有者がその端末において記憶している他人の情報であることを表す。たとえば、図１ではＰｂ’は利用者Ａがその端末１０４で記憶・保持しているＢの名前を意味している。またＰｂは、利用者Ｂがその端末１０６で記憶・保持しているＢ自身の名前であることを意味している。通常であればＰｂ’＝Ｐｂであるが、たとえばどちらかの端末に記憶されている情報が間違っていたり、古かったりして、これが常に成立するとは限らない。
【００３９】
図２は、本実施形態に係るサーバ１００の概略構成図である。サーバ１００は、本実施形態の本発明のシステムを使用する利用者の名前などの情報が記憶されているデータベース１０２と、データ処理手段１０８とを有している。データ処理手段は、送受信手段１０８ａ、テーブル作成手段１０８ｂ及び検索手段１０８ｃを有している。
【００４０】
図３は、本実施形態に係る利用者Ａの端末１０４のブロック図である。端末１０４は、本実施形態の本発明のシステムを使用する他の利用者の名前などの情報が記憶されているデータベース２１と、データ処理手段１１０とを有している。データ処理手段は、演算手段１１０ａ及び送受信手段１１０ｂを有している。
【００４１】
図４は、本実施形態に係る利用者Ｂの端末１０６のブロック図である。端末１０６は、本実施形態の本発明のシステムを使用する他の利用者の名前などの情報が記憶されているデータベース２２と、データ処理手段１１２とを有している。データ処理手段は、演算手段１１２ａ、送受信手段１１２ｂ、および認識票比較手段１１２ｄを有している。
【００４２】
図５は、本実施形態に係る利用者Ｃの端末１０５のブロック図である。端末１０５は、利用者Ａおよびの端末１０４および１０６と同様、本実施形態の本発明のシステムを使用する他の利用者の名前などの情報が記憶されているデータベース２８と、データ処理手段１１３とを有している。データ処理手段は、演算手段１１３ａ及び送受信手段１１３ｂを有している。
【００４３】
以下では、前記のように利用者Ａが他の利用者Ｂ、Ｃ及びＤの情報を端末１０４のデータベース２１に記憶しており、利用者Ｂが他の利用者Ａ、Ｅ及びＦの情報を端末１０６のデータベース２２に記憶している場合を例にとり、図６および図７のフロー図を用いて、利用者Ａの端末１０４が利用者Ｂの端末１０６を検索する方法を説明する。また次に、図８のフロー図を用いてこの状況において、利用者Ｂになりすまして利用者Ａに検索されようとしている、ブラックハットである利用者Ｃの端末１０５を利用者Ｂの端末１０６が検出する方法について説明する。
【００４４】
図1で、利用者Ａの端末１０４では、演算手段１１０ａが、データベース２１に記憶・保持されているＢの名前を表す文字列Ｐｂ’と、データベース２１に記憶されているＡ自身の名前を表す文字列Ｐａとの結合Ｐｂ’＋Ｐａを生成し、更にこの結合文字列に対してＳＨＡ−１、ＭＤ−５などといった任意のハッシュ関数による演算を施した結果Ｈ（Ｐｂ’＋Ｐａ）をデータベース２１に記憶・保持する（ステップＳ６０１）。ここでは、結合列文字列をハッシュ関数Ｈによって処理した演算結果をＨ（Ｐｂ’＋Ｐａ）と表す。同様に、Ａの端末１０４において、演算手段１１０ａは、ＣとＡ、ＤとＡの各々の名前を表す文字列を結合した上ハッシュ関数で演算を施した演算結果Ｈ（Ｐｃ’＋Ｐａ）、Ｈ（Ｐｄ’＋Ｐａ）を生成し、データベース２１に記憶・保持する（ステップＳ６０１）。次に、Ａの端末１０４の送受信手段１１０ｂは、ネットワークサービス事業者のサーバ１００に演算結果Ｈ（Ｐｂ’＋Ｐａ）、Ｈ（Ｐｃ’＋Ｐａ）、およびＨ（Ｐｄ’＋Ｐａ）を送る（ステップＳ６０２）。サーバ１００のデータ処理手段１０８が、Ｈ（Ｐｂ’＋Ｐａ）、Ｈ（Ｐｃ’＋Ｐａ）、およびＨ（Ｐｄ’＋Ｐａ）を送受信手段１０８ａで受信する。サーバ１００のテーブル作成手段１０８ｂは、演算結果Ｈ（Ｐｂ’＋Ｐａ）、Ｈ（Ｐｃ’＋Ｐａ）、およびＨ（Ｐｄ’＋Ｐａ）をＡのネットワークサービスＩＤなどこのネットワークサービス上でＡを一意に特定するための認識票ＩＤａ、またはＡとの接続のために必要な情報と関連づけた上で登録（２３）し、データベース１０２に記憶する（ステップＳ６０３）。ここでの認識票とは、このネットワークサービス上で利用者Ａの端末１０４が一意に特定できる情報であれば何でもよく、たとえばこのネットワークサービス事業者があらかじめ利用者Ａを含む全利用者に対して重複がないように割り当てた数値、あるいはこのネットワークサービスの他の利用者と重複がないことがあらかじめわかっている電子メールアドレスなどのような情報でもよい。本実施形態およびこれ以降示す実施形態での認識票も同様とする。なお、サーバ１００及びＡの端末１０４における演算やデータの送受信は、データ処理手段１０８及び１１０に組み込まれたオペレーティングシステム上で動作するコンピュータプログラム、ミドルウェア、アプリケーション上で処理されるようにしてもよい。
【００４５】
ここで、本実施形態１および次に示す実施形態２においては、利用者Ａの端末１０４に記憶されている、他者の名前および自分自身の名前の文字列結合のハッシュ関数による演算結果を用いたが、ここで用いる個人情報は、名前に限定されず、住所、年齢、電話番号、電子メールアドレス、職業、勤務先、出身校、出生地、公開鍵、秘密鍵など、どのような情報であってもよい。またここで、ＰａはＡの端末１０４で記憶されているＡの名前であり、Ｐｂ’、Ｐｃ’およびＰｄ’はＡの端末１０４で記憶されている各々Ｂ、Ｃ、およびＤの名前というように、すべて名前という同じ属性の個人情報を用いたが、ＰａはＡの名前、Ｐｂ’はＢの住所、Ｐｃ’はＣの電話番号、Ｐｄ’はＤの年齢というように、異なる属性の個人情報の組み合わせでもよい。さらに、ここで用いる情報は、一般に個人情報と呼ばれる個人を特定できる情報である必要もなく、通信する者同士があらかじめ決めた合い言葉のような一般の情報でもよい。
【００４６】
また、本実施形態においては、たとえばＰｂ’とＰａの文字列結合という操作をおこなった上でハッシュ関数による演算結果Ｈ（Ｐｂ’＋Ｐａ）を用いたが、この演算結果はＰｂ’とＰａをもとにして結果が一意に決まる任意の演算結果Ｆ（Ｐｂ’、Ｐａ）であってもよい。この任意の演算Ｆ（Ｐｂ’、Ｐａ）は可逆演算、すなわちＦ（Ｐｂ’、Ｐａ）からＰｂ’およびＰａを逆算できるものでも、非可逆演算、すなわちすなわちＦ（Ｐｂ’、Ｐａ）からＰｂ’およびＰａを逆算できないものであってもよい。また、この任意の演算Ｆ（Ｐｂ’、Ｐａ）は、可換な演算、すなわちＦ（Ｐｂ’、Ｐａ）＝Ｆ（Ｐａ、Ｐｂ’）であっても、非可換な演算、すなわちＦ（Ｐｂ’、Ｐａ）≠Ｆ（Ｐａ、Ｐｂ’）であってもよい。本実施形態で用いた文字列結合のハッシュ演算Ｈ（Ｐｂ’＋Ｐａ）は、任意の演算Ｆ（Ｐｂ’、Ｐａ）のなかで非可換かつ非可逆な演算を用いた一例に過ぎない。本実施形態、およびこれ以降示すすべての実施形態で用いられる文字列結合のハッシュ関数の演算結果も、すべてここで述べた任意の関数の演算結果であってもよい。
【００４７】
次に、図１で、利用者Ｂの端末１０６では、演算手段１１２ａが、データベース２２に記憶・保持されている利用者Ａの名前を表す文字列Ｐａ’と、データベース２２に記憶・保持されているＢ自身の名前を表す文字列Ｐｂとの結合Ｐａ’＋Ｐｂを生成し、更にこの結合文字列に対してＳＨＡ−１、ＭＤ５などといった任意のハッシュ関数による演算を施した結果Ｈ（Ｐａ’＋Ｐｂ）を生成し、データベース２２に記憶・保持する（ステップＳ６０４）。このＢの端末１０６で行われる結合文字列のハッシュ演算Ｈは、如何なるハッシュ演算であってもよいが、Ａの端末１０４で行われるハッシュ演算Ｈと同じ演算Ｈであることが要求される。同様に、Ｂの端末１０６において、演算手段１１２ａは、ＥとＢ、ＦとＢ、の各々の名前の文字列結合のハッシュ演算結果Ｈ（Ｐｅ’＋Ｐｂ）、およびＨ（Ｐｆ’＋Ｐｂ）を生成し、これらの三つの演算結果Ｈ（Ｐａ’＋Ｐｂ）、Ｈ（Ｐｅ’＋Ｐｂ）、およびＨ（Ｐｆ’＋Ｐｂ）をデータベース２２に記憶・保持する（ステップＳ６０４）。次に、Ｂの端末１０６の送受信手段１１２ｂは、ネットワークサービス事業者のサーバ１００に演算結果Ｈ（Ｐａ’＋Ｐｂ）、Ｈ（Ｐｅ’＋Ｐｂ）、およびＨ（Ｐｆ’＋Ｐｂ）を送る（Ｓ６０５）。サーバ１００のデータ処理手段１０８が、演算結果Ｈ（Ｐａ’＋Ｐｂ）、Ｈ（Ｐｅ’＋Ｐｂ）、およびＨ（Ｐｆ’＋Ｐｂ）を送受信手段１０８ｂで受信する。サーバ１００のテーブル作成手段は、演算結果Ｈ（Ｐａ’＋Ｐｂ）、Ｈ（Ｐｅ’＋Ｐｂ）、およびＨ（Ｐｆ’＋Ｐｂ）を、ネットワークサービスＩＤなどこのネットワークサービス上でＢの端末１０６を一意に特定するための認識票ＩＤｂ、またはＢとの接続のために必要な情報と関連づけた上で登録（２４）し、データベース１０２に記憶・保持する（ステップＳ６０６）。なお、利用者Ｂの端末１０６におけるハッシュ値の生成は、データ処理手段に組み込まれたオペレーティングシステム上で動作するコンピュータプログラム、ミドルウェア、アプリケーション上で処理されるようにしてもよい。
【００４８】
ここで、本実施形態１においては、Ｂの端末１０６に記憶されている、他者の名前および自分自身の名前の文字列結合のハッシュ関数による演算結果を用いたが、ここで用いる個人情報は、名前に限定されず、住所、年齢、電話番号、電子メールアドレス、職業、勤務先、出身校、出生地など、どのような情報であってもよい。またここで、ＰｂはＢの端末１０６で記憶されているＢの名前であり、Ｐａ’、Ｐｅ’およびＰｆ’はＢの端末１０６で記憶されている各々Ａ、Ｅ、およびＦの名前というように、すべて名前という同じ属性の個人情報を用いたが、ＰｂはＢの名前、Ｐａ’はＡの住所、Ｐｅ’はＥの電話番号、Ｐｆ’はＦの職業というように、異なる属性の個人情報の組み合わせでもよい。さらに、ここで用いる情報は、一般に個人情報と呼ばれる個人を特定できる情報である必要もなく、通信する者同士があらかじめ決めた合い言葉のような一般の情報でもよい。
【００４９】
この状態でいつでも、利用者Ｂはその端末１０６になりすましを企てているブラックハットの検出をおこなうことができるが（ステップＳ６０７）、本実施形態１の説明ではまず図７を用いて、利用者Ａの端末１０４が利用者Ｂの端末１０６を、サーバ１００を通じて検索する（ステップＳ６０８）方法、およびその効果について説明する。その後に、図８を用いて前記ステップＳ６０７で利用者Ｂの端末１０６が、利用者Ｂの端末１０６になりすましを企てている利用者Ｃの端末１０５を検出するステップについて説明する。
【００５０】
図７を参照すると、利用者Ａが利用者Ｂを検索しようとする場合、利用者Ａの端末１０４において、演算手段１１０ａは、Ｂの名前とＡの名前の文字列結合をハッシュ演算した結果Ｈ（Ｐａ＋Ｐｂ’）を生成する（ステップＳ７０１）。このＡの端末１０４で行われる任意のハッシュ演算Ｈは、如何なる演算であってもよいが、利用者Ａの端末１０４がサーバ１００に登録するために前記ステップＳ６０４で用いた演算と同じであることが要求される。そして、利用者Ａの端末１０４の送受信手段１１０ｂは、演算結果Ｈ（Ｐａ＋Ｐｂ’）をネットワークサービス事業者のサーバ１００に送ることによって、サーバ１００に検索を依頼（２５）する（ステップＳ７０２）。利用者Ａの端末１０４から送信された演算結果Ｈ（Ｐａ＋Ｐｂ’）は、サーバ１００におけるデータ処理手段１０８の送受信手段１０８ａによって受信される（ステップＳ７０３）。そして、データ処理手段１０８の検索手段１０８ｃが端末１０４から送信された演算結果Ｈ（Ｐａ＋Ｐｂ’）と一致するデータベース１００に登録されている演算結果を検索する（ステップＳ７０４）。ここで、図１に示す例では、サーバ１００が利用者Ａの端末１０４から問い合わせを受けたＨ（Ｐａ＋Ｐｂ’）と等しいハッシュ値は、利用者Bの端末１０６から登録されたＨ(Ｐａ’＋Ｐｂ)、および利用者Ｃの端末１０５から登録されたＨ（Ｐａ’’＋Ｐｂ’’）の二つである。このため、利用者Ａの端末１０４からの検索依頼に対して、サーバ１００における検索手段１０８ｃは、利用者Ａの端末１０４から送信された演算結果Ｈ（Ｐａ＋Ｐｂ’）と、データベース１０２に利用者Ｂから登録されている利用者Bの端末１０６から登録されたＨ(Ｐａ’＋Ｐｂ)、および利用者Ｃの端末１０５から登録されたＨ（Ｐａ’’＋Ｐｂ’’）の二つのハッシュ値との一致を検出し（ステップＳ７０４）、データベース１０２上でこれら二つのハッシュ値と各々関連づけられた認識票ＩＤｂおよびＩＤｃを、利用者Ａの端末１０４に送る（ステップＳ７０５）。このデータベース１０２の検索の結果、利用者Ａの端末１０４から問い合わせを受けたＨ（Ｐａ＋Ｐｂ’）との一致を検出しなければ、サーバ１００は認識票を利用者Ａの端末１０４に送らない（ステップＳ７０６）。
【００５１】
図１に示した一例では、利用者Ａの端末１０４が利用者Ｂの端末１０６をサーバのデータベース上で検索する場合について、ブラックハットである利用者Ｃが利用者Ｂになりすましを企てるために、サーバ１００のデータベース１０２に利用者Ａおよび利用者Ｂの名前Ｐａ’’およびＰｂ’’からハッシュ値Ｈ（Ｐａ’’＋Ｐｂ’’）を登録していた。そのため、前記ステップＳ７０５では、利用者Ａの端末１０４は、２つの認識票ＩＤｂおよびＩＤｃを受け取っている。もし、ブラックハットではる利用者Ｃによるなりすましがない、すなわち、サーバ１００のデータベース１０２に、利用者Ｃの認識票ＩＤｃに関連づけられたＨ（Ｐａ’’＋Ｐｂ’’）記憶されていなければ、前記ステップＳ７０５では、利用者Ａの検索している利用者Ｂの認識票ＩＤｂのみが、利用者Ａの端末１０４に送られる。ここでは、説明を簡単にするために、まずこのように利用者Ｃによるなりすましがない場合に、本発明による方法によって得られる、従来の方法に比べた効果について説明する。なお、本発明による、ブラックハットである利用者Ｃによるなりすましがある場合の、ブラックハット検出方法とその効果は、以下、なりすましがない場合における本発明の４つの効果の後で説明する。
【００５２】
利用者Ｃによるなりすましが企てられていない場合には、本発明による方法によれば、従来の方法に比べて以下４つの効果がある。以下の４つの効果は、なりすましが企てられている場合にも有効である。
【００５３】
本発明第１の効果は、本実施形態１で用いた文字列結合のハッシュ関数演算というような、非可逆演算を用いた場合には、検索サービスにおける機密性保持が容易な点である。従来の検索方法では、個人情報をネットワークサービス事業者のサーバに登録しなければ利用者が検索できなかったのに対して、本発明によるシステム及び方法によれば、非可逆演算を用いた場合には、利用者二人の個人情報を非可逆演算によって処理した演算結果をネットワークサービス事業者のサーバに登録するので、被検索者は一切の個人情報を検索用に公開しないにもかかわらず検索者からの検索が可能となり、またネットワークサービス事業者は利用者の一切の個人情報を保持することなく検索手段を提供できる。たとえば、図１の例では、Ｂが他の利用者から検索してもらうための情報としてネットワークサービス事業者に開示するのはＢ自身の個人情報ではなく、たとえばＡとＢの名前の結合文字列のハッシュ関数による演算結果Ｈ（Ｐａ’＋Ｐｂ）であり、このハッシュ値からはＡまたはＢのいかなる個人情報も導けない。よって、本発明のシステム及方法によると、個人情報の保護を十分に図ることができる。もし、本発明によるシステム及び方法で、可逆演算を利用した場合には、ネットワークサービス事業者のサーバに登録する情報から、利用者の個人情報が復元できてしまうという点で、利用者の個人情報に関する機密保持レベルは、非可逆演算を利用する場合よりも低くなる。しかし可逆演算を利用した場合でも、従来の方法に比べると、非可逆演算を利用した場合と同様、以下残る３つの点で優れている。
【００５４】
第２の効果は、検索対象となる者にとって望まない検索者からの検索を排除できる点である。従来の方法によれば、利用者が検索用に、ネットワークサービス事業者のサーバに登録した個人情報は、すべての利用者からの検索が可能であるため、無関係な第三者から検索され、無関係な第三者に、被検索者が検索用に登録した個人情報を入手される危険があるという問題があった。それに対して、本発明によるシステム及び方法によれば、検索対象となる利用者は、たとえば本実施形態では、自分の名前と、自分が知っておりかつ検索されても良いと思っている他者の名前との組み合わせのハッシュを登録しておくので、自分の名前と組み合わせて登録した利用者以外の他者から検索されることがない。つまり、検索されることを望まない他者から検索されることがない。たとえば図１の例では、利用者Ａを検索できるのはＢ、Ｃ、およびＤの三名のみであり、これ以外の利用者はネットワーク上で利用者Ａを検索できない。
【００５５】
第３の効果は、一意性の低い情報を使っても精度の高い検索が可能となる点である。従来の方法によれば、たとえば名前のような、同姓同名という重複の可能性の多い、言い換えれば一意性の低い個人情報を使った検索を行うと、同姓同名の利用者との一致が多数検出されてしまい、検索対象を特定できないという問題があった。そのために、あまり重複することのない個人情報、たとえば電子メールアドレス、電話番号、社会保険番号などの個人情報を検索に用いることが多いが、重複することのないことがあらかじめわかっている情報は、名前などよりも機密性が高く、これらをネットワークサービス事業者のサーバに登録し、かつ不特定の利用者に検索を許すことには情報漏洩のリスクという問題があった。本発明によるシステム及び方法によれば、たとえ名前といった一意性が低く、複数の利用者で重複が起こりえる個人情報を検索に使ったとしても、ネットワークサービス事業者のサーバに登録し検索に利用するのは、二人の利用者の個人情報の組み合わせのハッシュ値であるため、検索時に重複して一致が検出される可能性は低くなる。たとえば、利用者Ｂの名前では同姓同名が多数いたとしても、ＡとＢの組み合わせが、利用者の組み合わせの中に複数ある確率は、Ｂの同姓同名がいる確率よりはるかに小さい。このため、名前のような一意性が低く、したがって機密性の低く誰もが知っている単純な情報のみでも、効率的な検索が可能となる。
【００５６】
また、そもそも本発明によるシステム及び方法では、上に述べたように非可逆演算を利用している限り、たとえ一意性の高い、すなわち機密性の高い情報を検索に使っても、組み合わせて非可逆演算した演算結果が検索対象となるため、検索対象となる演算結果から個人情報を導くことができないため安全である。たとえば電子メールアドレス、住所、電話番号のような、個人を特定できる情報を使うことによって、従来の方法によっても、本発明によっても検索時の重複は排除できるが、本発明による方法では、従来の方法に比べて圧倒的に高い機密保持性が確保できる。
【００５７】
それでも同姓同名など、個人情報の重複によってサーバ１００の検索手段１０８ｃにおいて、演算結果の一致が複数検出される場合には、名前の他に、住んでいる市、性別、所属など組み合わせの演算結果を使って正解率の高い者を、検索対象と推定する方法もある。たとえば、Ｂがサーバ１００のデータベース１０２に、名前Ｐ、性別Ｑ、所属Ｒ、・・・などについて、ＡとＢ自身の個人情報の文字列結合のハッシュ関数による演算結果Ｈ（Ｐａ’＋Ｐｂ）、Ｈ（Ｑａ’＋Ｑｂ）、Ｈ（Ｒａ’＋Ｒｂ）を登録しておき、ＡがＢを検索する際には、Ｈ（Ｐａ＋Ｐｂ’）、Ｈ（Ｑａ＋Ｑｂ’）、Ｈ（Ｒａ＋Ｒｂ’）についてサーバ１００に検索依頼する。たとえば、サーバ１００の検索手段１０８において、Ｐ、Ｑ、Ｒすべての属性について演算結果の一致が成立、すなわちＨ（Ｐａ’＋Ｐｂ）＝Ｈ（Ｐａ＋Ｐｂ’）かつＨ（Ｑａ’＋Ｑｂ）＝Ｈ（Ｑａ＋Ｑｂ’）かつＨ（Ｒａ’＋Ｒｂ）＝Ｈ（Ｒａ＋Ｒｂ’）が成立しない場合でも、Ａはその端末１０４のデータベース２１において、属性Ｐ，Ｑ，Ｒ各々にあらかじめ重み係数（α、β、γ等）をつけておき、これらを使って演算結果の一致数の重み付き合計を計算することで、Ａが通信したいＢだと推定される相手を、このネットワークサービス上で探すこともできる。
【００５８】
第４の効果は、従来の方法に比べて悪意の第三者（ブラックハット）によるなりすましが難しくなる点である。被検索者の個人情報をサーバに登録しておき、この個人情報そのものを検索者がサーバに検索依頼する従来の方法では、ブラックハットによるなりすましは容易であった。たとえば、利用者Ｂがその名前Ｐｂをサーバに登録しておき、利用者Ｂの名前を知る利用者ＡがＰｂをサーバに問い合わせることで、利用者Ｂを検索する従来の方法を考える。この場合、ブラックハットである利用者Ｃが、利用者Ｂになりすますために必要な情報は、利用者Ｂの名前だけである。つまり、利用者Ｃがサーバにどのような個人情報を登録するかは、利用者Ｃが任意に決めることができるので、利用者Ｃが自分の名前のかわりに利用者Ｂの名前Ｐｂを登録しておくことで、利用者Ａからの検索に対して利用者Ｂになりすますことは容易であった。しかし、本発明の方法によれば、ブラックハットである利用者Ｃが、利用者Ａからの検索に対して利用者Ｂになりすますためには、Ｐｂという名前の利用者ＢがＰａという名前の利用者Ａと知り合いであり、かつ利用者Ａからの検索を受け入れているという事実を知っていることが必要である。つまり、この状況でブラックハットである利用者Ｃが利用者Ｂになりすますために登録しなければならないのは、利用者ＡおよびＢの名前の文字列結合のハッシュ値Ｈ（Ｐａ’＋Ｐｂ）であり、これは被検索者の個人情報を直接登録する従来の方法に比べて、ブラックハットによるなりすましは格段に難しい。
【００５９】
しかし、前記本発明による第四の効果をもっても、ブラックハットによるなりすましが不可能となるわけではない。利用者Ａと利用者Ｂの名前や、利用者Ａと利用者Ｂの間の関係を、ブラックハットである利用者Ｃが知っているような場合である。
【００６０】
たとえば、第４３代米国大統領であるジョージ・Ｗ・ブッシュと、その父親である第４１代ジョージ・Ｈ・Ｗ・ブッシュが知り合いであることは世界中で公知であり、またジョージ・Ｗ・ブッシュがジョージ・Ｈ・Ｗ・ブッシュからの検索を受け入れているであろうことも簡単に推測される。このような状況では、本願発明による方法でも、ブラックハットがジョージ・Ｗ・ブッシュとジョージ・Ｈ・Ｗ・ブッシュの文字列結合のハッシュをサーバ１００に登録しておくことで、ジョージ・Ｈ・Ｗ・ブッシュからの、ジョージ・Ｗ・ブッシュの検索に対して、ジョージ・Ｗ・ブッシュになりすますことができるかもしれない。実際には、後に述べる実施形態２のように、様々な個人情報の組み合わせのハッシュ値を登録することで、このような場合でもブラックハットがジョージ・Ｗ・ブッシュになりすますことは困難であるが、本実施形態１のように名前の文字列結合のハッシュを登録しておくという単純な方法においても、次に述べる方法によって、ブラックハットによるなりすましを有効に排除できる。
【００６１】
図１を再び参照すると、ブラックハットである利用者Ｃの端末１０５の記憶装置２８には、利用者Ａの名前Ｐａ’’および利用者Ｂの名前Ｐｂ’’が記憶されているため、本発明による方法であっても、利用者Ａの端末１０４による利用者Ｂの端末１０６の検索において、なりすましが可能である。前述のように、図６および図７に示した各ステップの結果、利用者Ａの端末１０４は、ＩＤｂおよびＩＤｃの二つの認識票を得る（ステップＳ７０５）が、これを得た利用者の端末１０４が、このうちのどちらが本来検索したい利用者Ｂの端末１０６であり、どちらがブラックハットである利用者Ｃの端圧１０５なのかを区別することはできない。この時点で、ブラックハットである利用者Ｃは利用者Ａに対するなりすましに成功している。もし、前記ステップＳ６０５で利用者Ｂの端末１０６がサーバ１００にハッシュ値Ｈ（Ｐａ’＋Ｐｂ）を登録していなければ、利用者Ａは、ブラックハットである利用者Ｃの認識票ＩＤｃを、利用者Ａが探している利用者Ｂの認識票であると認識してしまうため、問題はさらに深刻である。そこで以下では、被検索者である利用者Ｂの端末１０６が、ブラックハットＣによってなりすまされていることを検出することができる、本発明による方法について説明する。
【００６２】
図１を参照すると、ブラックハットである利用者Ｃは利用者Ａの名前および利用者Ｂの名前の両方を知っており、Ｐａ’’およびＰｂ’’をその端末１０５のデータベース２８上に記憶している。利用者Ｃは、利用者Ａの端末１０４からの利用者Ｂの端末１０６の検索において、利用者Ｂになりすますことを目的として、利用者Ｃの端末１０５では、データベース２８に保存されたＰａ’’およびＰｂ’’から、演算手段１１３ｂがこれらの文字列結合のハッシュＨ（Ｐａ’’＋Ｐｂ’’）を作成する。送受信手段１１３ａがこれをサーバ１００に送り、サーバ１００の送受信手段１０８ａがこれを受信すると、データベース１０２に、受信したこのＨ（Ｐａ’’＋Ｐｂ’’）と利用者Ｃの認識票ＩＤｃと関連付けた上で記憶している。
【００６３】
このため、前記ステップＳ７０５で示したように、利用者Ａの端末１０４による利用者Ｂの端末１０６の検索の結果、利用者Ａは二つの認識票ＩＤｂおよびＩＤｃを受信する。この状態では、利用者Ａの端末１０４は、このうちのどちらが、本来利用者Ａが検索したい利用者Ｂの端末１０６であるかを判断できない。
【００６４】
しかし、本発明に係る方法によれば、利用者Ｂの端末１０６が、利用者Ａの端末１０４からの検索について認識票ＩＤｃを持つ利用者Ｃになりすまされている事実を検出できる。図８を参照して、まず、利用者Ｂの端末１０６の演算手段１１２ｂが、ハッシュ値Ｈ（Ｐａ’＋Ｐｂ）を生成し、これを利用者Ｂの端末１０６の記憶装置２１に記憶する（ステップＳ８０１）。次にブラックハット検出を目的として、このハッシュ値Ｈ（Ｐａ’＋Ｐｂ）を送受信手段１１０ａがサーバに送信する（ステップＳ８０２）ことで、検索依頼（３２）をおこなう。これをサーバ１００の送受信手段１０８ａが受信し、さらに検索手段１０８ｃによるデータベース１０２の検索（ステップＳ８０３）の結果、これと同じハッシュ値が存在すれば（ステップＳ８０４）、サーバ１００のデータベース１０２において、一致を検出したハッシュ値の各々に関連づけられている認識票を、送受信手段１０８ａを通じて利用者Ｂの端末１０６に送る（ステップＳ８０５）。一方、利用者Ｂの端末１０６では、送受信手段１１２ａが、前記サーバより送られた認識票を受信し（ステップＳ８０６）、次に認識票比較手段１１２ｄがこの中に利用者Ｂの端末１０６の認識票ＩＤｂ以外の認識票があるかどうかを検証する（ステップＳ８０７）。もしＩＤｂ以外の認識票が発見されれば、それが、利用者Ａの端末１０４による利用者Ｂの端末１０６の検索において、利用者Ｂの端末１０６になりすましを企てているブラックハットである可能性が高い。
【００６５】
本実施形態では、認識票比較手段は利用者Ｂの端末１０６上にあり、サーバ１００から送られた認識票を利用者Ｂの端末１０６で利用者Ｂの認識票ＩＤｂと比較したが、前記ステップＳ８０５で得られた検索結果に基づく認識票を、依頼者である利用者Ｂの端末１０６の認識票ＩＤｂと比較する手段は、サーバ１００にあってもよく、この場合は、サーバ１００の送受信手段１０８ａは、この認識票比較手段による認識票ＩＤｂとの比較の結果ブラックハットの認識票と疑われた認識票のみを、利用者Ｂの端末１０６に送信してもよい。
【００６６】
このような方法で、被開示者によってブラックハットが検出されれば、被開示者である利用者Ｂの端末１０６の送受信手段１１２ａが利用者Ａの端末１０４に対して、認識票ＩＤｃを持つ端末になりすまされている旨を送信（ステップＳ８０８）し、これを利用者Ａの端末１０４の表示装置に表示するなどして、注意を喚起することができる。または、利用者Ｂの端末１０６の送受信手段１０８ａが、ブラックハットである利用者Ｃの認識票ＩＤｃと関連づけられて登録されているハッシュ値Ｈ（Ｐａ’’＋Ｐｂ’’）をサーバ１００から削除するコマンドをサーバ１００に対して送信し、これによってサーバ１００のデータベース１０２から、ブラックハットである利用者Ｃから登録され、その認識票ＩＤｃと関連づけられて記憶されたハッシュ値Ｈ（Ｐａ’’＋Ｐｂ’’）を削除することなどによって、これ以降のブラックハットによるなりすましを排除できる。この通信サービスの各利用者が、定期的にこのような方法でサーバ１００に対してブラックハット検出のための検索をおこなってもよい。
【００６７】
なお、本実施形態における各端末の送受信手段、演算手段、認識票比較手段、およびサーバの送受信手段、テーブル作成手段、検索手段は、各端末またはサーバのハードウェア上で動作するオペレーティングシステム、ミドルウェア、またはアプリケーションソフトウェア上で実行されていてもよい。
【００６８】
また、前記ステップＳ６０１からＳ６０６で説明したハッシュ値登録のステップ、および前記ステップＳ７０１からステップ７０６で説明したハッシュ値検索のステップとは独立して、前記ステップＳ８０１からステップＳ８０８に示したブラックハット検出のステップはいつでも実行することができる（ステップＳ６０７）
【００６９】
本発明による方法によって、既に説明した４つの効果に加えて、本発明の第５の効果として、なりすましを企てられている利用者の端末が、ブラックハットを容易に検出でできる点を挙げることができる。ブラックハットである利用者Ｃは、検索者である利用者Ａを欺いて利用者Ｂになりすますことはできるが、本発明による方法では、被検索者である利用者Ｂはなりすまされている事実を知ることができ、かつなりすましを試みているブラックハットの認識票を、サーバ１００より得ることができるという効果がある。
【００７０】
なお、本実施形態では、一例として名前の文字列結合のハッシュ関数という非可換かつ非可逆演算を用いたが、既に述べたように、これは任意の演算Ｆでよい。一般に、ここで用いる任意の演算が非可換である場合には、利用者Ａの端末１０４からの利用者Ｂの検索において、利用者Ａの端末１０４に保持されているＡ自身の情報およびＢの個人情報、および利用者Ｂの端末１０６に保持されているＢ自身の情報およびＡの個人情報、の両方が正しい、すなわちＰａ’＝ＰａかつＰｂ’＝Ｐｂである場合には、利用者Ｂの端末１０６からサーバ１００への、ブラックハット検出要求３２、すなわちＨ（Ｐａ’＋Ｐｂ）の検索依頼に対して、サーバ１００の検索手段１０８ｃは、利用者Ｂの認識票ＩＤｂ以外の認識票と関連づけられている演算結果を検索することでブラックハットである利用者Ｃから登録された演算結果Ｆ（Ｐａ’’、Ｐｂ’’）をブラックハットによるものとして検出できる。
【００７１】
もし、ここで用いる任意の演算Ｆが可換である場合には、利用者Ａの端末１０４からの利用者Ｂの検索において、利用者Ａの端末１０４に保持されているＡ自身の情報およびＢの個人情報、および利用者Ｂの端末１０６に保持されているＢ自身の情報およびＡの個人情報の両方が正しい、すなわちＰａ’＝ＰａかつＰｂ’＝Ｐｂである場合、ブラックハットである利用者Ｃの端末１０５がサーバ１００に送信し、データベース１０２で利用者Ｃの認識票ＩＤｃと関連づけられて記憶されているＦ（Ｐａ’’，Ｐｂ’’）と、利用者Ａがサーバ１００に送信し、データベース１０２で利用者Ａの認識票ＩＤａと関連づけられて記憶されているＦ（Ｐｂ’，Ｐａ）とが等しくなる。この場合、利用者Ｂの端末１０６からのブラックハット検出要求３２、すなわちＦ（Ｐａ’，Ｐｂ）と等しい演算結果のサーバ１００への検索依頼においては、利用者Ｂ自身が前記ステップＳ６０５でサーバ１００に登録した演算結果Ｆ（Ｐａ’、Ｐｂ）に加えて、ブラックハットである利用者Ｃの認識票ＩＤｃと関連づけられた演算結果Ｆ（Ｐａ’’，Ｐｂ’’）と、利用者Ａの認識票ＩＤｃとＦ（Ｐｂ’，Ｐａ）の両方が検索される。つまりこの検索依頼では、ブラックハットであることが疑われる者として、ブラックハットである利用者Ｃと、利用者Ｂからの検索を許可するためにサーバ１００のデータベース１０２に記憶した利用者Ａの両方が検出されるため、これだけではブラックハットの検出は行えない。ただし、もし利用者Ｂの端末１０６のデータベースに利用者Ａの認識票ＩＤａが記憶されていれば、ブラックハット検出要求３２の検索結果について、利用者Ｂの端末１０６における認識票比較手段１１２ｄによれば、前記一致によってブラックハットに疑われた者の認識票ＩＤｃおよびＩＤａのなかからＩＤａがブラックハットでないことは判断できるので、消去法で認識票ＩＤｃを持つ利用者Ｃがブラックハットであると推測できる。
【００７２】
なお、上述したとおり、Ａの端末１０４とＢの端末１０６とが通信の確立を行うとき、サービス事業者のサーバ１００からＡの端末１０４に対してＢのこのネットワークサービス上での認識票ＩＤｂ、またはＢとの接続のために必要な情報通知することで、Ａの端末１０４とＢの端末１０６とのＰ２Ｐ接続２８を確立するようにしてもよい。また、別のネットワークサービス事業者の接続サーバを介してＡの端末１０４とＢの端末１０６との接続を確立してもよい。
【００７３】
なお、本実施形態では、Ａの端末１０４がサーバ１００に問い合わせる情報Ｈ（Ｐａ＋Ｐｂ’）として、Ａの端末に記憶されているＡ自身の名前とＢの名前というように、同じ属性の個人情報の組み合わせのハッシュという演算結果を用いたが、たとえばＰａとしてＡの電話番号、Ｐｂ’としてＢの住所、というように属性の異なる個人情報を組み合わせて、そのハッシュ値をサーバ１００に問い合わせてもよい。さらに、ここで用いる情報は、一般に個人情報と呼ばれる個人を特定できる情報である必要もなく、通信する者同士があらかじめ決めた合い言葉のような一般の情報でもよい。
【００７４】
（実施形態２）
上述の実施形態１においては、被検索者が検索することを許可した検索者の一つの個人情報と、被検索者自身の一つの個人情報を演算した結果を、ネットワークサービス事業者のサーバ１００に登録しておき、検索者がこれを検索した。本実施形態２においては、被検索者が検索することを許可した検索者の任意の数の情報と、被検索者自身の任意の数の情報を順列に組み合わせたなかで任意の組み合わせの演算結果を、ネットワークサービス事業者のサーバ１００に登録しておき、検索者は被検索者の個人情報と検索者自身の個人情報の任意の組み合わせの演算結果を、サーバ１００に問い合わせるという、より一般的な方法について説明する。なお、実施形態１に係る本発明のシステム及び方法と同様の構成要素については、同じ符号を付し、改めて説明しない場合がある。
【００７５】
例えば、利用者Ａの個人情報をＰ１ａ、Ｐ２ａ、・・・、Ｐｎａ（ｎは整数）などとする。利用者Ｂの個人情報をＰ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂ（ｍは整数）とする。たとえば、Ｐ１ａを利用者Ａの名前、Ｐ２ａを利用者Ａの住所、Ｐ３ａを利用者Ａの電話番号、・・・、Ｐ１ｂが利用者Ａの名前、Ｐ２ｂが利用者Ｂの住所、Ｐ３ｂが利用者Ｂの電話番号、・・・などがその一例である。ここで、たとえばＰ１ａとＰ１ｂというように、同じ数字の記号同士は、同じ属性の個人情報であっても、異なる属性の個人情報であってもよい。さらに、ここで用いる情報は、一般に個人情報と呼ばれる個人を特定できる情報である必要もなく、通信する者同士があらかじめ決めた合い言葉のような一般の情報でもよい。
【００７６】
利用者Ａの端末１０４は、利用者Ａ自身の個人情報Ｐ１ａ、Ｐ２ａ、・・・、Ｐｎａ及び利用者Ｂの個人情報Ｐ１ｂ’、Ｐ２ｂ’、・・・、Ｐｍｂ’をそのデータベース２１に記憶・保存している。利用者Ｂの端末１０６は、利用者Ｂ自身の個人情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂ及び利用者Ａの個人情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’をそのデータベース２２に記憶・保存している。利用者Ａの個人情報の数や種類、また利用者Ｂの個人情報の数や種類は、それぞれ任意である。また、ｍ＝ｎであってもよいし、ｍ≠ｎであってもよい。また、利用者Ａの端末１０４に記憶・保存されているＡの個人情報の数と、利用者Ｂの端末１０６に記憶・保持されているＡの個人情報の数は、同じであっても異なっていてもよい。同様に、利用者Ｂの端末１０６に記憶・保存されているＢの個人情報の数と、利用者Ａの端末１０４に記憶・保持されているＢの個人情報の数は、同じであっても異なっていてもよい。
【００７７】
ここで、実施形態１と同様に、各情報の右上につけた「ダッシュ」は、各端末の所有者がその端末において記憶・保持している他人の情報であることを表す。たとえばＰ１ａおよびＰ１ｂを名前、Ｐ２ａおよびＰ２ｂを住所、Ｐ３ａおよびＰ３ｂを勤務先などとすると、Ｐ１ｂ’はＡがＡの端末１０４で記憶・保持しているＢの名前であることを意味している。またたとえば、Ｐ２ｂは、ＢがＢの端末１０６で記憶・保持しているＢ自身の住所であることを意味している。たとえば、通常であればＰ１ｂ’＝Ｐ１ｂ、かつＰ２ｂ’＝Ｐ２ｂであるが、たとえばどちらか端末に記憶・保持されている情報が間違っていたり、古かったりして、これが常に成立するとは限らない。
【００７８】
ここで、再び図６および図７のフロー図を用いて、利用者Ａの端末１０４が利用者Ｂの端末１０６を検索する方法を説明する。またさらに、図８のフロー図を用いてこの状況において、利用者Ｂになりすまして利用者Ａに検索されようとしている、ブラックハットである利用者Ｃの端末１０５を利用者Ｂの端末１０６が検出する方法について説明する。前記実施形態１では、被検索者となる利用者Ｂの端末１０６が自分の名前Ｐｂと利用者Ａの名前Ｐａ’の文字列結合のハッシュ値Ｈ（Ｐａ’＋Ｐｂ）をサーバ１００のデータベース１０２に登録し、次に利用者Ａの端末１０４はＨ（Ｐａ＋Ｐｂ’）をサーバ１００に対して問い合わせることで、利用者Ａが利用者Ｂを検索した。また、被検索者である利用者Ｂが、サーバに登録されているＨ（Ｐａ’＋Ｐｂ）のなかで、利用者Ｂの認識票ＩＤｂ以外と関連づけられたハッシュ値があるかどうかを検索することで、ブラックハットの存在を検出した。本実施形態２でも同様のステップによって利用者Ａが利用者Ｂを検索し、かつブラックハットを検出するが、前記実施形態１との違いは、前記実施形態１では、検索者と被検索者の情報の一組の組み合わせのハッシュ値を検索に使うのに対して、本実施形態２では、検索者と被検索者の任意の組み合わせのハッシュ値を複数使う点である。なお、このステップは、上記の実施形態１に示した図６、図７及び図８に示すステップと同様であるので、ここでは適宜説明を省略する。また、上記実施形態１では、一例としてもっとも理解しやすい文字列結合のハッシュ演算を用いたが、本実施形態２で示す一例では、個人情報を変数とする任意の演算Ｆを用いて説明する。したがって、本実施形態２においては、図２に現れるたとえばＨ（Ｐｂ’＋Ｐａ）などの文字列結合のハッシュ演算の表記を、任意の関数Ｆを用いたＦ（Ｐｂ’，Ｐａ）などに置きかえて説明する。
【００７９】
上記実施形態１と同様に、ここで用いる任意の演算Ｆは、可逆な演算でも非可逆な演算でよい。既に述べたように、ここで可逆な演算を用いた場合には、非可逆な演算を用いた場合にくらべて、実施形態１で述べた本発明の効果のうちで、守秘性は低くなるが、本発明によるこれ以外の効果は変わらない。さらに、ここで用いる任意の演算Ｆは、変数である個人情報について可換であっても非可換であってもよい。
【００８０】
利用者Ａの端末１０４においては、演算手段１１０ａが、データベース２１に記憶・保持されているＢの個人情報Ｐ１ｂ’、Ｐ２ｂ’、・・・、Ｐｍｂ’と、データベース２１に記憶・保持されているＡ自身の個人情報Ｐ１ａ、Ｐ２ａ、・・・、Ｐｎａとを任意の演算Ｆによって演算したうえ、これをデータベース２１に記憶する。利用者Ａの端末１０４において演算するＢの個人情報とＡ自身の個人情報とは、任意に順列に組み合わせることができる。つまり、Ｂの個人情報とＡの個人情報との組み合わせは、（Ｐ１ｂ’，Ｐ１ａ）、（Ｐ２ｂ’，Ｐ１ａ）、（Ｐ１ｂ’，Ｐ２ｂ’，Ｐ１ａ，Ｐ２ａ）、・・・、（Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’，Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ）等があるが、Ａの端末１０４の演算手段１１０ａでは、これらのなかから任意の組み合わせの一つ以上の演算をおこない、たとえばＦ（Ｐ１ｂ’，Ｐ１ａ）、Ｆ（Ｐ２ｂ’，Ｐ１ａ）、Ｆ（Ｐ１ｂ’，Ｐ２ｂ’，Ｐ１ａ，Ｐ２ａ）、・・・、Ｆ（Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’，Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ）等をデータベース２１に記憶する（ステップＳ６０１）。
【００８１】
現実には、利用者Ａの端末にあるデータベース２１に記憶・保持されているＢの個人情報は、Ａの端末にあるＡ自身の情報Ｐ１ａ、Ｐ２ａ、・・・、Ｐｎａに比べて少ない。たとえば、ＡはＡ自身の名前、住所、電話番号、出身地など数多くの情報を知っており、これらの多くが利用者Ａの端末にあるデータベース２１に記憶・保持されていることが多いが、他人であるＢの情報は名前と電話番号のみというように、他人についての個人情報は限られているのが普通である。このような状態においても、利用者Ａの端末で組み合わせるこのＢの個人情報とＡの個人情報の組み合わせは、Ａの端末のデータベース２１に記憶されているもののなかから作ることのできる任意の組み合わせでよい。また、Ａの端末のデータベース２１に保存されているＡの個人情報とＢの個人情報のすべてを組み合わせる必要はなく、利用者Ａがその組み合わせを任意に選択してもよい。
【００８２】
さらに、Ａの端末のデータベース２１にＡ自身の情報の一部しか記憶・保持されていない場合も、Ａの端末のデータベース２１に記憶・保持されている情報のなかから、Ａの個人情報とＢの個人情報を任意に組み合わせればよい。たとえば、Ａの端末のデータベースには、Ａの個人情報のなかからＡの名前と電話番号のみ、またＢの個人情報のなかでＢの住所のみが記憶・保持されているような状態では、Ａの名前とＢの住所の組み合わせ、およびＡの名前とＢの住所の組み合わせ、というように、Ａの端末１０４で利用可能なＢおよびＡ自身の情報のなかから任意に組み合わせればよい。
【００８３】
次に、Ａの端末１０４の送受信手段１１０ｂは、ネットワークサービス事業者のサーバ１００に、ここで選択した任意の組み合わせに基づく演算結果Ｆ（Ｐ１ｂ’，Ｐ１ａ）、Ｆ（Ｐ２ｂ’，Ｐ１ａ）、Ｆ（Ｐ１ｂ’，Ｐ２ｂ’，Ｐ１ａ，Ｐ２ａ）、・・・、Ｆ（Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’，Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ）等を送る（ステップＳ６０２）。サーバ１００では、演算結果利用者Ａの端末１０４で選択された任意の組み合わせに基づく演算結果Ｆ（Ｐ１ｂ’，Ｐ１ａ）、Ｆ（Ｐ２ｂ’，Ｐ１ａ）、Ｆ（Ｐ１ｂ’，Ｐ２ｂ’，Ｐ１ａ，Ｐ２ａ）、・・・、Ｆ（Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’，Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ）等を送受信手段１０８ａで受信する。テーブル作成手段１０８ｂは、ここで受信した演算結果Ｆ（Ｐ１ｂ’，Ｐ１ａ）、Ｆ（Ｐ２ｂ’，Ｐ１ａ）、Ｆ（Ｐ１ｂ’，Ｐ２ｂ’，Ｐ１ａ，Ｐ２ａ）、・・・、Ｆ（Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’，Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ）等をＡのこのネットワークサービス上の認識票ＩＤａ、または接続に必要な情報と関連づけた上で登録（２３）し、データベース１０２に記憶・保持する（ステップＳ６０３）。なお、サーバ１００及びＡの端末１０４における任意の関数による演算やデータの送受信は、データ処理手段１０８及び１１０に組み込まれたオペレーティングシステム上で動作するコンピュータプログラム、ミドルウェア、アプリケーション上で処理されるようにしてもよい。
【００８４】
同様に、利用者Ｂの端末１０６では、ハッシュ値生成手段１１２ａが、データベース２２に記憶・保持されているＡの個人情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’と、データベース２２に記憶・保持されているＢ自身の個人情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｎｂとの任意の一つ以上の組み合わせを選択する。ここで、たとえばＰ１ａとＰ１ｂというように、同じ数字を記号同士は、同じ属性の個人情報であっても、異なる属性の個人情報であってもよい。さらに、ここで用いる情報は、一般に個人情報と呼ばれる個人を特定できる情報である必要もなく、通信する者同士があらかじめ決めた合い言葉のような一般の情報でもよい。利用者Ｂの端末１０６におけるＡの個人情報とＢの個人情報とは、任意に順列に組み合わせることができる。つまり、Ａの個人情報とＢの個人情報との組み合わせは、（Ｐ１ａ’，Ｐ１ｂ）、（Ｐ２ａ’，Ｐ１ｂ）、（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｎｂ）等があるが、Ｂの端末１０６の演算手段１１２ａでは、これらのなかから任意の組み合わせを選択する。
【００８５】
通常、利用者Ｂの端末にあるデータベース２２に記憶・保持されているＡの個人情報は、Ｂの端末にあるＢ自身の情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｎｂに比べて少ない。たとえば、ＢはＢ自身の名前、住所、電話番号、出身地など数多くの情報を知っており、これらの多くが利用者Ｂの端末にあるデータベース２２に記憶・保持されることが多いが、他人であるＡの情報は、たとえば名前と電話番号のみというように、限られているのが普通である。このような状態において、利用者Ｂの端末で組み合わせるこのＡの個人情報とＢの個人情報の組み合わせは、Ｂの端末のデータベース２２に記憶されているもののなかから作ることのできる任意の組み合わせでよい。また、Ｂの端末のデータベース２２に保存されているＢの個人情報とＡの個人情報のすべてを組み合わせる必要はなく、利用者Ｂがその組み合わせを任意に選択してもよい。
【００８６】
さらに、Ｂの端末のデータベース２２にＢ自身の情報の一部しか記憶・保持されていない場合も、Ｂの個人情報の一部とＡの個人情報の一部を任意に組み合わせればよい。たとえば、Ｂの端末のデータベースに、Ｂの個人情報のなかでＢの電話番号のみ、またＡの個人情報のなかでＡの住所だけが記憶・保持されているような状態では、唯一の組み合わせとなるＡの電話番号とＢの住所の組み合わせでよい。
【００８７】
Ｂの端末１０６において、演算手段１１２ａは、ここで選択した組み合わせによって結合した文字列（Ｐ１ａ’，Ｐ１ｂ）、（Ｐ２ａ’，Ｐ１ｂ）、（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｎｂ）等に基づき任意の演算Ｆによって演算した演算結果Ｆ（Ｐ１ａ’，Ｐ１ｂ）、Ｆ（Ｐ２ａ’，Ｐ１ｂ）、Ｆ（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｎｂ）等を生成し、これをデータベース２２に記憶する（ステップＳ６０４）。次に、Ｂの端末１０６の送受信手段１１２ｂは、ネットワークサービス事業者のサーバ１００にここで選択した任意の組み合わせに基づく演算結果Ｆ（Ｐ１ａ’，Ｐ１ｂ）、Ｆ（Ｐ２ａ’，Ｐ１ｂ）、Ｆ（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｎｂ）等を送る（ステップＳ６０５）。サーバ１００のデータ処理手段１０８が、Ｂの端末１０６より送られた演算結果Ｆ（Ｐ１ａ’，Ｐ１ｂ）、Ｆ（Ｐ２ａ’，Ｐ１ｂ）、Ｆ（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｎｂ）等を送受信手段１０８ｂで受信する。テーブル作成手段１０８ｂは、演算結果Ｆ（Ｐ１ａ’，Ｐ１ｂ）、Ｆ（Ｐ２ａ’，Ｐ１ｂ）、Ｆ（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｎｂ）等をＢのこのネットワークサービス上での認識票ＩＤｂまたはとＢとの接続に必要な情報と関連づけた上で登録（２４）し、データベース１０２に記憶・保持する（ステップＳ６０６）。なお、Ｂの端末１０６における任意の関数による演算や送受信は、データ処理手段に組み込まれたオペレーティングシステム上で動作するコンピュータプログラム、ミドルウェア、アプリケーション上で処理されるようにしてもよい。
【００８８】
この状態でいつでも、利用者Ｂはその端末１０６になりすましを企てているブラックハットの検出をおこなうことができるが（ステップＳ６０７）、本実施形態２の説明でもまず図７を用いて、利用者Ａの端末１０４が利用者Ｂの端末１０６を、サーバ１００を通じて検索する（ステップＳ６０８）方法について説明する。その後に、図８を用いて前記ステップＳ６０７で利用者Ｂの端末１０６が、利用者Ｂの端末１０６になりすましを企てている利用者Ｃの端末１０５を検出するステップについて説明する。
【００８９】
図７を参照すると、利用者Ａが利用者Ｂを検索しようとする場合、利用者Ａの端末１０４において、演算手段１１０ａは、Ｂの個人情報とＡ自身の個人情報との任意の組み合わせを、任意の演算Ｆによって演算した結果Ｆ（Ｐ１ａ，Ｐ１ｂ’）、Ｆ（Ｐ２ａ，Ｐ１ｂ’）、Ｆ（Ｐ１ａ，Ｐ２ａ，Ｐ１ｂ’，Ｐ２ｂ’）、・・・、Ｆ（Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ，Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’）等を生成する（ステップＳ７０１）。このＡの端末１０４で行われる任意の演算Ｆは、如何なる演算であってもよいが、利用者Ｂの端末１０６が、そのデータベース２２に保持している利用者Ａの個人情報と利用者Ｂ自身の個人情報の演算結果をサーバ１００に登録する（ステップＳ６０２及びステップＳ６０５）時に使った演算と同じ演算Ｆであることが要求される。ただし、ここで検索依頼のためのＢの個人情報とＡ自身の個人情報の組み合わせは、Ｂが上であらかじめサーバ１００に登録したＡの個人情報とＢ自身の個人情報の組み合わせと同じである必要はない。そして、利用者Ａの端末１０４の送受信手段１１０ｂは、ここで任意に組み合わせたＢの個人情報とＡ自身の個人情報の文字列結合の演算結果Ｆ（Ｐ１ａ，Ｐ１ｂ’）、Ｆ（Ｐ２ａ，Ｐ１ｂ’）、Ｆ（Ｐ１ａ，Ｐ２ａ，Ｐ１ｂ’，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ，Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’）等をネットワークサービス事業者のサーバ１００に送ることによって、サーバ１００に検索を依頼（２５）する（ステップＳ７０２）。Ａの端末１０４から送信されたこれらの演算結果Ｆ（Ｐ１ａ，Ｐ１ｂ’）、Ｆ（Ｐ２ａ，Ｐ１ｂ’）、Ｆ（Ｐ１ａ，Ｐ２ａ，Ｐ１ｂ’，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ，Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’）等は、サーバ１００におけるデータ処理手段１０８の送受信手段１０８ｂによって受信される（ステップＳ７０３）。そして、データ処理手段１０８の検索手段１０８ｃがＡの端末１０４から送信されたこれらの演算結果Ｆ（Ｐ１ａ，Ｐ１ｂ’）、Ｆ（Ｐ２ａ，Ｐ１ｂ’）、Ｆ（Ｐ１ａ，Ｐ２ａ，Ｐ１ｂ’，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ，Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’）等と、データベース１００に登録されているＢの認識票ＩＤｂまたは接続情報と関連づけられた演算結果Ｆのうちで一致する演算結果を検索する（ステップＳ７０４）。ここで、本実施形態２においては、ネットワークサービス事業者のデータベース１０２にＢの認識票ＩＤｂ、または接続のために必要な情報と関連づけられた演算結果Ｆ（Ｐ１ａ’，Ｐ１ｂ）、Ｆ（Ｐ２ａ，Ｐ１ｂ’）、Ｆ（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｎｂ）等がすでにＢによって登録されている（ステップＳ６０６）。このＡからの検索依頼に対して、ネットワークサービス事業者のサーバ１００における検索手段１０８ｃは、データベース１００においては、Ａの端末１０４から送信されたこれらの演算結果Ｆ（Ｐ１ａ，Ｐ１ｂ’）、Ｆ（Ｐ２ａ，Ｐ１ｂ’）、Ｆ（Ｐ１ａ，Ｐ２ａ，Ｐ１ｂ’，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ，Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’）等と、データベース１００に登録されているＢの認識票または接続に必要な情報と関連づけられた演算結果Ｆとの一致、（即ち、Ｆ（Ｐ１ａ，Ｐ１ｂ’）＝Ｆ（Ｐ１ａ’，Ｐ１ｂ）、Ｆ（Ｐ２ａ，Ｐ１ｂ’）＝Ｆ（Ｐ２ａ’，Ｐ１ｂ）、Ｆ（Ｐ１ａ，Ｐ２ａ，Ｐ１ｂ’，Ｐ２ｂ）＝Ｆ（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ，Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’）＝Ｆ（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｎｂ）等）を検索（２６）する。このような一致が検出されれば、サーバ１００の送受信手段は、利用者Ａの端末１０４に対して、これらと一致した演算結果の各々に関連づけられた利用者Ｂの認識票ＩＤｂを送る（ステップＳ７０５）。また、この検索依頼に対して、ネットワークサービス事業者のサーバ１００における検索手段１０８ｃが、データベース１００において、Ａの端末１０４からＢの検索のために送信された演算結果Ｆ（Ｐ１ａ，Ｐ１ｂ’）、Ｆ（Ｐ２ａ，Ｐ１ｂ’）、Ｆ（Ｐ１ａ，Ｐ２ａ，Ｐ１ｂ’，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ，Ｐ２ａ，・・・，Ｐｎａ，Ｐ１ｂ’，Ｐ２ｂ’，・・・，Ｐｍｂ’）等と、データベース１００に登録されているＢのネットワークＩＤなどの接続情報と関連づけられた演算結果Ｆとの一致を一つも検出しない場合は、サーバ１００は、利用者Ａの端末１０４に利用者ＢのネットワークサービスＩＤなどこのネットワークサービス上でＢの認識票や接続に必要な情報を送信しない（ステップＳ７０６）。  
【００９０】
ただし、図１に示す一例では、本実施形態２においても、ブラックハットである利用者Ｃが、利用者Ａの端末１０４からの利用者Ｂの端末１０６の検索に対して、利用者Ｂになりすますことを目的として、利用者Ｃの端末１０５のデータベース２８に記憶されている、利用者Ａおよび利用者Ｂの任意の情報、たとえばＰ１ａ’’、Ｐ２ａ’’、Ｐ１ｂ’’、Ｐ２ｂ’’などから演算結果Ｆ（Ｐ１ａ’’、Ｐ１ｂ’’）、Ｆ（Ｐ１ａ’’、Ｐ２ｂ’’）、Ｆ（Ｐ２ａ’’、Ｐ１ｂ’’）、・・・等を、利用者Ｃの認識票ＩＤｃと関連づけてサーバ１００のデータベース１０２に登録してある。ここでは、まずこのような利用者Ｃによるなりすましがない場合に、本発明による方法によって得られる、従来の方法に比べた効果について説明する。利用者Ｃによるなりすましが企てられていない場合、本実施形態２に係る方法によれば、従来の方法に比べて前記実施形態１で述べた５つの効果に加えて、さらに以下の２つの効果がある。これらの効果はなりすましが企てられている場合にも有効である。
【００９１】
第６の効果としては、本実施形態２によれば、ネットワークサービス上で二人が相互に検索するような場合、利用者Ａの端末１０４に保持されている利用者Ｂの個人情報と、利用者Ｂの端末１０６に保持されている利用者Ａの個人情報が同じでなくとも、利用者Ａの端末１０４が利用者Ｂの端末１０６を検索し、かつ利用者Ｂの端末１０６が利用者Ａの端末１０４を検索することができる点である。たとえば、被検索者Ｂが名前を検索用のサーバに登録して、検索者ＡがＢの名前を直接サーバ上で検索するという従来の方法では、ネットワークサービス上でＡの端末１０４がＢの端末１０６を検索する場合は、利用者Ａの端末１０４に利用者Ｂの名前を保持した上、利用者Ｂの名前についてサーバ１００に対して検索依頼をする必要があり、逆に利用者Ｂが利用者Ａを探す場合には、利用者Ｂの端末１０６に利用者Ａの名前を保持した上利用者Ａの名前についてサーバ１００に対して検索依頼をする必要があった。すなわち、二人が相互に検索しあうような場合、利用者Ａの端末１０４は利用者Ｂの名前を、また利用者Ｂの端末１０６は利用者Ａの名前を、というように同じ属性の個人情報を両方の端末に保持した上、各々の名前を検索用のサーバに問い合わせる必要があった。しかし、本実施形態２に示す方法によれば、Ａの端末１０４のデータベース２１には利用者Ｂの電話番号だけが、また利用者Ｂの端末１０６のデータベース２２にはＡの住所だけが保持されているというように、ＡとＢが各々異なる属性の個人情報しか各々の端末に保持できていない場合にでも、利用者Ａの端末１０４がＢの電話番号とＡ自身の住所を、また利用者Ｂの端末１０６が利用者Ａの住所と利用者Ｂ自身の電話番号を各々サーバ１００のデータベース１０２に登録してあれば、利用者Ａが利用者Ｂを、また利用者Ｂが利用者Ａをそれぞれ検索することができる。
【００９２】
第７の効果としては、本実施形態２によれば、従来の方法に比べてだけでなく、上述の実施形態１の方法にくらべても、一意性の低い個人情報を使っても、サーバ１００の検索手段１０８ｃが、検索者からの検索要求に対して、被検索者を一意に特定できない可能性をさらに小さくすることができる点である。たとえば実施形態１の方法によれば、ごくありふれた名前であるＡがごくありふれた名前であるＢを検索するような場合には、検索サーバのデータベース１０２に登録された演算結果の中に、複数のＦ（Ｐａ’，Ｐｂ）が存在する可能性があり、たとえば利用者Ａが利用者Ｂを検索しようとする際に、検索サーバ１００では利用者Ｂを一意に特定できない可能性がある。しかし本実施形態２の方法によれば、利用者Ａが利用者Ｂを検索する際には、利用者Ｂの端末のデータベース２２に保持されている利用者Ａの個人情報と利用者Ｂ自身の個人情報の任意の一つ以上の組み合わせの演算結果をサーバのデータベース１０８ｃに登録した上、利用者Ａが利用者Ａの端末のデータベースに保持されている一つ以上の利用者Ｂの個人情報と利用者Ａ自身の個人情報の一つ以上の任意の組み合わせの演算結果をサーバ１００に対して問い合わせるので、多くの場合、複数の個人情報の組み合わせの演算結果を検索することになり、サーバのデータベース１０８ｃに登録された演算結果がすべて重複する可能性は、実施形態１の方法にくらべて更に小さくなる。たとえば、ありふれた名前を持つ利用者Ａがありふれた別の名前を持つ利用者Ｂを検索する場合、利用者Ｂの端末１０６があらかじめ、サーバのデータベース１０８ｃに、利用者Ａの名前と利用者Ｂ自身の名前、利用者Ａの勤務先と利用者Ｂ自身の名前、利用者Ａの名前と利用者Ｂ自身の勤務先、および利用者Ａの勤務先と利用者Ｂ自身の勤務先、の四つの組み合わせの演算結果を登録しておく場合を考える。ここでた利用者Ａの端末１０４がサーバ１００に対して、利用者Ｂの名前と利用者Ａ自身の名前、利用者Ｂの名前と利用者Ａ自身の勤務先の二組の演算結果の検索を依頼した場合は、ありふれた名前、およびありふれた勤務先といういずれも単独では検索相手を一意に特定することが難しい情報を用いても、これら二組がともに一致するという条件であれば、利用者Ｂを一意に特定できる可能性が高い。
【００９３】
本実施形態２においても、従来の方法に比べると、ブラックハットは、被検索者の個人情報と検索者の個人情報の両方をその端末１０５に記憶していなければならないという点で、なりすましは難しいが、それでもブラックハットがその端末１０５に被検索者と検索者の情報の両方を記憶している場合は皆無とはいえず、ブラックハットによるなりすましを完全に防止することはできない。そこで次に、再び図８を参照して、ブラックハットである利用者Ｃが、利用者Ａの端末１０４から利用者Ｂの端末１０６の検索に対して、利用者Ｂになりすまそうと企てている場合に、利用者Ｂの端末１０６がその事実、およびブラックハットである利用者Ｃを検出する方法について説明する。
【００９４】
しかし、本発明に係る本実施形態２による方法によれば、利用者Ｂの端末１０６が、利用者Ａの端末１０４からの検索について認識票ＩＤｃを持つ利用者Ｃになりすまされている事実を知ることができる。図８を参照して、まず、利用者Ｂの端末１０６の演算手段１１２ｂが、前記ステップＳ６０５でサーバ１００に送信した上、サーバ１００がそのデータベース１０２に記憶したものと同じ演算結果Ｆ（Ｐ１ａ’，Ｐ１ｂ）、Ｆ（Ｐ２ａ’，Ｐ１ｂ）、Ｆ（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｎｂ）等を生成する（ステップＳ８０１）。次にブラックハット検出を目的として、これらの演算結果をすべて送受信手段１１０ａがサーバに送信する（ステップＳ８０２）ことで、検索依頼（３２）をおこなう。これらをサーバ１００の送受信手段１０８ａが受信し、さらに検索手段１０８ｃによるデータベース１０２の検索（ステップＳ８０３）の結果、これらと同じハッシュ値が存在すれば（ステップＳ８０４）、サーバ１００のデータベース１０２において、一致を検出したハッシュ値の各々に関連づけられている認識票すべてを、送受信手段１０８ａを通じて利用者Ｂの端末１０６に送る（ステップＳ８０５）。一方、利用者Ｂの端末１０６では、送受信手段１１２ａが、前記サーバより送られた認識票を受信し（ステップＳ８０６）、次に認識票比較手段１１２ｄがこの中に利用者Ｂの端末１０６の認識票ＩＤｂ以外の認識票があるかどうかを検証する（ステップＳ８０７）。もしＩＤｂ以外の認識票が一つでも発見されれば、それが、利用者Ａの端末１０４による利用者Ｂの端末１０６の検索において、利用者Ｂの端末１０６になりすましを企てているブラックハットである可能性が高い。
【００９５】
たとえば、前記ステップＳ８０２において、サーバ１００にブラックハット検出を目的として問い合わせた演算結果Ｆ（Ｐ１ａ’，Ｐ１ｂ）、Ｆ（Ｐ２ａ’，Ｐ１ｂ）、Ｆ（Ｐ１ａ’，Ｐ２ａ’，Ｐ１ｂ，Ｐ２ｂ）、・・・、Ｆ（Ｐ１ａ’，Ｐ２ａ’，・・・，Ｐｎａ’，Ｐ１ｂ，Ｐ２ｂ，・・・，Ｐｎｂ）等の各々に関連づけられた認識票を、前記ステップＳ８０６において利用者Ｂの端末１０６が得たすべての認識票について、これを認識票比較手段１１２ｄで、利用者Ｂ自身の認識票ＩＤｂと比較した時に、１つでもＩＤｂと異なる認識票ＩＤｃを検出した場合には、その認識票ＩＤｃは、利用者Ａの端末１０４から利用者Ｂの端末１０６の検索について、利用者Ｂの端末１０６になりすましを企てているブラックハットである可能性が高い。
【００９６】
このような方法で、被開示者によってブラックハットが検出されれば、被検索者である利用者Ｂの端末１０６の送受信手段１１２ａが利用者Ａの端末１０４に対して、認識票ＩＤｃを持つ端末になりすまされている旨を送信（ステップＳ８０７）し、これを利用者Ａの端末１０４の表示装置に表示するなどして、注意を喚起することができる。または、利用者Ｂの端末１０６の送受信手段１０８ａが、ブラックハットである利用者Ｃの認識票ＩＤｃと関連づけられて登録されている演算結果をサーバ１００から削除するコマンドをサーバ１００に対して送信し、これによってサーバ１００のデータベース１０２から、ブラックハットである利用者Ｃから登録され、その認識票ＩＤｃと関連づけられて記憶された演算結果を削除することによって、これ以降のブラックハットによるなりすましを排除することもできる。この通信サービスの各利用者が、定期的にこのような方法でサーバ１００に対してブラックハット検出のための検索をおこなってもよい。
【００９７】
本実施形態２で説明した方法によれば、被検索者である利用者Ｂは複数の任意の演算結果をサーバ１００のデータベース１０２に登録し、検索者である利用者Ａも複数の任意の演算結果をサーバ１００に対して問い合わせる。従って、本実施形態２では、ブラックハットである利用者Ｃによるなりすましに関して、前記実施形態１ではおこらなかった次のような場合がおこり得る。たとえば、利用者Ｂの端末１０６からサーバ１００に登録されていない、利用者Ａの個人情報と利用者Ｂの個人情報の組み合わせ演算結果が、ブラックハットである利用者Ｃの端末１０５からサーバ１００に、なりすましを目的として登録され、さらに、利用者Ａがこの個人情報の組み合わせの演算結果をサーバ１００に対して問い合わせるような場合である。この場合は、利用者Ａが利用者Ｂの検索を依頼した時に、一致が検出される演算結果は、利用者Ｃの端末１０５からサーバ１００に登録された演算結果のみでありその結果前記ステップＳ７０５において、利用者Ａの端末１０４に送られる検索結果の認識票は、ブラックハットである利用者Ｃのもののみであり、これによってなりすましは成功する。さらにこの場合には、ブラックハットである利用者Ｃがサーバ１００に登録した演算結果は、本実施形態２における前記ステップＳ８０２において、ブラックハット検出を目的として問い合わせた演算結果には含まれないため、本実施形態２による方法では、前記ステップＳ８０４における検索で、ブラックハットであるＣの端末１０５からサーバ１００に登録されたブラックハットの検出が成功しない。
【００９８】
このように、本実施形態２によるブラックハット検出方法で、ブラックハットである利用者Ｃが検出できない場合は、非常に稀と考えられるが、絶対におこらない保証はない。そこでこの問題を解決するためには、本実施形態における前記ステップ８０１でまず、利用者Ｂの端末１０６の演算手段１１２ｂが、前記ステップＳ６０５でサーバ１００に送信した上、サーバ１００がそのデータベース１０２に記憶したものと同じ演算結果に限らず、利用者Ｂの端末１０６に記憶されている、利用者Ｂ自身の個人情報Ｐ１ｂ、Ｐ２ｂ、・・・、Ｐｍｂ、および利用者Ａの個人情報Ｐ１ａ’、Ｐ２ａ’、・・・、Ｐｎａ’の任意の、またはすべての組み合わせについて、図８に示した各ステップに従ってブラックハット検出をおこなうことで、利用者Ｂの端末１０６からサーバ１００に登録されていない、利用者Ａの個人情報と利用者Ｂの個人情報の組み合わせ演算結果が、ブラックハットである利用者Ｃの端末１０５からサーバ１００に、なりすましを目的として登録されている場合でも、利用者Ｂの端末１０６は、有効にブラックハットである利用者Ｃの端末１０５を検出できる。
【００９９】
以上のように、本発明による方法では、ネットワークサービスの利用者検索において、従来の方法にくらべて、ブラックハットがなりすますことが難しいだけでなく、さらに幾重にも重なる方法によって、ブラックハットによるなりすましを検出する方法が提供され、安全な検索方法を実現できる。
【図面の簡単な説明】
【０１００】
【図１】本発明の一実施形態におけるシステムにおいて、ブラックハットがなりすましを試みている状況を示す図である。
【図２】本発明の一実施形態におけるサーバの構成を示す図である。
【図３】本発明の一実施形態における情報端末Ａの構成を示す図である。
【図４】本発明の一実施形態における情報端末Ｂの構成を示す図である。
【図５】本発明の一実施形態における情報端末Ｃの構成を示す図である。
【図６】本発明の一実施形態におけるハッシュ値登録のステップを示すフロー図である。
【図７】本発明の一実施形態における利用者検索のステップを示すフロー図である。
【図８】本発明の一実施形態におけるブラックハット検出のステップを示すフロー図である。
【図３】
2009003690.tif 000003
【図４】
2009003690.tif 000004
【図５】
2009003690.tif 000005
【図６】
2009003690.tif 000006
【図７】
2009003690.tif 000007
【図８】
2009003690.tif 000008
【図１】
2009003690.tif 000009
【図２】
2009003690.tif 000010