(57)【要約】【課題】ライセンス対象機器においてのみライセンス情報を利用可能とすることができる半導体装置モジュールを提供することを目的とする。【解決手段】  実施の形態に係る半導体装置モジュールは、個別識別情報及びクラス情報を記憶する固有情報記憶部と、前記クラス情報によって署名された署名付きメンテナンス情報の認証処理を行うと共に、前記メンテナンス情報に基づくライセンス情報であって、前記個別識別情報を用いて署名した署名付きライセンス情報を生成して不揮発性メモリに記憶させる制御部と、前記制御部によって前記ライセンス情報に基づく設定値が設定されるレジスタとを具備する。【選択図】図１
2016095835.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能を実現するための機能部と、
個別識別情報及びクラス情報を記憶する固有情報記憶部と、
前記機能部の機能を制限するためのライセンス情報を生成するためのメンテナンス情報であって、前記クラス情報によって署名された署名付きメンテナンス情報、を記憶する不揮発性メモリと
前記不揮発性メモリから読出した前記署名付きメンテナンス情報を前記固有情報記憶部に記憶された前記クラス情報を用いて認証すると共に、前記メンテナンス情報に基づくライセンス情報であって、前記個別識別情報を用いて署名した署名付きライセンス情報を生成して前記不揮発性メモリに記憶させる制御部と、
前記制御部によって前記ライセンス情報に基づく設定値であって前記機能部の機能を制限するための設定値が設定されるレジスタとを具備し、
前記制御部は、前記署名付きライセンス情報の前記不揮発性メモリへの書込み後に、メンテナンスモードが指定されると、前記クラス情報又は個別識別情報によって署名された署名付きメンテナンス情報の認証処理を行うと共に、前記メンテナンス情報に基づくライセンス情報であって、前記個別識別情報を用いて署名した署名付きライセンス情報を生成して前記不揮発性メモリを更新する
半導体装置モジュール。
【請求項２】
所定の機能を実現する機能部と、
個別識別情報及びクラス情報を記憶する固有情報記憶部と、
前記クラス情報によって署名された署名付きメンテナンス情報の認証処理を行うと共に、前記メンテナンス情報に基づくライセンス情報であって、前記個別識別情報を用いて署名した署名付きライセンス情報を生成して不揮発性メモリに記憶させる制御部と、
前記制御部によって前記ライセンス情報に基づく設定値が設定されるレジスタと
を具備した半導体装置モジュール。
【請求項３】
前記制御部は、前記不揮発性メモリから読出した前記署名付きメンテナンス情報を、前記固有情報記憶部に記憶された前記クラス情報を用いて認証する
請求項２に記載の半導体装置モジュール。
【請求項４】
前記署名付きメンテナンス情報が記憶された前記不揮発性メモリ
を具備する請求項２又は３に記載の半導体装置モジュール。
【請求項５】
前記機能部は、前記レジスタに設定された設定値に基づくレベルの機能を実現する
請求項２乃至４のいずれか１つに記載の半導体装置モジュール。
【請求項６】
前記制御部は、
初期メンテナンスモード時に、前記署名付きメンテナンス情報の認証処理並びに前記署名付きライセンス情報の生成及び記憶処理を行い
通常モード時に、前記レジスタに、前記ライセンス情報に基づく設定値を設定する
請求２乃至５のいずれか１つに記載の半導体装置モジュール。
【請求項７】
前記制御部は、前記署名付きライセンス情報の前記不揮発性メモリへの書込み後に、メンテナンスモードが指定されると、前記クラス情報又は個別識別情報によって署名された署名付きメンテナンス情報の認証処理を行うと共に、前記メンテナンス情報に基づくライセンス情報であって、前記個別識別情報を用いて署名した署名付きライセンス情報を生成して前記不揮発性メモリを更新する
請求項２乃至６のいずれか１つに記載の半導体装置モジュール。
【請求項８】
前記制御部は、
前記メンテナンス情報の署名に用いられるサブクラス情報が入力されると、入力されたサブクラス情報を前記個別識別情報を用いて署名した署名付きサブクラス情報を生成して前記不揮発性メモリに記憶させる
請求項２乃至７のいずれか１つに記載の半導体装置モジュール。
【請求項９】
前記サブクラス情報は、前記クラス情報によって署名されており、前記クラス情報によって認証された後、前記個別識別情報を用いて署名される
請求項８に記載の半導体装置モジュール。
【請求項１０】
前記制御部は、前記署名付きサブクラス情報を前記不揮発性メモリに記憶させた後に、メンテナンスモードが指定されると、前記クラス情報、サブクラス情報又は個別識別情報によって署名された署名付きメンテナンス情報の認証処理を行うと共に、前記メンテナンス情報に基づくライセンス情報であって、前記個別識別情報を用いて署名した署名付きライセンス情報を生成して前記不揮発性メモリを更新する
請求項８に記載の半導体装置モジュール。
【請求項１１】
クラス情報によって署名された署名付きメンテナンス情報を読出し、
固有情報記憶部からクラス情報を読出して、前記署名付きメンテナンス情報の認証を行い、
前記メンテナンス情報に基づくライセンス情報を前記固有情報記憶部から読出した個別識別情報を用いて署名して署名付きライセンス情報を生成し、
生成した前記署名付きライセンス情報を不揮発性メモリに記憶させ、
前記不揮発性メモリに記憶された前記ライセンス情報に基づく設定値をレジスタに設定する
ライセンス設定方法。
【請求項１２】
コンピュータに、
クラス情報によって署名された署名付きメンテナンス情報を読出し、
固有情報記憶部からクラス情報を読出して、前記署名付きメンテナンス情報の認証を行い、
前記メンテナンス情報に基づくライセンス情報を前記固有情報記憶部から読出した個別識別情報を用いて署名して署名付きライセンス情報を生成し、
生成した前記署名付きライセンス情報を不揮発性メモリに記憶させ、
前記不揮発性メモリに記憶された前記ライセンス情報に基づく設定値をレジスタに設定する
手順を実行させるためのライセンス設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体装置モジュール、ライセンス設定方法及びライセンス設定プログラムに関する。
【背景技術】
【０００２】
従来、１つの半導体チップ上に、必要とする所定の機能を集積するＳｏＣ（システムオンチップ）が各種電子機器等に搭載されている。例えば、映像鮮明化処理を実現するＳｏＣが開発されており、このＳｏＣを含む半導体装置モジュールがカメラ等の撮影装置に搭載されることもある。
【０００３】
ところで、ＳｏＣ等の半導体装置において、搭載されている複数の機能を実現するために、ライセンス情報が必要な場合がある。ライセンサは、チップの機能の有効無効や閾値等のパラメータをライセンス情報としてユーザに提供し、ユーザ等はライセンス情報を機器に設定する。これにより、機器において実現可能な機能をライセンスに応じて制限することが可能となる。例えば、ライセンス情報によって、半導体装置で実現可能な全機能のうちの一部の機能のみを実行可能に制御することもできる。半導体装置は、起動時に、例えばメモリに格納されたライセンス情報を読み出し、ライセンス情報によって許可された範囲で、各種機能を実行する。
【０００４】
ライセンスの形態としては、例えば映像鮮明化プロセスを鮮明化の程度に応じて低レベル、中レベル、高レベルに分け、ライセンス情報によっていずれのレベルまで半導体装置が実現できるかを指定する方法がある。例えば、ライセンス情報によって低レベルが指定された場合には、その半導体装置は映像鮮明化プロセスの低レベルの機能しか実行できない。このような半導体装置モジュールをカメラに組み込むことで、カメラにおいて、映像鮮明化処理をライセンスに応じた範囲で実現させることができる。
【０００５】
実現可能な機能のアップデート等を考慮した場合、ライセンス情報は、半導体装置モジュール上の書込み可能な不揮発性メモリ等に格納しておくことが考えられる。しかしながら、権限を有するユーザの電子機器等（以下、ライセンス対象機器という）において使用されるべきライセンス情報がコピーされて他の電子機器において設定された場合には、本来権限を有しないユーザの電子機器等（以下、非ライセンス対象機器という）において、より高レベルの機能が実現されてしまう虞があるという問題がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１１２４１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の実施形態は、ライセンス対象機器においてのみライセンス情報を利用可能とすることができる半導体装置モジュール、ライセンス設定方法及びライセンス設定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態の半導体装置モジュールは、個別識別情報及びクラス情報を記憶する固有情報記憶部と、前記クラス情報によって署名された署名付きメンテナンス情報の認証処理を行うと共に、前記メンテナンス情報に基づくライセンス情報であって、前記個別識別情報を用いて署名した署名付きライセンス情報を生成して不揮発性メモリに記憶させる制御部と、前記制御部によって前記ライセンス情報に基づく設定値が設定されるレジスタとを具備する。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施の形態に係る半導体装置モジュールを示すブロック図。
【図２】ＩＣ固有情報記憶部１４に記憶される情報を説明するための説明図。
【図３】メンテナンスファイルに含まれる情報を説明するための説明図。
【図４】ライセンスファイルに含まれる情報を説明するための説明図。
【図５】半導体装置モジュールが製造されてからユーザにより利用されるまでの間のライセンスに関するアクションを記述した説明図。
【図６】制御部１２によるライセンス設定を示すフローチャート。
【図７】本発明の第２の実施の形態において採用される動作フローを示すフローチャート。
【図８】半導体装置モジュール１が組み込まれたカメラ３０を示すブロック図。
【図９】第２の実施の形態において半導体装置モジュールが製造されてからユーザによる利用までの間のライセンスに関するアクションを記述した説明図。
【図１０】アップデート用のメンテナンスファイルを説明するための説明図。
【図１１】本発明の第３の実施の形態において採用される動作フローを示すフローチャート。
【図１２】第３の実施の形態において半導体装置モジュールが製造されてからユーザにより利用されるまでの間のライセンスに関するアクションを記述した説明図。
【図１３】サブクラス情報の不揮発性メモリ２０への設定処理を示すフローチャート。
【図１４】不揮発性メモリ２０に記憶されたサブクラスファイルを説明するための説明図。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
（第１の実施の形態）
図１は本発明の第１の実施の形態に係る半導体装置モジュールを示すブロック図である。本実施の形態においては、ライセンスは半導体装置モジュール毎に設定されるようになっており、ライセンス対象機器とは、当該半導体装置モジュールが組み込まれる電子機器等の機器だけでなく、ライセンスが設定された半導体装置モジュールそのものを指すこともある。
【００１１】
上述したように、ライセンス情報は、半導体装置モジュール内の不揮発性メモリ等に記憶させることができる。半導体装置内のプロセッサ等は、例えば起動時に、不揮発性メモリからライセンス情報を読み出してレジスタに設定する。以後、半導体装置は、このレジスタの値を用いてライセンス情報によって指定された機能までの実行が可能となる。
【００１２】
権限のない非ライセンス対象機器におけるライセンス情報の使用（以下、不正使用という）を防止するために、ライセンス情報に署名を施し、半導体装置においてライセンス情報の認証処理ができない場合には、ライセンス情報の使用を許可しないという手法を採用することが考えられる。例えば、半導体装置上に、１度のみプログラム可能な電子フィーズ等のＩＣ固有情報記憶部を設け、このＩＣ固有情報記憶部に各半導体装置モジュール固有の識別情報（以下、個別識別情報という）を記憶させる。そして、この個別識別情報によってライセンス情報に署名を施す。ライセンサは、例えば、半導体装置モジュールの製造時に、各半導体装置モジュールの不揮発性メモリに、それぞれの半導体装置モジュールの個別識別情報によって署名されたライセンス情報を記憶させる。
【００１３】
半導体装置のプロセッサは、ＩＣ固有情報記憶部に記憶された個別識別情報を用いて、署名されたライセンス情報を認証する。半導体装置のプロセッサは、他のライセンス対象機器用のライセンス情報については、認証することができず、ライセンス情報に応じた設定を行うことはできない。こうして、ライセンス対象機器においてのみ、当該ライセンス対象機器用のライセンス情報を利用可能とすることができる。
【００１４】
しかしながら、この手法では、各半導体装置モジュール毎に、固有の個別識別情報によって署名されたライセンス情報を生成して記憶させる必要がある。つまり、各半導体装置モジュール毎に製造を管理する必要があり、製造コストが著しく増大してしまう。
【００１５】
そこで、本実施の形態においては、ライセンスを複数のクラスに分け、クラス毎に認証可能なライセンス情報を用いる。例えば、ライセンスを、高レベルの機能を許可するクラスと、中レベルの機能を許可するクラスと、低レベルの機能を許可するクラスの３クラスに分けた場合、これらの３クラスに対応した３種類の情報でライセンス情報を署名することで、クラス毎にライセンス情報を認証させることができる。クラス分けの方法として、例えば、機能の制限の仕方に応じたクラス分けを採用した場合、一般に、クラスの数は、出荷される半導体装置モジュールの数に比べて著しく少なくなると考えられる。
【００１６】
ライセンスのクラス分けの方法としては種々の方法を採用することができる。例えば、クラスを５つに分け、Ａ社〜Ｅ社に提供する半導体装置モジュールについて、各会社毎に認証可能なライセンス情報を生成することも可能である。ライセンスのクラス数が、出荷される半導体装置モジュール数よりも十分に少なければ、ライセンス情報の生成及び不揮発性メモリへの記憶を含む製造時のコストを著しく低減することが可能である。
【００１７】
図１において、半導体装置モジュール１は、ＳｏＣ等の半導体装置１０及び不揮発性メモリ２０を有している。本実施の形態においては、不揮発性メモリ２０には、少なくとも、ライセンス情報を含むライセンスファイルを記憶するライセンス情報記憶領域２０ａとメンテナンス情報を含むメンテナンスファイルを記憶するメンテナンス情報記憶領域２０ｃとが設けられる。更に、不揮発性メモリ２０は認証プログラムを記憶するプログラム記憶領域２０ｂを有していてもよい。
【００１８】
本実施の形態においては、後述するアップデート等のために、半導体装置モジュール１の製造時にライセンス情報を直接不揮発性メモリ２０に書き込むのではなく、ライセンス情報を生成するためのメンテナンスファイルをメンテナンス情報記憶領域２０ｃに記憶させるようになっている。また、後述するように、ライセンス情報記憶領域２０ａには、メンテナンス情報記憶領域に記憶されたメンテナンスファイルに基づいて生成されたライセンスファイルが記憶されるようになっている。
【００１９】
半導体装置１０は、所定の機能を実現する機能回路部１１と、制御部１２とを有する。制御部１２は、例えば、ＣＰＵ等のプロセッサにより構成されて、図示しないＲＯＭやメモリ１５に記憶されたプログラムに従ってメモリ１５を作業用メモリとして動作するものであってもよい。制御部１２は、メンテナンスファイルを認証してライセンスファイルを生成する処理、ライセンスファイルを不揮発性メモリ２０に格納する処理、不揮発性メモリ２０に格納されたライセンスファイルを読出して、ライセンス情報に基づく設定情報をレジスタ１３に格納する処理、レジスタ１３に格納された設定情報に基づいて機能回路部１１を制御する処理等を行う。なお、制御部１２は、ファームウェアとして供給されるプログラムに従って、これらの処理を実行するようになっていてもよい。なお、機能回路部１１は、制御部１２を介することなく、直接レジスタ１３の設定情報を参照するようになっていてもよい。
【００２０】
なお、制御部１２は、不揮発性メモリ２０に格納された認証プログラムに基づいて、メンテナンスファイルの認証からライセンスファイルの生成及び格納処理までを実行するようになっている。認証プログラムは、他の認証システムによって認証されることで、セキュアなブートが可能となっている。なお、認証プログラムは、不揮発性メモリ２０に格納されていなくてもよく、半導体装置モジュール１の外部から読み込んでもよく、半導体装置モジュール１内の図示しないＲＯＭ等に格納されていてもよい。認証プログラムを外部から取り込む場合には、改ざん検証が可能な構成とする必要がある。
【００２１】
レジスタ１３は、ライセンス情報に基づく設定情報を記憶する。例えば、設定情報としては、機能回路部１１の機能をいずれのレベルに制限するかを規定する機能レベルの情報等がある。
【００２２】
機能回路部１１は、所定の機能を実現するハードウェアによって構成されており、制御部１２に制御されて、レジスタ１３に格納された設定情報に基づく機能レベルで動作する。例えば、機能回路部１１は、映像鮮明化処理を実行する回路によって構成されており、映像鮮明化処理のレベルがライセンス情報に基づく機能レベルに従って制限されるようになっている。
【００２３】
また、機能回路部１１は、ハードウェアによって処理を実現するものに限らず、ソフトウェア処理によって処理を実現するものであってもよい。さらに、機能回路部１１は、ライセンスによって動作が決定される機能がハードウェアで実現されるが、ライセンスには関わらない処理として補助的なソフトウェア（デバイスドライバ等）という構成もありうる。その場合、ソフトウェアを改ざん検証したり、レジスタ１３を機能回路部１１からは変更できない形で実現する方がよい。即ち、制御部１２のみがレジスタ１３にライセンスに基づく設定を行うことができるように構成する。機能回路部１１がソフトウェアによって構成される場合でも、ライセンス情報によって、ソフトウェア処理のレベルを制限することができることは明らかである。なお、機能回路部１１がハードウェアによって機能を実現する場合にはユーザによる改ざんは比較的困難であるが、ソフトウェアによって機能を実現する場合にはソフトウェアの改ざんが比較的容易であるので、ソフトウェア自体を改ざん等から保護する機能を別途備えた方がよい。
【００２４】
なお、機能回路部１１の機能は映像鮮明化処理に限定されるものではない。例えば、機能回路部１１がノイズリダクション処理を実行するものであってもよく、この場合にもノイズリダクションのレベルをライセンス情報によって制限することができる。更に、ライセンス情報は、機能回路部１１を制御するものだけでなく、半導体装置モジュール１の全体を制御するものであってもよい。例えば、ライセンス情報は、半導体装置１０の動作速度の制限等、リソースの制限情報であってもよい。
【００２５】
ＩＣ固有情報記憶部１４は、半導体装置１０上においてハードウェアによって構成された情報保持部であり、製造時等において情報を記憶させることができる。なお、ＩＣ固有情報記憶部１４は、ハードウェアに物理的に情報の書込みが行われることから、通常は記憶された情報の改ざんは不可能であると考えてよい。
【００２６】
図２はＩＣ固有情報記憶部１４に記憶される情報を説明するための説明図である。本実施の形態においては、各半導体装置モジュール１をライセンスのクラスに対応する複数のクラスに分類する。図２に示すように、ＩＣ固有情報記憶部１４には、各クラス毎に識別可能な情報（以下、クラス情報という）が記憶されるようになっている。また、ＩＣ固有情報記憶部１４には、各半導体装置モジュール１に固有の個別識別情報も記憶されている。
【００２７】
半導体装置モジュール１の製造者は、ライセンスのクラス毎に認証可能なメンテナンスファイルを各半導体装置モジュール１に提供する。この認証のために、半導体装置モジュール１の製造者は、ライセンスに応じた情報をクラス情報によって署名することで署名付きメンテナンス情報を含むメンテナンスファイルを生成する。
【００２８】
図３はメンテナンスファイルに含まれる情報を説明するための説明図である。図３に示すように、メンテナンスファイルは、所定のクラスに設定されたライセンス情報を生成するためのメンテナンス情報を含む。例えば、メンテナンス情報には、上述した低中高等の機能レベルを示すレベル情報等のライセンス情報が含まれる。また、メンテナンスファイルは、認証用クラス情報を含む。
【００２９】
半導体装置モジュールの製造者は、生成したメンテナンスファイルを、対応するクラスの半導体装置モジュール１上の不揮発性メモリ２０に記憶させるようになっている。
【００３０】
なお、各半導体装置モジュール１に固有の個別識別情報は、各半導体装置１０の製造後でなければ知ることはできないのに対し、クラス情報は半導体装置１０の製造前に予め決定しておくことができる。このため、ＩＣ固有情報記憶部１４にクラス情報を記憶させると共に、クラス情報による署名付きのメンテナンス情報を含むメンテナンスファイルを生成して不揮発性メモリ２０に記憶させておく工程の管理は比較的容易である。しかも、上述したように、製造時には、各半導体装置モジュール１を個別に管理する必要はなく、クラス単位で管理すればよく、製造コストの低減が図れる。
【００３１】
本実施の形態においては、制御部１２は、認証プログラムに基づいて、ＩＣ固有情報記憶部１４に記憶されているクラス情報を用いてメンテナンスファイルを認証（以下、クラス認証ともいう）する。ＩＣ固有情報記憶部１４に記憶されたクラス情報とメンテナンスファイルに含まれる認証用クラス情報とが一致した場合には、制御部１２は不揮発性メモリ２０から読出したメンテナンスファイルのクラス認証が成功したものと判定する。制御部１２は、クラス認証されたメンテナンスファイルについては、認証プログラムに基づいて、メンテナンス情報から得たライセンス情報を生成し、生成したライセンス  情報に、ＩＣ固有情報記憶部１４に記憶されている個別識別情報を用いて署名を行う。制御部１２は、認証プログラムに基づいて、個別識別情報によって署名されたライセンス情報（以下、署名付きライセンス情報という）を不揮発性メモリ２０のライセンス情報記憶領域にライセンスファイルとして記憶させる。
【００３２】
図４はライセンスファイルに含まれる情報を説明するための説明図である。図４に示すように、ライセンスファイルは、ライセンス情報と認証用個別識別情報とを含む。制御部１２は、認証プログラムに基づいて、ＩＣ固有情報記憶部１４に記憶されている個別識別情報を用いて、ライセンスファイルを認証（以下、個別認証という）することができるようになっている。
【００３３】
なお、上述したクラス認証及び個別認証には、既存の認証技術を採用することができる。例えば、制御部１２は、認証プログラムにおいてＣｉｐｅｒＭＡＣ等を採用し、クラス情報又は個別識別情報を鍵としてデータの有効性を示す署名情報（認証用クラス情報又は認証用個別識別情報）を生成することができる。そして、制御部１２は、認証プログラムを用いて、これらの署名情報がクラス情報又は個別識別情報に基づいて生成されたことを認証することができる。
【００３４】
また、例えば、制御部１２は、ＲＳＡ、楕円暗号等を用いた公開鍵暗号によって署名情報の生成、認証を行うこともできる。 この場合は、例えば、ライセンサが生成した公開鍵は認証プログラム中に含めておき、秘密鍵を用いてメンテナンスファイルを署名することができる。
【００３５】
制御部１２は、ライセンス情報記憶領域２０ａに署名付きライセンス情報を記憶させた後は、認証プログラムに基づいて、メンテナンス情報記憶領域に記憶されているメンテナンスファイルを消去するようにしてもよい。ライセンス情報記憶領域２０ａに記憶された署名付きライセンス情報は、各半導体装置のＩＣ固有情報記憶部１４に記憶させた個別識別情報によって署名されていることから、他の半導体装置モジュール１において認証することはできない。従って、ライセンス情報記憶領域２０ａに記憶された署名付きライセンス情報をコピーして他の半導体装置モジュール１において不正使用することはできない。
【００３６】
なお、メンテナンス情報記憶領域２０ｃに記憶されているメンテナンスファイルは、同一クラスの半導体装置モジュール１においてのみ認証可能であるので、このメンテナンス情報がコピーされて他の半導体装置モジュール１において利用されたとしても、ライセンス上の実害は殆どないものと考えられる。従って、ライセンス情報記憶領域２０ａに署名付きライセンス情報を記憶させた後に、メンテナンス情報記憶領域２０ｃに記憶されているメンテナンスファイルを消去せずに残しておいてもよい。
【００３７】
次に、このように構成された実施の形態の動作について図５及び図６を参照して説明する。図５は半導体装置モジュールが製造されてからユーザにより利用されるまでの間のライセンスに関するアクションを記述した説明図であり、図６は制御部１２によるライセンス設定を示すフローチャートである。
【００３８】
図５に示すように、製造者はライセンスの各クラスに応じたライセンス情報を取得する。各クラスのライセンス情報は、対応するクラスの半導体装置モジュール１に設定されるものである。なお、ライセンス情報は、ユーザに半導体装置モジュール１を販売する商社等の要求に従って生成される場合もある。
【００３９】
製造者は、半導体装置モジュール１のクラス毎に設定されたライセンス情報を生成するためのメンテナンス情報を、当該クラスを特定するクラス情報を用いて署名して、署名付きメンテナンス情報を生成する。製造者は、図５の初期データ書込みにおいて、生成した署名付きメンテナンス情報をメンテナンスファイルとして、対応する半導体装置モジュール１の不揮発性メモリ２０のメンテナンス情報記憶領域２０ｃに書き込む。なお、製造者は、初期データ書込みにおいて、認証プログラムについても不揮発性メモリ２０の認証プログラム記憶領域２０ｂに書き込む。
【００４０】
なお、図５では示されていないが、ライセンスファイル生成までに、ＩＣ固有情報記憶部１４の情報の書込みを含む半導体装置１０の製造は完了している。
【００４１】
初期データ書込みの段階では、不揮発性メモリ２０には、ライセンスファイルは格納されていない。ユーザの通常起動に際して、ライセンスファイルが不揮発性メモリ２０のライセンス情報記憶領域２０ａに格納されている必要がある。そこで、図５の例は、ライセンスファイルの書込みを製造者が行う例を示している。なお、半導体装置モジュール１の出荷後に、ユーザにおいてライセンスファイルの書込みを行うようにしてもよいことは明らかである。
【００４２】
図６のフローは図５のライセンスファイルの生成の際に採用可能なフローを示している。図６のフローは半導体装置１０内の制御部１２による処理を示しており、図５のライセンスファイルの生成のための初期メンテナンスモードだけでなくライセンスファイル生成後の通常起動時においてライセンス認証を行う通常モードの２つのモードの処理を含むものである。図６のステップＳ３〜Ｓ８は初期メンテナンスモードの処理を示しており、ステップＳ９〜Ｓ１２は通常モードの処理を示している。なお、初期メンテナンスモードが単独で実行できるように構成されていてもよい。
【００４３】
図６のステップＳ１では半導体装置モジュール１が起動される。制御部１２は、不揮発性メモリ２０から認証プログラムを読み込んで、ライセンスに関する処理を実行する。先ず、制御部１２は、ステップＳ２において、ライセンス情報記憶領域２０ａにライセンスファイルが格納されているか否かを判定する。図５のライセンスファイルの生成前には、ライセンスファイルは格納されていないので、制御部１２は、初期メンテナンスモードに移行して、不揮発性メモリ２０からメンテナンスファイルの読込みを行う（ステップＳ３）。
【００４４】
次に、制御部１２は、ＩＣ固有情報記憶部１４に記憶されているクラス情報を読み出し、読出したクラス情報を用いて、メンテナンスファイルのクラス認証を試みる（ステップＳ４）。初期書込みにおいて、ＩＣ固有情報記憶部１４に記憶されているクラス情報よって署名された署名付きメンテナンス情報がメンテナンス情報記憶領域２０ｃに格納されているので、制御部１２は認証に成功する。制御部１２は、認証に成功すると（ステップＳ５）、メンテナンスファイルに含まれるメンテナンス情報からライセンス情報を生成する共に、ＩＣ固有情報記憶部１４に記憶されている個別識別情報を読出し、ライセンス情報を個別識別情報によって署名する。こうして、制御部１２は、署名付きライセンス情報を生成して（ステップＳ６）、ライセンスファイルとしてライセンス情報記憶領域２０ａに格納する（ステップＳ７）。次に、制御部１２は、半導体装置１０を再起動して、初期メンテナンスモードを終了する。なお、ライセンスファイルの記憶処理からライセンスファイルの読出し処理の間には必ずしも再起動は必要ではなく、初期メンテナンスモードから通常モードに連続的に移行する場合には再起動を省略してもよい。
【００４５】
こうして、初期メンテナンスモードにおいて、メンテナンスファイルに基づく正規のライセンスファイルが生成されて、不揮発性メモリ２０に記憶される。なお、メンテナンスファイル等の流出等より、メンテナンスファイルが不正に不揮発性メモリ２０に格納された場合でも、ライセンスのクラスと半導体装置モジュールのクラスとが対応しない場合には、ステップＳ５においてメンテナンスファイルの認証失敗と判定される。この場合には、ライセンスファイルが生成されることなく処理が終了する。従って、メンテナンスファイルの流出に際しても、影響を受ける半導体装置モジュールを限定でき、セキュリティリスクを低減することができる。
【００４６】
出荷後等においては、ライセンス情報記憶領域２０ａにライセンスファイルが格納されており、制御部１２は、ステップＳ２から通常モードに移行して、ライセンスファイルの読出しを行う（ステップＳ９）。次に、制御部１２は、ＩＣ固有情報記憶部１４に記憶されている個別識別情報を読出し、読出した個別識別情報を用いて、ライセンスファイルの個別認証を試みる（ステップＳ１０）。ライセンスファイルがＩＣ固有情報記憶部１４に記憶されている個別識別情報よって署名されたライセンス情報を含む場合にのみ、制御部１２は認証に成功する。
【００４７】
ライセンスファイルが認証プログラムに基づいて正規に不揮発性メモリ２０に書込まれた場合には、制御部１２は認証に成功する。制御部１２はステップＳ１１において認証に成功したか否かを判定し、成功した場合にはステップＳ１２においてライセンスファイルに含まれるライセンス情報に基づく設定情報をレジスタ１３に書込む。以後、制御部１２は、レジスタ１３に格納された設定情報に基づいて機能回路部１１の動作を制御する。
【００４８】
一方、他の半導体装置モジュール１からコピーされたライセンス情報が不揮発性メモリ２０に書き込まれている場合等のように、不正に取得されたライセンスファイルが不揮発性メモリ２０に格納されている場合には、当該ライセンスファイルに含まれる認証用個別識別情報とＩＣ固有情報記憶部１４から読出された個別識別情報とが異なることから、制御部１２は認証に失敗する。この場合には、レジスタ１３に設定情報が書き込まれることなく処理が終了する。従って、ライセンスファイルがコピーされた場合等においても、不正使用を防止することができる。
【００４９】
このように本実施の形態においては、ライセンスをクラス分けし、このクラス分けに対応して半導体装置モジュールをクラス分けする。そして、各半導体装置モジュールのクラスを示すクラス情報を用いてライセンス情報を生成するためのメンテナンス情報を署名し、署名付きのメンテナンス情報を半導体装置モジュールに記憶させる。一方、半導体装置には、クラス情報及び各半導体装置モジュールに固有の個別識別情報を記憶させ、制御部はクラス情報を用いてメンテナンス情報を認証する。同一クラスに属するメンテナンスファイルは、対応した同一クラスに属する半導体装置モジュールのみにおいて認証可能であり、他のクラスに属する半導体装置モジュールでは認証することができない。これにより、メンテナンスファイルの不正使用を防止することができる。
【００５０】
更に、認証したメンテナンス情報から得たライセンス情報を各半導体装置モジュールの個別識別情報を用いて署名してライセンスファイルを生成して格納することで、以後、ライセンスファイルは、当該半導体装置モジュールのみにおいて認証可能となる。これにより、ライセンスファイルの不正使用を一層確実に防止することができる。
【００５１】
また、半導体装置の製造前に予め決定しておくことができるクラス情報を用いてメンテナンス情報を署名して生成したメンテナンスファイルを不揮発性メモリに書込めばよく、製造時の工程の管理が容易であり、また管理をクラス単位で行えばよく、製造コストを低減することが可能である。
【００５２】
なお、製造時に不揮発性メモリ２０に記憶される署名付きメンテナンス情報は、クラス認証によって使用可能となるので、同一クラスの半導体装置モジュールのみにおいて利用可能である。従って、後述するアップデート等を考慮しなければ、必ずしも、認証後のメンテナンス情報から個別識別情報によって署名したライセンス情報を生成する必要はなく、クラス情報によって署名されたライセンス情報を生成して記憶させるようにしてもよい。
（第２の実施の形態）
図７は本発明の第２の実施の形態において採用される動作フローを示すフローチャートである。図７において図６と同一の手順には同一符号を付して説明を省略する。本実施の形態は第１の実施の形態と同様のハードウェア構成によって実現することができる。図８は半導体装置モジュール１が組み込まれたカメラ３０を示すブロック図である。図８において図１と同一の構成要素には同一符号を付して説明を省略する。
【００５３】
本実施の形態は、不正使用を確実に防止ながら半導体装置モジュール１のアップデート等を可能にするものである。なお、アップデート等とは、アップデート、アップグレード、バージョンアップ、ダウングレード、バージョンダウン等のライセンスの内容を更新することをいう。本実施の形態においては、半導体装置モジュール１は、アップデート等に際して、ライセンスファイルをアップデート等の内容に応じて更新するためのメンテナンス情報を外部から取り込むようになっている。
【００５４】
図８に示すように、半導体装置モジュール１には、メンテナンスモードを指定するためのモード信号が入力される端子１６及びメンテナンスファイルを取り込むための端子１７が設けられている。半導体装置モジュール１はカメラ３０内に組み込まれている。カメラ３０内にはカメラ制御部３１及び通信部３２が設けられている。なお、カメラ３０内には、撮像部、画像処理部、記録部、表示部等の撮影に関する各種回路部も構成されているが図示を省略する。
【００５５】
カメラ制御部３１は、ユーザ操作に基づいてメンテナンスモードを設定するためのモード信号を発生して、半導体装置モジュール１の端子１６に出力することができるようになっている。また、通信部３２はカメラ制御部３１によって制御されて動作する。通信部３２は、外部からメンテナンスファイルを受信すると、受信したメンテナンスファイルを端子１７を介して半導体装置モジュール１に供給することができるようになっている。
【００５６】
なお、図８の例では、カメラ制御部３１がモード信号を発生して半導体装置モジュール１に与え、通信部３２が外部からメンテナンスファイルを受信して半導体装置モジュール１に与える例を示しているが、半導体装置モジュール１へのモード信号及びメンテナンスファイルの入手経路は、どのようなものであってもよい。例えば、端子１７に接続された各種インタフェースを介してメンテナンスファイルを半導体装置モジュール１に取り込むことが可能であり、例えば、メモリ媒体やパーソナルコンピュータ等からメンテナンスファイルを取り込むことが可能である。また、端子１６を設けることなく、半導体装置モジュール１にモードを設定するためのスイッチ等を設けることによって、メンテナンスモードに移行するようになっていてもよい。
【００５７】
図９は第２の実施の形態において半導体装置モジュールが製造されてからユーザにより利用されるまでの間のライセンスに関するアクションを記述した説明図である。図９の例は、カメラメーカがアップデート用のメンテナンス情報を生成してユーザに提供すると共に、ユーザがライセンスファイルを生成して通常起動を行うアクションが追加されている点が図５の例と異なる。なお、図９ではカメラメーカがアップデート用のメンテナンス情報を生成する例を示したが、製造者、又は商社等においてアップデート用のメンテナンス情報を生成するようにしてもよい。
【００５８】
図１０はアップデート用のメンテナンスファイルを説明するための説明図である。図１０に示すように、アップデート用のメンテナンスファイルは、所定のユーザのライセンス対象機器又は所定のクラスに設定されたライセンス情報を生成するためのメンテナンス情報を含む。例えば、メンテナンス情報には、上述した低中高等の機能レベルを示すレベル情報等のライセンス情報が含まれる。また、メンテナンスファイルは、認証用クラス情報及び認証用個別識別情報の少なくとも一方を含む。
【００５９】
例えば、特定の個人のカメラ３０内に組み込まれた半導体装置モジュール１のみをアップデートする場合には、メンテナンスファイルには、少なくとも認証用個別識別情報が含まれる。また、同一クラスの半導体装置モジュール１をアップデートする場合には、メンテナンスファイルには認証用クラス情報のみが含まれる。
【００６０】
製造者、カメラメーカ或いは商社等の販売者は、認証用クラス情報については把握していると考えられるので、所定クラスの半導体装置モジュール１をアップデートする場合には、既知のクラス情報を用いてアップデート用のメンテナンス情報を署名することで、認証用クラス情報を含むメンテナンスファイルを得ることができる。
【００６１】
また、製造者、カメラメーカ或いは商社等の販売者は、カメラ３０を購入したユーザのユーザ登録等によって、ユーザが登録した機器のシリアル番号等に基づいて、各ユーザのカメラ３０内に組み込まれた半導体装置モジュール１の個別識別情報を取得して、管理することが可能である。この場合には、カメラメーカ等は、ユーザからアップデートの依頼があった場合等においては、当該ユーザから取得した個別識別情報を用いてアップデート用のメンテナンス情報を署名することで、認証用個別識別情報を含むメンテナンスファイルを得ることができる。
【００６２】
なお、カメラメーカ等が各ユーザの個別識別情報を管理していない場合には、ユーザによって自機の個別識別情報を読み出し可能に構成し、ユーザから自機の個別識別情報をカメラメーカ等に提供するようにしてもよい。例えば、カメラ制御部３１は、カメラ３０に対するユーザ操作に応じて半導体装置１０の制御部１２を制御して、制御部１２がＩＣ固有情報記憶部１４から読出した個別識別情報を転送させて、カメラ３０の図示しない表示部上にその内容を表示させるようにしてもよい。
【００６３】
次に、このように構成された実施の形態の動作について説明する。ユーザが最初に通常モードで起動（通常起動）する前に、例えば製造者による初期メンテナンスモードの実行によって初期データ書込みに基づくライセンスファイルを生成し、このライセンスファイルを利用してユーザが通常起動する点は第１の実施の形態と同様である。
【００６４】
いま、所定のユーザがカメラメーカ等に対してアップデートを希望するものとする。カメラメーカ等は、アップデートの内容に応じたアップデート用メンテナンス情報を生成すると共に、アップデートを希望したユーザの登録情報から、当該ユーザのカメラ３０に組み込まれた半導体装置モジュール１の個別識別情報を取得する。カメラメーカ等は、取得した個別識別情報を用いてメンテナンス情報を署名して署名付きのメンテナンス情報（アップデート用署名付きメンテナンス情報）を生成し、アップデート用メンテナンスファイルとして当該ユーザに提供する。
【００６５】
例えば、カメラ３０の通信部３２は、図示しないネットワークを介してカメラメーカ等からのアップデート用メンテナンスファイルを受信するものとする。通信部３２が受信したアップデート用メンテナンスファイルは、端子１７を介して半導体装置モジュール１に供給される。制御部１２は、端子１７を介して入力されたアップデート用メンテナンスファイルをメモリ１５に格納する。
【００６６】
カメラ制御部３１は、例えばユーザ操作に応じて、メンテナンスモードを実行するためのモード信号を発生する。このモード信号は、端子１６を介して半導体装置モジュール１に与えられる。半導体装置モジュール１の制御部１２は、端子１６を介してメンテナンスモードを実行するためのモード信号が入力されると、メンテナンスモードに移行する。
【００６７】
例えば、制御部１２は、図７のステップＳ２１において、メンテナンスモードが指定されたか否かを判定しており、モード信号によってメンテナンスモードが指定されると、処理をステップＳ２２に移行して、メモリ１５に格納されているアップデート用メンテナンスファイルを読み込む。制御部１２は、認証プログラムに基づいて、認証を行う（ステップＳ２３）。この場合には、アップデート用メンテナンスファイルが個別識別情報を用いて署名されたメンテナンス情報を含むので、制御部１２は、ＩＣ固有情報記憶部１４に記憶されている個別識別情報を読み出し、読出した個別識別情報を用いて、アップデート用メンテナンスファイルの認証を試みる。メンテナンスファイルに含まれる認証用個別識別情報とＩＣ固有情報記憶部１４に記憶されている個別識別情報とが一致している場合には、認証は成功する。両者が不一致の場合には、認証は失敗する。
【００６８】
以後、ステップＳ５以降の処理は、第１の実施の形態と同様である。即ち、メンテナンスファイルの認証が成功した場合には、メンテナンスファイルからアップデート用のメンテナンス情報が取得され、このメンテナンス情報からライセンス情報が生成される。更に、生成されたライセンス情報は、個別識別情報によって署名されたのち、ライセンスファイルとして不揮発性メモリ２０のライセンス情報記憶領域２０ａに格納される。こうしてライセンスファイルが更新され、以後、アップデートされたライセンス情報に基づいてレジスタ１３の設定情報が更新され、機能回路部１１等の機能がアップデートされる。
【００６９】
なお、制御部１２は、ステップＳ５において認証に失敗したものと判定した場合には処理を終了し、アップデートは行われない。アップデート用メンテナンスファイルは個別識別情報によって署名されたメンテナンス情報を含むことから、アップデートを希望したユーザのカメラ３０に組み込まれた半導体装置モジュール１のみにおいて認証可能であり、他の半導体装置モジュール１では認証されることはない。従ってライセンス対象機器のみにおいて確実にアップデートが可能であると共に、非ライセンス対象機器においてはアップデートすることができない。
【００７０】
なお、アップデート用メンテナンスファイルがクラス情報のみによって署名されたメンテナンス情報を含む場合には、同一クラスに属するライセンス対象機器のみにおいて確実にアップデートが可能であると共に、同一クラスに属さない非ライセンス対象機器においてはアップデートすることができないことは明らかである。
【００７１】
なお、制御部１２は、ライセンスファイルの更新後は、メモリ１５に記憶されたアップデート用メンテナンスファイルを削除してもよい。一方、初期データ書込み時のメンテナンスファイルは、不揮発性メモリ２０に記憶させたままにしておくことも考えられる。この場合には、何らかの理由によりライセンスファイルが消去された場合でも、初期状態のメンテナンスファイルに基づいて、ライセンスファイルを新たに生成して機能回路部１１等を動作させることが可能である。
【００７２】
また、例えば、ライセンスのクラスが機能レベルに応じて分類されている場合において、初期データ書込みに用いるメンテナンス情報として最も低い機能レベルを設定しておく運用も可能である。この場合には、アップデートによって機能レベルを上げればよい。不揮発性メモリ２０に残しておくことが可能なメンテナンスファイルに設定される機能レベルを最も低くすることでリスクを最低限にすると共に、個別識別情報による署名付きのメンテナンス情報をアップデート等において用いることにより、ライセンス対象機器に対して確実なアップデート等を保証することができる。
【００７３】
このように本実施の形態においては、第１の実施の形態と同様の効果が得られると共に、アップデート等においては、クラス情報及び個別識別情報の少なくとも一方を用いて署名されたメンテナンス情報を用いて、ライセンスファイルを更新するようになっており、ライセンス対象機器のみにおいて確実なアップデートが可能である。
（第３の実施の形態）
図１１は本発明の第３の実施の形態において採用される動作フローを示すフローチャートである。図１１において図７と同一の手順には同一符号を付して説明を省略する。本実施の形態は第１及び第２の実施の形態と同様のハードウェア構成によって実現することができる。本実施の形態においても半導体装置モジュール１がカメラ３０に組み込まれた図８の例を用いて説明する。
【００７４】
第１及び第２の実施の形態においては、個別認証又はクラス認証により、個別のライセンス対象機器又はクラス毎のライセンス対象機器のみにおいて確実なアップデート等を可能にした。半導体装置モジュール１のクラス数が比較的少ない場合には、同一クラスに属する半導体装置モジュール１の数が膨大となる可能性があり、クラス毎のアップデートを採用しにくいことが考えられる。また、少量品向けに、同一クラスに属する半導体装置モジュール１の数を少なくしたクラスを新たに設定すると、製造コスト上不利になることも考えられる。
【００７５】
そこで、本実施の形態においては、第１及び第２の実施の形態と同様のクラス及びクラス認証の仕様を変更することなく、同一クラス内において半導体装置モジュール１を更に分類するためのサブクラスを新たに設定するようになっている。本実施の形態においては、ＩＣ固有情報記憶部１４の仕様は変更せず、不揮発性メモリ２０内にサブクラス情報を記憶させるようになっている。
【００７６】
なお、サブクラスを特定するサブクラス情報は、同一クラス内で他のサブクラスと区別可能なだけではなく、他のクラス内のサブクラスとも区別可能な一意の情報に設定する。アップデート等において、サブクラス情報を用いてメンテナンス情報を署名することにより、当該サブクラス情報が設定された同一サブクラス内の半導体装置モジュール１のみにおいて、メンテナンスファイルの認証及びライセンスファイルの更新が可能となる。
【００７７】
しかし、不揮発性メモリ２０内の情報は改ざんされる可能性がある。そこで、本実施の形態においては、サブクラス情報をＩＣ固有情報記憶部１４に記憶された個別識別情報を用いて署名して得た署名付きサブクラス情報をサブクラスファイルとして不揮発性メモリ２０に記憶させるようになっている。
【００７８】
図１２は第３の実施の形態において半導体装置モジュールが製造されてからユーザにより利用されるまでの間のライセンスに関するアクションを記述した説明図である。図１２の例は、カメラメーカが製造者から取得した半導体装置モジュール１に対して、サブクラス情報を生成し、署名付きサブクラス情報を書込んだ後、ユーザに提供するアクションが追加されている点が図９の例と異なる。なお、図１２ではカメラメーカがサブクラス情報の生成及び署名付きサブクラス情報の書込みを行う例を示したが、製造者、又は商社等においてこれらのアクションを行ってもよい。また、署名付きサブクラス情報の書込みは、初期データ書込み以降、ユーザへの出荷までの間に行えばよく、例えば、ライセンスファイルの生成前に行ってもよい。
【００７９】
図１３はサブクラス情報の不揮発性メモリ２０への設定処理を示すフローチャートである。サブクラス情報は、例えば図８の端子１７を介して半導体装置モジュール１に取り込むことができる。また、サブクラス情報を不揮発性メモリ２０に設定するためのコマンドについては端子１６を介して半導体装置モジュール１に与えることができる。なお、サブクラス情報の不揮発性メモリ２０への書込みは、半導体装置モジュール１をカメラ３０に組み込む前に行ってもよい。
【００８０】
なお、本実施の形態においても、サブクラス情報及びサブクラス情報を不揮発性メモリ２０に設定するためのコマンドの入手経路は、どのようなものであってもよい。制御部１２は、端子１７を介してサブクラス情報が入力されると、このサブクラス情報をメモリ１５に格納する。制御部１２は、サブクラス情報を不揮発性メモリ２０に設定するためのコマンドが端子１６を介して半導体装置モジュール１に与えられると、ステップＳ３５において、メモリ１５からサブクラス情報を取得する。
【００８１】
制御部１２は、ステップＳ３６において、ＩＣ固有情報記憶部１４に記憶されている個別識別情報を読出し、個別識別情報によってサブクラス情報を署名して、署名付きサブクラス情報を生成する（ステップＳ３７）。制御部１２は、生成した署名付きサブクラス情報をサブクラスファイルとして不揮発性メモリ２０に記憶させる（ステップＳ３８）。
【００８２】
また、ステップＳ３５で取得したサブクラス情報は、クラス情報で署名されていてもよく、ステップＳ３７で署名付きサブクラス情報を生成する前に、取得したサブクラス情報のクラス認証に成功するかを確認することで、サブクラス情報設定（図１３）の実施者がクラス認証の権限を持っていることを認証することができる。
【００８３】
図１４は不揮発性メモリ２０に記憶されたサブクラスファイルを説明するための説明図である。図１４に示すように、サブクラスファイルは、サブクラスを規定するためのサブクラス情報を含む。また、サブクラスファイルは、認証用個別識別情報を含む。
【００８４】
次に、このように構成された実施の形態の動作について説明する。ユーザが最初に通常起動する前に、例えば製造者による初期メンテナンスモードの実行によって初期データ書込みに基づくライセンスファイルを生成し、このライセンスファイルを利用してユーザが通常起動する点は第１の実施の形態と同様である。本実施の形態においては、ユーザへの出荷前に、不揮発性メモリ２０には、各半導体装置モジュール１に固有の個別識別情報によって署名されたサブクラス情報を含むサブクラスファイルが記憶されている。
【００８５】
いま、カメラメーカ等が所定のクラス内の所定のサブクラスに属する半導体装置モジュール１をアップデートさせるものとする。サブクラス情報は製造者やカメラメーカ等において生成されており、カメラメーカ等にとって、アップデートさせたい半導体装置モジュール１のサブクラス情報は既知である。カメラメーカ等は、アップデートの内容に応じたアップデート用メンテナンス情報を生成すると共に、アップデートさせるサブクラスのサブクラス情報を用いてアップデート用メンテナンス情報を署名して署名付きメンテナンス情報（アップデート用署名付きメンテナンス情報）を生成し、アップデート用メンテナンスファイルとして当該ユーザに提供する。
【００８６】
例えば、カメラ３０の通信部３２は、図示しないネットワークを介してカメラメーカ等からのアップデート用メンテナンスファイルを受信するものとする。通信部３２が受信したアップデート用メンテナンスファイルは、端子１７を介して半導体装置モジュール１に供給される。制御部１２は、端子１７を介して入力されたアップデート用メンテナンスファイルをメモリ１５に格納する。
【００８７】
カメラ制御部３１は、例えばユーザ操作に応じて、メンテナンスモードを実行するためのモード信号を発生する。このモード信号は、端子１６を介して半導体装置モジュール１に与えられる。半導体装置モジュール１の制御部１２は、端子１６を介してメンテナンスモードを実行するためのモード信号が入力されると、メンテナンスモードに移行する。
【００８８】
例えば、制御部１２は、図７のステップＳ２１において、メンテナンスモードが指定されたか否かを判定しており、モード信号によってメンテナンスモードが指定されると、処理をステップＳ２２に移行して、メモリ１５に格納されているアップデート用メンテナンスファイルを読み込む。
【００８９】
本実施の形態においては、次のステップＳ３１において、アップデート用メンテナンス情報の署名がサブクラス情報を用いて行われているか否かを判定する。制御部１２は、メンテナンス情報の署名がクラス情報又は個別識別情報を用いて行われている場合には、処理をステップＳ２３に移行する。この場合には、第２の実施の形態と同様の動作が行われる。
【００９０】
一方、メンテナンス情報の署名がサブクラス情報を用いて行われている場合には、制御部１２は、処理をステップＳ３２に移行し、サブクラスファイルの認証を行う。即ち、制御部１２は、不揮発性メモリ２０に記憶されたサブクラスファイルを読出すと共に、ＩＣ固有情報記憶部１４から個別識別情報を読み出して、個別識別情報を用いてサブクラスファイルを認証する。不揮発性メモリ２０に記憶されているサブクラスファイルが改ざん等されていない場合には認証は成功し、制御部１２はステップＳ３３からステップ２３に処理を移行して、サブクラスファイルに含まれるサブクラス情報を用いて、メンテナンス情報の認証を行う。以後、第２の実施の形態と同様の動作が行われる。こうして、メンテナンスファイル中の認証用サブクラス情報によって指定されたサブクラスに属する半導体装置モジュール１において、確実にアップデート等が行われる。なお、図１１では、ステップＳ３２のサブクラス認証の後、ステップＳ２３のメンテナンスファイルの認証を行う例を示したが、ステップＳ２３のメンテナンスファイルの認証の後ステップＳ３２のサブクラス認証を行うようにしてもよい。
【００９１】
不揮発性メモリ２０に記憶されているサブクラスファイルが改ざん等されている場合には、制御部１２はステップＳ３３において認証失敗と判定することになり、処理は終了してメンテナンス情報の認証及びライセンスファイルの更新は行われない。これにより、不揮発性メモリ２０に正規のサブクラス情報が記憶されている半導体装置モジュール１以外の非ライセンス対象機器においてはアップデート等は行われない。
【００９２】
このように本実施の形態においては、第１及び第２の実施の形態と同様の効果が得られると共に、不揮発性メモリにサブクラス情報を記憶させていることから、クラス内に設定されるサブクラス単位で、アップデート等が可能である。また、不揮発性メモリに記憶するサブクラス情報は、ＩＣ固有情報記憶部に記憶されている個別識別情報を用いて署名されており、改ざん等による不正使用を確実に防止することができる。
【００９３】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００９４】
１…半導体装置モジュール、１０…半導体装置、１１…機能回路部、１２…制御部、１３…レジスタ、１４…ＩＣ固有情報記憶部、１５…メモリ、２０…不揮発性メモリ。
【図１】
2016095835.tif 000003
【図２】
2016095835.tif 000004
【図３】
2016095835.tif 000005
【図４】
2016095835.tif 000006
【図５】
2016095835.tif 000007
【図６】
2016095835.tif 000008
【図７】
2016095835.tif 000009
【図８】
2016095835.tif 000010
【図９】
2016095835.tif 000011
【図１０】
2016095835.tif 000012
【図１１】
2016095835.tif 000013
【図１２】
2016095835.tif 000014
【図１３】
2016095835.tif 000015
【図１４】
2016095835.tif 000016