JP2015032958A - 特定装置、特定方法、及び、プログラム - Google Patents

特定装置、特定方法、及び、プログラム Download PDF

Info

Publication number
JP2015032958A
JP2015032958A JP2013160560A JP2013160560A JP2015032958A JP 2015032958 A JP2015032958 A JP 2015032958A JP 2013160560 A JP2013160560 A JP 2013160560A JP 2013160560 A JP2013160560 A JP 2013160560A JP 2015032958 A JP2015032958 A JP 2015032958A
Authority
JP
Japan
Prior art keywords
encryption
candidate
request
response
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013160560A
Other languages
English (en)
Inventor
渡邊 裕治
Yuji Watanabe
裕治 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2013160560A priority Critical patent/JP2015032958A/ja
Priority to US14/446,710 priority patent/US9413728B2/en
Publication of JP2015032958A publication Critical patent/JP2015032958A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】ユーザとサーバとの暗号化された通信の内容からユーザの要求内容を特定する方法を提供する。
【解決手段】サーバに対する暗号化要求による要求内容を特定する特定装置であって、サーバに対する特定対象の暗号化要求に対してサーバから返信された暗号化応答のデータサイズを取得する対象取得部と、特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求をサーバへと送信したことに応じてサーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する候補取得部と、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補要求内容の中から特定対象の暗号化要求による要求内容を特定する特定部とを備える特定装置等を提供する。
【選択図】図1

Description

