(57)【要約】【目的】  情報装置内やネットワーク上に存在する情報データを不正行為から確実に保護することが可能な暗号装置を提供する【解決手段】  暗号鍵及び情報データを受信する受信部と、暗号鍵を用いて情報データの暗号化をなす暗号部と、暗号化された情報データをコンテナデータへ埋め込んでステガノグラフィデータを生成するデータ埋め込み部と、ステガノグラフィデータを蓄積する格納装置と、を有する。また、上記格納装置に格納されたステガノグラフィデータからステガノグラフィデータに埋め込まれた暗号化情報データを抽出するデータ抽出部と、受信した暗号鍵を用い、抽出された暗号化情報データの復号をなす復号部と、を有する。【選択図】  図２
2005229382.tif 000002
【特許請求の範囲】
【請求項１】
暗号装置であって、
情報データ及び暗号鍵を受信する受信部と、
前記暗号鍵を用いて前記情報データの暗号化をなす暗号部と、
暗号化された情報データをコンテナデータへ埋め込んでステガノグラフィデータを生成するデータ埋め込み部と、
前記ステガノグラフィデータを蓄積する格納装置と、を有することを特徴とする暗号装置。
【請求項２】
前記格納装置に格納されたステガノグラフィデータから前記ステガノグラフィデータに埋め込まれた暗号化情報データを抽出するデータ抽出部と、前記受信部により受信した暗号鍵を用い、抽出された暗号化情報データの復号をなす復号部と、を有することを特徴とする請求項１に記載の暗号装置。
【請求項３】
真正乱数を生成する乱数生成器を更に有し、前記暗号部は前記真正乱数を用いて前記情報データの暗号化をなすことを特徴とする請求項１に記載の暗号装置。
【請求項４】
前記暗号部及び前記復号部は、ＫＰＳ暗号鍵交換アルゴリズムを用いて前記情報データの暗号化をなすことを特徴とする請求項２に記載の暗号装置。
【請求項５】
前記暗号鍵及び前記情報データを受信して前記受信部に中継するインターフェース回路を有することを特徴とする請求項２に記載の暗号装置。
【請求項６】
前記暗号部及び前記復号部における暗号方式は公開鍵暗号方式であり、２対の公開鍵及び秘密鍵のうち一対が前記格納装置に割り当てられていることを特徴とする請求項２に記載の暗号装置。
【請求項７】
前記格納装置に格納されたステガノグラフィデータへのアクセス指令が発せられたことを検出するアクセス指令検出部と、
前記受信部により受信した、前記アクセス指令に関連する暗号鍵が、前記ステガノグラフィデータに埋め込まれた暗号化情報データに対応するか否かを検証する検証部と、
前記暗号鍵が前記ステガノグラフィデータに埋め込まれた暗号化情報データに対応しないと検証されたときに、前記暗号化情報データの改変を指令する改変指令を発するコントローラと、を有することを特徴とする請求項２に記載の暗号装置。
【請求項８】
前記コントローラは、前記データ埋め込み部及びデータ抽出部を制御して、前記暗号化情報データの改変を実行することを特徴とする請求項７に記載の暗号装置。
【請求項９】
前記暗号化情報データの改変は、前記ステガノグラフィデータからの前記暗号化情報データの削除、前記暗号化情報データの破壊、及び前記暗号化情報データのダミーデータとの置換のうちいずれか１を含むことを特徴とする請求項７に記載の暗号装置。
【請求項１０】
前記コントローラは、前記アクセス指令が発せられたことが検出されたときに、前記ステガノグラフィデータへのアクセスを保留せしめる保留指令を発することを特徴とする請求項７に記載の暗号装置。
【請求項１１】
前記コントローラは、前記改変指令が発せられた場合に、前記ステガノグラフィデータに埋め込まれた暗号化情報データの改変に先立って、前記ステガノグラフィデータを退避することを特徴とする請求項８に記載の暗号装置。
【請求項１２】
前記コントローラは、前記暗号化情報データの改変を実行した後のステガノグラフィデータを前記アクセス指令に応答するデータとしてアクセスを許可することを特徴とする請求項８に記載の暗号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は暗号装置、特に情報データを秘匿するための暗号化及び／又は復号化をなす暗号装置に関する。
【背景技術】
【０００２】
インターネットの進展に伴い、インターネットに接続された企業や個人のＰＣ（パーソナルコンピュータ）及びプライベートネットワークは外部からの侵入等の不正行為による危険に晒されている。このような不正行為からＰＣやネットワーク上に存在する情報データを保護するために、不正侵入を防止するファイアウォールや、ＲＳＡ方式等の暗号、認証、デジタル署名、など種々のセキュリティ技術・措置が講じられている。
【０００３】
また、近年、情報データを保護するための技術としてステガノグラフィ（例えば、特許文献１参照）についても検討されている。ステガノグラフィは、「画像深層暗号」、「情報非可視化」等とも称され、情報データを秘匿化する技術である。すなわち、秘匿すべき情報データを別の情報データに埋め込んで他人に気付かれないようにする技術である。当該別の情報データは、コンテナ（container）データ、ベッセル（vessel）データ等と呼ばれ、例えば、画像データや音声データ、その他デジタルデータ等が用いられる。
【０００４】
また、暗号通信を行う場合、暗号アルゴリズムと鍵管理アルゴリズムが必要になるが、安全に鍵を交換する鍵管理アルゴリズムとしてＫＰＳ（Key Predistribution System）がある。ここで、ＫＰＳは、横浜国立大学の松本勉助教授と東京大学の今井秀樹教授によって考案されたものである（特許文献２参照）。
【０００５】
しかしながら、上記した従来の種々の技術によっても極めて強固なセキュリティを実現することは困難であった。例えば、完全なファイアウォールや完全なセキュリティを有するソフトウエアを実現するのは事実上不可能であり、例えば、ソフトウエアのセキュリティホールを介してコンピュータへの不正侵入、不正操作が行われている。また、かかる不正行為とセキュリティ技術の進展とはいたちごっこであり、新たなセキュリティ技術であってもその解析等によっていずれは破られてしまう。
【０００６】
従って、かかる不正行為からＰＣ等の情報装置やネットワーク上に存在する情報データを確実に保護することが重要な課題となっている。
【特許文献１】特開２００３−２９８８３２号公報
【特許文献２】特許第１９８４３９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上記した点に鑑みてなされたものであり、ＰＣ、サーバ、データベース装置等のコンピュータや情報装置内やネットワーク上に存在する情報データを不正行為から確実に保護することが可能な暗号装置を提供することをその目的とする。
【課題を解決するための手段】
【０００８】
本発明による暗号装置は、暗号鍵及び情報データを受信する受信部と、暗号鍵を用いて情報データの暗号化をなす暗号部と、暗号化された情報データをコンテナデータへ埋め込んでステガノグラフィデータを生成するデータ埋め込み部と、ステガノグラフィデータを蓄積する格納装置と、を有することを特徴としている。
【０００９】
また、本発明による暗号装置は、上記格納装置に格納されたステガノグラフィデータからステガノグラフィデータに埋め込まれた暗号化情報データを抽出するデータ抽出部と、受信した暗号鍵を用い、抽出された暗号化情報データの復号をなす復号部と、をさらに有することを特徴としている。
【００１０】
また、本発明による暗号装置は、上記格納装置に格納されたステガノグラフィデータへのアクセス指令が発せられたことを検出するアクセス指令検出部と、受信部により受信した、アクセス指令に関連する暗号鍵が、ステガノグラフィデータに埋め込まれた暗号化情報データに対応するか否かを検証する検証部と、上記暗号鍵が上記ステガノグラフィデータに埋め込まれた暗号化情報データに対応しないと検証されたときに、暗号化情報データの改変を指令する改変指令を発するコントローラと、を有することを特徴ととしている。
【００１１】
また、本発明による暗号装置において、上記コントローラは、データ埋め込み部及びデータ抽出部を制御して、上記暗号化情報データの改変を実行することを特徴としている。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施例について図面を参照しつつ詳細に説明する。なお、以下に示す実施例において、等価な構成要素には同一の参照符を付している。
【実施例１】
【００１３】
［暗号装置の構成］
図１は、本発明の実施例１である暗号装置１０の構成を模式的に示すブロック図である。暗号装置１０は、情報データの暗号化及び／又は復号化をなす暗号化／復号化処理部（以下、暗復号処理部という）１１、データのステガノグラフィ処理をなすステガノグラフィ処理部１２、乱数生成器１３、格納装置１４、コントローラ（ＣＰＵ）１５及びホストインターフェース１６から構成されている。なお、これらの構成回路は信号バス１７を介してコントローラ（又はＣＰＵ）１５に接続されている。すなわち、コントローラ１５は、暗号装置全体の制御をなす。
【００１４】
以下に、上記した暗号装置１０をいわゆるＵＳＢ（Universal Serial Bus）メモリとして構成した場合を例に説明する。すなわち、暗号装置１０は、例えば、ＵＳＢインターフェース１６、及び所定の容量のＲＡＭ（Random Access Memory）を有し、例えばＰＣやサーバ等のコンピュータに接続され、動作するように構成されている。なお、本発明は、ＵＳＢメモリに限らず、例えば、コンパクトフラッシュ（米国SanDisk社の登録商標）、メモリスティック（ソニー(株)の商標）等の種々のメモリ装置に適用することができる。すなわち、所定の通信規約に準拠したインターフェース１６を有するように構成されている。
【００１５】
本実施例の暗号装置１０について図１及び図２を参照して詳細に説明する。図２は、暗号装置１０の構成を模式的に示す図である。
【００１６】
暗号装置１０は、ＵＳＢコネクタ（図示しない）、及び、例えばＵＳＢver２．０インターフェース１６を有し、ＵＳＢコネクタをコンピュータや携帯情報端末等に接続して動作させることができる。また、所定容量を有する、例えば半導体ＲＡＭ（例えば、２５６ＭＢ、１ＧＢなど）からなる格納装置１４が搭載されている。暗号装置１０のコントローラ１５は、暗復号処理部１１、及びステガノグラフィ処理部１２とともにＬＳＩ上に構成されている。コントローラ１５は、後述する暗号鍵（すなわち、暗号化鍵及び復号化鍵）、情報データ等の種々のデータ、暗号／復号指令や格納・読み出し指令等のアクセス指令を含む種々の指令をインターフェース１６を介して受信する。
【００１７】
また、暗号装置１０には、物理乱数（真正乱数）生成器１３が設けられている。物理乱数生成器１３は、１ビットの乱数系列を生成する。この乱数系列は、熱雑音などの白色雑音をもとにデジタル処理されたもので、再現性のない一様な真正乱数系列である。
【００１８】
さらに、暗号装置１０には、コネクタを介して外部から供給された供給電圧を暗号装置１０の内部で用いられる電圧に変換するレギュレータ等の電源回路２１、また暗号装置１０の内部で用いられるクロック信号を生成するための発振器２２が設けられていてもよい。なお、これらの回路は、信号バス等によりコントローラ１５に接続されている。
【００１９】
コントローラ１５は、上記したように、暗復号処理部１１及びステガノグラフィ処理部１２をモジュール回路として含むＬＳＩ上に構成されているが、さらに、当該ＬＳＩ上には、コントローラ１５の制御によって動作するレジスタ、メモリ及び種々のデータ及びソフトウエアが格納されたフラッシュＲＯＭ（図示しない）などが搭載されている。例えば、当該ＬＳＩ内には、各種処理における入出力値や暗号鍵（暗号化鍵、復号化鍵）、これらから生成された演算値、ソースキー、共通鍵、セッションキーが格納されるレジスタ、メモリが実装されている。あるいは、暗号・復号処理において、平文、暗号文を処理するためにそれらを一時的に格納するバッファメモリが実装されている。
【００２０】
フラッシュＲＯＭに格納されたソフトウエアとしては、暗号装置１０が接続されたＰＣ等のコンピュータからの指令に基づいて、コントローラ１５の動作を制御するソフトウエアが含まれている。例えば、当該接続されたコンピュータとのデータ交換、暗復号処理部１１及びステガノグラフィ処理部１２における処理、格納装置１４へのアクセス等の処理をなすソフトウエアが含まれている。
【００２１】
また、暗号アルゴリズム、ステガノグラフィ処理アルゴリズム、外部とのデータや制御信号を授受するためのデータ及びソフトウエアが格納されている。なお、かかるアルゴリズム等は、ソフトウエア、ハードウエアあるいはファームウエアのいずれによって構成されていてもよい。
【００２２】
［暗号装置の動作］
上記したように、暗復号処理部１１は、暗号装置１０に入力された情報データの暗号化をなすと共に、暗号化されたデータの復号化をなす。なお、ここで暗号化とは、通常のデータ（平文）を暗号アルゴリズム及び暗号鍵（暗号化鍵）を用い、暗号鍵の所有者以外は解読することができないデータに変換することをいい、復号化とは暗号鍵（復号化鍵）を用いて暗号化されたデータを解読することをいう。暗号アルゴリズムとしては、暗号化と復号化に同じ鍵を用いる共通鍵暗号アルゴリズム（又は、秘密鍵暗号又は対称鍵暗号アルゴリズム）、及び、対になる２つの鍵（公開鍵及び秘密鍵）を使ってデータの暗号化・復号化を行なう公開鍵暗号アルゴリズム（又は、非対称暗号アルゴリズム）がある。
【００２３】
本実施例では、暗号アルゴリズムとしてＤＥＳ（Data Encryption Standard）を用いた場合を例に説明する。なお、TripleＤＥＳ（Ｔ−ＤＥＳ）や他の秘密鍵暗号アルゴリズムを用いることもできる。あるいはＲＳＡ暗号等の公開鍵暗号アルゴリズム等を用いることもでき、特定の暗号アルゴリズムに限定されない。暗号通信を行う場合、暗号アルゴリズムと鍵管理アルゴリズム又は鍵交換アルゴリズムとが必要になる。鍵管理アルゴリズムとしては、情報量の不足により原理的に攻撃が不可能な情報論的安全性を有するものを用いるのが好ましい。本実施例においてはＫＰＳ（Key Predistribution System）を用いた場合を例に説明するが、他の鍵管理アルゴリズムを用いてもよい。
【００２４】
かかるＫＰＳを用いた暗号通信では、相手の公開鍵（Public-ID）を入力するだけで送信者と受信者間で暗号鍵の授受を自動的かつ安全に行うことができる。すなわち、暗号鍵を共有するために通信を行う前に連絡を取り合ったり、公開鍵ファイルなどにアクセスする必要はない。Public-IDは、氏名と電話番号やインターネットのＩＤなど公開されている情報を使用できるので相手のコードを秘密裡に保管しておく必要はない。また、個人ごとにPublic-IDを設定すれば、パーソン・トゥ・パーソンの通信となるので、１台の機器を複数の人で使用する場合であっても、個別に機密保持が可能である。
【００２５】
本実施例においては、秘匿すべき情報データを格納装置１４に蓄積し、ユーザ間で共有する場合について説明する。
【００２６】
従って、秘匿すべき情報データを格納装置１４に格納するユーザを第１ユーザ（暗号通信における送信者に対応）、及び格納装置１４に格納された秘匿情報データを解読するユーザを第２ユーザ（暗号通信における受信者に対応）として説明する。
【００２７】
［暗号化及び復号化］
以下に本実施例における暗号化の手順について、図３を参照しつつ説明する。なお、図３において、暗復号処理部１１内で実行される処理については破線で囲んで示している。
(１．１)  まず、暗復号処理部１１はコントローラの制御の下、暗号化のための暗号鍵を受信する。すなわち、より具体的には、暗復号処理部１１内の処理ステップＳ１において、ＫＰＳ暗号鍵交換アルゴリズムは、第１ユーザ（すなわち、秘匿すべき情報データを格納するユーザ）から、第１ユーザの秘密鍵（Private-ID）Ｋ１を受信する。また、ＫＰＳ暗号鍵交換アルゴリズムは、第１ユーザにより入力された第２ユーザ（すなわち、秘匿すべき情報データを解読するユーザ）の公開鍵（Public-ID）Ｋ２を受信する。
【００２８】
ＫＰＳ暗号鍵交換アルゴリズムは、第１ユーザの秘密鍵及び第２ユーザの公開鍵からＫＰＳ共通鍵Ｋ３を生成する。
(１．２)  乱数生成器１３は、真正乱数Ｋ４を生成する。暗復号処理部１１において真正乱数Ｋ４を用いてセッション鍵Ｋ５が生成される。
(１．３)  暗復号処理部１１内の処理ステップＳ２において、ＫＰＳ共通鍵Ｋ３を暗号鍵としてセッション鍵Ｋ５を暗号アルゴリズムにより暗号化し、暗号化されたセッション鍵Ｋ６を生成する。
(１．４)  暗復号処理部１１内の処理ステップＳ３において、セッション鍵Ｋ５を暗号鍵として第１ユーザにより入力された情報データＫ７を暗号アルゴリズムにより暗号化し、暗号化データＫ８を生成する。
(１．５)  暗復号処理部１１内の処理ステップＳ４において、暗号化されたセッション鍵Ｋ６と暗号化データＫ８とを結合して通信文（通信データ）Ｋ９を生成する。
(１．６)  通信文Ｋ９は、ステガノグラフィ処理部１２において通信文Ｋ９をコンテナデータに埋め込んで秘匿化する（データ埋め込み）。通信文Ｋ９を埋め込むコンテナデータとしては、画像データや音声データ、テキストデータその他デジタルデータ等を用いることができる。当該コンテナデータは、予め暗号装置１０内に格納しておいたものを用いることができる。あるいは、ステガノグラフィ処理をする際に適宜、暗号装置１０内で生成するようにしてもよい。
(１．７)  コントローラ１５は、ステガノグラフィ処理部１２において生成されたデータ（以下、ステガノグラフィデータという）を格納装置１４に格納（蓄積）する。
【００２９】
次に格納装置１４に格納されたステガノグラフィデータを復号する手順について、図４を参照しつつ説明する。なお、図４において、暗復号処理部１１内で実行される処理については破線で囲んで示している。
(２．１)  まず、暗復号処理部１１内の処理ステップＳ１１において、第２ユーザ（すなわち、秘匿情報データを解読しようとするユーザ）は、第１ユーザ（すなわち、秘匿すべき情報データを格納したユーザ）の公開鍵（Public-ID）Ｋ１１をＫＰＳ暗号鍵交換アルゴリズムに入力する。また、第２ユーザは、第２ユーザの秘密鍵（Private-ID）Ｋ１２をＫＰＳ暗号鍵交換アルゴリズムに入力する。
【００３０】
ＫＰＳ暗号鍵交換アルゴリズムは、第１ユーザの公開鍵及び第２ユーザの秘密鍵からＫＰＳ共通鍵Ｋ１３を生成する。なお、ＫＰＳ共通鍵Ｋ１３は暗号化におけるＫＰＳ共通鍵Ｋ３と同一である。
(２．２)  ステガノグラフィ処理部１２は、格納装置１４に格納されていたステガノグラフィデータを読み出し、当該ステガノグラフィデータから埋め込まれていた通信文Ｋ１４（すなわち、暗号化時の通信文Ｋ９と同一）を抽出する（データ抽出）。
(２．３)  暗復号処理部１１内の処理ステップＳ１２において、通信文Ｋ１４から暗号化セッション鍵Ｋ１５及び暗号化データＫ１７が分離される。
(２．４)  暗復号処理部１１内の処理ステップＳ１３において、共通鍵Ｋ１３を暗号鍵として暗号化セッション鍵Ｋ１５を復号アルゴリズムにより復号し、セッション鍵Ｋ１６を生成する。
(２．５)  暗復号処理部１１内の処理ステップＳ１４において、暗号化データＫ１７をセッション鍵Ｋ１６を暗号鍵として復号アルゴリズムにより復号し、元のデータＫ１８（すなわち、暗号化前の情報データＫ７と同一）を取り出す。
【００３１】
上記した本発明の暗号装置１０によれば、暗号装置１０がコンピュータ、ゲートウェイ等を介してＩＰネットワーク等の公衆ネットワークやＬＡＮ等のプライベートネットワークに接続されている場合であっても、秘匿すべきデータの存在を知られることなく暗号装置１０内に安全にデータを秘匿しておくことができる。
【００３２】
上記したように、本発明の暗号装置１０によれば、秘匿すべき情報データは情報量的安全性に基づく暗号アルゴリズムによって暗号化され、たとえ量子コンピュータを用いられても破ることができない程の極めて強固な安全性を有している。その上、ステガノグラフィによって深層暗号化、情報非可視化されている。従って、たとえデータを持ち出されたとしても、非可視化されている上に、そのデータは情報量的安全性に基づく暗号アルゴリズムによって暗号化されているため、極めて強固な安全性を有している。
【００３３】
なお、特に、ステガノグラフィ処理部１２には耐タンパ装置が設けられているのが好ましい。耐タンパ装置としては、ステガノグラフィ処理部１２の解析に対するプロテクトや、データのコピーや移動に対して当該データを自動的に読取り不能となるように破壊する等のソフトウエア的な耐タンパ能力を有しているのが好ましい。
【００３４】
さらに暗号装置１０の他の各構成部、例えば暗復号処理部１１、乱数生成器１３、格納装置１４、コントローラ（又はＣＰＵ）１５等の全て、又は一部には耐タンパ装置が設けられていてもよい。耐タンパ装置としては、ＩＣ等に対する物理的な改ざん、破壊等に対して耐え得る装置でもよく、あるいは、外部からの各構成部の解析に対するプロテクトや、データのコピーや移動に対するプロテクト等、種々のハードウエア的、及びソフトウエア的な耐タンパ能力を有しているものであってもよい。
【００３５】
また、暗号装置１０がＵＳＢメモリとして構成されている場合について説明したが、これに限らず、コンパクトフラッシュカード、メモリスティック、ＩＣカード、ＩＣチップ等の種々の記憶メディアに適用することが可能である。
【実施例２】
【００３６】
図５及び図６は、本発明の実施例２である暗号装置１０の暗号化及び復号化をそれぞれ説明するためのブロック図である。暗号装置１０が、暗復号処理部１１、ステガノグラフィ処理部１２、乱数生成器１３、格納装置１４、コントローラ（又はＣＰＵ）１５を有し、これらの各構成部がコントローラ１５の制御の下、動作する点は上記した実施例と同様である。
【００３７】
本実施例においては、対になる２つの鍵（公開鍵及び秘密鍵）を使ってデータの暗号化・復号化を行なう公開鍵暗号（非対称鍵暗号）方式を用いた場合を例に説明する。本実施例においては、秘匿すべき情報データを暗号化、秘匿したデータ復号するために、格納装置１４に一方の暗号鍵（公開鍵、秘密鍵）を割り当てている。
【００３８】
より具体的には、情報データを暗号化する場合には、図５に示すように、秘匿すべき情報データを格納するユーザは当該ユーザの秘密鍵（Private-ID）Ｊ１、及び格納装置１４に割り当てられた公開鍵（Public-ID）Ｊ２を暗復号処理部１１に入力する。また、乱数生成器１３から真正乱数が暗復号処理部１１に入力される。暗復号処理部１１は、入力された（受信した）ユーザの秘密鍵Ｊ１及び格納装置１４の公開鍵Ｊ２を用いて、受信した秘匿すべき情報データＪ３を暗号化し、暗号化データＪ４を生成する。暗復号処理部１１においては、上記した実施例と同様、ＫＰＳ暗号鍵交換アルゴリズムが用いられている。また、他の暗号鍵交換アルゴリズムを用いることもできる。なお、情報論的安全性を有する暗号鍵交換アルゴリズムを用いるのが好ましい。また、本発明は特定の暗号アルゴリズムに限定されず、種々の暗号アルゴリズムを適用することができる。
【００３９】
得られた暗号化データＪ４は、ステガノグラフィ処理部１２においてコンテナデータに埋め込まれ、ステガノグラフィデータとして秘匿化される。コントローラ１５は、かかる暗号化された情報データが埋め込まれたステガノグラフィデータを格納装置１４に格納（蓄積）するよう制御する。
【００４０】
暗号化された情報データが埋め込まれたステガノグラフィデータを復号する場合には、図６に示すように、秘匿すべき情報データを格納するユーザは当該ユーザの公開鍵Ｊ１１及び格納装置１４に割り当てられた秘密鍵Ｊ１２を暗復号処理部１１に入力する。当該暗号鍵の入力、あるいはユーザの指令等の受信に応答して、ステガノグラフィ処理部１２は、格納装置１４からステガノグラフィデータを読み出し、当該ステガノグラフィデータに埋め込まれていた暗号化データＪ１３を取り出す。暗復号処理部１１は、入力されたユーザの公開鍵Ｊ１１及び格納装置１４の秘密鍵Ｊ１２を用いて、暗号化データＪ１３の復号を行い、元の情報データＪ１４を取り出す。
【００４１】
かかる構成によって、複数のユーザにより格納装置１４を共有して、秘匿すべき情報データを安全に格納し、及び読み出しをすることができる。
【００４２】
また、上記したように、本発明の暗号装置１０によれば、秘匿すべき情報データは情報量的安全性に基づく暗号アルゴリズムによって暗号化されている。その上、ステガノグラフィによって非可視化されている。従って、たとえデータを持ち出されたとしても、非可視化されている上に、そのデータは情報量的安全性に基づく暗号アルゴリズムによって暗号化されているため、極めて強固な安全性を有している。
【００４３】
なお、上記した実施例１及び実施例２における暗号装置１０は、ＰＣ、サーバ、データベース装置等のコンピュータ内に設けられ、動作するように構成されていてもよい。この場合、インターフェース１６は必ずしも必要ではないが、暗号装置１０は、当該コンピュータのＩＤＥバス、ＰＣＩバス、ＵＳＢなど、種々の外部バス、拡張バス等を介して動作するように構成されている。
【実施例３】
【００４４】
図７は、本発明の実施例３である暗号装置１０の構成を模式的に示すブロック図である。
【００４５】
暗号装置１０は、暗復号処理部１１、ステガノグラフィ処理部１２、格納装置１４、コントローラ（又はＣＰＵ）１５を有し、さらに後に詳述する検証部１５Ａが設けられている。また、これらの各構成部は信号バス１７を介してコントローラ１５に接続されている。すなわち、コントローラ１５は、本暗号装置全体の制御をなす。また、暗号装置１０は、ＰＣ、サーバ、データベース装置等のコンピュータ内に設けられ、動作するように構成されている。格納装置１４は、例えば、当該コンピュータのＩＤＥバスに接続され、インターフェース回路を介して上記した暗号装置１０の他の構成部に接続されていてもよい。
【００４６】
なお、暗号装置１０は、当該コンピュータのＩＤＥバス、ＰＣＩバス、ＵＳＢなど、種々の外部バス、拡張バス等を介して、当該コンピュータのプロセッサの指令に基づいて動作するように構成されていてもよい。
【００４７】
本実施例において、暗復号処理部１１は、暗号鍵を受信する。暗復号処理部１１は、受信した暗号鍵を用いて入力された（受信した）秘匿すべき情報データを暗号化する。暗復号処理部１１においては、秘密鍵暗号（対称鍵暗号）方式、公開鍵暗号（非対称鍵暗号）方式、その他種々の暗号アルゴリズムを用いることができる。すなわち、特定の暗号アルゴリズムに限定されない。なお、上記した実施例と同様、ＫＰＳ暗号鍵交換アルゴリズム等、情報論的安全性を有する暗号鍵交換アルゴリズムを用いるのが好ましい。
【００４８】
暗号化により得られた暗号化データは、ステガノグラフィ処理部１２においてコンテナデータに埋め込まれ（データ埋め込み）、ステガノグラフィデータとして秘匿化される。コントローラ１５は、かかる暗号化された情報データが埋め込まれたステガノグラフィデータを格納装置１４に格納するよう制御する。
【００４９】
以下に、格納装置１４に格納（蓄積）されているデータにアクセス（データの読み出し、使用、コピー、移動等）する指令（以下、アクセス指令という）が発せられたとき、暗号装置１０において実行される処理動作の手順について、図８に示すフローチャートを参照しつつ説明する。以下においては、格納装置１４からデータを読み出す旨のアクセス指令（読出指令）がなされた場合を例に説明するが、他のアクセス指令の場合もなされる動作は同様である。
【００５０】
コントローラ１５は、格納装置１４からデータを読み出す旨のアクセス指令（読出指令）を受信したことを検出する（ステップＳ１１）。コントローラ１５は、かかる読出指令に応答して、当該読出指令が、暗号化された情報データが埋め込まれたステガノグラフィデータ（すなわち、ステガノグラフィデータ・ファイル）を読み出す指令か否かを判別する（ステップＳ１２）。ステガノグラフィデータを読み出す指令が発せられたと判別されたとき、コントローラ１５の制御の下、以下の処理が実行される。なお、ステップＳ１２においてステガノグラフィデータを読み出す指令ではないと判別されたときは、すなわち、ステガノグラフィ処理部１２によってステガノグラフィ処理をなされたデータではないと判別されたときは、本ルーチンを終了する。
【００５１】
コントローラ１５は、格納装置１４に対し、データの送出を一時停止せしめる（保留させる）送出保留指示を指令する（ステップＳ１３）。
【００５２】
検証部１５Ａは、ステガノグラフィデータを読み出すことを指令するアクセス指令（読出指令）に応答して、暗復号処理部１１が当該アクセス指令に関連する暗号鍵を受信したかを検出する。そして当該関連する暗号鍵が当該ステガノグラフィデータに埋め込まれた暗号化データに対応するか否かを検証する（ステップＳ１４）。より詳細には、当該検出された暗号鍵（アクセス指令に関連する暗号鍵）がアクセスされようとしているステガノグラフィデータに埋め込まれた暗号化データを正しく復号することができる暗号鍵であるか（すなわち、真正な復号化鍵であるか）否かが検証される。なお、ステガノグラフィデータが暗号化されたときの暗号鍵（すなわち、暗号化鍵）と当該検出した暗号鍵が一致するか否かを検証してもよい。また、共通鍵やセッション鍵等、アクセスした者が真正であることを検証できる暗号鍵や暗号化のためのアクセスキーであるか否かを検証するようにしてもよい。なお、当該暗号鍵が当該ステガノグラフィデータに埋め込まれたデータに対応しない場合には、暗号鍵が検出されない場合も含まれるとしてもよい。
【００５３】
当該暗号鍵が当該ステガノグラフィデータに埋め込まれたデータに対応しない場合には、コントローラ１５は、コントローラ１５内の検証部１５Ａの検証結果に基づいて、ステガノグラフィ処理部１２に制御信号（ＣＳ）を送出する。
【００５４】
一方、ステップＳ１４において、当該暗号鍵が当該ステガノグラフィデータに埋め込まれたデータに対応すると検証されたときは、本ルーチンを終了する。すなわち、データアクセスの制限は解除され、当該ステガノグラフィデータへのアクセスが許可される。
【００５５】
上記した制御信号（ＣＳ）は、真正な暗号鍵が供給されない場合において、暗号化された情報データが埋め込まれた状態でステガノグラフィデータを格納装置１４から読み出すことを禁止するよう制御する信号である。
【００５６】
より具体的には、コントローラ１５は、検証部１５Ａにおいて暗号鍵が当該ステガノグラフィデータに埋め込まれたデータに対応しないと判別された場合に、ステガノグラフィデータに埋め込まれた暗号化情報データを改変するようステガノグラフィ処理部１２に対し指令する制御信号（ＣＳ）を送出する（ステップＳ１５）。
【００５７】
なお、コントローラ１５は、ステガノグラフィ処理部１２を制御して、原ステガノグラフィデータ（すなわち、改変を行う前のステガノグラフィデータ）を格納装置１４あるいは他の格納装置等に退避する（ステップＳ１６）。
【００５８】
ステガノグラフィ処理部１２は、当該制御信号（ＣＳ）に応じてステガノグラフィデータに埋め込まれた暗号化情報データを改変する（ステップＳ１７）。埋め込まれた暗号化情報データの改変としては、例えば、当該暗号化情報データのステガノグラフィデータからの削除、当該暗号化情報データの破壊、秘匿する必要のないデータ（ダミーデータ）との置き換え等、持ち出されても安全なデータに当該ステガノグラフィデータを変更することを含む。
【００５９】
コントローラ１５は、ステガノグラフィデータの改変が終了後、改変後のステガノグラフィデータ・ファイルを改変前のステガノグラフィデータ（原ステガノグラフィデータ）のファイルで置き換える。すなわち、同一のファイル名で格納装置１４に格納する。
【００６０】
その後、コントローラ１５は、格納装置１４に対し、改変後のステガノグラフィデータの送出を許可する送出許可指示を指令する（ステップＳ１８）。格納装置１４は、改変後のデータを読出指令を受けたデータとして送出する。すなわち、暗号化情報データを含まず、持ち出されても安全なデータに改変されたデータが、当初指定されたファイル名を有するデータファイルとして送出される。
【００６１】
本実施例の暗号装置１０においては、ステガノグラフィデータにアクセスする場合、正当なアクセス権を有するユーザが、秘匿すべきデータをコンテナデータから抽出し（データ抽出、又はステガノグラフィ復号）、かつ、暗号化された情報データの復号をなすことを前提としている。
【００６２】
従って、上記した構成、動作により、暗号化情報データを復号する正当なアクセス権を有するユーザ以外の秘匿すべきデータへのアクセス（データの読取、使用、コピー、移動等）を回避することができる。また、ハッキング等の不正・不法な手段により、ＬＡＮその他のネットワーク上の格納装置に手当たり次第にアクセスし、当該ネットワーク上に配された格納装置１４からデータを取得等した者は、取得した複数のデータファイルのうちいずれのデータファイルに秘匿すべきデータが含まれていたか、さらには、アクセスした装置（格納装置１４）に秘匿すべきデータが含まれていたか否かすらも知ることができない。また、取得したデータには、秘匿すべきデータは含まれていないので、後日、たとえ解析等によってステガノグラフィ復号、暗号解読等を試みたとしても秘匿すべきデータを知得することはあり得ない。
【００６３】
なお、上記した実施例は適宜組み合わせて適用することができる。例えば、実施例３に実施例２を組み合わせた場合においては、検証部１５Ａは、ユーザの秘密鍵及び格納装置１４の秘密鍵のいずれか又は両者がステガノグラフィデータに埋め込まれたデータに対応するか否かを検証するようにすることができる。また、実施例３に実施例１を組み合わせた場合においては、検証部１５Ａは、第１及び２ユーザの秘密鍵のいずれか又は両者が、あるいはセッション鍵が、ステガノグラフィデータに埋め込まれたデータに対応するか否かを検証するようにしてもよい。
【００６４】
以上、詳細に説明したように、ＰＣ、サーバ、データベース装置等のコンピュータや情報装置内やネットワーク上に存在する情報データを不正行為から確実に保護することが可能な暗号装置を提供できる。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施例１である暗号装置の構成を模式的に示すブロック図である。
【図２】図２は、暗号装置の構成を模式的に示す図である。
【図３】情報データの暗号化の手順を示す図である。
【図４】格納装置に格納されたステガノグラフィデータを復号する手順を示す図である。
【図５】本発明の実施例２である暗号装置の暗号化を説明するためのブロック図である。
【図６】本発明の実施例２である暗号装置の復号化を説明するためのブロック図である。
【図７】本発明の実施例３である暗号装置の構成を模式的に示すブロック図である。
【図８】本発明の実施例３である暗号装置において実行される処理動作の手順について示すフローチャートである。
【符号の説明】
【００６６】
１０  暗号装置
１１  暗復号処理部
１２  ステガノグラフィ処理部
１３  乱数生成器
１４  格納装置
１５  コントローラ
１５Ａ  検証部
１６  インターフェース
１７  信号バス
【図１】
2005229382.tif 000003
【図２】
2005229382.tif 000004
【図３】
2005229382.tif 000005
【図４】
2005229382.tif 000006
【図５】
2005229382.tif 000007
【図６】
2005229382.tif 000008
【図７】
2005229382.tif 000009
【図８】
2005229382.tif 000010