(57)【要約】【課題】内蔵の書き換え可能な不揮発性メモリおよび他のリソースへのセキュリティ管理情報に対する保護を強化したセキュリティ保護機能付きマイクロコンピュータを提供する。【解決手段】セキュリティ保護機能付きマイクロコンピュータ１は、セキュリティフラグを書き込む領域を有する１回だけ書き換え可能な不揮発性メモリであるＰＲＯＭ１１と、ＰＲＯＭ１１に書き込まれたセキュリティフラグの設定に従って、セキュリティ保護機能付きマイクロコンピュータ１が内蔵する各種リソースに対するＣＰＵ１３からのアクセスを制御するアクセス制御部１２と、を有する。【選択図】図１
2008203988.tif 000002
【特許請求の範囲】
【請求項１】
内蔵する複数のリソースに対するセキュリティフラグを書き込む１回だけ書き込み可能な不揮発性メモリと、
前記不揮発性メモリに書き込まれた前記セキュリティフラグの設定に従って前記リソースに対するアクセスを制御するアクセス制御手段と
を有することを特徴とするセキュリティ保護機能付きマイクロコンピュータ。
【請求項２】
前記不揮発性メモリは、１ビットごとに書き込みが行われる複数のビットを有し、前記セキュリティフラグの書き込みが行われたビットが、予め指定されたリソースへのアクセスの禁止を示す
ことを特徴とする請求項１に記載のセキュリティ保護機能付きマイクロコンピュータ。
【請求項３】
前記セキュリティフラグに、前記不揮発性メモリへの書き込みの禁止を示すフラグが含まれる
ことを特徴とする請求項２に記載のセキュリティ保護機能付きマイクロコンピュータ。
【請求項４】
前記セキュリティフラグに、前記不揮発性メモリの読み出しの禁止を示すフラグが含まれる
ことを特徴とする請求項２に記載のセキュリティ保護機能付きマイクロコンピュータ。
【請求項５】
前記アクセス制御手段が、ＣＰＵから発行されるリード／ライト信号の伝達を抑止することにより、前記リソースに対するアクセスを禁止する
ことを特徴とする請求項１に記載のセキュリティ保護機能付きマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティ保護機能付きマイクロコンピュータに関する。
【背景技術】
【０００２】
マイクロコンピュータに搭載するＲＯＭをフラッシュメモリなどの書き換え可能な不揮発性メモリとし、この書き換え可能な不揮発性メモリにマイクロコンピュータで実行するプログラムを書き込み、必要に応じてプログラムを書き換えることにより、プログラムの開発を容易としたマイクロコンピュータがある。
【０００３】
このようなマイクロコンピュータでは、プログラムの開発時には不揮発性メモリの書き換えを許可するが、プログラムの開発完了後は、プログラムの保護のために、不揮発性メモリへ書き込んだデータの読み出し、書き換え、消去を禁止する、というようなセキュリティ保護のための管理が必要となる。
【０００４】
そのため、従来、フラッシュメモリに、プログラミングを行う領域と、このプログラミングを行う領域への管理情報である書き込みフラグ、読み出しフラグ、消去フラグを書き込むプログラミング管理領域と、を配設し、外部からのプログラミング要求があった場合、ＣＰＵが、プログラミング管理領域の管理情報を参照し、プログラミングを行う領域へのプログラミングの可否を判断するようにしたマイクロコンピュータが提案されている（例えば、特許文献１参照。）。
【０００５】
しかし、上述の方法では、プログラミングを行う領域への管理情報自体が書き換え可能なフラッシュメモリに書き込まれているため、この管理情報に対するセキュリティが十分には保護されないという問題があった。
【０００６】
また、セキュリティ保護の対象がフラッシュメモリのプログラミングを行う領域に限られているため、マイクロコンピュータに内蔵されるＲＡＭなどの他のリソースのセキュリティが保護されないという問題があった。
【特許文献１】特開２０００−１８１８９８号公報  （第３−４ページ、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、本発明の目的は、内蔵の書き換え可能な不揮発性メモリおよび他のリソースへのセキュリティ管理情報に対する保護を強化したセキュリティ保護機能付きマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、内蔵する複数のリソースに対するセキュリティフラグを書き込む１回だけ書き込み可能な不揮発性メモリと、前記不揮発性メモリに書き込まれた前記セキュリティフラグの設定に従って前記リソースに対するアクセスを制御するアクセス制御手段とを有することを特徴とするセキュリティ保護機能付きマイクロコンピュータが提供される。
【発明の効果】
【０００９】
本発明によれば、１回だけ書き込み可能な不揮発性メモリにセキュリティ管理情報を書き込むのでセキュリティ管理情報が書き換えられることを防止でき、マイクロコンピュータのセキュリティ保護機能を強化することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施例を図面を参照して説明する。
【実施例】
【００１１】
図１は、本発明の実施例に係るセキュリティ保護機能付きマイクロコンピュータの構成の例を示すブロック図である。
【００１２】
本実施例のセキュリティ保護機能付きマイクロコンピュータ１は、セキュリティフラグを書き込む領域を有する１回だけ書き換え可能な不揮発性メモリであるＰＲＯＭ１１と、ＰＲＯＭ１１に書き込まれたセキュリティフラグの設定に従って、セキュリティ保護機能付きマイクロコンピュータ１が内蔵する各種リソースに対するＣＰＵ１３からのアクセスを制御するアクセス制御部１２と、を有する。
【００１３】
ここで、アクセス制御部１２によってアクセスが制御されるリソースの例として、フラッシュメモリ１４、ＲＡＭ１５、Ｉ／Ｏ領域１６を示す。このうち、書き換え可能な不揮発性メモリであるフラッシュメモリ１４には、セキュリティ保護機能付きマイクロコンピュータ１が実行するプログラムが書き込まれる。
【００１４】
なお、アクセス制御対象のリソースはこれらに限るものではなく、他のリソースもアクセス制御の対象とすることができる。
【００１５】
また、アクセス制御部１２は、ＣＰＵ１３から各リソースへ対して発行されるリード／ライト信号の伝達を制御し、アクセスを禁止するリソースに対してはリード／ライト信号の伝達を抑止する。なお、各リソースへのデータの入出力はデータ・バスラインを介して行われる。
【００１６】
セキュリティフラグが書き込まれるＰＲＯＭ１１は複数のビットを有し、セキュリティフラグの書き込みが行われたビットが、そのビットに予め割り当てられたリソースへのアクセスの禁止を示す。セキュリティフラグの書き込みが行われなければ、そのビットに割り当てられたリソースへのアクセスは許可される。
【００１７】
このセキュリティフラグの設定は、外部装置１００からセキュリティデータをＣＰＵ１３へ送付し、そのセキュリティデータの指定に従って、ＣＰＵ１３がＰＲＯＭ１１の書き込みをビットごとに制御することによって行われる。
【００１８】
ＰＲＯＭ１１は、１回しか書き込みが行えず、書き換えができないので、セキュリティフラグの設定を一旦行うと、そのセキュリティフラグを取り消すことはできない。
【００１９】
図２は、セキュリティフラグの構成の例を示す図である。ここで、ＰＲＯＭ１１のセキュリティフラグの書き込み領域が８ビットであるものとし、それぞれのビットは、次に示すようなアクセスの禁止を示す。
【００２０】
ｂｉｔ０のセキュリティフラグは、フラッシュメモリ１４の書き換え禁止を指定する。例えば、フラッシュメモリ１４にプログラムの書き込みを行った後に、このｂｉｔ０へのセキュリティフラグの書き込みを行うと、それ以降、フラッシュメモリ１４は書き換え禁止状態となり、フラッシュメモリ１４に書き込まれたプログラムが保護される。
【００２１】
ｂｉｔ１〜ｂｉｔ４のセキュリティフラグは、フラッシュメモリ１４以外のリソースへのアクセス禁止を示す。
【００２２】
ｂｉｔ１はＲＡＭ１５へのアクセス禁止を示し、ｂｉｔ２はＩ／Ｏ領域のアクセス禁止を示す。
【００２３】
また、ｂｉｔ３はＲＡＭ１５からＩ／Ｏ領域１６へのデータ転送禁止を示し、ｂｉｔ４はＩ／Ｏ領域１６からＲＡＭ１５へのデータ転送禁止を示す。データ転送を禁止するとき、アクセス制御部１２は、データ転送元のリードアクセスを禁止するとともにデータ転送先のライトアクセスを禁止する。
【００２４】
このように、フラッシュメモリ１４以外のリソースへのアクセス禁止を指定することにより、プログラムの保護のほかに、ＲＡＭ１５やＩ／Ｏ領域１６に格納されているデータの外部への流出を防止することができる。
【００２５】
ｂｉｔ５、ｂｉｔ６のセキュリティフラグは、セキュリティフラグが書き込まれるＰＲＯＭ１１の保護を図るために設定する。
【００２６】
ｂｉｔ５は、ＰＲＯＭ１１に書き込まれたセキュリティフラグの読み出しを禁止する。これにより、セキュリティフラグがどのように設定されているかを読み出せなくする。
【００２７】
ｂｉｔ６は、ＰＲＯＭ１１へのセキュリティフラグの追加書き込みを禁止する。ＰＲＯＭ１１の一部ビットにしか書き込みを行なわなかった場合、残りのビットへの書き込みはその後も可能である。しかし、このｂｉｔ６のセキュリティフラグを設定することにより、その残りのビットへの書き込みを禁止することができる。これにより、一旦設定したセキュリティフラグの状態を保持することができる。
【００２８】
ｂｉｔ７は、デバッグ禁止を示す。通常、オンチップデバッグなどを行う場合、外部のデバッグツールを接続してマイクロコンピュータの内部動作を確認するが、このｂｉｔ７のセキュリティフラグを設定することにより、セキュリティ保護機能付きマイクロコンピュータ１は、外部デバッグツールとの接続を拒否する。これにより、セキュリティ保護機能付きマイクロコンピュータ１の内部動作状態が外部デバッグツールを介して覗かれるのを防止する。
【００２９】
なお、セキュリティフラグを書き込む領域は８ビットに限られるものではなく、必要なビット数に増減させることができる。また、各ビットに割り当てるセキュリティ機能も、上述の例に限られるものではなく、ユーザが任意に設定できるものである。
【００３０】
図３は、図２に示したセキュリティフラグを設定するときの手順を示すフロー図である。
【００３１】
セキュリティフラグの書き込みを開始するために、外部装置１００からセキュリティデータの送信を行うと（ステップＳ０１）、ＣＰＵ１３は、ＰＲＯＭ１１のｂｉｔ６のセキュリティフラグが設定済みかどうかを確認する（ステップＳ０２）。
【００３２】
ｂｉｔ６のセキュリティフラグが設定済みであれば（Ｙ）、ＰＲＯＭ１１へのセキュリティフラグの追加書き込みが禁止状態であるので、新たなセキュリティフラグの設定を行うことはできず、セキュリティフラグの設定処理はそのまま終了する。
【００３３】
ｂｉｔ６のセキュリティフラグが設定されていなければ（Ｎ）、以降、ＣＰＵ１３は、それぞれのビットごとに、送られてきたセキュリティデータ中にセキュリティフラグの設定要求があるかどうかを確認し、設定要求があればそのビットへの書き込みを行い、セキュリティフラグを設定する（ステップＳ０３〜Ｓ１６）。
【００３４】
総てのビットの処理が終了すると、ＣＰＵ１３は、ＰＲＯＭ１１に設定されたデータを外部装置１００へ返信し（ステップＳ１７）、セキュリティフラグの設定処理を終了する。
【００３５】
図４は、アクセス制御部１４によるアクセス制御の処理手順の例を示すフロー図である。ここでは、フラッシュメモリ１４への書き換え要求に対する処理の例を示す。
【００３６】
アクセス制御部１４は、ＣＰＵ１３からのフラッシュメモリ１４への書き換え要求があると（ステップＳ２１）、ＰＲＯＭ１１のｂｉｔ０のセキュリティフラグを読み出し（ステップＳ２２）、ｂｉｔ０のセキュリティフラグが書き換え禁止に設定されているかどうかを確認する（ステップＳ２３）。
【００３７】
ｂｉｔ０のセキュリティフラグが書き換え禁止に設定されていれば（Ｙ）、アクセス制御部１４はフラッシュメモリ１４へのアクセスを禁止し（ステップＳ２４）、ｂｉｔ０のセキュリティフラグが書き換え禁止に設定されていなければ（Ｎ）、アクセス制御部１４はフラッシュメモリ１４へのアクセスを許可して（ステップＳ２４）、アクセス制御処理を終了する。
【００３８】
このような本実施例によれば、セキュリティフラグを１回だけ書き込み可能な不揮発性メモリ（ＰＲＯＭ）に書き込むので、一度書き込んだセキュリティフラグが書き換えられることを防止でき、マイクロコンピュータのセキュリティ保護機能を強化することができる。
【００３９】
また、セキュリティフラグを書き込むＰＲＯＭのビット数を複数とし、それぞれのビットにマイクロコンピュータに内蔵されるリソースに対するセキュリティ機能を割り当てることにより、マイクロコンピュータで実行されるプログラムの保護に加えて、マイクロコンピュータ内に格納されるさまざまなデータの保護が可能となり、マイクロコンピュータのセキュリティ保護機能をより向上させることができる。
【００４０】
また、ＰＲＯＭの各ビットに割り付けるセキュリティ機能をユーザが任意に設定できるので、マイクロコンピュータの用途に応じたセキュリティレベルの設定を行うことができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施例に係るセキュリティ保護機能付きマイクロコンピュータの構成の例を示すブロック図。
【図２】セキュリティフラグの構成の例を示す図。
【図３】セキュリティフラグの設定手順の例を示すフロー図。
【図４】アクセス制御部の処理手順の例を示すフロー図。
【符号の説明】
【００４２】
１  セキュリティ保護機能付きマイクロコンピュータ
１１  ＰＲＯＭ
１２  アクセス制御部
１３  ＣＰＵ
１４  フラッシュメモリ
１５  ＲＡＭ
１６  Ｉ／Ｏ領域
【図１】
2008203988.tif 000003
【図２】
2008203988.tif 000004
【図３】
2008203988.tif 000005
【図４】
2008203988.tif 000006