本発明は、特定装置、特定方法、及び、プログラムに関する。
クライアントから要求を取得し、クライアントの要求に応じて最適な情報を提供する方法が知られている(例えば、特許文献1参照)。
特許文献1 特開2006−301969号公報
しかし、クライアントから直接要求を取得できない場合に、クライアントとサーバとの暗号化された通信をモニタし、当該暗号化された通信の内容からクライアントの要求内容を特定する方法は知られていない。
本発明の第1の態様においては、サーバに対する暗号化要求による要求内容を特定する特定装置であって、サーバに対する特定対象の暗号化要求に対してサーバから返信された暗号化応答のデータサイズを取得する対象取得部と、特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求をサーバへと送信したことに応じてサーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する候補取得部と、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補要求内容の中から特定対象の暗号化要求による要求内容を特定する特定部とを備える特定装置、当該特定装置に用いるプログラム、当該特定装置により実行される方法を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態の特定システム1の構成を示す。 本実施形態の特定装置30の処理フローを示す。 サーバ20が地図サーバである場合の第1暗号化要求及び第1暗号化応答の一例を示す。 特定部160が第1暗号化応答の候補を特定する処理の一例を示す。 特定部160が第1及び第2暗号化応答を特定する処理の一例を示す。 第2暗号化要求及び第2暗号化応答の別の一例を示す。 図6に係る第2暗号化要求を特定部160が特定する処理の一例を示す。 サーバ20が検索サーバである場合の第1暗号化要求及び第1暗号化応答の一例を示す。 第1候補暗号化要求及び第1候補暗号化応答の一例を示す。 第2暗号化要求及び第2暗号化応答の一例を示す。 第2候補暗号化要求及び第2候補暗号化応答の一例を示す。 第3暗号化要求及び第2暗号化応答の一例を示す。 第3候補暗号化要求及び第2候補暗号化応答の一例を示す。 コンピュータ1900のハードウェア構成の一例を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態の特定システムの構成を示す。特定システム1は、クライアント10、サーバ20、及び、特定装置30を備え、クライアント10及びサーバ20の暗号化された通信内容を特定装置30により特定する。
クライアント10は、例えば、携帯情報端末、携帯電話端末、デスクトップコンピュータ、又は、ラップトップコンピュータ等のコンピュータであってよく、サーバ20との間で暗号化された通信を実行する。例えば、クライアント10は、サーバ20に対して暗号化された要求である暗号化要求を送信し、暗号化要求に対してサーバ20から返信された暗号化応答を受け取る。クライアント10は、複数の暗号化要求をサーバ20へと送信して、サーバ20から複数の暗号化応答の返信を受けてよい。
サーバ20は、例えば、サーバコンピュータであってよく、クライアント10との間で暗号化された通信を実行する。これに代えて、サーバ20は、クライアント10との間の通信においてサーバ20として機能する任意のコンピュータ等であってよい。例えば、サーバ20は、クライアント10及び特定装置30から暗号化された要求を受け取り、当該要求を処理する。サーバ20は、クライアント10及び特定装置30に対して要求を処理した結果を送信する。
一例として、サーバ20は、位置情報を含む要求内容に対応する暗号化要求をクライアント10から受けて、当該位置情報により指定された位置の地図データを含む暗号化応答をクライアント10に返信する地図サーバであってよい。別の一例として、サーバ20は、検索語を含む要求内容に対応する暗号化要求を受けて、当該検索語の少なくとも一部を含む暗号化応答を返信する検索サーバであってよい。その他、サーバ20としては、暗号化要求による要求内容に応じたデータ長の暗号化応答を返信する各種のサービスを提供するコンピュータであってよい。
特定装置30は、例えば、クライアント10とクライアント10の外部のネットワークとを接続するゲートウェイサーバであってよく、携帯電話事業者によりネットワーク内に配置されるサーバ等であってよい。特定装置30は、クライアント10とサーバ20との間の暗号化された通信を取得し、クライアント10からサーバ20に対する暗号化要求による要求内容を特定する。特定装置30は、対象取得部110、候補取得部120、及び、特定部160を備える。
対象取得部110は、クライアント10からサーバ20に対する特定対象の暗号化要求に対して、サーバ20から返信された暗号化応答のデータサイズを取得する。更に、対象取得部110は、特定対象の暗号化要求に対するサーバからの暗号化応答の応答時間を更に取得してよい。対象取得部110は、取得した暗号化応答のデータサイズ及び応答時間を候補取得部120及び特定部160に供給する。
候補取得部120は、暗号化応答のデータサイズ等を対象取得部110から受け取ったことに応じて、クライアント10からサーバ20への要求内容の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求をサーバ20へと送信し、複数の候補暗号化要求に応じてサーバ20が返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する。また、候補取得部120は、複数の候補暗号化要求に応じてサーバ20が返信した複数の候補暗号化応答のそれぞれの応答時間を更に取得してよい。
候補取得部120は、候補送信部130及び候補受信部140を含んでよい。この場合、候補送信部130は、特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求をサーバ20へと送信する。例えば、候補送信部130は、クライアント10がサーバ20に送信し得る全ての暗号化要求に対応する複数の候補暗号化要求をサーバ20へ送信してよい。
例えば、候補送信部130は、サーバ20が地図サーバである場合に、既知の複数の候補位置情報(例えば、地図上の全ての位置情報)に対応する複数の候補暗号化要求をサーバ20に送信し、サーバ20が検索サーバである場合に、既知の複数の候補検索語(例えば、アルファベット等から生成可能な全ての文字列)に対応する複数の候補暗号化要求をサーバ20に送信する。
候補受信部140は、候補暗号化要求に応じてサーバ20が返信した複数の候補暗号化応答を受信する。候補取得部120は、取得したデータサイズを特定部160に供給する。
特定部160は、対象取得部110から取得した特定対象の暗号化要求に対する暗号化応答のデータサイズ、および、候補取得部120から取得した複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、1又は複数の候補要求内容を特定する。例えば、特定部160は、複数の候補暗号化応答のうちデータサイズが暗号化応答のデータサイズと一致する、又は、略一致する候補暗号化応答に対応する候補暗号化要求を特定対象の暗号化要求と特定する。
例えば、特定部160は、サーバ20が地図サーバである場合に、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および既知の複数の候補位置情報に対して返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、既知の複数の候補位置情報の中から特定対象の暗号化要求に含まれる位置情報を特定する。
また、例えば、特定部160は、サーバ20が検索サーバである場合に、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および既知の複数の候補検索語に対して返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、既知の複数の候補検索語の中から特定対象の暗号化要求に含まれる検索語を特定する。
特定部160は、暗号化要求に対する暗号化応答のデータサイズに加え、暗号化要求に対する暗号化応答の応答時間、および複数の候補暗号化応答のそれぞれの応答時間に更に基づいて、特定対象の暗号化要求による要求内容を特定してよい。
このように本実施形態の特定装置30は、暗号化要求自体の内容を復号することなく、暗号化要求に対する暗号化応答のデータサイズに基づいて暗号化要求の内容を特定する。これにより、特定装置30は、クライアント10のユーザが事件に巻き込まれる等の緊急時において、ユーザによる暗号化通信のデータサイズからユーザの位置等を含む要求内容を特定し、解決の手がかりを得る等の目的で利用することができる。
図2は、本実施形態の特定装置30による表示方法の処理フローを示す。本実施形態において、特定装置30は、S110〜S180の処理を実行する。本実施形態において特定装置30は、クライアント10からサーバ20に送信されるn番目(nは1以上の整数)の暗号化要求に応じて、サーバ20から送信されるn番目の暗号化応答のデータサイズ等を取得し、これに基づきクライアント10から送信される特定対象のn番目の暗号化要求の内容を特定する。特定装置30は、n=1として処理を開始する。
まず、S110において、対象取得部110は、クライアント10からサーバ20に対する特定対象の第n暗号化要求に対して、サーバ20から返信された第n暗号化応答を取得する。対象取得部110は、取得した第n暗号化応答のパケットのヘッダ等を読み出すことにより、又は、パケットのデータサイズを直接計測することにより、暗号化応答のデータサイズを取得する。対象取得部110は、一の第n暗号化要求に対して一の第n暗号化応答、又は、複数の第n暗号化応答の組を取得してよく、これに応じて一のデータサイズ、又は、複数のデータサイズの組を取得する。
また、対象取得部110は、特定対象の第n暗号化要求に対するサーバからの第n暗号化応答の応答時間を更に取得してよい。対象取得部110は、取得した第n暗号化応答のデータサイズ及び応答時間を特定部160に供給する。
例えば、対象取得部110は、地図サーバであるサーバ20が返信した暗号化された地図情報である第n暗号化応答及びそのデータサイズを取得してよい。また、対象取得部110は、検索サーバであるサーバ20が返信した、検索候補語を含む暗号化された1又は複数の候補文字列である第1暗号化応答及びそのデータサイズを取得してよい。
ここで、対象取得部110は、第n暗号化応答のデータサイズが予め定められた範囲外である場合は、第n暗号化応答のデータサイズを取得しなくてよい。これにより、対象取得部110は、明らかに目的外のデータに係る第n暗号化応答を除外することができる。
次にS120において、データサイズを対象取得部110から取得したことに応じて、候補取得部120の候補送信部130は、クライアント10からサーバ20への要求内容の候補となる1又は複数の候補暗号化要求をサーバ20へと送信する。例えば、候補送信部130は、既知の候補位置情報に対応する複数の候補暗号化要求を地図サーバであるサーバ20に送信してよい。また、例えば、候補送信部130は、既知の候補検索語に対応する候補暗号化要求を検索サーバであるサーバ20に送信してよい。
次にS130において、候補取得部120の候補受信部140は、S120で送信した1又は複数の候補暗号化要求に応じてサーバ20が返信した候補暗号化応答を受信する。候補取得部120は、候補暗号化応答のパケットのヘッダ等から候補暗号化応答のデータサイズを取得する。また、候補取得部120は、候補暗号化要求を送信してからサーバ20が候補暗号化応答を返信するまでの応答時間を更に取得してよい。
候補受信部140は、一の候補暗号化要求に対して一の候補暗号化応答、又は、複数の候補暗号化応答の組を取得してよく、これに応じて、一の候補暗号化要求に対応して一のデータサイズ、又は、複数のデータサイズの組を取得してよい。
候補取得部120は、例えば、地図サーバであるサーバ20が返信した暗号化された地図情報である候補暗号化応答及びそのデータサイズを取得してよい。また、候補取得部120は、検索サーバであるサーバ20が返信した、検索候補語を含む暗号化された1又は複数の候補文字列である候補暗号化応答及びそのデータサイズを取得してよい。
次にS140において、特定部160は、第n暗号化要求又は第n暗号化要求の候補を特定する。例えば、特定部160は、対象取得部110から取得した特定対象の第n暗号化要求に対する第n暗号化応答のデータサイズ、および、候補取得部120から取得した1又は複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補暗号化応答に係る候補要求内容の中から、第n暗号化要求による要求内容の候補を絞り込む。
例えば、特定部160は、複数の候補暗号化応答のうち、データサイズが第n暗号化応答のデータサイズと一致又は略一致するものを第n暗号化応答の候補と特定する。特定部160は、複数の候補暗号化応答のうち1つ以上を第n暗号化応答の候補と特定してよい。
サーバ20が暗号化要求に応じたデータを暗号化して暗号化応答を生成する際、暗号化応答のデータサイズは暗号化処理で使用する乱数に起因して若干増減しうる。従って、特定部160は、第n暗号化応答と候補暗号化応答のデータサイズが完全に一致する場合に加え、両者のデータサイズが予め定められた誤差内で一致する等の略一致する場合(例えば、±0.1〜1%又は±16B〜1kB等の場合)に、候補暗号化応答を第n暗号化応答の候補としてよい。
次にS150において、特定部160は、第n暗号化要求を特定する。特定部160は、S140で絞り込んだ第n暗号化要求の候補が1つである場合、当該1つの候補を第n暗号化要求として特定する。
また、特定部160は、S140で絞り込んだ第n暗号化要求の候補が複数である場合、第n暗号化要求の前の第1〜第i暗号化要求の少なくとも1つに基づいて、第n暗号化要求の複数の候補から一の第n暗号化要求を特定してよい(ただし、iは1<i<nを満たす整数)。
例えば、特定部160は、既に絞り込んだ第1〜第i暗号化要求及び/又は第1〜第i暗号化要求の候補と、複数の第n暗号化要求の候補との組み合わせにより、第n暗号化要求を特定してよい。一例として特定部160は、既に絞り込んだ第1要求内容の候補および第2要求内容の候補の組合せの中から、組合せ可能である第1要求内容および第2要求内容の組を選択してよい。
特定部160は、第n暗号化要求の候補から1つの第n暗号化要求を特定できない場合は、第n暗号化要求を特定せず次の処理に進んでよい。
次に、S160において、特定部160は第n暗号化要求が特定されたか否かを判断する。特定部160は、第n暗号化要求が特定されたと判断する場合、処理をS180に進め、そうでない場合は処理をS170に進める。
S170において、特定部160はnを1増加させて、処理をS110に戻す。これにより、特定装置30は、クライアント10及びサーバ20の間の次の暗号化要求及び暗号化応答に対する処理を実行する。
S180において、特定部160は、S160で特定した第n暗号化要求及び対応する第n暗号化応答を特定装置30の表示画面に表示してよい。例えば、特定部160は、S150で特定した第n暗号化要求と特定した候補暗号化要求に係る要求内容と、当該候補暗号化要求に対応する候補暗号化応答の応答内容とを表示画面に表示する。
特定部160は、既に第1〜第i暗号化応答が特定されている場合は、第1〜第i暗号化要求及び第1〜第i暗号化応答を併せて表示画面に表示してよい。ここで、特定部160は、この後、処理を終了してもよく、これに代えて処理をS170に進めて次の暗号化要求及び暗号化応答に対する処理を実行してもよい。
このように特定装置30は、S110〜S180の処理を実行することにより、暗号化要求に対する暗号化応答のデータサイズに基づいて暗号化要求の内容を特定する。
なお、特定装置30は、S120及びS130の処理をS110に先立って前もって実行してもよい。これにより、特定装置30は、多数の候補暗号化要求のデータサイズを予め取得しておき、暗号化要求の特定の精度を向上させることができる。特定装置30は、2回目以降(n≧2)の処理において、S120及びS130を省略してもよい。
また、特定装置30は、クライアント10が第n暗号化要求を送信し、サーバ20が第n暗号化応答を受信する毎にS110〜S160のループ処理を実行してよく、これに代えて、特定装置30は、複数の第n暗号化要求及び第n暗号化応答のログを予め取得しておき、後にS110〜S180の処理を実行してもよい。
また、第n暗号化応答のデータサイズはクライアント10の機種等に応じて変動することがある。特定装置30はこのようなデータサイズの変動に対応する目的で、特定部160により、対象取得部110が取得した第n暗号化応答のデータサイズに対してクライアント10の機種に応じた予め定められた補正処理を実行してよい。
図3から図7は、サーバ20が地図サーバである場合の特定システム1の処理の一例を示す。図3は、第1暗号化要求及び第1暗号化応答の一例を示す。1回目(n=1)のS110の処理において、クライアント10は、位置情報を含み当該位置情報に対応する特定地点の地図データを要求内容とする第1暗号化要求を地図サーバであるサーバ20に送信する。例えば、クライアント10は、住所データ、又は、地図上の座標データ等をサーバ20に送信する。
サーバ20は、クライアント10から位置情報を含む要求内容に対応する第1暗号化要求を受けて、当該第1暗号化要求を復号して要求内容に含まれる位置情報を取り出し、当該位置情報により指定された位置の地図データをデータベース等から取得する。サーバ20は、取得した地図データを暗号化し、当該暗号化された地図データを含む第1暗号化応答をクライアント10に返信する。
ここで、サーバ20は、位置情報により指定された位置を中心として互いに隣接する1又は複数の地図ブロックに対応する地図データをクライアント10に送信してよく、複数の地図ブロックに対応して複数の第1暗号化応答をクライアント10に送信してよい。例えば、サーバ20は、複数の隣接する地図ブロックB1〜B9のそれぞれに対応する地図データを9個の第1暗号化応答としてクライアント10に送信してよい。当該9個の第1暗号化応答は、それぞれ個別に異なったデータサイズを有してよい。
クライアント10は、地図ブロックB1〜B9に対応する第1暗号化応答を受け取って復号し、地図ブロックB1〜B9から構成される単一の地図を生成してユーザに表示してよい。対象取得部110は、複数の第1暗号化応答を取得して、複数の第1暗号化応答の各々のデータサイズを取得する。
1回目のS120の処理において、候補送信部130は、クライアント10からサーバ20への要求内容の候補となる既知の複数の候補位置情報に対応する複数の候補暗号化要求をサーバ20へと送信する。
候補送信部130は、既知の複数の候補位置情報および複数の候補縮尺情報に対応する複数の候補暗号化要求をサーバ20に送信することにより、サーバ20に異なる縮尺で表された複数の地図における複数の候補位置に係る地図データをサーバ20に要求してよい。
例えば、候補送信部130は、サーバ20により大きな縮尺の地図データ及び小さな縮尺の地図データに係る複数の候補暗号化要求をサーバ20に送信してよい。また、例えば、候補送信部130は、サーバ20により取得可能な地図の全縮尺に係る全エリアを網羅する複数の候補暗号化要求をサーバ20に送信してよい。
また、候補送信部130は、候補暗号化要求として、クライアント10が地図データを要求する可能性が高い位置に対応する地図データをサーバ20に要求してよい。例えば、候補送信部130は、既に特定部160が特定した過去の暗号化要求に対応する候補暗号化要求をサーバ20に送信してよい。また、例えば、候補送信部130は、クライアント10の国籍、居住地、勤務地、及び/又は訪問地等の属性に関係する位置に対応する地図データをサーバ20に要求してよい。
サーバ20は、候補暗号化要求のそれぞれを復号して要求内容に含まれる位置情報を取り出し、当該位置情報により指定された位置を中心として互いに隣接する複数の地図ブロックに対応する複数の候補暗号化応答を特定装置30に送信してよい。
1回目のS130の処理において、候補取得部120は、サーバ20が返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する。例えば、候補取得部120の候補受信部140は全ての地図ブロックに係る地図データを含む候補暗号化応答を取得する。一例として、候補受信部140は、サーバ20から既知の複数の候補位置情報および複数の候補縮尺情報に対応する地図ブロックの地図データを含む、複数の候補暗号化応答を取得し、それぞれの候補暗号化応答のデータサイズを抽出する。
図4は、特定部160が第1暗号化応答の候補を特定する処理の一例を示す。1回目のS140の処理において、特定部160は、特定対象の第1暗号化要求に対する第1暗号化応答のデータサイズ、及び、既知の複数の候補位置情報に対して返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、既知の複数の候補位置情報の中から特定対象の第1暗号化要求に含まれる第1位置情報の候補を絞り込む。
例えば、特定部160は、複数の候補暗号化要求に係る位置のうち、複数の第1暗号化応答の組とデータサイズが一致する複数の候補暗号化応答の組をサーバ20から取得することができた候補暗号化要求に係る候補位置を、第1暗号化要求に係る第1位置情報の候補として絞り込む。
一例として、S110において、対象取得部110が、図4に示すようにデータサイズ111kB(B1)、データサイズ55kB(B2)、データサイズ79kB(B3)、……及び、データサイズ30kB(B9)の複数の第1暗号化応答を受信していた場合、特定部160は、複数の候補位置情報のうち、データサイズ111kBの候補暗号化応答、データサイズ55kBの候補暗号化応答、データサイズ79kBの候補暗号化応答、……及び、データサイズ30kBの候補暗号化応答の組が得られた「大宮」周辺の位置、「新宿」周辺の位置、「東京」周辺の位置、「品川」周辺の位置、及び、「豊洲」周辺の位置を第1暗号化要求に係る第1位置情報の候補位置として絞り込む。
クライアント10のユーザは、サーバ20に対してまず大きな縮尺の地図データを要求して、現在位置等の大きな地図上の位置を確認した後に、小さな縮尺の地図データを要求することがある。このような場合に対応する目的で、候補受信部140が複数の候補位置情報として大きな縮尺の地図データに係る位置情報及び小さな縮尺の地図データに係る位置情報を受け取っていた場合、特定部160は、大きな縮尺の地図データに係る候補位置情報から優先的に第1位置情報に係る候補位置を絞り込んでよい。
2回目のS110の処理において、クライアント10は、位置情報を含み当該位置情報に対応する地点の地図データを要求内容とする第2暗号化要求を地図サーバであるサーバ20に送信する。
サーバ20は、クライアント10から位置情報を含む要求内容に対応する第2暗号化要求を受けて、当該第2暗号化要求を復号して要求内容に含まれる位置情報を取り出し、当該位置情報により指定された位置の地図データをデータベース等から取得する。サーバ20は、取得した地図データを含む第2暗号化応答をクライアント10に返信する。
サーバ20は、複数の隣接する地図ブロックB10〜B18のそれぞれに対応する地図データを9個の第2暗号化応答としてクライアント10に送信してよい。地図ブロックB10〜B18に対応する第2暗号化応答は、それぞれ個別に異なったデータサイズを有してよい。
クライアント10は、地図ブロックB10〜B18に対応する第2暗号化応答を受け取って復号し、地図ブロックB10〜B18から構成される単一の地図を生成してユーザに表示してよい。対象取得部110は、複数の第2暗号化応答の各々のデータサイズを取得する。
2回目のS120の処理において、候補送信部130は、1回目と同様に複数の候補暗号化要求をサーバ20へと送信し、S130の処理において、候補取得部120は、1回目のS130の処理と同様にサーバ20から複数の候補暗号化応答のそれぞれのデータサイズを取得してよい。これに代えて、特定装置30は、2回目のS120及びS130の処理を省略してよい。
図5は、特定部160が第1及び第2暗号化応答を特定する処理の一例を示す。2回目のS140の処理において、1回目の処理と同様に、特定部160は、複数の候補暗号化要求に係る位置のうち、複数の第2暗号化応答の組とデータサイズが一致する複数の候補暗号化応答の組をサーバ20から取得することができた候補暗号化要求に係る候補位置を、第2暗号化要求に係る第2位置情報の候補として絞り込む。
例えば、対象取得部110が、図6に示すようにデータサイズ46kB(B9)、データサイズ42kB(B10)、……データサイズ80kB(B18)となる複数の第2暗号化応答を受信していた場合、特定部160は、複数の候補位置情報のうち、データサイズ46kBの候補暗号化応答、データサイズ42kBの候補暗号化応答、……データサイズ80kBの候補暗号化応答の組が得られた「池袋」周辺の位置、「上野」周辺の位置、「亀有」周辺の位置、及び、「豊洲」周辺の位置を第2暗号化要求に係る第2位置情報の候補として絞り込む。
S150において、特定部160は、複数の暗号化要求のそれぞれの要求内容を特定した結果に基づいて、クライアント10がサーバ20に送信した要求処理の内容の全体を特定する。例えば、特定部160は、第1暗号化要求を特定した第1位置情報の候補、及び、第2暗号化要求を特定した第2位置情報の候補の関連性又は共通性に基づいて第1位置情報及び第2位置情報を選択する。
一例として、特定部160は、第1暗号化要求による第1位置情報の候補および第2暗号化要求による第2位置情報の候補の中から、互いに予め定められた移動可能距離の範囲内に位置する第1位置情報および第2位置情報を選択することにより、第1位置情報及び第2位置情報を特定する。
特定部160は、移動可能距離の範囲として、予め定められたクライアント10の移動可能な上限速度(例えば、乗用車の一般的な上限速度である100km/h)と、第1暗号化要求及び第2暗号化要求との時間差とを乗じて得られる距離を用いてよい。
例えば、特定部160は、第1位置情報の候補に含まれる「豊洲」周辺の位置と、第2位置情報に含まれる「豊洲」周辺の位置とが予め定められた距離内に位置することに応じて、第1位置情報に係る位置を「豊洲」と特定し、第2位置情報に係る位置を「豊洲」と特定する。なお、第1位置情報に係る「豊洲」と、第2位置情報に係る「豊洲」は、近傍の異なる地点であり、構成する地図ブロックが異なる(B1〜B9とB10〜B18)。
これにより、特定装置30は、クライアント10が移動中に現在位置の地図データをサーバ20に要求する場合に、暗号化要求に係る位置情報(すなわち、クライアント10の現在位置)をより正確に特定することができる。
図6は、第2暗号化要求及び第2暗号化応答の別の一例を示す。S110の処理において、クライアント10は、地図ブロックB1〜B9に隣接する複数の隣接する地図ブロックB4〜B12のそれぞれに対応する地図データを第2暗号化要求としてサーバ20に要求する。
ここで、地図ブロックB4〜B12のうち地図ブロックB4〜B9に係る地図データは第1暗号化応答によりクライアント10に既に送信されているので、サーバ20は図示するように未だ送信されていない地図ブロックB10〜B12に係る地図データをそれぞれ含む3個の第2暗号化応答のみをクライアント10に送信してよい。
クライアント10は、地図ブロックB10〜B12に対応する第2暗号化応答を受け取って復号し、既に受け取っている地図ブロックB4〜B9と併せて地図ブロックB4〜B12から構成される単一の地図を生成してユーザに表示してよい。対象取得部110は、2回目のS110の処理において地図ブロックB10〜B12に係る第2暗号化応答の各々のデータサイズを取得する。
図7は、図6に係る第2暗号化要求を、特定部160が特定する処理の一例を示す。2回目のS140の処理において、特定部160は、第1暗号化応答及び第2暗号化応答のデータサイズの組、及び、既知の複数の候補位置情報に対して返信された複数の候補暗号化応答のそれぞれのデータサイズの組を比較した結果に基づいて、既知の複数の候補位置情報の中から特定対象の第1暗号化要求及び第2暗号化要求に含まれる第1位置情報及び第2位置情報を特定する。
例えば、2回目以降のS110の処理において対象取得部110が1回目のS110の処理時の暗号化応答(9個)よりも少ない数の暗号化応答(3個)を取得した場合、特定部160は、第2暗号化要求に係る位置は第1暗号化要求に係る位置と隣接するものと判断し、複数の第1暗号化応答のデータサイズの組と第2暗号化応答のデータサイズの組の組み合わせに基づいて、第1位置情報及び第1位置情報に隣接する第2位置情報を特定する。
一例として、対象取得部110が、2回目のS110の処理時に図6に示すように3個の第2暗号化応答を受信する場合、特定部160は、複数の候補位置情報のうち、第1位置情報の候補に係る位置に隣接し、第2暗号化応答と第1暗号化応答の一部とを併せた12個のデータサイズの一部が一致又は略一致するデータサイズの組に係る候補位置情報を第2位置情報として特定する。
例えば、図7に示すように、特定部160は、地図ブロックB1〜B9のデータサイズにより選択された第1位置情報の候補(「大宮」、「新宿」、「東京」、「品川」及び「豊洲」)のいずれかに隣接し、地図ブロックB4〜B12のデータサイズの組と一致又は略一致する候補位置情報を第2位置情報として特定する。この結果、特定部160は「豊洲」周辺の2地点の位置を第1位置情報及び第2位置情報として特定する。
上記の図3〜7において説明したように、特定部160は、第1暗号化要求に係る第1位置情報と、第2暗号化要求に係る第2位置情報とが近傍に位置することを前提として第1暗号化要求及び第2暗号化要求を特定する。
例えば、特定部160は、連続する複数の位置情報(第1位置情報、第2位置情報、…第n位置情報)の特定において、比較的少数(例えば、1個)の特定された位置情報(例えば、第i位置情報、iは1≦i≦nとなる整数)又は当該位置情報の候補が、他の位置情報(第i位置情報以外の第1〜第n位置情報)又は他の地位情報の候補と異なる場合、当該少数の位置情報(第i位置情報)に係る第i暗号化応答をノイズとして他の位置情報の特定処理から除去してよい。これにより、特定部160は、ノイズとなる少数の位置情報と整合しないことにより他の位置情報の特定が阻害されることを防ぐことができる。
また、特定部160は、予め定められた条件を満たす場合、第1位置情報と第2位置情報とが離れているものと判断してよい。
例えば、特定部160は、第n位置情報の候補に予め定められたm(mは1以上の整数)個分後続する、第n+1位置情報の候補、第n+2位置情報の候補、…第n+m位置情報の候補に、第n位置情報の候補の近傍の位置が含まれない場合、特定部160は、第n+1位置情報、第n+2位置情報、及び…第n+m位置情報と、第n位置情報とが離れていると判断し、第n+1位置情報、第n+2位置情報、及び…第n+m位置情報の特定において第n位置情報と近接することを条件としなくてよい。
このように特定装置30は、サーバ20がクライアント10に返信した地図データを含む暗号化応答のデータサイズを取得することにより、クライアント10がサーバ20に要求した地図データに係る位置情報を特定することができる。
図8から図13は、サーバ20が検索サーバである場合の特定システム1の処理の一例を示す。図8は、第1暗号化要求及び第1暗号化応答の一例を示す。本例において、クライアント10は、サーバ20に対する検索要求処理において、検索語自体の検索要求を送信する前に、検索語の文字列の一部ずつが入力される度に、入力済の検索語の部分文字列を含む暗号化要求をサーバ20へと送信する。サーバ20は、当該部分文字列を含みクライアント10がその後に入力する可能性が高い検索語の候補となる候補文字列を含む候補暗号化応答をクライアント10に返信する。
1回目(n=1)のS110の処理において、クライアント10は、検索語における予め定められた文字数分の第1文字列がユーザに一度に入力されたことに応じて、第1文字列を含む要求内容を特定対象の第1暗号化要求として検索サーバであるサーバ20に送信する。
例えば、図8に示すように、クライアント10は、第1文字列「T」をユーザから入力し、第1文字列「T」を一部とする検索語の候補を要求する第1暗号化要求を、サーバ20に送信する。
サーバ20は、クライアント10から第1暗号化要求を受けて復号して、第1暗号化要求に含まれる第1文字列を取り出し、第1文字列を含む検索語の候補であって、その後にクライアント10が入力する可能性が高い検索語の1以上の候補をデータベース等に基づいて抽出する。
例えば、サーバ20は、第1文字列を含む検索語の候補であって、クライアント10及び/又は他のクライアントにその後検索語として入力した頻度の高い、予め定められた数の候補を抽出してよい。
また、サーバ20は、第1文字列を含む検索語の候補として、第1文字列をそのまま含む検索語、及び/又は、第1文字列の一部又は全体に対してアルファベット/数字/平仮名/カタカナ/漢字等の文字種間の変換を適用した文字列を抽出して検索語の候補としてよい。例えば、サーバ20は第1文字列が「てんき」又は「tenki」である場合、検索語の候補に「天気予報」を含めてよい。
また、サーバ20は、第1文字列がアルファベットである場合、第1文字列がローマ字入力される検索語の入力の一部となり得る語を検索語の候補としてよい。例えば、図8に示すように、クライアント10から検索語の第1文字列「T」を受信したことに応じて、サーバ20は、検索語のローマ字入力の第1文字列「T」を含む「天気予報」(ローマ字入力:Tenkiyohou)、「食べ歩き」(ローマ字入力:Tabearuki)、「地図」(ローマ字入力:Tizu)、「つぶやき」(ローマ字入力:Tsubuyaki)、及び、「チケット」(ローマ字入力:tiketto)を検索語の候補としてよい。サーバ20は、1以上の検索語の候補を暗号化して第1暗号化応答としてクライアント10に返信する。
クライアント10は、第1暗号化応答を受信して復号して検索語の候補を取り出し、検索語の候補を第1文字列とともにユーザに表示してよい。対象取得部110は、第1暗号化応答を取得してそのデータサイズを取得する。
1回目のS120の処理において、候補送信部130は、複数の候補検索語に対応し、クライアント10からサーバ20への要求内容の候補となる既知の複数の第1候補文字列に対応する複数の第1候補暗号化要求を生成する。
例えば、候補送信部130は、アルファベット、平仮名、カタカナ、数字、及び/又は、漢字等から予め定められた文字数分の長さの既知の複数の第1候補文字列を生成し、当該複数の第1候補文字列に対応する第1候補暗号化要求を複数生成する。
一例として、候補送信部130は、図9に示すように、A〜Zの26種類のアルファベット1文字を第1候補文字列とする26個の第1候補暗号化要求を生成する。別の一例として、候補送信部130は、2文字以上の第1候補文字列を複数生成してもよい。
また、別の一例として、候補送信部130は、頻繁に検索される頻出単語等を特定装置30の内部/外部の記憶装置に予め記憶しておき、記憶装置から当該頻出単語の始めの一部を構成する予め定められた1以上の文字数の文字列を読み出して第1候補文字列としてよい。
次に、候補送信部130は、この予め定められた文字数分の長さの既知の複数の第1候補文字列に対応する複数の第1候補暗号化要求をサーバ20へと送信してよい。サーバ20は、第1候補暗号化要求のそれぞれを復号して要求内容に含まれる第1候補文字列を取り出す。サーバ20は、第1候補文字列に対してS110の処理と同様に第1候補文字列を含む検索語の候補を抽出して、当該検索語の候補を含む第1候補暗号化応答を特定装置30に送信してよい。
1回目のS130の処理において、候補取得部120は、サーバ20が返信した複数の第1候補暗号化応答のそれぞれのデータサイズを取得する。例えば、図示するように候補取得部120の候補受信部140は、サーバ20から各アルファベット1文字に対応する複数の第1候補暗号化応答及びそのデータサイズ(例えば、第1候補文字列「A」に対して5.1kB、「B」に対して5.3kB、「C」に対して4.9kB…、「Z」に対して5.3kB)を取得してよい。
なお、候補受信部140は、全ての第1候補暗号化要求に対応する第1候補暗号化応答を取得してもよく、全ての第1候補暗号化要求に対応する第1候補暗号化応答のうち一部のみを取得してもよい。例えば、サーバ20が一部の第1候補文字列に対して、第1候補文字列を含む検索語の候補を取得できなかった場合(第1候補文字列が単語又は略号等を形成しない無意味な文字列である場合等)には、候補受信部140は第1候補暗号化応答を受信しない。
1回目のS140の処理において、特定部160は、第1暗号化応答のデータサイズ、および複数の第1候補暗号化応答のデータサイズを比較した結果に基づいて、第1候補文字列の中から特定対象の第1文字列の候補を抽出する。
例えば、S110において、対象取得部110が、図4に示すようにデータサイズ5.3kBの第1暗号化応答を受信していた場合、特定部160は、図示するようにS120において候補送信部130が送信した複数の第1候補文字列(A〜Z)の中から、第1暗号化応答のデータサイズ(5.3kB)と一致する第1文字列の候補として「B」、「T」、及び「Z」を絞り込む。特定部160は、第1文字列の候補が1つに絞られる場合は、S150において当該1つの候補を第1文字列と特定してよい。
2回目のS110の処理において、クライアント10は、第1文字列に続く検索語の続きの文字列の少なくとも一部がユーザに入力されたことに応じて、第1文字列に続く文字列が連結された第2文字列を含む要求内容を特定対象の第2暗号化要求としてサーバ20に送信する。
例えば、図10に示すように、クライアント10は、第1文字列「T」に後続して「R」をユーザから入力し、「T」に「R」を後続させた第2文字列「TR」を一部に含む検索語の候補を要求する第2暗号化要求をサーバ20に送信する。
サーバ20は、クライアント10から検索語のうちの第2文字列を含む第2暗号化要求を復号して第2文字列を取り出し、第2文字列を含む検索語であってその後にクライアント10が入力する可能性が高い検索語の1以上の候補をデータベース等に基づいて抽出する。
サーバ20は、第1文字列を含む検索語の候補の抽出と同様に、第2文字列を含む検索語の候補を抽出してよい。例えば、サーバ20は、第2文字列「TR」を含む検索語の候補「Translate」、「Transceiver」、「Trek」、「Trip」、及び「Trick」を抽出し、抽出した検索語の候補を含む第2暗号化応答を生成する。サーバ20は、1以上の検索語の候補を暗号化して第2暗号化応答としてクライアント10に返信する。
クライアント10は、第2暗号化応答を受信して復号して検索語の候補を取り出し、図示するように検索語の候補を第2文字列とともにユーザに表示してよい。対象取得部110は、第2暗号化応答を取得してそのデータサイズを取得する。
2回目のS120の処理において、候補送信部130は、第1文字列に続けて既知の複数の文字列を加えた複数の第2候補文字列に対応する複数の第2候補暗号化要求を生成する。
例えば、候補送信部130は、第1文字列又は第1文字列の候補に、アルファベット、平仮名、カタカナ、数字、及び/又は、漢字等から予め定められた文字数分の長さの文字を後続させて、複数の第2候補文字列を生成し、当該複数の第2候補文字列に対応する第2候補暗号化要求を複数生成する。
一例として、候補送信部130は、図11に示すように、第1文字列の候補(「B」、「T」、及び「Z」)のそれぞれにA〜Zの26種類のアルファベット1文字を追加して26×3=78個の第2候補文字列(「BA」〜「BZ」、「TA」〜「TZ」、及び、「ZA〜ZZ」)を生成し、第2候補文字列に対応する78個の第2候補暗号化要求を生成する。別の一例として、候補送信部130は、第1文字列又は第1文字列の候補に2文字以上を追加して第2候補文字列を複数生成してもよい。
また、別の一例として、候補送信部130は、頻繁に検索される頻出単語等を特定装置30の内部/外部の記憶装置に予め記憶しておき、第1文字列又は第1文字列を一部に含み第1文字列又は第1文字列の候補で始まる頻出単語を記憶装置から検出し、当該頻出単語の第1文字列に続く予め定められた1以上の文字数の文字列を後続させて、第2候補文字列としてよい。
また、候補送信部130は、第1文字列又は第1文字列の候補にアルファベット等の文字を後続させることに加えて/代えて、第1文字列又は第1文字列の候補を漢字変換し、及び/又は、第1文字列又は第1文字列の候補の末尾から予め定められた数の文字を削除することにより、複数の第2候補文字列を生成してよい。
次に、候補送信部130は、複数の第2候補文字列に対応する複数の第2候補暗号化要求をサーバ20へと送信してよい。サーバ20は、第2候補暗号化要求のそれぞれを復号して要求内容に含まれる第2候補文字列を取り出す。サーバ20は、第2候補文字列に対してS110の処理と同様に検索語の候補を抽出して、当該検索語の候補を含む第2候補暗号化応答を特定装置30に送信してよい。
2回目のS130の処理において、候補取得部120は、サーバ20が返信した複数の第2候補暗号化応答のそれぞれのデータサイズを取得する。例えば、図示するように候補受信部140は、サーバ20から第2候補暗号化応答及びそのデータサイズ(例えば、第2候補文字列「BA」に対して5.1kB、「BB」に対して5.2kB、…「TA」に対して4.8kB…、「TR」に対して4.8kB、…「ZA」に対して4.6kB、「ZB」に対して4.7kB…)を取得してよい。
2回目のS140の処理において、特定部160は、第2暗号化応答のデータサイズ、および複数の第2候補暗号化応答のデータサイズを比較した結果に基づいて、第2候補文字列の中から検索語における入力済の第2文字列の候補を抽出する。
例えば、S110において、対象取得部110が、図10に示すようにデータサイズ4.8kBの第2暗号化応答を受信していた場合、特定部160は、図示するようにS120において候補送信部130が送信した複数の第2候補文字列(「BA」〜「BZ」、「TA」〜「TZ」、及び、「ZA〜ZZ」)の中から、第2暗号化応答のデータサイズ(4.8kB)と一致する第2文字列の候補として「TA」及び「TR」を絞り込む。特定部160は、第2文字列の候補が1つに絞られる場合は、S150において当該1つの候補を第2文字列と特定してよい。
3回目のS110の処理において、クライアント10は、第2文字列に続く検索語の続きの文字列の少なくとも一部がユーザに入力されたことに応じて、第2文字列に続く文字列が連結された第3文字列を含む要求内容を特定対象の第3暗号化要求としてサーバ20に送信する。
例えば、図12に示すように、クライアント10は、第2文字列「TR」に後続して「L」をユーザから入力し、第3文字列「TRL」を一部に含む検索語の候補を要求する第3暗号化要求をサーバ20に送信する。
サーバ20は、クライアント10から検索語のうちの第3文字列を含む第3暗号化要求を受けて、当該第3暗号化要求を復号して第3文字列を取り出し、第3文字列を含む検索語であってその後にクライアント10が入力する可能性が高い検索語の1以上の候補をデータベース等に基づいて抽出する。
サーバ20は、第1文字列を含む検索語の候補と同様に第3文字列を含む検索語の候補を抽出してよい。例えば、サーバ20は、第3文字列「TRL」を含む検索語の候補「Trl」及び「Trl ibm」を抽出し、抽出した検索語の候補を含む第3暗号化応答を生成する。サーバ20は、1以上の検索語の候補を暗号化して第3暗号化応答としてクライアント10に返信する。
クライアント10は、第3暗号化応答を受信して復号して検索語の候補を取り出し、検索語の候補を第3文字列とともにユーザに表示してよい。対象取得部110は、第3暗号化応答を取得してそのデータサイズを取得する。
3回目のS120の処理において、候補送信部130は、第2文字列に続けて既知の複数の文字列を加えた複数の第3候補文字列に対応する複数の第3候補暗号化要求を生成する。
例えば、候補送信部130は、第2文字列又は第2文字列の候補に、アルファベット、平仮名、カタカナ、数字、及び/又は、漢字等から予め定められた文字数分の長さの文字を後続させて、複数の第3候補文字列を生成し、当該複数の第3候補文字列に対応する第3暗号化要求を複数生成する。候補送信部130は、第2候補暗号化要求の生成と同様の方法で第3候補暗号化要求を生成してよい。
一例として、候補送信部130は、図13に示すように、第1文字列の候補(「TA」及び「TR」)のそれぞれにA〜Zの26種類のアルファベット1文字を追加して26×2=52個の第3候補文字列(「TAA」〜「TAZ」、及び、「TRA〜TRZ」)を生成し、第3候補文字列に対応する52個の第3候補暗号化要求を生成する。
次に、候補送信部130は、複数の第3候補文字列に対応する複数の第3候補暗号化要求をサーバ20へと送信してよい。サーバ20は、第2候補暗号化要求と同様に第3候補暗号化要求を処理し、第3候補文字列に対して検索語の候補を抽出して、当該検索語の候補を含む第3候補暗号化応答を特定装置30に送信する。
3回目のS130の処理において、候補取得部120は、サーバ20が返信した複数の第3候補暗号化応答のそれぞれのデータサイズを取得する。例えば、図示するように候補受信部140は、サーバ20から52個の第3候補暗号化応答及びそのデータサイズ(例えば、第3候補文字列「TAA」に対して3.1kB、「TAB」に対して3.2kB、…「TRA」に対して4.4kB…、「TRL」に対して2.0kB…)を取得してよい。
3回目のS140の処理において、特定部160は、第3暗号化応答のデータサイズ、および複数の第3候補暗号化応答のデータサイズを比較した結果に基づいて、第3候補文字列の中から検索語における入力済の第3文字列の候補を抽出する。
例えば、S110において、対象取得部110が、図12に示すようにデータサイズ2.0kBの第3暗号化応答を受信していた場合、特定部160は、図示するようにS120において候補送信部130が送信した複数の第3候補文字列(「TAA」〜「TAZ」、及び、「TRA〜TRZ」)の中から、第3暗号化応答のデータサイズ(2.0kB)と一致する第3文字列の候補として「TRL」を抽出する。
第3文字列の候補が1つに絞られたことに応じて、S150において、特定部160は特定対象の第3暗号化要求に含まれる検索語の第3文字列を「TRL」と特定し、この結果に基づいて、クライアント10がサーバ20に送信しようとする第1〜3暗号化要求に係る検索語を「TRL」であると特定する。
なお、本例では、候補送信部130は、第n暗号化要求の直前の第i暗号化要求(iは、0<i<nとなる整数)が既に特定されていない場合に、第i暗号化要求の候補となる第i文字列の候補に別の文字列を追加して候補暗号化要求を生成する場合を説明したが、第n暗号化要求の直前の第i暗号化要求(iは、0<i<nとなる整数)が既に特定されている場合、候補送信部130は、特定済みの第i暗号化要求を含む複数の候補要求内容のそれぞれに対応する第n暗号化要求をサーバに送信してよい。
このように特定装置30は、サーバ20がクライアント10に返信した検索語の候補を含む暗号化応答のデータサイズを取得することにより、クライアント10がサーバ20に要求した検索語及びその一部の文字列を特定することができる。
特定装置30は、特定した文字列の内容に応じて更なる処理を実行してよい。例えば、特定装置30は、特定した文字列が予め定められた不適切なキーワードを含むか否かを判断してよい。特定装置30は、特定した文字列が不適切なキーワードを含む場合は、クライアント10に対して警告を送信する、クライアント10が送信する暗号化要求に係る文字列のログを生成する、及び/又は、クライアント10のサーバ20に対するアクセスを禁止してよい。
図14は、クライアント10、サーバ20、及び/又は、特定装置30として機能するコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部を備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。
グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、有線又は無線によりネットワークを介して他の装置と通信する。
また、通信インターフェイスは、クライアント10、サーバ20、及び/又は、特定装置30における通信を行うハードウェアとして機能する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。
フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にインストールされ、コンピュータ1900を特定装置30として機能させるプログラムは、対象取得モジュール、候補取得モジュール、候補受信モジュール、候補送信モジュール、及び、特定モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、対象取得部110、候補取得部120、候補送信部130、候補受信部140、及び特定部160としてそれぞれ機能させてよい。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である対象取得部110、候補取得部120、候補送信部130、候補受信部140、及び特定部160として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の特定装置30が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。
通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。
このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。
そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
1 特定システム、10 クライアント、20 サーバ、30 特定装置、110 対象取得部、120 候補取得部、130 候補送信部、140 候補受信部、160 特定部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 CD−ROMドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 CD−ROM

