説明

複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体

【課題】本発明は、サブシステムになりすました進入を防止する複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体に関する。
【解決手段】複合装置1は、本体制御部2とエンジン3、FAX部4、操作部5がPCIe6やUSB7によって離接可能に接続されており、本体制御部2と操作部5との暗号化通信に用いる公開鍵の正当性を保護するTPMを本体制御部2にのみ設け、また、操作部5が、操作部5のサブシステムOSの一部と第2公開鍵を暗号化して不揮発性メモリに記憶して、本体制御部2のTPMが、起動時に最初に操作部5から送られてきた第1公開鍵の正当性を確認して鍵共有による暗号化通信に成功すると、サブシステムファーム暗号鍵を該暗号化通信で操作部5に送信して、操作部5が暗号化されているサブシステムOSの一部と第2公開鍵を解凍して、以降、本体制御部2と操作部5が鍵共有による暗号化通信を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体に関し、詳細には、サブシステムになりすました進入を防止するメインシステムと複数のサブシステムからなる複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体に関する。
【背景技術】
【0002】
複合装置、複写装置、プリンタ装置、ファクシミリ装置等の画像処理装置等においては、ネットワークの普及に伴ってネットワークに接続されて、該ネットワークに接続されている複数のコンピュータ等のホスト装置から共有して使用されるようになってきている。
【0003】
また、近年の画像処理装置やその他の装置は、複数の資源、例えば、複合装置においては、メインシステムに、操作システム、給紙システム、読み取りシステム、画像形成システム、走査システム、通信システム、後処理システム等の複数のサブシステムが接続されることで、複合システムとして構築されるようになってきており、サブシステムそれぞれがCPU(Central Processing Unit )を搭載して該システムを制御するとともに、メインシステムのCPUの制御下で全体の動作制御を行うようになってきている。
【0004】
そして、このような複合システムにおいては、サブシステムの接続と切り離しが容易であることから、複合システム内に蓄積されているユーザの個人的な情報を保護することが重要な問題となってきている。このような複合システムにおいては、サブシステムになりすましたソフトウェアの不正改ざんや情報の漏洩が問題となる。
【0005】
例えば、操作システムでは、単純な表示やキー操作を行うだけでなく、ブラウザ機能や高度な画像処理機能を行うため高機能で汎用的なOS(Operating System)を搭載したシステムが必要とされるようになり、システムが高度化するとともに汎用システムであることから、外部から改竄の対象となりうることに対する対策が要求される。
【0006】
従来から、TPM(Trusted Platform Module)を用いた起動時の正当性検証を、例えば、図8に示すように行っている。すなわち、図8に示すように、プラットフォームのBIOSのハッシュ値をTPMで検証して、正当性が確認されると、基本パッケージのハッシュ値をTPMで検証し、さらに、基本パッケージによってアプリケーションのハッシュ値を計算して、TPMで正当性が検証されると、アプリケーションパッケージを起動させるという手順で行われる。
【0007】
そして、従来、外部記憶媒体に記憶されているアプリケーションを実行する際の該アプリケーションの正当性を検証した後に該アプリケーションを実行する技術が提案されている(特許文献1参照)。この従来技術は、アプリケーションを記憶する外部記憶媒体に固有の媒体識別情報を格納し、該アプリケーションと該媒体識別情報とに対応付けられ該アプリケーションの実行を許可するか否かの許可情報を記憶手段に記憶して、該外部記憶媒体が接続されると、該外部記憶媒体に格納されている前記媒体識別情報と前記アプリケーション及び該記憶手段の許可情報に基づいて該外部記憶手段の該アプリケーションを実行するか否か判断して、実行すると判断すると、該アプリケーションを実行している。すなわち、この従来技術は、外部記憶媒体のアプリケーションの正当性を検証することで、該アプリケーションが動作することによる複合システムへの進入を防止しようとしている。
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記公報記載の従来技術にあっては、外部記憶媒体に格納されているアプリケーションと媒体識別情報と本体の記憶手段に記憶されている許可情報を用いてアプリケーションの正当性を検証して該アプリケーションの動作を許可/不許可することで、セキュリティの確保を図っているため、複合システムにおけるセキュリティの確保を向上させる上で、改良の必要があった。また、この場合、正当性の検証に、TPMを用いても複合システムにおけるセキュリティの確保を、上記従来技術にあっては不十分である。
【0009】
すなわち、上述のように、複合システムにおいては、メインシステムに、操作システム、画像形成システム、通信システム等の複数のサブシステムが接続されて構築されており、サブシステムは、必要に応じて適宜増設、切り離しが可能となっている。したがって、このような複合システムにおいては、サブシステムになりすました複合システムへの進入や情報の盗用、改竄等のセキュリティが脅かされるおそれがあるが、従来技術にあっては、このようななりすましによる進入等によるセキュリティを確保することが困難であり、改良が要望されている。
【0010】
そこで、本発明は、サブシステムになりすました攻撃からセキュリティを確実に確保するメインシステムとサブシステムからなる複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体を提供することを目的としている。
【課題を解決するための手段】
【0011】
本発明は、上記目的を達成するために、メインシステムと複数のサブシステムが通信手段によって離接可能に接続されている複合システムにおいて、該メインシステムと該サブシステムとの暗号化通信に用いる公開鍵の正当性を保護するセキュリティチップを該メインシステムにのみ設け、また、サブシステムが、サブプログラムの一部と公開鍵を暗号化して記憶手段に記憶して、メインシステムのセキュリティチップが、起動時に最初にサブシステムから送られてきた公開鍵の正当性を確認して鍵共有による暗号化通信に成功すると、暗号鍵を該暗号化通信でサブシステムに送信して、サブシステムが暗号化された前記サブプログラムの一部と公開鍵を解凍して、以降、メインシステムとサブシステムが鍵共有による暗号化通信に入ることを特徴としている。
【0012】
また、本発明は、前記サブシステムが、サブシステムモニタを搭載して、該サブシステムモニタのハッシュ値及び解凍後の前記サブプログラムのハッシュ値を、前記通信手段を通して前記メインシステムに送信し、前記メインシステムが、前記公開鍵及び前記暗号鍵を暗号化して記憶して、前記セキュリティチップが、前記サブシステムから送られてきた前記サブシステムモニタの前記ハッシュ値が正当であることを確認すると、暗号化された前記公開鍵を解凍し、また、前記サブプログラムの前記ハッシュ値が正当であることを確認すると、前記暗号鍵を解凍することを特徴としてもよい。
【0013】
さらに、本発明は、前記サブシステムが搭載していて所定順序で実行または利用する前記サブプログラム以外のプログラムまたは/及びデータの一部を、該サブシステムが、暗号化された状態で記憶するとともに、それぞれ該プログラムまたは/及びデータとともに該プログラムまたは/及びデータが解凍された後の前記メインシステムとの間で暗号化通信を行うための暗号化されている次期公開鍵を記憶し、前記メインシステムからの暗号鍵によって解凍した該次期公開鍵を使用して前記通信手段を通して該メインシステムと暗号化通信を行い、前記メインシステムが、前記サブシステムの暗号化されている前記サブプログラム以外のプログラムまたは/及びデータと前記次期公開鍵を解凍するための暗号鍵及び該次期公開鍵と鍵共有によって暗号化通信を行うための次期公開鍵を記憶し、サブシステムから受け取った次期公開鍵の正当性がセキュリティチップによって確認されると、前記次期公開鍵を該サブシステムに送信して、該サブシステムと該次期公開鍵の鍵共有による暗号化通信を行うことを特徴としてもよい。
【発明の効果】
【0014】
本発明によれば、サブシステムになりすました攻撃からセキュリティを確実に確保することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施例を適用した複写装置の要部ブロック構成図。
【図2】本体制御部の詳細なブロック構成図。
【図3】メインシステム及びサブシステムの不揮発性メモリのデータ格納状態を示す図。
【図4】操作部の詳細なブロック構成図。
【図5】複写装置における起動時正当性検証処理を示す図。
【図6】BLOBのPCRレジスタ依存関係を示す図。
【図7】本体制御部と操作部の各データの依存関係を示す図。
【図8】一般的なTPMを用いた起動時の正当性検証処理の説明図。
【発明を実施するための形態】
【0016】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例1】
【0017】
図1〜図7は、本発明の複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体の一実施例を示す図であり、図1は、本発明の複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体の一実施例を適用した複合装置1の要部ブロック構成図である。
【0018】
図1において、複合装置(複合システム)1は、メインシステムとしての本体制御部2、サブシステムとしてのエンジン部3、FAX部4、操作部5等を備えているとともに、図示しないが、ネットワークに接続するネットワーク通信部等を備えており、本体制御部2は、エンジン部3とは、要求と応答が分離されていて応答を待たずに次の要求を発行できる高速スプリットトランザクションのバスであるPCIe(Peripheral Component Interconnect Express)6で、FAX部4及び操作部5とは、USB(Universal Serial Bus)7で、それぞれ接続されている。上記PCIe6及びUSB7は、通信手段として機能している。
【0019】
エンジン3は、スキャナシステムとプリンタシステムとを備え、スキャナシステムで、原稿の画像を主走査及び副走査して原稿の画像を所定の解像度で読み取って、画像データを出力し、プリンタシステムで、本体制御部2から受け取った画像データに基づいて所定の画像形成方式、例えば、電子写真方式で画像を記録紙に記録出力する。
【0020】
FAX部4は、公衆回線等のファクシミリ通信可能な回線に接続され、本体制御部2の制御下で、通常のファクシミリ通信手順を実行して、相手ファクシミリ装置からのファクシミリデータの受信処理とエンジン3のスキャナシステムで読み取られて必要な画像処理の施されたデータのファクシミリ送信処理を実行する。
【0021】
操作部5は、例えば、タッチパネル付き液晶ディスプレイ、テンキー、クリア/ストップキー、スタートキー、ファックスキー等の操作キーが設けられており、タッチパネル付き液晶ディスプレイには、機能キー及びコピー部数、プリント部数や複合装置1の状態を示すメッセージ等の各種情報、例えば、複合装置1内での紙詰まり(ジャム)の発生情報、ドア・カバー類のオープン情報等の各種情報が表示される。すなわち、操作部5は、後述する図4に示すように、LCD(Liquid Crystal Display)35とLCD35上に配設されたタッチパネル36を備えている。
【0022】
そして、本体制御部2は、図2に示すように、CPU(Central Processing Unit )11、RAM(Random Access Memory)12、ASIC(Application Specific Integrated Circuit)13、TPM14、不揮発性メモリ15及びローカルバス16等を備えており、ASIC13にPCIe6、USB7が接続されている。
【0023】
不揮発性メモリ(初期公開鍵用不揮発性記憶手段、次期公開鍵用不揮発性記憶手段)15は、複合装置1の電源がオフの場合にも記憶内容を保持するメモリであり、例えば、フラッシュROM(Flash Read Only Memory)等が用いられている。不揮発性メモリ15は、例えば、図3に示すように、複合装置1のカーネル(kernel)イメージのシステムOS21、ブートROM(BOOT ROM)22、BLOB(Binary Large OBject)化されているサブシステム通信用の2つの第1通信鍵(初期公開鍵)23と第2通信鍵(次期公開鍵)24及びBLOB化(暗号化)されているサブシステムファーム暗号鍵25等を格納している。
【0024】
システムOS21は、複合装置1のメインプログラムであり、BOOT ROM22は、装置起動時にシステムOS21を起動させるためのブートプログラムを格納している。第1通信鍵23及び第2通信鍵24は、デフィー・ヘルマン鍵共有による暗号化通信に使用する通信鍵であり、2段階でのセキュリティを確保するために、2つの通信鍵23、24を備えている。また、本体制御部2の不揮発性メモリ15は、エンジン3、FAX部4、操作部5等のサブシステムの不揮発性メモリ38(図3参照)上の暗号化データを解凍するのに必要なサブシステムファーム暗号鍵25が格納されている。このサブシステムの不揮発性メモリ38上の暗号化データは、図3に示すように、サブシステム(図3では、操作部5)のサブシステムOS(kernelイメージ)51の起動に不可欠な一部分及びその後の通信で使用する第2通信鍵53であり、サブシステムファーム暗号鍵25は、この暗号化データを解凍するための暗号鍵である。
【0025】
TPM(セキュリティチップ)14は、CPU、ROM、RAM、不揮発性メモリ、タイマー等を含むハードウェアチップであり、起動検証に必要な情報を不揮発性メモリに記録する。
【0026】
TPM14は、公開鍵、秘密鍵の生成、保管、演算機能が実装されており、エンドースメント鍵やStorage Root Key等の重要な鍵のTPM14内部での管理を可能としている。また、TPM14は、プラットフォーム構成情報(ソフトウェアの計測値)をTPM14内のレジスタPCR(Platform Configuration Registers)に安全に保管し、通知する機能を有している。これらの機能はそれぞれRTS(Root of Trust for Storage)、RTR(Root of Trust for Reporting)と呼ばれ、RTM(Root of Trust for Measurements)で計測したソフトウェアのインテグリティ情報(ハッシュ値)を安全に保管、通知することを可能としている。
【0027】
そして、TPM14は、起動検証に必要な情報として、例えば、図6に示すようなハッシュ値を保管、通知する。すなわち、TPM14は、PCR1に、システムモニタハッシュ値が、PCR2に、システムOSハッシュ値が、PCR3に、サブシステムモニタハッシュ値が、そして、RCR4に、サブシステムOSハッシュ値が、それぞれ格納されている。これらの情報は、いずれも複合装置1の出荷時あるいは初めての起動時にTPM14内部の不揮発性メモリに格納される。
【0028】
CPU11は、上記不揮発性メモリ15のシステムOS21に基づいてRAM12をワークメモリとして利用しつつ複合装置1の各部を制御して、複合装置1としての基本機能を実行するとともに、本発明のセキュリティ方法を実行する。
【0029】
ASIC13は、CPU11の制御下で、サブシステムであるエンジン3、FAX部4及び操作部5との間でデータ及び信号の授受を行うとともに、画像データに必要な画像処理を行う。上記CPU11及びASIC13は、全体として、初期通信制御手段及び次期通信制御手段として機能する。
【0030】
操作部5は、図4に示すように、CPU31、USBファンクション32、LCDC(LCDコントローラ)33、ローカルバスコントローラ34、LCD(Liquid Crystal Display)35、タッチパネル36、キーコントローラ37、不揮発性メモリ38、RAM39及びローカルバス40等を備えている。
【0031】
USBファンクション32は、本体制御部2のASIC13に接続されているUSB7が接続され、CPU31の制御下で、本体制御部2との間でデータ及び信号の授受を行う。
【0032】
不揮発性メモリ(初期公開鍵用不揮発性記憶手段、次期公開鍵用不揮発性記憶手段)38は、例えば、複合装置1、特に、操作部5の電源がオフの場合にも記憶内容を保持するメモリであり、例えば、フラッシュROM(Flash Read Only Memory)等が用いられている。不揮発性メモリ38は、例えば、図3に示したように、操作部5のカーネル(kernel)イメージのサブシステムOS51、ブートROM(BOOT ROM)52、BLOB化されたサブシステム通信用の第1通信鍵(初期公開鍵)54と第2通信鍵(次期公開鍵)53等を格納している。なお、第1通信鍵54は、不揮発性メモリ38のうち、容易に書き換えができない領域に格納されている。
【0033】
サブシステムOS51は、操作部5の動作プログラムであり、BOOT ROM52は、操作部5の起動時にサブシステムOS51を起動させるためのブートプログラムを格納している。第1通信鍵54及び第2通信鍵53は、デフィー・ヘルマン鍵共有による本体制御部2との暗号化通信に使用する通信鍵であり、2段階でのセキュリティを確保するために、2つの通信鍵53、54を備えている。そして、サブシステムOS51の起動に不可欠な一部分及びその後の通信で使用する第2通信鍵53は、所定の暗号化方式で暗号化された暗号化データとして不揮発性メモリ38に格納されており、後述するように、操作部5のCPU31は、不揮発性メモリ38の暗号化データを本体制御部2から受け取ったサブシステムファーム暗号鍵25を使用して解凍する。
【0034】
CPU(解凍手段)31は、不揮発性メモリ38のサブシステムOS51に基づいてRAM39をワークメモリとして利用して、操作部5の各部を制御して複合装置5としての処理を実行させるとともに、本発明のセキュリティ処理を実行する。CPU31及びUSBファンクション32は、全体として初期通信制御手段及び次期通信制御手段として機能する。
【0035】
LCDC33は、CPU31の制御下で、本体制御部2から送られてきた表示情報や機能ボタンをLCD35へ表示させ、タッチパネル36に行われたタッチ操作の検出を行って本体制御部2に送信する。
【0036】
キーコントローラ37は、操作部5のハードキーの操作を検出して、USBファンクション32を介して本体制御部2に通知する。
【0037】
ローカルバスコントローラ34は、ローカルバス40に接続されたキーコントローラ37、不揮発性メモリ38及びRAM39とCPU31等とのローカルバス40を介した通信の制御を行う。
【0038】
なお、複合装置1は、ROM、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Versatile Disk)、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な記録媒体に記録されている本発明のセキュリティ方法を実行するセキュリティプログラムを読み込んでROMや不揮発性メモリ15等に導入することで、後述するなりすましを防止するセキュリティ方法を実行する複合システムとして構築されている。このセキュリティプログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【0039】
次に、本実施例の作用を説明する。本実施例の複合装置1は、起動時に、本体制御部2であるメインシステムに接続される複数のサブシステムのサブシステムOS51の一部を暗号化して、該暗号化部分を復号化するサブシステム暗号鍵25を本体制御部2の不揮発性メモリ15にBLOB化して保管し、該サブシステムの正当性を確認した後に、サブシステムファーム暗号鍵25を操作部5に渡すことで、サブシステムである操作部5になりすました進入、改竄を防止する。そして、本実施例の複合装置1は、正当性のルートオブトラストが、本体制御部2のTPM14に一元的に管理されている。
【0040】
なお、以下の説明では、サブシステムとして、操作部5を用いた場合について説明するが、他のサブシステム(エンジン3、FAX部4等)についても、同様に適用することができる。
【0041】
操作部5になりすます方法としては、サブシステムである操作部5(以下、適宜、サブシステムという。)とメインシステムである本体制御部2(以下、適宜、メインシステムという。)がUSB7で接続されているため、USB7によって操作部5とは別のデバイスを接続して、あたかも操作部5であるかのように振る舞って進入し、データの改竄や盗用を行う。
【0042】
そこで、本実施例の複合装置1は、図5に示すように起動時正当性検証処理を行うことで、サブシステムとしてのなりすましによる進入を防止している。すなわち、複合装置1の電源が投入されると、本体制御部2が、BOOT ROM22のブートプログラムによって起動を開始して、システムOS21の起動を行い、また、操作部5を含むサブシステムが、そのBOOT ROM52によって起動して、サブシステムOS51を起動させる。
【0043】
本体制御部2は、システムOS21が起動すると、不揮発性メモリ15に格納されているBLOB化されている第1通信鍵23を読み出して解凍して公開鍵(巨大素数をp、生成元をgとする。)を取得し(ステップS101)、秘密の値aを乱数生成して(ステップS102)、該秘密の値a、巨大素数p及び生成元gを使用して公開鍵となるデータA(A=g**a mod p)を求めて操作部(サブシステム)5を含むサブシステムに送信する(ステップS103)。
【0044】
一方、サブシステムである操作部5は、サブシステムモニタ5Mを起動すると、サブシステムモニタ5Mが、第1通信鍵54を不揮発性メモリ38に格納されている第1通信鍵54を読み出して解凍して公開鍵(巨大素数をp、生成元をgとする。)を取得し(ステップS201)、秘密の値bを乱数生成して(ステップS202)、該秘密の値b、巨大素数p及び生成元gを使用して公開鍵となるデータB(B=g**b mod p)を求めて本体制御部(メインシステム)2に送信する(ステップS203)。
【0045】
本体制御部2は、操作部5から受け取ったデータBから公開鍵Kaを次式により算出して以降の暗号鍵とし(ステップS104)、サブシステムからハッシュ値が送信されてくるのを待つ。
【0046】
Ka=B**a mod p・・・(1)
同様に、操作部5は、本体制御部2から受け取ったデータAから公開鍵Kbを次式により算出して、以降の暗号鍵とする(ステップS204)。
【0047】
Kb=A**b mod p・・・(2)
上記暗号鍵をメインシステムである本体制御部2及びサブシステムである操作部5が取得することで、デフィー・ヘルマン鍵共有が成り立ち、本体制御部2と操作部5は、以降、公開鍵Ka、Kbを暗号鍵とした暗号化通信を行う。
【0048】
操作部5は、公開鍵Kbを算出すると、サブシステムモニタ5M自身のハッシュ値を暗号化通信によってメインシステムである本体制御部2に送信し(ステップS205)、本体制御部2は、送られてきたハッシュ値をTPM14にレポートして(ステップS105)、正当性が確認されると、不揮発性メモリ15にBLOB化して格納されているサブシステムファーム暗号鍵25を解凍して、サブシステムである操作部5に暗号化通信で送信する(ステップS216)。
【0049】
操作部5は、サブシステムファーム暗号鍵25が本体制御部2から送られてくると、該サブシステムファーム暗号鍵25を使用してサブシステムOS51の暗号化部分を解凍してメモリ上に展開し(ステップS206)、サブシステムOS51の解凍後のハッシュ値(ファームハッシュ値)をメインシステムである本体制御部2に暗号化通信で送信する(ステップS207)。
【0050】
本体制御部2は、操作部5からファームハッシュ値が送られてくると、該サブシステムファームハッシュ値をTPM14にレポートして正当性が担保されると(ステップS107)、不揮発性メモリ15にBLOB化されて格納されている第2通信鍵24を読み出して解凍して公開鍵(巨大素数をp、生成元をgとする。)を取得し(ステップS108)、秘密の値aを乱数生成して(ステップS109)、該秘密の値a、巨大素数p及び生成元gを使用して公開鍵となるデータA(A=g**a mod p)を求めて操作部5に暗号化通信で送信する(ステップS110)。
【0051】
操作部5は、ファームハッシュ値を送信すると、ファームOS51の暗号化領域に含まれている第2通信鍵53を解凍して公開鍵(巨大素数をp、生成元をgとする。)を取得し(ステップS208)、秘密の値bを乱数生成して(ステップS209)、該秘密の値b、巨大素数p及び生成元gを使用して公開鍵となるデータB(B=g**b mod p)を求めて本体制御部(メインシステム)2に暗号化通信で送信する(ステップS210)。
【0052】
本体制御部2は、サブシステムである操作部5から受け取ったデータBから公開鍵Kaを、上記式(1)により算出して以降の暗号鍵とし(ステップS104)、通常の暗号化通信を開始する。
【0053】
同様に、操作部5は、本体制御部2から受け取ったデータAから公開鍵Kbを上記式(2)により算出して、以降の暗号鍵とし(ステップS211)、通常の暗号化通信を開始する。
【0054】
そして、図5に示すように、サブシステムである操作部5は、ステップS201からステップS207の段階においては、サブシステムモニタ5M(図7参照)が動作し、ステップS208以降においては、サブシステムOS51が動作する。
【0055】
すなわち、本実施例の複合装置1は、図6に本体制御部2の不揮発性メモリ15に格納されているBLOB化されている第1通信鍵23、サブシステムファーム暗号鍵25及び第2通信鍵24のTPM14内のPCRに対する依存関係を示すように、第1通信鍵23は、PCR1のシステムモニタハッシュ値とPCR2のシステムOSハッシュ値が揃わないと、このBLOBを解凍することができず、サブシステムファーム暗号鍵25は、PCR1のシステムモニタハッシュ値、PCR2のシステムOSハッシュ値及びPCR3のサブシステムモニタハッシュ値が揃わないと、このBLOBを解凍することができない。さらに、第2通信鍵24は、サブシステムファーム暗号鍵25は、PCR1のシステムモニタハッシュ値、PCR2のシステムOSハッシュ値、PCR3のサブシステムモニタハッシュ値及びPCR4のサブシステムOSハッシュ値が揃わないと、このBLOBを解凍することができない。
【0056】
サブシステムである操作部5は、通常のシステムブートと同様に、サブシステムモニタ5Mが最初にBOOT ROM52から起動され、CPU31等のハードウエアの初期化を行った後、サブシステムOS51をロードする。ところが、本実施例の複合装置1の操作部5は、通信路であるUSB7の安全性及びシステム動作の安全性を高めるために、不揮発性メモリ38上のサブシステムOS51の一部及び第2通信鍵53のデータが暗号化されている。
【0057】
そこで、サブシステムモニタ5Mは、暗号化されているサブシステムOS51及び第2通信鍵53を解凍するために、本体制御部2とデフィー・ヘルマン鍵共有により通信路の鍵を決定して暗号化通信を行って、本体制御部2がBLOB化して不揮発性メモリ15に格納しているサブシステムファーム暗号鍵25を要求する。
【0058】
そして、このサブシステムファーム暗号鍵25を本体制御部2から安全に取得するために、不揮発性メモリ38に本体制御部2と暗号化通信を行うための第1通信鍵54を格納しており、この本体制御部2の第1通信鍵23と操作部5の第1通信鍵54を使用したデフィー・ヘルマン鍵共有の動作によって、本体制御部2と操作部5それぞれがランダムに選んだ値から通信鍵Ka、Kbを生成して、この通信鍵Ka、Kbを使用して暗号化通信する。
【0059】
そして、サブシステムである操作部5は、モニタハッシュ値を本体制御部2に送信し、本体制御部2が、TPM14上のPCRレジスタに、ハッシュ値を登録する。
【0060】
本体制御部2は、サブシステムOS及び第2通信鍵53を解凍するためのサブシステムファーム暗号鍵25を不揮発性メモリ15から取り出して解凍し、デフィー・ヘルマン鍵共有で確立した暗号通信を利用して操作部5に鍵を提供する。
【0061】
操作部5のサブシステムモニタ5Mは、この鍵でサブシステムOS51の暗号化領域及び第2通信鍵53を解凍した後、RAM39上にサブシステムOS51をロードして、操作部5の制御をサブシステムOS51に移す(サブシステムOS51の起動)。
【0062】
本体制御部2は、不揮発性メモリ15からBLOB化されている第2通信鍵24を取り出し、操作部5の解凍された第2通信鍵53同士で、再びデフィー・ヘルマン鍵共有を用いて通信鍵を生成して、暗号化通信を確立する。
【0063】
上述のように、従来のTPMを利用した正当性検証に比較して、メインシステムである本体制御部2とサブシステムである操作部5との暗号化通信を2重の通信鍵(第1通信鍵23、54、と第2通信鍵24、53)で確立するとともに、操作部5のサブシステムOS51の一部と第2通信鍵53を暗号化して不揮発性メモリ38に格納しておき、このサブシステムOS51と第2通信鍵53を解凍するサブシステムファーム暗号鍵25をTPM14で正当性を検証して操作部5に提供することで、操作部5になりすましたデバイスによる進入を確実に防止し、複合装置1の本体側に蓄積されている情報のセキュリティを確保することができる。
【0064】
すなわち、図7に示すように、本体制御部2のBLOBである第1通信鍵23、サブシステムファーム暗号鍵25及び第2通信鍵24、そして、操作部5のサブシステムOS51と第2通信鍵53は、システムモニタ2MとシステムOS21及びサブシステムモニタ5Mに対して矢印で示すような依存関係にある。なお、図8において、実線矢印及び破線矢印は、モジュールであるシステムモニタ2M、システムOS21及びサブシステムモニタ5MとBLOBのPCRレジスタによる依存関係を示しており、2点鎖線矢印は、サブシステムOS51と第2通信鍵53の暗号化領域と暗号鍵の関係を示している。この矢印で示す依存関係のうち、破線矢印及び2点鎖線矢印による依存関係は、上述のように暗号化通信で実現されている。
【0065】
また、操作部5の第1通信鍵54を、不揮発性メモリ38の書き換えが容易に行うことができない領域に保存して、改ざんできないようになっており、本体制御部2の第1通信鍵23は、システムモニタ2MとシステムOS21に依存していて、正しいシステムモニタ2MとシステムOS21の組み合わせでのみ解凍可能となっている。
【0066】
したがって、第1通信鍵23と第1通信鍵54によるデフィー・ヘルマン鍵共有で暗号化通信が確立している状態は、本体制御部2のシステムOS21とシステムモニタ2Mが正当であることを示している。
【0067】
さらに、サブシステムファーム暗号鍵25は、BLOB化されており、第1通信鍵23、54による暗号化通信上で通信されるサブシステムモニタ5Mのハッシュ値が正しくないと、BLOB化されているサブシステムファーム暗号鍵25を解凍することができないという依存関係がある。したがって、BLOB化されているサブシステムファーム暗号鍵25を解凍することができることで、サブシステムモニタ5Mが正当であることが示される。
【0068】
また、サブシステムファーム暗号鍵25により解凍されるサブシステムOS51の一部と第2通信鍵53が解凍され、サブシステムOS51のハッシュ値に、本体制御部2のBLOB化されている第2通信鍵24が依存しているため、BLOB化されている第2通信鍵24が解凍できることで、サブシステムOS51が正当であることが示される。また、その後の第2通信鍵24、53による暗号化通信が確立することで、本体制御部2と操作部5双方の第2通信鍵24、53が正当であることが示される。
【0069】
サブシステムOS51、第2通信鍵53を暗号化して、そのサブシステムファーム暗号鍵25をBLOB化することで、操作部5だけの改ざんが行われると、最低でも第2通信鍵24、53による暗号化通信状態に入らないため、本体制御部2側にあるユーザデータ等の重要なデータが操作部5等のサブシステムのなりすましによる改竄や漏洩を確実に防止することができる。
【0070】
すなわち、本実施例の複合装置1は、本体制御部2にのみTPM14を搭載し、操作部5等のサブシステムには、TPMを搭載せずに、正当性の検証を全て本体制御部2のTPM14から与えて、正当性のルートオブトラストを本体制御部2のTPM14に一元化している。したがって、操作部5等のサブシステムになりすました進入や別システムで通信路がある場合には、システム間の通信を横取りするMain-In-The-Middleと呼ばれる攻撃を適切に防止することができる。
【0071】
なお、本実施例の複合装置1は、通信鍵を、第1通信鍵23、54と第2通信鍵24、53の2段階にしているが、さらに多くの段階に通信鍵(公開鍵)を設定してもよいし、OSが利用するファイルシステム、アプリケーションイメージを、サブシステムOS51と同様に、第3通信鍵やさらに次の通信鍵と一緒に暗号化して、第3通信鍵やさらに次の通信鍵を、本体制御部2の不揮発性メモリ15にBLOB化して保存するようにしてもよい。このようにすると、ファイルシステムやアプリケーション等の正当性を確保することができ、より一層セキュリティを向上させることができる。
【0072】
このように、本実施例の複合装置1は、メインシステムである本体制御部2と複数のサブシステムであるエンジン3、FAX部4、操作部5がPCIe6やUSB7等の通信手段によって離接可能に接続されており、本体制御部2とサブシステムである操作部5との暗号化通信に用いる公開鍵の正当性を保護するセキュリティチップとしてのTPM14を本体制御部2にのみ設ける。また、複合装置1は、操作部5が、操作部5のサブプログラムであるサブシステムOS51の一部と第2公開鍵53を暗号化して不揮発性メモリ38に記憶して、本体制御部2のTPM14が、起動時に最初に操作部5から送られてきた第1公開鍵54の正当性を確認して、鍵共有による暗号化通信に成功すると、サブシステムファーム暗号鍵25を該暗号化通信で操作部5に送信して、操作部5が暗号化されたサブシステムOS51の一部と第2公開鍵53を解凍して、以降、本体制御部2と操作部5が鍵共有による暗号化通信を行う。
【0073】
したがって、サブシステムとしての操作部5になりすました本体制御部2への進入を確実に防止することができ、なりすましによる情報の盗用、改竄等のセキュリティが脅かされる事態の発生を確実に防止することができる。
【0074】
また、本実施例の複合装置1は、操作部5が、サブシステムモニタ5Mを搭載し、該サブシステムモニタ5Mのハッシュ値及び解凍後のサブシステムOS51のハッシュ値を本体制御部2に送信して、本体制御部2が、不揮発性メモリ15に第1公開鍵23、サブシステムファーム暗号鍵25及び第2公開鍵をBLOB化(暗号化)して記憶する。本体制御部2は、TPM14が、操作部5から送られてきたサブシステムモニタ5Mのハッシュ値が正当であることを確認すると、暗号化された第1公開鍵23を解凍し、また、サブシステムOS51のハッシュ値が正当であることを確認すると、サブシステムファーム暗号鍵25と第2公開鍵24を解凍して、操作部5に送信している。
【0075】
したがって、操作部5のなりすましをより一層確実に防止することができ、なりすましによる情報の盗用、改竄等のセキュリティが脅かされる事態の発生をより一層確実に防止することができる。
【0076】
さらに、本実施例の複合装置1は、操作部5が、所定順序で実行または利用するサブシステムOS51以外のプログラムまたは/及びデータの一部を暗号化された状態で不揮発性メモリ38に記憶するとともに、それぞれ該プログラムまたは/及びデータとともに該プログラムまたは/及びデータが解凍された後の本体制御部2との間で暗号化通信を行うための暗号化されている公開鍵を記憶して、解凍した該公開鍵を使用して本体制御部2と暗号化通信を行い、本体制御部2が、操作部5の暗号化されているサブシステムOS51以外のプログラムまたは/及びデータと公開鍵を解凍するための暗号鍵及び該公開鍵の共有によって暗号化通信を行うための公開鍵を記憶し、操作部5から受け取った公開鍵の正当性がTPM14によって確保されると、不揮発性メモリ15の該公開鍵を操作部5に送信して、操作部5と該公開鍵の鍵共有による暗号化通信を行ってもよい。
【0077】
このようにすると、操作部5の搭載するサブシステムOS51の正当性の確保だけでなく、主要なプログラムやデータの正当性をも確保することができ、セキュリティをより一層向上させることができる。
【0078】
また、本実施例の複合装置1は、メインシステムである本体制御部2とUSB7で離接可能に接続された操作部5をサブシステムとした場合について、説明している。
【0079】
したがって、容易に離接可能な操作部5になりすました進入を確実に防止することができ、セキュリティを向上させることができる。
【0080】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0081】
本発明は、サブシステムになりすましたメインシステムへの進入を防止する複合装置、複写装置等のメインシステムと複数のサブシステムで構成される複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体に利用することができる。
【符号の説明】
【0082】
1 複写装置
2 本体制御部
3 エンジン部
4 FAX部
5 操作部
6 PCIe
7 USB
11 CPU
12 RAM
13 ASIC
14 TPM
15 不揮発性メモリ
16 ローカルバス
21 システムOS
22 ブートROM
23 第1通信鍵
24 第2通信鍵
25 サブシステムファーム暗号鍵
31 CPU
32 USBファンクション
33 LCDC(LCDコントローラ)
34 ローカルバスコントローラ
35 LCD
36 タッチパネル
37 キーコントローラ
38 不揮発性メモリ
39 RAM
40 ローカルバス
51 サブシステムOS
52 ブートROM(BOOT ROM)
53 第2通信鍵
54 第1通信鍵
【先行技術文献】
【特許文献】
【0083】
【特許文献1】特開2007−213246号公報

