説明

画像形成装置および画像形成方法

【課題】暗号化と複合化が異なる装置で行われ得る場合であっても、第三者が暗号鍵を容易に特定できないような手法を提供する。
【解決手段】鍵データを予め格納する共有鍵格納回路、および、鍵番号に応じた鍵データを用いて共通鍵暗号方式による暗号化/復号化を行う暗号処理回路を含んでなる暗号処理部と、暗号化に用いる鍵番号を前記鍵番号より冗長な鍵番号データに基づいて決定する鍵番号決定部と、前記暗号化用の鍵番号を指定し、かつ、前記鍵番号に応じた鍵データで前記画像データを暗号化させ、前記鍵番号データに基づく鍵番号を決定させ、暗号化された画像データおよび前記鍵番号データを他の装置へ送信するよう制御する制御部とを備え、前記共有鍵格納回路は、各鍵データを前記暗号処理部の外部から書換え不可能かつ読出し不可能に格納し、前記鍵番号決定部は、送信元と送信先とで同じ鍵番号が所定の手順で決定することを特徴とする画像形成装置。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、暗号化および/または復号化された画像データを用いて画像を格納および形成する画像形成装置および画像形成方法に関する。
【背景技術】
【0002】
情報がディジタル化されるにつれて、情報漏洩の危険性が指摘され重大視されつつある。昨今、ディジタルデータを格納するUSBメモリやハードディスクドライブなど、いわゆるIT機器に用いられるデータ格納装置の機密性確保は、パーソナルユース、ビジネスユース問わず必須の技術となっている。オフィス機器であるMFPについてもその事情があてはまる。企業の秘密とすべき数多くのデータがプリントされ、スキャンされ、あらゆるメモリデバイスに対して保存されることとなるからである。特に近年のMFPは、対応機能の拡大やハードディスクの大容量化に伴い、複数の装置で一つの印刷ジョブを分散処理するいわゆるタンデムプリントもしくはタンデムコピーの機能や、画像データベースやファイルサーバーとしての機能を備えるようになっている。その場合、機内に保存されているデータだけでなく、外部サーバーとの通信など、ディジタルデータの転送経路に対してユーザデータの安全性を確保する必要がある。
【0003】
安全性を確保するために必要な必須技術のうちの一つは暗号化技術である。暗号方式には、大別して共通鍵暗号方式と、公開鍵暗号方式がある。共通鍵暗号方式は、データの暗号化と復号化に共通の暗号鍵(共通鍵)を用いる方式である。公開鍵方式は、データの暗号化と復号化に異なる暗号鍵(公開鍵と秘密鍵)を用いる方式である。これらの方式は、それぞれの長所、短所を持ち、用途によって使い分けられたり、2つの方式を組み合わせて用いられたりしている。
【0004】
前述のいずれの暗号方式も、暗号鍵を用いる点で共通する。暗号鍵とは、暗号処理に用いるデータである。暗号処理は、データ変換の一種であるといえ、当該データ変換の規則を示すデータが暗号鍵である。従って、いかに解読されにくい暗号方式を用いたとしても、暗号鍵を安全に保管できなければ、データの安全性は確保されない。これは、たとえばパスワードを用いて部外者のアクセスを制限するシステムにおいて、いかに複雑なパスワードを用いたとしても、部外者にそのパスワードが盗まれてしまえば、もはや部外者からのアクセスを制限できないのと同様である。
【0005】
そこで、優れた暗号方式を用いることと同様に、暗号鍵を安全に保管・共有する手法が重要 になる。そのような手法として、LSI内部に予め多数の鍵データを保有しておき、その鍵データは読み出し/書き換えが全くできない構成にすることで安全性を高める方法が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−209648号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
前述の特許文献1のような手法を用いれば、使用する鍵データは外部からの選択指示によって決定されるため、鍵データそのものの読み取りは非常に難しくなる。ただし、その提案手法はLSI自身が暗号化したデータを再度LSI自身が復号化を担うことを前提にしている。ところが、他LSIや複数MFPとの暗号化・復号化を含めたデータ送受信を行う場合にはさらなる工夫が必要である。即ち、暗号化と複合化が異なる装置で行われる態様では、それらの装置間で暗号鍵に関する情報を通信する必要があるが、その情報が第三者に傍受されたとしても容易に暗号鍵が特定できないような工夫が必要である。
【0008】
この発明は、以上のような事情を考慮してなされたものであって、暗号化と複合化が異なる装置で行われ得る場合であっても、第三者がデータの暗号化、複合化に用いられるべき暗号鍵を容易に特定できないような手法を提供するものである。
【課題を解決するための手段】
【0009】
この発明は、画像データを処理する画像処理部と、前記画像データを他の装置との間で送受し得る通信部と、鍵番号により個別に指定可能であり、暗号鍵としてそれぞれ使用可能な複数の鍵データを予め格納する共有鍵格納回路、および、指定された鍵番号に応じた鍵データを用いて共通鍵暗号方式による暗号化および/または復号化を行う暗号処理回路を含んでなる暗号処理部と、暗号化に用いる鍵番号を前記鍵番号より冗長な鍵番号データに基づいて決定する鍵番号決定部と、前記暗号化用の鍵番号を指定し、かつ、前記鍵番号に応じた鍵データで前記画像データを暗号処理部に暗号化させ、前記鍵番号データに基づく鍵番号を鍵番号決定部に決定させ、暗号化された画像データおよび前記鍵番号データを前記通信部から他の装置へ送信するよう制御する制御部とを備え、前記共有鍵格納回路は、各鍵データを前記暗号処理部の外部から書換え不可能かつ読出し不可能に格納し、前記鍵番号決定部は、前記鍵番号データの送信元と送信先とで同じ鍵番号が決定されるよう再現性のある所定の手順で前記鍵番号を決定することを特徴とする暗号処理機能付き画像形成装置を提供する。
【0010】
また、異なる観点から、この発明は暗号鍵として使用可能であり鍵番号により個別に指定される複数の鍵データを外部からの書換え不可能にかつ外部への読出し不可能に予め格納する送信側共有鍵格納回路に対し一の鍵データを指定する処理と、指定された鍵データを用いて共通鍵暗号方式により画像データを暗号化する処理と、暗号化に用いる鍵番号を前記鍵番号より冗長な鍵番号データに基づいて決定する暗号化処理と、他の画像形成装置へ暗号化された画像データおよび生成された鍵番号データを送信する処理とを第1のコンピュータが実行し、送信された画像データと鍵番号データを受信する処理と、受信された鍵番号データを可逆手順で逆変換して鍵番号を生成する処理と、前記暗号化処理と同一の鍵番号を用いた場合に前記暗号化処理と同一の鍵データが選択されるよう構成された受信側共有鍵格納回路に対して前記鍵番号により鍵データを指定する処理と、指定された鍵データを用いて、受信された画像データを復号化する処理と、復号化された画像データに基づき画像を形成する処理とを第2のコンピュータが実行し、前記鍵番号は、再現性のある手順を用いて鍵番号データから決定されることを特徴とする画像形成方法を提供する。
【発明の効果】
【0011】
この発明の画像形成装置において、前記共有鍵格納回路は、各鍵データを前記暗号処理部の外部から書換え不可能かつ読出し不可能に格納し、前記鍵番号決定部は、前記鍵番号データの送信元と送信先とで同じ鍵番号が決定されるよう再現性のある所定の手順で前記鍵番号を決定し、前記制御部は、暗号化された画像データと共に前記鍵番号データに基づく鍵番号データを送信するよう制御するので、悪意の第三者から前記暗号処理部あるいは鍵番号データの通信に不正アクセスがなされても、あるいは、悪意の第三者に前記暗号処理部が物理的に入手された場合でも、鍵データが知られることは困難である。従って、高い安全性を有する分散処理を実現することができる。
【0012】
即ち、前記鍵データは前記暗号処理部の外部から書換え不可能かつ読出し不可能に格納され、鍵番号のみが外部から指定されるため、前記暗号処理部への不正アクセスがあっても、あるいは前記暗号処理部が物理的に入手されてもその鍵データが知られることは困難である。
さらに、前記通信が傍受されても鍵番号データが知られたにすぎず、かつ、前記鍵番号データは鍵番号より冗長なため、鍵番号データから鍵番号が特定されにくい。
【0013】
さらにまた、送信先の画像形成装置と送信元の画像形成装置が、同様の暗号処理部を有することにより鍵番号と鍵データの対応関係が一致しており、鍵番号データから鍵番号を決定する手順を共有していれば、受信した鍵番号データに基づいて送信元と同様の鍵番号を決定し、決定された鍵番号により指定される鍵データを用いて画像データを正しく復号化して出力することができる。
以上の効果は、この発明の画像形成方法についてもあてはまる。
【0014】
この発明において、画像処理部は、画像形成の対象となる画像を処理するものである。その具体的な態様は、例えば、半導体集積回路等を用いて構成された画像データの処理回路および前記画像データを格納する記憶装置(半導体メモリあるいはハードディスクドライブ等)である。さらに、前記画像処理部は、広義の画像処理として、画像の形成を行うプリントエンジン(例えば、電子写真方式あるいはインクジェット方式による)および/またはイメージセンサにより画像を読み取るイメージスキャナを含む広義の画像処理を指す。後述する実施形態において、画像処理部は、画像処理回路、イメージスキャナ部およびプリントエンジン部に相当する。
【0015】
また、暗号処理部は、画像データを暗号化および/または復号化する処理を行う。その具体的な態様は、例えば、半導体集積回路として実装された暗号処理回路および/または復号処理回路である。あるいは、暗号化、復号化の処理がコンピュータの処理によって実現されてもよい。ハードウェアとコンピュータが協働して実現されてもよい。なお、暗号化および/または復号化の対象は画像データに限定されず、これに付随するデータあるいはこれと別のデータが対象に含まれてもよい。後述する実施形態において、暗号処理部の機能は、LSI-AおよびLSI-Bによって実現される。また共有鍵格納回路は、主としてLSI-A内の鍵供給回路により実現され、暗号処理回路は、主としてLSI-B内の共通鍵暗号処理ブロックにより実現される。
【0016】
前記暗号処理回路および共有鍵格納回路は、各回路間および各回路内の信号が外部から検出できないよう一体に封止されてなるものであってもよい。このようにすれば、悪意の第三者が各回路間および各回路内の信号を外部から検出し、読取るような攻撃を防ぐことができる。さらに、暗号処理回路および共有鍵格納回路は、一つの半導体集積回路に集積されてもよい。
【0017】
さらにまた、鍵番号決定部は、暗号処理回路に組み込まれた有限個の鍵データを識別する鍵番号をその鍵番号より冗長な鍵番号データに基づき決定するものである。その具体的な態様は、例えば、所定の演算プログラムを用いてコンピュータが行う数値演算処理および/またはハードウェアで構成された数値演算回路である。ハードウェアとコンピュータが協働して実現されてもよい。ここで、「鍵番号より冗長な鍵番号データ」とは、例えば、鍵データが1から5の番号で特定される場合に、鍵データが0から65535の16ビットデータで表現されることをいう。前記数値演算は、再現性がなければならないが、例えば、ハッシュ関数として予め定められ演算手順により実現できる。第三者が鍵データを傍受したとしても、そもそも鍵番号が1から5で特定されることを知ることはできず、たとえ知っていたとしてもハッシュ関数を知らなければ鍵番号を特定することは困難である。後述する実施形態において、鍵番号決定部は、CPUが制御プログラムに従い数値演算処理を実行することによって実現される。
【0018】
通信部は、画像データと鍵番号データとを送信するものである。その具体的な態様は、例えば、イサーネット等のネットワークI/F回路およびそれを制御するためにコンピュータにより実行される通信制御処理である。通信方式はイサーネットに限定されず、送受信を行う装置は、互いに同一のネットワークに接続されてもよいし、1対1の通信を行ってもよい。通信は有線、無線を問わない。後述する実施形態において、通信部は、通信インターフェイス部およびCPUが制御プログラムに従い通信を制御する処理によって実現される。
【0019】
また、制御部は、暗号化に用いるべき鍵データの鍵番号を指定し、画像データの暗号化、鍵番号の決定、前記画像データおよび前記鍵番号データの送信の各処理を制御するものである。その具体的な態様としては、例えば、CPUまたはマイクロプロセッサ(以下、まとめてCPUという)が予めROM等の記憶装置に格納された制御プログラムを実行する処理およびその処理に要する入出力回路等である。後述する実施形態において、制御部は、主としてCPUが制御プログラムに従い各部の制御を行うことによって実現される。
【図面の簡単な説明】
【0020】
【図1】この発明による画像処理装置のハードウェア構成の一例を示すブロック図である。
【図2】この発明に係るLSI-Aブロックの内部構成例を示すブロック図である。
【図3】この発明による暗号処理部を動作させる際の設定手順を示すフローチャートである。
【図4】この発明に係るMFPがネットワークに接続された様子を示す説明図である。
【図5】この発明において、2台のMFPによる鍵共有シーケンスを示すフローチャートである。
【図6】この発明に係るLSI-Aブロックの、図2と異なる内部構成例を示すブロック図である。
【発明を実施するための形態】
【0021】
以下、この発明の好ましい態様について説明する。
この発明の画像形成装置において、前記制御部は、通信可能な他の画像形成装置にタンデムプリントまたはタンデムコピーの処理を分担させるべく、暗号化された画像データをその暗号化に係る鍵番号データと共に他の画像形成装置へ送信し、暗号化に用いる前記暗号処理部と同じ鍵番号により同じ鍵データが選択されるよう構成された送信先の画像形成装置に前記画像データの復号化を行わせるよう制御してもよい。このようにすれば、いわゆるタンデムプリントまたはタンデムコピーを行う際に、暗号化された画像データをその暗号化に係る鍵番号データと共に分散処理を担う他の画像形成装置へ送信することにより、高い安全性を有する分散処理を実現することができる。
【0022】
即ち、他の画像形成装置への送信が第三者に傍受されても、画像データは暗号化されており、その復号化に用いるべき鍵データを前記鍵番号データから特定することは困難である。なお、送信元の暗号処理部と送信先の暗号処理部の鍵番号に対する鍵データの対応関係が同一であれば、送信元の鍵番号をそのまま鍵番号データに変換して送信先へ送ることにより画像データは正しく復号化される。
【0023】
また、前記鍵番号決定部は、暗号化を行う暗号処理回路またはそれを含んでなる暗号処理部または画像形成装置の固体を識別するシリアル番号を鍵番号データとし、その鍵番号データに基づいて鍵番号を決定するようにしてもよい。このようにすれば、暗号処理回路またはそれを含んでなる暗号処理部または画像形成装置に固有のシリアル番号を用いて鍵番号データが生成されるので、同一の鍵番号を同様の手順で演算してもシリアル番号の異なる個体からは異なる鍵番号データが生成され得る。すると、これを第三者が傍受してもシリアル番号との相関を知らなければ、鍵データと鍵番号との対応関係を知ることは困難である。従って、より高い安全性を有する分散処理を実現することができる。
【0024】
さらにまた、前記暗号処理部は、各鍵番号と各鍵データとの対応関係が、異なる個体間で一致する共有鍵格納回路に加え、各鍵番号と各鍵データとの対応関係が異なる個体間で相違する固有鍵格納回路をさらに含んでなり、前記固有鍵格納回路に格納される各鍵データは、共有鍵格納回路に格納される共有鍵と異なる鍵番号により指定され、前記制御部は、画像データの暗号化と復号化を同一の画像形成装置でおこなう場合は固有鍵を指定し、画像データの暗号化と復号化とを異なる画像形成装置でおこなう場合は共有鍵を指定するようにしてもよい。このようにすれば、前記制御部は、画像データの暗号化と復号化を同一の画像形成装置でおこなう場合は固有鍵を指定し、画像データの暗号化と復号化とを異なる画像形成装置でおこなう分散処理の場合は共有鍵を指定するので、仮に第三者が分散処理に用いられた鍵データを知ったとしても、同一の画像形成装置内で暗号化され復号化が予定されている画像データは復号化できず、被害は限定される。従って、より高い安全性を有する処理を実現することができる。
【0025】
また、この発明の画像形成方法において、送信側の画像形成装置は、各鍵番号と各鍵データとの対応関係が異なる画像装置間で相違する固有鍵格納回路をさらに含んでなり、前記固有鍵格納回路に格納される各鍵データは、共有鍵格納回路に格納される共有鍵と異なる鍵番号により指定され、送信側の画像形成装置の制御部は、暗号化の処理に先立ち、画像データの復号化を同一の画像形成装置で行うか否かを判断し、同一の画像形成装置で復号化を行う場合は、固有鍵を指定してその画像形成装置で画像データの暗号化及びその復号化を行うように制御してもよい。このようにすれば、画像データの暗号化と復号化を同一の画像形成装置でおこなう場合は固有鍵が指定され、画像データの暗号化と復号化とを異なる画像形成装置でおこなう分散処理の場合は共有鍵が指定されるので、仮に第三者が分散処理に用いられた鍵データを知ったとしても、同一の画像形成装置内で暗号化され復号化が予定されている画像データは復号化できず、被害は限定される。従って、より高い安全性を有する処理を実現することができる。
ここで示した種々の好ましい態様は、それら複数を組み合わせることもできる。
【0026】
〔実施の形態の説明〕
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
【0027】
≪暗号処理部の構成例≫
まず、この発明に係る画像形成装置のハードウェア構成の一例について説明する。図1は、この発明による画像形成装置の画像処理部、暗号処理部、鍵番号決定部、通信部および制御部のハードウェア構成の一例を示すブロック図である。図1に示すように、この発明による画像処理装置は、CPU(101)、ROM(102)、RAM(103)、LSI-A(104)、LSI-B(105)、ネットワークおよびメイン・バス(107)、通信インターフェイス回路(109)、画像処理回路(301)、スキャナ・インターフェイス回路(311)、イメージスキャナ部(312)、プリントエンジン・インターフェイス回路(315)、プリントエンジン部(316)から構成される。また、図1には、暗号化されたデータを格納する補助記憶装置としてHDD(106)を記している。HDD(106)は、暗号処理部の外部の装置である。
【0028】
CPU(101)は、画像形成装置の各ブロックの動作および実行すべき処理を制御するものである。ROM(102)には、画像形成装置を動作させるためのファームウェア(制御プログラム)が格納されている。ファームウェアは、CPU(101)が動作を開始するときにROM(102)から読み出され、後述するRAM(103)に展開される。CPU(101)は、展開されたファームウェアの内容に従って順次処理を行う。これによって、画像形成装置の各処理が実行される。RAM(103)は、ROM(102)から読み出されたファームウェアを展開するスペースを提供する。さらに、暗号処理部の処理中、各種制御値等を一時的に格納する領域を提供する。
【0029】
LSI-A(104)は、暗号処理部としての中心的な役割を担う部分である。後述するように、LSI-A(104)は暗号鍵となり得る鍵データ(共通鍵)を格納する回路(共有鍵格納回路)、共有鍵を共通暗号鍵として提供する鍵供給回路、提供された暗号鍵を用いて暗号化および復号化を行う暗号処理ブロックを含む。
LSI-B(105)は、LSI-A(104)と共に暗号処理部としての機能を担う部分である。LSI-B(105)は、HDD(106)へ格納すべきデータ、例えば、イメージスキャナ部(312)や図示しない外部の画像形成装置から暗号化および/または復号化対象のデータを取得し、ネットワーク、メイン・バス(107)を介してLSI-A(104)へ送るものである。また、HDD(106)から読み出され、LSI-A(104)で復号化されたデータを外部へメイン・バス(107)を介してプリントエンジン部(316)へ送るものである。
【0030】
メイン・バス(107)は、CPU(101)、ROM(102)、RAM(103)、LSI-A(104)、LSI-B(105)、通信インターフェイス部(109)、画像処理回路(301)、スキャナ・インターフェイス回路(311)およびプリントエンジン・インターフェイス回路(315)との間を接続し、それらの間でデータをやり取りするためのものである。ただし、LSI-A(104)とLSI-B(105)との間の画像データの送受は、転送バス(108)を介して行われる。一方、例えば、CPU(101)がLSI-A(104)内のレジスタをアクセスするときは、メイン・バス(107)を介してLSI-A(104)をアクセスする。
HDD(106)は、暗号化されたデータを格納するものである。
【0031】
なお、CPU(101)は、画像形成装置内にただ一つ存在するが、処理の内容に応じて複数のCPUが用意され、互いに通信を行って処理を同期させるように協働してもよい。例えば、プリントエンジン部316は、その動作を制御する専用のCPUを有していてもよい。
【0032】
≪同一装置内で暗号化と復号化を行う場合の画像データの流れ≫
図1において同一装置内で暗号化と復号化を行う場合の画像データの流れについて説明する。
この場合、まず、例えばイメージスキャナ部(312)により原稿の画像が画像データとして読み込まれる。読み込まれた画像データは、スキャナ・インターフェイス回路(311)を経て画像処理回路(301)で処理された後、HDD(106)に格納される。この発明において、前記画像データは、HDD(106)に格納される前に暗号処理部により暗号化される。従って、暗号化された画像データがHDD(106)に格納される。
【0033】
HDD(106)に格納された画像データをプリントエンジン部(316)により印刷する場合、画像データは、HDD(106)から読み出された後に復号化される。復号化された画像データは、画像処理回路(301)で印刷用の画像処理が施された後、プリントエンジン・インターフェイス回路(315)を経てプリントエンジン部(316)へ送られ、印刷シート上に画像が印刷される。この場合、暗号化/復号化は同じ暗号処理部で行われる。このような態様においては、1つの暗号鍵で暗号化/復号化を行う共通鍵暗号化方式を適用するのが合理的である。
【0034】
≪暗号化と復号化を異なる装置で行う場合(分散処理)の画像データの流れ≫
次に、暗号化と復号化を異なる装置で行う場合の画像データの流れについて説明する。
この場合、画像データを暗号化してHDD(106)に格納までは、同一装置内で暗号化と復号化を行う場合と同様である。その後、HDD(106)に格納された画像データの少なくとも一部を他の画像形成装置に印刷させるため、暗号化された画像データが、HDD(106)から読み出され、読み出された画像データは、暗号化がなされたまま通信インターフェイス回路(109)を経て通信可能な外部の画像形成装置へ送信される。その際、CPU(101)は、暗号化に用いた共有鍵の鍵番号を鍵番号データに変換する演算処理を行う。そして、演算により得られた鍵番号データを前記画像データと共に外部の画像形成装置へ送信するように制御する。
【0035】
なお、この発明は、送信先の画像形成装置も図1と同様の構成を有していることを前提としている。ここで特に重要なことは、送信先の画像形成装置が有する共有鍵格納回路が、鍵番号と共有鍵との対応関係が送信元の共有鍵格納回路と同様である点である。この前提が成立すれば、異なる画像形成装置間であっても同一の鍵番号は同一の共有鍵に対応する。従って、復号化を行う画像形成装置に鍵番号を知らせることによって共通鍵暗号方式による暗号化と復号化が正しく実現される。
【0036】
≪暗号処理に係るLSI-Aの詳細構成≫
図2は、図1に示すLSI-Aブロック(104)の内部構成例を示すブロック図である。図2に示すように、LSI-A(104)は、共通鍵暗号処理ブロック(201)、転送バスI/F(202)、HDD I/F(203)、鍵供給回路(204)、共有鍵(205)、セレクタ(206)、鍵セレクトレジスタ(207)およびCPU I/F(208)を含んでなる。
共通鍵暗号処理ブロック(201)は、前述のAESやDESなどの共通鍵暗号方式のアルゴリズムに基づき、共通鍵を用いたデータの暗号化および復号化を行う機能をもったハードウェア回路である。
【0037】
転送バスI/F(202)は、LSI-B(105)から転送バス(108)を介して送信された画像データを、共通鍵暗号処理ブロック(201)に送るためのI/Fである。
HDD I/F(203)は、暗号化された画像データを、補助記憶装置であるハードディスクドライブ(106)に送るためのインターフェイス(I/F)回路である。
【0038】
画像データを暗号処理してHDD(106)に格納するとき、処理対象の画像データは転送バスI/F(202)から共通鍵暗号処理ブロック(201)へ入力され、暗号化された後、ハードディスクI/F(203)を介してLSI-A(104)に接続された外部のHDD(106)へ出力される。一方、HDD(106)に格納された画像データを読み出して復号化するとき、処理対象の画像データはHDD(106)からハードディスクI/F(203)を介して共通鍵暗号処理ブロック(201)へ入力され、復号化された後、転送バスI/F(202)を介して外部へ出力される。
【0039】
なお、前述の画像データの流れが一般的な態様であるが、暗号化および復号化が逆の態様もあり得る。例えば、HDD(106)は、暗号化されていない画像データを格納するものであり、HDD(106)に格納された画像データを暗号化してLSI-A(104)の外部へ転送する場合である。この場合は、暗号化および復号化時におけるそれぞれの画像データの流れの方向は、前述したものと逆になる。
【0040】
LSI-Aブロック(104)の内部構成についての説明を続ける。鍵供給回路(204)は、共通鍵暗号処理ブロック(201)に対して暗号化・復号化時に使用する鍵を供給するものである。図2の鍵供給回路(204)は、予め値が決められたN個の共有鍵(205)、即ち、鍵1〜鍵Nを格納している。図2では、Nは3より大きな自然数として示しているが、これは一例である。共有鍵は1つだけ(N=1)でもよく、2個(N=2)あるいは3個(N=3)の場合もこの発明に含まれる。
【0041】
セレクタ(206)は、N個の共有鍵(205)の鍵1〜鍵Nの中からいずれかの鍵を選択するものである。N=1の場合は、鍵の選択は必要ないが、外部(具体的には、CPU(101))が所定の値を設定したときに共有鍵が提供されるようにするため、セレクタ(206)に変えてゲート回路が配置されてもよい。
【0042】
鍵セレクタレジスタ(207)は、LSI-A(104)の動作を決定するためのCPUからアクセス可能なレジスタのうちの一つである。CPU(101)からCPU I/Fを通して鍵セレクトレジスタ(207)にライトアクセスをすることにより、鍵セレクトレジスタ(207)が保持している値(共有鍵の選択に係る前記所定の値、鍵番号)を書き換えることができる。なお、共有鍵が1つ(N=1)の場合は、鍵セレクトレジスタ(207)が所定の値を保持している場合に共有鍵(205)が提供される。したがって、N=1の場合を含め、暗号鍵の値は、LSI-A(104)の外部から提供されることはない。N個の共有鍵(205)の鍵1〜鍵Nの値は、LSI-A(104)の外部から書き換えることはできない。また、鍵1〜鍵Nの値は、LSI-A(104)の外部へ読み出すことはできない。鍵1〜鍵Nの値は、必要に応じてLSI-A(104)の設計データ(仕様データ)として使用者に提供される。即ち、暗号鍵の値は、LSI-A(104)の提供者が設計データとして機密管理すれば、部外者に知られることはない。特に、共通鍵暗号方式を適用する場合、使用者は、暗号鍵の値を知らなくてもLSI-A(104)を用いて暗号処理を行うことができる。
【0043】
なお、この実施形態において画像データの送信元の画像形成装置と送信先の画像形成装置とは同様の鍵供給回路(204)をそれぞれ含み、同一の鍵番号には同一の共有鍵が対応する関係にある。
CPU I/F(208)は、LSI-A(104)とCPU(101)との間のデータのやり取りを可能にするための回路である。CPU(101)は、LSI-A(104)の鍵セレクトレジスタにアクセスしてその値を書き換えたり、転送バスI/F(202)およびHDD I/F(203)にアクセスしてそれらの動作に係る条件設定をしたり、起動や停止の制御をしたりする。また、共通鍵暗号処理ブロック(201)の処理条件を設定したりする。
【0044】
CPU(101)は、CPU I/F(208)を介して鍵セレクタレジスタ(207)にアクセスし、共有鍵の選択に係る値を書き込む。セレクタ(206)は、鍵セレクタレジスタ(207)に書き込まれた値に応じて共有鍵(205)の鍵1〜鍵Nのいずれかを選択する。鍵セレクタレジスタ(207)の値によっては、いずれの共有鍵(205)も選択されていない状態(非選択状態)になってもよい。非選択状態では、共通鍵暗号処理ブロック(201)が暗号処理を行わず、入力された画像データをHDD(106)へスルーさせてもよい。また、HDD(106)から読み出された画像データを復号化せず、スルーで転送バス側へ転送してもよい。
【0045】
≪暗号処理の設定手順≫
続いて、この実施形態に係るLSI-Aの回路動作の順序を説明する。図3は、この発明による暗号処理部を動作させる際の設定手順を示すフローチャートである。本フローチャートはCPU(101)が処理するフローである。
【0046】
図3に示すように、暗号処理を行う際、まず、共通鍵暗号処理ブロック(201)の動作モードの設定を行なう(ステップS401)。共通鍵暗号処理ブロック(201)には、動作モードを外部から設定するための図示しないレジスタが設けられている。CPU(101)は、レジスタにアクセスし、共通鍵暗号処理ブロック(201)の動作モードを設定する。
【0047】
ここで、動作モードとは、例えば、共通鍵暗号処理ブロック(201)に暗号処理を行わせるか、復号処理を行わせるかの設定である。また、暗号鍵のビット長が設定できるようになっていてもよい。さらに、暗号化および復号化の処理に係るアルゴリズム(前述のAESやDESなど)が選択できるようになっていてもよい。また、共通鍵暗号方式には、ブロック暗号方式とストリーム暗号方式があることが知られており、それぞれの方式に応じたアルゴリズムが選択できるようになっていてもよい。
【0048】
なお、ブロック暗号方式は、画像データを一定の長さに分割してそれぞれを暗号化する方式である。ストリーム暗号方式は、画像データを分割せずに逐次(1〜数ビット毎)暗号化する方式である。さらに、ブロック暗号方式においては、分割したブロックに対して個別に暗号化を行うと特定ブロックが第三者に解読されるおそれがある。例えば、同じようなパターンが頻出する画像データでは同じ暗号データが繰り返されるので、内容が推測され易い。そのような危険性を回避するため、前のブロックの暗号結果を次のブロックの暗号化に使用することにより、各ブロックに相関関係を持たせるブロックチェイニングと呼ばれる方式が多用される。動作モードとして、ブロックチェイニングのモードがさらに設定できるようになっていてもよい。ブロックチェイニングのモードとしては、ECB(Electronic CodeBook)、CBC(Chpher Block Chaining)等が知られている。
【0049】
続いて、CPU(101)は、鍵セレクタレジスタ(207)にアクセスして使用する暗号鍵を指定する(ステップS402)。
さらに、CPU(101)は、各種I/F、即ち、転送バスI/F(202)およびハードディスクI/F(203)の動作条件を設定する。(ステップS403)例えば、転送バスI/F(202)およびハードディスクI/F(203)には、データ転送量や転送の方向(HDDのリードかライトか)を設定するためのレジスタが設けられている。そのほかに、独自の設定項目が設けられていてもよい。CPU(101)は、これらのレジスタにアクセスして、転送バスI/F(202)およびハードディスクI/F(203)の動作条件を設定する。
【0050】
以上の、各種動作条件の設定が終了したら、CPU(101)は、ライト信号をアサートすることによって、画像データの転送をスタートさせる(ステップS404)。この実施形態に係る構成の場合、通常HDDが画像データ転送のメインを担う。そのため、CPU(101)はHDD I/F(203)に対してデータ転送の指示を行う。
【0051】
≪分散処理における鍵データの共有について≫
ここで、MFP間で暗号化データ通信を行う場合に使用する鍵データの共有についてより詳細に説明する。タンデムプリントやタンデムコピーなど、図4のようにネットワーク上に接続している複数台のMFPを利用して印刷ジョブを処理する場合、MFP間で転送される大容量のデータを暗号化して送信するシーンがある。タンデムプリントとは、例えば、図4のPC1からMFP1に対して発行するプリント要求を高速処理するため、MFP1からMFP2/MFP3に対してプリント要求を分散して処理することである。また、タンデムコピーとは、例えば、MFP1で要求された多数部のコピー処理を、MFP1/MFP2/MFP3に分散して印字処理を行う動作である。
【0052】
このような動作のとき、データ転送に先立って、一方のMFPで暗号化されたデータを他方のMFPで復号化するため、2台のMFP間で鍵データの共有が必要となる。安全に実施可能な鍵共有方法として、DiffieHellman法による鍵交換方法が有名であるが、本システムの場合、鍵データそのものを交換する必要はなく、選択情報のみを交換することで2台のMFP間で共通の鍵を共有することが可能となる。これは、前述のごとく画像データの送信先の画像形成装置と送信元の画像形成装置が、同様の暗号処理部を有することにより鍵番号と鍵データ(共有鍵)の対応関係が一致しているためである。
【0053】
MFP間で鍵データを共有するためには、鍵番号そのものを転送してもよいが、安全性をより高めるためには、鍵番号が特定しにくいように冗長なデータで通信することが好ましい。前述のごとく画像データの送信先の画像形成装置と送信元の画像形成装置が、鍵番号データから鍵番号を決定する手順を共有しているため、冗長な鍵番号データを用いた送信が可能である。
【0054】
≪鍵番号データに基づく鍵番号の決定について≫
冗長なデータを鍵番号データとする一例として、各MFPに固有のシリアル番号、例えば、製造番号を鍵番号データとして用い、暗号化および復号化に使用する鍵番号を決定することが考えられる。その他の例として、前記シリアル番号が画像形成装置内の暗号処理部あるいは前記暗号処理部内の暗号処理回路に対して予め付与されたシリアル番号に基づいて鍵番号を決定することも考えられる。前記シリアル番号から鍵番号を決定するアルゴリズムを各MFP間で共通のものとして予め決めておけば、自マシンのシリアル番号を前記画像データの復号化をすべき他のMFPに送信することにより鍵データの共有が可能となる。よって、異なるMFPで共通鍵暗号方式による暗号化と復号化を正しく実行することができる。
【0055】
前記シリアル番号を利用した鍵データの共有シーケンスを図5にて説明する。タンデムコピーあるいはタンデムプリント等、分散処理を伴う画像処理のジョブの要求がメインとなるMFPにおいて発生すると、メインMFPはサブとなるサブMFPに対して鍵共有要求を送信する(ステップS501)。
【0056】
サブMFPは鍵共有要求がくると準備ができた時点でオーケー応答(OK)をメインMFPに対して送信する(ステップS551)。
オーケー応答を受信したメインMFPは自マシンのシリアル番号をサブに対して送信する(ステップS503)。シリアル番号を受信したサブMFPは、シリアル番号を元に予め決められたアルゴリズムを用いて鍵番号を生成する(ステップS553)。例えば、取得したシリアル番号を予め定められたハッシュ関数によりハッシュ値を生成し、ハッシュ値を数値化するなどして生成する。
【0057】
一方、メインMFPも、サブMFPと同様のアルゴリズムを用いて鍵番号を生成する(ステップS505)。従って、メインMFPとサブMFPとで同じ鍵番号が生成される。
サブMFPは、鍵番号の生成が完了すると、メインMFPに対してオーケー応答を行う(ステップS555)。
【0058】
以上のようにして、鍵共有動作が完了する。この例ではシリアル番号を利用したが、前述のように、転送毎に鍵データを変更したい場合は鍵番号そのものをメインMFPからサブMFPに対して送信してもよいし、DiffieHellman法による鍵番号交換を行い、さらにセキュリティ性を向上させても構わない。
【0059】
≪共有鍵と固有鍵≫
複数台のMFPにおいて、予め保持している鍵を共有して利用するためには同じ鍵データを各MFPで持っておく必要がある。これが、図1の共通鍵(205)およびそれを供給する鍵供給回路(204)である。しかし、保持する鍵データを全て同じ鍵値にしてしまうと、あるMFPについて共有鍵に係る情報が漏洩したと仮定すると、その場合他のMFPでも共有鍵が安全に使用できなくなってしまう。従って、複数搭載した鍵データのうち、一部は鍵共有可能な共有鍵、一部は固体、即ち、LSI-Aに固有の鍵値(固有鍵)とする態様がより好ましい。図6は、この発明に係るLSI-Aブロックの、図2と異なる内部構成例を示すブロック図である。図6の鍵供給回路(404)は、N個の共有鍵(205)とM個の固有鍵(209)、合わせて(N+M)個の鍵データを格納する。
【0060】
このような構成にしておけば、共有鍵に係る機密が漏洩した場合、MFP同士のセキュアな通信はできなくなるものの、固有鍵を用いてMFP単体での暗号・復号処理は行うことができる。図6に示すように、他のMFPと鍵共有可能な共有鍵と、共有できない固有鍵のいずれを使用するかの選択は、鍵セレクトレジスタの設定値によって指定が可能である。共有鍵と固有鍵の違いは、他のMFPと鍵データを持つことが保証されているが、他のMFPと異なる鍵データを持つよう種々の鍵データか組み合わせられているかという点である。
【0061】
なお、仮に共有鍵に係る情報が漏洩してから、MFP単体の処理に固有鍵を使用するように切り換えるとすれば、それまでに暗号化されて各MFPに格納されている画像データの安全性が確保できないため、画像データの暗号化と復号化を同一の画像形成装置でおこなうジョブには固有鍵を指定し、画像データの暗号化と復号化とを異なる画像形成装置でおこなうジョブには共有鍵を指定するように予め定めておけばよい。
【0062】
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【符号の説明】
【0063】
101:CPU
102:ROM
103:RAM
104:LSI-A
105:LSI-B
106:HDD、ハードディスクドライブ
107:メイン・バス
108:転送バス
109:通信I/F、通信インターフェイス回路
201:共通鍵暗号処理ブロック
202:転送バスI/F
203:HDD I/F
204:鍵供給回路
205:共有鍵
206:セレクタ
207:鍵セレクトレジスタ
208:CPU I/F
209:固有鍵
301:画像処理回路
311:スキャナ・インターフェイス回路、スキャナI/F
312:イメージスキャナ部
315:プリントエンジン・インターフェイス回路、エンジンI/F
316:プリントエンジン部
501:鍵保持レジスタ

