(57)【要約】【課題】  予め配布制限されているプログラムに対応するキーコードを作成し、プログラムを実行する時に、実行プログラムの任意のコードとキーコードを比較してプログラム不正実行を防止する。【解決手段】  デジタル信号処理装置１は、ダウンロードインターフェース１１、ＤＳＰコア１２、プログラムメモリ１３、データメモリ１４、周辺回路１５、キーコードメモリ１６から構成され、それぞれ内部バスで接続されている。デジタル信号処理装置１と外部制御装置２及び外部メモリ３とは外部バス４を介して接続されている。キーコードメモリ１６には配布制限されているアプリケーションプログラムのコードに対応するキーコード情報が格納され、実行アプリケーションプログラムのコードとキーコードを比較することによりプログラム不正実行を防止する。【選択図】  図１
2006195753.tif 000002
【特許請求の範囲】
【請求項１】
制御装置とデジタルデータをやりとりするダウンロードインターフェースと、
前記ダウンロードインターフェースを介して転送されるアプリケーションプログラムのコードに対応するキーコードを作成する作成手段と、
前記キーコードを内部メモリに書き込む書き込み手段と、
前記アプリケーションプログラムを実行する際に、前記アプリケーションプログラムの任意のコードと前記キーコードとを比較する比較手段と、
前記アプリケーションプログラムが予め決められたものの場合、前記アプリケーションプログラムの実行を制限する制限手段と、
を具備することを特徴とするプログラム不正実行防止機能付きプロセッサ。
【請求項２】
制御装置とデジタルデータをやりとりするダウンロードインターフェースと、
前記ダウンロードインターフェースを介して送信されるアプリケーションプログラムのコードに対応するキーコードを作成する作成手段と、
前記キーコードを内部メモリに書き込む書き込み手段と、
前記アプリケーションプログラムを実行する際に、前記アプリケーションプログラムの任意のコードと前記キーコードとを比較する比較手段と、
前記アプリケーションプログラムが予め決められたものの場合、前記アプリケーションプログラムの実行を制限する制限手段と、
前記内部メモリ内に格納されている前記キーコード情報を外部に読み出すことを制限する秘密鍵と、
を具備することを特徴とするプログラム不正実行防止機能付きプロセッサ。
【請求項３】
任意のアプリケーションプログラムを新たに選択し、このアプリケーションプログラムのコードに対応するキーコードを作成し、且つ前記内部メモリにこのキーコードを書き込んで、前記内部メモリに既に格納されているキーコード情報を書き換える書き換え手段を具備することを特徴とする請求項１又は２に記載のプログラム不正実行防止機能付きプロセッサ。
【請求項４】
前記作成手段及び前記書き込み手段は、内部プログラムを用いて実行されることを特徴とする請求項１乃至３のいずれか１項に記載のプログラム不正実行防止機能付きプロセッサ。
【請求項５】
前記作成手段及び前記書き込み手段は、前記ダウンロードインターフェースを介して外部プログラムを用いて実行されることを特徴とする請求項１乃至３のいずれか１項に記載のプログラム不正実行防止機能付きプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサに係り、特にデジタル信号処理装置におけるプログラム不正実行を防止する技術に関する。
【背景技術】
【０００２】
最近の電子機器は、高速化、低消費電力化を実現するために専用の信号処理回路やソフトウエアによる信号処理を組み合わせて設計され、ソフトウエアによる信号処理では汎用プロセッサばかりでなく、デジタル信号処理装置（ＤＳＰとも呼称される）も用いられている。そして、電子機器の高機能化の進展に伴い、この機能を実現するために、デジタル信号処理装置のアプリケーションが増加する傾向にある。近年、アプリケーションの増加による内部ＲＯＭ（Read  Only  Memory）の容量増加を抑制するために、アプリケーションプログラムを外部メモリに格納してコストの上昇を抑制している。
【０００３】
更に、外部制御装置は外部メモリに格納され、各種機能に対応するデジタル信号処理用コードを実行アプリケーションにしたがって、随時外部メモリからデジタル信号処理装置内の内部メモリに転送している。このため、１台のデジタル信号処理装置を用いて様々なアプリケーションを実行でき、アプリケーションプログラムの配布を制限することで各種機能の実現に制限をかけている。（例えば、特許文献１参照。）。
【０００４】
ところが、第三者が何らかの理由で配布制限のアプリケーションプログラムを入手した場合、第三者はアプリケーションプログラムをデジタル信号処理装置に転送して、プログラムを自由に実行することができるという問題点がある。
【特許文献１】特開２００１−２９７００６号公報（頁９  図１、頁１０  図３）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、予め配布制限されているプログラムに対応するキーコードを作成し、プログラムの実行時に実行プログラムの任意のコードとキーコードを比較し、プログラムの実行を制限するプログラム不正実行防止機能付きプロセッサを提供する。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一態様のプログラム不正実行防止機能付きプロセッサは、制御装置とデジタルデータをやりとりするダウンロードインターフェースと、前記ダウンロードインターフェースを介して転送されるアプリケーションプログラムのコードに対応するキーコードを作成する作成手段と、前記キーコードを内部メモリに書き込む書き込み手段と、前記アプリケーションプログラムを実行する際に、前記アプリケーションプログラムの任意のコードと前記キーコードとを比較する比較手段と、前記アプリケーションプログラムが予め決められたものの場合、前記アプリケーションプログラムの実行を制限する制限手段とを具備することを特徴とする。
【０００７】
更に、上記目的を達成するために、本発明の他態様のプログラム不正実行防止機能付きプロセッサは、制御装置とデジタルデータをやりとりするダウンロードインターフェースと、前記ダウンロードインターフェースを介して送信されるアプリケーションプログラムのコードに対応するキーコードを作成する作成手段と、前記キーコードを内部メモリに書き込む書き込み手段と、前記アプリケーションプログラムを実行する際に、前記アプリケーションプログラムの任意のコードと前記キーコードとを比較する比較手段と、前記アプリケーションプログラムが予め決められたものの場合、前記アプリケーションプログラムの実行を制限する制限手段と、前記内部メモリ内に格納されている前記キーコード情報を外部に読み出すことを制限する秘密鍵とを具備することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、予め配布制限されているプログラムに対応するキーコードを作成し、プログラムの実行時に実行プログラムの任意のコードとキーコードを比較し、プログラムの実行を制限するプログラム不正実行防止機能付きプロセッサを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００１０】
まず、本発明の実施例１に係るプログラム不正実行防止機能付きプロセッサとしてのデジタル信号処理装置について、図面を参照して説明する。図１はデジタル信号処理装置を示すシステムブロック図である。本実施例では、デジタル信号処理装置にアプリケーションプログラムのキーコード情報を記憶するキーコードメモリを設けている。
【００１１】
図１に示すように、デジタル信号処理装置１は、ダウンロードインターフェース１１、ＤＳＰ（Digital  Signal  Processor）コア１２、プログラムメモリ１３、データメモリ１４、周辺回路１５、キーコードメモリ１６から構成されている。ダウンロードインターフェース１１、ＤＳＰコア１２、プログラムメモリ１３、データメモリ１４、周辺回路１５、及びキーコードメモリ１６は、内部バス１７でそれぞれ接続され、デジタル信号処理装置１と外部制御装置２及び外部メモリ３とは外部バス４を介して接続されている。
【００１２】
外部制御装置２は、デジタル信号処理装置１での各種処理作業を統括する、例えば、プロセッサからなり、外部バス４を介して制御信号をデジタル信号処理装置１に送信する。そして、実行アプリケーションプログラム及びデータがデジタル信号処理装置１内のプログラムメモリ１３及びデータメモリ１４に格納されていない場合、外部メモリ３に格納されている実行アプリケーション用のプログラム及びデータを呼び出して、外部バス４を介してこの情報をデジタル信号処理装置１に送信する。
【００１３】
外部メモリ３は、例えば、デジタル信号処理装置１よりも比較的処理速度が遅い大容量のフラッシュメモリやＲＡＭからなり、デジタル信号処理装置１の実行アプリケーション用の各種プログラム及びデータを格納する。
【００１４】
ダウンロードインターフェース１１は、外部バス４を介して外部制御装置２及び外部メモリ３と接続され、内部バス１７を介して実行アプリケーション用の各種プログラム及びデータをプログラムメモリ１３及びデータメモリ１４に送信する。
【００１５】
ＤＳＰコアは、例えば、アプリケーションコードの実行及び分岐、ループ制御を行うプログラム制御ユニット（ＰＣＵ）、すべてのビット操作の制御を行うビット制御ユニット（ＢＭＵ）、すべての命令やデータアドレスの演算処理を行うアドレス生成ユニット（ＡＧＵ）、加減算や論理演算などの演算処理、高速並列処理を行う論理演算ユニット（ＡＬＵ）から構成されている。そして、プログラムメモリ１３及びデータメモリ１４に格納される実行アプリケーション用のプログラム及びデータをもとにデジタル信号処理を行う。
【００１６】
内部メモリとしてのプログラムメモリ１３は、外部メモリ３から転送された実行アプリケーション用のプログラムを格納する。内部メモリとしてのデータメモリ１４は外部メモリ３から転送された実行アプリケーション用のデータを格納する。プログラムメモリ１３及びデータメモリ１４は、それぞれ外部メモリ３よりもメモリ容量が格段に少ない。周辺回路１５は、タイマ、ウオッチドックタイマ（ＷＤＴ）、リアルタイムクロック（ＲＴＣ）機能などを有している。
【００１７】
内部メモリとしてのキーコードメモリ１６は、アプリケーションプログラムに配布制限があるか否かの情報及びアプリケーションプログラムに配布制限がある場合に付加されるキーコード情報を格納する。ここで、デジタル信号処理装置１内に配布制限があるか否かの情報及びキーコード情報を記憶するキーコードメモリ１６を設けているが、配布制限があるか否かの情報及びキーコード情報を内部メモリとしてのデータメモリ１４等に格納してもよい。
【００１８】
次に、アプリケーションプログラムの実行、及びキーコードの書き換えについて、それぞれ図２及び図３を参照して説明する。図２はアプリケーションプログラムの実行手順を示すフローチャート、図３はキーコードの書き換え手順を示すフローチャートである。ここで、キーコードの作成及び書き換えを行うのはデジタル信号処理装置１の装置管理者又は装置管理者の代行者を想定している。そして、アプリケーションプログラム特有のコードに対応するキーコードは予め作成され、キーコードメモリ内に格納されている。
【００１９】
図２に示すように、まず、外部制御装置２は外部メモリ３に格納されている実行アプリケーション用のプログラム及びデータを呼び出す（ステップＳ１）。次に、外部制御装置２はこのプログラム及びデータをデジタル信号処理装置１に転送し、実行アプリケーション用のプログラム及びデータをそれぞれプログラムメモリ１３及びデータメモリ１４に格納する（ステップＳ２）。
【００２０】
続いて、外部制御装置２は、デジタル信号処理装置１を制御し、アプリケーションプログラムを起動する（ステップＳ３）。そして、キーコードメモリ１６に格納されているキーコード情報を呼び出して、このキーコードとアプリケーションプログラムの任意のコード、例えば、認識可能なコード態様認識情報であるｔｅｘｔセクションに格納されているアプリケーションプログラム特有のコードとを比較する（ステップＳ４）。アプリケーションプログラムにキーコードが既に作成され、アプリケーションプログラムが実行制限されている場合、アプリケーションプログラムの実行を中止する。アプリケーションプログラムが実行制限されていない場合、アプリケーションプログラムを実行し、デジタル信号処理を行う（ステップＳ５）。
【００２１】
次に、図３に示すように、外部制御装置２は外部メモリ３に格納されているキーコード書き換え用プログラム及びデータを呼び出す（ステップＳ１１）。次に、外部制御装置２はこのプログラム及びデータをデジタル信号処理装置１に転送し、キーコード書き換え用のプログラム及びデータをそれぞれプログラムメモリ１３及びデータメモリ１４に格納する（ステップＳ１２）。
【００２２】
続いて、外部制御装置２は、デジタル信号処理装置１を制御し、キーコード書き換え用プログラムを起動する（ステップＳ１３）。そして、キーコードとキーコード書き換え用プログラムの任意のコードを比較する（ステップＳ１４）。キーコード書き換え用プログラムが既に実行制限されている場合、キーコード書き換え用プログラムの実行を中止し、キーコード書き換え用プログラムがまだ実行制限されていない場合、次のステップに進む。
【００２３】
次に、アプリケーションプログラム特有のコードに対応するキーコードを作成する（ステップＳ１５）。続いて、キーコード情報をキーコードメモリ１６に格納する。なお、アプリケーションプログラム特有のコードに対応するキーコードを作成する代わりに、外部メモリ３などに格納されているキーコード情報を直接キーコードメモリ１６に転送してもよい。
【００２４】
上述したように、本実施例のデジタル信号処理装置では、配布制限されているアプリケーションプログラムのコードに対応するキーコード情報を格納するキーコードメモリ１６が設けられている。そして、プログラムダウンロード時に実行アプリケーションプログラムのコードとキーコードとを比較し、アプリケーションプログラムが配布制限されたもので、キーコード情報が既に付加されている場合、プログラムの実行を制限している。したがって、第三者が何らかの理由で配布制限のアプリケーションプログラムを入手したとしても、プログラムの実行ができず、プログラムの不正実行を防止することができる。更に、キーコードの作成及び書き込みには新規設備投資を必要としないので、システムのコストアップを抑制することができる。
【００２５】
なお、本実施例では、外部制御装置２にプロセッサを用いているが、代わりにＣＰＵを用いてもよい。
【実施例２】
【００２６】
次に、本発明の実施例２に係るプログラム不正実行防止機能付きプロセッサについて、図面を参照して説明する。図１はプロセッサを示すシステムブロック図である。本実施例では、プロセッサ内にＣＰＵ（Central  Processing  Unit）を設けている。
【００２７】
図４に示すように、プロセッサ１ａは、ダウンロードインターフェース１１、プログラムメモリ１３、データメモリ１４、周辺回路１５、キーコードメモリ１６、ＣＰＵ１８、アドレス生成ユニット１９、及び論理演算ユニット２０から構成されている。ダウンロードインターフェース１１、プログラムメモリ１３、データメモリ１４、周辺回路１５、キーコードメモリ１６、ＣＰＵ１８、アドレス生成ユニット１９、及び論理演算ユニット２０は、内部バス１７でそれぞれ接続され、プロセッサ１ａと外部メモリ３とは外部バス４を介して接続されている。
【００２８】
ＣＰＵ１８は、各種処理作業を統括し、順次命令コードをフェッチして各種演算処理を行う。アドレス生成ユニット１９は、ＣＰＵ１８からの指令を受け、命令及びデータアドレスの演算処理などを行う。論理演算ユニット２０は、ＣＰＵ１８からの指令を受け、加減算や論理演算などの演算処理、及びＣＰＵ１８が行う処理と平行して高速並列処理及びキーコード作成及び秘密鍵作成を行う。
【００２９】
次に、キーコード・秘密鍵の作成について、図５を参照して説明する。図５はキーコード・秘密鍵の作成手順を示すフローチャートである。ここで、キーコード・秘密鍵の作成を行うのはプロセッサの装置管理者又は装置管理者の代行者である。
【００３０】
図５に示すように、まず、ＣＰＵ１８はダウンロードインターフェース１１を介してダウンロード制御信号を外部メモリ３に出力し、外部メモリ３に格納されているアプリケーションプログラム及びデータを呼び出す（ステップＳ２１）。次に、ＣＰＵ１８はアプリケーションプログラム及びデータをダウンロードインターフェース１１を介して転送し、それぞれプログラムメモリ１３及びデータメモリ１４に格納する（ステップＳ２２）。
【００３１】
続いて、ＣＰＵ１８の指令を受けたアドレス生成ユニットは、プリケーションプログラムの起動を行う（ステップＳ２３）。そして、ＣＰＵ１８の指令を受けた論理演算ユニット２０は、アプリケーションプログラム特有のコードに対応するキーコードを作成し、あわせて外部へこのキーコード情報を読み出すことができないようにアプリケーションプログラム特有の秘密鍵を作成する（ステップＳ２４）。次に、ＣＰＵ１８はキーコード及び秘密鍵情報をキーコードメモリ１６に格納する（ステップＳ２５）。
【００３２】
なお、プログラムの実行については、外部制御装置による制御の代わりに、プロセッサ１ａ内のＣＰＵ１８による制御により行われる以外は実施例１と同様なので説明を省略する。
【００３３】
上述したように、本実施例のプロセッサでは、配布制限されているアプリケーションプログラムのコードに対応するキーコード及び秘密鍵情報を格納するキーコードメモリ１６が設けられている。そして、プログラムダウンロード時に実行アプリケーションプログラムのコードとキーコードとを比較し、アプリケーションプログラムが配布制限されたもので、キーコード情報が既に付加されている場合、プログラムの実行を制限している。したがって、第三者が何らかの理由で配布制限のアプリケーションプログラムを入手したとしても、プログラムの実行ができず、プログラムの不正実行を防止することができる。また、外部へこのキーコード情報などを読み出すことができないようにアプリケーションプログラム特有の秘密鍵を設けているので、キーコードメモリ１６内の情報が外部に流出することを防止できる。更に、キーコードの作成及び書き込みには新規設備投資を必要としないので、システムのコストアップを抑制することができる。
【００３４】
本発明は、上記実施例に限定されるものではなく、発明の趣旨を逸脱しない範囲で、種々、変更してもよい。
【００３５】
例えば、本実施例では、デジタル信号処理装置にキーコードメモリを設けているが、汎用プロセッサ或いはマイクロプロセッサなどにキーコードメモリを設けてもよい。更に、キーコードメモリに格納されている予め決められたキーコード情報を書き換えて、新たにアプリケーションプログラムの実行制限を変更し、キーコード情報を変更してもよい。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施例１に係るデジタル信号処理装置を示すシステムブロック図。
【図２】本発明の実施例１に係るアプリケーションプログラムの実行手順を示すフローチャート。
【図３】本発明の実施例１に係るキーコードの書き換え手順を示すフローチャート。
【図４】本発明の実施例２に係るプロセッサを示すシステムブロック図。
【図５】本発明の実施例２に係るキーコード・秘密鍵の作成手順を示すフローチャート。
【符号の説明】
【００３７】
１  デジタル信号処理装置
１ａ  プロセッサ
２  外部制御装置
３  外部メモリ
４  外部バス
１１  ダウンロードインターフェース
１２  ＤＳＰコア
１３  プログラムメモリ
１４  データメモリ
１５  周辺回路
１６  キーコードメモリ
１７  内部バス
１８  ＣＰＵ
１９  アドレス生成ユニット
２０  論理演算ユニット
【図１】
2006195753.tif 000003
【図２】
2006195753.tif 000004
【図３】
2006195753.tif 000005
【図４】
2006195753.tif 000006
【図５】
2006195753.tif 000007