(57)【特許請求の範囲】
【請求項１】
撮像装置と、前記撮像装置と接続されているクライアント装置と、前記クライアント装置と接続されているサーバー装置とを備え、前記撮像装置で取得された画像データの改ざんを検証する検証システムであって、
前記撮像装置は、
当該撮像装置を識別するための識別番号である識別子と、マスター鍵とを記憶する記憶部と、
前記画像データを取得する画像形成部と、
前記画像データから該画像データのハッシュ値を算出するとともに、前記識別子と前記マスター鍵から生成された個別鍵で、算出したハッシュ値を符号化してチェックデータを生成するデータ処理部と、
前記識別子、前記チェックデータおよび前記画像データを前記クライアント装置に送信する送信部と、を備え、
前記サーバー装置は、
前記マスター鍵および該サーバー装置に固有の秘密鍵を記憶する記憶部と、
前記撮像装置から送信される前記識別子および前記チェックデータを前記クライアント装置を介して受信する受信部と、
受信した前記識別子と前記マスター鍵から生成された個別鍵で前記チェックデータから元のハッシュ値を復号し、当該復号された元のハッシュ値を前記秘密鍵で符号化して署名情報を生成するデータ処理部と、
前記元のハッシュ値および前記署名情報を前記クライアント装置に送信する送信部と、を備え、
前記クライアント装置は、
前記秘密鍵と対になる公開鍵が記憶された記憶部と、
前記識別子、前記チェックデータおよび前記画像データを前記クライアント装置から、前記元のハッシュ値および前記署名情報を前記サーバー装置から受信する受信部と、
受信した前記識別子および前記チェックデータを前記サーバー装置に送信する送信部と、
受信した前記画像データから算出したハッシュ値と受信した前記元のハッシュ値とが等しいか否かを確認する受信信号処理部と、
受信した前記署名情報を前記公開鍵で復号して、受信した前記元のハッシュ値が前記サーバー装置から送られたものであることを検証するデータ処理部と、を備える
検証システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、検証システムに関し、より詳細には、ネットワークを介して送信される電子メールメッセージにおいて、画像データからなるメッセージを複数の鍵情報により暗号化と復号を図り、前記メッセージの改ざんを発見し排除できる検証システムに関する。
【０００２】
【従来の技術】
近年インターネットを通じて各種情報(メッセージ)のやり取りが頻繁に行われるようになってきた。これと共にハッカーがメールサーバーやクライアントに侵入して他人のメールを読んでその情報を悪用したり、改ざんして混乱を引起こす危険性が増大している。このような状況の中で、最近は文字によるメッセージだけでなく、画像データを多く含むメッセージ或いは画像データからなるメッセージが送受信されるようになり、画像データの細かな部分に改ざんがあっても発見されにくいケースがでてきている。このような実状とは別に、従来から改ざんを排除するために電子検証の技術が開発されている。
この技術によるシステムでは、メッセージの送信者Ａは、当該メッセージを受信者Ｂに送信すると共に認証局Ｃに送信し、受信者Ｂは、発信者Ａから直接受信したメッセージの内容と認証局Ｃ経由で受信したメッセージの内容とを比較し、メッセージ内容に改ざんがあったか否かを検証している。
より具体的には、送信者Ａは送信しようとするメッセージをハッシュ関数に入れてメッセージのハッシュ値を取得する。取得したハッシュ値を秘密鍵で暗号データ化し、電子署名値として当該メッセージに添付し受信者Ｂ宛に送信する。
また認証局Ｃ宛に電子署名値を送信し、認証局Ｃはこの電子署名値と認証局Ｃが発行する送信者Ａの証明書と公開鍵とをセットにして受信者Ｂに送信する。
受信者Ｂは送信者Ａから直接取得したメッセージをハッシュ関数に入れてハッシュ値を取得し、また認証局Ｃから送信された電子署名値を、送信された公開鍵で復号化しハッシュ値を取得する。そしてこれらハッシュ値どうしを比較し、メッセージに改ざんが有ったか無かったを判断するものである。
【０００３】
【発明が解決しようとする課題】
しかしながら、前記従来技術は、もっぱら文字によるメッセージを念頭に開発された技術であり、画像データを多く含んだり或いは画像データからなるメッセージデータの場合は、各種鍵情報の取扱いが単純なために、画像データに改ざんがあっても、その改ざんを排除できないという問題があった。
【０００４】
本発明は、前記問題に鑑みてなされたもので、その目的は、ネットワークを介して送信される電子メールメッセージにおいて、画像データからなるメッセージを複数の鍵情報により暗号化と復号を図ることにより、前記メッセージの改ざんを排除することができる検証システムを提供することである。
【０００５】
【課題を解決するための手段】
請求項１の発明は、撮像装置と、撮像装置と接続されているクライアント装置と、クライアント装置と接続されているサーバー装置とを備え、撮像装置で取得された画像データの改ざんを検証する検証システムである。
撮像装置は、当該撮像装置を識別するための識別番号である識別子と、マスター鍵とを記憶する記憶部と、画像データを取得する画像形成部と、画像データから該画像データのハッシュ値を算出するとともに、識別子とマスター鍵から生成された個別鍵で、算出したハッシュ値を符号化してチェックデータを生成するデータ処理部と、識別子、チェックデータおよび画像データをクライアント装置に送信する送信部と、を備えるものである。
サーバー装置は、マスター鍵および該サーバー装置に固有の秘密鍵を記憶する記憶部と、撮像装置から送信される識別子およびチェックデータをクライアント装置を介して受信する受信部と、受信した識別子とマスター鍵から生成された個別鍵でチェックデータから元のハッシュ値を復号し、当該復号された元のハッシュ値を秘密鍵で符号化して署名情報を生成するデータ処理部と、元のハッシュ値および署名情報をクライアント装置に送信する送信部と、を備えるものである。
クライアント装置は、秘密鍵と対になる公開鍵が記憶された記憶部と、識別子、チェックデータおよび画像データをクライアント装置から、元のハッシュ値および署名情報をサーバー装置から受信する受信部と、受信した識別子およびチェックデータをサーバー装置に送信する送信部と、受信した画像データから算出したハッシュ値と受信した元のハッシュ値とが等しいか否かを確認する受信信号処理部と、受信した署名情報を公開鍵で復号して、受信した元のハッシュ値がサーバー装置から送られたものであることを検証するデータ処理部と、を備えるものである。
【００１２】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
図１及び図2は、本発明が適用される検証システムの環境を示す図であり、デジタルカメラ100（送信者）で作成された画像データのメッセージは、図示しないネットワークを介して前記カメラから直接又は他のパソコン400を経由して検証クライアント（受信者）200に送信される。またメッセージの改ざんの有無を検証するために検証サーバー（検証局）300経由で検証クライアント200に送信される。このとき検証サーバー300は自分自身がハッカー等の侵入を受けないようにファイヤーウォール500により保護されている（図2）。
【００１３】
図3は本発明の実施形態に係る処理とデータの流れ図、図４は本発明の実施形態に係るデジタルカメラ、検証クライアント、検証サーバーのそれぞれブロック構成図である。以下、図３及び図４に基き検証システムの動作について説明する。
メッセージの送信者に相当するデジタルカメラ100は、そのレンズ及びＣＣＤで形成された被写体の画像信号を受信インターフェース（受信Ｉ／Ｆ）114を通して画像形成部111に導入し、イメージデータimageを生成する。デジタルカメラ100は個々のカメラ毎に割当てられた識別子id_a並びにカメラ毎に異なる個別鍵ki_aを記憶装置113に記憶している。個別鍵ki_aは、特定の関数式で表わされる暗号化式情報として記憶される。ここでは、個別鍵ki_aは関数式ｋｉ_ａ＝Ｅｎｃ（ｋｍ，ｉｄ_a）として定義される。なお、ｋｍは後述する検証サーバー300のマスター鍵としての、例えば特定数値などの設定情報である。従ってマスター鍵kmと識別子id_aが分かれば個別鍵ki_aは作成可能である。又、個別鍵ki_aは記憶装置113内に留まっており外部から読み出しはできないよう保護されている。
【００１４】
前記画像形成部111で形成されたイメージデータimageは、データ処理部112でハッシュ関数に入れてハッシュ値hashが取得され、更にこのハッシュ値は前記記憶装置113から呼び出される個別鍵ki_aで暗号され、後述する検証のためにcheck＝Enc（ki_a、hash(image)）のような関数式でデータ化する。チェックデータは、更にインターネットを介して送信するのに適当なＭＡＣ値macに計算し直される。
このようにして得られたＭＡＣ値macは識別子id_aと共に、データ処理部112によりイメージデータimazeに付加され、送信メッセージ100aとして送信Ｉ／Ｆ115を介して検証クライアント200宛に送信される。なお、これらの一連の処理は所定のプログラムに従ってＣＰＵ110が司る。
【００１５】
検証クライアント200では、受信Ｉ／Ｆ211を介してメッセージ100aを受信すると、受信々号処理部212においてイメージデータimazeと、ＭＡＣ値mac及び識別子id_aとに分離され、イメージデータimageは後述する検証のため一旦記憶装置214に格納する。識別子id_aとＭＡＣ値macは検証のために送信Ｉ／Ｆ213を介して検証サーバー300に送信される。
【００１６】
ここで、検証サーバー300の動作について述べる。
検証サーバー300は、検証クライアント200から受信Ｉ／Ｆ311を介して識別子id_a及びＭＡＣ値macを受信すると、まず受信々号処理部312でＭＡＣ値macと識別子id_aとを分離し、記憶装置314に格納する。記憶装置314は、特定の数値で構成されるなど、特定の設定情報としてのマスター鍵情報km、このマスター鍵情報を含む個別鍵ki_aの関数式ｋｉ_ａ＝Ｅｎｃ（ｋｍ，ｉｄ_a）、後述する秘密鍵kpriv、個別鍵とＭＡＣ値との関数式Ｈａｓｈ＝Ｄｅｃ（ki_a，mac）、ハッシュ値と秘密鍵kprivとの関数式ｓｉｇ＝Ｓｉｇ（kpriv、hash）を記憶する。
次にデータ処理部313は、記憶した識別子id_aとマスター鍵kmを呼出し、関数式ｋｉ_ａ＝Ｅｎｃ（ｋｍ，ｉｄ_a）から個別鍵ki_aを生成する。更にデータ処理部313は、個別鍵とＭＡＣ値との関数式Ｈａｓｈ＝Ｄｅｃ（ki_a，mac）から元のハッシュ値hashを取得する。
更にデータ処理部313は、取得したハッシュ値hashに対し署名を与えるために記憶装置314から秘密鍵ｋprivを呼出し、ハッシュ値hashと秘密鍵kprivとの関数式ｓｉｇ＝Ｓｉｇ（kpriv、hash）から署名情報sigを取得する。これらのハッシュ値hashと署名情報sigは、送信Ｉ／Ｆ315を介して検証クライアント200に送信される。これらの一連の処理は、ＣＰＵ310が所定のプログラムに従って実行する。
【００１７】
再び、検証クライアント200の動作について述べると、検証クライアント200は、検証サーバー300から受信Ｉ／Ｆ211を介して前記署名情報sigとハッシュ値hashを受信し、データ処理部215に導入する。
ここで、受信々号処理部212は、既にイメージデータimageを受信して記憶装置214に格納しているので、データ処理部215はこれを呼出し、ハッシュ関数に入れてハッシュ値hash（image_1）を取得する。そしてこのハッシュ値hash（image_1）と検証サーバー300から取得した元のハッシュ値hashとを比較し、同じであればイメージデータの送信過程においてデータの改ざんはなかったものと判断し、同じでない場合何らかの改ざん等が行われたものと判断する。
一方、記憶装置214は公開鍵kpubを記憶している。公開鍵kpubは前記秘密鍵kprivと一対になっているもので、公開鍵kpubを使用することによって、サーバー300の秘密鍵kprivで署名されたデータのみが、関数式ｓｉｇ＝Ｓｉｇ（kpriv、hash）から復号化できる。そこでデータ処理部215は、記憶装置214から公開鍵kpubを呼出し、受信した署名情報sigを復号化し、ハッシュ値hashを取得する。そしてこのハッシュ値が検証サーバー300から送信されたものであることを確認し、前記改ざんの判断結果を検証する。これらの一連の処理はＣＰＵ210が所定のプログラムに従って実行する。
【００１８】
図５及び図６は本発明における検証システムの手順を示すフロー図である。図３、図4で述べた検証システムの動作をこのフロー図に従って説明すると、デジタルカメラ（図５）は被写体を撮影しイメージデータを生成し（Ｓ１１）、イメージデータＤ１を作成する。このイメージデータはハッシュ関数にいれてハッシュ値を取得し、これをデジタルカメラに埋め込まれた個別鍵で暗号し（Ｓ１２）、ＭＡＣ値ｄ２を作成する。イメージデータｄ１とＭＡＣ値Ｄ２は、検証クライアント200に送信される。
【００１９】
検証クライアント200はデータ送信の呼びかけに応じて(図６)、ＭＡＣ値Ｄ２を読込み（Ｓ２１）、次いでイメージデータＤ１を読込む（Ｓ２２）。読込んだＭＡＣ値は検証サーバー300に送信される（Ｓ２３）。また読込んだイメージデータはハッシュ関数に入れてハッシュ値を取得する（Ｓ２４）。
【００２０】
ここで検証サーバー300における動作フローについて説明する。
検証サーバー300は検証クライアント200からの呼びかけに応じてＭＡＣ値を受信し（Ｓ２５）、ＭＡＣ値からデジタルカメラ100の識別子ＩＤid_aを取得する（Ｓ２６）。この識別子ＩＤid_aを元に、ｋｉ_ａ＝Ｅｎｃ（ｋｍ，ｉｄ_a）から個別鍵ki_aを作成する（Ｓ２７）。作成した個別鍵ki_aによりＭＡＣ値を復号してハッシュ値hashを取得する（Ｓ２８）。このハッシュ値hashを秘密鍵kprivで署名（暗号）して署名情報を作成する（Ｓ２９）。このようにして作成したハッシュ値hashと署名情報sigを検証クライアント200に送信する（Ｓ３０）。
【００２１】
再び検証クライアント200に戻り、検証クライアント200はサーバー300からハッシュ値hashと署名情報sigを受信し（Ｓ３１）、受信したハッシュ値hashと署名情報sigが送信したマック値（Ｓ２３）の処理結果のものか否かチェックする（Ｓ３２）。送信したマック値（Ｓ２３）の処理結果のものでなければ（Ｓ３２，ＮＧ）、検証処理はキャンセルされる。送信したマック値（Ｓ２３）の処理結果のものであれば（Ｓ３２，ＯＫ）、検証クライアント200が計算したハッシュ値hash(image_1)とサーバー300から受信したハッシュ値hashと同じか否かチェックする（Ｓ３３）。同じでなければ（Ｓ３３，ＮＧ）、検証処理はキャンセルされる。同じの場合は（Ｓ３３，ＯＫ）、公開鍵kpubにより署名情報sigによるハッシュ値が正当か否かチェックされ（Ｓ３４）、正当でなければ（Ｓ３４，ＮＧ）エラー表示がなされ、正当であれば検証を終了する。
【００２２】
以上の検証処理は、検証クライアント200及び検証サーバー300の各コンピュータに搭載されたソフトウエアシステムにより実行される。図７及び図８は、それらのソフトウエアダイアグラムを示す。
図７は検証クライアントのコンピュータのソフトウエアダイアグラムであり、ＯＳＩ最上位層に位置するアプリケーション毎にそれぞれ対応したアプリケーションプロトコルがある。各種証明作業を行う証明サーバーには、ＭＡＣ値受信、ハッシュ値の送信等の通信系をサポートするアプリケーション、画像データの個別鍵による暗号や復号化、公開鍵による署名の作成アプリケーションがあり、通信系アプリケーションプロトコルとしてservletエンジン、ＷＷＷサーバー更にはインターネットの基本プロトコルであるＴＣＰ／ＴＰがある。これらはＯＳによって動くことになる。
図８は、検証クライアントのソフトウエアダイアグラムであり、検証クライアントアプリケーションに対応してインターネット上で各種情報の送受信を行うための通信系プロトコルがあり、また公開鍵による署名情報の検証ソフト、デジタルカメラとの情報の入出力を担当するソフト等が設定される。
【００２３】
本実施形態によれば、デジタルカメラ100において個別鍵と識別子により画像データ（イメージデータ）のアッシュ値を作成して検証サーバー300に送信し、検証サーバー300では、マスター鍵kmと識別子情報に基いて個別鍵ki_aを復号化し、これにより受信したハッシュ値から元のハッシュ値を取得している。このように複数の鍵操作により元のハッシュ値を取得するので、検証サーバーにおいて元のハッシュ値が厳重に保護される。しかもこれを秘密鍵kprivにより更に暗号化して検証クライアント200に送り、これを公開鍵kpubで検証するので、データの改ざんを強力に排除できる。
【００２４】
【発明の効果】
本発明によれば、撮像装置において、識別子とマスター鍵から生成された個別鍵によって符号化されたハッシュ値および識別子をネットワークを介して送信することができる。
また、サーバー装置において、撮像装置から符号化されて送信されたハッシュ値は、当該撮像装置から送信された識別子および記憶してあるマスター鍵で生成する個別鍵で復号されて元のハッシュ値を取得するので、ハッシュ値自身が改ざんされることをより強力に排除することができる。さらに、元のハッシュ値を、記憶してある秘密鍵で暗号化して署名情報として生成するので、元のハッシュ値がサーバー装置において復号されたものであることが検証できるようになる。
また、クライアント装置において、サーバー装置から受信した署名情報を、サーバー装置が記憶してある秘密鍵と対になる公開鍵で復号して元のハッシュ値を取得するので、元のハッシュ値がサーバー装置において復号されたものであることが検証できる。これにより、改ざん排除効果を向上させることができるようになる。さらに、元のハッシュ値と撮像装置から送信されたハッシュ値との比較により画像データの改ざんが発見でき強力に排除できる。
【図面の簡単な説明】
【図１】本発明が適用されるネットワーク環境の概略構成図である。
【図２】本発明が適用されるネットワーク環境の概略構成図である。
【図３】本発明に係る検証処理とデータの流れ図である。
【図４】本発明に係るデジタルカメラ、検証クライアント、検証サーバーのブロック構成図である。
【図５】本発明に係る画像データの検証動作のフロー図である。
【図６】本発明に係る画像データの検証動作のフロー図である。
【図７】本発明に係る検証サーバーのソフトウエア構成を示す図である。
【図８】本発明に係る検証クライアントのソフトウエア構成を示す図である。
【符号の説明】
１００・・デジタルカメラ、２００・・検証クライアント、３００・・検証サーバー、４００・・他のパソコン
【図１】
0004543570.tif 000002
【図２】
0004543570.tif 000003
【図３】
0004543570.tif 000004
【図４】
0004543570.tif 000005
【図５】
0004543570.tif 000006
【図６】
0004543570.tif 000007
【図７】
0004543570.tif 000008
【図８】
0004543570.tif 000009