(57)【要約】【課題】データを暗号化してアプリケーションサーバに格納する技術において、データの項目等に応じて暗号化の要否等を決定し、暗号化処理を行うとともに、暗号化処理がなされたデータを復号する。【解決手段】暗号制御装置において、アプリケーションサーバに対する要求メッセージの中に所定の条件を満たすデータが存在する場合に、当該データを暗号化して暗号データとし、当該暗号データと当該暗号データの存在を示す暗号データ存在識別情報とを含む暗号データ存在識別情報付きデータを格納した要求メッセージを前記アプリケーションサーバに送信する手段と、前記アプリケーションサーバから、前記暗号データ存在識別情報付きデータを含む応答メッセージを受信した場合に、前記暗号データ存在識別情報に基づき暗号データを抽出し、当該暗号データを復号することによりデータを取得する手段とを備える。【選択図】図４
2015090993.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションサーバと通信ネットワークを介して接続する機能を備える暗号制御装置であって、
前記アプリケーションサーバに対する要求メッセージの中に所定の条件を満たすデータが存在する場合に、当該データを暗号化して暗号データとし、当該暗号データと当該暗号データの存在を示す暗号データ存在識別情報とを含む暗号データ存在識別情報付きデータを格納した要求メッセージを前記アプリケーションサーバに送信する要求メッセージ処理手段と、
前記アプリケーションサーバから、前記暗号データ存在識別情報付きデータを含む応答メッセージを受信した場合に、前記暗号データ存在識別情報に基づき暗号データを抽出し、当該暗号データを復号することによりデータを取得する応答メッセージ処理手段と
を備えることを特徴とする暗号制御装置。
【請求項２】
前記暗号制御装置は、通信ネットワークを介して利用者端末と接続する機能を備え、
前記要求メッセージ処理手段は、前記要求メッセージを前記利用者端末から受信し、前記応答メッセージ処理手段は、前記暗号データを復号して取得したデータを格納した応答メッセージを前記利用者端末に送信する
ことを特徴とする請求項１に記載の暗号制御装置。
【請求項３】
暗号化の対象とされるデータが満たすべき前記所定の条件は、当該データの属性が所定の属性であることであり、
前記要求メッセージ処理手段は、前記所定の属性に対応する暗号化動作により前記データを暗号化するとともに、当該暗号化動作を識別する暗号化識別情報を前記暗号データに付与し、
前記応答メッセージ処理手段は、前記暗号データ所在識別情報付きデータから暗号化識別情報付きの暗号データを抽出し、当該暗号化識別情報に対応する復号動作により前記暗号データを復号する
ことを特徴とする請求項１又は２に記載の暗号制御装置。
【請求項４】
アプリケーションサーバと通信ネットワークを介して接続する機能を備える暗号制御装置が実行する暗号制御方法であって、
前記アプリケーションサーバに対する要求メッセージの中に所定の条件を満たすデータが存在する場合に、当該データを暗号化して暗号データとし、当該暗号データと当該暗号データの存在を示す暗号データ存在識別情報とを含む暗号データ存在識別情報付きデータを格納した要求メッセージを前記アプリケーションサーバに送信する要求メッセージ処理ステップと、
前記アプリケーションサーバから、前記暗号データ存在識別情報付きデータを含む応答メッセージを受信した場合に、前記暗号データ存在識別情報に基づき暗号データを抽出し、当該暗号データを復号することによりデータを取得する応答メッセージ処理ステップと
を備えることを特徴とする暗号制御方法。
【請求項５】
コンピュータを、請求項１ないし３のうちいずれか１項に記載の暗号制御装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化したデータをアプリケーションサーバに格納する技術に関連するものである。
【背景技術】
【０００２】
インターネット上のアプリケーションサーバから顧客データ管理アプリケーション等の各種アプリケーションサービスが提供されている。このようなサービスでは、サービス利用者（主に企業）が自身でサーバ構築、アプリケーションのインストール等をすることなく、すぐにサービスを受けられる利点がある。
【０００３】
但し、これらサービスは、サービス利用者以外の第三者（サービス提供者）により提供されるため、サービス利用者がサーバに格納する顧客データ等を自ら管理できない。そのため、サービス利用者は、サービス提供者による情報漏えいを防ぐことができないという問題がある。この問題に対応する技術として、暗号化したデータをサービス提供者のサーバに格納する技術が開示されている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２５３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したようなアプリケーションサービスでは、様々な項目のデータがアプリケーションサーバに格納される。様々な項目のデータの中には外部に漏洩させてはいけない重要なものがある一方、それほど重要でないものもある。このような様々な項目のデータについて、一律に同じ方式で暗号化を行うことは、処理の効率上好ましくない。データの項目の種類に応じて暗号化の要否や暗号化の方式を決定することが望ましいが、従来技術ではこのような処理を行うことはできなかった。
【０００６】
本発明は上記の点に鑑みてなされたものであり、データを暗号化してアプリケーションサーバに格納する技術において、データの項目等に応じて暗号化の要否や方式を決定し、決定に応じた暗号化処理を行うとともに、暗号化処理がなされたデータを復号することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態によれば、アプリケーションサーバと通信ネットワークを介して接続する機能を備える暗号制御装置であって、
前記アプリケーションサーバに対する要求メッセージの中に所定の条件を満たすデータが存在する場合に、当該データを暗号化して暗号データとし、当該暗号データと当該暗号データの存在を示す暗号データ存在識別情報とを含む暗号データ存在識別情報付きデータを格納した要求メッセージを前記アプリケーションサーバに送信する要求メッセージ処理手段と、
前記アプリケーションサーバから、前記暗号データ存在識別情報付きデータを含む応答メッセージを受信した場合に、前記暗号データ存在識別情報に基づき暗号データを抽出し、当該暗号データを復号することによりデータを取得する応答メッセージ処理手段とを備える暗号制御装置が提供される。
【０００８】
また、本発明の一実施形態によれば、アプリケーションサーバと通信ネットワークを介して接続する機能を備える暗号制御装置が実行する暗号制御方法であって、
前記アプリケーションサーバに対する要求メッセージの中に所定の条件を満たすデータが存在する場合に、当該データを暗号化して暗号データとし、当該暗号データと当該暗号データの存在を示す暗号データ存在識別情報とを含む暗号データ存在識別情報付きデータを格納した要求メッセージを前記アプリケーションサーバに送信する要求メッセージ処理ステップと、
前記アプリケーションサーバから、前記暗号データ存在識別情報付きデータを含む応答メッセージを受信した場合に、前記暗号データ存在識別情報に基づき暗号データを抽出し、当該暗号データを復号することによりデータを取得する応答メッセージ処理ステップとを備える暗号制御方法が提供される。
【発明の効果】
【０００９】
本発明の一実施形態によれば、データを暗号化してアプリケーションサーバに格納する技術において、データの項目等に応じて暗号化の要否等を決定し、決定に応じた暗号化処理を行うとともに、暗号化処理がなされたデータを復号することを可能とする技術が提供される。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係るシステムの全体構成図である。
【図２】アプリケーションサーバ３０の機能構成図である。
【図３】データ格納部３２に格納されるテーブルデータの一例を示す図である。
【図４】中継装置２０の機能構成図である。
【図５】動作条件情報の項目例を示す図である。
【図６】動作条件テーブルの例を示す図である。
【図７】暗号化動作種別テーブルの例を示す図である。
【図８】データ登録時の動作例を説明するためのシーケンス図である。
【図９】平文データが暗号化され、暗号データに識別子、接頭子、接尾子が付与された例を示す図である。
【図１０】データ検索時の動作例を説明するためのシーケンス図である。
【図１１】検索クエリーデータに基づく検索を行うために暗号データ等をＯＲで連結することを示す図である。
【図１２】ＯＲでの連結を行わずに検索を行う場合の動作例を示すシーケンス図である。
【図１３】暗号鍵の更新の例を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態では、利用者端末１０とアプリケーションサーバ３０間でＨＴＴＰによりテキストデータ（ＨＴＭＬ文書等）を送受信することを想定しているが、プロトコルはＨＴＴＰに限られるわけではない。
【００１２】
（システムの構成）
図１に、本発明の実施の形態に係るシステムの全体構成図を示す。図１に示すように、本実施の形態のシステムは、利用者端末１０、中継装置２０、及びアプリケーションサーバ３０が、通信ネットワーク４０で接続された構成を有する。図１には、利用者端末１０、中継装置２０、及びアプリケーションサーバ３０がそれぞれ１つづつ示されているが、これは説明の便宜上のものであり、それぞれが複数であってもよい。
【００１３】
本実施の形態における通信ネットワーク４０は例えばインターネットであるが、本発明はどのような通信ネットワークにおいても適用可能である。利用者端末１０は例えばＷｅｂブラウザを備えたＰＣ（パーソナルコンピュータ）やスマートフォン等である。
【００１４】
中継装置２０は、本発明に係る暗号制御装置の一実施形態に係る装置であり、詳細動作は後述するが、概して、利用者端末１０から受信した要求メッセージに含まれるデータを所定の条件に基づき暗号化して、当該要求メッセージをアプリケーションサーバ３０に送信し、アプリケーションサーバ３０から受信した応答メッセージに含まれる暗号化されたデータを復号し、当該応答メッセージを利用者端末１０に送信する動作を行う。
【００１５】
アプリケーションサーバ３０は、いわゆるクラウドサービスを提供するサーバである。図２に、アプリケーションサーバ３０の機能構成例を示す。図２に示すように、アプリケーションサーバ３０は、サービス提供部３１、及びデータ格納部３２を含む。
【００１６】
サービス提供部３１は、顧客データ管理サービス等のアプリケーションサービスを提供する機能部である。顧客データ管理サービスの場合、サービス提供部３１は、例えば利用者端末１０から顧客データを受信し、顧客データを所定の形式でデータ格納部３２に格納（登録）する。また、サービス提供部３１は、例えば利用者端末１０から検索クエリーデータとともに検索要求を受信した場合には、当該検索クエリーデータに該当するデータを検索して利用者端末１０に提供する。本実施の形態では、サービス提供部３１は、このようにデータの登録、検索等を行う機能部である。
【００１７】
図３に、アプリケーションサーバ３０のデータ格納部３２に格納されるテーブルデータの一例を示す。図３に示す例では、データ格納部３２には、項目（氏名、住所、等）毎に、その項目に該当するデータがテーブルとして格納される。
【００１８】
図４に、中継装置２０の機能構成図を示す。図４に示すように、中継装置２０は、要求メッセージ処理部２１、応答メッセージ処理部２２、動作条件情報格納部２３を有する。要求メッセージ処理部２１は、利用者端末１０から受信した要求メッセージを解析し、要求メッセージから動作条件情報に基づく判断に必要な情報を抽出し、当該情報と動作条件情報とを比較することで、暗号化動作を決定し、決定に基づいてデータ暗号化等を行って、要求メッセージをアプリケーションサーバ３０に転送する。
【００１９】
応答メッセージ処理部２２は、アプリケーションサーバ３０から受信した応答メッセージから、後述する接頭子／接尾子に基づいて暗号データを探し、暗号データがある場合は後述する識別子に基づいて当該暗号データを復号して応答メッセージを利用者端末１０に転送する。
【００２０】
動作条件情報格納部２３は動作条件情報を格納するとともに、暗号鍵等の暗号復号処理に必要なデータも格納している。本実施の形態における動作条件情報は、図５に示す項目に対応するデータからなる。なお、動作条件情報格納部２３は、中継装置２０の外部の装置（中継装置２０にネットワーク接続されたデータベース装置等）に備えてもよい。
【００２１】
組織ＩＤは、アプリケーションサーバ３０にログインする個人が所属する組織を示すＩＤである。本実施の形態では、会社等の組織単位でデータ格納部の管理単位が定められ、同一組織内の複数のユーザが同一の動作条件情報を共有する。
【００２２】
例えば、動作条件情報格納部２３には、組織ＩＤ毎に、図５において番号２、３、４で示す項目のデータからなるテーブル（動作条件テーブルと呼ぶ）が格納される。要求メッセージ処理部２１／応答メッセージ処理部２２は、要求／応答メッセージに基づき識別される組織ＩＤに対応する動作条件テーブルのデータに基づいて動作を行う。なお、組織ＩＤはユーザＩＤによるログイン後のサービス利用時における要求／応答メッセージに含まれるセッションＩＤ等から識別できるものとする。動作条件テーブルの例を図６に示す。
【００２３】
暗号化対象ＵＲＬは、暗号動作を有効とするＵＲＬである。例えば、ＵＲＬはアプリケーションサーバ３０が提供するサービスのデータ登録画面等の画面単位の要素に対応する。ＵＲＬは要求メッセージに含まれており、要求メッセージ処理部２１は要求メッセージから要求先のＵＲＬを抽出し、当該ＵＲＬが動作条件テーブルに暗号化対象ＵＲＬとして設定されている場合に、暗号化のための動作を行う。当該ＵＲＬが動作条件テーブルに暗号化対象ＵＲＬとして設定されていなければ、要求メッセージ処理部２１は要求メッセージをそのままアプリケーションサーバ３０に転送する。
【００２４】
また、応答メッセージ処理部２１は、応答メッセージが、暗号化対象ＵＲＬに該当するＵＲＬに向けた要求メッセージに対する応答メッセージである場合に復号動作を行い、そうでない場合に復号動作を行わずに応答メッセージをそのまま転送する、という制御を行ってもよいし、ユーザＩＤでのログイン後のセッションにおけるアプリケーションサーバ３０からの全ての応答メッセージに対して復号動作を行うこととしてもよい。
【００２５】
暗号化対象項目は、暗号化の対象とするデータの項目である。この「項目」とは、例えば図３に示した項目Ａ、項目Ｂ、...等の項目に相当する。本実施の形態では、ＨＴＭＬのフォームにおけるInput要素のname属性によって暗号化対象を指定している。例えば「氏名」が暗号化対象項目として動作条件テーブルに設定されている場合、要求メッセージ処理部２１は、要求メッセージからname属性として「氏名」を探し、name属性として「氏名」がある場合に、「氏名」に対応する入力データを暗号化対象と判定する。name属性によって暗号化対象を指定することは一例に過ぎない。他の属性、あるいは、データ自体の内容に基づいて暗号化対象を指定することとしてもよい。なお、データ自体の内容は、データの属性の一例である。
【００２６】
図６に示すように、暗号化対象項目毎に暗号化動作種別が設定されている。要求メッセージ処理部２１は、暗号化対象項目に該当するデータに対し、対応する暗号化動作種別で指定される暗号化動作によりデータを暗号化する。また、暗号化動作種別には識別子が設定されており、識別子毎に暗号化動作種別が定義されている。要求メッセージ処理部２１は、暗号化時に暗号データに当該識別子を付加する。また、応答メッセージ処理部２２は、暗号データに付加されている識別子に対応する種別の動作（使用する暗号鍵等）で復号を行う。
【００２７】
本実施の形態では、図７に示すような暗号化動作種別テーブルが組織ＩＤ毎に動作条件情報格納部２３に格納される。図７の暗号化動作種別テーブルに示すように、暗号化動作種別として、識別子毎に方式、暗号鍵、マップが設定されている。
【００２８】
「方式」は、使用する暗号アルゴリズム及びデータ形式（通常暗号、検索可能、ソート可能、メールアドレス等…）である。「暗号鍵」は、暗号復号に利用する鍵データである。「マップ」は、暗号復号に利用するマップデータ(暗号文に使用される文字列セット)である。
【００２９】
本実施の形態に係る中継装置２０は、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、中継装置２０が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ、ハードディスクなどのハードウェア資源を用いて、中継装置２０で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【００３０】
なお、本実施の形態では、本発明に係る暗号制御装置の例として、プロキシサーバに相当する中継装置２０を用いているが、暗号制御装置の機能を、利用者端末内のソフトウェアで実現することも可能である。
【００３１】
（システムの動作例）
以下、本実施の形態に係るシステムの動作例を説明する。
【００３２】
＜データ登録時の動作例＞
図８のシーケンス図を参照して、利用者端末１０からアプリケーションサーバ３０に対してデータを登録する際の動作例を説明する。本例では、既に利用者端末１０からアプリケーションサーバ３０へのログインが済んでいるものとする。また、アプリケーションサーバ３０は、データ登録時に、登録されたデータを表示する画面を利用者端末１０に向けて提供する動作を行うものとする。
【００３３】
利用者端末１０には、アプリケーションサーバ３０から提供された入力画面が表示されており、利用者が登録を希望する項目の欄にデータを入力する（ステップ１０１）。利用者が画面上の送信ボタンを押す等の操作を行うことで、入力されたデータ、及び当該データの属性としての項目名（例：氏名）を含む要求メッセージが送出される（ステップ１０２）。
【００３４】
中継装置２０の要求メッセージ処理部２１は要求メッセージを受信して、暗号化処理を行う（ステップ１０３）。
【００３５】
ステップ１０３の暗号化処理では、要求メッセージ処理部２１は、要求メッセージに該当する組織ＩＤに対応する動作条件テーブルを参照し、要求メッセージに含まれるＵＲＬが暗号化対象ＵＲＬであるかどうかを判定する。本例では、要求メッセージに含まれるＵＲＬが暗号化対象ＵＲＬであるとし、次に、要求メッセージ処理部２１は、動作条件テーブルに設定された暗号化対象項目（属性）に該当するデータが要求メッセージに含まれるかどうかを判定する。
【００３６】
本例では、当該データが存在するため、要求メッセージ処理部２１は、当該データに対して、暗号化対象項目に対応して定義された暗号化動作種別に基づく暗号化処理を行うとともに、暗号データに対して識別子を付与し、更に、この「識別子＋暗号データ」に対して接頭子と接尾子を付与する。
【００３７】
図９に、平文データが暗号化され、暗号データに識別子、接頭子、接尾子が付与された例を示す。図９に示すように、平文データ（ａ）に上述した暗号化処理が施され、（ｂ）に示すように暗号データに識別子、接頭子、接尾子が付与される。（ｃ）は具体例を示す。
【００３８】
図８に戻り、中継装置２０の要求メッセージ処理部２１は、暗号化処理の結果のデータ「接頭子＋識別子＋暗号データ＋接尾子」を含む要求メッセージをアプリケーションサーバ３０に転送する（ステップ１０４）。
【００３９】
要求メッセージを受信したアプリケーションサーバ３０において、サービス提供部３１が、上記のデータ「接頭子＋識別子＋暗号データ＋接尾子」を、該当する項目に対応するデータとしてデータ格納部３２に格納（登録）する（ステップ１０５）。
【００４０】
アプリケーションサーバ３０のサービス提供部３１は、登録されたデータを利用者端末１０に表示させるために、登録されたデータである「接頭子＋識別子＋暗号データ＋接尾子」を含む応答メッセージを送出する（ステップ１０６）。
【００４１】
応答メッセージを受信した中継装置２０の応答メッセージ処理部２２は復号処理を行う（ステップ１０７）。
【００４２】
ステップ１０７の復号処理では、応答メッセージ処理部２２は、応答メッセージ内に、接頭子及び接尾子の組が存在するか否かをパターンマッチングにより判定する。本例では、接頭子及び接尾子の組が存在し、応答メッセージ処理部２２は、接頭子と接尾子の間にあるデータから識別子を取得する。そして、応答メッセージ処理部２２は、応答メッセージから識別される組織ＩＤに対応する暗号化動作種別テーブルを参照し、取得した識別子に対応する鍵データ等の復号処理内容を特定し、暗号データに対して当該識別子に対応する復号処理を行うことで、暗号データを復号する。
【００４３】
応答メッセージ処理部２２は、応答メッセージに含まれていた「接頭子＋識別子＋暗号データ＋接尾子」を、復号により得られたデータ（登録データ）に置き換え、当該置き換えを行った応答メッセージを利用者端末１０に転送する（ステップ１０８）。
【００４４】
利用者端末１０は、見かけ上は中継装置２０を介さない場合と同様に、アプリケーションサーバ３０から受信したデータを表示する（ステップ１０９）。
【００４５】
＜データ検索時の動作例＞
次に、利用者端末１０からアプリケーションサーバ３０に格納されたデータを検索する場合の動作例を説明する。この動作例では、アプリケーションサーバ３０のサービス提供部３１は、検索クエリーデータ（検索文字列）を含む検索要求メッセージを受信したときに、データ格納部３２に格納されたデータ（例：図３）において複数の項目にわたって横断的な検索を行い、例えば、検索クエリーデータに該当する項目のデータ及び当該データに対応付けられたデータを検索結果として要求元に返す機能を備える。
【００４６】
図１０のシーケンス図を参照してデータ検索時の動作例を説明する。
【００４７】
利用者端末１０には、アプリケーションサーバ３０から提供された検索欄を含む入力画面が表示されており、利用者が検索したい文字列（検索クエリーデータ）を検索欄に入力する（ステップ２０１）。利用者が画面上の検索ボタンを押す等の操作を行うことで、検索クエリーデータを含む検索要求メッセージが送出される（ステップ２０２）。
【００４８】
中継装置２０の要求メッセージ処理部２１は検索要求メッセージを受信して、検索クエリーデータに対する暗号化処理を行う（ステップ２０３）。
【００４９】
本動作例では、検索時に、アプリケーションサーバ３０において検索クエリーデータに該当するデータが暗号化されているかどうか不明であり、また、暗号化されている場合における暗号化種別も不明であることを前提とする。また、暗号データに対して、暗号化したままでの検索が可能であるとする。そこで、要求メッセージ処理部２１は、以下のような処理を実行する。
【００５０】
ステップ２０３の暗号化処理において、要求メッセージ処理部２１は、検索要求メッセージに該当する組織ＩＤに対応する暗号化種別動作テーブルを参照し、検索要求メッセージに含まれる検索クエリーデータを、暗号化種別動作テーブルで定義された各種別の暗号化動作で暗号化する。すなわち、図７に示す暗号化種別動作テーブルの例では、４種類の識別子に対応して、暗号データが４つ生成される。
【００５１】
そして、要求メッセージ処理部２１は、４つの暗号データと暗号化しない検索クエリーデータとをＯＲで連結する。連結されたデータの例を図１１に示す。図１１には、ＯＲで連結された各データの説明を括弧内に記載している。なお、暗号データのみを検索対象とする場合には、暗号化しない検索クエリーデータを連結する必要はない。
【００５２】
図１０に戻り、要求メッセージ処理部２１は、利用者端末１０から受信した検索要求メッセージにおける検索クエリーデータを、上記のようにしてＯＲで連結したデータに置き換え、置き換えを行った検索要求メッセージをアプリケーションサーバ３０に転送する（ステップ２０４）。
【００５３】
検索要求メッセージを受信したアプリケーションサーバ３０において、サービス提供部３１は、データ格納部３２に格納されている登録データの各項目に対し、ＯＲで連結された各データを検索クエリーデータとして検索を行う（ステップ２０５）。例えば、図３、図１１に示す例では、暗号データ（識別子三で暗号化）を検索クエリーデータとして用いて、項目A、項目Ｂ、項目Ｃ、...．のそれぞれに対して検索を行い、暗号データ（識別子四で暗号化）を検索クエリーデータとして用いて、項目A、項目Ｂ、項目Ｃ、...．のそれぞれに対して検索を行う、という処理をＯＲで連結された各データについて行う。
【００５４】
検索の後、アプリケーションサーバ３０から検索結果を含む応答メッセージが送信される（ステップ２０６）。本動作例では、検索により、暗号データを含む項目のデータが抽出されたものとする。検索結果には「接頭子＋識別子＋暗号データ＋接尾子」が含まれており、応答メッセージを受信した中継装置２０の応答メッセージ処理部２２は、図８のステップ１０７における処理と同様にして復号処理を行う（ステップ２０７）。
【００５５】
応答メッセージ処理部２２は、応答メッセージに含まれていた「接頭子＋識別子＋暗号データ＋接尾子」を、暗号データを復号したデータに置き換え、当該置き換えを行った応答メッセージを利用者端末１０に転送する（ステップ２０８）。利用者端末１０は検索結果を表示する（ステップ２０９）。
【００５６】
なお、ＯＲで連結するデータの数が多い場合、ＯＲで連結されたデータの全体の文字数が多くなり、アプリケーションサーバ３０に検索文字数の制限がある場合には、連結された全部のデータについての検索が行えないことが考えられる。
【００５７】
そのような場合にも対応できる処理を図１２のシーケンス図を参照して説明する。以下では、図１０を参照して説明した処理と異なる部分を中心に説明する。
【００５８】
この場合、要求メッセージ処理部２１は、ＯＲで連結した後の全体のデータの文字数が予め定めた数以上となるか否かを判定し、予め定めた数以上となる場合には、ＯＲでの連結を行わない。図１２は、このようにＯＲでの連結を行わない場合を示している。
【００５９】
検索クエリーデータが入力され（ステップ３０１）、中継装置２０の要求メッセージ処理部２１が、検索クエリーデータを含む検索要求メッセージを受信する（ステップ３０２）。
【００６０】
要求メッセージ処理部２１は、前述したステップ２０３で説明した場合と同様に、検索要求メッセージに含まれる検索クエリーデータを、暗号化種別動作テーブルで定義された各種別の暗号化動作で暗号化する。すなわち、図７に示す暗号化種別動作テーブルの例では、４種類の識別子に対応して、暗号データが４つ生成される。
【００６１】
図１２の動作例では、要求メッセージ処理部２１は、ＯＲでの連結を行わず、暗号データ毎に、暗号データを検索クエリーデータとして含む検索要求メッセージをアプリケーションサーバ３０に送信し、検索結果を受信する。
【００６２】
すなわち、図７に示す暗号化種別動作テーブルを用いる例では、要求メッセージ処理部２１はまず、検索クエリーデータとして識別子三に基づく暗号データ含む検索要求メッセージをアプリケーションサーバ３０に送信し、アプリケーションサーバ３０では、当該暗号データについて各項目に対する検索が行われ（ステップ３０５）、検索結果（"該当なし"の場合もある）を含む応答メッセージが中継装置２０に返される（ステップ３０６）。中継装置２０の応答メッセージ処理部２２は、検索結果を記憶手段（メモリ等）に保持しておく。このような処理を最後の暗号データ（図１２の例では、識別子六に基づく暗号データ）まで行う（〜ステップ３０９）。
【００６３】
最後の暗号データに基づく検索結果を含む応答メッセージを受信した中継装置２０の応答メッセージ処理部２２は、記憶手段に保持した検索結果に含まれる「接頭子＋識別子＋暗号データ＋接尾子」からなるデータについての復号処理を行う（ステップ３１０）。そして、応答メッセージ処理部２２は、復号された検索結果データを含む応答メッセージを利用者端末１０に送信する（ステップ３１１）。利用者端末１０は、検索結果の表示を行う（ステップ３１２）。
【００６４】
なお、上記の例では、１つ１つの暗号データに分けて検索を行うこととしているが、例えば、所定の文字数未満となるように、いくつかの暗号データをＯＲで連結したデータで検索を行うようにしてもよい。
【００６５】
また、上記の処理では、最後に復号処理を行うこととしているが、検索結果を受信する度に復号処理を行い、結果を保存し、最後の暗号データによる処理が完了したら、全部の検索結果を含む応答メッセージを利用者端末１０に送信することとしてもよい。
【００６６】
＜暗号鍵の更新について＞
中継装置２０に格納される暗号鍵は定期的に更新されることが一般的である。本実施の形態の中継装置２０では、このような更新があっても正常に暗号、復号処理を継続することが可能である。
【００６７】
例えば、ある時点で、図１３（ａ）に示すように、暗号化対象項目である項目Ａに対応する暗号化の識別子が六であり、その暗号鍵が鍵Ａであったとする。この時点では、図８で説明した登録処理において、利用者端末１０から送信された要求メッセージに含まれる項目Ａのデータは、識別子が六に対応する鍵Ａで暗号化され、「接頭子＋識別子（六）＋暗号データ＋接尾子」の形でアプリケーションサーバ３０に登録される。
【００６８】
その後、鍵Ａが鍵Ｂに更新されたものとする。この場合、識別子が六に対応する暗号化の情報は暗号化動作種別テーブルにそのまま残されるとともに、暗号化動作種別テーブルには、更新後の暗号化動作種別情報（識別子：七、方式：方式Ａ、鍵：鍵Ｂ、マップ：マップＡ）が追加される。動作条件テーブルにおいては、項目Ａに対応する暗号化の識別子が六から七に更新される。この場合の状態を図１３（ｂ）に示す。
【００６９】
更新の後に、利用者端末１０から送信された要求メッセージに含まれる項目Ａのデータは、識別子が七に対応する鍵Ｂで暗号化され、「接頭子＋識別子（七）＋暗号データ＋接尾子」の形でアプリケーションサーバ３０に登録される。
【００７０】
一方、鍵の更新の後でも、アプリケーションサーバ３０には、識別子が六の暗号化動作種別で暗号化されたデータが格納されていることが想定される。例えば利用者端末１０からの検索の結果、中継装置２０の応答メッセージ処理部２２が、「接頭子＋識別子（六）＋暗号データ＋接尾子」を含む応答メッセージをアプリケーションサーバ３０から受信した場合、応答メッセージ処理部２２は、接頭子と接尾子により「識別子（六）＋暗号データ」を抽出し、識別子（六）に基づき暗号化動作種別テーブルを検索することで、当該暗号データに対応する鍵Ａで正常に復号動作を行うことができる。また、中継装置２０の応答メッセージ処理部２２が、「接頭子＋識別子（七）＋暗号データ＋接尾子」を含む応答メッセージをアプリケーションサーバ３０から受信した場合も正常に復号できる。
【００７１】
（実施の形態のまとめ）
本実施の形態によれば、アプリケーションサーバと通信ネットワークを介して接続する機能を備える暗号制御装置であって、前記アプリケーションサーバに対する要求メッセージの中に所定の条件を満たすデータが存在する場合に、当該データを暗号化して暗号データとし、当該暗号データと当該暗号データの存在を示す暗号データ存在識別情報とを含む暗号データ存在識別情報付きデータを格納した要求メッセージを前記アプリケーションサーバに送信する要求メッセージ処理手段と、前記アプリケーションサーバから、前記暗号データ存在識別情報付きデータを含む応答メッセージを受信した場合に、前記暗号データ存在識別情報に基づき暗号データを抽出し、当該暗号データを復号することによりデータを取得する応答メッセージ処理手段とを備える暗号制御装置が提供される。
【００７２】
当該暗号制御装置は、利用者端末として実現することもできるし、中継装置として実現することもできる。
【００７３】
前記暗号制御装置を例えば中継装置として実現する場合、前記暗号制御装置は、通信ネットワークを介して利用者端末と接続する機能を備え、前記要求メッセージ処理手段は、前記要求メッセージを前記利用者端末から受信し、前記応答メッセージ処理手段は、前記暗号データを復号して取得したデータを格納した応答メッセージを前記利用者端末に送信する。
【００７４】
暗号化の対象とされるデータが満たすべき前記所定の条件は、例えば、当該データの属性が所定の属性であることであり、その場合、前記要求メッセージ処理手段は、前記所定の属性に対応する暗号化動作により前記データを暗号化するとともに、当該暗号化動作を識別する暗号化識別情報を前記暗号データに付与し、前記応答メッセージ処理手段は、前記暗号データ所在識別情報付きデータから暗号化識別情報付きの暗号データを抽出し、当該暗号化識別情報に対応する復号動作により前記暗号データを復号する。
【００７５】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００７６】
１０  利用者端末
２０  中継装置
３０  アプリケーションサーバ
４０  通信ネットワーク  
２１  要求メッセージ処理部
２２  応答メッセージ処理部
２３  動作条件情報格納部
３１  サービス提供部
３２  データ格納部
【図１】
2015090993.tif 000003
【図２】
2015090993.tif 000004
【図３】
2015090993.tif 000005
【図４】
2015090993.tif 000006
【図５】
2015090993.tif 000007
【図６】
2015090993.tif 000008
【図７】
2015090993.tif 000009
【図８】
2015090993.tif 000010
【図９】
2015090993.tif 000011
【図１０】
2015090993.tif 000012
【図１１】
2015090993.tif 000013
【図１２】
2015090993.tif 000014
【図１３】
2015090993.tif 000015