(57)【特許請求の範囲】
【請求項１】
第一の暗号鍵が第二の暗号鍵によって暗号化されて記録された第一の記憶手段と、
前記第二の暗号鍵が記録されたセキュアデバイスと、
第三の暗号鍵が前記第二の暗号鍵によって暗号化されて記録された第三の記憶手段と、
第四の暗号鍵が前記第二の暗号鍵によって暗号化されて記録された第四の記憶手段と、
保存対象とされた電子データの入力を受け付けるデータ入力手段と、
前記第二の暗号鍵によって前記第一の暗号鍵を復号する第二の復号手段と、
前記電子データを、復号された前記第一の暗号鍵によって復号する第一の復号手段と、
復号された前記電子データを、前記第三の暗号鍵及び前記第四の暗号鍵によって暗号化して第二の記憶手段に保存する保存手段とを有することを特徴とするデータ管理装置。
【請求項２】
当該データ管理装置のユーザによる前記第四の暗号鍵の入力に応じ、前記セキュアデバイスに記録されている前記第二の暗号鍵を用いて前記第四の暗号鍵を暗号化して前記第四の記憶手段に記録する設定手段を有することを特徴とする請求項１記載のデータ管理装置。
【請求項３】
前記第三の暗号鍵は、当該データ管理装置のメーカーによって設定されることを特徴とする請求項２記載のデータ管理装置。
【請求項４】
第一の暗号鍵が記録された第一の記憶手段を備えたデータ管理装置が実行するデータ管理方法であって、
前記第一の暗号鍵は、当該データ管理装置が備えるセキュアデバイスに記録された第二の暗号鍵によって暗号化されて前記第一の記憶手段に記録されており、
保存対象とされた電子データの入力を受け付けるデータ入力手順と、
前記第二の暗号鍵によって前記第一の暗号鍵を復号する第二の復号手順と、
前記電子データを、復号された前記第一の暗号鍵によって復号する第一の復号手順と、
復号された前記電子データを、前記第二の暗号鍵によって暗号化されて第三の記憶手段に記憶された前記第三の暗号鍵、及び前記第二の暗号鍵によって暗号化されて第四の記憶手段に記憶された前記第四の暗号鍵によって暗号化して第二の記憶手段に保存する保存手順とを有することを特徴とするデータ管理方法。
【請求項５】
当該データ管理装置のユーザによる前記第四の暗号鍵の入力に応じ、前記セキュアデバイスに記録されている前記第二の暗号鍵を用いて前記第四の暗号鍵を暗号化して前記第四の記憶手段に記録する設定手順を有することを特徴とする請求項４記載のデータ管理方法。
【請求項６】
前記第三の暗号鍵は、当該データ管理装置のメーカーによって設定されることを特徴とする請求項５記載のデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理装置及びデータ管理方法に関する。
【背景技術】
【０００２】
近年では、その出荷後にプログラムを追加インストール可能な画像形成装置が提供されている。また、このようなプログラムについても、例えば、画像形成装置のメーカーが運営するＷｅｂサイト等よりネットワークを介してダウンロードが可能とされている。
【０００３】
ネットワークを介してプログラムの流通を可能とすることにより、画像形成装置のユーザは、簡便にプログラムを入手し、当該画像形成装置の機能強化を行うことができる。
【特許文献１】特開２００５−２７５６９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、プログラムの入手者が善意のユーザばかりであるとは限らない。例えば、入手したプログラムを解読し、海賊版の作成等を試みる者が存在するかもしれない。特に、近年、画像形成装置においてもＪａｖａ（登録商標）によるプログラムが実行可能とされているが、Ｊａｖａ（登録商標）の中間コードの解読は他の言語によるプログラムに比べて非常に容易であり、解読を支援するツールも出回っているという実情がある。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、電子データが解読される可能性を低減させることのできるデータ管理装置及びデータ管理方法の提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、第一の暗号鍵が第二の暗号鍵によって暗号化されて記録された第一の記憶手段と、前記第二の暗号鍵が記録されたセキュアデバイスと、第三の暗号鍵が前記第二の暗号鍵によって暗号化されて記録された第三の記憶手段と、第四の暗号鍵が前記第二の暗号鍵によって暗号化されて記録された第四の記憶手段と、保存対象とされた電子データの入力を受け付けるデータ入力手段と、前記第二の暗号鍵によって前記第一の暗号鍵を復号する第二の復号手段と、前記電子データを、復号された前記第一の暗号鍵によって復号する第一の復号手段と、復号された前記電子データを、前記第三の暗号鍵及び前記第四の暗号鍵によって暗号化して第二の記憶手段に保存する保存手段とを有することを特徴とする。
【０００７】
このようなデータ管理装置では、電子データが解読される可能性を低減させることができる。
【発明の効果】
【０００８】
本発明によれば、電子データが解読される可能性を低減させることのできるデータ管理装置及びデータ管理方法を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるシステム構成例を示す図である。同図において、配布サーバ１０と一台以上の機器２０とはインターネット又はＬＡＮ（Local Area Network）等のネットワーク３０によって接続されている。
【００１０】
配布サーバ１０は、プログラム１１を管理し、機器２０からのダウンロード要求に応じてプログラム１１の配布を実行するコンピュータである。配布サーバ１０において、プログラム１１は、暗号鍵Ｂによって暗号化されている。したがって、ダウンロード時において、プログラム１１は暗号化された状態でネットワーク上を流通する。なお、図中においてプログラム１１は一つのブロックとして記載されているが、実現する機能の別（アプリケーションの種別）に応じて複数存在し得る。
【００１１】
機器２０は、コピー機能、印刷機能、スキャナ機能、及びＦＡＸ機能等を一台の筐体において実現する、一般的に複合機又は融合機と呼ばれる画像形成装置である。機器２０は、配布サーバ１０よりダウンロードされるプログラム１１を追加的にインストールし、機能強化等を図ることが可能である。なお、本発明の適用にあたり、機器２０は、必ずしも複合機でなくてもよい。例えば、コピー機、プリンタ、スキャナ、又はファクシミリ等の画像形成装置であってもよい。
【００１２】
図２は、本発明の実施の形態における機器のハードウェア構成例を示す図である。同図において、機器２０は、それぞれバスＢによって接続された、ＲＯＭ２１、ＲＡＭ２２、ＣＰＵ２３、ＴＰＭ（Trusted Platform Module）２４、フラッシュメモリ２５、ＨＤＤ（Hard Disk Drive）２６、操作パネル２７、スキャナ２８、及びプリンタ２９等を備える。
【００１３】
ＲＯＭ２１には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ２２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ２３は、ＲＡＭ２２にロードされたプログラムを処理することにより、後述される機能を実現する。ＴＰＭ２４は、セキュアデバイスの一例であり、セキュリティチップとも呼ばれる。ＴＰＭ２４は、各機器２０に対して固有のものであり、機器２０より取り外されてしまうと機器２０の起動はできなくなる。また、ＴＰＭ２４を取り外して他の機器２０又はコンピュータによってＴＰＭ２４の内容を読み込むことはできない。本実施の形態において、ＴＰＭ２４は、暗号鍵Ａを生成し格納する。暗号鍵Ａは、フラッシュメモリ２５に記録される各暗号鍵を暗号化するために用いられる。なお、暗号鍵Ａは、機器２０ごとに固有のＴＰＭ２４によって生成されるため、機器２０ごとに異なるものとなる。
【００１４】
フラッシュメモリ２５は、書き換え可能な不揮発性のメモリ（ＲＯＭ）である。本実施の形態では、暗号鍵Ｂ、暗号鍵Ｃ、及び暗号鍵Ｄを格納するための記憶手段として用いられる。暗号鍵Ｂは、図１における暗号鍵Ｂと同一の暗号鍵である。したがって、暗号鍵Ｂは、配布サーバ１０よりダウンロードされるプログラム１１の復号に用いられる。暗号鍵Ｃ及びＤは、ＨＤＤ２６を丸ごと暗号化するために用いられる。なお、暗号鍵Ｂ、Ｃ、及びＤは、暗号鍵Ａによって暗号化された状態でフラッシュメモリ２５に格納されている。フラッシュメモリ２５全体が暗号鍵Ａによって暗号化されていてもよい。
【００１５】
ＨＤＤ２６は、保存されるデータを自動的に暗号化し、読み出されるデータを自動的に復号する機能を有するＨＤＤである。本実施の形態において、ＨＤＤ２６は、ダウンロードされたプログラム１１を保存するための記憶手段として用いられる。また、ＨＤＤ２６は、機器２０においてスキャンされた画像データや、ユーザ情報、又はアドレス帳情報等を格納するための記憶領域としても用いられる。なお、ＨＤＤ２６の代わりにＮＶＲＡＭ（Non-volatile RAM）等を用いても良い。
【００１６】
操作パネル２７は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。スキャナ２８は、原稿より画像データを読み取るためのハードウェアである。プリンタは２８、画像データを印刷用紙に印刷するためのハードウェアである。
【００１７】
図３は、本発明の実施の形態における機器の機能構成例を示す図である。同図において、機器２０は、初期化部２１０、ユーザ鍵設定部２２０、及びインストール部２３０等を備える。同図における各部は、プログラムがＣＰＵ２３に実行させる処理によって実現される。初期化部２１０は、機器２０が工場より出荷される前に実行される初期化処理を制御する。初期化処理により、暗号鍵Ａ、Ｂ、及びＣが機器２０に格納される。ユーザ鍵設定部２２０は、機器２０の出荷後に、ユーザに暗号鍵Ｄを設定させるための処理を制御する。すなわち、暗号鍵Ｄは、ユーザによって設定されるものであり、機器２０のメーカーに対しては秘匿される。インストール部２３０は、ダウンロード部２３１、暗号鍵復号部２３２、プログラム復号部２３３、及び保存部２３４等より構成され、プログラム１１のインストール処理を制御する。
【００１８】
ダウンロード部２３１は、プログラム１１を配布サーバ１０よりダウンロード（受信）することにより、インストール（保存）阿智省とされたプログラム１１の入力を受け付ける。暗号鍵復号部２３２は、ＴＰＭ２４に格納されている暗号鍵Ａによって、フラッシュメモリ２５に格納されている暗号鍵Ｂを復号する。プログラム復号部２３３は、暗号鍵復号部２３２によって復号された暗号鍵Ｂによってプログラム１１を復号する。保存部２３４は、復号されたプログラム１１をＨＤＤ２６に記録（保存）する。この際、保存部２３４は、暗号鍵Ｃ及びＤによってプログラム１１を暗号化させる。
【００１９】
以下、機器２０の処理手順について説明する。図４は、機器の出荷前に実行される処理手順を説明するためのシーケンス図である。
【００２０】
機器２０の工場出荷前において初期化指示が入力されると、初期化部２１０は、ＴＰＭ２４に対して暗号鍵Ａの初期化命令を行う（Ｓ１０１）。ＴＰＭ２４は、ランダムに暗号鍵Ａを生成し、生成された暗号鍵ＡをＴＰＭ２４内に記録（格納）すると共に初期化部２１０に対して出力する（Ｓ１０２）。
【００２１】
続いて、暗号鍵Ｂ及びＣが入力されると、初期化部２１０は、暗号鍵Ｂ及びＣをフラッシュメモリ２５に保存する（Ｓ１０３）。続いて、初期化部２１０は、フラッシュメモリ２５全体、又はフラッシュメモリ２５に保存された暗号鍵Ｂ及びＣを暗号鍵Ａを用いて暗号化する（Ｓ１０４）。続いて、初期化部２１０は、ＨＤＤ２６を暗号鍵Ｃによって暗号化する（Ｓ１０５）。続いて、初期化部２１０は、出荷時においてインストールされるプログラム（初期プログラム）をＨＤＤ２１０に保存する（Ｓ１０６）。ここで、ＨＤＤ２６は、暗号鍵Ｃによって暗号化されている。したがって、初期プログラムは、ＨＤＤ２６に保存される際に、自動的に暗号鍵Ｃによって暗号化される。
【００２２】
上述した処理より明らかなように、機器２０には、工場出荷時において暗号鍵Ａ、Ｂ、及びＣがＴＰＭ２４又はフラッシュメモリ２５に記録されている。また、暗号鍵Ｂ及びＣは、工場出荷時において暗号鍵Ａによって暗号化されている。
【００２３】
出荷された機器２０がユーザのオフィス等に設置されると、ユーザによって暗号鍵Ｄが設定される。図５は、暗号鍵Ｄの設定時の処理手順を説明するためのシーケンス図である。
【００２４】
例えば、操作パネル２７を介して暗号鍵Ｄがユーザによって入力されると（Ｓ２０１）、ユーザ鍵設定部２２０は、ＴＰＭ２４より暗号鍵Ａを取得する（Ｓ２０２、Ｓ２０３）。続いて、ユーザ鍵設定部２２０は、入力された暗号鍵Ｄをフラッシュメモリ２５に保存する（Ｓ２０４）。続いて、ユーザ鍵設定部２２０は、フラッシュメモリ２５全体、又はフラッシュメモリ２５に保存された暗号鍵Ｄを暗号鍵Ａを用いて暗号化する（Ｓ２０５）。続いて、ユーザ鍵設定部２２０は、フラッシュメモリ２５より暗号鍵Ｃを取得し、取得された暗号鍵Ｃを暗号鍵Ａを用いて復号する（Ｓ２０６）。続いて、ユーザ鍵設定部２２０は、復号された暗号鍵Ｃと、ユーザによって入力された暗号鍵Ｄとを用いてＨＤＤ２６を暗号化する（Ｓ２０７）。これにより、以降においてＨＤＤ２６に保存される電子データは自動的に暗号鍵Ｃ及びＤによって暗号化される。
【００２５】
続いて、暗号鍵Ｄの設定後に、プログラム１１が機器２０にインストールされる際の処理手順について説明する。図６は、プログラムインストール時の第一の処理手順を説明するためのシーケンス図である。
【００２６】
例えば、操作パネル２７等を介してプログラム１１のインストール指示が入力されると、インストール部２３０のダウンロード部２３１は、指定されたプログラム１１を配布サーバ１０よりダウンロードする（Ｓ３０１、Ｓ３０２）。なお、プログラム１１は、暗号鍵Ｂによって暗号化された状態でダウンロードされる。続いて、インストール部２３０の暗号鍵復号部２３２は、ＴＰＭ２４より暗号鍵Ａを取得し（Ｓ３０３、Ｓ３０４）、フラッシュメモリ２５より暗号鍵Ｂを取得する（Ｓ３０５、Ｓ３０６）。続いて、暗号鍵復号部２３２は、暗号鍵Ａを用いて暗号鍵Ｂを復号する（Ｓ３０７）。
【００２７】
続いて、インストール部２３０のプログラム復号部２３３は、復号された暗号鍵Ｂを用いてプログラム１１を復号する（Ｓ３０８）。なお、プログラム１１が、例えばｚｉｐ形式等によって圧縮されている場合、又は書庫ファイル化されている場合、プログラム復号部２３３は、復号後にプログラム１１を伸張又は展開する。続いて、インストール部２３０の保存部２３４は、復号されたプログラム１１をＨＤＤ２６に保存する（Ｓ３０９）。ここで、ＨＤＤ２６は、暗号鍵Ｃ及びＤによって暗号化されているため、プログラム１１は自動的に暗号鍵Ｃ及びＤによって暗号化されて保存される。
【００２８】
上述したように、本実施の形態によれば、インストール対象とされるプログラム１１は暗号化されて流通する。したがって、流通過程において解読される可能性を低減させることができる。特に、Ｊａｖａ（登録商標）の中間コード（ＪＡＲファイル等）は、解読が容易であり、このようなプログラムに対しては、より効果的にソースコードを保護することができる。また、機器２０は、出荷前に予め格納された暗号鍵Ｂによって、インストール対象とされるプログラム１１を復号する。したがって、暗号鍵Ｂは流通させる必要がなく、暗号鍵Ｂが盗まれる可能性を低減させることができる。
【００２９】
また、暗号鍵Ｂは、セキュアデバイスに格納された暗号鍵Ａによって暗号化された状態でフラッシュメモリ２５に記録される。したがって、フラッシュメモリ２５が取り出されたとしても、暗号鍵Ｂが解読される可能性を低減させることができる。
【００３０】
また、ＨＤＤ２６に保存されるプログラム１１は、暗号鍵Ｃ及びＤによって暗号化される。したがって、ＨＤＤ２６が取り出されたとしても、暗号鍵Ｃ及びＤが入手されない限り、ＨＤＤ２６内に保存されたプログラム１１が解読される可能性を低減させることができる。ここで、暗号鍵Ｃ及びＤは、セキュアデバイスに格納された暗号鍵Ａによって暗号化された状態でフラッシュメモリ２５に記録される。したがって、フラッシュメモリ２５が取り出されたとしても、暗号鍵Ｃ又はＤが解読される可能性を低減させることができる。
【００３１】
また、ＨＤＤ２６には、プログラムの開発者側の資産であるプログラム１１と、機器２０のユーザの資産である、スキャンされて蓄積された画像データや、ユーザ情報、又はアドレス帳情報等が混在して保存される。プログラムの開発者及びユーザのいずれについても、他方によって自己に資産が解読されてしまうのは好ましくない。そこで、本実施の形態では、機器２０のメーカーによって設定される暗号鍵Ｃと、ユーザによって設定される暗号鍵Ｄとの双方によって、ＨＤＤ２６が暗号化されるように構成されている。これにより、ＨＤＤ２６が取り出されたとしても暗号鍵Ｃ及びＤの双方が揃わない限り、ＨＤＤ２６の内容を解読することはできない。すなわち、暗号鍵Ｃを知っている機器２０のメーカーが仮にユーザの資産を参照しようとしても、暗号鍵Ｄを入手できない限りユーザの資産を参照することはできない。また、暗号鍵Ｄを知っているユーザが仮にプログラム１１を解読しようとしても、暗号鍵Ｃを入手できない限りプログラム１１を解読することはできない。
【００３２】
なお、本実施の形態では、ＨＤＤ２６は、自動的にその全体を暗号化する機能を有するものを用いた例を説明したが、斯かる機能を有さないＨＤＤを用いても良い。この場合、保存する処理を実行する主体（保存部２３４）が、暗号鍵Ｃ及びＤを入手し、双方の暗号鍵を暗号鍵Ａで復号した後、復号された暗号鍵Ｃ及びＤによってプログラム１１や画像データ等を暗号化し、ＨＤＤ２６に保存すればよい。
【００３３】
また、プログラム１１は、必ずしもネットワークを介してダウンロードされなくてもよい。例えば、暗号鍵Ｂによって暗号化されたプログラム１１が記録されたＳＤカードやＣＤ−ＲＯＭ等を介してプログラム１１のインストールを行っても良い。
【００３４】
また、本実施の形態では、保護対象をプログラム１１として説明したが、本発明は、電子データ全般の保護に対して有効である。すなわち、プログラム１１を任意の電子データに置き換えて本実施の形態を実現してもよい。
【００３５】
また、暗号鍵Ｂ、Ｃ、及びＤは、本実施の形態のように同一の記憶媒体に記録されてもよいし、それぞれ異なる記録媒体に記録されてもよい。
【００３６】
また、セキュアデバイスは、ＴＰＭに限られない。機器２０に取り付けられた状態でのみ正常に機能するもの、又は、取り外されたとしても格納している情報の読み出しが困難なものであれば他のデバイスによって代替されてもよい。
【００３７】
ところで、図６の例では、無条件にプログラム１１を暗号化してＨＤＤ２６に保存する例について説明したが、必ずしもセキュリティを確保する必要のないプログラム１１も存在する可能性は有る。そこで、斯かる事情を考慮した処理手順について説明する。
【００３８】
図７は、プログラムインストール時の第二の処理手順を説明するためのシーケンス図である。図７中、図６と同一ステップは同一符号を付し、その説明は適宜省略する。同図では、機器２０にＨＤＤ２６が少なくとも二つ備えられていることとする。ＨＤＤ２６ａは、暗号化機能を有するものであり、上記におけるＨＤＤ２６と同様である。暗号化２６ｂは、暗号化機能を備えていないものである。
【００３９】
この場合、保存部２３４は、セキュリティの確保が必要なプログラム１１については、ＨＤＤ２６ａに保存する（Ｓ３０９）。一方、セキュリティの確保が必要ないプログラム１１については、ＨＤＤ２６ｂに保存する（Ｓ３１０）。ＨＤＤ２６ｂに保存されたプログラム１１は、利用時に復号する必要がないため、相対的に高速に起動等を行うことができる。なお、セキュリティの確保の要否は、プログラムのインストール指示の入力時に、プログラム１１ごとにユーザに設定させてもよいし、予めプログラム１１に添付されたデータ（電子証明等）に基づいて判断してもよい。
【００４０】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施の形態におけるシステム構成例を示す図である。
【図２】本発明の実施の形態における機器のハードウェア構成例を示す図である。
【図３】本発明の実施の形態における機器の機能構成例を示す図である。
【図４】機器の出荷前に実行される処理手順を説明するためのシーケンス図である。
【図５】暗号鍵Ｄの設定時の処理手順を説明するためのシーケンス図である。
【図６】プログラムインストール時の第一の処理手順を説明するためのシーケンス図である。
【図７】プログラムインストール時の第二の処理手順を説明するためのシーケンス図である。
【符号の説明】
【００４２】
１０        配布サーバ
２０        機器
２１        ＲＯＭ
２２        ＲＡＭ
２３        ＣＰＵ
２４        ＴＰＭ
２５        フラッシュメモリ
２６        ＨＤＤ
２７        操作パネル
２８        スキャナ
２９        プリンタ
３０        ネットワーク
２１０      初期化部
２２０      ユーザ鍵設定部
２３０      インストール部
２３１      ダウンロード部
２３２      暗号鍵復号部
２３３      プログラム復号部
２３４      保存部
Ｂ            バス
【図１】
0005078580.tif 000002
【図２】
0005078580.tif 000003
【図３】
0005078580.tif 000004
【図４】
0005078580.tif 000005
【図５】
0005078580.tif 000006
【図６】
0005078580.tif 000007
【図７】
0005078580.tif 000008