以下に図面を参照して実施形態について説明する。図1は、本実施形態のシステム構成の一例を示す図である。
本実施形態の情報処理装置100は、一般的な記憶媒体をドングル200とするためのドングル生成処理部110を有する。ドングル生成処理部110は、後述するライセンス情報を暗号化した暗号化ライセンス情報を生成し、記憶媒体に暗号化情報を書き込むことで、記憶媒体をドングル200とする。
本実施形態のドングル200は、情報処理装置100及び画像形成装置300に接続可能なデバイス(記憶媒体)である。具体的には、例えば一般的なUSB(Universal Serial Bus)メモリ等である。本実施形態のドングル200は、情報処理装置100により暗号化ライセンス情報が書き込まれることで、画像形成装置300のライセンス情報を管理するために必要なドングルとなる。
本実施形態のライセンス情報とは、画像形成装置300における所定の機能が使用可能であることを示す情報である。本実施形態の画像形成装置300は、ライセンス情報を読み取ることで、ライセンス情報において指定された所定の機能が使用可能な状態となる。
本実施形態の画像形成装置300は、管理処理部310を有し、管理処理部310により、ドングル200に書き込まれた暗号化ライセンス情報からライセンス情報を解釈することで、自機(画像形成装置300)の動作を決定する。
次に、図2を参照して本実施形態の情報処理装置100のハードウェア構成について説明する。図2は、情報処理装置のハードウェア構成の一例について説明する図である。
本実施形態の情報処理装置100は、入力装置11、出力装置12、演算処理装置13、外部記憶装置I/F(インターフェース)14、内部記憶装置15、ドライバ装置16、インターフェース装置17を有する。
入力装置11は、各種の情報を入力するためのものであり、例えばドングル生成処理部110の処理を実行させる操作等に利用される。出力装置12は、各種の情報を出力するために用いられる。出力装置12は、具体的には、例えばディスプレイ等である。
演算処理装置13は、内部記憶装置15等に格納された各種のプログラムを実行し、情報処理装置100全体を制御する。尚、本実施形態のドングル生成処理部110を実現するドングル生成プログラムは、内部記憶装置15に格納された各種プログラムの一部である。
外部記憶装置I/F14は、ドングル200を着脱可能に接続する。内部記憶装置15は、ドングル生成処理部110の処理に必要な各種データを格納している。また、内部記憶装置15は、ドングル生成プログラムを含む各種のプログラムを格納している。
ドライバ装置16は、例えば記録媒体18等に格納されたプログラムを読み込んで、内部記憶装置15へ格納する。インターフェース装置17は、モデム、LANカード等を含み、ネットワークに接続する為に用いられる。
本実施形態のドングル生成プログラムは、ドングル生成プログラムを記録した記録媒体18がドライバ装置16にセットされると、記録媒体18からドライバ装置16を介して内部記憶装置15にインストールされる。また、ネットワークからダウンロードされたドングル生成プログラムは、インターフェース装置17を介して内部記憶装置15にインストールされる。
次に、図3を参照して、本実施形態の画像形成装置300のハードウェア構成について説明する。図3は、画像形成装置のハードウェア構成を説明する図である。
画像形成装置300は、CPU(Central Processing Unit)31と、ASIC(Application Specific Integrated Circuit)32と、システムメモリ装置33としてROM34とRAM35とを有しており、情報処理装置の1つである。また、画像形成装置300は、インターフェース装置36として、SDメモリカードスロット37と、USBインターフェース38と、ネットワークインターフェース39を有する。さらに、画像形成装置300は、記憶装置40と、操作表示装置41と、エンジン装置42と、スキャナ装置43と、を有している。
CPU31は、RAM35の所定領域を作業領域として、後述するROM34または記憶装置40に予め記憶された各種プログラムとの共同により各種処理を実行し、画像形成装置300全体の動作を統括的に制御する。尚、各種プログラムには、後述する管理処理部310の機能を実現する管理プログラムも含まれる。
ASIC32は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、CPU31と装置を夫々接続するブリッジとしての機能を有する。
システムメモリ装置33は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いるシステムメモリであり、ROM34やRAM35等から構成される。ここで、ROM34は、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM35は、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いる書き込み及び読み出し可能な揮発性のメモリである。
インターフェース装置36は、画像形成装置300と外部デバイスを着脱可能に接続したり、画像形成装置300と外部デバイスを、ネットワークを介して接続したりするためのインターフェースである。具体的に、インターフェース装置36は、外部記憶装置であるSDカード(登録商標)が挿入されるSDメモリカードスロット37と、同じく外部記憶装置であるUSBフラッシュメモリが挿入されるUSBインターフェース38と、ネットワークに接続するためのネットワークインターフェース39とを備える。
尚、本実施形態では、インターフェース装置36は、SDカードメモリ、USBフラッシュメモリ、ネットワークと接続するためのインターフェースを備えることとしたが、これに限定するものではない。
記憶装置40は、磁気的、電気的、または光学的に記録可能な記憶媒体を有し、画像形成装置300の制御にかかるプログラムや各種設定情報等を書き換え可能に記憶する。また、記憶装置40は、スキャナ装置43やインターフェース装置36を介して入力されるデータ等を記憶する。
操作表示装置41は、画像形成装置300とユーザとのインターフェースを行う部分であって、LCD(液晶表示装置)等の表示デバイスと、キースイッチ等の入力デバイスとから構成される。操作表示装置41は、CPU31の制御のもと、装置の各種状態や操作方法をLCDに表示するとともに、ユーザからのタッチパネルやキースイッチ群を介した入力を検出し、CPU31に出力する。
エンジン装置42は、プリンタエンジンなどであり、例えば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、ファックスユニットなどである。尚、このエンジン装置42には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
スキャナ装置43は、CCD光電変換素子からなるラインセンサとA/Dコンバータとそれらの駆動回路等を具備し、セットされた原稿をスキャンすることで得る原稿の濃淡情報から、RGB各8ビットのデジタル画像データを生成し、CPU31に出力する。
尚、本実施形態の画像形成装置300は、例えば、操作表示装置41と、エンジン装置42とスキャナ装置43と、操作表示装置41と、エンジン装置42とスキャナ装置43以外の装置を含む情報処理装置3と、が接続されて構成されていても良い。
次に、図4を参照し、本実施形態の情報処理装置100の機能について説明する。図4は、情報処理装置の機能構成を説明する図である。
本実施形態の情報処理装置100は、ドングル生成処理部110を有する。本実施形態のドングル生成処理部110は、演算処理装置13がドングル生成プログラムを実行することで実現される。
本実施形態のドングル生成処理部110は、第一固有情報取得部111、第一固有情報暗号化部112、共通キー暗号化部113、書込み部114、ドングル生成用データ記憶部115を有する。
第一固有情報取得部111は、情報処理装置100に、ドングル200となる記憶媒体が接続されると、接続された記憶媒体に内蔵された、この記憶媒体を一意に識別することができる固有情報を取得する。本実施形態の以下の説明では、記憶媒体(ドングル)を一意に識別するドングル固有情報を、第一固有情報と呼ぶ。
第一固有情報暗号化部112は、第一固有情報をキーとして、与えられた情報を暗号化する。
共通キー暗号化部113は、画像形成装置300と情報処理装置100とが共通に持つ共通キーで、与えられた情報を暗号化する。尚、本実施形態の共通キーは、予め管理者等により、情報処理装置100と画像形成装置300の両方に与えられている。
書込み部114は、指定された情報をドングル200となる記憶媒体に書き込む。具体的には、書込み部114は、暗号化したライセンス情報を示す暗号化ライセンス情報をドングル200となる記憶媒体へ書き込む。
ドングル生成用データ記憶部115は、例えば内部記憶装置15の所定の記憶領域等に、記憶媒体をドングル200とするための処理に用いるデータを格納しておく。本実施形態のドングル生成用データは、管理者等により、予め情報処理装置100へ与えられているものである。
以下に、図5を参照して、ドングル生成用データについて説明する。図5は、ドングル生成用データの一例を示す図である。
本実施形態のドングル生成用データ116は、情報の項目として、ライセンス情報、共通キー、第一固有情報(ドングル固有情報)を有する。
項目「ライセンス情報」の値は、画像形成装置300の所定の機能が使用可能であることを示す情報である。項目「ライセンス情報」の値は、例えばユーザにより設定されても良いし、予め情報処理装置100に与えられていても良い。図5の例では、項目「ライセンス情報」の値として、「機能A」が格納されている。
項目「共通キー」の値は、予め与えられた値であり、情報処理装置100と、画像形成装置300とで共通したキーである。図5の例では、項目「共通キー」の値として、「key123」が格納されている。本実施形態の共通キーの値は、共通キー暗号化部113における暗号化に用いられる。
項目「第一固有情報」の値は、第一固有情報取得部111によってドングル200から取得された値である。より詳細には、項目「第一固有情報」の値は、第一固有情報取得部111によって、ドングル200となる前の記憶媒体から取得された値である。本実施形態の第一固有情報とは、例えば記憶媒体がUSBメモリである場合には、USBメモリのシリアル番号等である。図5の例では、項目「第一固有情報」の値として、「dongle789」が格納されている。第一固有情報は、第一固有情報暗号化部112における暗号化に用いられる。
以下の説明では、項目「ライセンス情報」の値を単にライセンス情報と呼び、項目「共通キー」の値を単に共通キーと呼び、項目「第一固有情報」の値を単に第一固有情報と呼ぶ。
次に、図6を参照して、本実施形態の画像形成装置300の機能構成について説明する。図6は、画像形成装置の機能構成を説明する図である。
本実施形態の画像形成装置300は、管理処理部310を有する。管理処理部310は、CPU31が管理プログラムを実行することで実現される。
本実施形態の管理処理部310は、ドングル検知部311、第一固有情報取得部312、第二固有情報取得部313、第一固有情報復号化部314、共通キー復号化部315、第二固有情報復号化部316を有する。また、管理処理部310は、ライセンス情報判定部317、ライセンス情報比較部318、ライセンス情報設定部319、データ取得部320、エラー情報通知部321、第一固有情報暗号化部322、共通キー暗号化部323を有する。
さらに、管理処理部310は、第二固有情報暗号化部324、書込み部325、起動部326、設定有無判定部327、管理用データ記憶部328を有する。
ドングル検知部311は、画像形成装置300にドングル200が接続されたことを検知する。
第一固有情報取得部312は、接続されているドングル200から、ドングル200に内蔵された、ドングル200を一意に識別することができる第一固有情報を取得する。
第二固有情報取得部313は、画像形成装置300を一意に識別することができる、画像形成装置300が内蔵している画像形成装置300の固有情報を取得する。本実施形態の以下の説明では、画像形成装置300の固有情報を、第二固有情報と呼ぶ。
第一固有情報復号化部314は、第一固有情報取得部312により取得した第一固有情報をキーとして、与えられた情報を復号化する。
共通キー復号化部315は、予め定められた、情報処理装置100と画像形成装置300において共通の共通キーを用いて、与えられた情報を復号化する。
第二固有情報復号化部316は、第二固有情報取得部313により取得された画像形成装置300の固有情報である第二固有情報をキーとして、与えられた情報を復号化する。
ライセンス情報判定部317は、復号化された情報が、ライセンス情報であるか否かを判断する。本実施形態では、ライセンス情報判定部317の判定結果に応じて、画像形成装置300とドングル200とが対応付けられているか否かが判定される。ライセンス情報判定部317による判定の詳細は後述する。
ライセンス情報比較部318は、復号化されたライセンス情報が、画像形成装置300に既に設定されているライセンス情報と一致するかどうかを比較する。
ライセンス情報設定部319は、復号化されたライセンス情報を画像形成装置300に設定する。
データ取得部320は、ドングル200から、ドングル200に格納された暗号化ライセンス情報を取得する。
エラー情報通知部321は、管理処理部310がエラーを検知した際に、そのエラーを画像形成装置300へ通知する。
第一固有情報暗号化部322は、第一固有情報取得部312により取得された第一固有情報をキーとして、与えられた情報を暗号化する。
共通キー暗号化部323は、情報処理装置100と画像形成装置300において共通の共通キーを用いて、与えられた情報を暗号化する。
第二固有情報暗号化部324は、第二固有情報取得部313により取得された第二固有情報をキーとして、与えられた情報を暗号化する。書込み部325は、暗号化ライセンス情報をドングル200に書き込む。
起動部326は、管理処理部310の処理が終了した後に、画像形成装置300を起動させる。
設定有無判定部327は、画像形成装置300にライセンス情報が設定されているか否かを判断する。
管理用データ記憶部328は、例えばシステムメモリ33の所定の記憶領域等に、管理処理部310の処理に用いる管理用データを格納する。
以下に、図7を参照し、実施形態の管理用データについて説明する。図7は、管理用データの一例を示す図である。
本実施形態の管理用データは、情報の項目として、第二固有情報、第一固有情報、暗号化ライセンス情報、ライセンス情報、共通キーを有する。
項目「第二固有情報」の値は、画像形成装置300を一意に識別することができる画像形成装置300が内蔵する固有情報である。
本実施形態の項目「第二固有情報」の値は、例えば画像形成装置300の有するエンジン装置42に内蔵されている、エンジン装置42を一意に特定するエンジン装置42の固有情報であっても良い。例えば画像形成装置300が、情報処理装置3を有する場合には、情報処理装置は、情報処理装置3の後段に接続されたエンジン装置42固有情報を第二固有情報とする。尚、第二固有情報は、例えばスキャナ装置43固有の情報であって良い。さらに、第二固有情報は、例えばスキャナ装置43固有の情報と、エンジン装置42固有の情報の両方を含んでいても良い。
項目「第二固有情報」の値は、第二固有情報復号化部316により復号化のキーとして、また、第二固有情報暗号化部324により暗号化のキーとして、それぞれ用いられる。図7の例では、項目「第二固有情報」の値として、「mfp456」が格納されている。
項目「第一固有情報」の値は、ドングル200となる記憶媒体を一意に識別することができる情報である。第一固有情報は、第一固有情報復号化部314により復号化のキーとして、また、第一固有情報暗号化部322により暗号化のキーとして、それぞれ用いられる。
項目「暗号化ライセンス情報」の値は、データ取得部320により画像形成装置300の起動時にドングル200から取得するデータである。
本実施形態では、画像形成装置300の初回起動時にドングル200から取得する暗号化ライセンス情報と、画像形成装置300の2回目以降の起動時にドングル200から取得する暗号化ライセンス情報と、が異なる。
以下の説明では、初回起動時にドングル200から取得する暗号化ライセンス情報を第一の暗号化ライセンス情報と呼ぶ。また、2回目以降の起動時にドングル200から取得する暗号化ライセンス情報を第二の暗号化ライセンス情報と呼ぶ。第一及び第二の暗号化ライセンス情報の詳細は後述する。
第一の暗号化ライセンス情報は、情報処理装置100がライセンス情報を暗号化し、ドングル200に書き込んだものである。また、第二の暗号化ライセンス情報は、画像形成装置300がライセンス情報を暗号化し、ドングル200に書き込んだものである。
画像形成装置300は、第一又は第二の暗号化ライセンス情報を復号化することでライセンス情報を取得する。また、本実施形態の画像形成装置300は、第一又は第二の暗号化ライセンス情報を復号化する過程で、第一又は第二の暗号化ライセンス情報を一時的に保持する。
つまり、項目「暗号化ライセンス情報」の値は、一時的に保持された第一又は第二の暗号化ライセンス情報であり、図7の例では、「0123456789」が保持されているものとした。項目「暗号化ライセンス情報」の値は、後述する画像形成装置300の復号化の処理を適用することで、ライセンス情報に復号される。
項目「ライセンス情報」の値は、画像形成装置300における所定の機能を使用可能にするための情報であり、情報処理装置100により暗号化されてドングル200に書き込まれる情報である。
本実施形態の項目「ライセンス情報」の値は、例えば画像形成装置300の特有の機能を示す情報であっても良い。画像形成装置300の特有の機能とは、例えば特定のページ記述言語が使用可能となる機能や、印刷の際に、複数のページを集約して印刷する集約機能等である。
画像形成装置300は、ドングル200からデータの取得や復号化を経て取得したライセンス情報を、画像形成装置300に設定し、画像形成装置300の動作を決定する。
項目「共通キー」の値は、図5で説明した共通キーと同様であるから説明を省略する。
尚、以下の実施形態の説明では、項目「第二固有情報」の値を単に第二固有情報と呼び、項目「暗号化ライセンス情報」の値を単に暗号化ライセンス情報と呼び、項目「ライセンス情報」の値を単にライセンス情報と呼ぶ。
次に、図8を参照して、情報処理装置100のドングル生成処理部110の処理について説明する。図8は、情報処理装置のドングル生成処理部の処理を説明するフローチャートである。
本実施形態のドングル生成処理部110は、情報処理装置100の外部記憶装置I/F14に記憶媒体が接続されると、共通キー暗号化部113により、ドングル生成用データ116を参照し、ライセンス情報を共通キーで暗号化する(ステップS801)。
続いてドングル生成処理部110は、第一固有情報取得部111により、記憶媒体から第一固有情報を取得する。そして、ドングル生成処理部110は、第一固有情報暗号化部112により、ステップS801で暗号化したライセンス情報を、第一固有情報でさらに暗号化する(ステップS802)。本実施形態では、ステップS802で生成された暗号化ライセンス情報を、第一の暗号化ライセンス情報と呼ぶ。つまり、本実施形態の第一の暗号化ライセンス情報は、ライセンス情報を共通キーで暗号化したものを、さらに第一固有情報で暗号化した情報である。
続いてドングル生成処理部110は、書込み部114により、ステップS802で暗号化された第一の暗号化ライセンス情報を記憶媒体へ書き込む(ステップS803)。
本実施形態では、この処理により、情報処理装置100と接続された記憶媒体がドングル200となる。
尚、図8では、ステップS802において第一固有情報を取得するものとしたが、これに限定されない。第一固有情報を取得するタイミングは、例えば記憶媒体が情報処理装置100に接続されたときでも良いし、ドングル生成処理部110の処理が開始されたときであっても良い。
以下に、図9を参照し、ドングル生成処理部110の処理をさらに説明する。図9は、ドングル生成処理部の処理を説明する図である。
図9の状態(a)は、ドングル200となる記憶媒体が情報処理装置100に接続される前の状態である。
状態(a)において、記憶媒体は、第一固有情報のみを保持しており、情報処理装置100は、暗号化されていないライセンス情報と、画像形成装置300と共通の共通キーと、を保持している。
状態(a)において、ドングル生成処理部110の共通キー暗号化部113が、画像形成装置300との共通キーを用いてライセンス情報を暗号化すると、状態(b)となる。
状態(b)において、ドングル生成処理部110の第一固有情報取得部111がドングル200となる記憶媒体から第一固有情報を取得する。そして、ドングル生成処理部110の第一固有情報暗号化部112が、第一固有情報により、共通キーで暗号化されたライセンス情報をさらに暗号化すると、ライセンス情報が第一の暗号化ライセンス情報となり、状態(c)となる。
状態(c)において、ドングル生成処理部110が、共通キーと第一固有情報の2つのキーで暗号化された、第一の暗号化ライセンス情報を記憶媒体に書き込むことで、状態(d)となりドングル200の生成が完了する。
次に、図10を参照して、画像形成装置300の管理処理部310の処理について説明する。図10は、画像形成装置の管理処理部の処理を説明する第一のフローチャートである。
図10に示す処理は、画像形成装置300の初回起動時の処理を示している。尚、初回起動時とは、例えば画像形成装置300の工場出荷時の状態から、初めて起動させる場合等である。また、図10に示す処理は、例えば画像形成装置300に電源が投入されたときから、画像形成装置300が使用可能な状態になるまでの間に実行される処理である。
本実施形態の画像形成装置300の管理処理部310は、ドングル200が接続されると、データ取得部320により、ドングル200から第一の暗号化ライセンス情報を取得する。また、管理処理部310は、第一固有情報取得部312により、ドングル200から第一固有情報を取得する。そして、管理処理部310は、第一固有情報復号化部314により、第一の暗号化ライセンス情報を第一固有情報で復号化する(ステップS1001)。ここでライセンス情報は、共通キー1つにより暗号化された状態の情報となる。また、管理処理部310は、ここで取得した第一固有情報を管理用データ330の項目「第一固有情報」の値として格納する。
続いて管理処理部310は、共通キー復号化部315により、ステップS1001において復号化された情報を、共通キーにより復号化する(ステップS1002)。ここで、第一の暗号化ライセンス情報は、第一固有情報及び共通キーの両方により復号化され、暗号化前のライセンス情報となる。暗号化前のライセンス情報とは、例えば情報処理装置100のドングル生成用データ116に含まれるライセンス情報「機能A」である。
続いて管理処理部310は、ライセンス情報設定部319により、ステップS1002で取得したライセンス情報を画像形成装置300に設定する(ステップS1003)。本実施形態では、ライセンス情報「機能A」を画像形成装置300に設定することで、画像形成装置300の機能Aが使用可能となる。尚、ライセンス情報は、画像形成装置300において使用可能とする機能と対応付けられていればよい。例えば、情報処理装置100と画像形成装置300の管理者が、予めライセンス情報「1」と機能Aとを対応付けておけば、ライセンス情報は「1」となる。
続いて管理処理部310は、起動部326により、設定されたライセンス情報に基づき、画像形成装置300を起動する(ステップS1004)。つまり、起動部326は、機能Aが使用可能な状態で起動される。
続いて管理処理部310は、第二固有情報取得部313により管理用データ330から第二固有情報を取得し、第二固有情報暗号化部324により、ライセンス情報を、第二固有情報により暗号化する(ステップS1005)。
続いて管理処理部310は、管理用データ330から共通キーを取得し、共通キー暗号化部323により、ステップS1005で暗号化された情報を共通キーにより暗号化する(ステップS1006)。つまり、ライセンス情報は、ステップS1006で、第二固有情報と共通キーで暗号化された情報となる。
続いて管理処理部310は、管理用データ330から第一固有情報を取得し、第一固有情報暗号化部322により、ステップS1006で暗号化された情報を第一固有情報により暗号化する(ステップS1007)。つまり、ライセンス情報は、ステップS1007で、第二固有情報及び共通キーで暗号化されたライセンス情報を、第一固有情報でさらに暗号化した第二の暗号化ライセンス情報となる。このとき、第二の暗号化ライセンス情報において、画像形成装置300とドングル200とが対応付けられる。
続いて管理処理部310は、書込み部325により、ステップS1007で生成された第二の暗号化ライセンス情報をドングル200へ書き込む(ステップS1008)。つまり、ドングル200には、ライセンス情報を第二固有情報、共通キー及び第一固有情報で暗号化した、第二の暗号化ライセンス情報が書き込まれる。
以下に、図11を参照して、画像形成装置300の初回起動時の管理処理部310の処理をさらに説明する。図11は、画像形成装置の初回起動時の管理処理部の処理を説明する図である。
図11に示す状態(a)では、ドングル200は、共通キーと第一固有情報の2つのキーにより暗号化された第一の暗号化ライセンス情報と、第一固有情報が格納されている状態である(図8,9参照)。また、状態(a)では、画像形成装置300は、第二固有情報と共通キーとが格納されている状態である。
状態(a)において、画像形成装置300が、ドングル200から第一の暗号化ライセンス情報と第一固有情報とを取得し、第一固有情報により第一の暗号化ライセンス情報を復号化する。さらに画像形成装置300は、共通キーにより復号化された情報をさらに復号化することで、暗号化されていないライセンス情報を取得する。
状態(b)は、暗号化されていないライセンス情報が画像形成装置300に設定された状態である。
状態(b)において、画像形成装置300は、暗号化されていないライセンス情報を、第二固有情報により暗号化し、さらに暗号化された情報を共通キーにより暗号化する。そして、画像形成装置300は、暗号化された情報をさらにドングル200から取得した第一固有情報により暗号化することで、3つのキーで暗号化された第二の暗号化ライセンス情報を生成する。第二の暗号化ライセンス情報が生成された状態が、状態(c)となる。
状態(c)において、画像形成装置300は、生成した第二の暗号化ライセンス情報をドングル200に書き込み、画像形成装置300から第二の暗号化ライセンス情報を削除することで、状態(d)となり、画像形成装置300の初回起動時の処理が完了する。
したがって、本実施形態では、初回起動時の処理が完了した後は、ライセンス情報は、ドングル200の固有情報である第一固有情報、情報処理装置100と画像形成装置300の共通のキー、画像形成装置300の固有情報である第二固有情報で暗号化される。
よって、本実施形態によれば、画像形成装置300は、初回起動時に接続されていたドングル200と画像形成装置300の組み合わせでしか起動できない。
このため、例えば画像形成装置300の初回起動時に画像形成装置300に接続されたドングル200が不正にコピーされたとしても、不正にコピーされたドングルは、ドングル200の固有情報を有していないため、画像形成装置300を起動させることができない。また、ドングル200を用いて画像形成装置300以外の他の画像形成装置を起動させようとしても、他の画像形成装置は、画像形成装置300の固有情報を有していないため、他の画像形成装置を起動させることはできない。
また、仮にドングル200が、画像形成装置300の初回起動の前に不正にコピーしたドングルで他の画像形成装置を起動させようとした場合でも、他の画像形成装置は、第一の暗号化ライセンス情報を復号化するための共通キーを有していないため、起動させることができない。
このように、本実施形態では、一度ドングル200と画像形成装置300とが接続されると、ライセンス情報がドングル200の固有情報と、画像形成装置300の固有情報とにより暗号化される。よって、本実施形態では、ドングル200と画像形成装置300との1対1の対応付けを行うことができ、ライセンス情報の管理におけるセキュリティを向上させることができる。
また、本実施形態では、共通キーを用いて暗号化の方式を守ることで、暗号化されたライセンス情報が解析されることを抑制している。
次に、図12を参照し、画像形成装置300の2回目以降の起動の際の管理処理部310の処理について説明する。図12は、画像形成装置の管理処理部の処理を説明する第二のフローチャートである。
本実施形態の管理処理部310は、データ取得部320により、ドングル200から第二の暗号化ライセンス情報を取得し、第一固有情報取得部312により取得した第一固有情報により、第二の暗号化ライセンス情報を復号化する(ステップS1201)。尚、ドングル200には、画像形成装置300の初回起動時に第二の暗号化ライセンス情報が格納される。
続いて管理処理部310は、共通キー復号化部315により、ステップS1201で復号化された情報を、共通キーにより復号化する(ステップS1202)。続いて管理処理部310は、第二固有情報取得部313により第二固有情報を取得し、第二固有情報復号化部316により、ステップS1202で復号化した情報をさらに復号化する(ステップS1203)。本実施形態では、このときに第二の暗号化ライセンス情報が、暗号化されていないライセンス情報に復号化される。
続いて管理処理部310は、ステップS1203で取得したライセンス情報と、画像形成装置300に設定されているライセンス情報とが一致するか否かを判定する(ステップS1204)。尚、画像形成装置300は、初回起動時にドングル200に格納されているライセンス情報が設定されている。
ステップS1204において一致する場合、管理処理部310は、起動部326により、設定されているライセンス情報に基づき、画像形成装置300を起動させる(ステップS1205)。具体的には、起動部326は、画像形成装置300において、ライセンス情報が示す機能を使用できる状態とする。
ステップS1204において一致しない場合、管理処理部310は、エラー情報通知部321により、ライセンス情報が一致しないことを示すエラーを画像形成装置300の操作表示装置41に表示させる。そして、管理処理部310は、起動部326により、画像形成装置300を、印刷ができないエラーモードの状態で起動させる(ステップS1206)。
次に、図13を参照し、本実施形態の初回起動時及び2回目以降の起動時を含む画像形成装置300の起動について説明する。図13は、画像形成装置の起動処理を説明するフローチャートである。
本実施形態の画像形成装置300は、管理処理部310のドングル検知部311により、ドングル200が接続されているか否かを判定する(ステップS1301)。ステップS1301において、ドングル200が接続されていない場合、管理処理部310は、エラー情報通知部321により、ドングル200が接続されていないことを示すエラーを操作表示装置41に表示させ、起動部326により、画像形成装置300を、印刷ができないエラーモードの状態で起動させ(ステップS1302)、処理を終了する。
ステップS1301において、ドングル200が接続されている場合、管理処理部310は、第一固有情報取得部312によりドングル200から第一固有情報を取得する。そして、管理処理部310は、第一固有情報復号化部314により、ドングル200から取得した暗号化ライセンス情報を第一固有情報により復号化する(ステップS1303)。尚、ここでは、ドングル200から取得した暗号化ライセンス情報は、第一の暗号化ライセンス情報であるか、第二の暗号化ライセンス情報であるか判明していない。
続いて管理処理部310は、共通キー復号化部315により、ステップS1303で復号化した情報を、共通キーによりさらに復号化する(ステップS1304)。
続いて管理処理部310は、ライセンス情報判定部317により、ステップS1304において復号化した情報が、ライセンス情報を示しているか否かを判定する(ステップS1305)。
ステップS1305において、ライセンス情報を示している場合、管理処理部310は、設定有無判定部327により、画像形成装置300に既にライセンス情報が設定されているか否かを判定する(ステップS1306)。
ステップS1305において、ライセンス情報を示す場合とは、ドングル200に格納されていた暗号化ライセンス情報は、第一固有情報と共通キーとの復号化でライセンス情報となった場合である。このときドングル200に格納されていた暗号化ライセンス情報は、第一の暗号化ライセンス情報であり、ドングル200と画像形成装置300とが1度も接続されていない状態である。つまり、第一の暗号化ライセンス情報は、ドングル200と画像形成装置300とを対応付けていない。
また、ステップS1305でライセンス情報を示しており、且つステップS1306においてライセンス情報が設定されている場合とは、画像形成装置300のライセンス情報の設定に用いたドングル200が、何らかの事情により破損した場合等を示している。
この場合、管理処理部310は、ライセンス情報比較部318により、ステップS1305で取得したライセンス情報と、画像形成装置300に設定されたライセンス情報とが一致するか否かを判定する(ステップS1307)。ステップS1307において一致しない場合、管理処理部310は、起動部326により、ライセンス情報が一致しないことを示すエラーを画像形成装置300の操作表示装置41に表示させる。そして、管理処理部310は、エラー情報通知部321により、画像形成装置300を、印刷ができないエラーモードの状態で起動させ(ステップS1308)、処理を終了する。
ステップS1307においてライセンス情報が一致する場合、管理処理部310は、画像形成装置300を設定されたライセンス情報に基づき起動させる(ステップS1309)。
ステップS1309からステップS1313までの処理は、図10で説明した初回起動時の処理におけるステップS1004からステップS1008までの処理と同様であるから、説明を省略する。
ステップS1305でライセンス情報を示しており、且つステップS1306においてライセンス情報が設定されていない場合とは、画像形成装置300がドングル200を用いて初めて起動される場合であり、ドングル200は、初めて画像形成装置300と接続される場合である。
つまり、ステップS1306において、ライセンス情報が設定されていない場合のステップS1314からステップS1319までの処理は、画像形成装置300の初回起動時の処理の一部であり、図10のステップS1003からステップS1008までの処理と同様であるから、説明を省略する。
ステップS1305において、ライセンス情報を示していない場合、管理処理部310は、第二固有情報復号化部316により、ステップS1304で復号化した情報を、第二固有情報により復号化する(ステップS1320)。
続いて管理処理部310は、ライセンス情報判定部317により、ステップS1320において復号化した情報が、ライセンス情報を示しているか否かを判定する(ステップS1321)。
ステップS1321でライセンス情報を示す場合とは、ドングル200に格納されていた暗号化ライセンス情報は、第一固有情報と共通キーと第二固有情報との復号化でライセンス情報となった場合である。つまり、このときドングル200に格納されていた暗号化ライセンス情報は、第二の暗号化ライセンス情報であり、画像形成装置300の起動が2回目以降の起動である。また、このとき、ドングル200と画像形成装置300とは、第二の暗号化ライセンス情報により、一対一で対応付けられている状態である。
管理処理部310は、設定有無判定部327により画像形成装置300にライセンス情報が設定されているか否かを判定する(ステップS1322)。
ステップS1322において、ライセンス情報が設定されていない場合、管理処理部310は、ライセンス情報設定部319により、ステップS1320で復号化されたライセンス情報を画像形成装置300に設定する(ステップS1323)。
尚、画像形成装置300が2回目以降の起動であり、且つライセンス情報が設定されていない場合とは、何らかの理由により、画像形成装置300においてライセンス情報が格納されているメモリが破損した場合等である。
続いて管理処理部310は、起動部326により、設定されたライセンス情報に基づき、画像形成装置300を起動させ(ステップS1324)、処理を終了する。
ステップS1322において、ライセンス情報が設定されている場合、ステップS1325以降の処理は、図12で説明した画像形成装置300の2回目以降の起動の処理の一部である。ステップS1325からステップS1327までの処理は、図12のステップS1204からステップS1206までの処理と同様であるから、説明を省略する。
ステップS1321において、ライセンス情報を示していない場合、管理処理部310は、エラー情報通知部321により、不正なドングルであることを示すエラーを操作表示装置41に表示させ、起動部326により、画像形成装置300を印刷ができないエラーモードの状態で起動させ(ステップS1328)、処理を終了する。
以上のように、本実施形態によれば、画像形成装置300は、ドングル200の接続を検知すると第一固有情報と共通キーでドングル200内の暗号化ライセンス情報を復号化する。そして、画像形成装置300は、その結果がライセンス情報であった場合、このライセンス情報を第一固有情報と共通キー及び第二固有情報で暗号化した第二の暗号化ライセンス情報を生成し、ドングル200へ書き込む。
したがって、本実施形態によれば、ドングル200が画像形成装置300と接続されることで、ドングル200と画像形成装置300のそれぞれには、第一固有情報と共通キー及び第二固有情報で暗号化された第二の暗号化ライセンス情報が格納されることになる。本実施形態では、これにより、ドングル200と画像形成装置300とが1対1の関係に対応付けられ、画像形成装置300はドングル200以外のドングルでは起動できなくなる。したがって、本実施形態によれば、ライセンス情報の管理におけるセキュリティを向上させることができる。
尚、本実施形態における暗号化と復号化の順番は、上述した順番に限定されない。本実施形態における暗号化と復号化の順番は、暗号時と復号時のそれぞれが対応していれば、どのような順番で行っても良い。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。