(57)【要約】【課題】電子透かし処理を用いたデータ秘匿化プログラムにおいて、処理時間の短縮化を図るとともに、秘匿化したデータに含まれる情報の漏洩を防止すること。【解決手段】本発明では、電子透かし処理を用いてデータを画像ファイルに埋め込むことによってデータを秘匿化する処理をコンピュータに実行させるためのデータ秘匿化プログラムにおいて、秘匿化する元データの一部を抽出するステップと、抽出した一部データを電子透かし処理を用いて画像ファイルに埋め込むステップと、一部データを画像ファイルに埋め込んだ埋込画像ファイルと、元データから一部データを削除した欠損ファイルとをそれぞれ異なる記憶媒体に保存するステップとを有することにした。【選択図】図１
2007142673.tif 000002
【特許請求の範囲】
【請求項１】
電子透かし処理を用いてデータを画像ファイルに埋め込むことによってデータを秘匿化する処理をコンピュータに実行させるためのデータ秘匿化プログラムにおいて、
秘匿化する元データの一部を抽出するステップと、
抽出した一部データを電子透かし処理を用いて画像ファイルに埋め込むステップと、
一部データを画像ファイルに埋め込んだ埋込画像ファイルと、元データから一部データを削除した欠損ファイルとをそれぞれ異なる記憶媒体に保存するステップと、
を有することを特徴とするデータ秘匿化プログラム。
【請求項２】
前記元データから一部データを抽出する前に、前記元データを暗号化するステップを有することを特徴とする請求項１に記載のデータ秘匿化プログラム。
【請求項３】
前記元データが複数ある場合に、各元データから抽出した一部データを合体させるステップを有し、合体させた一部データを前記画像ファイルに埋め込むことを特徴とする請求項１又は請求項２に記載のデータ秘匿化プログラム。
【請求項４】
複数種類のサイズの画像ファイルの中から一部データのサイズに応じて電子透かし処理に用いる画像ファイルを選択するステップを有することを特徴とする請求項１〜請求項３のいずれかに記載のデータ秘匿化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子透かし処理を用いてデータを画像ファイルに埋め込むことによってデータを秘匿化する処理をコンピュータに実行させるためのデータ秘匿化プログラムに関するものである。
【背景技術】
【０００２】
従来より、画像ファイルに所定の認証データを外観上で元の画像ファイルと相違しない範囲で埋め込むことによって画像ファイルの真偽を認証できるようにした電子透かし処理が開発されている。
【０００３】
この電子透かし処理を利用すると、所定のデータを画像ファイルに埋め込むことができ、外観上では単なる画像ファイルとして認識され、所定のデータであることが認識されなくなり、所定のデータを秘匿化することができて、所定のデータに含まれる情報の漏洩を防止することができる（たとえば、特許文献１参照。）。
【０００４】
しかしながら、電子透かし処理では、外観上で元の画像ファイルと相違しない範囲で画像ファイルにデータを埋め込まなければ透かしとしての効果が損なわれてしまうため、画像ファイルのサイズと比較して少量のデータしか画像ファイルに埋め込むことができなかった。
【０００５】
そのため、大量のデータを電子透かし処理を利用して画像ファイルに埋め込んで秘匿化する場合には、データのサイズよりも膨大なサイズの画像ファイルを用いる必要があった。
【特許文献１】特開２００１−５７５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、大量のデータを膨大なサイズの画像ファイルに埋め込んでデータの秘匿化を行うと、処理時間が長くなりすぎてしまい、実用上問題があった。
【０００７】
また、電子透かし処理を利用してデータを秘匿化できたとしても、秘匿化したデータとそれを復元するプログラムとが同一コンピュータ上に格納されていると、コンピュータの盗難によって秘匿化したデータが復元されてしまい、秘匿化したデータに含まれる情報の漏洩を防止することができなかった。
【課題を解決するための手段】
【０００８】
そこで、請求項１に係る本発明では、電子透かし処理を用いてデータを画像ファイルに埋め込むことによってデータを秘匿化する処理をコンピュータに実行させるためのデータ秘匿化プログラムにおいて、秘匿化する元データの一部を抽出するステップと、抽出した一部データを電子透かし処理を用いて画像ファイルに埋め込むステップと、一部データを画像ファイルに埋め込んだ埋込画像ファイルと、元データから一部データを削除した欠損ファイルとをそれぞれ異なる記憶媒体に保存するステップとを有することにした。
【０００９】
また、請求項２に係る本発明では、前記請求項１に係る本発明において、前記元データから一部データを抽出する前に、前記元データを暗号化するステップを有することにした。
【００１０】
また、請求項３に係る本発明では、前記請求項１又は請求項２に係る本発明において、前記元データが複数ある場合に、各元データから抽出した一部データを合体させるステップを有し、合体させた一部データを前記画像ファイルに埋め込むことにした。
【００１１】
また、請求項４に係る本発明では、前記請求項１〜請求項３のいずれかに係る本発明において、複数種類のサイズの画像ファイルの中から一部データのサイズに応じて電子透かし処理に用いる画像ファイルを選択するステップを有することにした。
【発明の効果】
【００１２】
そして、本発明では、以下に記載する効果を奏する。
【００１３】
すなわち、請求項１に係る本発明では、元データの一部を抽出して、その一部データを電子透かし処理を用いて画像ファイルに埋め込むようにしているために、電子透かし処理を施すための処理時間を短縮することができ、実用的なデータ秘匿化処理を行うことができる。
【００１４】
しかも、一部データを画像ファイルに埋め込んだ埋込画像ファイルと、元データから一部データを削除した欠損ファイルとをそれぞれ異なる記憶媒体に保存するようにしているために、いずれか一方のファイルが盗まれても、元データに復元することができず、元データに含まれる情報の漏洩を防止することができる。
【００１５】
また、請求項２に係る本発明では、元データから一部データを抽出する前に、元データを暗号化しているために、電子透かし処理を施した一部データを復元することができても、この復元された一部データと欠損ファイルから元データに復元することができず、元データを二重に保護することになり、元データに含まれる情報の漏洩をより一層良好に防止することができる。
【００１６】
また、請求項３に係る本発明では、複数の元データから抽出した一部データを合体させてから画像ファイルに埋め込むようにしているために、複数の元データを一括して秘匿化することができ、複数の元データを秘匿化するための処理時間を短縮することができる。
【００１７】
また、請求項４に係る本発明では、複数種類のサイズの画像ファイルの中から一部データのサイズに応じて電子透かし処理に用いる画像ファイルを選択するようにしているために、一部データのサイズが小さい場合には処理時間を短くすることができ、一部データのサイズに応じた処理時間でデータの秘匿化を行うことができる。
【発明を実施するための最良の形態】
【００１８】
以下に、本発明に係るデータ秘匿化プログラムの具体的な内容について図面を参照しながら説明する。
【００１９】
本発明に係るデータ秘匿化プログラムは、電子透かし処理を用いてデータを画像ファイルに埋め込むことによってデータを秘匿化する処理をコンピュータに実行させるためのものであり、そのフローチャートを図１に示し、また、データ秘匿化処理の流れを図２に模式的に示す。
【００２０】
図１に示すように、データ秘匿化プログラム１では、コンピュータの初期の設定を行う初期設定ステップＳ１を実行する。
【００２１】
この初期設定ステップＳ１では、コンピュータ内部の作業領域の確保や最終的に秘匿化したファイルを保存する記憶媒体の接続確認などを行う。
【００２２】
次に、データ秘匿化プログラム１は、使用者から秘匿化するデータの指定を受ける秘匿化データ指定ステップＳ２を実行する。
【００２３】
この秘匿化データ指定ステップＳ２では、使用者から秘匿化する１個又は複数個のデータの保存場所を示すパス名とファイル名とを受信し、そのパス名及びファイル名を記憶しておく。なお、秘匿化するデータのパス名やファイル名は、使用者によってキー入力されるようにしてもよく、また、モニター上でツリー表示したファイル群から使用者によって選択されるようにしてもよい。
【００２４】
次に、データ秘匿化プログラム１は、使用者によって指定されたデータを元データ２として所定の記憶領域に読み込む元データ読込ステップＳ３を実行する。
【００２５】
この元データ読込ステップＳ３では、秘匿化データ指定ステップＳ２で記憶したパス名とファイル名に基づいて、データの全てを元データ２として記憶領域に読み込む。また、秘匿化データ指定ステップＳ２で複数のデータが指定されている場合には、全てのデータについて元データ2,2'として記憶領域に読み込む。
【００２６】
次に、データ秘匿化プログラム１は、元データ読込ステップＳ３で読み込んだ元データ２に対して暗号化処理を施す暗号化処理ステップＳ４を実行する。
【００２７】
この暗号化処理ステップＳ４では、元データ２に対して予め設定した暗号化処理を施して暗号化データ３を生成する。たとえば、元データ２のデータ配列を数ビット又は数バイト単位で順番を入れ替えるようにしてもよく、また、所定の暗号化キーに基づいて暗号化するようにしてもよい。要は、元データ２として認識できなくなるようにすればよい。ここで、秘匿化データ指定ステップＳ２で複数のデータが指定されている場合には、全ての元データ2,2'に対してそれぞれ暗号化処理を施して複数の暗号化データ3,3'を生成する。
【００２８】
次に、データ秘匿化プログラム１は、暗号化処理ステップＳ４で生成した暗号化データ３の一部分を抽出する一部抽出ステップＳ５を実行する。
【００２９】
この一部抽出ステップＳ５では、暗号化処理ステップＳ４で生成した暗号化データ３から予め設定した位置及び個数のデータだけを抽出して一部データ４として記憶する。たとえば、暗号化データ３の最初から１０バイトのデータを一部データ４として抽出する。ここで、秘匿化データ指定ステップＳ２で複数のデータが指定されている場合には、全ての暗号化データ3,3'に対してそれぞれ一部データ4,4'を抽出する。
【００３０】
次に、データ秘匿化プログラム１は、秘匿化データ指定ステップＳ２で複数のデータが指定されている場合に、一部抽出ステップＳ５で抽出した全ての一部データ4,4'を合体する合体処理ステップＳ６を実行する。
【００３１】
この合体処理ステップＳ６では、全ての一部データ4,4'を所定の順番で連続させた一つの合体データ５に合体させる。
【００３２】
次に、データ秘匿化プログラム１は、電子透かし処理に使用する画像ファイル6,6',6"を選択する画像ファイル選択ステップＳ７を実行する。
【００３３】
この画像ファイル選択ステップＳ７では、予め所定の記憶媒体７にサイズの異なる複数の画像ファイル6,6',6"を保存しておき、電子透かし処理を施す一部データ４（秘匿化データ指定ステップＳ２で一つのデータだけが指定されている場合）又は合体データ５（秘匿化データ指定ステップＳ２で複数のデータが指定されている場合）のサイズに応じて複数の画像ファイル6,6',6"の中から一つの画像ファイル6'（6,6")を選択する。
【００３４】
次に、データ秘匿化プログラム１は、画像ファイル選択ステップＳ７で選択した画像ファイル6'（6,6")を用いて電子透かし処理を行う電子透かし埋込処理ステップＳ８を実行する。
【００３５】
この電子透かし埋込処理ステップＳ８では、秘匿化データ指定ステップＳ２で一つのデータだけが指定されている場合には一部データ４を画像ファイル選択ステップＳ７で選択した画像ファイル6'（6,6")に電子透かし処理で埋め込むことによって埋込画像ファイル８を生成し、また、秘匿化データ指定ステップＳ２で複数のデータが指定されている場合には全ての一部データ4,4'を合体させた合体データ５を画像ファイル選択ステップＳ７で選択した画像ファイル6'（6,6")に電子透かし処理で埋め込むことによって埋込画像ファイル８を生成する。
【００３６】
このように、データ秘匿化プログラム１では、秘匿化する元データ２の全てを電子透かし処理を用いて画像ファイル6'（6,6")に埋め込むようにすると電子透かし埋込処理ステップＳ８での処理時間が長くなって実用上問題があるため、秘匿化する元データ２の一部を抽出した一部データ４だけを電子透かし処理を用いて画像ファイル6'（6,6")に埋め込むようにして、電子透かし埋込処理ステップＳ８での処理時間を短縮できるようにしている。
【００３７】
しかも、データ秘匿化プログラム１では、秘匿化する元データ2,2'が複数ある場合には、それぞれの元データ2,2'から一部を抽出した一部データ4,4'に対して電子透かし処理を施すようにすると電子透かし埋込処理ステップＳ８での処理時間が長くなるため、複数の秘匿化する元データ2,2'から一部を抽出した一部データ4,4'を合体した合体データ５に対して電子透かし処理を施すようにして、複数の元データ2,2'を一括して電子透かし処理できるようにして、電子透かし埋込処理ステップＳ８での処理時間を短縮できるようにしている。
【００３８】
次に、データ秘匿化プログラム１は、電子透かし埋込処理ステップＳ８で生成した埋込画像ファイル８を所定の記憶媒体９に保存する埋込画像ファイル保存ステップＳ９を実行するとともに、元データ2,2'を暗号化した暗号化データ3,3'から一部データ4,4'をそれぞれ削除した欠損ファイル10,10'を生成し、この欠損ファイル10,10'を所定の記憶媒体11に保存する欠損ファイル保存ステップＳ１０を実行する。
【００３９】
この埋込画像ファイル保存ステップＳ９及び欠損ファイル保存ステップＳ１０では、埋込画像ファイル８と欠損ファイル10,10'とをそれぞれ異なる記憶媒体9,11に保存する。たとえば、埋込画像ファイル８をコンピュータに接続したＵＳＢメモリーなどの外部記憶装置に保存し、欠損ファイル10,10'をコンピュータの内部のハードディスクなどの内部記憶装置に保存する。
【００４０】
このように、データ秘匿化プログラム１では、埋込画像ファイル８と欠損ファイル10,10'とをそれぞれ異なる記憶媒体9,11に保存することによって、いずれか一方のファイルが盗まれても元データ2,2'に復元できないようにしている。
【００４１】
なお、電子透かし埋込処理ステップＳ８で使用したキー（鍵）データや秘匿化データ指定ステップＳ２で記憶した秘匿化するデータの保存場所を示すパス名とファイル名も予め設定した所定の記憶媒体に保存する。
【００４２】
最後に、データ秘匿化プログラム１は、元データ2,2'を消去する元データ消去ステップＳ１１を実行する。
【００４３】
この元データ消去ステップＳ１１では、元データ2,2'とともに処理途中で生成された暗号化データ3,3'や一部データ4,4'や合体データ５なども同時に消去する。
【００４４】
上記データ秘匿化プログラム１は、本発明の一実施形態であり、本発明の実施形態は上記データ秘匿化プログラム１に限定されるものではない。
【００４５】
すなわち、上記データ秘匿化プログラム１において、暗号化処理ステップＳ４、合体処理ステップＳ６、画像ファイル選択ステップＳ７は必須の処理ではなく、必要に応じて追加される処理である。また、埋込画像ファイル８と欠損ファイル10,10'とがそれぞれ異なる記憶媒体9,11に保存されればよく、保存先は、コンピュータの内部記憶装置であっても外部記憶装置であってもよく、また、データ秘匿化プログラム１を実行するコンピュータと通信回線網によって接続された他のコンピュータの内部・外部記憶装置であってもよい。
【００４６】
以上に説明したように、上記データ秘匿化プログラム１では、元データ2,2'の一部を抽出して、その一部データ4,4'を電子透かし処理を用いて画像ファイル6,6',6"に埋め込むようにしているために、電子透かし処理を施すための処理時間を短縮することができ、実用的なデータ秘匿化処理を行うことができる。
【００４７】
しかも、上記データ秘匿化プログラム１では、一部データ4,4'を画像ファイル6,6',6"に埋め込んだ埋込画像ファイル８と、元データ2,2'から一部データ4,4'を削除した欠損ファイル10,10'とをそれぞれ異なる記憶媒体9,11に保存するようにしているために、いずれか一方のファイルが盗まれても、元データ2,2'に復元することができず、元データ2,2'に含まれる情報の漏洩を防止することができる。
【００４８】
また、上記データ秘匿化プログラム１では、元データ2,2'から一部データ4,4'を抽出する前に、元データ2,2'を暗号化しているために、電子透かし処理を施した一部データ4,4'を復元することができても、この復元された一部データ4,4'と欠損ファイル10,10'から元データ2,2'に復元することができず、元データ2,2'を二重に保護することになり、元データ2,2'に含まれる情報の漏洩をより一層良好に防止することができる。
【００４９】
また、上記データ秘匿化プログラム１では、複数の元データ2,2'から抽出した一部データ4,4'を合体させてから画像ファイル6,6',6"に埋め込むようにしているために、複数の元データ2,2'を一括して秘匿化することができ、複数の元データ2,2'を秘匿化するための処理時間を短縮することができる。
【００５０】
また、上記データ秘匿化プログラム１では、複数種類のサイズの画像ファイル6,6',6"の中から一部データ4,4'のサイズに応じて電子透かし処理に用いる画像ファイル6,6',6"を選択するようにしているために、一部データ4,4'のサイズが小さい場合には処理時間を短くすることができ、一部データ4,4'のサイズに応じた処理時間でデータの秘匿化を行うことができる。
【００５１】
なお、上記データ秘匿化プログラム１によって秘匿化された埋込画像ファイル８と欠損ファイル10,10'は、上記データ秘匿化プログラム１とは逆の処理を実行する復元プログラムを用いて元データ2,2'に復元される。
【図面の簡単な説明】
【００５２】
【図１】本発明に係るデータ秘匿化プログラムのフローチャート。
【図２】本発明に係るデータ秘匿化プログラムによる処理を示す模式図。
【符号の説明】
【００５３】
１  データ秘匿化プログラム
2,2'  元データ
3,3'  暗号化データ
4,4'  一部データ
５  合体データ
6,6',6"  画像ファイル
7,9,11  記憶媒体
８  埋込画像ファイル
10,10'  欠損ファイル
【図１】
2007142673.tif 000003
【図２】
2007142673.tif 000004