(57)【要約】【課題】処理を行う処理回路が有する要素毎の使用の可否を管理すること。【解決手段】モジュール４０は、自回路の記憶領域である内部レジスタ４１にデータを記憶して処理を行う。ＣＰＵ８は、モジュール４０を使用する場合、すなわちモジュール４０に何らかの処理の実行を要求する場合、その処理に用いられる分割領域のアドレスを指定して、その処理で用いるデータの書き込みを要求する。ＬＵＴ記憶部３４が記憶するＬＵＴは、モジュール４０の記憶領域のうち使用が許可された範囲を表す。アクセス制御部３５は、モジュール４０の記憶領域の指定されたアドレスに書込みデータを書き込むよう要求された場合において、ＬＵＴ記憶部３４にそのアドレスを含む範囲を表すＬＵＴが記憶されているときに、その書込みデータを指定されたアドレスに書き込む。【選択図】図２
2017175297.tif 000002
【特許請求の範囲】
【請求項１】
自回路の記憶領域にデータを記憶して処理を行う処理回路と、
前記記憶領域のうち使用が許可された範囲を表す許可情報を記憶する第１記憶部と、
前記記憶領域の指定されたアドレスにデータを書き込むよう要求された場合において、当該アドレスを含む前記範囲を表す前記許可情報が記憶されているときに、当該データを前記アドレスに書き込む書込部と
を備える集積回路。
【請求項２】
暗号化されたデータの復号化に用いる第１復号鍵を記憶する第２記憶部と、
前記許可情報の更新内容を表す更新データによる前記許可情報の更新を要求された場合において、記憶された前記第１復号鍵で当該更新データが復号化されたときに、復号化された前記更新データが表す更新内容で前記許可情報を更新する更新部とを備える
請求項１に記載の集積回路。
【請求項３】
前記記憶領域のアドレスに対応付けられた第２復号鍵を記憶する第３記憶部を備え、
前記書込部は、前記指定されたアドレスへのデータの書き込みを要求された場合において、当該アドレスに対応付けられた第２復号鍵で当該データが復号化されたときに、当該復号化されたデータを当該アドレスに書き込む
請求項１又は２に記載の集積回路。
【請求項４】
前記指定されたアドレスが前記範囲に含まれていない場合に、当該アドレスへのデータの書き込みを要求してきた要求元への報知を行う報知部を備える
請求項１から３のいずれか１項に記載の集積回路。
【請求項５】
請求項１から４のいずれか１項に記載の集積回路と、
前記記憶領域のアドレスを指定してデータの書き込みを要求する要求部と
を備える情報処理装置。
【請求項６】
自回路の記憶領域にデータを記憶して処理を行う処理回路と、
前記記憶領域のうち使用が許可された範囲を表す許可情報を記憶する第１記憶部と、
前記記憶領域の指定されたアドレスからデータを読み出すよう要求された場合において、当該アドレスを含む前記範囲を表す前記許可情報が記憶されているときに、当該データを前記アドレスから読み出す読出部と
を備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路及び情報処理装置に関する。
【背景技術】
【０００２】
特許文献１には、ＩＰモジュールの使用を許可するか否かをフラグレジスタによって一括管理することで、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストを低減する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−００４３４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では、集積回路が提供される際に、ＩＰモジュールという処理回路毎の使用可否が管理されるが、処理回路が有する機能やパラメータといった要素毎の使用可否を管理することは考慮されていない。
そこで、本発明は、処理を行う処理回路が有する要素毎の使用の可否を管理することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の請求項１に係る集積回路は、自回路の記憶領域にデータを記憶して処理を行う処理回路と、前記記憶領域のうち使用が許可された範囲を表す許可情報を記憶する第１記憶部と、前記記憶領域の指定されたアドレスにデータを書き込むよう要求された場合において、当該アドレスを含む前記範囲を表す前記許可情報が記憶されているときに、当該データを前記アドレスに書き込む書込部とを備えることを特徴とする。
【０００６】
本発明の請求項２に係る集積回路は、請求項１に記載の構成において、暗号化されたデータの復号化に用いる第１復号鍵を記憶する第２記憶部と、前記許可情報の更新内容を表す更新データによる前記許可情報の更新を要求された場合において、記憶された前記第１復号鍵で当該更新データが復号化されたときに、復号化された前記更新データが表す更新内容で前記許可情報を更新する更新部とを備えることを特徴とする。
【０００７】
本発明の請求項３に係る集積回路は、請求項１又は２に記載の構成において、前記記憶領域のアドレスに対応付けられた第２復号鍵を記憶する第３記憶部を備え、前記書込部は、前記指定されたアドレスへのデータの書き込みを要求された場合において、当該アドレスに対応付けられた第２復号鍵で当該データが復号化されたときに、当該復号化されたデータを当該アドレスに書き込むことを特徴とする。
【０００８】
本発明の請求項４に係る集積回路は、請求項１から３のいずれか１項に記載の構成において、前記指定されたアドレスが前記範囲に含まれていない場合に、当該アドレスへのデータの書き込みを要求してきた要求元への報知を行う報知部を備えることを特徴とする。
【０００９】
本発明の請求項５に係る情報処理装置は、請求項１から４のいずれか１項に記載の集積回路と、前記記憶領域のアドレスを指定してデータの書き込みを要求する要求部とを備えることを特徴とする。
【００１０】
本発明の請求項６に係る集積回路は、自回路の記憶領域にデータを記憶して処理を行う処理回路と、前記記憶領域のうち使用が許可された範囲を表す許可情報を記憶する第１記憶部と、前記記憶領域の指定されたアドレスからデータを読み出すよう要求された場合において、当該アドレスを含む前記範囲を表す前記許可情報が記憶されているときに、当該データを前記アドレスから読み出す読出部とを備えることを特徴とする。
【発明の効果】
【００１１】
請求項１、５、６に係る発明によれば、処理を行う処理回路が有する要素毎の使用の可否を管理することができる。
請求項２に係る発明によれば、第１復号鍵に対応した鍵で暗号化した更新データでなければ許可情報が更新されないようにすることができる。
請求項３に係る発明によれば、第２復号鍵に対応した鍵で暗号化したデータでなければ指定したアドレスに書き込めないようにすることができる。
請求項４に係る発明によれば、要求元への報知が行われない場合に比べて、データ書き込みの要求元が、次のデータ書き込みの要求に早く移ることができる。
【図面の簡単な説明】
【００１２】
【図１】実施例に係る画像処理装置のハードウェア構成を表す図
【図２】制御部及びＳＯＣの詳細構成を表す図
【図３】ＬＵＴ記憶部が記憶するＬＵＴの一例を表す図
【図４】初期設定処理の前に記憶されているＬＵＴの一例を表す図
【図５】初期設定処理における各部の動作手順の一例を表す図
【図６】モジュール使用処理における各部の動作手順の一例を表す図
【発明を実施するための形態】
【００１３】
［１］実施例
図１は実施例に係る画像処理装置１のハードウェア構成を表す。画像処理装置１は、スキャンやプリント、コピー、ファクシミリなど、画像情報を処理する情報処理装置である。画像処理装置１は、制御部２と、ストレージ３と、通信Ｉ／Ｆ（InterFace）４と、ＵＩ（User Interface）５と、スキャナ６と、プリントエンジン７と、ＳＯＣ（System-on-a-chip）２０とを備え、ＳＯＣ２０は、ライセンス管理ユニット３０と、モジュール４０−１、４０−２、４０−３（これらを区別しない場合は「モジュール４０」という）とを備える。
【００１４】
制御部２は、自装置が備える各部を制御する。ストレージ３は、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などの記憶媒体であり、プログラムやデータなどを記憶する。通信Ｉ／Ｆ４は、通信回線に接続され、通信回線を介した外部装置との通信を仲介する。ＵＩ５は、ユーザとの情報のやり取りを仲介するインターフェースである。ＵＩ５は、タッチスクリーンやボタンなどを備え、自装置の状態や処理の状態などを表す情報を表示するとともに、操作子などの画像を表示してユーザの操作を受け付けたり、ボタンを押すことによる操作を受け付けたりする。スキャナ６は、イメージセンサなどを備え、用紙の表面に表された画像を光学的に読み取る。プリントエンジン７は、例えば電子写真方式で用紙等の媒体に画像を形成する。
【００１５】
ＳＯＣ２０は、画像処理に関連する機能を集積した半導体集積回路である。モジュール４０は、画像処理を行う回路やその他の処理を行う回路など、ＳＯＣ２０に設けられた回路（モジュール）である。モジュールの中には、複数の個別機能を実現するものや、複数通りの個別パラメータに基づいて処理を行うものがある。例えば画像のファイルフォーマットを変換するモジュールＡが、一般的なフォーマットに変換する機能Ｂ１と、特殊なフォーマットに変換する機能Ｂ２とをそれぞれ実現したり、同じフォーマットでも解像度のパラメータが複数通り（パラメータＣ１、Ｃ２など）から選べるようになっていたりする。
【００１６】
本実施例では、画像処理装置１を提供する提供者と画像処理装置１を利用する利用者とが使用許諾契約（ライセンス契約）を取り交わしており、提供者から利用者に対してモジュール毎に使用が許可されている。もちろん反対に、利用者に対して使用が許可されていないモジュールもある。さらに言うと、モジュールの使用の許可は、前述した個別機能や個別パラメータ毎に行われている。例えばモジュールＡであれば、或るユーザには機能Ｂ１、Ｂ２、パラメータＣ１、Ｃ２の使用がいずれも許可されており、他のユーザには機能Ｂ１とパラメータＣ１での利用だけが許可されているという具合である。ライセンス管理ユニット３０は、各モジュール４０のライセンスを管理するユニットである。ライセンス管理方法の詳細は後述する。
【００１７】
図２は制御部２及びＳＯＣ２０の詳細構成を表す。制御部２は、ＣＰＵ（Central Processing Unit）８と、ＲＡＭ（Random Access Memory）９と、ＲＯＭ（Read Only Memory）１０とを備える。ＣＰＵ８は、ＲＡＭ９をワークエリアとして用いてＲＯＭ１０やストレージ３に記憶されているプログラムを実行することで各部の動作を制御する。ＳＯＣ２０が備えるライセンス管理ユニット３０とモジュール４０とは、インターコネクト１１によって接続され、データ交換がされるようになっている。
【００１８】
モジュール４０−１、４０−２、４０−３は、それぞれ内部レジスタ４１−１、４１−２、４１−３（以下区別しない場合は「内部レジスタ４１」という）を備える。モジュール４０は、自回路の記憶領域である内部レジスタ４１にデータを記憶して処理を行う。モジュール４０が内部レジスタ４１に記憶するデータは、例えば処理に用いるパラメータや処理の対象となるデータ自身、処理の対象となるデータ（外部に記憶されているもの）が記憶されている記憶領域のアドレスなどである。内部レジスタ４１に記憶するデータがパラメータである場合、モジュール４０は、記憶するパラメータの内容に基づいて処理を行う。モジュール４０は本発明の「処理回路」の一例である。内部レジスタ４１は、本実施例ではいずれも２以上の記憶領域に分割されており、それぞれの分割された記憶領域（以下「分割領域」という）に処理に用いるデータや処理結果のデータなどを記憶する。
【００１９】
ＣＰＵ８は、モジュール４０を使用する場合、すなわちモジュール４０に何らかの処理の実行を要求する場合、その処理に用いられる分割領域のアドレスを指定して、その処理で用いるデータの書き込みを要求する。ＣＰＵ８は本発明の「要求部」の一例である。具体的には、ＣＰＵ８は、要求する処理に用いられる分割領域のアドレスを指定するアドレスデータと、その処理を実行させるコマンド（命令）を表すコマンドデータと、その処理で用いるために分割領域に書き込む書込みデータとをライセンス管理ユニット３０に供給する。書込みデータは、例えば要求された処理に用いるデータである。ライセンス管理ユニット３０は、供給されたこれらのデータに基づいて、要求されている処理をモジュール４０に実行させること、すなわちそのモジュール４０の使用が許可されているか否かを判断する。
【００２０】
ライセンス管理ユニット３０は、内部レジスタ部３１と、復号化部３２と、アドレスデコーダ部３３と、ＬＵＴ（Lookup table）記憶部３４と、アクセス制御部３５とを備える。内部レジスタ部３１は、ＣＰＵ８から提供される１つの秘密鍵と、１以上の公開鍵とを記憶する。ＣＰＵ８が供給する書込みデータは、この秘密鍵と、これらの公開鍵のいずれかを用いて暗号化されている（詳細は後述する）。
【００２１】
復号化部３２は、ＣＰＵ８から暗号化された書込みデータが供給されると、内部レジスタ部３１に記憶されている秘密鍵及び公開鍵を用いてその書込みデータを復号化する。復号化部３２は、復号化した書込みデータをアクセス制御部３５に供給する。復号化部３２がどの公開鍵を用いて書込みデータを復号化するかについては、アドレスデコーダ部３３から供給される情報に基づいて決定される（詳細は後述する）。
【００２２】
ＣＰＵ８は、上記のアドレスデータをアドレスデコーダ部３３に供給する。アドレスデコーダ部３３は、ＣＰＵ８から供給されたアドレスデータを用いて、ＣＰＵ８が要求する処理を実行させるというモジュール４０の使用が許可されているか否かを判断する。アドレスデコーダ部３３は、ＬＵＴ記憶部３４に記憶されているＬＵＴを参照してこの判断を行う。
【００２３】
図３はＬＵＴ記憶部３４が記憶するＬＵＴの一例を表す。図３のＬＵＴは、「エントリ」、「有効／無効情報」、「アドレス範囲」及び「復号鍵番号」がそれぞれ対応付けられている。「エントリ」は、ＬＵＴの各行の通し番号を表す。「有効／無効情報」は、分割領域の使用が許可されているか否かを表す。「１」は有効、すなわち分割領域の使用が許可されていることを表し、「０」は無効、すなわち分割領域の使用が許可されていないことを表す。このように、ＬＵＴは、モジュール４０の記憶領域（内部レジスタ４１）のうち使用が許可された範囲を表す。ＬＵＴは本発明の「許可情報」の一例であり、ＬＵＴ記憶部３４はその許可情報を記憶する「第１記憶部」の一例である。
【００２４】
「アドレス範囲」は、１行目を除き、内部レジスタ４１の分割領域の先頭のアドレスと終端のアドレスにより分割領域の範囲を表す。１行目の「０ｘ０００−０ｘ０ＦＦ」というアドレス範囲は、モジュール４０ではなくライセンス管理ユニット３０の内部レジスタ部３１のアドレス範囲を表している。「復号鍵番号」は、各分割領域に書き込むデータの暗号化に用いられる復号鍵の番号を表す。復号鍵番号は、内部レジスタ部３１に記憶されている１以上の公開鍵に割り当てられた番号である。
【００２５】
アドレスデコーダ部３３は、ＣＰＵ８から供給されたアドレスデータにより指定されるアドレスを含むアドレス範囲がＬＵＴに有る場合、そのアドレス範囲に対応付けられている有効／無効情報及び復号鍵番号を読み出す。アドレスデコーダ部３３は、例えば「０ｘ１８５」というアドレスを指定するアドレスデータが供給された場合、そのアドレスを含む「０ｘ１００−０ｘ１ＦＦ」というアドレス範囲に対応付けられている「１」という有効／無効情報と、そのアドレス範囲に対応付けられている「６」という復号鍵番号を読み出す。アドレスデコーダ部３３は、読み出した有効／無効情報を、ＣＰＵ８から供給されたアドレスデータとともにアクセス制御部３５に供給し、読み出した復号鍵番号を復号化部３２に供給する。
【００２６】
復号化部３２は、供給された復号鍵番号が割り当てられた公開鍵と秘密鍵とを内部レジスタ部３１から読み出して、前述した書込みデータを復号化する。例えばストレージ３にはアドレス範囲と復号鍵番号とをＬＵＴと共通の組み合わせで対応付けた情報が記憶されており、ＣＰＵ８は、その情報を参照して、分割領域のアドレス範囲に対応付けられている復号鍵番号が割り当てられた公開鍵を用いて暗号化をしている。そのため、復号化部３２は、ＣＰＵ８が暗号化に用いた公開鍵を用いて書込みデータを復号化することになる。
【００２７】
アクセス制御部３５は、ＣＰＵ８のモジュール４０へのアクセスを制御する。アクセス制御部３５には、アドレスデコーダ部３３から有効／無効情報及びアドレスデータが供給され、ＣＰＵ８からコマンドデータが供給され、復号化部３２から書込みデータが供給される。アクセス制御部３５は、「１」（つまり有効）を表す有効／無効情報が供給されると、モジュール４０の内部レジスタ４１へのデータの書き込みが許可されていると判断する。
【００２８】
アクセス制御部３５は、許可されていると判断すると、復号化部３２から供給された書込みデータを、アドレスデコーダ部３３から供給されたアドレスデータにより指定されるアドレスを有するモジュール４０に対し、そのアドレスデータ及びＣＰＵ８から供給されたコマンドデータとともに、インターコネクト１１を介して供給する。インターコネクト１１からそれらのデータが供給されたモジュール４０は、供給されたアドレスデータにより指定されるアドレスに供給された書込みデータを書き込み、供給されたコマンドデータが表すコマンドに従って、内部レジスタ４１に書き込んだ書込みデータを用いた処理（例えば書込みデータが表す値を用いた演算処理など）を行う。
【００２９】
このように、アクセス制御部３５は、モジュール４０の記憶領域（内部レジスタ４１）の指定されたアドレスに書込みデータを書き込むよう要求された場合において、ＬＵＴ記憶部３４にそのアドレスを含む範囲を表す許可情報（ＬＵＴ）が記憶されているときに、その書込みデータを指定されたアドレスに書き込む。アクセス制御部３５は本発明の「書込部」の一例である。モジュール４０は、上記処理を行うと、その処理が行われた旨を示す応答データをアクセス制御部３５にインターコネクト１１を介して供給する。アクセス制御部３５は、供給された応答データをＣＰＵ８に供給する。
【００３０】
一方、アクセス制御部３５は、有効／無効情報に基づいてデータの書き込みが許可されていないと判断すると、ＣＰＵ８に対してその旨を示す応答データを供給する。ＣＰＵ８は、こうしてアクセス制御部３５から供給される応答データにより、モジュール４０に対して発行したコマンドに基づく処理が実行されたか否かを判断する。このように、アクセス制御部３５は、指定されたアドレスが使用を許可されたアドレス範囲に含まれていない場合に、そのアドレスへのデータの書き込みを要求してきた要求元（つまりＣＰＵ８）への報知を行う報知部として機能する。
【００３１】
また、アクセス制御部３５は、この場合に、供給された書込みデータを指定されたアドレスに対して供給しないで破棄する。これにより、書き込みが許可されていないアドレスの分割領域に書込みデータが書き込まれないようになっている。なお、書込みデータが書き込まれないようにする方法は、これに限らない。アクセス制御部３５は、例えば対象の分割領域にデータを書き込む回路へのクロックの入力を遮断するよう指示したり、その回路をリセットし続けるよう指示したりすることで、分割領域にデータが書き込まれないようにしてもよい。アクセス制御部３５は、以上のとおりモジュール４０へのアクセスを、内部レジスタ４１の分割領域毎に制御する。
【００３２】
図３に表すＬＵＴは一例であり、画像処理装置１の利用者が装置の利用を開始する際に、画像処理装置１の提供者と利用者とのライセンス契約に応じた内容のＬＵＴがＬＵＴ記憶部３４に記憶される。また、その際に、内部レジスタ部３１への秘密鍵及び公開鍵の書き込みも行われる。この利用開始時の一連の処理を初期設定処理という。
【００３３】
図４は初期設定処理の前に記憶されているＬＵＴの一例を表す。図４の例では、「０」というエントリに「１」という有効／無効情報と、「０ｘ０００−０ｘ０ＦＦ」というアドレス範囲と、「０」という復号鍵番号とが対応付けられ、それ以外のエントリには、「０」という有効／無効情報と、「−」という値がないことを示す記号が対応付けられている。この「０ｘ０００−０ｘ０ＦＦ」というアドレス範囲は、上述したように内部レジスタ部３１のアドレス範囲を表している。図４に表すＬＵＴから図３に表すＬＵＴに更新する処理、すなわち初期設定処理における画像処理装置１の各部の動作について、図５を参照して説明する。
【００３４】
図５は初期設定処理における各部の動作手順の一例を表す。この動作手順は、画像処理装置１の提供者から利用者に対して秘密鍵、Ｌ個の公開鍵（公開鍵０、・・・公開鍵（Ｌ−１））及び復号鍵番号（０から（Ｌ−１）までの各公開鍵の番号）を表す鍵データと、ＬＵＴの更新内容を表す更新データとが提供され、その利用者がそれらの鍵データ及び更新データをストレージ３に記憶させて初期設定を開始させる操作を行うことを契機に開始される。
【００３５】
まず、ＣＰＵ８が、ストレージ３から鍵データを読み出して、内部レジスタ部３１にその鍵データが表す秘密鍵、各公開鍵及び復号鍵番号を記憶させる（ステップＳ１０１）。次に、内部レジスタ部３１が、記憶した秘密鍵及び各公開鍵を復号化部３２に供給する（ステップＳ１０２）。ステップＳ１０１及びＳ１０２は、鍵データを導入する鍵導入処理Ｓ１００を表す。
【００３６】
次に、ＣＰＵ８は、ＬＵＴ記憶部３４のＬＵＴが記憶されているアドレスを指定するアドレスデータをアドレスデコーダ部３３に供給し（ステップＳ２０１）、ＬＵＴの更新を指示するコマンドを表すコマンドデータをアクセス制御部３５に供給し（ステップＳ２１１）、秘密鍵及び公開鍵０で暗号化した更新データを書込みデータとして復号化部３２に供給する（ステップＳ２２１）。ステップＳ２０１、Ｓ２１１、Ｓ２２１は順次行われてもよいし、並行して行われてもよい。
【００３７】
アドレスデコーダ部３３は、ステップＳ２０１でアドレスデータが供給されると、ＬＵＴ記憶部３４に記憶されているＬＵＴ（図４に表すＬＵＴ）を参照し（ステップＳ２０２）、そのアドレスデータにより指定されるアドレスに対応付けられている「１」という有効／無効情報及び「０」という復号鍵番号を読み出す（ステップＳ２０３）。アドレスデコーダ部３３は、読み出した有効／無効情報をアドレスデータとともにアクセス制御部３５に供給し（ステップＳ２０４）、読み出した復号鍵番号を復号化部３２に供給する（ステップＳ２０５）。
【００３８】
アクセス制御部３５は、ステップＳ２０４で「１」（有効）という有効／無効情報及びアドレスデータが供給され、ステップＳ２１１でコマンドデータが供給されると、それらのコマンドデータ及びアドレスデータをインターコネクト１１に供給する（ステップＳ２１２）。
【００３９】
復号化部３２は、ステップＳ２０５で「０」という復号鍵番号が供給され、ステップＳ２２１で暗号化された書込みデータが供給されると、その復号鍵番号が示す公開鍵及び秘密鍵で書込みデータを復号化し、復号化した書込みデータ、すなわちＬＵＴの更新データをインターコネクト１１に供給する（ステップＳ２２２）。インターコネクト１１は、ステップＳ２１２で供給されたコマンドデータ及びアドレスデータと、ステップＳ２２２で供給された更新データをＬＵＴ記憶部３４に供給する（ステップＳ２２３）。
【００４０】
ＬＵＴ記憶部３４は、供給された更新データを用いて、供給されたアドレスデータにより指定されるアドレスに記憶されたＬＵＴを、供給されたコマンドデータが表すコマンドの指示により更新し、ＬＵＴを更新した旨を示す応答データをインターコネクト１１に供給する（ステップＳ２２４）。インターコネクト１１は、供給された応答データをアクセス制御部３５に供給し（ステップＳ２２５）、アクセス制御部３５は、供給された応答データをＣＰＵ８に供給する（ステップＳ２２６）。ステップＳ２０１からＳ２２６までは、ＬＵＴを更新する更新処理Ｓ２００を表す。
【００４１】
以上のとおり、図４に表す復号鍵番号「０」が割り当てられた公開鍵は、暗号化された更新データの復号化に用いる鍵であり、本発明の「第１復号鍵」の一例である。この公開鍵を記憶する復号化部３２は、本発明の「第２記憶部」の一例である。復号化部３２は、ＬＵＴの更新内容を表す更新データによるＬＵＴの更新を要求された場合において、自身が記憶する第１復号鍵（本実施例では「０」が割り当てられた公開鍵）でその更新データを復号化する。アクセス制御部３５は、こうして更新データが復号化されたときに、その更新データが表す更新内容でＬＵＴを更新する。アクセス制御部３５は本発明の「更新部」の一例である。
【００４２】
画像処理装置１は、以上のとおり更新されたＬＵＴを用いて、モジュール４０を使用するモジュール使用処理を行う。
図６はモジュール使用処理における各部の動作手順の一例を表す。この動作手順は、ユーザの操作等に基づいてモジュール４０を使用する処理が要求されることを契機に開始される。
【００４３】
まず、ＣＰＵ８が、モジュール４０の内部レジスタ４１のアドレスを指定するアドレスデータをアドレスデコーダ部３３に供給し（ステップＳ３０１）、要求された処理の実行を指示するコマンドを表すコマンドデータをアクセス制御部３５に供給し（ステップＳ３１１）、秘密鍵及びステップＳ３０１で登場したアドレスに対応付けられた公開鍵で暗号化した書込みデータを復号化部３２に供給する（ステップＳ３２１）。ステップＳ３０１、Ｓ３１１、Ｓ３２１は順次行われてもよいし、並行して行われてもよい。
【００４４】
アドレスデコーダ部３３は、ステップＳ３０１でアドレスデータが供給されると、ＬＵＴ記憶部３４に記憶されているＬＵＴ（図３に表すＬＵＴ）を参照し（ステップＳ３０２）、そのアドレスデータにより指定されるアドレスに対応付けられている有効／無効情報及び復号鍵番号を読み出す（ステップＳ３０３）。アドレスデコーダ部３３は、読み出した有効／無効情報をアドレスデータとともにアクセス制御部３５に供給し（ステップＳ３０４）、読み出した復号鍵番号を復号化部３２に供給する（ステップＳ３０５）。
【００４５】
この例では、ステップＳ２０４で「１」（有効）という有効／無効情報が供給されたとする。アクセス制御部３５は、ステップＳ２０４でその有効／無効情報及びアドレスデータが供給され、ステップＳ２１１でコマンドデータが供給されると、それらのコマンドデータ及びアドレスデータをインターコネクト１１に供給する（ステップＳ３１２）。
【００４６】
復号化部３２は、ステップＳ３０５で復号鍵番号が供給され、ステップＳ２２１で暗号化された書込みデータが供給されると、その復号鍵番号が示す公開鍵及び秘密鍵で書込みデータを復号化し、復号化した書込みデータをインターコネクト１１に供給する（ステップＳ３２２）。インターコネクト１１は、ステップＳ３１２で供給されたコマンドデータ及びアドレスデータと、ステップＳ３２２で供給された書込みデータとを、モジュール４０の内部レジスタ４１に供給する（ステップＳ３２３）。
【００４７】
モジュール４０は、内部レジスタ４１に供給された書込みデータ、アドレスデータ及びコマンドデータに基づいて、要求された処理を実行し、その処理を実行した旨を示す応答データをインターコネクト１１に供給する（ステップＳ３２４）。インターコネクト１１は、供給された応答データをアクセス制御部３５に供給し（ステップＳ３２５）、アクセス制御部３５は、供給された応答データをＣＰＵ８に供給する（ステップＳ３２６）。ステップＳ３０１からＳ３２６までは、要求された処理をモジュール４０が実行する実行処理Ｓ３００を表す。
【００４８】
以上のとおり、図３に表す分割領域のアドレス範囲に対応付けられた復号鍵番号（エントリ「１」から「Ｎ−１」までに対応付けられた復号鍵番号）が割り当てられた公開鍵は、いずれも分割領域のアドレスに対応付けられた鍵であり、本発明の「第２復号鍵」の一例である。これらの公開鍵を記憶する復号化部３２は、本発明の「第３記憶部」の一例である。
【００４９】
復号化部３２は、指定されたアドレスへの書込みデータの書き込みを要求された場合において、自身が記憶する第２復号鍵（例えば「６」が割り当てられた公開鍵）でその書込みデータを復号化する。アクセス制御部３５は、指定されたアドレスに対応付けられた公開鍵で書込みデータが復号化されたときに、その復号化された書込みデータを指定されたアドレスに書き込む。
【００５０】
本実施例では、モジュール４０の内部レジスタ４１の分割領域毎にデータの書き込みが許可される。それにより、例えばモジュール４０が複数の機能を有している場合に、それらの機能毎に用いられる分割領域を決めておくことで、機能毎に使用の可否が管理されることになる。また、複数のパラメータのうちのいずれかを用いる機能がある場合に、それらのパラメータ毎に用いられる分割領域を決めておくことで、パラメータ毎に使用の可否が管理されることになる。このように、本実施例によれば、モジュール４０が有する機能やパラメータといった要素毎に使用の可否が管理される。
【００５１】
また、本実施例では、内部レジスタ部３１のアドレス範囲に対応付けられた復号鍵番号（図４の例では「０」）が割り当てられた公開鍵を用いて更新データが復号化される。そのため、その公開鍵に対応した鍵で暗号化した更新データでなければＬＵＴが更新されないようになっている。
【００５２】
また、本実施例では、各分割領域のアドレス範囲に対応付けられた復号鍵番号（図３の例ではエントリ「１」から「Ｎ−１」までに対応付けられた復号鍵番号）が割り当てられた公開鍵を用いて書込みデータが復号化される。そのため、それらの公開鍵に対応した鍵で暗号化した書込みデータでなければ指定したアドレスに書き込めないようになっている。
【００５３】
また、本実施例では、指定されたアドレスが使用を許可されたアドレス範囲に含まれていない場合にアクセス制御部３５がＣＰＵ８への報知を行っている。ＣＰＵ８は、書込みデータの書き込みがされた結果に基づいて次のデータ書き込みの要求を行うことがある。その場合に、この報知が行われなければ、ＣＰＵ８は、例えば決められた時間が経過したときに次のデータ書き込みの要求を行うといったことが必要になる。本実施例では、アクセス制御部３５による報知が行われるので、この報知が行われない場合に比べて、データ書き込みの要求元であるＣＰＵ８が、次のデータ書き込みの要求に早く移ることになる。
【００５４】
［２］変形例
上述した実施例は本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、実施例及び各変形例は、必要に応じて組み合わせて実施してもよい。
【００５５】
［２−１］情報処理装置
本発明は画像処理装置以外の情報処理装置に適用してもよい。例えばサーバ装置に適用して、使用可能な機能やパラメータを利用者毎に管理してもよい。また、店舗等に設置されて様々な機能を提供するキオスク端末に適用し、使用可能な機能やパラメータを店舗毎に管理してもよい。要するに、利用者毎にモジュールの機能やパラメータを管理することがある情報処理装置であれば、どのような装置に本発明を適用してもよい。
【００５６】
［２−２］情報処理装置の構成
本発明が適用される情報処理装置の構成は図１及び図２に表すものに限らず、様々な構成を備えていてもよい。いずれの場合も、その情報処理装置が、少なくとも本発明の「処理回路」、「第１記憶部」、「書込部」に相当する構成を備え、また、必要に応じて本発明の「第２記憶部」、「更新部」、「第３記憶部」、「報知部」、「要求部」に相当する構成を備えていればよい。
【００５７】
［２−３］データの読み出し
実施例ではモジュール４０の記憶領域（内部レジスタ４１）の指定されたアドレスに書込みデータを書き込むよう要求された場合を説明したが、指定されたアドレスからデータを読み出すよう要求される場合もある。この場合、アクセス制御部３５は、ＬＵＴ記憶部３４にそのアドレスを含む範囲を表す許可情報（ＬＵＴ）が記憶されているときに、その指定されたアドレスからデータを読み出す。アクセス制御部３５は本発明の「読出部」の一例である。本変形例でも、モジュール４０が有する機能やパラメータといった要素毎に使用の可否が管理される。
【００５８】
［２−４］発明のカテゴリ
本発明は、上述したＳＯＣのようにライセンス管理ユニット及びモジュールを備える集積回路や、上述した画像処理装置やサーバ装置、キオスク端末のようにその集積回路を備える情報処理装置として捉えられる。また、本発明は、それらの集積回路や情報処理装置が実施する処理を実現するための情報処理方法としても捉えられるし、それらの処理をコンピュータに実行させるためのプログラムとしても捉えられる。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されてもよいし、インターネット等の通信回線を介してコンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態で提供されてもよい。
【符号の説明】
【００５９】
１…画像処理装置、２…制御部、３…ストレージ、８…ＣＰＵ、９…ＲＡＭ、１０…ＲＯＭ、２０…ＳＯＣ、３０…ライセンス管理ユニット、３１…内部レジスタ部、３２…復号化部、３３…アドレスデコーダ部、３４…ＬＵＴ記憶部、３５…アクセス制御部、４０…モジュール、４１…内部レジスタ。
【図１】
2017175297.tif 000003
【図２】
2017175297.tif 000004
【図３】
2017175297.tif 000005
【図４】
2017175297.tif 000006
【図５】
2017175297.tif 000007
【図６】
2017175297.tif 000008