【特許請求の範囲】
【請求項1】
メインプログラムで動作するメインシステムとサブプログラムで動作するとともに該メインシステムの制御下で動作する複数のサブシステムが所定の通信手段によって離接可能に接続されている複合システムにおいて、
前記サブシステムは、
起動後最初に前記通信手段を通して前記メインシステムと暗号化通信を行うための初期公開鍵を記憶する初期公開鍵用不揮発性記憶手段と、
所定の一部が暗号化されている前記サブプログラム及び前記メインシステムとの間で前記通信手段を通して前記最初の暗号化通信後に暗号化通信を行うための暗号化されている次期公開鍵を記憶する次期公開鍵用不揮発性記憶手段と、
前記初期公開鍵用不揮発性記憶手段の前記初期公開鍵を前記メインシステムに送信して、該メインシステムと前記通信手段を通して該初期公開鍵の鍵共有による暗号化通信を行う初期通信制御手段と、
前記次期公開鍵用不揮発性記憶手段の暗号化されている前記サブプログラム及び前記次期公開鍵を前記メインシステムから受け取った暗号鍵を使用して解凍する解凍手段と、
前記解凍手段が解凍した前記次期公開鍵を前記メインシステムに送信して、該メインシステムと前記通信手段を通して該次期公開鍵の鍵共有による暗号化通信を行う次期通信制御手段と、
を備え、
前記メインシステムは、
前記通信手段を通して前記サブシステムと暗号化通信を行うための初期公開鍵を記憶する初期公開鍵用不揮発性記憶手段と、
前記サブシステムの暗号化されている前記サブプログラム及び前記次期公開鍵を解凍するための前記暗号鍵及び該サブシステムの該次期公開鍵と鍵共有によって暗号化通信を行うための次期公開鍵を記憶する次期公開鍵用不揮発性記憶手段と、
前記初期公開鍵用不揮発性記憶手段の前記初期公開鍵と前記次期公開鍵用不揮発性記憶手段の前記暗号鍵と前記次期公開鍵の正当性及び前記通信手段を通して前記サブシステムから受け取る前記初期公開鍵と前記次期公開鍵の正当性を保護するセキュリティチップと、
前記サブシステムから受け取った前記初期公開鍵の正当性が前記セキュリティチップに確保されると、前記初期公開鍵用不揮発性記憶手段の前記初期公開鍵を該サブシステムに送信して該サブシステムと前記通信手段を通して該初期公開鍵の鍵共有による暗号化通信を行って前記暗号鍵を該サブシステムに送信する初期通信制御手段と、
前記サブシステムから受け取った前記次期公開鍵の正当性が前記セキュリティチップに確保されると、前記次期公開鍵用不揮発性記憶手段の前記次期公開鍵を該サブシステムに送信して該サブシステムと前記通信手段を通して該次期公開鍵の鍵共有による暗号化通信を行う次期通信制御手段と、
を備えていることを特徴とする複合システム。
【請求項2】
前記サブシステムは、サブシステムモニタを搭載し、前記初期送信制御手段及び前記次期送信制御手段が、該サブシステムモニタのハッシュ値及び解凍後の前記サブプログラムのハッシュ値を前記通信手段を通して前記メインシステムに送信し、
前記メインシステムは、
前記初期公開鍵用不揮発性記憶手段及び前記次期公開鍵用不揮発性記憶手段が、前記初期公開鍵及び前記暗号鍵と前記次期公開鍵を暗号化して記憶し、
前記セキュリティチップは、前記サブシステムから送られてきた前記サブシステムモニタの前記ハッシュ値が正当であることを確認すると、暗号化された前記初期公開鍵を解凍し、また、前記サブプログラムの前記ハッシュ値が正当であることを確認すると、前記暗号鍵と前記次期公開鍵を解凍することを特徴とする請求項1記載の複合システム。
【請求項3】
前記サブシステムは、
前記次期公開鍵用不揮発性記憶手段が、前記サブシステムが搭載し所定順序で実行または利用する前記サブプログラム以外のプログラムまたは/及びデータの一部を暗号化された状態で記憶するとともに、それぞれ該プログラムまたは/及びデータとともに該プログラムまたは/及びデータが解凍された後の前記メインシステムとの間で暗号化通信を行うための暗号化されている次期公開鍵を記憶し、
前記次期通信制御手段が、前記解凍手段が解凍した前記次期公開鍵を使用して前記通信手段を通して前記メインシステムと暗号化通信を行い、
前記メインシステムは、
前記次期公開鍵用不揮発性記憶手段が、前記サブシステムの暗号化されている前記サブプログラム以外のプログラムまたは/及びデータと前記次期公開鍵を解凍するための暗号鍵及び該次期公開鍵と鍵共有によって暗号化通信を行うための次期公開鍵を記憶し、
前記次期通信制御手段が、前記サブシステムから受け取った次期公開鍵の正当性が前記セキュリティチップによって確保されると、前記次期公開鍵用不揮発性記憶手段の前記次期公開鍵を該サブシステムに送信して、該サブシステムと前記通信手段を通して該次期公開鍵の鍵共有による暗号化通信を行うことを特徴とする請求項1から請求項3のいずれかに記載の複合システム。
【請求項4】
前記複合システムは、前記サブシステムの1つが、USBによって離接可能に接続され、該複合システムの動作を指示操作する操作システムであることを特徴とする請求項1から請求項3のいずれかに記載の複合システム。
【請求項5】
メインプログラムで動作するメインシステムとサブプログラムで動作するとともに該メインシステムの制御下で動作する複数のサブシステムが所定の通信手段によって離接可能に接続されている複合システムのセキュリティ方法であって、
前記サブシステムでの処理ステップとして、
起動後最初に前記通信手段を通して前記メインシステムと暗号化通信を行うめの初期公開鍵を記憶する初期公開鍵用不揮発性記憶手段の該初期公開鍵を、前記メインシステムに送信して、該メインシステムと該通信手段を通して該初期公開鍵の鍵共有による暗号化通信を行う初期通信制御処理ステップと、
所定の一部が暗号化されている前記サブプログラム及び前記メインシステムとの間で前記通信手段を通して前記最初の暗号化通信後に暗号化通信するための暗号化されている次期公開鍵を記憶する次期公開鍵用不揮発性記憶手段の暗号化されている該サブプログラム及び該次期公開鍵を前記メインシステムから受け取った暗号鍵を使用して解凍する解凍処理ステップと、
前記解凍処理ステップで解凍された前記次期公開鍵を、前記メインシステムに送信して、該メインシステムと前記通信手段を通して該次期公開鍵の鍵共有による暗号化通信を行う次期通信制御処理ステップと、
を有し、
前記メインシステムでの処理ステップとして、
前記通信手段を通して前記サブシステムと暗号化通信を行うための初期公開鍵を記憶する初期公開鍵用不揮発性記憶手段の該初期公開鍵と前記サブシステムの暗号化されている前記サブプログラム及び前記次期公開鍵を解凍するための前記暗号鍵及び該サブシステムの該次期公開鍵と鍵共有によって暗号化通信を行うための次期公開鍵を記憶する次期公開鍵用不揮発性記憶手段の該暗号鍵及び該次期公開鍵の正当性及び前記通信手段を通して前記サブシステムから受け取る前記初期公開鍵と前記次期公開鍵の正当性を保護するセキュリティ処理ステップと、
前記サブシステムから受け取った前記初期公開鍵の正当性が前記セキュリティ処理ステップで確保されると、前記初期公開鍵用不揮発性記憶手段の前記初期公開鍵を該サブシステムに送信して該サブシステムと前記通信手段を通して該初期公開鍵の鍵共有による暗号化通信を行って前記暗号鍵を該サブシステムに送信する初期通信制御情報処理ステップと、
前記サブシステムから受け取った前記次期公開鍵の正当性が前記セキュリティ処理ステップで確保されると、前記次期公開鍵用不揮発性記憶手段の前記次期公開鍵を該サブシステムに送信して該サブシステムと前記通信手段を通して該次期公開鍵の鍵共有による暗号化通信を行う次期通信制御処理ステップと、
を有していることを特徴とするセキュリティ方法。
【請求項6】
メインプログラムで動作するメインシステムとサブプログラムで動作するとともに該メインシステムの制御下で動作する複数のサブシステムが所定の通信手段によって離接可能に接続されている複合システムの搭載するセキュリティプログラムであって、
コンピュータに、
前記サブシステムでの処理として、
起動後最初に前記通信手段を通して前記メインシステムと暗号化通信を行うめの初期公開鍵を記憶する初期公開鍵用不揮発性記憶手段の該初期公開鍵を、前記メインシステムに送信して、該メインシステムと該通信手段を通して該初期公開鍵の鍵共有による暗号化通信を行う初期通信制御処理と、
所定の一部が暗号化されている前記サブプログラム及び前記メインシステムとの間で前記通信手段を通して前記最初の暗号化通信後に暗号化通信するための暗号化されている次期公開鍵を記憶する次期公開鍵用不揮発性記憶手段の暗号化されている該サブプログラム及び該次期公開鍵を前記メインシステムから受け取った暗号鍵を使用して解凍する解凍処理と、
前記解凍処理で解凍された前記次期公開鍵を、前記メインシステムに送信して、該メインシステムと前記通信手段を通して該次期公開鍵の鍵共有による暗号化通信を行う次期通信制御処理と、
を実行させ、
前記メインシステムでの処理として、
前記通信手段を通して前記サブシステムと暗号化通信を行うための初期公開鍵を記憶する初期公開鍵用不揮発性記憶手段の該初期公開鍵と前記サブシステムの暗号化されている前記サブプログラム及び前記次期公開鍵を解凍するための前記暗号鍵及び該サブシステムの該次期公開鍵と鍵共有によって暗号化通信を行うための次期公開鍵を記憶する次期公開鍵用不揮発性記憶手段の該暗号鍵及び該次期公開鍵の正当性及び前記通信手段を通して前記サブシステムから受け取る前記初期公開鍵と前記次期公開鍵の正当性を保護するセキュリティ処理と、
前記サブシステムから受け取った前記初期公開鍵の正当性が前記セキュリティ処理で確保されると、前記初期公開鍵用不揮発性記憶手段の前記初期公開鍵を該サブシステムに送信して該サブシステムと前記通信手段を通して該初期公開鍵の鍵共有による暗号化通信を行って前記暗号鍵を該サブシステムに送信する初期通信制御情報処理と、
前記サブシステムから受け取った前記次期公開鍵の正当性が前記セキュリティ処理で確保されると、前記次期公開鍵用不揮発性記憶手段の前記次期公開鍵を該サブシステムに送信して該サブシステムと前記通信手段を通して該次期公開鍵の鍵共有による暗号化通信を行う次期通信制御処理と、
を実行させることを特徴とするセキュリティプログラム。
【請求項7】
請求項6記載のセキュリティプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−164810(P2011−164810A)
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願番号】特願2010−24992(P2010−24992)
【出願日】平成22年2月8日(2010.2.8)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】