(57)【要約】【課題】  不正なユーザーや不正なドライバ等の悪意のある第三者から不正な処理を要求されたとしても、暗号処理装置が保護しているデータの安全性を保つことができる暗号処理装置を提供することを目的とする。【解決手段】  記憶部１０３で処理対象データを暗号化する際に設定された第１の動作パラメータ記憶し、入力部１０５で処理対象データを復号する為の第２の動作パラメータを入力し、制御部１０１で前記第１の動作パラメータと前記第２の動作パラメータとを用いて、前記第２の動作パラメータが不正なものであるかを判定し、不正なものであると判定した回数を記憶し、記憶している回数が所定の値を超えた場合に、暗号化／復号部１０２で処理対象データを再暗号化する。【選択図】  図１
2006166206.tif 000002
【特許請求の範囲】
【請求項１】
動作パラメータに応じて処理対象データを暗号化または復号する暗号処理装置であって、
処理対象データを暗号化する際に設定された第１の動作パラメータ記憶する第１動作パラメータ記憶手段と、
処理対象データを復号する為の第２の動作パラメータを入力する入力手段と、
前記第１の動作パラメータと前記第２の動作パラメータとを用いて、前記第２の動作パラメータが不正なものであるかを判定する判定手段と、
前記判定手段が前記第２の動作パラメータを不正なものであると判定した回数を記憶する回数記憶手段と、
前記回数記憶手段が記憶している回数が所定の値を超えた場合に、前記処理対象データを再暗号化する再暗号化手段とを有することを特徴とする暗号処理装置。
【請求項２】
前記第１の動作パラメータ、前記第２の動作パラメータは、暗号アルゴリズム、ＥＣＢやＣＢＣ等を表わす動作モード、鍵を特定する情報、初期ベクタ情報の少なくともいずれかを含むことを特徴とする請求項１に記載の暗号処理装置。
【請求項３】
前記再暗号化手段は、装置固有の鍵を特定する情報に基づいて、前記処理対象データを再暗号化することを特徴とする請求項１又は２に記載の暗号処理装置。
【請求項４】
前記回数記憶手段は、前記判定手段が判定した不正の連続回数、または累積回数を記憶することを特徴とする請求項１〜３の何れか１項に記載の暗号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの秘匿を目的とした暗号処理装置に関する。
【背景技術】
【０００２】
近年、故障解析、タイミング解析、電力解析などの各種解析／攻撃法が提案されたことにより、不揮発性メモリ上の秘密情報（暗号処理で用いる鍵等）は読み出せないという考え方が覆されはじめている。従来の暗号処理装置のように不揮発性メモリ上に秘密情報を保持していても、秘密情報へのアクセスと解析の機会が増えて、暗号化又は復号処理における電力波形を解析したり処理時間を解析したりすることにより、秘密情報が流出する危険性が増している。そのため、システムへのなりすまし侵入や、その結果によるデータの改竄等が発生する可能性が高くなり、装置又はシステムが安全でなくなるという課題があった。そのため、特許文献１では、外部から暗号処理装置にアクセスしようとする攻撃等に対して、解析困難な応答をしたり、正常でない応答を正常であるかのように応答したりすることで、耐タンパ性を実現している。
【特許文献１】特開２００３−２０４３２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、特許文献１は、不揮発性メモリ上に保持している秘密情報の漏洩や改竄を防止しているが、暗号処理装置が暗号化したデータに対して不正なユーザーや不正なドライバ等の悪意のある第三者からの不正な復号処理要求があっても対応することができない。
【０００４】
本発明は、上記問題点を解決するためになされたもので、不正なユーザーや不正なドライバ等の悪意のある第三者から不正な処理を要求されたとしても、暗号処理装置が保護しているデータの安全性を保つことができる暗号処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明の情報処理装置は、動作パラメータに応じて処理対象データを暗号化または復号する暗号処理装置であって、処理対象データを暗号化する際に設定された第１の動作パラメータ記憶する第１動作パラメータ記憶手段と、処理対象データを復号する為の第２の動作パラメータを入力する入力手段と、前記第１の動作パラメータと前記第２の動作パラメータとを用いて、前記第２の動作パラメータが不正なものであるかを判定する判定手段と、前記判定手段が前記第２の動作パラメータを不正なものであると判定した回数を記憶する回数記憶手段と、前記回数記憶手段が記憶している回数が所定の値を超えた場合に、前記処理対象データを再暗号化する再暗号化手段とを有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、暗号処理装置に対する不正な処理要求を検出したときには、暗号処理装置が保護しているデータを装置固有の鍵を用いて再暗号化することにより、そのデータの安全性を保つことができる。
【発明を実施するための最良の形態】
【０００７】
（実施例１）
本発明の暗号処理装置について図１〜図３を用いて説明する。
【０００８】
図１に示すように本実施例の暗号処理装置１００は、制御部１０１、暗号化／復号部１０２、記憶部１０３、装置固有の暗号鍵保持部１０４、入力部１０５から構成される。入力部１０５は、処理対象データを入力したり、動作パラメータを入力及び設定する。
【０００９】
図２はユーザーやドライバが暗号処理装置１００に設定する動作パラメータ５００を示している。この動作パラメータ５００は、処理対象データに対してどのような処理を行なうかを示しており、暗号化又は復号を表わす処理内容５０１、暗号アルゴリズム５０２、ＥＣＢやＣＢＣ等を表わす動作モード５０３、初期ベクタ情報５０４、鍵を特定する情報５０５から構成される。
【００１０】
また、図３は本実施例による暗号処理装置の処理の流れを示している。
【００１１】
上記の暗号処理装置１００を用いて処理対象データを暗号化又は復号する処理の流れを図３に従って説明する。
【００１２】
処理対象データを暗号化する場合には以下のような処理を行なう。
【００１３】
正規のユーザー４０１又は正規のドライバ２０１は、ステップＳ１０１で処理対象データに対する第１の動作パラメータ５００を入力部１０５より暗号処理装置１００に設定する。この場合、処理内容５０１に”暗号化”を設定する。
【００１４】
第１の動作パラメータ５００の処理内容５０１には”暗号化”と設定されているため、ステップＳ１０２で制御部１０１は暗号化処理と判断してステップＳ１０４に進む。
【００１５】
ステップＳ１０４では暗号処理装置１００に設定された第１の動作パラメータ５００を、処理対象データを特定する情報、例えばファイル名に対応させて暗号処理装置１００内の記憶部１０３に記憶する。記憶部１０３に記憶される情報は例えば表１、表２のようになる（表１の動作パラメータの欄には、表２で示す内容が記憶される）。このとき、後述の復号処理の際に使用する不正パラメータ設定回数（連続回数、累積回数）に初期値として０を設定する。
【００１６】
【表１】
2006166206.tif 000003
【００１７】
【表２】
2006166206.tif 000004
【００１８】
そして、ステップＳ１０５で制御部１０１は、設定された第１の動作パラメータ５００に基づいてＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）やＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などのアルゴリズムを用いて処理対象データを暗号化する。
【００１９】
上記のようにして処理対象データは暗号処理装置１００によって暗号化されてＨＤＤ３０１等に格納され、その暗号化データは暗号処理装置１００の管理下におかれる。
【００２０】
一方、処理対象データを復号する場合には以下のような処理を行なう。
【００２１】
ユーザー又はドライバは、ステップＳ１０１で処理対象データに対する第２の動作パラメータ５００を入力部１０５より暗号処理装置１００に入力する。この場合、処理内容５０１には”復号”を入力する。
【００２２】
第２の動作パラメータ５００の処理内容５０１には”復号”と設定されているため、ステップＳ１０２で制御部１０１は復号処理と判断してステップＳ１０６に進む。
【００２３】
ステップＳ１０６では、制御部１０１は記憶部１０３から復号の処理対象となっているデータが暗号化された時に設定された第１の動作パラメータを読み出し、記憶されている動作パラメータと上記ステップＳ１０１で新たに設定された動作パラメータを比較して検証する。
【００２４】
正規のユーザー４０１又は正規のドライバ２０１が暗号処理装置１００に復号の処理を要求したのであれば、第２の動作パラメータ５００の処理内容５０１以外のパラメータに、処理対象データを暗号化した時と同一の値を入力することができると考え、ステップＳ１０７で制御部１０１は、第２の動作パラメータ５００を入力したのは正規のユーザー４０１又は正規のドライバ２０１であると判断してステップＳ１０８に進む。ステップＳ１０７では、復号の処理を要求したのが正規のユーザー又は正規のドライバかを判定するためのものであるので、正規のユーザー又は正規のドライバが知り得る動作パラメータに関する情報を入力させればよい。すなわち、処理内容５０１以外のパラメータをすべて入力させるようにして判定してもよいし、処理内容５０１以外のいずれかのパラメータを入力させるようにして判定してもよい。
【００２５】
そして、ステップＳ１０８で制御部１０１は、暗号処理装置１００に設定された第２の動作パラメータ５００に基づいてＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）やＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などのアルゴリズムを用いて処理対象データを復号する。
【００２６】
もし、不正なユーザー４０２又は不正なドライバ２０２が暗号処理装置１００に復号の処理を要求したのであれば、第２の動作パラメータ５００の処理内容５０１以外のパラメータに、処理対象データを暗号化した時と同一の値を入力することはできない。このとき、ステップＳ１０７で制御部１０１は、第２の動作パラメータ５００を設定したのは不正なユーザー４０２又は不正なドライバ２０２であると判断してステップＳ１０９に進む。
【００２７】
ステップＳ１０９で制御部１０１は、記憶部１０３に記憶されている不正パラメータ設定回数を更新する。例えば、暗号化されたｆｉｌｅｎａｍｅ１に対して不正な復号処理要求があったと制御部１０１が判断した場合には、表３のように不正パラメータ設定回数の連続回数、累積回数の欄を更新する。
【００２８】
【表３】
2006166206.tif 000005
【００２９】
さらに、表４、表５のように不正なパラメータを設定したユーザーやドライバに対しても、ユーザーＩＤやドライバのプロセスＩＤに対応させた不正パラメータ設定回数も記憶部１０３に記憶する。
【００３０】
【表４】
2006166206.tif 000006
【００３１】
【表５】
2006166206.tif 000007
【００３２】
ステップＳ１１０で制御部１０１は、記憶部１０３に記憶されている不正パラメータ設定回数と所定の値とを比較して、不正パラメータ設定回数が所定の値を超える場合にはステップＳ１１１へ進み、不正パラメータ設定回数が所定の値を超えない場合には処理対象データに対して何ら処理をすることなく終了する。なお、不正パラメータ設定回数と比較する所定の値は、暗号処理装置１００の管理下にある暗号化データの重要度に応じて決められた値である。例えば、この所定の値には重要度の高いデータに対しては”３”程度、通常のデータに対しては”５”程度の値に設定しておく。
【００３３】
制御部１０１がステップＳ１１０で、不正パラメータ設定回数が所定の値を超えたと判断すると、暗号処理装置１００は不正終了処理を行なう（ステップＳ１１１）。不正終了処理としては、不正な復号処理の対象となった暗号化データを装置固有の暗号鍵保持部１０４で保持している暗号鍵を用いて再暗号化することで、暗号処理装置１００が保護しているデータの安全性を向上させる。また、不正な復号処理の要求をしたユーザーからの処理を今後一切受け付けなくすることで、暗号処理装置１００が保護しているデータの安全性を保つ。さらに、不正な復号処理を要求したのがドライバ等のソフトウェアであれば、オペレーティングシステムにそのソフトウェアを強制終了するように依頼することで、暗号処理装置１００が保護しているデータの安全性を保つ。
【００３４】
（実施例２）
本発明の暗号処理装置について図４、図５を用いて説明する。
【００３５】
図４に示すように本実施例の暗号処理装置１１０は、制御部１０１、暗号化／復号部１０２、記憶部１０３、装置固有の暗号鍵保持部１０４、入力部１０５、ハッシュ値算出部１０６から構成される。動作パラメータは、実施例１と同様であるとする。
【００３６】
また、図５は本実施例による暗号処理装置の処理の流れを示している。
【００３７】
なお、実施例１と同じ構成要素に関しては同一の符号を付している。
【００３８】
上記の暗号処理装置１１０を用いて処理対象データを暗号化又は復号する処理の流れを図５に従って説明する。なお、本実施例の説明では実施例１との差異についてのみ説明する。
【００３９】
処理対象データを暗号化する場合には以下のような処理を行なう。
【００４０】
正規のユーザー４０１又は正規のドライバ２０１は、ステップＳ１０１で処理対象データに対する第１の動作パラメータ５００を暗号処理装置１１０に設定する。この場合、処理内容５０１に”暗号化”を設定する。
【００４１】
第１の動作パラメータ５００の処理内容５０１には”暗号化”と設定されているため、ステップＳ１０２で制御部１０１は暗号化処理と判断してステップＳ２０３に進む。
【００４２】
ステップＳ２０３でハッシュ値算出部１０６は、暗号化又は復号を表わす処理内容５０１以外の動作パラメータの第１のハッシュ値を算出する。
【００４３】
そして、ステップＳ２０４ではステップＳ２０３で算出された第１のハッシュ値を、処理対象データを特定する情報、例えばファイル名に対応させて暗号処理装置１１０内の記憶部１０３に記憶する。記憶部１０３に記憶される情報は例えば表６のようになる。このとき、後述の復号処理の際に使用する不正パラメータ設定回数（連続回数、累積回数）に初期値として０を設定する。
【００４４】
【表６】
2006166206.tif 000008
【００４５】
そして、ステップＳ１０５で制御部１０１は、設定された第１の動作パラメータ５００に基づいてＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）やＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などのアルゴリズムを用いて処理対象データを暗号化する。
【００４６】
上記のようにして処理対象データは暗号処理装置１１０によって暗号化されてＨＤＤ３０１等に格納され、その暗号化データは暗号処理装置１１０の管理下におかれる。
【００４７】
一方、処理対象データを復号する場合には以下のような処理を行なう。
【００４８】
ユーザー又はドライバは、ステップＳ１０１で処理対象データに対する第２の動作パラメータ５００を暗号処理装置１１０に設定する。この場合、処理内容５０１に”復号”を設定する。
【００４９】
第２の動作パラメータ５００の処理内容５０１には”復号”と設定されているため、ステップＳ１０２で制御部１０１は復号処理と判断してステップＳ２０６に進む。
【００５０】
ステップＳ２０６でハッシュ値算出部１０６は、新たに設定された第２の動作パラメータ５００の処理内容５０１以外のパラメータについて第２のハッシュ値を算出する。また、制御部１０１は記憶部１０３から復号の処理対象となっているデータが暗号化された時に設定された動作パラメータの第１のハッシュ値を読み出して、これらのハッシュ値を比較して検証する。
【００５１】
不正なユーザー４０２又は不正なドライバ２０２が暗号処理装置１１０に復号の処理を要求したのであれば、第２の動作パラメータ５００の処理内容５０１以外のパラメータに、処理対象データを暗号化した時と同一の値を設定することはできない。そのため、ハッシュ値算出部１０６で算出する第２のハッシュ値が、記憶部１０３に格納している第１のハッシュ値と同じになることはない。このとき、ステップＳ１０９で制御部１０１は、実施例１と同様に不正パラメータ設定回数を更新する。
【００５２】
制御部１０１がステップＳ１１０で、不正パラメータ設定回数が所定の値を超えたと判断すると、暗号処理装置１１０は実施例１と同様に不正終了処理を行なう（ステップＳ１１１）。
【００５３】
＜その他の実施形態＞
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００５４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５５】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５６】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００５７】
【図１】実施例１における暗号処理装置を示す図である。
【図２】本発明の暗号処理装置に設定する動作パラメータを示す図である。
【図３】実施例１における暗号処理装置の処理の流れを示す図である。
【図４】実施例２における暗号処理装置を示す図である。
【図５】実施例２における暗号処理装置の処理の流れを示す図である。
【図１】
2006166206.tif 000009
【図２】
2006166206.tif 000010
【図３】
2006166206.tif 000011
【図４】
2006166206.tif 000012
【図５】
2006166206.tif 000013