(57)【要約】【課題】ハードウェアや記憶媒体の盗難に伴う機密情報の流出を適切に防止する画像形成装置を提供することを目的とする。【解決手段】暗号／復号化モジュール３０が、Ｍ系列乱数発生モジュール３１からの暗号キー（乱数）を用いてＤＭＡコントローラ２３からのデータ（例えば、画像形成データなど）を暗号化したり、Ｍ系列乱数発生モジュール３１からの暗号キーに基づいて生成した復号キーを用いてカード型メモリインターフェイス１９からのデータを復号化することができる。そのため、ユーザにとっての暗号キーであるシード（ＳＥＥＤ）データとカード型メモリ５又はそれに記憶されているデータとが盗まれたとしても、使用している暗号アルゴリズムに加え、Ｍ系列乱数発生モジュール３１の仕様が判明しない限りは、暗号アルゴリズム単体での暗号化に比べて解読を困難にでき、セキュリティ向上につながる。【選択図】図２
2009140104.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体と接続可能であり、データに暗号化処理を行うことが可能な画像形成装置において、
前記暗号化処理を行う場合に、種値を設定する種値設定手段と、
前記種値設定手段で設定された種値を基に乱数を発生する乱数発生手段と、
前記乱数発生手段で発生させた乱数から暗号鍵を設定する暗号鍵設定手段と、
前記暗号鍵設定手段で設定された暗号鍵を基にデータの暗号化処理を行い、暗号化データとする暗号化手段と、
前記記憶媒体に対して、前記暗号化手段で暗号化された暗号化データの書き込みを行う暗号化データ書込手段と、を備えたことを特徴とする画像形成装置。
【請求項２】
前記乱数発生手段が発生させる乱数は、Ｍ系列の乱数であることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記暗号化手段で暗号化処理を行う暗号鍵は、セクタ単位で変更することを特徴とする請求項１、または請求項２記載の画像形成装置。
【請求項４】
前記乱数発生手段で発生させた乱数から復号鍵を設定する復号鍵設定手段と、
前記記憶媒体から、前記暗号化データ書込手段で前記記憶媒体に書き込まれた暗号化データの読み込みを行う暗号化データ読込手段と、
前記暗号化データ読込手段で読み込んだ暗号化データを、前記復号鍵設定手段で設定された復号鍵を基に復号化処理を行う復号化手段と、をさらに備えたことを特徴とする請求項１から請求項３のいずれか１項に記載の画像形成装置。
【請求項５】
前記復号化手段で復号化処理を行う復号鍵は、セクタ単位で変更することを特徴とする請求項４記載の画像形成装置。
【請求項６】
前記記憶媒体は、ＳＤカードであることを特徴とする請求項１から請求項５のいずれか１項に記載の画像形成装置。
【請求項７】
記憶媒体と接続可能であり、データに暗号化処理を行うことが可能な画像形成装置において、
ユーザからの暗号鍵の設定を受け付ける暗号鍵設定受付手段と、
前記暗号鍵設定受付手段で受け付けた暗号鍵を変換する暗号鍵変換手段と、
前記暗号鍵変換手段で変換された暗号鍵を基にデータの暗号化処理を行い、暗号化データとする暗号化手段と、
前記記憶媒体に対して、前記暗号化手段で暗号化された暗号化データの書き込みを行う暗号化データ書込手段と、を備えたことを特徴とする画像形成装置。
【請求項８】
前記暗号鍵変換手段で変換された暗号鍵から復号鍵を設定する復号鍵設定手段と、
前記記憶媒体から、前記暗号化データ書込手段で前記記憶媒体に書き込まれた暗号化データの読み込みを行う暗号化データ読込手段と、
前記暗号化データ読込手段で読み込んだ暗号化データを、前記復号鍵設定手段で設定された復号鍵を基に復号化処理を行う復号化手段と、をさらに備えたことを特徴とする請求項７記載の画像形成装置。
【請求項９】
前記画像形成装置内に複数の鍵変換テーブルを格納する鍵変換テーブル格納手段と、
前記鍵変換テーブル格納手段に格納された複数の鍵変換テーブルから、１の鍵変換テーブルの選択を受け付ける鍵変換テーブル選択受付手段と、をさらに備え、
前記暗号鍵変換手段は、前記鍵変換テーブル選択受付手段で選択を受け付けた１の鍵変換テーブルに基づいて、前記暗号鍵設定受付手段で受け付けた暗号鍵を変換することを特徴とする請求項７、または請求項８記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶媒体と接続可能であり、データに暗号化処理を行う画像形成装置（例えば、デジタル複写機能、コピー機能、ファクシミリ機能、スキャナ機能、またはそれらの機能を統合した機能などを備えた画像形成装置）に関する。
【背景技術】
【０００２】
従来から、暗号化処理では、ハードウェア内の暗号鍵用ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に格納された暗号鍵を読み出し、この暗号鍵を基に転送されたデータの暗号化処理を行っていた。
そのため、ハードウェアが第三者により持ち去られ、ハードディスク内の暗号鍵用ＲＡＭから暗号鍵が不正に読み出された場合、通信セキュリティに係る問題が発生していた。
そこで、特許文献１では、パソコンが盗難され、該パソコンに記憶されたデータが第三者によって不正に読み出されることを防止するため、処理終了時に、ハードディスク内部のデータを暗号化すると共に、暗号化したデータを復号化するための復号化キーをフレキシブルディスク（記憶媒体）に記憶する技術が開示されている。
これにより、ハードディスク内には暗号化されたデータが保持され、記憶媒体（フレキシブルディスクなど）には復号化キーが保持されるので、該記憶媒体をユーザが所有することで、データのセキュリティを保護することができる。
【特許文献１】特開平１１−１５７３８号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上記特許文献１記載の技術では、復号化キーの格納された記憶媒体やハードウェアが第三者によって盗難された場合、記憶媒体に格納された復号化キーによって、ハードウェアに格納された暗号化されたデータが解読可能になるというセキュリティ上の問題が発生する。
また、画像形成装置は、パソコンなどの個人の所有物と異なり、通常、複数のユーザから使用可能な状態となっているため、画像形成装置のハードウェアや記憶媒体は、第三者によって不正に取り外される可能性が高い。
【０００４】
そこで、本発明では、画像形成装置におけるハードウェアや記憶媒体の盗難に伴う機密情報の流出を適切に防止することを第１の目的とする。
また、例え画像形成装置のハードウェアや記憶媒体が盗難されたとしても、暗号化されたデータが第三者によって容易に解読できないようにすることを第２の目的とする。
【課題を解決するための手段】
【０００５】
請求項１記載の発明では、記憶媒体と接続可能であり、データに暗号化処理を行うことが可能な画像形成装置において、前記暗号化処理を行う場合に、種値を設定する種値設定手段と、前記種値設定手段で設定された種値を基に乱数を発生する乱数発生手段と、前記乱数発生手段で発生させた乱数から暗号鍵を設定する暗号鍵設定手段と、前記暗号鍵設定手段で設定された暗号鍵を基にデータの暗号化処理を行い、暗号化データとする暗号化手段と、前記記憶媒体に対して、前記暗号化手段で暗号化された暗号化データの書き込みを行う暗号化データ書込手段と、を備えたことにより、前記第１の目的を達成する。
請求項２記載の発明では、請求項１記載の発明において、前記乱数発生手段が発生させる乱数は、Ｍ系列の乱数であることを特徴とする。
請求項３記載の発明では、請求項１、または請求項２記載の発明において、前記暗号化手段で暗号化処理を行う暗号鍵は、セクタ単位で変更することを特徴とする。
請求項４記載の発明では、請求項１から請求項３のいずれか１項に記載の発明において、前記乱数発生手段で発生させた乱数から復号鍵を設定する復号鍵設定手段と、前記記憶媒体から、前記暗号化データ書込手段で前記記憶媒体に書き込まれた暗号化データの読み込みを行う暗号化データ読込手段と、前記暗号化データ読込手段で読み込んだ暗号化データを、前記復号鍵設定手段で設定された復号鍵を基に復号化処理を行う復号化手段と、をさらに備えたことを特徴とする。
請求項５記載の発明では、請求項４記載の発明において、前記復号化手段で復号化処理を行う復号鍵は、セクタ単位で変更することを特徴とする。
請求項６記載の発明では、請求項１から請求項５のいずれか１項に記載の発明において、前記記憶媒体は、ＳＤカードであることを特徴とする。
請求項７記載の発明では、記憶媒体と接続可能であり、データに暗号化処理を行うことが可能な画像形成装置において、ユーザからの暗号鍵の設定を受け付ける暗号鍵設定受付手段と、前記暗号鍵設定受付手段で受け付けた暗号鍵を変換する暗号鍵変換手段と、前記暗号鍵変換手段で変換された暗号鍵を基にデータの暗号化処理を行い、暗号化データとする暗号化手段と、前記記憶媒体に対して、前記暗号化手段で暗号化された暗号化データの書き込みを行う暗号化データ書込手段と、を備えたことにより、前記第２の目的を達成する。
請求項８記載の発明では、請求項７記載の発明において、前記暗号鍵変換手段で変換された暗号鍵から復号鍵を設定する復号鍵設定手段と、前記記憶媒体から、前記暗号化データ書込手段で前記記憶媒体に書き込まれた暗号化データの読み込みを行う暗号化データ読込手段と、前記暗号化データ読込手段で読み込んだ暗号化データを、前記復号鍵設定手段で設定された復号鍵を基に復号化処理を行う復号化手段と、をさらに備えたことを特徴とする。
請求項９記載の発明では、請求項７、または請求項８記載の発明において、前記画像形成装置内に複数の鍵変換テーブルを格納する鍵変換テーブル格納手段と、前記鍵変換テーブル格納手段に格納された複数の鍵変換テーブルから、１の鍵変換テーブルの選択を受け付ける鍵変換テーブル選択受付手段と、をさらに備え、前記暗号鍵変換手段は、前記鍵変換テーブル選択受付手段で選択を受け付けた１の鍵変換テーブルに基づいて、前記暗号鍵設定受付手段で受け付けた暗号鍵を変換することを特徴とする。
【発明の効果】
【０００６】
請求項１記載の発明では、乱数を用いてデータを暗号化することにより、記憶媒体が盗まれたとしても、従来の暗号アルゴリズム単体での暗号化に比べて解読を困難にでき、セキュリティ向上につながる。
請求項２記載の発明では、乱数としてＭ系列を用いるので、暗号化処理での暗号鍵および復号化処理での復号鍵を同一の乱数から設定することができる。
請求項３記載の発明では、暗号鍵をセクタ単位で変更するので、特定のサイズ単位で暗号鍵や復号鍵を変更することも可能になり、解読をより困難にすることが可能となる。
請求項４記載の発明では、乱数を用いて暗号化したデータを、同一の乱数を基にした復号鍵で復号化するので、手軽に解読することができる。
請求項５記載の発明では、復号鍵をセクタ単位で変更するので、セクタ単位で暗号化されたデータを手軽に解読することができる。
請求項６記載の発明では、カード型メモリ内（ＳＤカード）の暗号化データからの解析を一層困難なものにすることができ、重要データの盗用を防止することができる。
請求項７記載の発明では、ユーザが設定した暗号鍵を、ハードウェアで構成されるＡＳＩＣ内の変換回路を経由させることにより、暗号アルゴリズムや暗号鍵に係る情報が漏洩し、ハードディスクが盗難されたとしても、鍵変換の仕様が判明しない限りは、暗号鍵や復号鍵の解読はできないため、通常の設定に比べ、解読をより困難にできる。
請求項８記載の発明では、同一の鍵変換テーブルから変換された暗号鍵を基に復号鍵を設定することで、暗号化処理、および復号化処理を効率良く行うことができる。
請求項９記載の発明では、鍵変換テーブルを複数内蔵することで、例えば、アプリケーション毎、ユーザ毎に各々の鍵変換テーブルを設定することができ、結果的に情報の機密性をより高めることが可能になる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明を実施するための最良の形態について、図１から図７に基づいて説明する。
図１は、第１の実施形態における画像形成装置の構成を示すブロック図である。
画像形成装置は、例えば、デジタル複写機能、コピー機能、ファクシミリ機能、スキャナ機能、あるいはそれらの機能を統合した機能などを備えており、ＣＰＵ１、メモリ２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３、物理層デバイス４、カード型メモリ５、およびＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１０から構成されている。
【０００８】
ＣＰＵ１は、この画像形成装置の全体を統括的に制御する中央処理装置であり、当該中央処理装置が実行する固定プログラムを格納しているＲＯＭを含むマイクロコンピュータである。
メモリ２は、ＣＰＵ１が実行するプログラムを展開し、各種の処理の際の作業領域として使用するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶媒体である。      
【０００９】
ＨＤＤ３は、複数のアプリケーション・プログラムを含む各種プログラム（ソフトウェア）やデータを記憶する大容量の記憶媒体であるハードディスクを含むハードディスク装置（以下「ＨＤＤ」という）である。
なお、この画像形成装置にＨＤＤ３を内蔵せず、外部接続することも可能である。
また、ＨＤＤ３の代わりに、フレキシブルディスクを着脱可能に備えたフレキシブルディスク装置、あるいはＭＯ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、またはＤＶＤ−ＲＡＭ等の光ディスクを着脱可能に備えた光ディスク装置を内蔵、または外部接続してもよい。
【００１０】
物理層デバイス（ＰＨＹ）４は、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１ｂ規格（無線ＬＡＮ対応）、ＩＥＥＥ１３９４規格、またはＩＥＥＥ８０２．３規格（イーサネット（登録商標）対応）に準拠したハブやケーブル等に相当するものである。
【００１１】
ＡＳＩＣ１０は、メモリ・アービタ１１、ＣＰＵインターフェイス１２、メモリコントローラ１３、プリンタエンジンインターフェイス１４、ＩＥＥＥ１２８４インターフェイス１５、ＨＤＤインターフェイス１６、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェイス１７、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）１８、カード型メモリインターフェイス１９、およびＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ２０〜２３等からなる多機能デバイスボードである。
そして、ＡＳＩＣ１０のＩＣ回路によって、ＣＰＵ１の制御対象となるデバイスなどの共有化を図ることができ、アーキテクチャの面からアプリケーションソフト等の各種処理（処理手段に相当する）の高効率化が支援される。
また、ＡＳＩＣ１０は、アプリケーションソフト等の各種処理を行う際、例えば、ＳＤカードなどのカード型メモリなどの記憶媒体を共有の記憶領域として利用可能に設計されている。
【００１２】
メモリ・アービタ１１は、ＣＰＵインターフェイス１２、メモリコントローラ１３、プリンタエンジンインターフェイス１４、ＩＥＥＥ１２８４インターフェイス１５とＤＭＡコントローラ２０〜２３からの入出力要求に対する調停（アービトレーション）を行い、データの入出力を行う調停回路である。
ＣＰＵインターフェイス１２は、ＣＰＵ１とメモリ・アービタ１１との間のデータの入出力を制御する回路である。
メモリコントローラ１３は、メモリ２とメモリ・アービタ１１との間のデータの入出力を制御する回路である。
【００１３】
プリンタエンジンインターフェイス１４には、図示しない用紙への印刷（画像形成）を行うプリンタエンジンが接続可能であり、プリンタエンジンインターフェイス１４は、該プリンタエンジンと、メモリ・アービタ１１との間の通信（データの入出力）を制御する回路である。
ＩＥＥＥ１２８４インターフェイス１５は、図示しない記憶媒体や外部装置（クライアントコンピュータなど）との間の通信を制御する高速向けのシリアルインターフェイスである。
【００１４】
ＨＤＤインターフェイス１６は、ＨＤＤ３とＤＭＡコントローラ２０との間の通信を制御するインターフェイスである。
ＵＳＢインターフェイス１７は、図示しないＵＳＢメモリなどの記憶媒体と接続可能であり、該接続された記憶媒体と、ＤＭＡコントローラ２１との間の通信を制御する低速又は中速向けのシリアルインターフェイスである。
ＭＡＣ１８は、物理層デバイス４を用いてＬＡＮ（ローカル・エリア・ネットワーク）等のネットワーク上の複数のクライアントコンピュータ（他の外部装置でもよい）と接続し、これら複数のクライアントコンピュータと、ＤＭＡコントローラ２２との通信を制御する回路である。
なお、物理層デバイス（ＰＨＹ）４は、これら複数のクライアント（複数の外部装置）と接続するための接続手段として機能している。
画像形成装置は、これら物理層デバイス４を介して接続された複数のクライアントコンピュータなどから、画像形成処理などの動作指令によって作動するように構成されている。
カード型メモリインターフェイス１９は、記憶媒体であるカード型メモリ５（例えば、ＳＤカードなどのカード型メモリ）と接続可能であり、該カード型メモリ５と、ＤＭＡコントローラ２３との間の通信を制御するインターフェイスである。
【００１５】
ＤＭＡコントローラ２０は、ＨＤＤインターフェイス１６との間でやりとりされるデータのＤＭＡ転送を行い、必要なデータをメモリ・アービタ１１へ転送する。また、メモリ・アービタ１１との間でやりとりされるデータのＤＭＡ転送も行い、必要なデータをＨＤＤインターフェイス１６へ転送する。
ＤＭＡコントローラ２１は、ＵＳＢインターフェイス１７との間でやりとりされるデータのＤＭＡ転送を行い、必要なデータをメモリ・アービタ１１へ転送する。また、メモリ・アービタ１１との間でやりとりされるデータのＤＭＡ転送も行い、必要なデータをＵＳＢインターフェイス１７へ転送する。
【００１６】
ＤＭＡコントローラ２２は、ＭＡＣ１８との間でやりとりされるデータのＤＭＡ転送を行い、必要なデータをメモリ・アービタ１１へ転送する。また、メモリ・アービタ１１との間でやりとりされるデータのＤＭＡ転送も行い、必要なデータをＭＡＣ１８へ転送する。
ＤＭＡコントローラ２３は、カード型メモリインターフェイス１９との間でやりとりされるデータのＤＭＡ転送を行い、必要なデータをメモリ・アービタ１１へ転送する。また、メモリ・アービタ１１との間でやりとりされるデータのＤＭＡ転送も行い、必要なデータをカード型メモリインターフェイス１９へ転送する。
【００１７】
このように構成された画像形成装置において、メモリ２には、スキャナ機能、コピー機能、ファクシミリ機能などで取得した画像形成に係る画像形成データが格納される。
そして、ユーザから、該画像形成データをカード型メモリに格納する指示を受け付けた場合、ＣＰＵ１は、メモリ内２に格納された画像形成データをカード型メモリに転送するため、ＡＳＩＣ１０内のメモリコントローラ１３、ＤＭＡコントローラ２３、およびカード型メモリインターフェイス１９を介して、カード型メモリ５に転送する。そして、カード型メモリ５には、転送された画像形成データが格納される。
【００１８】
ここで、上述したように、メモリ２とカード型メモリ５との間のデータ転送はＤＭＡコントローラ２３によって行われることになるが、カード型メモリインターフェイス１９と、ＤＭＡコントローラ２３との間に暗号／復号化モジュールを設けることにより、カード型メモリ内のデータは暗号文、メモリ２内のデータは平文として扱うことができるようになっている。
暗号／復号化モジュールは、後述するＭ系列乱数発生モジュール（Ｍ系列乱数発生手段）より発生した乱数を暗号鍵（暗号キー）として、カード型メモリ５への書き込みデータを暗号化する暗号化手段と、Ｍ系列乱数発生モジュールより発生した乱数を復号鍵として、カード型メモリ５からの読み出しデータを復号化する復号化手段とによって構成されている。
【００１９】
図２は、第１の実施形態におけるメモリ２からカード型メモリ５へのデータ転送（ライト）時のデータの流れを示すブロック図である。
暗号／復号化モジュール３０は、ＣＰＵ１により、メモリ２からカード型メモリ５へのデータ転送開始に先立ち、暗号化モード（ＭＯＤＥ＝Ｅｎｃｒｙｐｔｉｏｎ）に設定される。
Ｍ系列乱数発生モジュール３１は、ＡＳＩＣ１０に設けられており、暗号化モードが設定された場合に、ＣＰＵ１によってセットされた種値（ＳＥＥＤ）を基に暗号鍵を生成して出力する。つまり、乱数を発生させ、それを暗号鍵として出力する。
【００２０】
その暗号鍵は、ＤＭＡコントローラ２３からの指示により、暗号化モードの暗号／復号化モジュール３０に引き渡される。
暗号／復号化モジュール３０は、Ｍ系列乱数発生モジュール３１から与えられた暗号鍵に基づき、ＤＭＡコントローラ２３から受け取ったデータ（メモリ２内の画像形成データ）を暗号化してカード型メモリインターフェイス１９に引き渡す。
【００２１】
カード型メモリインターフェイス１９は、暗号／復号化モジュール３０から受け取ったデータをカード型メモリ５のメモリに書き込み処理を行う。
そして、カード型メモリ５には、画像形成データなどのデータが暗号化され、格納される。
なお、暗号／復号化モジュール３０は、スルーモード（ＭＯＤＥ＝Ｔｈｒｏｕｇｈ）を持ち、スルーモードの場合には、ＤＭＡコントローラ２３から受け取ったデータを暗号化せず、そのままカード型メモリインターフェイス１９に引き渡す。
【００２２】
図３は、第１の実施形態におけるカード型メモリ５からメモリ２へのデータ転送（リード）時のデータの流れを示すブロック図である。
暗号／復号化モジュール３０は、カード型メモリ５からメモリ２へのデータ転送開始に先立ち、ＣＰＵ１により復号化モード（ＭＯＤＥ＝Ｄｅｃｒｙｐｔｉｏｎ）に設定される。
Ｍ系列乱数発生モジュール３１は、ＡＳＩＣ１０に設けられており、復号化モードが設定された場合に、ＣＰＵ１によってセットされた種値（ＳＥＥＤ）を基に暗号鍵を生成し、該生成された暗号鍵を暗号／復号化モジュール３０に送信する。
【００２３】
暗号鍵は、ＤＭＡコントローラ２３からの指示により、復号化モードの暗号／復号化モジュール３０に引き渡される。
そして、暗号／復号化モジュール３０は、Ｍ系列乱数発生モジュール３１から与えられた暗号鍵から復号鍵の設定を行う。
暗号／復号化モジュール３０は、設定した復号鍵に基づき、カード型メモリインターフェイス１９から受け取ったデータ（メモリ２内の画像形成データ）を復号化してＤＭＡコントローラ２３に引き渡す。
【００２４】
ＤＭＡコントローラ２３は、暗号／復号化モジュール３０から受け取ったデータをメモリ２に書き込み処理を行う。
そして、メモリ２には、暗号化されたデータが復号化され、メモリ２内に格納される。
なお、暗号／復号化モジュール３０は、スルーモード（ＭＯＤＥ＝Ｔｈｒｏｕｇｈ）を持ち、スルーモードの場合には、カード型メモリインターフェイス１９から受け取ったデータを復号化せず、そのままＤＭＡコントローラ２３に引き渡す。
【００２５】
図４は、第１の実施形態における暗号化モード時に暗号鍵を自動更新する際の動作を説明するための図である。
暗号／復号化モジュール３０は、上述したように、Ｍ系列乱数発生モジュール３１から与えられた暗号鍵に基づき、ＤＭＡコントローラ２３から受け取った画像形成データをカード型メモリインターフェイス１９に暗号化して引き渡す。
このとき、カード型メモリ５のメモリ上のセクタ（５１２バイト）毎にＤＭＡコントローラ２３よりキー・チェンジ信号（ＫＥＹ＿ＣＨＡＮＧＥ）をＭ系列乱数発生モジュール３１に与えることで、種値（ＳＥＥＤ）から生成された暗号鍵が順次更新されていくことになる。
【００２６】
この動作により、同一のファイルでありながらも、カード型メモリ５のメモリ上のセクタが異なれば暗号鍵が異なる、といった保存が可能となる。
ＤＭＡコントローラ２３は、暗号鍵変更手段としての機能を有し、Ｍ系列乱数発生モジュール３１に対するキー・チェンジ信号（ＫＥＹ＿ＣＨＡＮＧＥ）の与え方（出力タイミング）を変えることにより、２セクタ毎とか５セクタ毎といったセクタ単位で暗号鍵の変更を可能にする。
【００２７】
図５は、第１の実施形態における復号化モード時に復号鍵を自動更新する際の動作を説明するための図である。
暗号／復号化モジュール３０は、上述したように、Ｍ系列乱数発生モジュール３１から与えられた暗号鍵に基づき復号鍵を設定し、カード型メモリインターフェイス１９から受け取った画像形成データをＤＭＡコントローラ２３に復号化して引き渡す。
このとき、カード型メモリ５のメモリ上のセクタ（５１２バイト）毎にＤＭＡコントローラ２３よりキー・チェンジ信号（ＫＥＹ＿ＣＨＡＮＧＥ）をＭ系列乱数発生モジュール３１に与えることで、種値（ＳＥＥＤ）から生成された暗号鍵が順次更新されていくことになる。
そして、暗号／復号化モジュール３０は、Ｍ系列乱数発生モジュール３１からキー・チェンジ信号に応じて更新された暗号鍵をその都度受領し、この受領した暗号鍵から復号鍵を設定してデータの復号化処理を行う。
【００２８】
なお、第１の実施形態では、復号鍵の設定を暗号／復号化モジュール３０で行うこととしたが、Ｍ系列乱数発生モジュール３１で復号鍵の設定を行うことも可能である。
そして、Ｍ系列乱数発生モジュール３１は、同一の種値（ＳＥＥＤ）を用いる限り、出力値としては同じもの（暗号鍵と復号鍵が対となる）を得ることができる。この特徴を利用することで、上記の暗号化データの復号化が可能となる。
【００２９】
このように、第１の実施形態では、暗号化アルゴリズム、Ｍ系列乱数発生モジュール３１の仕様、種値（ＳＥＥＤ）、単位当りのセクタ数の全てが一致しなければ、カード型メモリ５のメモリ上のデータを復号化することはできない。特に、種値データとカード型メモリ５が盗まれたとしても、Ｍ系列乱数発生モジュール３１の仕様が分からない限り、公開されている暗号アルゴリズムに照らし合わせてもカード型メモリ５内のデータを解析することはできない。
【００３０】
すなわち、同一の種値（ＳＥＥＤ）からは同一の乱数を得ることが可能なＭ系列乱数発生モジュール３１をデータの暗号化および復号化処理の鍵生成に利用することにより、カード型メモリ５内のひとつのファイルに対して同一の鍵による暗号化・復号化に加え、セクタ単位で鍵を変更することも可能になる。また、解読の際には、同じ暗号アルゴリズムなので、手軽に解読を行うことができる。
【００３１】
このように、第１の実施形態の画像形成装置によれば、暗号／復号化モジュール３０が、Ｍ系列乱数発生モジュール３１からの暗号鍵（乱数）を用いてＤＭＡコントローラ２３からのデータ（例えば、画像形成データなど）を暗号化したり、Ｍ系列乱数発生モジュール３１からの暗号鍵に基づいて生成した復号鍵を用いてカード型メモリインターフェイス１９からのデータを復号化することができるため、ユーザにとっての暗号鍵である種値（ＳＥＥＤ）データとカード型メモリ５、またはそれに記憶されているデータとが盗まれたとしても、使用している暗号アルゴリズムに加え、Ｍ系列乱数発生モジュール３１の仕様が判明しない限りは、暗号アルゴリズム単体での暗号化に比べて解読を困難にでき、セキュリティ向上につながる。
また、暗号鍵および復号鍵をカード型メモリ５のメモリのセクタ単位で変更可能にすれば、そのハードディスク上の暗号化データからの解析を一層困難なものにすることができ、重要データの盗用を防止する効果が非常に高くなる。
【００３２】
次に、図６を用いて、第２の実施形態の構成について説明する。
第２の実施形態では、ＤＭＡコントローラ２０とＨＤＤインターフェイス１６との間に暗号／復号化モジュール３０、および暗号鍵変換回路３２が設けられており、該暗号／復号化モジュール３０は、ＨＤＤ３への書き込みデータを暗号化する暗号化手段と、暗号鍵から復号鍵を設定する復号鍵設定手段によって構成され、ＤＭＡコントローラ２０は、データ用ＤＭＡコントローラ２００、および制御コマンド用ＤＭＡコントローラ２０５から構成されている。そして、暗号鍵変換回路３２は、図示しないメモリを備えており、該メモリには複数の暗号鍵変換テーブルが格納されている。
これにより、ＨＤＤ３内のデータは暗号文、メモリ２内のデータは平文として扱うことができるようになっている。
【００３３】
第２の実施形態の画像形成装置において、ＣＰＵ１は、電源投入時に、例えば、ＣＰＵ１内部のＲＯＭ内に格納されたブートローダ（ブートプログラム）に従い、該ＣＰＵ１は、ＨＤＤ３内（実際にはＨＤＤ３のハードディスク上）の複数のアプリケーション・プログラムを含む各種プログラムを、ＡＳＩＣ１０内のＨＤＤインターフェイス１６、ＤＭＡコントローラ２０、およびメモリコントローラ１３を介してメモリ２にインストールした後、その各種プログラムに従って動作する（その各種プログラムを必要に応じて選択的に実行する）。
これにより、ＣＰＵ１は、複数のアプリケーション機能を含む各種機能を実現することができる。
そして、複数のアプリケーション機能はそれぞれ、対応するクライアントコンピュータからの動作指令によって作動し、それぞれ異なる処理を行うが、その際にメモリ２を共有資源として利用でき、メモリ２とＨＤＤ３との間のデータ転送はＤＭＡコントローラ２０によって行われる。
【００３４】
図６は、第２の実施形態におけるメモリ２からＨＤＤ３へのデータ転送（ライト）時のデータの流れを示すブロック図である。
制御コマンド用ＤＭＡコントローラ２０５は、メモリ２から暗号化されたデータを転送する際に、暗号／復号化モジュール３０に対して、暗号化信号を送信する。
該暗号化信号を受信した暗号／復号化モジュール３０では、モードが暗号化モード（ＭＯＤＥ＝Ｅｎｃｒｙｐｔｉｏｎ）に設定される。
そして、制御コマンド用ＤＭＡコントローラ２０５には、予めユーザによって設定を受け付けた「ユーザ設定の暗号鍵」情報、および「暗号鍵変換テーブル」情報が格納されている。
そして、制御コマンド用ＤＭＡコントローラ２０５は、該「ユーザ設定の暗号鍵」情報、および該「暗号鍵変換テーブル」情報を暗号鍵変換回路３２に送信する。
ここで、「暗号鍵変換テーブル」情報は、暗号鍵変換回路３２の図示しないメモリ内に格納された複数の鍵変換テーブルから、１の鍵変換テーブルを選択するための情報である。
【００３５】
暗号鍵変換回路３２は、「ユーザ設定の暗号鍵」情報、および「暗号鍵変換テーブル」情報を制御コマンド用ＤＭＡコントローラ２０５から受信する。
そして、暗号鍵変換回路３２は、受信した「暗号鍵変換テーブル」情報に基づき、暗号鍵変換回路３２内の図示しないメモリに格納された複数の暗号鍵変換テーブルのうち、１の暗号鍵変換テーブルを選択する。
暗号鍵変換回路３２は、選択した１の暗号鍵変換テーブルから、受信した「ユーザ設定の暗号鍵」情報を基に、「実際の暗号鍵」に変換（または生成）し、「実際の暗号鍵」に係る情報を暗号／復号化モジュール３０に送信する。
暗号／復号化モジュール３０は、「実際の暗号鍵」情報に基づき、データ用ＤＭＡコントローラ２００からのデータに暗号化処理を行い、ＨＤＤインターフェイス１６に引き渡す。
ＨＤＤインターフェイス１６は、暗号化されたデータを受信し、該データをＨＤＤ３に書き込んでいく。
暗号／復号化モジュール３０は、暗号鍵変換回路３２から与えられた実際に使用する暗号鍵に基づき、データ用ＤＭＡコントローラ２００から受け取ったデータを暗号化してＨＤＤインターフェイス１６に引き渡す。
【００３６】
ＨＤＤインターフェイス１６は、暗号／復号化モジュール３０から受け取ったデータをＨＤＤ３内のメモリに書き込み処理を行う。
なお、暗号／復号化モジュール３０は、スルーモード（ＭＯＤＥ＝Ｔｈｒｏｕｇｈ）を持ち、スルーモードの場合には、データ用ＤＭＡコントローラ２００（ＤＭＡコントローラ２０）から受け取ったデータを暗号化せず、そのままカード型メモリインターフェイス１９に引き渡す。
【００３７】
図７は、第２の実施形態におけるＨＤＤ３からメモリ２へのデータ転送（リード）時のデータの流れを示すブロック図である。
ＤＭＡコントローラ２０は、データ用ＤＭＡコントローラ２００、および制御コマンド用ＤＭＡコントローラ２０５から構成されている。
そして、制御コマンド用ＤＭＡコントローラ２０５は、メモリ２から暗号化されたデータを転送する際に、暗号／復号化モジュール３０に対して、復号化信号を送信する。
該復号化信号を受信した暗号／復号化モジュール３０では、モードが復号化モード（ＭＯＤＥ＝Ｄｅｃｒｙｐｔｉｏｎ）に設定される。
【００３８】
制御コマンド用ＤＭＡコントローラ２０５には、予め「ユーザ設定の暗号鍵」情報、および「暗号鍵変換テーブル」情報が格納されており、該「ユーザ設定の暗号鍵」情報、および「暗号鍵変換テーブル」情報を暗号鍵変換回路３２に送信する。
そして、暗号鍵変換回路３２は、制御コマンド用ＤＭＡコントローラから受信した「暗号鍵変換テーブル」情報を基に、図示しないメモリに格納された複数の暗号鍵変換テーブルから、１の暗号鍵変換テーブルを選択する。
そして、暗号鍵変換回路３２は、制御コマンド用ＤＭＡコントローラから受信した「ユーザ設定の暗号鍵」情報を基に、「実際の暗号鍵」に変換（または生成）し、「実際の暗号鍵」に係る情報を暗号／復号化モジュール３０に送信する。
暗号／復号化モジュール３０は、復号化モードであるため、「実際の暗号鍵」情報を受信し、該情報に基づき「実際の復号鍵」を設定する。
そして、設定した「実際の復号鍵」情報を基に、ＨＤＤインターフェイス１６からのデータを復号化してデータ用ＤＭＡコントローラ２００に引き渡す。
データ用コントローラ２００は、復号化されたデータを受信し、復号化されたデータをＡＳＩＣ１０内のメモリ・アービタ１１、およびメモリコントローラ１３を介して、メモリ２に転送し、メモリ２内には復号化データが格納される。
【００３９】
なお、暗号／復号化モジュール３０は、スルーモード（ＭＯＤＥ＝Ｔｈｒｏｕｇｈ）を持ち、スルーモードの場合には、データ用ＤＭＡコントローラ２００（ＤＭＡコントローラ２０）から受け取ったデータを復号化せず、そのままメモリ２に引き渡す。
また、暗号鍵変換回路３２の鍵変換テーブルの選択は、制御コマンド用ＤＭＡコントローラ２０５を介して変更可能であり、ソフトウェアを用いることによって、鍵変換テーブルの選択を自由に行うことができる。
例えば、鍵変換テーブルの選択は、アプリケーション毎、ユーザ毎など個別の設定が可能である。
また、第２の実施形態においても、第１の実施形態と同様に、キー・チェンジ信号（ＫＥＹ＿ＣＨＡＮＧＥ）をＤＭＡコントローラ２０（制御コマンド用ＤＭＡコントローラ２０５）から暗号鍵変換回路３２に与えることが可能であり、セクタが異なれば暗号鍵が異なる（セクタに応じて、用いる暗号鍵変換テーブルが異なる）、といった暗号鍵の保存が可能となる。
【００４０】
このように、第２の実施形態では、ハードディスクや、記憶媒体が盗難され、暗号アルゴリズムや暗号鍵に係る情報が漏洩したとしても、ユーザが設定した暗号鍵をハードウェアで構成されるＡＳＩＣ１０内の変換回路を経由させることにより、鍵変換の仕様が判明しない限りは、暗号鍵や復号鍵の解読はできないため、従来の鍵の設定に比べ解読をより困難にできる。
そして、同一の鍵変換テーブルから変換された暗号鍵を基に、復号鍵を設定することで、同一の変換テーブルを用いる限り、出力値としては同じものを得ることができるので、暗号化処理、および復号化処理を効率良く行うことができる。
さらに、鍵変換テーブルを複数内蔵することで、例えば、アプリケーション毎、ユーザ毎に個別の鍵変換テーブルを設定することができ、結果的に情報の機密性をより高めることが可能になる。
【００４１】
なお、第２の実施形態では、暗号／復号化モジュール３０で「実際の暗号鍵」情報から「実際の復号鍵」情報の設定を行うこととしたが、「実際の暗号鍵」から「実際の復号鍵」の設定を暗号鍵変換回路３２で行い、暗号鍵変換回路３２から暗号／復号化モジュール３０に「実際の復号鍵」情報を送信することにより、構成することも可能である。
また、制御コマンド用ＤＭＡコントローラ２０５に「暗号鍵変換テーブル」情報の設定を受け付けるように構成したが、ソフトウェアを用いて暗号鍵変換回路３２に直接設定することも可能である。
【００４２】
また、第１の実施形態では、カード型メモリインターフェイス１９とＤＭＡコントローラ２３との間に暗号／復号化モジュール３０を設け、第２の実施形態では、ＨＤＤインタフェイス１６とＤＭＡコントローラ２０との間に暗号／復号化モジュール３０を設けたが、本発明はそれに限定されることなく、ＵＳＢインターフェイス１７とＤＭＡコントローラ２１との間、またはＭＡＣ１８とＤＭＡコントローラ２２との間に暗号／復号化モジュール３０と同機能の暗号／復号化モジュールを設けるようにしてもよい。
【図面の簡単な説明】
【００４３】
【図１】第１の実施形態における画像形成装置の構成を示すブロック図である。
【図２】第１の実施形態におけるメモリからカード型メモリへのデータ転送（ライト）時のデータの流れを示すブロック図である。
【図３】第１の実施形態におけるカード型メモリからメモリへのデータ転送（リード）時のデータの流れを示すブロック図である。
【図４】第１の実施形態における暗号化モード時に暗号鍵を自動更新する際の動作を説明するためのブロック図である。
【図５】第１の実施形態における復号化モード時に暗号鍵を自動更新する際の動作を説明するためのブロック図である。
【図６】第２の実施形態におけるメモリからＨＤＤへのデータ転送（ライト）時のデータの流れを示すブロック図である。
【図７】第２の実施形態におけるＨＤＤからメモリへのデータ転送（リード）時のデータの流れを示すブロック図である。
【符号の説明】
【００４４】
１  ＣＰＵ
２  メモリ
３  ＨＤＤ
４  物理層デバイス
１０  ＡＳＩＣ
１１  メモリ・アービタ
１２  ＣＰＵインターフェイス
１３  メモリコントローラ
１４  プリンタエンジンインターフェイス
１５  ＩＥＥＥ１２８４インターフェイス
１６  ＨＤＤインターフェイス
１７  ＵＳＢインターフェイス
１８  ＭＡＣ
１９  カード型メモリインターフェイス
２０〜２３  ＤＭＡコントローラ
３０  暗号／復号化モジュール
３１  Ｍ系列乱数発生モジュール
【図１】
2009140104.tif 000003
【図２】
2009140104.tif 000004
【図３】
2009140104.tif 000005
【図４】
2009140104.tif 000006
【図５】
2009140104.tif 000007
【図６】
2009140104.tif 000008
【図７】
2009140104.tif 000009