(57)【要約】【課題】使用制限されたアプリケーションソフトウェアの不正な使用を防止することのできるマイクロプロセッサを提供する。【解決手段】実施形態のマイクロプロセッサは、プログラムメモリー２のＲＯＭエリア２１に、アプリケーションソフトウェアが格納される。アプリケーション情報メモリー３には、使用制限対象のアプリケーションソフトウェアのプログラムメモリー２上のアドレス範囲ＡＤが記載される。諾否情報メモリー４には、そのアプリケーションソフトウェアの使用諾否情報ＩＤが書き込まれる。スイッチ５は、入力信号をプロセッサコア１へ印加するかしないかを切り替える。判定部６は、プロセッサコア１のＰＣ値がアプリケーション情報メモリー３に記載されたアドレス範囲ＡＤに該当するかどうかを判定し、諾否情報メモリー４に書き込まれた諾否情報ＩＤにもとづいてスイッチ５の切り替えを制御する。【選択図】  図１
2014164412.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサコアと、
ＲＯＭエリアにアプリケーションソフトウェアが格納されたプログラムメモリーと、
使用制限対象のアプリケーションソフトウェアの前記プログラムメモリー上のアドレス範囲が記載されたアプリケーション情報メモリーと、
前記使用制限対象のアプリケーションソフトウェアの使用に関する諾否情報が書き込まれた諾否情報メモリーと、
入力信号を前記プロセッサコアへ印加するかしないかを切り替えるスイッチと、
前記プロセッサコアのプログラムカウンタ値が前記アプリケーション情報メモリーに記載された前記アドレス範囲に該当するかどうかを判定し、該当の場合は前記諾否情報メモリーに書き込まれた前記諾否情報にもとづいて前記スイッチの切り替えを制御する判定部と
を備えることを特徴とするマイクロプロセッサ。
【請求項２】
前記判定部は、前記諾否情報が諾であるときは前記入力信号を前記プロセッサコアへ印加し、前記諾否情報が否であるときは前記入力信号を前記プロセッサコアへ印加しないように、前記スイッチを切り替える
ことを特徴とする請求項１に記載のマイクロプロセッサ。
【請求項３】
前記アプリケーション情報メモリーおよび前記諾否情報メモリーは、ユーザーによる書き換えが不可能である
ことを特徴とする請求項１または２に記載のマイクロプロセッサ。
【請求項４】
前記諾否情報メモリーは、
前記使用制限対象のアプリケーションソフトウェアが複数あるときは、それぞれのアプリケーションソフトウェアごとに前記諾否情報が書き込まれている
ことを特徴とする請求項１乃至３のいずれか１項に記載のマイクロプロセッサ。
【請求項５】
前記プロセッサコアが、ＲＯＭコレクション機能を有する
ことを特徴とする請求項１乃至４のいずれか１項に記載のマイクロプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、マイクロプロセッサに関する。
【背景技術】
【０００２】
ユーザーによるプログラム設計が可能なプロセッサコアと、そのプログラムが格納されたＲＯＭとを有し、ＲＯＭコレクション機能によりＲＯＭ上のプログラムを修正することのできるマイクロプロセッサがある。
【０００３】
また、このＲＯＭには、メーカーが提供するアプリケーションソフトウェア（以降、アプリケーションと称す）が予め書き込まれていることがある。その場合、アプリケーションのライセンスに対応した使用制限が必要なことがある。
【０００４】
この使用制限の方法として、アプリケーション使用制限処理用のプログラムを用意し、該当のアプリケーションの使用許可／不許可を設定する方法がある。該当のアプリケーションの使用を許可しないユーザーに対しては、アプリケーションの使用を「不許可」とする設定がメーカー側で行われる。
【０００５】
ところが、ＲＯＭコレクション機能を悪用すると、アプリケーション使用制限処理用のプログラムを改変し、使用制限の設定自体を無効化することが可能である。これにより、使用制限されているアプリケーションが不正に使用される、という問題が生じる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１２２９３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、使用制限されたアプリケーションソフトウェアの不正な使用を防止することのできるマイクロプロセッサを提供することにある。
【課題を解決するための手段】
【０００８】
実施形態のマイクロプロセッサは、プロセッサコアと、プログラムメモリーと、アプリケーション情報メモリーと、諾否情報メモリーと、スイッチと、判定部とを備える。プログラムメモリーのＲＯＭエリアに、アプリケーションソフトウェアが格納される。アプリケーション情報メモリーには、使用制限対象のアプリケーションソフトウェアの前記プログラムメモリー上のアドレス範囲が記載される。諾否情報メモリーには、前記使用制限対象のアプリケーションソフトウェアの使用に関する諾否情報が書き込まれる。スイッチは、入力信号を前記プロセッサコアへ印加するかしないかを切り替える。判定部は、前記プロセッサコアのプログラムカウンタ値が前記アプリケーション情報メモリーに記載された前記アドレス範囲に該当するかどうかを判定し、該当の場合は前記諾否情報メモリーに書き込まれた前記諾否情報にもとづいて前記スイッチの切り替えを制御する。
【図面の簡単な説明】
【０００９】
【図１】実施形態のマイクロプロセッサの構成の例を示すブロック図。
【図２】実施形態のマイクロプロセッサのプログラムメモリー上のアプリケーションソフトウェアの配置例と諾否情報メモリーに書き込まれた諾否情報との関係の例を示す図。
【図３】実施形態のマイクロプロセッサのアプリケーション情報メモリーの記載例を示す図。
【図４】実施形態のマイクロプロセッサの諾否情報メモリーの書き込み例を示す図。
【図５】実施形態のマイクロプロセッサの判定部の処理の流れの例を示すフロー図。
【図６】ＲＯＭコレクション機能を悪用したアプリケーションソフトウェアの不正使用方法の例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【００１１】
（実施形態）
図１は、実施形態のマイクロプロセッサの構成の例を示すブロック図である。
【００１２】
本実施形態のマイクロプロセッサは、プロセッサコア１と、プログラムメモリー２と、アプリケーション情報メモリー３と、諾否情報メモリー４と、スイッチ５と、判定部６と、を備える。
【００１３】
プログラムメモリー２は、ＲＯＭエリア２１と、ＲＡＭエリア２２と、を有する。ＲＯＭエリア２１には、アプリケーションソフトウェア（以降、アプリケーションと称す）などのプログラムが格納される。
【００１４】
プロセッサコア１は、ＲＯＭエリア２１上のプログラムを修正できるＲＯＭコレクション機能を有する。ＲＯＭコレクションを行う場合、修正用のプログラムデータは、ＲＡＭエリア２２に格納される。
【００１５】
ＲＯＭエリア２１に格納されるアプリケーションの中には、ライセンスの関係上、使用制限されるものがある。そこで、使用制限されたアプリケーションに対しては、ユーザーごとに、プログラム使用の許可／不許可の設定が必要となる。
【００１６】
そのため、アプリケーション情報メモリー３に、使用制限対象のアプリケーションのプログラムメモリー２上のアドレス範囲ＡＤが記載される。
【００１７】
また、諾否情報メモリー４に、使用制限対象のアプリケーションの使用に関する諾否情報ＩＤが書き込まれる。
【００１８】
判定部６は、アプリケーション情報メモリー３から読み出したアドレス範囲ＡＤと諾否情報メモリー４から読み出した諾否情報ＩＤをもとに、スイッチ５の切り替えを制御する。
【００１９】
スイッチ５は、入力信号ＩＮをプロセッサコア１へ印加するかしないかを切り替えるスイッチである。
【００２０】
すなわち、判定部６は、プロセッサコア１のプログラムカウンタ値ＰＣがアプリケーション情報メモリー３から読み出したアドレス範囲ＡＤに該当するかどうかを判定する。該当の場合は、判定部６は、諾否情報メモリー４から諾否情報ＩＤ読み出す。
【００２１】
このとき、諾否情報ＩＤが「許可」を示す場合は、判定部６は、入力信号ＩＮをプロセッサコア１へ印加するよう、スイッチ５を制御する。
【００２２】
一方、諾否情報ＩＤが「不許可」を示す場合は、判定部６は、入力信号ＩＮをプロセッサコア１へ印加しないよう、スイッチ５を切り替える。この場合、図１に示す例では、プロセッサコア１へは、接地電位（‘０’）が入力される。例えば、入力信号ＩＮが音声信号である場合、プロセッサコア１への入力が無音状態となる。
【００２３】
これにより、使用「不許可」のアプリケーションを実行しても、プロセッサコア１からは正常な出力が得られず、実質的に、このアプリケーションは使用不可となる。
【００２４】
上述したように、本実施形態では、プログラムメモリー２、アプリケーション情報メモリー３、諾否情報メモリー４、と３種類のメモリーが使用されるが、このうち、ユーザーが制御・変更できるのは、プログラムメモリー２のＲＡＭエリア２２のみである。
【００２５】
図２に、プログラムメモリー２上のアプリケーションの配置例と、諾否情報メモリー４に書き込まれた諾否情報ＩＤとの関係の例を示す。
【００２６】
図２に示す例では、プログラムメモリー２のＲＯＭエリア２１に、アプリケーションＡ、アプリケーションＢ、アプリケーションＣ、アプリケーションＤが配置されているものとする。また、そのアドレス範囲ＡＤは、アプリケーションＡが０ｘ００００−０ｘ２ＦＦＦ、アプリケーションＢが０ｘ３０００−０ｘ４ＦＦＦ、アプリケーションＣが０ｘ５０００−０ｘ６ＦＦＦ、アプリケーションＤが０ｘ７０００−０ｘ７７ＦＦとする。
【００２７】
このアプリケーションのうち、アプリケーションＡ、アプリケーションＢ、アプリケーションＣは使用制限の対象であり、アプリケーションＤは非対象である。
【００２８】
そこで、諾否情報メモリー４に、使用制限の対象のアプリケーションＡ、アプリケーションＢ、アプリケーションＣのそれぞれに対して諾否情報ＩＤが書き込まれる。
【００２９】
ここでは、諾否情報ＩＤを１ビットのデータとし、諾否情報メモリー４には、３ビットの情報が書き込まれるものとする。すなわち、この３ビットのビット番号をｂｉｔ０、ｂｉｔ１、ｂｉｔ２とすると、ｂｉｔ０にはアプリケーションＡに対する諾否情報ＩＤ０、ｂｉｔ１にはアプリケーションＢに対する諾否情報ＩＤ１、ｂｉｔ２にはアプリケーションＣに対する諾否情報ＩＤ２が書き込まれるものとする。
【００３０】
図３は、この使用制限の対象のアプリケーションＡ、アプリケーションＢ、アプリケーションＣに対するアプリケーション情報メモリー３の記載例である。
【００３１】
図３に示す例では、アプリケーション情報メモリー３には、使用制限の対象の各アプリケーションに対して、プログラムメモリー２上のアドレス範囲ＡＤと、諾否情報メモリー４のビット番号が記載されている。
【００３２】
図４は、諾否情報メモリー４の書き込み例である。
【００３３】
ここで、１ビットの諾否情報ＩＤは、ビット値‘１’が「許可」を表し、ビット値‘０’が「不許可」を表すものとする。
【００３４】
したがって、例えば、アプリケーションＡおよびアプリケーションＣは「不許可」、アプリケーションＢは「許可」である場合、諾否情報メモリー４には、ｂｉｔ０＝０、ｂｉｔ１＝１、ｂｉｔ２＝０が書き込まれる。
【００３５】
このｂｉｔ０、ｂｉｔ１、ｂｉｔ２の値が、それぞれ、アプリケーションＡに対する諾否情報ＩＤ０、アプリケーションＢに対する諾否情報ＩＤ１、アプリケーションＣに対する諾否情報ＩＤ２となる。
【００３６】
諾否情報メモリー４のビット数は３ビットに限るものではなく、使用制限の対象のアプリケーションの個数に応じて増減される。
【００３７】
図５は、判定部６の処理の流れの例を示すフロー図である。ここに示すフローでは、判定部６の処理は、次のように行われる。
【００３８】
判定部６は、プロセッサコア１から実行中の命令のプログラムカウンタ値ＰＣを受け取り、アプリケーション情報メモリー３に記載されている使用制限対象のアプリケーションのアドレス範囲ＡＤと比較し（ステップＳ０１）、プログラムカウンタ値ＰＣが使用制限対象のアプリケーションのアドレス範囲ＡＤの範囲内かどうかを判定する（ステップＳ０２）。
【００３９】
このとき、プログラムカウンタ値ＰＣが、使用制限対象の総てのアプリケーションのアドレス範囲ＡＤの範囲外であれば（ＮＯ）、判定部６は、スイッチ５を制御して、入力信号ＩＮをプロセッサコア１へ印加する（ステップＳ０３）。
【００４０】
一方、プログラムカウンタ値ＰＣが、使用制限対象のアプリケーションのアドレス範囲ＡＤの範囲内であれば（ＹＥＳ）、判定部６は、プログラムカウンタ値ＰＣが含まれるアドレス範囲ＡＤから、該当するアプリケーションを特定する（ステップＳ０４）。
【００４１】
続いて、判定部６は、特定したアプリケーションに対応する諾否情報ＩＤのビット番号をアプリケーション情報メモリー３から読み出し、そのビット番号の諾否情報ＩＤを諾否情報メモリー４から読み出す（ステップＳ０５）。
【００４２】
次に、判定部６は、読み出した諾否情報ＩＤが、「許可」を表す値か、「不許可」を表す値かを判定する（ステップＳ０６）。
【００４３】
このとき、諾否情報ＩＤが「許可」であるときは、判定部６は、スイッチ５を制御して、入力信号ＩＮをプロセッサコア１へ印加する（ステップＳ０３）。
【００４４】
一方、諾否情報ＩＤが「不許可」であるときは、判定部６は、スイッチ５を制御して、入力信号ＩＮをプロセッサコア１へ印加しないようにする（ステップＳ０７）。
【００４５】
これにより、諾否情報ＩＤが「不許可」であるアプリケーションを実行しても、プロセッサコア１からは正常な出力が得られず、実質的に、このアプリケーションは使用不可となる。
【００４６】
ここで、図６に、ＲＯＭコレクション機能を悪用したアプリケーションソフトウェアの不正使用方法の例を示す。
【００４７】
図６（ａ）に示す実行プログラム１００は、使用制限のあるアプリケーションＡに対して、分岐命令Ｉ１により、使用許可がない場合は、アプリケーションＡが実行できないようにしたプログラムの例である。
【００４８】
これに対して、図６（ｂ）は、ＲＯＭコレクション機能を悪用して、使用許可がない場合にもアプリケーションＡを実行できるようにした例である。この場合、ＲＯＭコレクション２００に、分岐命令Ｉ１をスキップするような命令Ｉ２が記載されている。
【００４９】
このＲＯＭコレクション２００の実行により、実行プログラム１００の実行中に、使用許可がないアプリケーションＡが実行されてしまう。
【００５０】
しかし、本実施形態では、仮に、上述のような方法で使用許可がないアプリケーションが実行されたとしても、そのアプリケーションの実行中は、プロセッサコア１へ入力信号ＩＮが印加されないため、実質的には、そのアプリケーションの使用が阻止されたことになる。
【００５１】
このように、本実施形態では、ＲＯＭコレクション機能の影響が及ばないアプリケーション情報メモリー３、諾否情報メモリー４と、判定部６およびスイッチ５により、使用制限対象のアプリケーションの使用の許可／不許可を判定しているため、ＲＯＭコレクション機能を悪用した不正から使用制限対象のアプリケーションを保護することができる。
【００５２】
以上説明した実施形態のマイクロプロセッサによれば、使用制限されたアプリケーションソフトウェアの不正な使用を防止することができる
また、本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５３】
１  プロセッサコア
２  プログラムメモリー
２１  ＲＯＭエリア
２２  ＲＡＭエリア
３  アプリケーション情報メモリー
４  諾否情報メモリー
５  スイッチ
６  判定部
【図１】
2014164412.tif 000003
【図２】
2014164412.tif 000004
【図３】
2014164412.tif 000005
【図４】
2014164412.tif 000006
【図５】
2014164412.tif 000007
【図６】
2014164412.tif 000008