(57)【要約】【課題】入力データの内容を知られずにサーバに処理をさせる端末装置を提供すること。【解決手段】完全準同型暗号方式により入力データを暗号化して暗号データを生成する暗号化部と、前記暗号化部により生成された暗号データをサーバに送信する暗号データ送信部と、前記サーバにて所定の処理が施された前記暗号データを受信する暗号データ受信部と、前記所定の処理が施された暗号データを復号する復号部と、を備える、端末装置が提供される。【選択図】図９
2012049679.tif 000002
【特許請求の範囲】
【請求項１】
完全準同型暗号方式により入力データを暗号化して暗号データを生成する暗号化部と、
前記暗号化部により生成された暗号データをサーバに送信する暗号データ送信部と、
前記サーバにて所定の処理が施された前記暗号データを受信する暗号データ受信部と、
前記所定の処理が施された暗号データを復号する復号部と、
を備える、
端末装置。
【請求項２】
被写体を撮像して画像データを生成する撮像部をさらに備え、
前記暗号化部は、前記撮像部により生成された画像データを暗号化して暗号データを生成し、
前記所定の処理は、前記画像データに基づいて被写体の異常を判定するための異常判定アルゴリズムに前記暗号データを入力し、当該異常判定アルゴリズムから出力された判定結果を前記所定の処理が施された暗号データとして出力する処理である、
請求項１に記載の端末装置。
【請求項３】
前記復号部により前記所定の処理が施された暗号データが復号され、前記異常判定アルゴリズムから出力された判定結果が得られた後、当該判定結果が異常を示すものであるか否かを判定する異常判定部と、
前記異常判定部により前記判定結果が異常を示すものである場合に、前記撮像部により生成された画像データを前記サーバに送信する画像データ送信部と、
をさらに備える、
請求項２に記載の端末装置。
【請求項４】
前記完全準同型暗号方式に基づく公開鍵と秘密鍵とを保持する鍵保持部をさらに備え、
前記暗号化部は、前記鍵保持部により保持された公開鍵により入力データを暗号化し、
前記復号部は、前記鍵保持部により保持された秘密鍵により前記所定の処理が施された暗号データを復号する、
請求項３に記載の端末装置。
【請求項５】
前記所定の処理は、前記公開鍵を利用して実行される、
請求項４に記載の端末装置。
【請求項６】
検索データを入力するための入力部と、
前記検索データに基づく検索結果を表示する表示部と、
をさらに備え、
前記暗号化部は、前記入力部により入力された検索データを暗号化して暗号データを生成し、
前記所定の処理は、前記検索データに基づいて情報を検索するための検索アルゴリズムに前記暗号データを入力し、当該検索アルゴリズムから出力された検索結果を前記所定の処理が施された暗号データとして出力する処理であり、
前記表示部は、前記復号部により前記所定の処理が施された暗号データが復号され、前記検索アルゴリズムから出力された検索結果が得られた後、当該検索結果を表示する、
請求項１に記載の端末装置。
【請求項７】
完全準同型暗号方式により入力データを暗号化して得られた暗号データを端末装置から受信する暗号データ受信部と、
前記暗号データに所定の処理を施す処理部と、
前記所定の処理が施された暗号データを前記端末装置に送信する暗号データ送信部と、
を備える、
サーバ。
【請求項８】
完全準同型暗号方式により入力データを暗号化して暗号データを生成する暗号化部と、
前記暗号化部により生成された暗号データをサーバに送信する第１の送信部と、
前記サーバにて所定の処理が施された前記暗号データを受信する第１の受信部と、
前記所定の処理が施された暗号データを復号する復号部と、
を有する、端末装置と、
前記第１の送信部により送信された暗号データを受信する第２の受信部と、
前記暗号データに対して前記所定の処理を施す処理部と、
前記所定の処理が施された前号データを前記端末装置に送信する第２の送信部と、
を有する、前記サーバと、
を含む、
データ処理システム。
【請求項９】
端末装置が、
完全準同型暗号方式により入力データを暗号化して暗号データを生成する暗号化ステップと、
前記暗号化ステップで生成された暗号データをサーバに送信する第１の送信ステップと、
前記サーバが、
前記第１の送信ステップで送信された暗号データを受信する第２の受信ステップと、
前記暗号データに対して前記所定の処理を施す処理ステップと、
前記所定の処理が施された前号データを前記端末装置に送信する第２の送信ステップと、
前記端末装置が、
前記サーバにて所定の処理が施された前記暗号データを受信する第２の受信ステップと、
前記所定の処理が施された暗号データを復号する復号ステップと、
を含む、
データ処理方法。
【請求項１０】
完全準同型暗号方式により入力データを暗号化して暗号データを生成する暗号化機能と、
前記暗号化機能により生成された暗号データをサーバに送信する暗号データ送信機能と、
前記サーバにて所定の処理が施された前記暗号データを受信する暗号データ受信機能と、
前記所定の処理が施された暗号データを復号する復号機能と、
をコンピュータに実現させるためのプログラム。
【請求項１１】
完全準同型暗号方式により入力データを暗号化して得られた暗号データを端末装置から受信する暗号データ受信機能と、
前記暗号データに処理の処理を施す処理機能と、
前記所定の処理が施された暗号データを前記端末装置に送信する暗号データ送信機能と、
をコンピュータに実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置、サーバ、データ処理システム、データ処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、防犯上の理由から監視カメラシステムの需要が高まっている。監視カメラシステムは、主に、監視対象を撮像する監視カメラと、監視カメラが撮像した映像データを解析する監視サーバにより構成される。監視者は、監視サーバに接続された表示装置を介して監視カメラが撮像した映像データをチェックする。また、監視サーバは、映像データを解析した結果、監視対象に異常がある場合に警告を発したり、映像データ中で異常がある部分を監視者に明示したりする。最近では映像データの解析技術が高度に発展しており、監視者は、高い確率で効率的に監視対象の異常を発見できるようになっている。
【０００３】
一方で、監視対象に異常がない場合の映像データも監視者にチェックされるため、プライバシーの侵害が懸念されている。このような懸念を払拭するため、映像データの中で監視対象に異常がない部分を監視者に見られないようにする仕組みが検討されている。例えば、下記の特許文献１には、映像データの中で監視対象に異常がない部分をマスキングする技術が開示されている。この技術は、監視カメラに異常検出手段とマスキング手段を設け、異常が検出されていない部分をマスキングした映像データを監視カメラが生成して監視サーバに送るというものである。この技術を用いれば、異常が検出されていない部分を監視者に見られることがなくなり、プライバシーの侵害を回避することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２６９４８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
但し、上記の特許文献１に記載の技術は、監視カメラに異常検出手段を設けることが前提とされている。しかし、監視カメラに異常検出手段を設けると、監視カメラのリバースエンジニアリングが行われた場合に、異常検出手段の異常検出ロジックが露呈してしまう危険性がある。そのため、監視サーバに異常検出手段を設けることを前提に、異常が検出された映像データだけを監視サーバに送るような仕組みが求められている。つまり、監視サーバに映像データの内容を知られずに、映像データの異常検出を監視サーバに実行させる仕組みが求められている。
【０００６】
また、監視カメラシステムとは異なるが、データをサーバにて処理させるサーバ・クライアントシステムにおいて、クライアント端末から入力されたデータをサーバに知られずに処理させたい場合にも同様の仕組みが求められる。例えば、検索システムにおいて、クライアント端末から入力された検索キーワードを検索サーバに知られずに、検索サーバに検索処理をさせたい場合が考えられる。また、クラウドシステムにおいて、クライアント端末から入力された入力データをクラウドサーバに知られずに、クラウドサーバに所定の処理をさせたい場合が考えられる。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、処理すべき入力データの内容をサーバに漏らすことなく、入力データに対する処理をサーバに代行させることが可能な新規かつ改良されたデータ処理システム、当該データ処理システムに含まれる端末装置及びサーバ、当該データ処理システムで用いるデータ処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある観点によれば、完全準同型暗号方式により入力データを暗号化して暗号データを生成する暗号化部と、前記暗号化部により生成された暗号データをサーバに送信する暗号データ送信部と、前記サーバにて所定の処理が施された前記暗号データを受信する暗号データ受信部と、前記所定の処理が施された暗号データを復号する復号部と、を備える、端末装置が提供される。
【０００９】
また、上記の端末装置は、被写体を撮像して画像データを生成する撮像部をさらに備えていてもよい。この場合、前記暗号化部は、前記撮像部により生成された画像データを暗号化して暗号データを生成し、前記所定の処理は、前記画像データに基づいて被写体の異常を判定するための異常判定アルゴリズムに前記暗号データを入力し、当該異常判定アルゴリズムから出力された判定結果を前記所定の処理が施された暗号データとして出力する処理である。
【００１０】
また、上記の端末装置は、前記復号部により前記所定の処理が施された暗号データが復号され、前記異常判定アルゴリズムから出力された判定結果が得られた後、当該判定結果が異常を示すものであるか否かを判定する異常判定部と、前記異常判定部により前記判定結果が異常を示すものである場合に、前記撮像部により生成された画像データを前記サーバに送信する画像データ送信部と、をさらに備えていてもよい。
【００１１】
また、上記の端末装置は、前記完全準同型暗号方式に基づく公開鍵と秘密鍵とを保持する鍵保持部をさらに備えていてもよい。この場合、前記暗号化部は、前記鍵保持部により保持された公開鍵により入力データを暗号化し、前記復号部は、前記鍵保持部により保持された秘密鍵により前記所定の処理が施された暗号データを復号する。
【００１２】
また、前記所定の処理は、前記公開鍵を利用して実行されてもよい。
【００１３】
また、上記の端末装置は、検索データを入力するための入力部と、前記検索データに基づく検索結果を表示する表示部と、をさらに備えていてもよい。この場合、前記暗号化部は、前記入力部により入力された検索データを暗号化して暗号データを生成し、前記所定の処理は、前記検索データに基づいて情報を検索するための検索アルゴリズムに前記暗号データを入力し、当該検索アルゴリズムから出力された検索結果を前記所定の処理が施された暗号データとして出力する処理であり、前記表示部は、前記復号部により前記所定の処理が施された暗号データが復号され、前記検索アルゴリズムから出力された検索結果が得られた後、当該検索結果を表示する。
【００１４】
また、上記課題を解決するために、本発明の別の観点によれば、完全準同型暗号方式により入力データを暗号化して得られた暗号データを端末装置から受信する暗号データ受信部と、前記暗号データに所定の処理を施す処理部と、前記所定の処理が施された暗号データを前記端末装置に送信する暗号データ送信部と、を備える、サーバが提供される。
【００１５】
また、上記課題を解決するために、本発明の別の観点によれば、完全準同型暗号方式により入力データを暗号化して暗号データを生成する暗号化部と、前記暗号化部により生成された暗号データをサーバに送信する第１の送信部と、前記サーバにて所定の処理が施された前記暗号データを受信する第１の受信部と、前記所定の処理が施された暗号データを復号する復号部と、を有する、端末装置と、前記第１の送信部により送信された暗号データを受信する第２の受信部と、前記暗号データに対して前記所定の処理を施す処理部と、前記所定の処理が施された前号データを前記端末装置に送信する第２の送信部と、を有する、前記サーバと、を含む、データ処理システムが提供される。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、端末装置が、完全準同型暗号方式により入力データを暗号化して暗号データを生成する暗号化ステップと、前記暗号化ステップで生成された暗号データをサーバに送信する第１の送信ステップと、前記サーバが、前記第１の送信ステップで送信された暗号データを受信する第２の受信ステップと、前記暗号データに対して前記所定の処理を施す処理ステップと、前記所定の処理が施された前号データを前記端末装置に送信する第２の送信ステップと、前記端末装置が、前記サーバにて所定の処理が施された前記暗号データを受信する第２の受信ステップと、前記所定の処理が施された暗号データを復号する復号ステップと、を含む、データ処理方法が提供される。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、完全準同型暗号方式により入力データを暗号化して暗号データを生成する暗号化機能と、前記暗号化機能により生成された暗号データをサーバに送信する暗号データ送信機能と、前記サーバにて所定の処理が施された前記暗号データを受信する暗号データ受信機能と、前記所定の処理が施された暗号データを復号する復号機能と、をコンピュータに実現させるためのプログラムが提供される。
【００１８】
また、上記課題を解決するために、本発明の別の観点によれば、完全準同型暗号方式により入力データを暗号化して得られた暗号データを端末装置から受信する暗号データ受信機能と、前記暗号データに処理の処理を施す処理機能と、前記所定の処理が施された暗号データを前記端末装置に送信する暗号データ送信機能と、をコンピュータに実現させるプログラムが提供される。
【００１９】
また、上記課題を解決するために、本発明の別の観点によれば、上記のプログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
【発明の効果】
【００２０】
以上説明したように本発明によれば、処理すべき入力データの内容をサーバに漏らすことなく、入力データに対する処理をサーバに代行させることが可能になる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１実施形態に係る監視カメラシステムのシステム構成について説明するための説明図である。
【図２】同実施形態に係る監視カメラの機能構成について説明するための説明図である。
【図３】同実施形態に係る監視サーバの機能構成について説明するための説明図である。
【図４】同実施形態に係る画像解析装置の機能構成について説明するための説明図である。
【図５】同実施形態に係る異常判定アルゴリズム生成装置の機能構成について説明するための説明図である。
【図６】完全準同型暗号の特性について説明するための説明図である。
【図７】同実施形態に係る監視カメラシステムにおける異常判定処理の流れについて説明するための説明図である。
【図８】本発明の第２実施形態に係るデータ処理システムのシステム構成について説明するための説明図である。
【図９】同実施形態に係るユーザ端末の機能構成について説明するための説明図である。
【図１０】同実施形態に係るデータ処理サーバの機能構成について説明するための説明図である。
【図１１】同実施形態に係るデータ処理システムにおけるデータ処理の流れについて説明するための説明図である。
【図１２】本発明の第３実施形態に係る検索システムのシステム構成について説明するための説明図である。
【図１３】同実施形態に係る検索サーバの機能構成について説明するための説明図である。
【図１４】同実施形態に係る検索システムにおける検索処理の流れについて説明するための説明図である。
【図１５】本発明の実施形態に係る監視カメラ、監視サーバ、ユーザ端末、データ処理サーバ、検索サーバの機能を実現するためのハードウェア構成について説明するための説明図である。
【発明を実施するための形態】
【００２２】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２３】
［説明の流れについて］
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図１を参照しながら、本発明の第１実施形態に係る監視カメラシステムのシステム構成について説明する。次いで、図２を参照しながら、同実施形態に係る監視カメラ１０の機能構成について説明する。次いで、図３を参照しながら、同実施形態に係る監視サーバ２０の機能構成について説明する。
【００２４】
次いで、図４を参照しながら、同実施形態に係る画像解析装置２１の機能構成について説明する。次いで、図５を参照しながら、同実施形態に係る異常判定アルゴリズム生成装置２２の機能構成について説明する。次いで、図７を参照しながら、同実施形態に係る監視カメラシステムにおける異常判定処理の流れについて説明する。また、上記説明の中で、図６を参照しながら、完全準同型暗号の特性について説明する。
【００２５】
次に、図８を参照しながら、本発明の第２実施形態に係るデータ処理システムのシステム構成について説明する。次いで、図９を参照しながら、同実施形態に係るユーザ端末４０の機能構成について説明する。次いで、図１０を参照しながら、同実施形態に係るデータ処理サーバ６０の機能構成について説明する。次いで、図１１を参照しながら、同実施形態に係るデータ処理システムにおけるデータ処理の流れについて説明する。
【００２６】
次に、図１２を参照しながら、本発明の第３実施形態に係る検索システムのシステム構成について説明する。次いで、図１３を参照しながら、同実施形態に係る検索サーバ７０の機能構成について説明する。なお、同実施形態に係る検索システムに含まれるユーザ端末４０の機能構成は第２実施形態に係るユーザ端末４０の機能構成と実質的に同じであるため、ユーザ端末４０の機能構成に関する詳細な説明は割愛する。次いで、図１４を参照しながら、同実施形態に係る検索システムにおける検索処理の流れについて説明する。
【００２７】
次に、図１５を参照しながら、本発明の実施形態に係る監視カメラ１０、監視サーバ２０、ユーザ端末４０、データ処理サーバ６０、検索サーバ７０の機能を実現するためのハードウェア構成例について説明する。最後に、本発明に係る実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【００２８】
（説明項目）
１：第１実施形態
１−１：監視カメラシステムのシステム構成
１−２：監視カメラ１０の機能構成
１−３：監視サーバ２０の機能構成
１−３−１：画像解析装置２１の機能構成
１−３−２：異常判定アルゴリズム生成装置２２の機能構成
１−４：異常判定処理の流れ
２：第２実施形態
２−１：データ処理システムのシステム構成
２−２：ユーザ端末４０の機能構成
２−３：データ処理サーバ６０の機能構成
２−４：データ処理の流れ
３：第３実施形態
３−１：検索システムのシステム構成
３−２：検索サーバ７０の機能構成
３−３：検索処理の流れ
４：ハードウェア構成
５：まとめ
【００２９】
＜１：第１実施形態＞
本発明の第１実施形態について説明する。本実施形態は、むやみにプライバシーが侵害されないように工夫された監視カメラシステムに関する。
【００３０】
［１−１：監視カメラシステムのシステム構成］
まず、図１を参照しながら、本実施形態に係る監視カメラシステムのシステム構成について説明する。図１は、本実施形態に係る監視カメラシステムのシステム構成について説明するための説明図である。
【００３１】
図１に示すように、監視カメラシステムは、主に、監視カメラ１０と、監視サーバ２０と、表示装置３０とにより構成される。なお、図１には２台の監視カメラ１０（＃１、＃２）を含む監視カメラシステムの構成が例示されているが、監視カメラ１０の台数は２台に限定されない。例えば、監視カメラ１０が１台しか含まれない監視カメラシステムや、３台以上の監視カメラ１０が含まれる監視カメラシステムに対しても、本実施形態の技術を適用することが可能である。
【００３２】
監視カメラ１０は、監視対象を撮像する撮像装置である。また、監視カメラ１０は、監視サーバ２０に接続されている。なお、監視カメラ１０と監視サーバ２０は、伝送ケーブルにより接続されていてもよいし、ネットワークを介して接続されていてもよいし、或いは、無線通信網を介して接続されていてもよい。但し、以下では、監視カメラ１０と監視サーバ２０が伝送ケーブルにより接続されているものと仮定して説明を進める。
【００３３】
監視カメラ１０は、監視対象を撮像すると、撮像して得られた画像データを暗号化する。そして、監視カメラ１０は、画像データを暗号化して得られた暗号データを監視サーバ２０に伝送する。画像データを暗号化せずに監視サーバ２０に伝送すると、監視対象に異常がなくても、その監視対象を撮像した画像データを監視者に見られてしまう。つまり、むやみに監視対象のプライバシーが侵害されてしまうことになる。そこで、本実施形態においては、監視サーバ２０に画像データを伝送する際に、画像データを暗号化する構成としているのである。もちろん、暗号データは、監視サーバ２０により復号できないものとする。また、監視カメラ１０は、後述する完全準同型暗号方式に基づいて画像データを暗号化する。
【００３４】
上記のように、監視対象が撮像されると、監視カメラ１０から監視サーバ２０へと暗号データが伝送される。暗号データが伝送されると、監視サーバ２０は、その暗号データを用いて監視対象に異常があるか否かを判定するための処理を実行する。具体的には、入力された画像データに異常があるか否かを判定するための異常判定アルゴリズムに対し、監視サーバ２０が、監視カメラ１０から伝送された暗号データを入力する。但し、この異常判定アルゴリズムは、監視サーバ２０が予め保持しているものとする。そして、異常判定アルゴリズムから演算結果が出力されると、監視サーバ２０は、異常判定アルゴリズムから出力された演算結果を監視カメラ１０に伝送する。
【００３５】
なお、画像データを暗号化する際に完全準同型暗号方式が用いられているため、異常判定アルゴリズムから出力された演算結果は、画像データを異常判定アルゴリズムに入力した場合に得られる演算結果を暗号化したものとなる。監視サーバ２０から監視カメラ１０に異常判定アルゴリズムから出力された演算結果が伝送されると、監視カメラ１０は、その演算結果を復号し、画像データを異常判定アルゴリズムに入力した場合に得られる演算結果（以下、異常判定結果）を得る。異常判定結果が得られると、監視カメラ１０は、その異常判定結果を参照し、監視対象に異常が含まれる場合には暗号化していない画像データを監視サーバ２０に伝送する。
【００３６】
暗号化していない画像データが監視サーバ２０に伝送されると、監視サーバ２０は、その画像データを表示装置３０に表示させる。表示装置３０に画像データが表示されると、監視者は、表示装置３０に表示された画像データをチェックし、監視対象に異常があるか否かを目で見てチェックする。上記の通り、異常判定アルゴリズムは、監視サーバ２０に保持されたままである。また、監視対象に異常がない場合、監視カメラ１０により撮像された監視対象の画像データは、監視サーバ２０に伝送されない。そのため、監視対象に異常がない場合には監視対象の画像データが監視者に見られないことになり、むやみにプライバシーが侵害されるのを回避することができる。
【００３７】
（完全準同型暗号方式について）
ここで、完全準同型暗号方式について説明を補足する。完全準同型暗号は、図６に示すような特性を持っている。なお、以下では、入力データをｐ、完全準同型暗号方式の公開鍵をｐｋ、秘密鍵をｓｋ、所定の処理アルゴリズムを実現する処理関数をｆと表記する。
【００３８】
まず、図６のＰｒｏｃｅｓｓ  ＃１と記載した処理に注目する。Ｐｒｏｃｅｓｓ  ＃１は、暗号化ステップ、処理Ａステップ、復号ステップの３ステップにより構成されている。暗号化ステップでは、公開鍵ｐｋを用いて入力データｐが暗号化され、暗号データｃが生成される（ｃ←Ｅｎｃ（ｐ，ｐｋ））。続く処理Ａステップでは、処理関数ｆ、公開鍵ｐｋを用いて暗号データｃに対して所定の処理が施され、処理結果ｒが得られる（ｒ←Ｐｒｏｃｅｓｓ（ｃ，ｆ，ｐｋ））。続く復号ステップでは、秘密鍵ｓｋを用いて処理結果ｒに復号処理が施され、復号結果Ｒ’が生成される（Ｒ’←Ｄｅｃ（ｒ，ｓｋ））。
【００３９】
次に、図６のＰｒｏｃｅｓｓ  ＃２と記載した処理に注目する。Ｐｒｏｃｅｓｓ  ＃２は、処理Ｂステップにより構成されている。処理Ｂステップでは、処理関数ｆを用いて入力データｐに所定の処理が施され、処理結果Ｒが得られる（Ｒ←Ｐｒｏｃｅｓｓ（ｐ，ｆ））。上記の通り、Ｐｒｏｃｅｓｓ  ＃１は入力データｐを暗号化した後で処理関数ｆを施す工程であり、Ｐｒｏｃｅｓｓ  ＃２は入力データｐを暗号化せずにそのまま処理関数ｆを施す工程である。
【００４０】
完全準同型暗号の特性は、これら２つの工程で得られた結果Ｒ、Ｒ’が一致する点にある。なお、完全準同型暗号方式の詳細については、例えば、Ｇｒａｉｇ  Ｇｅｎｔｒｙによる“Ｆｕｌｌｙ  Ｈｏｍｏｍｏｒｏｐｈｉｃ  Ｅｎｃｒｙｐｔｉｏｎ  Ｕｓｉｎｇ  Ｉｄｅａｌ  Ｌａｔｔｉｃｅｓ”や、Ｍａｒｔｅｎ  ｖａｎ  Ｄｉｊｋ，  Ｃｒａｉｇ  Ｇｅｎｔｒｙ，  Ｓｈａｉ  Ｈａｌｅｖｉ，  Ｖｉｎｏｄ  Ｖａｉｋｕｎｔａｎａｔｈｉａｎによる“Ｆｕｌｌｙ  Ｈｏｍｏｍｏｒｐｈｉｃ  Ｅｎｃｒｙｐｔｉｏｎ  ｏｖｅｒ  ｔｈｅ  Ｉｎｔｅｇｅｒｓ”などの文献を参照されたい。
【００４１】
完全準同型暗号の特性を利用すると、Ｐｒｏｃｅｓｓ  ＃２に示した入力データｐに対する処理関数ｆの処理を、Ｐｒｏｃｅｓｓ  ＃１のような３ステップの処理に置き換えることが可能になる。また、Ｐｒｏｃｅｓｓ  ＃１の場合には入力データｐが暗号化された状態で処理Ａステップの処理が実行されるため、処理Ａステップを他人に実行させても、他人が入力データｐの内容を知ることはできない。つまり、完全準同型暗号の特性を利用すると、入力データｐの内容を知られずに、入力データｐに対する処理（処理関数ｆの処理）を他人に実行させるといったことが可能になる。
【００４２】
上記の監視カメラシステムとの対応関係について述べると、上記の暗号化ステップは、監視カメラ１０における画像データの暗号化に対応する。また、上記の処理Ａステップは、監視サーバ２０における暗号データを入力とした異常判定アルゴリズムの実行処理に対応する。そして、上記の復号ステップは、監視カメラ１０により異常判定結果を得る処理に対応する。つまり、完全準同型暗号の特性により、画像データを監視者に見られずに、画像データに対する異常判定処理を代行させることが可能になるのである。
【００４３】
以上、本実施形態に係る監視カメラシステムのシステム構成について説明した。以下、当該監視カメラシステムに含まれる各構成要素の機能について、より詳細に説明する。
【００４４】
［１−２：監視カメラ１０の機能構成］
まず、図２を参照しながら、本実施形態に係る監視カメラ１０の機能構成について説明する。図２は、本実施形態に係る監視カメラ１０の機能構成について説明するための説明図である。
【００４５】
図２に示すように、監視カメラ１０は、主に、鍵生成部１０１と、撮像部１０２と、画像記憶部１０３と、暗号化部１０４と、通信部１０５と、復号部１０６と、画像送信部１０７とにより構成される。
【００４６】
鍵生成部１０１は、完全準同型暗号方式の公開鍵ｐｋ及び秘密鍵ｓｋを生成する手段である。鍵生成部１０１により生成された公開鍵ｐｋは、暗号化部１０４に入力される。一方、鍵生成部１０１により生成された秘密鍵ｓｋは、復号部１０６に入力される。暗号化部１０４に入力された公開鍵ｐｋは、暗号化部１０４により保持される。また、復号部１０６に入力された秘密鍵ｓｋは、復号部１０６により保持される。なお、鍵生成部１０１により生成された公開鍵ｐｋは、監視サーバ２０にも提供される。また、監視サーバ２０に提供された公開鍵ｐｋは、監視サーバ２０により保持される。
【００４７】
撮像部１０２は、監視対象を撮像して画像データｐを生成する手段である。撮像部１０２により生成された画像データｐは、順次、画像記憶部１０３に格納される。そして、画像記憶部１０３に格納された画像データｐは、暗号化部１０４により読み出される。画像データｐを読み出した暗号化部１０４は、公開鍵ｐｋを用いて画像データｐを暗号化し、暗号データｃを生成する（ｃ←Ｅｎｃ（ｐ，ｐｋ））。暗号化部１０４により生成された暗号データｃは、通信部１０５に入力される。暗号データｃが入力されると、通信部１０５は、入力された暗号データｃを監視サーバ２０に伝送する。
【００４８】
監視サーバ２０に暗号データｃが伝送されると、監視サーバ２０は、暗号データｃに異常判定アルゴリズムに基づく処理ｆを施し（ｒ←Ｐｒｏｃｅｓｓ（ｃ，ｆ，ｐｋ））、その処理結果ｒを監視カメラ１０に伝送する。監視サーバ２０から伝送された処理結果ｒは、通信部１０５により受信され、復号部１０６に入力される。処理結果ｒが入力された復号部１０６は、秘密鍵ｓｋを用いて、入力された処理結果ｒに復号処理を施して異常判定結果Ｒを得る（Ｒ←Ｄｅｃ（ｒ，ｓｋ））。復号部１０６による復号処理により得られた異常判定結果Ｒは、画像送信部１０７に入力される。
【００４９】
異常判定結果Ｒが入力されると、画像送信部１０７は、異常判定結果Ｒが「異常あり」を示すものか否かを確認し、「異常あり」を示すものである場合、画像記憶部１０３から画像データｐを読み出す。異常判定結果Ｒが「異常あり」を示すものであった場合、画像送信部１０７は、画像記憶部１０３から読み出した画像データｐを通信部１０５に入力する。画像データｐが入力されると、通信部１０５は、入力された画像データｐを監視サーバ２０に伝送する。なお、異常判定結果Ｒが「異常なし」であった場合、画像送信部１０７は、画像記憶部１０３から画像データｐを読み出さない。そのため、監視対象に異常がない場合、監視サーバ２０に画像データｐが伝送されることはない。
【００５０】
以上、監視カメラ１０の機能構成について説明した。
【００５１】
［１−３：監視サーバ２０の機能構成］
次に、図３を参照しながら、本実施形態に係る監視サーバ２０の機能構成について説明する。図３は、本実施形態に係る監視サーバ２０の機能構成について説明するための説明図である。
【００５２】
図３に示すように、監視サーバ２０は、主に、画像解析装置２１と、異常判定アルゴリズム生成装置２２とにより構成される。
【００５３】
画像解析装置２１は、監視カメラ１０から伝送された画像データを解析し、その画像データに含まれる監視対象の異常を検出する手段である。また、異常判定アルゴリズム生成装置２２は、画像データに含まれる監視対象に異常があるか否かを判定するための異常判定アルゴリズムを生成する手段である。異常判定アルゴリズム生成装置２２により生成された異常判定アルゴリズムは、画像解析装置２１に入力される。そして、画像解析装置２１は、異常判定アルゴリズム生成装置２２により生成された異常判定アルゴリズムを用いて、監視カメラ１０から入力された画像データの解析を実行する。
【００５４】
但し、本実施形態の場合、監視対象に異常があることが判明するまで監視カメラ１０から監視サーバ２０へと画像データが伝送されることはない。その代わりに、監視対象に異常があるか否かの判定が行われる際には、画像解析装置２１に画像データを暗号化した暗号データが入力される。そして、画像解析装置２１は、暗号データを異常判定アルゴリズムに入力し、異常判定アルゴリズムから出力された判定結果を監視カメラ１０に伝送する。なお、画像解析装置２１による解析処理自体は、画像データに対する解析処理と実質的に同じである。異なるのは、異常判定アルゴリズムに入力されるデータの種類である。
【００５５】
一方、監視対象に異常があることが判明した場合、監視カメラ１０から画像データが監視サーバ２０に伝送される。この場合、画像解析装置２１は、監視カメラ１０から伝送されてきた画像データを受信し、表示装置３０に表示させる。表示装置３０に画像データが表示されると、監視者は、表示装置３０に表示された画像データを参照し、監視対象に異常があるか否かを目視によりチェックする。また、画像解析装置２１は、監視カメラ１０から伝送されてきた画像データを保持する。
【００５６】
（１−３−１：画像解析装置２１の機能構成）
ここで、図４を参照しながら、画像解析装置２１の機能構成について、より詳細に説明する。図４は、本実施形態に係る画像解析装置２１の機能構成について説明するための説明図である。
【００５７】
図４に示すように、画像解析装置２１は、通信部２１１と、異常判定アルゴリズム実行部２１２と、画像受信部２１３と、記憶部２１４とを有する。
【００５８】
通信部２１１は、監視カメラ１０から暗号データや画像データを受信したり、監視カメラ１０に判定結果を送信したりする手段である。また、異常判定アルゴリズム実行部２１２は、異常判定アルゴリズム生成装置２２により生成された異常判定アルゴリズムに暗号データを入力し、異常判定アルゴリズムに基づく処理を実行する手段である。異常判定アルゴリズムに基づく処理の結果は、通信部２１１を介して監視カメラ１０に伝送される。画像受信部２１３は、監視対象に異常があると判定された場合に監視カメラ１０から伝送される画像データを受信する手段である。画像データを受信した画像受信部２１３は、受信した画像データを記憶部２１４に格納すると共に、その画像データを表示装置３０に表示させる。
【００５９】
（１−３−２：異常判定アルゴリズム生成装置２２の機能構成）
次に、図５を参照しながら、異常判定アルゴリズム生成装置２２の機能構成について、より詳細に説明する。図５は、本実施形態に係る異常判定アルゴリズム生成装置２２の機能構成について説明するための説明図である。
【００６０】
図５に示すように、異常判定アルゴリズム生成装置２２は、主に、学習データ収集部２２１と、記憶部２２２と、機械学習部２２３とを有する。
【００６１】
学習データ収集部２２１は、異常判定アルゴリズムを生成する際に利用される学習データを収集する手段である。異常判定アルゴリズムの生成に利用される学習データは、例えば、画像データと、その画像データに含まれる監視対象が異常であるか否かを示す判定結果データとを含む。この学習データは、監視カメラ１０から収集されたものであってもよいし、図示しない情報源から収集されたものであってもよいし、或いは、監視者により予め与えられたものであってもよい。学習データ収集部２２１により収集された学習データは、記憶部２２２に格納される。
【００６２】
記憶部２２２に格納された学習データは、機械学習部２２３により読み出される。学習データを読み出した機械学習部２２３は、読み出した学習データを利用し、機械学習により異常判定アルゴリズムを生成する。機械学習部２２３により生成された異常判定アルゴリズムは、画像解析装置２１に提供される。
【００６３】
なお、機械学習部２２３により用いられる機械学習の方法は任意である。例えば、画像データを入力とし、正常であるか、異常であるかを出力（例えば、正常な場合に０、異常な場合に１を出力）する判定器を生成可能な機械学習の方法が考えられる。また、画像データを入力とし、０又は１を出力する複数の弱判定器を組み合わせ、全ての弱判定器から出力された結果に基づいて最終的に正常であるか、異常であるかを出力する判定器を生成可能な機械学習の方法が考えられる。例えば、１を出力する弱判定器の数が所定の割合を超えた場合に異常と判定するような判定器を生成する機械学習の方法が考えられる。
【００６４】
以上説明したように、本実施形態に係る監視サーバ２０は、画像データから監視対象の異常を判定することが可能な異常判定アルゴリズムに暗号データを入力し、その出力を監視カメラ１０に伝送する機能を有する。また、監視サーバ２０は、監視カメラ１０から画像データが伝送されてきた場合に、その画像データを保持すると共に、その画像データを表示装置３０に表示させる機能を有する。
【００６５】
なお、図３の例では異常判定アルゴリズムを生成する監視サーバ２０の構成を示したが、異常判定アルゴリズムは、監視サーバ２０に予め外部から与えられていてもよい。また、機械学習とは異なる方法により生成された異常判定アルゴリズムが利用されてもよい。さらに、異常判定アルゴリズム生成装置２２は、監視者による画像データのチェック結果を異常判定アルゴリズムの生成工程で利用するように構成されていてもよい。
【００６６】
［１−４：異常判定処理の流れ］
次に、図７を参照しながら、本実施形態に係る異常判定処理の流れについて説明する。図７は、本実施形態に係る異常判定処理の流れについて説明するための説明図である。なお、図７に示す異常判定処理は、監視カメラ１０及び監視サーバ２０により実行される。また、監視カメラ１０は、完全準同型暗号方式の公開鍵ｐｋ及び秘密鍵ｓｋを保持しているものとする。さらに、監視サーバ２０は、完全準同型暗号方式の公開鍵ｐｋを保持しているものとする。
【００６７】
図７に示すように、まず、監視サーバ２０は、異常判定アルゴリズムｆを生成する（Ｓ１０１）。また、監視カメラ１０は、監視対象を撮像し、画像データｐを生成する（Ｓ１０２）。画像データｐを生成した監視カメラ１０は、公開鍵ｐｋを利用して画像データｐを暗号化し、暗号データｃを生成する（Ｓ１０３）。つまり、監視カメラ１０は、ｃ←Ｅｎｃ（ｐ，ｐｋ）を実行する。次いで、監視カメラ１０は、暗号データｃを監視サーバ２０に送信する（Ｓ１０４）。
【００６８】
暗号データｃを受信した監視サーバ２０は、受信した暗号データｃを異常判定アルゴリズムｆに入力し、公開鍵ｐｋを用いて異常判定アルゴリズムｆを実行する（Ｓ１０５）。つまり、監視サーバ２０は、ｒ←Ｐｒｏｃｅｓｓ（ｃ，ｆ，ｐｋ）を実行し、異常判定アルゴリズムｆの出力結果ｒを得る。次いで、監視サーバ２０は、異常判定アルゴリズムｆの出力結果ｒを監視カメラ１０に送信する（Ｓ１０６）。
【００６９】
異常判定アルゴリズムｆの出力結果ｒを受信した監視カメラ１０は、秘密鍵ｓｋを用いて異常判定アルゴリズムｆの出力結果ｒに復号処理を施し、異常判定結果Ｒを得る（Ｓ１０７）。つまり、監視カメラ１０は、Ｒ←Ｄｅｃ（ｒ，ｓｋ）を実行する。異常判定結果Ｒを得た監視カメラ１０は、異常判定結果Ｒが「異常あり」を示すものか否かを確認し、「異常あり」を示すものである場合には処理をステップＳ１０９に進める。一方、異常判定結果Ｒが「異常なし」を示すものである場合、監視カメラ１０は、処理をステップＳ１０２に進める。
【００７０】
処理をステップＳ１０９に進めた場合、監視カメラ１０は、ステップＳ１０２で生成された画像データｐを監視サーバ２０に送信する（Ｓ１０９）。画像データｐを受信した監視サーバ２０は、受信した画像データｐを表示装置３０に表示させる（Ｓ１１０）。このとき、監視サーバ２０は、監視カメラ１０から受信した画像データｐを保持する。表示装置３０に画像データｐが表示されると、監視者は、表示装置３０に表示された画像データｐを参照し、目で見て監視対象に異常があるか否かをチェックする。
【００７１】
以上、本実施形態に係る異常判定処理の流れについて説明した。なお、上記のステップＳ１０９における画像データｐの送信時に、通信用の暗号鍵を用いて画像データｐを暗号化するように構成されていてもよい。通信用の暗号鍵は、公開鍵暗号方式の暗号鍵であってもよいし、共通鍵暗号方式の暗号鍵であってもよい。また、図７の例では、ステップＳ１０１において異常判定アルゴリズムｆを生成する構成としたが、異常判定アルゴリズムｆは、外部から監視サーバ２０に予め与えられていてもよい。
【００７２】
以上、本発明の第１実施形態について説明した。本実施形態に係る技術を適用することにより、異常判定アルゴリズムを監視カメラ１０に搭載せずに済み、かつ、異常を含まない画像データを監視サーバ２０に送信せずに済む。その結果、異常判定アルゴリズムの漏洩リスクを回避し、かつ、むやみにプライバシーが侵害されるのを防止することが可能になる。また、異常判定アルゴリズムを更新する場合にも、監視サーバ２０において異常判定アルゴリズムを更新するだけで済み、アルゴリズムの更新コストを低く抑えることができる。さらに言えば、監視者が異常のない監視対象の画像データを目視確認する手間が省かれ、監視に要する人的コストを低く抑えることが可能になる。
【００７３】
＜２：第２実施形態＞
次に、本発明の第２実施形態について説明する。本実施形態は、サーバにデータ処理を代行させるデータ処理システムに関する。例えば、本実施形態に係る技術は、クラウドシステムやシンクライアントシステムなどに適用することができる。
【００７４】
［２−１：データ処理システムのシステム構成］
まず、図８を参照しながら、本実施形態に係るデータ処理システムのシステム構成について説明する。図８は、本実施形態に係るデータ処理システムのシステム構成について説明するための説明図である。
【００７５】
図８に示すように、本実施形態に係るデータ処理システムは、主に、ユーザ端末４０と、データ処理サーバ６０とにより構成される。また、ユーザ端末４０とデータ処理サーバ６０とは、ネットワーク５０を介して接続されているものとする。なお、図８には２台のデータ処理サーバ６０（＃１、＃２）を含むデータ処理システムの構成が例示されているが、データ処理サーバ６０の台数は２台に限定されない。例えば、データ処理サーバ６０が１台しか含まれないデータ処理システムや、３台以上のデータ処理サーバ６０が含まれるデータ処理システムに対しても、本実施形態の技術を適用することが可能である。
【００７６】
ユーザ端末４０は、ユーザがデータを入力したり、データを表示したりする手段である。例えば、ユーザ端末４０は、Ｗｅｂブラウザ、ワードプロセッサ、表計算ソフトウェア、画像編集ソフトウェアなどのアプリケーションの実行画面を表示したり、そのアプリケーションに対するデータ入力を受け付けたりする。なお、アプリケーションの実行画面を表示するための表示データは、データ処理サーバ６０からユーザ端末４０に提供されるようにしてもよいし、ユーザ端末４０により生成されるようにしてもよい。
【００７７】
データ処理サーバ６０は、ユーザ端末４０から送信されてきたデータを処理する手段である。ユーザ端末４０から処理すべきデータを受信した場合、データ処理サーバ６０は、受信したデータに所定の処理を施し、処理後のデータをユーザ端末４０に送信する。所定の処理としては、文字種の変換処理、キーワードの検索処理、様々な関数による演算処理、ネットワーク５０に接続された情報源を対象とした情報検索処理、種々の画像処理、及び各種アプリケーションに関する処理などが考えられる。
【００７８】
但し、本実施形態は、処理すべきデータがデータ処理サーバ６０に知られないようにしながら、そのデータの処理をデータ処理サーバ６０に実行させる仕組みの提供を主な目的としている。つまり、本実施形態は、ユーザ端末４０に入力された処理すべきデータの内容がデータ処理サーバ６０を漏らさないようにして、ユーザのプライバシーがむやみに侵害されないようにする仕組みの提供を目的とする。このような仕組みを実現するため、ユーザ端末４０は、処理すべきデータをそのままデータ処理サーバ６０に送信せずに、処理すべきデータを完全準同型暗号方式により暗号化し、暗号化されたデータ（以下、暗号データ）をデータ処理サーバ６０に送信する。
【００７９】
また、暗号データを受信したデータ処理サーバ６０は、受信した暗号データに対して所定の処理を施し、処理後に得られたデータ（以下、処理後データ）をユーザ端末４０に送信する。そして、処理後データを受信したユーザ端末４０は、受信した処理後データを復号する。先に説明したように、完全準同型暗号の特性から、ユーザ端末４０による復号処理で得られたデータは、処理すべき元のデータに所定の処理を施して得られるデータに一致する。つまり、ユーザ端末４０は、処理すべきデータをデータ処理サーバ６０に処理させたことになる。
【００８０】
上記のように、処理すべきデータを完全準同型暗号方式により暗号化し、暗号データをデータ処理サーバ６０に処理させることにより、処理すべきデータの内容をデータ処理サーバ６０に知られずに済む。その結果、ユーザのプライバシーがむやみに侵害されるのを回避することが可能になる。例えば、電子メールアプリケーションやワードプロセッサでユーザが入力した文書の内容をデータ処理サーバ６０に知られることがなくなり、ユーザのプライバシーが侵害されずに済むようになる。
【００８１】
以上、本実施形態に係るデータ処理システムのシステム構成について説明した。以下、当該データ処理システムに含まれる各構成要素の機能について、より詳細に説明する。
【００８２】
［２−２：ユーザ端末４０の機能構成］
まず、図９を参照しながら、本実施形態に係るユーザ端末４０の機能構成について説明する。図９は、本実施形態に係るユーザ端末４０の機能構成について説明するための説明図である。
【００８３】
図９に示すように、ユーザ端末４０は、主に、鍵生成部４０１と、入力部４０２と、暗号化部４０３と、通信部４０４と、復号部４０５と、表示部４０６とにより構成される。
【００８４】
鍵生成部４０１は、完全準同型暗号方式の公開鍵ｐｋ及び秘密鍵ｓｋを生成する手段である。鍵生成部４０１により生成された公開鍵ｐｋは、暗号化部４０３に入力される。一方、鍵生成部４０１により生成された秘密鍵ｓｋは、復号部４０５に入力される。暗号化部４０３に入力された公開鍵ｐｋは、暗号化部４０３により保持される。また、復号部４０５に入力された秘密鍵ｓｋは、復号部４０５により保持される。なお、鍵生成部４０１により生成された公開鍵ｐｋは、データ処理サーバ６０にも提供される。また、データ処理サーバ６０に提供された公開鍵ｐｋは、データ処理サーバ６０により保持される。
【００８５】
入力部４０２は、処理すべきデータ（以下、入力データｑ）を入力するための入力手段である。入力部４０２を用いて入力された入力データｑは、順次、暗号化部４０３に入力される。入力データｑが入力されると、暗号化部４０３は、公開鍵ｐｋを用いて入力データｑを暗号化し、暗号データｃを生成する（ｃ←Ｅｎｃ（ｑ，ｐｋ））。暗号化部４０３により生成された暗号データｃは、通信部４０４に入力される。暗号データｃが入力されると、通信部４０４は、入力された暗号データｃをデータ処理サーバ６０に送信する。
【００８６】
暗号データｃを受信したデータ処理サーバ６０は、暗号データｃに所定の処理ｆを施し（ｒ←Ｐｒｏｃｅｓｓ（ｃ，ｆ，ｐｋ））、その処理結果ｒをユーザ端末４０に送信する。データ処理サーバ６０から送信された処理結果ｒは、通信部４０４により受信され、復号部４０５に入力される。処理結果ｒが入力された復号部４０５は、秘密鍵ｓｋを用いて、入力された処理結果ｒに復号処理を施し、入力データｑに対する処理結果Ｒ（以下、復号後処理結果Ｒ）を得る（Ｒ←Ｄｅｃ（ｒ，ｓｋ））。復号部４０５による復号処理で得られた復号後処理結果Ｒは、表示部４０６に入力される。復号後処理結果Ｒが入力された表示部４０６は、入力された復号後処理結果Ｒを表示する。
【００８７】
以上、ユーザ端末４０の機能構成について説明した。
【００８８】
［２−３：データ処理サーバ６０の機能構成］
次に、図１０を参照しながら、本実施形態に係るデータ処理サーバ６０の機能構成について説明する。図１０は、本実施形態に係るデータ処理サーバ６０の機能構成について説明するための説明図である。
【００８９】
図１０に示すように、データ処理サーバ６０は、主に、通信部６０１と、データ処理部６０２と、記憶部６０３とにより構成される。
【００９０】
通信部６０１は、ネットワーク５０を介してユーザ端末４０からデータを受信したり、データをユーザ端末４０に送信したりする通信手段である。ユーザ端末４０から暗号データが送信されると、通信部６０１は、その暗号データを受信する。通信部６０１により受信された暗号データは、データ処理部６０２に入力される。暗号データが入力されると、データ処理部６０２は、入力された暗号データに所定の処理を施す。データ処理部６０２により得られた処理後のデータは、通信部６０１に入力される。処理後のデータが入力されると、通信部６０１は、入力された処理後のデータをユーザ端末４０に送信する。なお、データ処理部６０２は、入力された暗号データや処理後のデータを適宜、記憶部６０３に格納する。
【００９１】
以上、本実施形態に係るデータ処理サーバ６０の機能構成について説明した。
【００９２】
上記の通り、本実施形態においては、処理すべきデータがそのままデータ処理サーバ６０に送信されることはない。そのため、本実施形態に係るデータ処理システムの仕組みを適用することにより、ユーザ端末４０に入力されたデータの内容がデータ処理サーバ６０に知られずに済み、ユーザのプライバシーを保護することが可能になる。
【００９３】
［２−４：データ処理の流れ］
次に、図１１を参照しながら、本実施形態に係るデータ処理の流れについて説明する。図１１は、本実施形態に係るデータ処理の流れについて説明するための説明図である。なお、図１１に示すデータ処理は、ユーザ端末４０及びデータ処理サーバ６０により実行される。また、ユーザ端末４０は、完全準同型暗号方式の公開鍵ｐｋ及び秘密鍵ｓｋを保持しているものとする。さらに、データ処理サーバ６０は、完全準同型暗号方式の公開鍵ｐｋを保持しているものとする。
【００９４】
図１１に示すように、まず、ユーザ端末４０に対し、処理すべきデータ（以下、入力データｑ）が入力される（Ｓ２０１）。入力データｑが入力されると、ユーザ端末４０は、公開鍵ｐｋを利用して入力データｑを暗号化し、暗号データｃを生成する（Ｓ２０２）。つまり、ユーザ端末４０は、ｃ←Ｅｎｃ（ｑ，ｐｋ）を実行する。次いで、ユーザ端末４０は、暗号データｃをデータ処理サーバ６０に送信する（Ｓ２０３）。
【００９５】
暗号データｃを受信したデータ処理サーバ６０は、受信した暗号データｃを所定の処理アルゴリズムｆに入力し、公開鍵ｐｋを用いて処理アルゴリズムｆによる処理を実行する（Ｓ２０４）。つまり、データ処理サーバ６０は、ｒ←Ｐｒｏｃｅｓｓ（ｃ，ｆ，ｐｋ）を実行し、処理アルゴリズムｆによる処理結果ｒを得る。次いで、データ処理サーバ６０は、処理結果ｒをユーザ端末４０に送信する（Ｓ２０５）。
【００９６】
処理結果ｒを受信したユーザ端末４０は、秘密鍵ｓｋを用いて処理結果ｒに復号処理を施し、復号後処理結果Ｒを得る（Ｓ２０６）。つまり、ユーザ端末４０は、Ｒ←Ｄｅｃ（ｒ，ｓｋ）を実行する。復号後処理結果Ｒが得られると、ユーザ端末４０は、復号後処理結果Ｒをユーザに対して表示する（Ｓ２０７）。
【００９７】
以上、本実施形態に係るデータ処理の流れについて説明した。
【００９８】
以上、本発明の第２実施形態について説明した。本実施形態に係る技術を適用することにより、処理すべきデータをデータ処理サーバ６０に知られることなく、データ処理サーバ６０に処理を代行させることが可能になる。その結果、ユーザが入力したデータの内容をデータ処理サーバ６０に知られずに済み、ユーザのプライバシーが保護される。
【００９９】
例えば、複数の店舗にそれぞれ設置された複数の端末から情報を収集し、まとめて処理するようなシステムにおいて、各店舗で情報を共有したいが、各店舗が持つ独自の情報は他の店舗に知られたくないという状況がある。こうした場合に、本実施形態の技術を適用すると、各店舗の情報は暗号化により保護され、一方で各情報に対する処理は暗号化しない場合と同様に実行することができるようになる。また、医療機関の間で情報を共有する場合にも本実施形態の技術を適用することができる。例えば、患者の情報を他の医療機関に知られることなく医療情報を共有するといったことが可能になる。つまり、患者のプライバシーを保護しつつ、複数の医療機関で情報を共有することができるようになる。
【０１００】
＜３：第３実施形態＞
次に、本発明の第３実施形態について説明する。本実施形態は、ネットワーク５０に接続された情報源にある情報を検索する検索システムに関する。なお、本実施形態に係る検索システムは、上記の第２実施形態に係るデータ処理システムの応用例である。そのため、上記の第２実施形態に係る構成要素と実質的に同じ機能を有する構成要素については重複説明を避け、同じ符号を付することにより詳細な説明を省略する。
【０１０１】
［３−１：検索システムのシステム構成］
まず、図１２を参照しながら、本実施形態に係る検索システムのシステム構成について説明する。図１２は、本実施形態に係る検索システムのシステム構成について説明するための説明図である。
【０１０２】
図１２に示すように、本実施形態に係る検索システムは、主に、ユーザ端末４０と、検索サーバ７０とにより構成される。また、ユーザ端末４０と検索サーバ７０とは、ネットワーク５０を介して接続されているものとする。なお、図１２には１台の検索サーバ７０を含む検索システムの構成が例示されているが、検索サーバ７０の台数は１台に限定されない。例えば、負荷分散のために検索サーバ７０が２台以上含まれるデータ処理システムに対しても、本実施形態の技術を適用することが可能である。
【０１０３】
ユーザ端末４０は、上記の第２実施形態に係るユーザ端末４０と実質的に同じ機能を有する。但し、ここでは検索処理に特化した説明を行うことにする。ユーザ端末４０は、Ｗｅｂブラウザなどのアプリケーションを実行する機能を有する。また、ユーザ端末４０は、こうしたアプリケーションを介して検索キーワードの入力を受け付ける機能を有する。ユーザ端末４０に検索キーワードが入力されると、ユーザ端末４０は、入力された検索キーワードを検索サーバ７０に送信する。
【０１０４】
検索サーバ７０は、ユーザ端末４０から送信されてきた検索キーワードを含む情報をネットワーク５０に接続された情報源から検出する手段である。ユーザ端末４０から検索キーワードを受信した場合、検索サーバ７０は、ネットワーク５０に接続された情報源にアクセスし、受信した検索キーワードを含む情報を検索する。情報源としては、例えば、Ｗｅｂ上に公開されたホームページ、ブログ、掲示板などが考えられる。もちろん、これら以外にも、情報を蓄積したデータベースなども情報源として考えることができる。また、ここではネットワーク５０に接続された情報源を想定しているが、検索サーバ７０に接続された記憶装置（非図示）に格納されているデータベースを情報源としてもよい。
【０１０５】
さて、本実施形態は、検索キーサードが検索サーバ７０に知られないようにしつつ、その検索キーワードに基づく検索処理を実行できるようにすることを主な目的とする。そのため、本実施形態においては、ユーザ端末４０が検索キーワードをそのまま検索サーバ７０に送信せず、完全準同型暗号方式により検索キーワードを暗号化してから検索サーバ７０に送信する。一方、暗号化された検索キーワードを受信した検索サーバ７０は、その暗号化された検索キーワードを用いて検索処理を実行し、その検索結果をユーザ端末４０に送信する。そして、検索結果を受信したユーザ端末４０は、受信した検索結果を復号し、情報源から提供されているままの形を有する情報を得る。
【０１０６】
上記のように、検索キーワードを完全準同型暗号方式により暗号化し、暗号化された検索キーワードに基づいて検索サーバ７０に検索処理を実行させることにより、検索キーワードを検索サーバ７０に知られずに済む。その結果、ユーザのプライバシーがむやみに侵害されるのを回避することが可能になる。
【０１０７】
以上、本実施形態に係る検索システムのシステム構成について説明した。次に、当該検索システムに含まれる各構成要素の機能について、より詳細に説明する。但し、ユーザ端末４０の機能構成については上記の第２実施形態に係るユーザ端末４０と実質的に同じであるため、ここでは詳細な説明を省略する。
【０１０８】
［３−２：検索サーバ７０の機能構成］
図１３を参照しながら、本実施形態に係る検索サーバ７０の機能構成について説明する。図１３は、本実施形態に係る検索サーバ７０の機能構成について説明するための説明図である。
【０１０９】
図１３に示すように、検索サーバ７０は、主に、通信部７０１と、検索アルゴリズム実行部７０２とにより構成される。
【０１１０】
通信部７０１は、ネットワーク５０を介してユーザ端末４０からデータを受信したり、データをユーザ端末４０に送信したりする通信手段である。ユーザ端末４０から暗号化された検索キーワードが送信されると、通信部７０１は、その暗号化された検索キーワード（以下、暗号データ）を受信する。通信部７０１により受信された暗号データは、検索アルゴリズム実行部７０２に入力される。
【０１１１】
暗号データが入力されると、検索アルゴリズム実行部７０２は、入力された暗号データを入力とする検索アルゴリズムを実行する。検索アルゴリズムから検索結果が出力されると、検索アルゴリズム実行部７０２は、検索アルゴリズムから出力された検索結果（以下、出力結果）を通信部７０１に入力する。出力結果が入力された通信部７０１は、入力された出力結果をユーザ端末４０に送信する。
【０１１２】
以上、本実施形態に係る検索サーバ７０の機能構成について説明した。
【０１１３】
上記の通り、本実施形態においては、検索キーワードがそのまま検索サーバ７０に送信されることはない。そのため、本実施形態に係る検索システムの仕組みを適用することにより、ユーザ端末４０に入力された検索キーワードの内容が検索サーバ７０に知られずに済み、ユーザのプライバシーを保護することが可能になる。
【０１１４】
［３−３：検索処理の流れ］
次に、図１４を参照しながら、本実施形態に係る検索処理の流れについて説明する。図１４は、本実施形態に係る検索処理の流れについて説明するための説明図である。なお、図１４に示す検索処理は、ユーザ端末４０及び検索サーバ７０により実行される。また、ユーザ端末４０は、完全準同型暗号方式の公開鍵ｐｋ及び秘密鍵ｓｋを保持しているものとする。さらに、検索サーバ７０は、完全準同型暗号方式の公開鍵ｐｋを保持しているものとする。
【０１１５】
図１４に示すように、まず、ユーザ端末４０に対し、検索キーワードｑが入力される（Ｓ３０１）。検索キーワードｑが入力されると、ユーザ端末４０は、公開鍵ｐｋを利用して検索キーワードｑを暗号化し、暗号データｃを生成する（Ｓ３０２）。つまり、ユーザ端末４０は、ｃ←Ｅｎｃ（ｑ，ｐｋ）を実行する。次いで、ユーザ端末４０は、暗号データｃを検索サーバ７０に送信する（Ｓ３０３）。
【０１１６】
暗号データｃを受信した検索サーバ７０は、受信した暗号データｃを検索アルゴリズムｆに入力し、公開鍵ｐｋを用いて検索アルゴリズムｆによる処理を実行する（Ｓ３０４）。つまり、検索サーバ７０は、ｒ←Ｐｒｏｃｅｓｓ（ｃ，ｆ，ｐｋ）を実行し、検索アルゴリズムｆから出力される検索結果ｒ（以下、出力結果ｒ）を得る。次いで、検索サーバ７０は、出力結果ｒをユーザ端末４０に送信する（Ｓ３０５）。
【０１１７】
出力結果ｒを受信したユーザ端末４０は、秘密鍵ｓｋを用いて出力結果ｒに復号処理を施し、出力結果Ｒ（検索キーワードｑによる検索結果に対応）を得る（Ｓ３０６）。つまり、ユーザ端末４０は、Ｒ←Ｄｅｃ（ｒ，ｓｋ）を実行する。出力結果Ｒが得られると、ユーザ端末４０は、出力結果Ｒをユーザに対して表示する（Ｓ３０７）。
【０１１８】
以上、本実施形態に係る検索処理の流れについて説明した。
【０１１９】
以上、本発明の第３実施形態について説明した。本実施形態に係る技術を適用することにより、検索キーワードを検索サーバ７０に知られることなく検索処理を実行することが可能になる。その結果、ユーザが入力した検索キーワードの内容を検索サーバ７０に知られずに済み、ユーザのプライバシーが保護される。
【０１２０】
＜４：ハードウェア構成＞
上記の監視カメラ１０、監視サーバ２０、ユーザ端末４０、データ処理サーバ６０、検索サーバ７０が有する各構成要素の機能は、例えば、図１５に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図１５に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、ＰＨＳ、ＰＤＡ等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のＰＨＳは、Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍの略である。また、上記のＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である。
【０１２１】
図１５に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、を有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６と、を有する。但し、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。そして、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【０１２２】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０１２３】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。
【０１２４】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。そして、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。さらに、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。
【０１２５】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【０１２６】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。但し、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【０１２７】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。但し、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【０１２８】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は各種通信用のモデム等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。そして、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【０１２９】
＜５：まとめ＞
最後に、本発明の実施形態に係る技術内容について簡単に纏める。
【０１３０】
上記の実施形態に係る技術は、次のような端末装置と、サーバとを含むデータ処理システムに関する。上記の端末装置は、暗号化部と、暗号データ送信部と、暗号データ受信部と、復号部とを有する。上記の暗号化部は、完全準同型暗号方式により入力データを暗号化して暗号データを生成するものである。また、上記の暗号データ送信部は、前記暗号化部により生成された暗号データをサーバに送信するものである。そして、上記の暗号データ受信部は、前記サーバにて所定の処理が施された前記暗号データを受信するものである。さらに、上記の復号部は、前記所定の処理が施された暗号データを復号するものである。
【０１３１】
暗号化方式として完全準同型暗号方式を採用していることにより、暗号データに所定の処理を施して得られたデータの復号結果と、入力データに所定の処理を施して得られるデータとが一致する。そのため、サーバでは暗号データが処理されているが、端末装置は、実質的にサーバで入力データを処理した場合と同じ処理結果を得ることができる。さらに、サーバには入力データの内容が一切漏れないため、端末装置は、サーバに入力データの内容を知られることなく、入力データの処理をサーバに代行させることができる。
【０１３２】
（備考）
上記の監視カメラ１０、ユーザ端末４０は、端末装置の一例である。上記の通信部１０５、４０４は、暗号データ送信部、暗号データ受信部、第１の送信部、第１の受信部の一例である。上記の画像送信部１０７は、異常判定部、画像データ送信部の一例である。上記の暗号化部１０４、４０３、復号部１０６、４０５は、鍵保持部の一例である。上記の監視サーバ２０、データ処理サーバ６０、検索サーバ７０は、サーバの一例である。上記の通信部２１１、６０１、７０１は、暗号データ受信部、暗号データ送信部、第２の受信部、第２の送信部の一例である。上記の異常判定アルゴリズム実行部２１２、データ処理部６０２、検索アルゴリズム実行部７０２は、処理部の一例である。上記の監視カメラシステム、検索システムは、データ処理システムの一例である。
【０１３３】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１３４】
１０      監視カメラ
１０１    鍵生成部
１０２    撮像部
１０３    画像記憶部
１０４    暗号化部
１０５    通信部
１０６    復号部
１０７    画像送信部
２０      監視サーバ
２１      画像解析装置
２１１    通信部
２１２    異常判定アルゴリズム実行部
２１３    画像受信部
２１４    記憶部
２２      異常判定アルゴリズム生成装置
２２１    学習データ収集部
２２２    記憶部
２２３    機械学習部
３０      表示装置
４０      ユーザ端末
４０１    鍵生成部
４０２    入力部
４０３    暗号化部
４０４    通信部
４０５    復号部
４０６    表示部
５０      ネットワーク
６０      データ処理サーバ
６０１    通信部
６０２    データ処理部
６０３    記憶部
７０      検索サーバ
７０１    通信部
７０２    検索アルゴリズム実行部
【図１】
2012049679.tif 000003
【図２】
2012049679.tif 000004
【図３】
2012049679.tif 000005
【図４】
2012049679.tif 000006
【図５】
2012049679.tif 000007
【図６】
2012049679.tif 000008
【図７】
2012049679.tif 000009
【図８】
2012049679.tif 000010
【図９】
2012049679.tif 000011
【図１０】
2012049679.tif 000012
【図１１】
2012049679.tif 000013
【図１２】
2012049679.tif 000014
【図１３】
2012049679.tif 000015
【図１４】
2012049679.tif 000016
【図１５】
2012049679.tif 000017