Claims (14)

  1. サーバに対する暗号化要求による要求内容を特定する特定装置であって、
    前記サーバに対する特定対象の暗号化要求に対して前記サーバから返信された暗号化応答のデータサイズを取得する対象取得部と、
    特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する候補取得部と、
    特定対象の暗号化要求に対する暗号化応答のデータサイズ、および複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補要求内容の中から特定対象の暗号化要求による要求内容を特定する特定部と、
    を備える特定装置。
  2. 前記サーバに対する要求処理において、クライアントは、特定対象となる複数の暗号化要求を前記サーバへと送信して複数の暗号化応答の返信を受け、
    前記特定部は、特定対象の複数の暗号化要求のそれぞれの要求内容を特定した結果に基づいて要求処理の内容を特定する
    請求項1に記載の特定装置。
  3. 前記クライアントは、前記サーバに対する要求処理において特定対象となる第1暗号化要求および第2暗号化要求をサーバへと送信して第1暗号化応答および第2暗号化応答の返信を受け、
    前記候補取得部は、特定対象となる第1暗号化要求による第1要求内容の特定後に、特定済みの第1暗号化要求を含む複数の候補要求内容のそれぞれに対応する暗号化要求をサーバに送信したことに応じて前記サーバが返信する複数の候補暗号化応答のそれぞれのデータサイズを取得し、
    前記特定部は、特定対象の第2暗号化応答のデータサイズ、および特定済みの第1暗号化要求を含む複数の候補要求内容を送信したことに応じて返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、特定対象となる第2暗号化要求による第1要求内容及び第2要求内容を特定する
    請求項2に記載の特定装置。
  4. 前記特定部は、
    特定対象となる第1暗号化要求に対する第1暗号化応答のデータサイズに基づいて、当該第1暗号化要求による第1要求内容の候補を絞り込み、
    特定対象となる第2暗号化要求に対する第2暗号化応答のデータサイズに基づいて、当該第2暗号化要求による第2要求内容の候補を絞り込み、
    絞り込んだ第1要求内容の候補および第2要求内容の候補の組合せの中から、組合せ可能である第1要求内容および第2要求内容の組を選択する
    請求項2に記載の特定装置。
  5. 前記対象取得部は、特定対象の暗号化要求に対する前記サーバからの暗号化応答の応答時間を更に取得し、
    前記候補取得部は、既知の複数の候補要求内容に対応する複数の候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信した複数の候補暗号化応答のそれぞれの応答時間を更に取得し、
    前記特定部は、特定対象の暗号化要求に対する暗号化応答の応答時間、および複数の候補暗号化応答のそれぞれの応答時間に更に基づいて、特定対象の暗号化要求による要求内容を特定する
    請求項1から4のいずれか一項に記載の特定装置。
  6. 前記サーバは、位置情報を含む要求内容に対応する暗号化要求を受けて、当該位置情報により指定された位置の地図データを含む暗号化応答を返信する地図サーバであり、
    前記候補取得部は、既知の複数の候補位置情報に対応する複数の候補暗号化要求に応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得し、
    前記特定部は、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および既知の複数の候補位置情報に対して返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、既知の複数の候補位置情報の中から特定対象の暗号化要求に含まれる位置情報を特定する
    請求項1から5のいずれか一項に記載の特定装置。
  7. 前記特定部は、
    特定対象となる第1暗号化要求に対する第1暗号化応答のデータサイズに基づいて、当該第1暗号化要求による第1位置情報の候補を絞り込み、
    特定対象となる第2暗号化要求に対する第2暗号化応答のデータサイズに基づいて、当該第2暗号化要求による第2位置情報の候補を絞り込み、
    前記第1暗号化要求による位置情報の候補および前記第2暗号化要求による位置情報の候補の中から、互いに予め定められた移動可能距離の範囲内に位置する第1位置情報および第2位置情報を選択する
    請求項6に記載の特定装置。
  8. 前記候補取得部は、既知の複数の候補位置情報および複数の候補縮尺情報に対応する複数の候補暗号化要求に応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する請求項6または7に記載の特定装置。
  9. 前記サーバは、検索語を含む要求内容に対応する暗号化要求を受けて、当該検索語の少なくとも一部を含む暗号化応答を返信する検索サーバであり、
    前記候補取得部は、既知の複数の候補検索語に対応する複数の候補暗号化要求に応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得し、
    前記特定部は、特定対象の暗号化要求に対する暗号化応答のデータサイズ、および既知の複数の候補検索語に対して返信された複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、既知の複数の候補検索語の中から特定対象の暗号化要求に含まれる検索語を特定する
    請求項1から5のいずれか一項に記載の特定装置。
  10. 前記サーバに対する検索要求処理において、クライアントは、検索語の文字列の一部ずつが入力される度に、入力済の部分文字列を含む特定対象の暗号化要求を前記サーバへと送信して、当該部分文字列を含む検索語の候補となる候補文字列を含む候補暗号化応答の返信を受け、
    前記特定部は、特定対象の暗号化要求に含まれる検索語の文字列を特定した結果に基づいて検索語を特定する
    請求項9に記載の特定装置。
  11. 前記対象取得部は、検索語における予め定められた文字数分の第1文字列が入力されたことに応じて送信される特定対象の第1暗号化要求に対して前記サーバから返信された第1暗号化応答のデータサイズと、検索語の続きの少なくとも一部が入力されたことに応じて送信される特定対象の第2暗号化要求に対して前記サーバから返信された第2暗号化応答のデータサイズとを取得し、
    前記候補取得部は、前記文字数分の長さの既知の複数の第1候補文字列に対応する複数の第1候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信する複数の第1候補暗号化応答のそれぞれのデータサイズを取得し、
    前記特定部は、前記第1暗号化応答のデータサイズ、および前記複数の第1候補暗号化応答のデータサイズを比較した結果に基づいて、前記第1文字列を特定し、
    前記候補取得部は、前記第1文字列に続けて既知の複数の文字列を加えた複数の第2候補文字列に対応する複数の第2候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信する複数の第2候補暗号化応答のそれぞれのデータサイズを更に取得し、
    前記特定部は、前記第2暗号化応答のデータサイズ、および前記複数の第2候補暗号化応答のデータサイズを比較した結果に基づいて、前記検索語における入力済の文字列を特定する
    請求項10に記載の特定装置。
  12. 前記候補取得部は、
    特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求を前記サーバへと送信する候補送信部と、
    前記サーバが返信した複数の候補暗号化応答を受信する候補受信部と、
    を有する
    請求項1から11のいずれか一項に記載の特定装置。
  13. サーバに対する暗号化要求による要求内容を特定する特定方法であって、
    前記サーバに対する特定対象の暗号化要求に対して前記サーバから返信された暗号化応答のデータサイズを取得する対象取得段階と、
    特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する候補取得段階と、
    特定対象の暗号化要求に対する暗号化応答のデータサイズ、および複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補要求内容の中から特定対象の暗号化要求による要求内容を特定する特定段階と、
    を備える特定方法。
  14. コンピュータを、サーバに対する暗号化要求による要求内容を特定する特定装置として機能させるプログラムであって、
    当該プログラムは、前記コンピュータを、
    前記サーバに対する特定対象の暗号化要求に対して前記サーバから返信された暗号化応答のデータサイズを取得する対象取得部と、
    特定の候補となる既知の複数の候補要求内容に対応する複数の候補暗号化要求を前記サーバへと送信したことに応じて前記サーバが返信した複数の候補暗号化応答のそれぞれのデータサイズを取得する候補取得部と、
    特定対象の暗号化要求に対する暗号化応答のデータサイズ、および複数の候補暗号化応答のそれぞれのデータサイズを比較した結果に基づいて、複数の候補要求内容の中から特定対象の暗号化要求による要求内容を特定する特定部と、
    として機能させるプログラム。
