(57)【要約】【課題】ユーザとサーバとの暗号化された通信の内容からユーザの要求内容を特定する方法を提供する。【解決手段】サーバに対する暗号化要求による要求内容を特定する特定装置であって、サーバに対する特定対象の暗号化要求に対してサーバから返信された暗号化応答のデータサイズを取得する対象取得部と、特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求をサーバへと送信したことに応じてサーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する候補取得部と、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補要求内容の中から特定対象の暗号化要求による要求内容を特定する特定部とを備える特定装置等を提供する。【選択図】図１
2015032958.tif 000002
【特許請求の範囲】
【請求項１】
サーバに対する暗号化要求による要求内容を特定する特定装置であって、
前記サーバに対する特定対象の暗号化要求に対して前記サーバから返信された暗号化応答のデータサイズを取得する対象取得部と、
特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する候補取得部と、
特定対象の暗号化要求に対する暗号化応答のデータサイズ、および複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補要求内容の中から特定対象の暗号化要求による要求内容を特定する特定部と、
を備える特定装置。
【請求項２】
前記サーバに対する要求処理において、クライアントは、特定対象となる複数の暗号化要求を前記サーバへと送信して複数の暗号化応答の返信を受け、
前記特定部は、特定対象の複数の暗号化要求のそれぞれの要求内容を特定した結果に基づいて要求処理の内容を特定する
請求項１に記載の特定装置。
【請求項３】
前記クライアントは、前記サーバに対する要求処理において特定対象となる第１暗号化要求および第２暗号化要求をサーバへと送信して第１暗号化応答および第２暗号化応答の返信を受け、
前記候補取得部は、特定対象となる第１暗号化要求による第１要求内容の特定後に、特定済みの第１暗号化要求を含む複数の候補要求内容のそれぞれに対応する暗号化要求をサーバに送信したことに応じて前記サーバが返信する複数の候補暗号化応答のそれぞれのデータサイズを取得し、
前記特定部は、特定対象の第２暗号化応答のデータサイズ、および特定済みの第１暗号化要求を含む複数の候補要求内容を送信したことに応じて返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、特定対象となる第２暗号化要求による第１要求内容及び第２要求内容を特定する
請求項２に記載の特定装置。
【請求項４】
前記特定部は、
特定対象となる第１暗号化要求に対する第１暗号化応答のデータサイズに基づいて、当該第１暗号化要求による第１要求内容の候補を絞り込み、
特定対象となる第２暗号化要求に対する第２暗号化応答のデータサイズに基づいて、当該第２暗号化要求による第２要求内容の候補を絞り込み、
絞り込んだ第１要求内容の候補および第２要求内容の候補の組合せの中から、組合せ可能である第１要求内容および第２要求内容の組を選択する
請求項２に記載の特定装置。
【請求項５】
前記対象取得部は、特定対象の暗号化要求に対する前記サーバからの暗号化応答の応答時間を更に取得し、
前記候補取得部は、既知の複数の候補要求内容に対応する複数の候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信した複数の候補暗号化応答のそれぞれの応答時間を更に取得し、
前記特定部は、特定対象の暗号化要求に対する暗号化応答の応答時間、および複数の候補暗号化応答のそれぞれの応答時間に更に基づいて、特定対象の暗号化要求による要求内容を特定する
請求項１から４のいずれか一項に記載の特定装置。
【請求項６】
前記サーバは、位置情報を含む要求内容に対応する暗号化要求を受けて、当該位置情報により指定された位置の地図データを含む暗号化応答を返信する地図サーバであり、
前記候補取得部は、既知の複数の候補位置情報に対応する複数の候補暗号化要求に応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得し、
前記特定部は、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および既知の複数の候補位置情報に対して返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、既知の複数の候補位置情報の中から特定対象の暗号化要求に含まれる位置情報を特定する
請求項１から５のいずれか一項に記載の特定装置。
【請求項７】
前記特定部は、
特定対象となる第１暗号化要求に対する第１暗号化応答のデータサイズに基づいて、当該第１暗号化要求による第１位置情報の候補を絞り込み、
特定対象となる第２暗号化要求に対する第２暗号化応答のデータサイズに基づいて、当該第２暗号化要求による第２位置情報の候補を絞り込み、
前記第１暗号化要求による位置情報の候補および前記第２暗号化要求による位置情報の候補の中から、互いに予め定められた移動可能距離の範囲内に位置する第１位置情報および第２位置情報を選択する
請求項６に記載の特定装置。
【請求項８】
前記候補取得部は、既知の複数の候補位置情報および複数の候補縮尺情報に対応する複数の候補暗号化要求に応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する請求項６または７に記載の特定装置。
【請求項９】
前記サーバは、検索語を含む要求内容に対応する暗号化要求を受けて、当該検索語の少なくとも一部を含む暗号化応答を返信する検索サーバであり、
前記候補取得部は、既知の複数の候補検索語に対応する複数の候補暗号化要求に応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得し、
前記特定部は、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および既知の複数の候補検索語に対して返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、既知の複数の候補検索語の中から特定対象の暗号化要求に含まれる検索語を特定する
請求項１から５のいずれか一項に記載の特定装置。
【請求項１０】
前記サーバに対する検索要求処理において、クライアントは、検索語の文字列の一部ずつが入力される度に、入力済の部分文字列を含む特定対象の暗号化要求を前記サーバへと送信して、当該部分文字列を含む検索語の候補となる候補文字列を含む候補暗号化応答の返信を受け、
前記特定部は、特定対象の暗号化要求に含まれる検索語の文字列を特定した結果に基づいて検索語を特定する
請求項９に記載の特定装置。
【請求項１１】
前記対象取得部は、検索語における予め定められた文字数分の第１文字列が入力されたことに応じて送信される特定対象の第１暗号化要求に対して前記サーバから返信された第１暗号化応答のデータサイズと、検索語の続きの少なくとも一部が入力されたことに応じて送信される特定対象の第２暗号化要求に対して前記サーバから返信された第２暗号化応答のデータサイズとを取得し、
前記候補取得部は、前記文字数分の長さの既知の複数の第１候補文字列に対応する複数の第１候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信する複数の第１候補暗号化応答のそれぞれのデータサイズを取得し、
前記特定部は、前記第１暗号化応答のデータサイズ、および前記複数の第１候補暗号化応答のデータサイズを比較した結果に基づいて、前記第１文字列を特定し、
前記候補取得部は、前記第１文字列に続けて既知の複数の文字列を加えた複数の第２候補文字列に対応する複数の第２候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信する複数の第２候補暗号化応答のそれぞれのデータサイズを更に取得し、
前記特定部は、前記第２暗号化応答のデータサイズ、および前記複数の第２候補暗号化応答のデータサイズを比較した結果に基づいて、前記検索語における入力済の文字列を特定する
請求項１０に記載の特定装置。
【請求項１２】
前記候補取得部は、
特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求を前記サーバへと送信する候補送信部と、
前記サーバが返信した複数の候補暗号化応答を受信する候補受信部と、
を有する
請求項１から１１のいずれか一項に記載の特定装置。
【請求項１３】
サーバに対する暗号化要求による要求内容を特定する特定方法であって、
前記サーバに対する特定対象の暗号化要求に対して前記サーバから返信された暗号化応答のデータサイズを取得する対象取得段階と、
特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する候補取得段階と、
特定対象の暗号化要求に対する暗号化応答のデータサイズ、および複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補要求内容の中から特定対象の暗号化要求による要求内容を特定する特定段階と、
を備える特定方法。
【請求項１４】
コンピュータを、サーバに対する暗号化要求による要求内容を特定する特定装置として機能させるプログラムであって、
当該プログラムは、前記コンピュータを、
前記サーバに対する特定対象の暗号化要求に対して前記サーバから返信された暗号化応答のデータサイズを取得する対象取得部と、
特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する候補取得部と、
特定対象の暗号化要求に対する暗号化応答のデータサイズ、および複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補要求内容の中から特定対象の暗号化要求による要求内容を特定する特定部と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定装置、特定方法、及び、プログラムに関する。
【背景技術】
【０００２】
クライアントから要求を取得し、クライアントの要求に応じて最適な情報を提供する方法が知られている（例えば、特許文献１参照）。
特許文献１  特開２００６−３０１９６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、クライアントから直接要求を取得できない場合に、クライアントとサーバとの暗号化された通信をモニタし、当該暗号化された通信の内容からクライアントの要求内容を特定する方法は知られていない。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、サーバに対する暗号化要求による要求内容を特定する特定装置であって、サーバに対する特定対象の暗号化要求に対してサーバから返信された暗号化応答のデータサイズを取得する対象取得部と、特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求をサーバへと送信したことに応じてサーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する候補取得部と、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補要求内容の中から特定対象の暗号化要求による要求内容を特定する特定部とを備える特定装置、当該特定装置に用いるプログラム、当該特定装置により実行される方法を提供する。
【０００５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】本実施形態の特定システム１の構成を示す。
【図２】本実施形態の特定装置３０の処理フローを示す。
【図３】サーバ２０が地図サーバである場合の第１暗号化要求及び第１暗号化応答の一例を示す。
【図４】特定部１６０が第１暗号化応答の候補を特定する処理の一例を示す。
【図５】特定部１６０が第１及び第２暗号化応答を特定する処理の一例を示す。
【図６】第２暗号化要求及び第２暗号化応答の別の一例を示す。
【図７】図６に係る第２暗号化要求を特定部１６０が特定する処理の一例を示す。
【図８】サーバ２０が検索サーバである場合の第１暗号化要求及び第１暗号化応答の一例を示す。
【図９】第１候補暗号化要求及び第１候補暗号化応答の一例を示す。
【図１０】第２暗号化要求及び第２暗号化応答の一例を示す。
【図１１】第２候補暗号化要求及び第２候補暗号化応答の一例を示す。
【図１２】第３暗号化要求及び第２暗号化応答の一例を示す。
【図１３】第３候補暗号化要求及び第２候補暗号化応答の一例を示す。
【図１４】コンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、本実施形態の特定システムの構成を示す。特定システム１は、クライアント１０、サーバ２０、及び、特定装置３０を備え、クライアント１０及びサーバ２０の暗号化された通信内容を特定装置３０により特定する。
【０００９】
クライアント１０は、例えば、携帯情報端末、携帯電話端末、デスクトップコンピュータ、又は、ラップトップコンピュータ等のコンピュータであってよく、サーバ２０との間で暗号化された通信を実行する。例えば、クライアント１０は、サーバ２０に対して暗号化された要求である暗号化要求を送信し、暗号化要求に対してサーバ２０から返信された暗号化応答を受け取る。クライアント１０は、複数の暗号化要求をサーバ２０へと送信して、サーバ２０から複数の暗号化応答の返信を受けてよい。
【００１０】
サーバ２０は、例えば、サーバコンピュータであってよく、クライアント１０との間で暗号化された通信を実行する。これに代えて、サーバ２０は、クライアント１０との間の通信においてサーバ２０として機能する任意のコンピュータ等であってよい。例えば、サーバ２０は、クライアント１０及び特定装置３０から暗号化された要求を受け取り、当該要求を処理する。サーバ２０は、クライアント１０及び特定装置３０に対して要求を処理した結果を送信する。
【００１１】
一例として、サーバ２０は、位置情報を含む要求内容に対応する暗号化要求をクライアント１０から受けて、当該位置情報により指定された位置の地図データを含む暗号化応答をクライアント１０に返信する地図サーバであってよい。別の一例として、サーバ２０は、検索語を含む要求内容に対応する暗号化要求を受けて、当該検索語の少なくとも一部を含む暗号化応答を返信する検索サーバであってよい。その他、サーバ２０としては、暗号化要求による要求内容に応じたデータ長の暗号化応答を返信する各種のサービスを提供するコンピュータであってよい。
【００１２】
特定装置３０は、例えば、クライアント１０とクライアント１０の外部のネットワークとを接続するゲートウェイサーバであってよく、携帯電話事業者によりネットワーク内に配置されるサーバ等であってよい。特定装置３０は、クライアント１０とサーバ２０との間の暗号化された通信を取得し、クライアント１０からサーバ２０に対する暗号化要求による要求内容を特定する。特定装置３０は、対象取得部１１０、候補取得部１２０、及び、特定部１６０を備える。
【００１３】
対象取得部１１０は、クライアント１０からサーバ２０に対する特定対象の暗号化要求に対して、サーバ２０から返信された暗号化応答のデータサイズを取得する。更に、対象取得部１１０は、特定対象の暗号化要求に対するサーバからの暗号化応答の応答時間を更に取得してよい。対象取得部１１０は、取得した暗号化応答のデータサイズ及び応答時間を候補取得部１２０及び特定部１６０に供給する。
【００１４】
候補取得部１２０は、暗号化応答のデータサイズ等を対象取得部１１０から受け取ったことに応じて、クライアント１０からサーバ２０への要求内容の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求をサーバ２０へと送信し、複数の候補暗号化要求に応じてサーバ２０が返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する。また、候補取得部１２０は、複数の候補暗号化要求に応じてサーバ２０が返信した複数の候補暗号化応答のそれぞれの応答時間を更に取得してよい。
【００１５】
候補取得部１２０は、候補送信部１３０及び候補受信部１４０を含んでよい。この場合、候補送信部１３０は、特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求をサーバ２０へと送信する。例えば、候補送信部１３０は、クライアント１０がサーバ２０に送信し得る全ての暗号化要求に対応する複数の候補暗号化要求をサーバ２０へ送信してよい。
【００１６】
例えば、候補送信部１３０は、サーバ２０が地図サーバである場合に、既知の複数の候補位置情報（例えば、地図上の全ての位置情報）に対応する複数の候補暗号化要求をサーバ２０に送信し、サーバ２０が検索サーバである場合に、既知の複数の候補検索語（例えば、アルファベット等から生成可能な全ての文字列）に対応する複数の候補暗号化要求をサーバ２０に送信する。
【００１７】
候補受信部１４０は、候補暗号化要求に応じてサーバ２０が返信した複数の候補暗号化応答を受信する。候補取得部１２０は、取得したデータサイズを特定部１６０に供給する。
【００１８】
特定部１６０は、対象取得部１１０から取得した特定対象の暗号化要求に対する暗号化応答のデータサイズ、および、候補取得部１２０から取得した複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、１又は複数の候補要求内容を特定する。例えば、特定部１６０は、複数の候補暗号化応答のうちデータサイズが暗号化応答のデータサイズと一致する、又は、略一致する候補暗号化応答に対応する候補暗号化要求を特定対象の暗号化要求と特定する。
【００１９】
例えば、特定部１６０は、サーバ２０が地図サーバである場合に、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および既知の複数の候補位置情報に対して返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、既知の複数の候補位置情報の中から特定対象の暗号化要求に含まれる位置情報を特定する。
【００２０】
また、例えば、特定部１６０は、サーバ２０が検索サーバである場合に、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および既知の複数の候補検索語に対して返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、既知の複数の候補検索語の中から特定対象の暗号化要求に含まれる検索語を特定する。
【００２１】
特定部１６０は、暗号化要求に対する暗号化応答のデータサイズに加え、暗号化要求に対する暗号化応答の応答時間、および複数の候補暗号化応答のそれぞれの応答時間に更に基づいて、特定対象の暗号化要求による要求内容を特定してよい。
【００２２】
このように本実施形態の特定装置３０は、暗号化要求自体の内容を復号することなく、暗号化要求に対する暗号化応答のデータサイズに基づいて暗号化要求の内容を特定する。これにより、特定装置３０は、クライアント１０のユーザが事件に巻き込まれる等の緊急時において、ユーザによる暗号化通信のデータサイズからユーザの位置等を含む要求内容を特定し、解決の手がかりを得る等の目的で利用することができる。
【００２３】
図２は、本実施形態の特定装置３０による表示方法の処理フローを示す。本実施形態において、特定装置３０は、Ｓ１１０〜Ｓ１８０の処理を実行する。本実施形態において特定装置３０は、クライアント１０からサーバ２０に送信されるｎ番目（ｎは１以上の整数）の暗号化要求に応じて、サーバ２０から送信されるｎ番目の暗号化応答のデータサイズ等を取得し、これに基づきクライアント１０から送信される特定対象のｎ番目の暗号化要求の内容を特定する。特定装置３０は、ｎ＝１として処理を開始する。
【００２４】
まず、Ｓ１１０において、対象取得部１１０は、クライアント１０からサーバ２０に対する特定対象の第ｎ暗号化要求に対して、サーバ２０から返信された第ｎ暗号化応答を取得する。対象取得部１１０は、取得した第ｎ暗号化応答のパケットのヘッダ等を読み出すことにより、又は、パケットのデータサイズを直接計測することにより、暗号化応答のデータサイズを取得する。対象取得部１１０は、一の第ｎ暗号化要求に対して一の第ｎ暗号化応答、又は、複数の第ｎ暗号化応答の組を取得してよく、これに応じて一のデータサイズ、又は、複数のデータサイズの組を取得する。
【００２５】
また、対象取得部１１０は、特定対象の第ｎ暗号化要求に対するサーバからの第ｎ暗号化応答の応答時間を更に取得してよい。対象取得部１１０は、取得した第ｎ暗号化応答のデータサイズ及び応答時間を特定部１６０に供給する。
【００２６】
例えば、対象取得部１１０は、地図サーバであるサーバ２０が返信した暗号化された地図情報である第ｎ暗号化応答及びそのデータサイズを取得してよい。また、対象取得部１１０は、検索サーバであるサーバ２０が返信した、検索候補語を含む暗号化された１又は複数の候補文字列である第１暗号化応答及びそのデータサイズを取得してよい。
【００２７】
ここで、対象取得部１１０は、第ｎ暗号化応答のデータサイズが予め定められた範囲外である場合は、第ｎ暗号化応答のデータサイズを取得しなくてよい。これにより、対象取得部１１０は、明らかに目的外のデータに係る第ｎ暗号化応答を除外することができる。
【００２８】
次にＳ１２０において、データサイズを対象取得部１１０から取得したことに応じて、候補取得部１２０の候補送信部１３０は、クライアント１０からサーバ２０への要求内容の候補となる１又は複数の候補暗号化要求をサーバ２０へと送信する。例えば、候補送信部１３０は、既知の候補位置情報に対応する複数の候補暗号化要求を地図サーバであるサーバ２０に送信してよい。また、例えば、候補送信部１３０は、既知の候補検索語に対応する候補暗号化要求を検索サーバであるサーバ２０に送信してよい。
【００２９】
次にＳ１３０において、候補取得部１２０の候補受信部１４０は、Ｓ１２０で送信した１又は複数の候補暗号化要求に応じてサーバ２０が返信した候補暗号化応答を受信する。候補取得部１２０は、候補暗号化応答のパケットのヘッダ等から候補暗号化応答のデータサイズを取得する。また、候補取得部１２０は、候補暗号化要求を送信してからサーバ２０が候補暗号化応答を返信するまでの応答時間を更に取得してよい。
【００３０】
候補受信部１４０は、一の候補暗号化要求に対して一の候補暗号化応答、又は、複数の候補暗号化応答の組を取得してよく、これに応じて、一の候補暗号化要求に対応して一のデータサイズ、又は、複数のデータサイズの組を取得してよい。
【００３１】
候補取得部１２０は、例えば、地図サーバであるサーバ２０が返信した暗号化された地図情報である候補暗号化応答及びそのデータサイズを取得してよい。また、候補取得部１２０は、検索サーバであるサーバ２０が返信した、検索候補語を含む暗号化された１又は複数の候補文字列である候補暗号化応答及びそのデータサイズを取得してよい。
【００３２】
次にＳ１４０において、特定部１６０は、第ｎ暗号化要求又は第ｎ暗号化要求の候補を特定する。例えば、特定部１６０は、対象取得部１１０から取得した特定対象の第ｎ暗号化要求に対する第ｎ暗号化応答のデータサイズ、および、候補取得部１２０から取得した１又は複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補暗号化応答に係る候補要求内容の中から、第ｎ暗号化要求による要求内容の候補を絞り込む。
【００３３】
例えば、特定部１６０は、複数の候補暗号化応答のうち、データサイズが第ｎ暗号化応答のデータサイズと一致又は略一致するものを第ｎ暗号化応答の候補と特定する。特定部１６０は、複数の候補暗号化応答のうち１つ以上を第ｎ暗号化応答の候補と特定してよい。
【００３４】
サーバ２０が暗号化要求に応じたデータを暗号化して暗号化応答を生成する際、暗号化応答のデータサイズは暗号化処理で使用する乱数に起因して若干増減しうる。従って、特定部１６０は、第ｎ暗号化応答と候補暗号化応答のデータサイズが完全に一致する場合に加え、両者のデータサイズが予め定められた誤差内で一致する等の略一致する場合（例えば、±０．１〜１％又は±１６Ｂ〜１ｋＢ等の場合）に、候補暗号化応答を第ｎ暗号化応答の候補としてよい。
【００３５】
次にＳ１５０において、特定部１６０は、第ｎ暗号化要求を特定する。特定部１６０は、Ｓ１４０で絞り込んだ第ｎ暗号化要求の候補が１つである場合、当該１つの候補を第ｎ暗号化要求として特定する。
【００３６】
また、特定部１６０は、Ｓ１４０で絞り込んだ第ｎ暗号化要求の候補が複数である場合、第ｎ暗号化要求の前の第１〜第ｉ暗号化要求の少なくとも１つに基づいて、第ｎ暗号化要求の複数の候補から一の第ｎ暗号化要求を特定してよい（ただし、ｉは１＜ｉ＜ｎを満たす整数）。
【００３７】
例えば、特定部１６０は、既に絞り込んだ第１〜第ｉ暗号化要求及び／又は第１〜第ｉ暗号化要求の候補と、複数の第ｎ暗号化要求の候補との組み合わせにより、第ｎ暗号化要求を特定してよい。一例として特定部１６０は、既に絞り込んだ第１要求内容の候補および第２要求内容の候補の組合せの中から、組合せ可能である第１要求内容および第２要求内容の組を選択してよい。
【００３８】
特定部１６０は、第ｎ暗号化要求の候補から１つの第ｎ暗号化要求を特定できない場合は、第ｎ暗号化要求を特定せず次の処理に進んでよい。
【００３９】
次に、Ｓ１６０において、特定部１６０は第ｎ暗号化要求が特定されたか否かを判断する。特定部１６０は、第ｎ暗号化要求が特定されたと判断する場合、処理をＳ１８０に進め、そうでない場合は処理をＳ１７０に進める。
【００４０】
Ｓ１７０において、特定部１６０はｎを１増加させて、処理をＳ１１０に戻す。これにより、特定装置３０は、クライアント１０及びサーバ２０の間の次の暗号化要求及び暗号化応答に対する処理を実行する。
【００４１】
Ｓ１８０において、特定部１６０は、Ｓ１６０で特定した第ｎ暗号化要求及び対応する第ｎ暗号化応答を特定装置３０の表示画面に表示してよい。例えば、特定部１６０は、Ｓ１５０で特定した第ｎ暗号化要求と特定した候補暗号化要求に係る要求内容と、当該候補暗号化要求に対応する候補暗号化応答の応答内容とを表示画面に表示する。
【００４２】
特定部１６０は、既に第１〜第ｉ暗号化応答が特定されている場合は、第１〜第ｉ暗号化要求及び第１〜第ｉ暗号化応答を併せて表示画面に表示してよい。ここで、特定部１６０は、この後、処理を終了してもよく、これに代えて処理をＳ１７０に進めて次の暗号化要求及び暗号化応答に対する処理を実行してもよい。
【００４３】
このように特定装置３０は、Ｓ１１０〜Ｓ１８０の処理を実行することにより、暗号化要求に対する暗号化応答のデータサイズに基づいて暗号化要求の内容を特定する。
【００４４】
なお、特定装置３０は、Ｓ１２０及びＳ１３０の処理をＳ１１０に先立って前もって実行してもよい。これにより、特定装置３０は、多数の候補暗号化要求のデータサイズを予め取得しておき、暗号化要求の特定の精度を向上させることができる。特定装置３０は、２回目以降（ｎ≧２）の処理において、Ｓ１２０及びＳ１３０を省略してもよい。
【００４５】
また、特定装置３０は、クライアント１０が第ｎ暗号化要求を送信し、サーバ２０が第ｎ暗号化応答を受信する毎にＳ１１０〜Ｓ１６０のループ処理を実行してよく、これに代えて、特定装置３０は、複数の第ｎ暗号化要求及び第ｎ暗号化応答のログを予め取得しておき、後にＳ１１０〜Ｓ１８０の処理を実行してもよい。
【００４６】
また、第ｎ暗号化応答のデータサイズはクライアント１０の機種等に応じて変動することがある。特定装置３０はこのようなデータサイズの変動に対応する目的で、特定部１６０により、対象取得部１１０が取得した第ｎ暗号化応答のデータサイズに対してクライアント１０の機種に応じた予め定められた補正処理を実行してよい。
【００４７】
図３から図７は、サーバ２０が地図サーバである場合の特定システム１の処理の一例を示す。図３は、第１暗号化要求及び第１暗号化応答の一例を示す。１回目（ｎ＝１）のＳ１１０の処理において、クライアント１０は、位置情報を含み当該位置情報に対応する特定地点の地図データを要求内容とする第１暗号化要求を地図サーバであるサーバ２０に送信する。例えば、クライアント１０は、住所データ、又は、地図上の座標データ等をサーバ２０に送信する。
【００４８】
サーバ２０は、クライアント１０から位置情報を含む要求内容に対応する第１暗号化要求を受けて、当該第１暗号化要求を復号して要求内容に含まれる位置情報を取り出し、当該位置情報により指定された位置の地図データをデータベース等から取得する。サーバ２０は、取得した地図データを暗号化し、当該暗号化された地図データを含む第１暗号化応答をクライアント１０に返信する。
【００４９】
ここで、サーバ２０は、位置情報により指定された位置を中心として互いに隣接する１又は複数の地図ブロックに対応する地図データをクライアント１０に送信してよく、複数の地図ブロックに対応して複数の第１暗号化応答をクライアント１０に送信してよい。例えば、サーバ２０は、複数の隣接する地図ブロックＢ１〜Ｂ９のそれぞれに対応する地図データを９個の第１暗号化応答としてクライアント１０に送信してよい。当該９個の第１暗号化応答は、それぞれ個別に異なったデータサイズを有してよい。
【００５０】
クライアント１０は、地図ブロックＢ１〜Ｂ９に対応する第１暗号化応答を受け取って復号し、地図ブロックＢ１〜Ｂ９から構成される単一の地図を生成してユーザに表示してよい。対象取得部１１０は、複数の第１暗号化応答を取得して、複数の第１暗号化応答の各々のデータサイズを取得する。
【００５１】
１回目のＳ１２０の処理において、候補送信部１３０は、クライアント１０からサーバ２０への要求内容の候補となる既知の複数の候補位置情報に対応する複数の候補暗号化要求をサーバ２０へと送信する。
【００５２】
候補送信部１３０は、既知の複数の候補位置情報および複数の候補縮尺情報に対応する複数の候補暗号化要求をサーバ２０に送信することにより、サーバ２０に異なる縮尺で表された複数の地図における複数の候補位置に係る地図データをサーバ２０に要求してよい。
【００５３】
例えば、候補送信部１３０は、サーバ２０により大きな縮尺の地図データ及び小さな縮尺の地図データに係る複数の候補暗号化要求をサーバ２０に送信してよい。また、例えば、候補送信部１３０は、サーバ２０により取得可能な地図の全縮尺に係る全エリアを網羅する複数の候補暗号化要求をサーバ２０に送信してよい。
【００５４】
また、候補送信部１３０は、候補暗号化要求として、クライアント１０が地図データを要求する可能性が高い位置に対応する地図データをサーバ２０に要求してよい。例えば、候補送信部１３０は、既に特定部１６０が特定した過去の暗号化要求に対応する候補暗号化要求をサーバ２０に送信してよい。また、例えば、候補送信部１３０は、クライアント１０の国籍、居住地、勤務地、及び／又は訪問地等の属性に関係する位置に対応する地図データをサーバ２０に要求してよい。
【００５５】
サーバ２０は、候補暗号化要求のそれぞれを復号して要求内容に含まれる位置情報を取り出し、当該位置情報により指定された位置を中心として互いに隣接する複数の地図ブロックに対応する複数の候補暗号化応答を特定装置３０に送信してよい。
【００５６】
１回目のＳ１３０の処理において、候補取得部１２０は、サーバ２０が返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する。例えば、候補取得部１２０の候補受信部１４０は全ての地図ブロックに係る地図データを含む候補暗号化応答を取得する。一例として、候補受信部１４０は、サーバ２０から既知の複数の候補位置情報および複数の候補縮尺情報に対応する地図ブロックの地図データを含む、複数の候補暗号化応答を取得し、それぞれの候補暗号化応答のデータサイズを抽出する。
【００５７】
図４は、特定部１６０が第１暗号化応答の候補を特定する処理の一例を示す。１回目のＳ１４０の処理において、特定部１６０は、特定対象の第１暗号化要求に対する第１暗号化応答のデータサイズ、及び、既知の複数の候補位置情報に対して返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、既知の複数の候補位置情報の中から特定対象の第１暗号化要求に含まれる第１位置情報の候補を絞り込む。
【００５８】
例えば、特定部１６０は、複数の候補暗号化要求に係る位置のうち、複数の第１暗号化応答の組とデータサイズが一致する複数の候補暗号化応答の組をサーバ２０から取得することができた候補暗号化要求に係る候補位置を、第１暗号化要求に係る第１位置情報の候補として絞り込む。
【００５９】
一例として、Ｓ１１０において、対象取得部１１０が、図４に示すようにデータサイズ１１１ｋＢ（Ｂ１）、データサイズ５５ｋＢ（Ｂ２）、データサイズ７９ｋＢ（Ｂ３）、……及び、データサイズ３０ｋＢ（Ｂ９）の複数の第１暗号化応答を受信していた場合、特定部１６０は、複数の候補位置情報のうち、データサイズ１１１ｋＢの候補暗号化応答、データサイズ５５ｋＢの候補暗号化応答、データサイズ７９ｋＢの候補暗号化応答、……及び、データサイズ３０ｋＢの候補暗号化応答の組が得られた「大宮」周辺の位置、「新宿」周辺の位置、「東京」周辺の位置、「品川」周辺の位置、及び、「豊洲」周辺の位置を第１暗号化要求に係る第１位置情報の候補位置として絞り込む。
【００６０】
クライアント１０のユーザは、サーバ２０に対してまず大きな縮尺の地図データを要求して、現在位置等の大きな地図上の位置を確認した後に、小さな縮尺の地図データを要求することがある。このような場合に対応する目的で、候補受信部１４０が複数の候補位置情報として大きな縮尺の地図データに係る位置情報及び小さな縮尺の地図データに係る位置情報を受け取っていた場合、特定部１６０は、大きな縮尺の地図データに係る候補位置情報から優先的に第１位置情報に係る候補位置を絞り込んでよい。
【００６１】
２回目のＳ１１０の処理において、クライアント１０は、位置情報を含み当該位置情報に対応する地点の地図データを要求内容とする第２暗号化要求を地図サーバであるサーバ２０に送信する。
【００６２】
サーバ２０は、クライアント１０から位置情報を含む要求内容に対応する第２暗号化要求を受けて、当該第２暗号化要求を復号して要求内容に含まれる位置情報を取り出し、当該位置情報により指定された位置の地図データをデータベース等から取得する。サーバ２０は、取得した地図データを含む第２暗号化応答をクライアント１０に返信する。
【００６３】
サーバ２０は、複数の隣接する地図ブロックＢ１０〜Ｂ１８のそれぞれに対応する地図データを９個の第２暗号化応答としてクライアント１０に送信してよい。地図ブロックＢ１０〜Ｂ１８に対応する第２暗号化応答は、それぞれ個別に異なったデータサイズを有してよい。
【００６４】
クライアント１０は、地図ブロックＢ１０〜Ｂ１８に対応する第２暗号化応答を受け取って復号し、地図ブロックＢ１０〜Ｂ１８から構成される単一の地図を生成してユーザに表示してよい。対象取得部１１０は、複数の第２暗号化応答の各々のデータサイズを取得する。
【００６５】
２回目のＳ１２０の処理において、候補送信部１３０は、１回目と同様に複数の候補暗号化要求をサーバ２０へと送信し、Ｓ１３０の処理において、候補取得部１２０は、１回目のＳ１３０の処理と同様にサーバ２０から複数の候補暗号化応答のそれぞれのデータサイズを取得してよい。これに代えて、特定装置３０は、２回目のＳ１２０及びＳ１３０の処理を省略してよい。
【００６６】
図５は、特定部１６０が第１及び第２暗号化応答を特定する処理の一例を示す。２回目のＳ１４０の処理において、１回目の処理と同様に、特定部１６０は、複数の候補暗号化要求に係る位置のうち、複数の第２暗号化応答の組とデータサイズが一致する複数の候補暗号化応答の組をサーバ２０から取得することができた候補暗号化要求に係る候補位置を、第２暗号化要求に係る第２位置情報の候補として絞り込む。
【００６７】
例えば、対象取得部１１０が、図６に示すようにデータサイズ４６ｋＢ（Ｂ９）、データサイズ４２ｋＢ（Ｂ１０）、……データサイズ８０ｋＢ（Ｂ１８）となる複数の第２暗号化応答を受信していた場合、特定部１６０は、複数の候補位置情報のうち、データサイズ４６ｋＢの候補暗号化応答、データサイズ４２ｋＢの候補暗号化応答、……データサイズ８０ｋＢの候補暗号化応答の組が得られた「池袋」周辺の位置、「上野」周辺の位置、「亀有」周辺の位置、及び、「豊洲」周辺の位置を第２暗号化要求に係る第２位置情報の候補として絞り込む。
【００６８】
Ｓ１５０において、特定部１６０は、複数の暗号化要求のそれぞれの要求内容を特定した結果に基づいて、クライアント１０がサーバ２０に送信した要求処理の内容の全体を特定する。例えば、特定部１６０は、第１暗号化要求を特定した第１位置情報の候補、及び、第２暗号化要求を特定した第２位置情報の候補の関連性又は共通性に基づいて第１位置情報及び第２位置情報を選択する。
【００６９】
一例として、特定部１６０は、第１暗号化要求による第１位置情報の候補および第２暗号化要求による第２位置情報の候補の中から、互いに予め定められた移動可能距離の範囲内に位置する第１位置情報および第２位置情報を選択することにより、第１位置情報及び第２位置情報を特定する。
【００７０】
特定部１６０は、移動可能距離の範囲として、予め定められたクライアント１０の移動可能な上限速度（例えば、乗用車の一般的な上限速度である１００ｋｍ／ｈ）と、第１暗号化要求及び第２暗号化要求との時間差とを乗じて得られる距離を用いてよい。
【００７１】
例えば、特定部１６０は、第１位置情報の候補に含まれる「豊洲」周辺の位置と、第２位置情報に含まれる「豊洲」周辺の位置とが予め定められた距離内に位置することに応じて、第１位置情報に係る位置を「豊洲」と特定し、第２位置情報に係る位置を「豊洲」と特定する。なお、第１位置情報に係る「豊洲」と、第２位置情報に係る「豊洲」は、近傍の異なる地点であり、構成する地図ブロックが異なる（Ｂ１〜Ｂ９とＢ１０〜Ｂ１８）。
【００７２】
これにより、特定装置３０は、クライアント１０が移動中に現在位置の地図データをサーバ２０に要求する場合に、暗号化要求に係る位置情報（すなわち、クライアント１０の現在位置）をより正確に特定することができる。
【００７３】
図６は、第２暗号化要求及び第２暗号化応答の別の一例を示す。Ｓ１１０の処理において、クライアント１０は、地図ブロックＢ１〜Ｂ９に隣接する複数の隣接する地図ブロックＢ４〜Ｂ１２のそれぞれに対応する地図データを第２暗号化要求としてサーバ２０に要求する。
【００７４】
ここで、地図ブロックＢ４〜Ｂ１２のうち地図ブロックＢ４〜Ｂ９に係る地図データは第１暗号化応答によりクライアント１０に既に送信されているので、サーバ２０は図示するように未だ送信されていない地図ブロックＢ１０〜Ｂ１２に係る地図データをそれぞれ含む３個の第２暗号化応答のみをクライアント１０に送信してよい。
【００７５】
クライアント１０は、地図ブロックＢ１０〜Ｂ１２に対応する第２暗号化応答を受け取って復号し、既に受け取っている地図ブロックＢ４〜Ｂ９と併せて地図ブロックＢ４〜Ｂ１２から構成される単一の地図を生成してユーザに表示してよい。対象取得部１１０は、２回目のＳ１１０の処理において地図ブロックＢ１０〜Ｂ１２に係る第２暗号化応答の各々のデータサイズを取得する。
【００７６】
図７は、図６に係る第２暗号化要求を、特定部１６０が特定する処理の一例を示す。２回目のＳ１４０の処理において、特定部１６０は、第１暗号化応答及び第２暗号化応答のデータサイズの組、及び、既知の複数の候補位置情報に対して返信された複数の候補暗号化応答のそれぞれのデータサイズの組を比較した結果に基づいて、既知の複数の候補位置情報の中から特定対象の第１暗号化要求及び第２暗号化要求に含まれる第１位置情報及び第２位置情報を特定する。
【００７７】
例えば、２回目以降のＳ１１０の処理において対象取得部１１０が１回目のＳ１１０の処理時の暗号化応答（９個）よりも少ない数の暗号化応答（３個）を取得した場合、特定部１６０は、第２暗号化要求に係る位置は第１暗号化要求に係る位置と隣接するものと判断し、複数の第１暗号化応答のデータサイズの組と第２暗号化応答のデータサイズの組の組み合わせに基づいて、第１位置情報及び第１位置情報に隣接する第２位置情報を特定する。
【００７８】
一例として、対象取得部１１０が、２回目のＳ１１０の処理時に図６に示すように３個の第２暗号化応答を受信する場合、特定部１６０は、複数の候補位置情報のうち、第１位置情報の候補に係る位置に隣接し、第２暗号化応答と第１暗号化応答の一部とを併せた１２個のデータサイズの一部が一致又は略一致するデータサイズの組に係る候補位置情報を第２位置情報として特定する。
【００７９】
例えば、図７に示すように、特定部１６０は、地図ブロックＢ１〜Ｂ９のデータサイズにより選択された第１位置情報の候補（「大宮」、「新宿」、「東京」、「品川」及び「豊洲」）のいずれかに隣接し、地図ブロックＢ４〜Ｂ１２のデータサイズの組と一致又は略一致する候補位置情報を第２位置情報として特定する。この結果、特定部１６０は「豊洲」周辺の２地点の位置を第１位置情報及び第２位置情報として特定する。
【００８０】
上記の図３〜７において説明したように、特定部１６０は、第１暗号化要求に係る第１位置情報と、第２暗号化要求に係る第２位置情報とが近傍に位置することを前提として第１暗号化要求及び第２暗号化要求を特定する。
【００８１】
例えば、特定部１６０は、連続する複数の位置情報（第１位置情報、第２位置情報、…第ｎ位置情報）の特定において、比較的少数（例えば、１個）の特定された位置情報（例えば、第ｉ位置情報、ｉは１≦ｉ≦ｎとなる整数）又は当該位置情報の候補が、他の位置情報（第ｉ位置情報以外の第１〜第ｎ位置情報）又は他の地位情報の候補と異なる場合、当該少数の位置情報（第ｉ位置情報）に係る第ｉ暗号化応答をノイズとして他の位置情報の特定処理から除去してよい。これにより、特定部１６０は、ノイズとなる少数の位置情報と整合しないことにより他の位置情報の特定が阻害されることを防ぐことができる。
【００８２】
また、特定部１６０は、予め定められた条件を満たす場合、第１位置情報と第２位置情報とが離れているものと判断してよい。
【００８３】
例えば、特定部１６０は、第ｎ位置情報の候補に予め定められたｍ（ｍは１以上の整数）個分後続する、第ｎ＋１位置情報の候補、第ｎ＋２位置情報の候補、…第ｎ＋ｍ位置情報の候補に、第ｎ位置情報の候補の近傍の位置が含まれない場合、特定部１６０は、第ｎ＋１位置情報、第ｎ＋２位置情報、及び…第ｎ＋ｍ位置情報と、第ｎ位置情報とが離れていると判断し、第ｎ＋１位置情報、第ｎ＋２位置情報、及び…第ｎ＋ｍ位置情報の特定において第ｎ位置情報と近接することを条件としなくてよい。
【００８４】
このように特定装置３０は、サーバ２０がクライアント１０に返信した地図データを含む暗号化応答のデータサイズを取得することにより、クライアント１０がサーバ２０に要求した地図データに係る位置情報を特定することができる。
【００８５】
図８から図１３は、サーバ２０が検索サーバである場合の特定システム１の処理の一例を示す。図８は、第１暗号化要求及び第１暗号化応答の一例を示す。本例において、クライアント１０は、サーバ２０に対する検索要求処理において、検索語自体の検索要求を送信する前に、検索語の文字列の一部ずつが入力される度に、入力済の検索語の部分文字列を含む暗号化要求をサーバ２０へと送信する。サーバ２０は、当該部分文字列を含みクライアント１０がその後に入力する可能性が高い検索語の候補となる候補文字列を含む候補暗号化応答をクライアント１０に返信する。
【００８６】
１回目（ｎ＝１）のＳ１１０の処理において、クライアント１０は、検索語における予め定められた文字数分の第１文字列がユーザに一度に入力されたことに応じて、第１文字列を含む要求内容を特定対象の第１暗号化要求として検索サーバであるサーバ２０に送信する。
【００８７】
例えば、図８に示すように、クライアント１０は、第１文字列「Ｔ」をユーザから入力し、第１文字列「Ｔ」を一部とする検索語の候補を要求する第１暗号化要求を、サーバ２０に送信する。
【００８８】
サーバ２０は、クライアント１０から第１暗号化要求を受けて復号して、第１暗号化要求に含まれる第１文字列を取り出し、第１文字列を含む検索語の候補であって、その後にクライアント１０が入力する可能性が高い検索語の１以上の候補をデータベース等に基づいて抽出する。
【００８９】
例えば、サーバ２０は、第１文字列を含む検索語の候補であって、クライアント１０及び／又は他のクライアントにその後検索語として入力した頻度の高い、予め定められた数の候補を抽出してよい。
【００９０】
また、サーバ２０は、第１文字列を含む検索語の候補として、第１文字列をそのまま含む検索語、及び／又は、第１文字列の一部又は全体に対してアルファベット／数字／平仮名／カタカナ／漢字等の文字種間の変換を適用した文字列を抽出して検索語の候補としてよい。例えば、サーバ２０は第１文字列が「てんき」又は「tenki」である場合、検索語の候補に「天気予報」を含めてよい。
【００９１】
また、サーバ２０は、第１文字列がアルファベットである場合、第１文字列がローマ字入力される検索語の入力の一部となり得る語を検索語の候補としてよい。例えば、図８に示すように、クライアント１０から検索語の第１文字列「Ｔ」を受信したことに応じて、サーバ２０は、検索語のローマ字入力の第１文字列「Ｔ」を含む「天気予報」（ローマ字入力：Tenkiyohou）、「食べ歩き」（ローマ字入力：Tabearuki）、「地図」（ローマ字入力：Tizu）、「つぶやき」（ローマ字入力：Tsubuyaki）、及び、「チケット」（ローマ字入力：tiketto）を検索語の候補としてよい。サーバ２０は、１以上の検索語の候補を暗号化して第１暗号化応答としてクライアント１０に返信する。
【００９２】
クライアント１０は、第１暗号化応答を受信して復号して検索語の候補を取り出し、検索語の候補を第１文字列とともにユーザに表示してよい。対象取得部１１０は、第１暗号化応答を取得してそのデータサイズを取得する。
【００９３】
１回目のＳ１２０の処理において、候補送信部１３０は、複数の候補検索語に対応し、クライアント１０からサーバ２０への要求内容の候補となる既知の複数の第１候補文字列に対応する複数の第１候補暗号化要求を生成する。
【００９４】
例えば、候補送信部１３０は、アルファベット、平仮名、カタカナ、数字、及び／又は、漢字等から予め定められた文字数分の長さの既知の複数の第１候補文字列を生成し、当該複数の第１候補文字列に対応する第１候補暗号化要求を複数生成する。
【００９５】
一例として、候補送信部１３０は、図９に示すように、Ａ〜Ｚの２６種類のアルファベット１文字を第１候補文字列とする２６個の第１候補暗号化要求を生成する。別の一例として、候補送信部１３０は、２文字以上の第１候補文字列を複数生成してもよい。
【００９６】
また、別の一例として、候補送信部１３０は、頻繁に検索される頻出単語等を特定装置３０の内部／外部の記憶装置に予め記憶しておき、記憶装置から当該頻出単語の始めの一部を構成する予め定められた１以上の文字数の文字列を読み出して第１候補文字列としてよい。
【００９７】
次に、候補送信部１３０は、この予め定められた文字数分の長さの既知の複数の第１候補文字列に対応する複数の第１候補暗号化要求をサーバ２０へと送信してよい。サーバ２０は、第１候補暗号化要求のそれぞれを復号して要求内容に含まれる第１候補文字列を取り出す。サーバ２０は、第１候補文字列に対してＳ１１０の処理と同様に第１候補文字列を含む検索語の候補を抽出して、当該検索語の候補を含む第１候補暗号化応答を特定装置３０に送信してよい。
【００９８】
１回目のＳ１３０の処理において、候補取得部１２０は、サーバ２０が返信した複数の第１候補暗号化応答のそれぞれのデータサイズを取得する。例えば、図示するように候補取得部１２０の候補受信部１４０は、サーバ２０から各アルファベット１文字に対応する複数の第１候補暗号化応答及びそのデータサイズ（例えば、第１候補文字列「Ａ」に対して５．１ｋＢ、「Ｂ」に対して５．３ｋＢ、「Ｃ」に対して４．９ｋＢ…、「Ｚ」に対して５．３ｋＢ）を取得してよい。
【００９９】
なお、候補受信部１４０は、全ての第１候補暗号化要求に対応する第１候補暗号化応答を取得してもよく、全ての第１候補暗号化要求に対応する第１候補暗号化応答のうち一部のみを取得してもよい。例えば、サーバ２０が一部の第１候補文字列に対して、第１候補文字列を含む検索語の候補を取得できなかった場合（第１候補文字列が単語又は略号等を形成しない無意味な文字列である場合等）には、候補受信部１４０は第１候補暗号化応答を受信しない。
【０１００】
１回目のＳ１４０の処理において、特定部１６０は、第１暗号化応答のデータサイズ、および複数の第１候補暗号化応答のデータサイズを比較した結果に基づいて、第１候補文字列の中から特定対象の第１文字列の候補を抽出する。
【０１０１】
例えば、Ｓ１１０において、対象取得部１１０が、図４に示すようにデータサイズ５．３ｋＢの第１暗号化応答を受信していた場合、特定部１６０は、図示するようにＳ１２０において候補送信部１３０が送信した複数の第１候補文字列（Ａ〜Ｚ）の中から、第１暗号化応答のデータサイズ（５．３ｋＢ）と一致する第１文字列の候補として「Ｂ」、「Ｔ」、及び「Ｚ」を絞り込む。特定部１６０は、第１文字列の候補が１つに絞られる場合は、Ｓ１５０において当該１つの候補を第１文字列と特定してよい。
【０１０２】
２回目のＳ１１０の処理において、クライアント１０は、第１文字列に続く検索語の続きの文字列の少なくとも一部がユーザに入力されたことに応じて、第１文字列に続く文字列が連結された第２文字列を含む要求内容を特定対象の第２暗号化要求としてサーバ２０に送信する。
【０１０３】
例えば、図１０に示すように、クライアント１０は、第１文字列「Ｔ」に後続して「Ｒ」をユーザから入力し、「Ｔ」に「Ｒ」を後続させた第２文字列「ＴＲ」を一部に含む検索語の候補を要求する第２暗号化要求をサーバ２０に送信する。
【０１０４】
サーバ２０は、クライアント１０から検索語のうちの第２文字列を含む第２暗号化要求を復号して第２文字列を取り出し、第２文字列を含む検索語であってその後にクライアント１０が入力する可能性が高い検索語の１以上の候補をデータベース等に基づいて抽出する。
【０１０５】
サーバ２０は、第１文字列を含む検索語の候補の抽出と同様に、第２文字列を含む検索語の候補を抽出してよい。例えば、サーバ２０は、第２文字列「ＴＲ」を含む検索語の候補「Ｔｒａｎｓｌａｔｅ」、「Ｔｒａｎｓｃｅｉｖｅｒ」、「Ｔｒｅｋ」、「Ｔｒｉｐ」、及び「Ｔｒｉｃｋ」を抽出し、抽出した検索語の候補を含む第２暗号化応答を生成する。サーバ２０は、１以上の検索語の候補を暗号化して第２暗号化応答としてクライアント１０に返信する。
【０１０６】
クライアント１０は、第２暗号化応答を受信して復号して検索語の候補を取り出し、図示するように検索語の候補を第２文字列とともにユーザに表示してよい。対象取得部１１０は、第２暗号化応答を取得してそのデータサイズを取得する。
【０１０７】
２回目のＳ１２０の処理において、候補送信部１３０は、第１文字列に続けて既知の複数の文字列を加えた複数の第２候補文字列に対応する複数の第２候補暗号化要求を生成する。
【０１０８】
例えば、候補送信部１３０は、第１文字列又は第１文字列の候補に、アルファベット、平仮名、カタカナ、数字、及び／又は、漢字等から予め定められた文字数分の長さの文字を後続させて、複数の第２候補文字列を生成し、当該複数の第２候補文字列に対応する第２候補暗号化要求を複数生成する。
【０１０９】
一例として、候補送信部１３０は、図１１に示すように、第１文字列の候補（「Ｂ」、「Ｔ」、及び「Ｚ」）のそれぞれにＡ〜Ｚの２６種類のアルファベット１文字を追加して２６×３＝７８個の第２候補文字列（「ＢＡ」〜「ＢＺ」、「ＴＡ」〜「ＴＺ」、及び、「ＺＡ〜ＺＺ」）を生成し、第２候補文字列に対応する７８個の第２候補暗号化要求を生成する。別の一例として、候補送信部１３０は、第１文字列又は第１文字列の候補に２文字以上を追加して第２候補文字列を複数生成してもよい。
【０１１０】
また、別の一例として、候補送信部１３０は、頻繁に検索される頻出単語等を特定装置３０の内部／外部の記憶装置に予め記憶しておき、第１文字列又は第１文字列を一部に含み第１文字列又は第１文字列の候補で始まる頻出単語を記憶装置から検出し、当該頻出単語の第１文字列に続く予め定められた１以上の文字数の文字列を後続させて、第２候補文字列としてよい。
【０１１１】
また、候補送信部１３０は、第１文字列又は第１文字列の候補にアルファベット等の文字を後続させることに加えて／代えて、第１文字列又は第１文字列の候補を漢字変換し、及び／又は、第１文字列又は第１文字列の候補の末尾から予め定められた数の文字を削除することにより、複数の第２候補文字列を生成してよい。
【０１１２】
次に、候補送信部１３０は、複数の第２候補文字列に対応する複数の第２候補暗号化要求をサーバ２０へと送信してよい。サーバ２０は、第２候補暗号化要求のそれぞれを復号して要求内容に含まれる第２候補文字列を取り出す。サーバ２０は、第２候補文字列に対してＳ１１０の処理と同様に検索語の候補を抽出して、当該検索語の候補を含む第２候補暗号化応答を特定装置３０に送信してよい。
【０１１３】
２回目のＳ１３０の処理において、候補取得部１２０は、サーバ２０が返信した複数の第２候補暗号化応答のそれぞれのデータサイズを取得する。例えば、図示するように候補受信部１４０は、サーバ２０から第２候補暗号化応答及びそのデータサイズ（例えば、第２候補文字列「ＢＡ」に対して５．１ｋＢ、「ＢＢ」に対して５．２ｋＢ、…「ＴＡ」に対して４．８ｋＢ…、「ＴＲ」に対して４．８ｋＢ、…「ＺＡ」に対して４．６ｋＢ、「ＺＢ」に対して４．７ｋＢ…）を取得してよい。
【０１１４】
２回目のＳ１４０の処理において、特定部１６０は、第２暗号化応答のデータサイズ、および複数の第２候補暗号化応答のデータサイズを比較した結果に基づいて、第２候補文字列の中から検索語における入力済の第２文字列の候補を抽出する。
【０１１５】
例えば、Ｓ１１０において、対象取得部１１０が、図１０に示すようにデータサイズ４．８ｋＢの第２暗号化応答を受信していた場合、特定部１６０は、図示するようにＳ１２０において候補送信部１３０が送信した複数の第２候補文字列（「ＢＡ」〜「ＢＺ」、「ＴＡ」〜「ＴＺ」、及び、「ＺＡ〜ＺＺ」）の中から、第２暗号化応答のデータサイズ（４．８ｋＢ）と一致する第２文字列の候補として「ＴＡ」及び「ＴＲ」を絞り込む。特定部１６０は、第２文字列の候補が１つに絞られる場合は、Ｓ１５０において当該１つの候補を第２文字列と特定してよい。
【０１１６】
３回目のＳ１１０の処理において、クライアント１０は、第２文字列に続く検索語の続きの文字列の少なくとも一部がユーザに入力されたことに応じて、第２文字列に続く文字列が連結された第３文字列を含む要求内容を特定対象の第３暗号化要求としてサーバ２０に送信する。
【０１１７】
例えば、図１２に示すように、クライアント１０は、第２文字列「ＴＲ」に後続して「Ｌ」をユーザから入力し、第３文字列「ＴＲＬ」を一部に含む検索語の候補を要求する第３暗号化要求をサーバ２０に送信する。
【０１１８】
サーバ２０は、クライアント１０から検索語のうちの第３文字列を含む第３暗号化要求を受けて、当該第３暗号化要求を復号して第３文字列を取り出し、第３文字列を含む検索語であってその後にクライアント１０が入力する可能性が高い検索語の１以上の候補をデータベース等に基づいて抽出する。
【０１１９】
サーバ２０は、第１文字列を含む検索語の候補と同様に第３文字列を含む検索語の候補を抽出してよい。例えば、サーバ２０は、第３文字列「ＴＲＬ」を含む検索語の候補「Ｔｒｌ」及び「Ｔｒｌ  ｉｂｍ」を抽出し、抽出した検索語の候補を含む第３暗号化応答を生成する。サーバ２０は、１以上の検索語の候補を暗号化して第３暗号化応答としてクライアント１０に返信する。
【０１２０】
クライアント１０は、第３暗号化応答を受信して復号して検索語の候補を取り出し、検索語の候補を第３文字列とともにユーザに表示してよい。対象取得部１１０は、第３暗号化応答を取得してそのデータサイズを取得する。
【０１２１】
３回目のＳ１２０の処理において、候補送信部１３０は、第２文字列に続けて既知の複数の文字列を加えた複数の第３候補文字列に対応する複数の第３候補暗号化要求を生成する。
【０１２２】
例えば、候補送信部１３０は、第２文字列又は第２文字列の候補に、アルファベット、平仮名、カタカナ、数字、及び／又は、漢字等から予め定められた文字数分の長さの文字を後続させて、複数の第３候補文字列を生成し、当該複数の第３候補文字列に対応する第３暗号化要求を複数生成する。候補送信部１３０は、第２候補暗号化要求の生成と同様の方法で第３候補暗号化要求を生成してよい。
【０１２３】
一例として、候補送信部１３０は、図１３に示すように、第１文字列の候補（「ＴＡ」及び「ＴＲ」）のそれぞれにＡ〜Ｚの２６種類のアルファベット１文字を追加して２６×２＝５２個の第３候補文字列（「ＴＡＡ」〜「ＴＡＺ」、及び、「ＴＲＡ〜ＴＲＺ」）を生成し、第３候補文字列に対応する５２個の第３候補暗号化要求を生成する。
【０１２４】
次に、候補送信部１３０は、複数の第３候補文字列に対応する複数の第３候補暗号化要求をサーバ２０へと送信してよい。サーバ２０は、第２候補暗号化要求と同様に第３候補暗号化要求を処理し、第３候補文字列に対して検索語の候補を抽出して、当該検索語の候補を含む第３候補暗号化応答を特定装置３０に送信する。
【０１２５】
３回目のＳ１３０の処理において、候補取得部１２０は、サーバ２０が返信した複数の第３候補暗号化応答のそれぞれのデータサイズを取得する。例えば、図示するように候補受信部１４０は、サーバ２０から５２個の第３候補暗号化応答及びそのデータサイズ（例えば、第３候補文字列「ＴＡＡ」に対して３．１ｋＢ、「ＴＡＢ」に対して３．２ｋＢ、…「ＴＲＡ」に対して４．４ｋＢ…、「ＴＲＬ」に対して２．０ｋＢ…）を取得してよい。
【０１２６】
３回目のＳ１４０の処理において、特定部１６０は、第３暗号化応答のデータサイズ、および複数の第３候補暗号化応答のデータサイズを比較した結果に基づいて、第３候補文字列の中から検索語における入力済の第３文字列の候補を抽出する。
【０１２７】
例えば、Ｓ１１０において、対象取得部１１０が、図１２に示すようにデータサイズ２．０ｋＢの第３暗号化応答を受信していた場合、特定部１６０は、図示するようにＳ１２０において候補送信部１３０が送信した複数の第３候補文字列（「ＴＡＡ」〜「ＴＡＺ」、及び、「ＴＲＡ〜ＴＲＺ」）の中から、第３暗号化応答のデータサイズ（２．０ｋＢ）と一致する第３文字列の候補として「ＴＲＬ」を抽出する。
【０１２８】
第３文字列の候補が１つに絞られたことに応じて、Ｓ１５０において、特定部１６０は特定対象の第３暗号化要求に含まれる検索語の第３文字列を「ＴＲＬ」と特定し、この結果に基づいて、クライアント１０がサーバ２０に送信しようとする第１〜３暗号化要求に係る検索語を「ＴＲＬ」であると特定する。
【０１２９】
なお、本例では、候補送信部１３０は、第ｎ暗号化要求の直前の第ｉ暗号化要求（ｉは、０＜ｉ＜ｎとなる整数）が既に特定されていない場合に、第ｉ暗号化要求の候補となる第ｉ文字列の候補に別の文字列を追加して候補暗号化要求を生成する場合を説明したが、第ｎ暗号化要求の直前の第ｉ暗号化要求（ｉは、０＜ｉ＜ｎとなる整数）が既に特定されている場合、候補送信部１３０は、特定済みの第ｉ暗号化要求を含む複数の候補要求内容のそれぞれに対応する第ｎ暗号化要求をサーバに送信してよい。
【０１３０】
このように特定装置３０は、サーバ２０がクライアント１０に返信した検索語の候補を含む暗号化応答のデータサイズを取得することにより、クライアント１０がサーバ２０に要求した検索語及びその一部の文字列を特定することができる。
【０１３１】
特定装置３０は、特定した文字列の内容に応じて更なる処理を実行してよい。例えば、特定装置３０は、特定した文字列が予め定められた不適切なキーワードを含むか否かを判断してよい。特定装置３０は、特定した文字列が不適切なキーワードを含む場合は、クライアント１０に対して警告を送信する、クライアント１０が送信する暗号化要求に係る文字列のログを生成する、及び／又は、クライアント１０のサーバ２０に対するアクセスを禁止してよい。
【０１３２】
図１４は、クライアント１０、サーバ２０、及び／又は、特定装置３０として機能するコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部を備える。
【０１３３】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。
【０１３４】
グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【０１３５】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、有線又は無線によりネットワークを介して他の装置と通信する。
【０１３６】
また、通信インターフェイスは、クライアント１０、サーバ２０、及び／又は、特定装置３０における通信を行うハードウェアとして機能する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【０１３７】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。
【０１３８】
フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【０１３９】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【０１４０】
コンピュータ１９００にインストールされ、コンピュータ１９００を特定装置３０として機能させるプログラムは、対象取得モジュール、候補取得モジュール、候補受信モジュール、候補送信モジュール、及び、特定モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、対象取得部１１０、候補取得部１２０、候補送信部１３０、候補受信部１４０、及び特定部１６０としてそれぞれ機能させてよい。
【０１４１】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である対象取得部１１０、候補取得部１２０、候補送信部１３０、候補受信部１４０、及び特定部１６０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の特定装置３０が構築される。
【０１４２】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。
【０１４３】
通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。
【０１４４】
このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【０１４５】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。
【０１４６】
そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。
【０１４７】
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【０１４８】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【０１４９】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【０１５０】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【０１５１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１５２】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【０１５３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１５４】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１５５】
１  特定システム、１０  クライアント、２０  サーバ、３０  特定装置、１１０  対象取得部、１２０  候補取得部、１３０  候補送信部、１４０  候補受信部、１６０  特定部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＣＤ−ＲＯＭドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＣＤ−ＲＯＭ
【図１】
2015032958.tif 000003
【図２】
2015032958.tif 000004
【図３】
2015032958.tif 000005
【図４】
2015032958.tif 000006
【図５】
2015032958.tif 000007
【図６】
2015032958.tif 000008
【図７】
2015032958.tif 000009
【図８】
2015032958.tif 000010
【図９】
2015032958.tif 000011
【図１０】
2015032958.tif 000012
【図１１】
2015032958.tif 000013
【図１２】
2015032958.tif 000014
【図１３】
2015032958.tif 000015
【図１４】
2015032958.tif 000016