(57)【要約】【課題】  真正乱数生成機能や擬似乱数生成のための時計回路を用いずに、データ処理装置が外部装置を識別するために使用する乱数を識別処理ごとに変更可能にする。【解決手段】  データ処理装置は、外部装置を識別するデータ処理装置であって、外部装置に対応する識別情報を記憶する識別情報記憶手段と、外部で生成された複数の乱数を外部から受信する乱数受信手段と、前記乱数受信手段により受信された複数の乱数を記憶する乱数記憶手段と、前記乱数記憶手段に記憶された複数の乱数の１つに基づいて生成された乱数を外部装置に送信する乱数送信手段と、前記乱数記憶手段に記憶された複数の乱数の１つに基づいて生成された乱数と前記識別情報記憶手段に記憶されている識別情報とに基づいて演算を行う演算手段と、外部装置から受信した演算結果と前記演算手段による演算結果とに基づいて、外部装置を識別する識別手段とを有する。【選択図】  図４
2007013552.tif 000002
【特許請求の範囲】
【請求項１】
外部装置を識別するデータ処理装置であって、
外部装置に対応する識別情報を記憶する識別情報記憶手段と、
外部で生成された複数の乱数を外部から受信する乱数受信手段と、
前記乱数受信手段により受信された複数の乱数を記憶する乱数記憶手段と、
前記乱数記憶手段に記憶された複数の乱数の１つに基づいて生成された乱数を外部装置に送信する乱数送信手段と、
前記乱数記憶手段に記憶された複数の乱数の１つに基づいて生成された乱数と前記識別情報記憶手段に記憶されている識別情報とに基づいて演算を行う演算手段と、
外部装置から受信した演算結果と前記演算手段による演算結果とに基づいて、外部装置を識別する識別手段とを有することを特徴とするデータ処理装置。
【請求項２】
前記乱数記憶手段に記憶された複数の乱数の１つに基づいて乱数を生成する乱数生成手段を有し、
前記乱数生成手段は、前記乱数記憶手段に記憶された複数の乱数のうち同じ乱数を使用しないようにすることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記識別手段により外部装置が識別された回数が所定回数に達した場合、前記乱数受信手段は、外部で生成された複数の乱数を新たに受信し、前記乱数記憶手段は、前記乱数受信手段により新たに受信された複数の乱数を記憶することを特徴とする請求項１或いは２に記載のデータ処理装置。
【請求項４】
データを暗号化または復号化する暗号化復号化手段と、
乱数に基づいて、前記暗号化復号化手段による暗号化または復号化に用いられる鍵を生成する鍵管理手段とを有することを特徴とする請求項１乃至３のいずれかに記載のデータ処理装置。
【請求項５】
前記鍵管理手段により鍵が生成されるのに用いられる乱数を記憶する鍵用乱数記憶手段を有し、
電源投入後、鍵の生成に用いられる乱数が前記鍵用乱数記憶手段に記憶されていない場合、前記識別情報記録手段は、外部装置に対応する識別情報を記憶し、
電源投入後、鍵の生成に用いられる乱数が前記鍵用乱数記憶手段に記憶されていない場合、前記乱数受信手段は複数の乱数を外部から受信することを特徴とする請求項１乃至４のいずれかに記載のデータ処理装置。
【請求項６】
電源投入後、鍵の生成に用いられる乱数が前記鍵用乱数記憶手段に記憶されていて、かつ前記識別手段による外部装置の識別が成功し、かつ前記識別手段により外部装置が識別された回数が所定回数に達した場合、前記乱数受信手段は複数の乱数を外部から受信することを特徴とする請求項５に記載のデータ処理装置。
【請求項７】
前記識別手段による外部装置の識別が成功した場合、暗号化復号化手段はデータを暗号化または復号化することを特徴とする請求項４に記載のデータ処理装置。
【請求項８】
外部装置を識別するデータ処理方法であって、
外部装置に対応する識別情報を取得する識別情報取得ステップと、
外部で生成された複数の乱数を外部から受信する乱数受信ステップと、
前記乱数ステップで受信された複数の乱数の１つに基づいて生成された乱数を外部装置に送信する乱数送信ステップと、
前記乱数ステップで受信された複数の乱数の１つに基づいて生成された乱数と前記識別情報記憶手段に記憶されている識別情報とに基づいて演算を行う演算ステップと、
外部装置から受信した演算結果と前記演算ステップによる演算結果とに基づいて、外部装置を識別する識別ステップとを有することを特徴とするデータ処理方法。
【請求項９】
外部装置を識別するためのプログラムであって、
外部装置に対応する識別情報を取得する識別情報取得ステップと、
外部で生成された複数の乱数を外部から受信する乱数受信ステップと、
前記乱数ステップで受信された複数の乱数の１つに基づいて生成された乱数を外部装置に送信する乱数送信ステップと、
前記乱数ステップで受信された複数の乱数の１つに基づいて生成された乱数と前記識別情報記憶手段に記憶されている識別情報とに基づいて演算を行う演算ステップと、
外部装置から受信した演算結果と前記演算ステップによる演算結果とに基づいて、外部装置を識別する識別ステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
外部装置を識別するデータ処理装置、データ処理方法及びプログラムに関するものである。
【背景技術】
【０００２】
デジタル複合機やプリンタ等の画像処理装置はスキャンや印刷などの処理を実行にするに当たって、データを暗号化した上でそのデータを記憶装置に格納し、データを記憶装置から読み出す場合にはデータを復号化して読み出すことにより、記憶装置の盗難による情報漏洩を防止しようとしている。
【０００３】
ここで、データの暗号化・復号化処理の機能を画像処理装置から分離してオプション化するために、暗号鍵内臓の暗号化ボードがオプションボードとして別途用意される場合がある。
【０００４】
しかし、暗号化ボードが記憶装置と一緒に盗難されて、他の画像処理装置に装着されると、他の画像処理装置は暗号化ボードを介して記憶装置内のデータを読み出すことができてしまう。そこで、暗号化ボードが特定の画像処理装置以外では動作しないようにすることが必要である。
【０００５】
つまり、暗号化ボードなどのデータ処理装置が偽の装置に装着された場合でも、接続された装置を適切に識別して、装置の真正性を確認できるようにしなければならない。
【０００６】
装置を識別認証する技術の一例として、ＩＣカードと上位装置間との間で行われる相互認証技術がある。ＩＣカードは乱数を生成してそれを上位装置に送付し、上位装置は予め記憶されている値と受信した乱数とを用いて符号化演算を行い、その演算結果をＩＣカードに送信する。ＩＣカードはこの演算結果を受け取り、予めＩＣカード内にて符号化演算しておいた値と受け取った演算結果とを比較し、上位装置の認証を行う。逆に、上位装置も乱数を生成してそれをＩＣカードに送付し、ＩＣカードは符号化演算を行って演算結果を上位装置に送信する。上位装置は予め上位装置内で符号化演算しておいた値と受信した演算結果とを比較してＩＣカードの認証処理を行う。ＩＣカードが上位装置を認証し、上位装置がＩＣカードを認証する相互認証技術である。
【０００７】
この技術では、ＩＣカードと上位装置とのそれぞれが独自に乱数を生成する必要がある。適切な乱数を発生するためには、真正乱数生成機能や擬似乱数生成のための時計をＩＣカードと上位装置との両方が実装する必要があり、それぞれのコストが上昇する。特に、真正乱数生成機能を実現するためには特別なセンサーが必要になり、時計による擬似乱数生成機能を実現するためには時計を常に動作させるための電源やバックアップ電池が必要になる。
【０００８】
より簡易に乱数を発生するための方法として、キーボード等の入力操作キーの押下時間を測定し、その測定時間の値を初期値として乱数を生成する技術がある（例えば、特許文献１）。この技術では入力操作キーを設ける必要があり、前述した暗号化ボードのようにＵＩを別途設けられないデータ処理装置には適用が難しい。
【０００９】
さらに、上位装置とＩＣカードとの間の認証において、ＩＣカードが真正乱数生成機能や時計を使わずに乱数を生成する技術がある（例えば、特許文献２及び特許文献３）。上位装置がＩＣカードを認証する際に上位装置が生成してＩＣカードに送信した乱数をＩＣカードが保持しておき、ＩＣカードが上位装置を認証する場合にはその乱数を利用する。ＩＣカードは乱数を生成しないので、乱数生成回路はＩＣカードには不要である。
【特許文献１】特開平１１−２５２０６９号公報
【特許文献２】特開平０９−１２８５０７号公報
【特許文献３】特開平０９−２４５１３７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、外部装置がデータ処理装置に乱数を送信して、データ処理装置がその乱数を使用して外部装置を認証する場合、成りすましを考えている外部装置が同じ値の乱数をデータ処理装置に送りつづけることで、データ処理装置が外部装置を認証するのに使用する乱数が固定化され、外部装置による再送攻撃が可能になってしまう恐れがある。
【００１１】
また、データ処理装置による外部装置の認証において直前に行われた認証が失敗に終わった場合でも、データ処理装置が認証に使用する乱数が更新されないと、データ処理装置が外部装置を認証するのに使用する乱数が固定化される。
【００１２】
認証に使用される乱数が固定化されると、外部装置はデータ処理装置の内部で行われている識別処理を推定しやすくなる。
【００１３】
そこで、本発明は、データ処理装置が真正乱数生成機能等を有していなくても、データ処理装置が外部装置を識別するときに使用する乱数が適切に変化するようにすることを目的とする。
【課題を解決するための手段】
【００１４】
本発明に係わるデータ処理装置は、外部装置を識別するデータ処理装置であって、外部装置に対応する識別情報を記憶する識別情報記憶手段と、外部で生成された複数の乱数を外部から受信する乱数受信手段と、前記乱数受信手段により受信された複数の乱数を記憶する乱数記憶手段と、前記乱数記憶手段に記憶された複数の乱数の１つに基づいて生成された乱数を外部装置に送信する乱数送信手段と、前記乱数記憶手段に記憶された複数の乱数の１つに基づいて生成された乱数と前記識別情報記憶手段に記憶されている識別情報とに基づいて演算を行う演算手段と、外部装置から受信した演算結果と前記演算手段による演算結果とに基づいて、外部装置を識別する識別手段とを有することを特徴とする。
【００１５】
また、本発明に係わるデータ処理方法は、外部装置を識別するデータ処理方法であって、外部装置に対応する識別情報を取得する識別情報取得ステップと、外部で生成された複数の乱数を外部から受信する乱数受信ステップと、前記乱数ステップで受信された複数の乱数の１つに基づいて生成された乱数を外部装置に送信する乱数送信ステップと、前記乱数ステップで受信された複数の乱数の１つに基づいて生成された乱数と前記識別情報記憶手段に記憶されている識別情報とに基づいて演算を行う演算ステップと、外部装置から受信した演算結果と前記演算ステップによる演算結果とに基づいて、外部装置を識別する識別ステップとを有することを特徴とする。
【００１６】
また、本発明に係わるプログラムは、外部装置を識別するためのプログラムであって、外部装置に対応する識別情報を取得する識別情報取得ステップと、外部で生成された複数の乱数を外部から受信する乱数受信ステップと、前記乱数ステップで受信された複数の乱数の１つに基づいて生成された乱数を外部装置に送信する乱数送信ステップと、前記乱数ステップで受信された複数の乱数の１つに基づいて生成された乱数と前記識別情報記憶手段に記憶されている識別情報とに基づいて演算を行う演算ステップと、外部装置から受信した演算結果と前記演算ステップによる演算結果とに基づいて、外部装置を識別する識別ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、データ処理装置が真正乱数生成機能や擬似乱数生成のための時計回路を用いなくても場合でも、データ処理装置が外部装置を識別するために使用する乱数を識別処理ごとに変更可能になる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施例を図面を参照しながら説明する。
【実施例１】
【００１９】
図１は、本発明に係わるデータ処理装置の構成を示す図である。図１において、データ処理装置１００は、画像処理装置１０１及び大容量記憶装置１０２と接続可能であって、画像処理装置１０１と大容量記憶装置１０２との間のブリッジとなっている。ここではデータ処理装置１００の一例として、画像処理装置用データ暗号化装置が挙げられている。
【００２０】
データ処理装置１００は、画像処理装置１０１と大容量記憶装置１０２との間に設けられたＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）インターフェースをブリッジするような形で挿入されており、画像処理装置１０１と大容量記憶装置１０２との間でやり取りされるデータを暗号化及び復号化する。ＩＤＥインターフェースの代わりにＰＣＩバスインターフェースが用いられても良い。
【００２１】
データ処理装置１００は、ＣＰＵ１０３、ワークメモリ１０４、不揮発性メモリ１０５、暗号処理エンジン１０６、ＩＯ１０７を有している。不揮発性メモリ１０５はプログラム領域をも含んでいる。データ処理装置に電力が投入されると、ＣＰＵ１０３はプログラムを不揮発性メモリ１０５からワークメモリ１０４にロードし、そのプログラムに従って各種の処理を実行する。ワークメモリ１０４では、電力供給が停止されると保持していたデータが消滅されるが、不揮発性メモリ１０５では、電力供給が停止された後でもデータは記憶・保持される。従って、不揮発性メモリ１０５は、データ処理装置１００のレジスタ設定、暗号鍵、識別用ＩＤなども記憶する。
【００２２】
暗号処理エンジン１０６は、大容量記憶装置１０２に格納されるデータを暗号化または復号化する専用のハードロジックである。データ処理装置１００が画像処理装置１０１の処理パフォーマンスのボトルネックとならないように、暗号処理エンジン１０６は暗号化処理または復号化処理を高速に実行する。
【００２３】
ＩＯ１０７は、暗号処理エンジン１０６と外部装置とを接続するためのインターフェースである。この実施例ではデータ処理装置１００はＩＤＥインターフェースを有しており、ＩＤＥのコマンド処理を制御しかつ物理インターフェースとしての要件を満たすようなハードロジックがＩＯ１０７として組み込まれている。
【００２４】
画像処理装置１０１は、スキャナ機能及びプリント機能を備えたデジタル複合機やネットワークプリンタなどである。画像処理装置１０１はスキャな機能を使って入力した画像データを大容量記憶装置１０２に格納したり、大容量記憶装置１０２に格納されている文書データをプリント機能を使って印刷したりする。
【００２５】
大容量記憶装置１０２は、いわゆるＨＤＤ装置である。大容量記憶装置は、画像処理装置１０１による画像処理に必要な一時的なデータを記憶したり、画像処理装置のＢＯＸデータ、例えばスキャナ機能で入力された画像データを記憶する。
【００２６】
図２は、本発明に係わるデータ処理装置の機能構成を示す図である。これらの機能構成は、ＣＰＵ１０３が不揮発性メモリ１０５に記憶されているプログラムを実行することにより実現されても良い。識別手段２０１は、真正な画像処理装置１０１を識別する。データ処理装置１００は、設置時の画像処理装置１０１の識別情報を識別用ＩＤとして不揮発性メモリ１０５に記憶し、電源投入のたびに、データ処理装置１００に接続された画像処理装置の識別処理をその識別用ＩＤを利用して行う。これによって、データ処理装置１００が大容量記憶装置１０２と一緒に盗まれて、他の画像処理装置に装着された場合でも、データ処理装置は識別処理の結果に基づいて動作を停止することにより、大容量記憶装置１０２からデータが読み出されるのを防止する。
【００２７】
図３は、識別手段２０１により行われる識別処理を示すフローチャートである。ＣＰＵ１０３が図３のフローチャートに基づくプログラムを実行することにより、識別手段２０１は実現される。
【００２８】
識別手段２０１は、データ処理装置１００で生成した乱数を画像処理装置１０１に送信する（ステップＳ３０１）。
【００２９】
画像処理装置１０１は、その乱数を受信し（ステップＳ３０２）、予め記憶している識別情報と受信した乱数とに基づいて符号化演算を行う（ステップＳ３０３）。その後、画像処理装置１０１は符号化演算結果をデータ処理装置１００に送信する。
【００３０】
識別手段２０１は、画像処理装置１０１からの符号化演算結果を受信する（ステップＳ３０５）。すると、識別手段２０１は、ステップＳ３０１で送信した乱数と、設置時に不揮発性メモリ１０５に記憶していた識別用ＩＤとに基づいて符号化演算を行う（ステップＳ３０６）。
【００３１】
そして、識別手段２０１は、ステップＳ３０５で受信した符号化演算結果とステップＳ３０６で求めた符号化演算結果とを比較し、両者が一致するかを判断する（ステップＳ３０７）。両者が一致すると判断した場合には、識別手段２０１は、画像処理装置１０１は真正なものであると判断する（ステップＳ３０８）。両者は一致しないと判断した場合には、識別手段２０１は、画像処理装置１０１は成りすましをしていると判断し、データ処理装置１００の動作を停止させる（ステップＳ３０９）。
【００３２】
乱数生成手段２０４は、識別手段２０１が画像処理装置１０１へ送信した乱数を生成する。所定の乱数の種（シード）が不揮発性メモリ１０５に保持されており、乱数生成手段２０４は乱数の生成のたびに１つずつシードを不揮発性メモリ１０５から取得する。乱数生成手段２０４は、取得したシードを所定のハッシュ関数を用いて規定サイズの乱数として整形する。この乱数が識別手段による識別処理で使用される。不揮発性メモリ１０５のうち、複数のシードが記憶されている領域をランダムプールと呼ぶ。
【００３３】
乱数生成手段２０４は、乱数を生成したときにどのシードを利用したかを記憶して、乱数生成の際に同じシードが再利用されないようにしている。これによって、例えば識別処理が失敗に終わり、再度、識別処理が実行される場合に、同じ乱数が使用されなくなる。識別処理が実行されるたびに乱数が変化するため、成りすましを狙っている画像処理装置による再送攻撃に対処することが可能である。また、成りすましを狙っている画像処理装置が繰返し識別処理をデータ処理装置に実行させて識別処理のロジックを推定しようとしても、識別処理が実行されるたびに乱数が変化するため、データ処理装置による識別処理のロジックが推定しにくくなり、セキュリティが強化される。
【００３４】
暗号化・復号化手段２０２は、暗号処理エンジン１０６の動作を制御する。暗号化処理または復号化処理は実際には暗号処理エンジン１０６によって実行されるため、暗号化・復号化手段２０２は、暗号処理エンジン１０６が暗号化処理を開始するためのトリガーを暗号処理エンジン１０６に与えたり、暗号モード或いは暗号鍵を暗号処理エンジン１０６に対して設定するなど、暗号処理エンジン１０６の補助的な処理を行う。
【００３５】
鍵管理手段２０３は、暗号鍵を生成し、それを不揮発性メモリ１０５に記憶させる。暗号鍵は暗号処理エンジン１０６の処理に利用される。鍵管理手段２０３はＩＯ１０７を介して入力される鍵生成コマンドに従って暗号鍵を生成する。暗号鍵を生成するにあたって必要となるシードは、外部から鍵生成コマンドのパラメータとして入力される場合と、ランダムプールから取得される場合とがある。
【００３６】
ランダムプールに記憶されているシードから暗号鍵が生成される場合には、暗号鍵のために取得されたシードは、別途、不揮発性メモリ１０５に保持される。このため、電源供給が停止されて、暗号鍵がワークメモリ１０４から消去されても、鍵管理手段２０３は暗号鍵を再生することができる。シードから暗号鍵を生成するアルゴリズムは例えばＦＩＰＳ１８６−２などの標準仕様に基づく。
【００３７】
生成された暗号鍵は不揮発性メモリ１０５に記憶され、暗号化処理または復号化処理が実行されるたびに鍵管理手段２０３によって不揮発性メモリ１０５から取り出され、暗号処理エンジン１０６のレジスタに設定される。
【００３８】
なお、暗号鍵をデータ処理装置１００の外に出力するためのコマンドは用意されていない。このため、データ処理装置１００を使わずに大容量記憶装置１０２に暗号化されて記憶されているデータが復号化されることは不可能になっている。
【００３９】
モード制御手段２０５は、データ処理装置１００の処理段階（処理モード）を保持し、処理モードに応じて処理シーケンスを制御する。モード制御手段２０５は、データ処理装置１００が複数のモードのそれぞれに移行するよう制御する。
【００４０】
図４は、データ処理装置１００の電源投入後の状態遷移を示す図である。状態遷移はモード制御手段２０５によって制御される。
【００４１】
初期化モード４００は、電源投入直後のデータ処理装置１００の状態である。データ処理装置１００は電源投入直後に必ず初期化モード４００になる。この初期化モード４００では、データ処理装置１００は暗号鍵を生成するためのシードが既に不揮発性メモリ１０５に記憶されているかどうかを判断する。
【００４２】
暗号鍵用のシードが既に存在するということはデータ処理装置１００が画像処理装置１０１に装着されていることを示す。従って、暗号鍵用のシードが有る場合には、設置に関する様々な設定や情報の保持は既に済まされているため、データ処理装置１００は識別認証モード４０３に移行する。一方、暗号鍵用のシードが不揮発性メモリ１０５に記憶されていない場合には、データ処理装置１００の設置に必要な処理が完了していないことを意味する。従って、データ処理装置１００は設置モード４０１に移行する。
【００４３】
設置モード４０１は、データ処理装置１００が画像処理装置１０１へ設置（インストール）される状態である。設置モード４０１では、識別手段２０１は識別情報を画像処理装置１０１から取得し、その識別情報を識別用ＩＤとして不揮発性メモリ１０５に記憶する。
【００４４】
識別用ＩＤは、データ処理装置１００の設置を行うサービスマン或いは管理者によってローカルＵＩから明示的に入力されることにより、不揮発性メモリ１０５に記憶されても良い。この場合、サービスマン或いは管理者は画像処理装置１０１が真正であることを確認し上で、画像処理装置１０１に代わって識別用ＩＤを入力する。
【００４５】
一方、識別用ＩＤのデータ処理装置１００への入力が画像処理装置１０１によって自動化される場合には、サービスマン或いは管理者がデータ処理装置１００を画像処理装置１０１へ装着して電源を投入し、画像処理装置１０１が自動で識別用ＩＤを生成して、それをデータ処理装置１００に送信する。データ処理装置１００はその識別用ＩＤを不揮発性メモリ１０５に記憶させる。
【００４６】
なお、いずれの場合でも、画像処理装置１０１の真正性はサービスマン或いは管理者が確認する必要がある。
【００４７】
設置モード４０１が正常に終了すると、データ処理装置１００はランダム受信モード４０２へ移行する。ランダム受信モード４０２では、データ処理装置１００はシードを複数個画像処理装置１０１より受信する。シードは外部で生成されて不揮発性メモリに保持されることにより、データ処理装置１００はシードの生成する機能を有する必要がなくデータ処理装置１００のコストが軽減する。
【００４８】
ランダム受信モードでは、データ処理装置１００は画像処理装置１０１に対して乱数生成コマンドを発行する。乱数生成コマンドは、ＩＯ１０７を介して画像処理装置１０１に送信され、画像処理装置１０１は自身の持つ乱数生成機能を使って乱数値を生成し、それをデータ処理装置１００へ送信する。画像処理装置１０１は、データ処理装置１００が乱数生成停止コマンドを発行するまで、乱数値を生成しそれをデータ処理装置１００へ送信する。
【００４９】
データ処理装置１００は、受信した乱数値の総サイズが所定のサイズになるまで、受信した乱数値をワークメモリ１０４に格納する。所定のサイズは不揮発性メモリ１０５のサイズに応じて予め設定される。乱数値の総サイズが所定のサイズに達すると、データ処理装置１００は乱数停止コマンドを画像処理装置１０１へ発行する。そして、データ処理装置１００は、ワークメモリ１０４に蓄積された複数の乱数値を複数のシードとして不揮発性メモリ１０５に記憶させる。
【００５０】
また、設置モード４０１からランダム受信モード４０２へ移行された場合には、鍵管理手段２０３は暗号鍵を生成するのに必要なシードをランダムプールから取得し、それを別途不揮発性メモリ１０５に記憶させておく。
【００５１】
モード制御手段２０５は、ランダム受信モードにおいてランダムプールが正常に形成された場合には、データ処理装置１００を通常モード４０４に遷移させる。
【００５２】
通常モード４０４は、画像処理装置１０１が大容量記憶装置１０２を利用可能な状態である。通常モード４０４ではＩＤＥコマンドが有効になる。通常モード４０４では、データ処理装置１００は、画像処理装置１０１から大容量記憶装置１０２へのデータの書き込み時には、データを暗号化して、暗号化されたデータを大容量記憶装置１０２へ送信し、大容量記憶装置１０２から画像処理装置１０１へのデータの読み出し時には、暗号化されたデータを復号化して、復号化後のデータを画像処理装置１０１へ送信する。
【００５３】
識別認証モード４０３は、暗号鍵生成のためのシードが不揮発性メモリ１０５に保持されている場合に移行される。識別認証モード４０３では、図３が示す識別処理が実行される状態である。
【００５４】
モード制御手段２０５は、データ処理装置１００の現在のモードを保持するとともに、識別処理の実行回数も管理して、その回数を示す情報を不揮発性メモリ１０５に記憶させる。識別処理の実行回数は、ランダムプールを更新するタイミングを図るのに用いられる。データ処理装置１００は識別処理を実行するたびにランダムプールからシードを取り出して使用し、一方、ランダムプールは有限サイズ分のシードを保持するに過ぎないので、使用されるシードはいずれ一巡してしまう。そこで、モード制御手段２０５は、識別処理の実行回数に基づいて、使用されるシードが一巡するタイミングを管理し、一巡する場合にはランダムプールを更新するようにする。
【００５５】
モード制御手段２０５はさらに、識別認証モード４０３で、識別処理の実行回数が所定回数に達したかどうかを判断する。識別処理で画像処理装置１０１が真正と判断され、かつ識別処理の実行回数が所定回数に達している場合には、データ処理装置１００をランダム受信モード４０２に移行させる。この後、ランダム受信モード４０２では、前述したように、ランダムプールが更新される。
【００５６】
一方、識別処理で画像処理装置１０１が真正と判断され、かつ識別処理の実行回数が所定回数に達していない場合には、モード制御手段２０５はデータ処理装置１００を通常モード４０４に移行させる。識別処理の実行回数が所定回数に達していない場合には、ランダムプールのランダム性は有効であるとして、ランダムプールの更新は行われない。
【００５７】
また、モード制御手段２０５は、識別手段２０１による識別処理の連続実行回数も管理している。識別処理が連続して所定回数失敗に終わると、モード制御手段２０５は、データ処理装置１００をエラーモード４０５へ移行させる。所定回数以内であれば連続して識別処理が行われるのを許可するのは、ノイズ等の物理的な原因により識別処理が失敗に終わるケースがあるのを想定しているためである。
【００５８】
エラーモード４０５では、データ処理装置１００は電源を落す以外の一切の処理を受け付けなくなる。
【００５９】
このように、データ処理装置１００は、モード制御手段２０５によって制御されており、識別認証モード４０３を経た場合或いは設置モード４０１及びランダム受信モード４０２を経た場合にのみ、通常モードに移行できる。よって、大容量記憶装置１０２に格納されたデータは確実に暗号化され、また、データ処理装置１００ごと大容量記憶装置１０２が盗難されても、データ処理装置１００は偽の画像処理装置では動作しない。
【実施例２】
【００６０】
データ処理装置１００は画像処理装置１０１のオプションボードとして、画像処理装置１０１の内部に組み込み可能であってもよい。この場合には、データ処理装置１００及び大容量記憶装置１０２が画像処理装置１０１の筐体内部に含まれることになる。
【００６１】
また、実施例１では、本発明に係わるプログラムが不揮発性メモリ１０５に記憶されているが、本発明に係わるプログラムコードを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００６３】
【図１】本発明に係わるデータ処理装置の構成を示す図である。
【図２】本発明に係わるデータ処理装置の機能構成を示す図である。
【図３】識別手段２０１により行われる識別処理を示すフローチャートである。
【図４】データ処理装置１００の電源投入後の状態遷移を示す図である。
【符号の説明】
【００６４】
１００  データ処理装置
１０１  画像処理装置
１０２  大容量記憶装置
１０３  ＣＰＵ
１０４  ワークメモリ
１０５  不揮発性メモリ
１０６  暗号処理エンジン
１０７  ＩＯ
２０１  識別手段
２０２  暗号化・復号化手段
２０３  鍵管理手段
２０４  乱数生成手段
２０５  モード制御手段
【図１】
2007013552.tif 000003
【図２】
2007013552.tif 000004
【図３】
2007013552.tif 000005
【図４】
2007013552.tif 000006