【特許請求の範囲】
【請求項1】
画像データを処理する画像処理部と、
前記画像データを他の装置との間で送受し得る通信部と、
鍵番号により個別に指定可能であり、暗号鍵としてそれぞれ使用可能な複数の鍵データを予め格納する共有鍵格納回路、および、指定された鍵番号に応じた鍵データを用いて共通鍵暗号方式による暗号化および/または復号化を行う暗号処理回路を含んでなる暗号処理部と、
暗号化に用いる鍵番号を前記鍵番号より冗長な鍵番号データに基づいて決定する鍵番号決定部と、
前記暗号化用の鍵番号を指定し、かつ、前記鍵番号に応じた鍵データで前記画像データを暗号処理部に暗号化させ、前記鍵番号データに基づく鍵番号を鍵番号決定部に決定させ、暗号化された画像データおよび前記鍵番号データを前記通信部から他の装置へ送信するよう制御する制御部とを備え、
前記共有鍵格納回路は、各鍵データを前記暗号処理部の外部から書換え不可能かつ読出し不可能に格納し、
前記鍵番号決定部は、前記鍵番号データの送信元と送信先とで同じ鍵番号が決定されるよう再現性のある所定の手順で前記鍵番号を決定することを特徴とする暗号処理機能付き画像形成装置。
【請求項2】
前記制御部は、通信可能な他の画像形成装置にタンデムプリントまたはタンデムコピーの処理を分担させるべく、暗号化された画像データをその暗号化に係る鍵番号データと共に他の画像形成装置へ送信し、暗号化に用いる前記暗号処理部と同じ鍵番号により同じ鍵データが選択されるよう構成された送信先の画像形成装置に前記画像データの復号化を行わせるよう制御する請求項1に記載の画像形成装置。
【請求項3】
前記鍵番号決定部は、暗号化を行う暗号処理回路またはそれを含んでなる暗号処理部または画像形成装置の固体を識別するシリアル番号を鍵番号データとし、その鍵番号データに基づいて鍵番号を決定する請求項2に記載の画像形成装置。
【請求項4】
前記暗号処理部は、各鍵番号と各鍵データとの対応関係が、異なる個体間で一致する共有鍵格納回路に加え、各鍵番号と各鍵データとの対応関係が異なる個体間で相違する固有鍵格納回路をさらに含んでなり、
前記固有鍵格納回路に格納される各鍵データは、共有鍵格納回路に格納される共有鍵と異なる鍵番号により指定され、
前記制御部は、画像データの暗号化と復号化を同一の画像形成装置でおこなう場合は固有鍵を指定し、画像データの暗号化と復号化とを異なる画像形成装置でおこなう場合は共有鍵を指定する請求項1から3のいずれか一つに記載の画像形成装置。
【請求項5】
暗号鍵として使用可能であり鍵番号により個別に指定される複数の鍵データを外部からの書換え不可能にかつ外部への読出し不可能に予め格納する送信側共有鍵格納回路に対し一の鍵データを指定する処理と、
指定された鍵データを用いて共通鍵暗号方式により画像データを暗号化する処理と、
暗号化に用いる鍵番号を前記鍵番号より冗長な鍵番号データに基づいて決定する暗号化処理と、
他の画像形成装置へ暗号化された画像データおよび生成された鍵番号データを送信する処理とを第1のコンピュータが実行し、
送信された画像データと鍵番号データを受信する処理と、
受信された鍵番号データを可逆手順で逆変換して鍵番号を生成する処理と、
前記暗号化処理と同一の鍵番号を用いた場合に前記暗号化処理と同一の鍵データが選択されるよう構成された受信側共有鍵格納回路に対して前記鍵番号により鍵データを指定する処理と、
指定された鍵データを用いて、受信された画像データを復号化する処理と、
復号化された画像データに基づき画像を形成する処理とを第2のコンピュータが実行し、
前記鍵番号は、再現性のある手順を用いて鍵番号データから決定されることを特徴とする画像形成方法。
【請求項6】
送信側の画像形成装置は、各鍵番号と各鍵データとの対応関係が異なる画像装置間で相違する固有鍵格納回路をさらに含んでなり、
前記固有鍵格納回路に格納される各鍵データは、共有鍵格納回路に格納される共有鍵と異なる鍵番号により指定され、
送信側の画像形成装置の制御部は、暗号化の処理に先立ち、画像データの復号化を同一の画像形成装置で行うか否かを判断し、同一の画像形成装置で復号化を行う場合は、固有鍵を指定してその画像形成装置で画像データの暗号化及びその復号化を行うように制御する請求項5に記載の画像形成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−219883(P2010−219883A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2009−64312(P2009−64312)
【出願日】平成21年3月17日(2009.3.17)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】