JP2013160560A 2013-08-01 2013-08-01 特定装置、特定方法、及び、プログラム Pending JP2015032958A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013160560A JP2015032958A (ja) 2013-08-01 2013-08-01 特定装置、特定方法、及び、プログラム
US14/446,710 US9413728B2 (en) 2013-08-01 2014-07-30 Identifying content from an encrypted communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013160560A JP2015032958A (ja) 2013-08-01 2013-08-01 特定装置、特定方法、及び、プログラム

Publications (1)

Publication Number Publication Date
JP2015032958A true JP2015032958A (ja) 2015-02-16

Family

ID=52428781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013160560A Pending JP2015032958A (ja) 2013-08-01 2013-08-01 特定装置、特定方法、及び、プログラム

Country Status (2)

Country Link
US (1) US9413728B2 (ja)
JP (1) JP2015032958A (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707454B1 (en) 2012-07-16 2014-04-22 Wickr Inc. Multi party messaging
US9866591B1 (en) 2013-06-25 2018-01-09 Wickr Inc. Enterprise messaging platform
US9830089B1 (en) 2013-06-25 2017-11-28 Wickr Inc. Digital data sanitization
US10129260B1 (en) 2013-06-25 2018-11-13 Wickr Inc. Mutual privacy management
US10567349B2 (en) 2013-06-25 2020-02-18 Wickr Inc. Secure time-to-live
US9698976B1 (en) 2014-02-24 2017-07-04 Wickr Inc. Key management and dynamic perfect forward secrecy
CN104869103B (zh) * 2014-02-24 2018-05-18 华为终端(东莞)有限公司 查找多媒体文件的方法、终端设备和服务器
US9584530B1 (en) 2014-06-27 2017-02-28 Wickr Inc. In-band identity verification and man-in-the-middle defense
US9654288B1 (en) 2014-12-11 2017-05-16 Wickr Inc. Securing group communications
CN107533813B (zh) * 2015-05-14 2021-02-19 日本电信电话株式会社 数据库系统、数据库处理方法
US9590956B1 (en) 2015-12-18 2017-03-07 Wickr Inc. Decentralized authoritative messaging
US10291607B1 (en) 2016-02-02 2019-05-14 Wickr Inc. Providing real-time events to applications
US9596079B1 (en) 2016-04-14 2017-03-14 Wickr Inc. Secure telecommunications
US9590958B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure file transfer
US10419931B1 (en) * 2016-08-25 2019-09-17 EMC IP Holding Company LLC Security for network computing environment using centralized security system
US11330003B1 (en) 2017-11-14 2022-05-10 Amazon Technologies, Inc. Enterprise messaging platform
KR102348078B1 (ko) 2018-01-12 2022-01-10 삼성전자주식회사 사용자 단말 장치, 전자 장치, 이를 포함하는 시스템 및 제어 방법
US11316851B2 (en) 2019-06-19 2022-04-26 EMC IP Holding Company LLC Security for network environment using trust scoring based on power consumption of devices within network
US11941155B2 (en) 2021-03-15 2024-03-26 EMC IP Holding Company LLC Secure data management in a network computing environment

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060280437A1 (en) * 1999-01-27 2006-12-14 Gotuit Media Corp Methods and apparatus for vending and delivering the content of disk recordings
CZ296738B6 (cs) 1997-02-07 2006-06-14 Salbu Research And Development (Proprietary) Limited Zpusob provozování síte, sít k provádení tohoto zpusobu a úcastnická stanice
US6065046A (en) * 1997-07-29 2000-05-16 Catharon Productions, Inc. Computerized system and associated method of optimally controlled storage and transfer of computer programs on a computer network
JP4462852B2 (ja) * 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
JP5128051B2 (ja) 2005-04-20 2013-01-23 シャープ株式会社 携帯端末、災害対策報知システム、サーバ、災害対策報知方法、制御プログラム、および記録媒体
JP2009200614A (ja) 2008-02-19 2009-09-03 Fujitsu Ltd 移動体装置、その移動位置通知システム及びその移動位置通知方法
US8983275B2 (en) * 2011-02-23 2015-03-17 Cox Communications, Inc. Systems, methods, and apparatus for recording time delayed broadband content
US8484687B2 (en) * 2011-04-18 2013-07-09 Ericsson Television Inc. System and method providing remote video-on-demand (VOD)
US9930037B2 (en) * 2012-05-22 2018-03-27 Verizon Patent And Licensing Inc. Encrypting a unique identification header to create different transactional identifiers
US8432808B1 (en) * 2012-06-15 2013-04-30 Viasat Inc. Opportunistically delayed delivery in a satellite network
EP2992692B1 (en) * 2013-05-04 2018-08-29 DECHARMS, Christopher Mobile security technology
US8955060B2 (en) * 2013-05-10 2015-02-10 Verizon Patent And Licensing Inc. Collaborative parental control of streaming media

Also Published As

Publication number Publication date
US9413728B2 (en) 2016-08-09
US20150039882A1 (en) 2015-02-05

Similar Documents

Publication Publication Date Title
JP2015032958A (ja) 特定装置、特定方法、及び、プログラム
US10210243B2 (en) Method and system for enhanced query term suggestion
EP3674928A1 (en) Full-text fuzzy retrieval method for similar chinese characters in ciphertext domain
JP5735539B2 (ja) ネットワークを介して送信されるデータの暗号化および復号化システム、装置、および方法
US20180300058A1 (en) Supplementing a virtual input keyboard
US8510846B1 (en) Data encryption and isolation
CN106919634B (zh) 跨应用共享数据的方法及网页浏览器
EP2960808A1 (en) Server device, private search program, recording medium, and private search system
US9397986B2 (en) Authenticating acceptance of a string using an automaton
US9116991B2 (en) Searching encrypted electronic books
US10154041B2 (en) Website access control
WO2022156588A1 (zh) 一种数据管理的方法、设备及系统
CN116881739B (zh) 一种面向空间关键字相似性的密文安全检索方法
CN116719907A (zh) 数据处理方法、装置、设备以及存储介质
CN110945506B (zh) 支持混合索引的可搜索加密
US11461551B1 (en) Secure word search
CN114417193A (zh) 搜索和检索使用键控数据库维持的键控数据
CN116541423A (zh) 数据检索方法、装置、电子设备及存储介质
US20160147902A1 (en) Data provision device, data provision method, and data provision program
US10277585B2 (en) Server device, information management system, information management method, and computer program
CN110795604A (zh) 生成交易流水号的方法、装置、计算设备和介质
JP6644637B2 (ja) 高速化装置、計算機システム及びデータ処理方法
US20240256695A1 (en) Secret search system, secret search method, and non-transitory computer readable medium
JP2020181332A (ja) 高精度類似画像検索方法、プログラム及び高精度類似画像検索装置
JP7231024B2 (ja) 情報処理プログラム、情報処理方法、および情報処理装置