(57)【特許請求の範囲】
【請求項１】
プログラムに従って処理及び制御を行う中央処理ユニットと、該プログラムを含むデータを記憶する内蔵メモリと、該中央処理ユニットからの制御に従って該内蔵メモリから該データを読み出す読み出し制御部と、該中央処理ユニットからの制御に従って外部メモリとの間でデータの読み書きを行う外部メモリ制御部と、を有するマイクロコンピュータにおいて、
前記内蔵メモリは、連続するアドレス空間が一定の記憶領域を有するセクタで区分され、読み出し対象のアドレスが指定されたときに、そのアドレスの記憶内容を読み出しデータとして出力すると共に、該アドレスの属するセクタの記憶内容が保護されているか否かを示すセキュリティ情報を出力する構成とし、
前記読み出し制御部は、前記内蔵メモリのセクタの内でデータの読み書きに使用されるセクタ番号が設定されるレジスタを有し、
該内蔵メモリが起動プログラムの格納デバイスとして指定されておらず、該内蔵メモリから出力されるセキュリティ情報によって該内蔵メモリから出力される読み出しデータが保護されており、かつ該内蔵メモリに対する読み出しアドレスが該レジスタに設定されたセクタに属していないときには該読み出しデータの出力を停止し、それ以外のときには該読み出しデータを出力することを特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内蔵メモリを備えたマイクロコンピュータ、特にその内蔵メモリに書き込まれたデータのセキュリティ保持機能に関するものである。
【背景技術】
【０００２】
図２は、従来のマイクロコンピュータの概略の構成図である。
このマイクロコンピュータ１０は、プログラムに従って処理及び制御を行う中央処理ユニット（以下、「ＣＰＵ」という）１１と、そのプログラム等が記憶された書き換え可能な不揮発性メモリ（以下、「フラッシュＲＯＭ」という）１２を有し、このＣＰＵ１１とフラッシュＲＯＭ１２の間が読み出し制御部１３を介して接続されている。
【０００３】
読み出し制御部１３は、ＣＰＵ１１からの読み出し要求（読み出し対象のアドレスＡＤＲと制御信号ＣＯＮ）に従って、フラッシュＲＯＭ１２に書き込まれているプログラム等のデータを読み出し、読み出したデータＲＤＭをＣＰＵ１１に与えると共に、そのデータＲＤＭが外部出力禁止状態に設定されていないときには、外部回路２１へ出力する機能を有している。即ち、フラッシュＲＯＭ１２は、連続するアドレス空間を一定の記憶領域毎にセクタと呼ばれる単位で区分し、各セクタに対して外部への出力を禁止するか否かを示すセキュリティ情報ＳＥＣが設定されている。そして、フラッシュＲＯＭ１２は、読み出し対象のアドレスＡＤＲが指定されると、そのアドレスＡＤＲから読み出したデータＲＤＭと共に、該当するセクタのセキュリティ情報ＳＥＣを出力するようになっている。
【０００４】
これに対して、読み出し制御部１３は、セレクタ（ＳＥＬ）１３ａを有しており、セキュリティ情報ＳＥＣで外部への出力が禁止されていないときは、データＲＤＭを選択して外部回路２１へ出力し、外部への出力が禁止されているときは、固定値ＦＩＸを選択して外部回路２１へ出力するようになっている。
【０００５】
ＣＰＵ１１は、更に内部バス１４に接続され、この内部バス１４には、周辺回路との間で信号の入出力を行う周辺入出力部や設定された時間をカウントするタイマー等の複数の機能ブロック１５ａ，１５ｂ，…と、外部メモリ制御部１６が接続されている。外部メモリ制御部１６は、このマイクロコンピュータ１０の外部に設けられた外部バス２２を介して、外部の読み出し専用メモリ（以下、「ＲＯＭ」という）２３やランダム・アクセス・メモリ（以下、「ＲＡＭ」という）２４との間でデータの読み書きを行うものである。
【０００６】
このマイクロコンピュータ１０では、ＣＰＵ１１から読み出し対象のアドレスＡＤＲが出力されると、フラッシュＲＯＭ１２は指定されたアドレスＡＤＲからデータＲＤＭを読み出すと共に、該当するセクタのセキュリティ情報ＳＥＣを出力する。セキュリティ情報ＳＥＣは読み出し制御部１３のセレクタ１３ａに選択信号として与えられる。そして、セキュリティ情報ＳＥＣによって外部への出力が禁止されていれば、セレクタ１３ａでは固定値ＦＩＸが選択されて外部回路２１に出力される。また、セキュリティ情報ＳＥＣによって外部への出力が許可されていれば、セレクタ１３ａでは読み出されたデータＲＤＭが選択されて外部回路２１に出力される。
【０００７】
これにより、外部出力禁止状態に設定されたデータＲＤＭが、外部回路２１に出力されることがなくなり、フラッシュＲＯＭ１２に記憶されたデータのセキュリティが保護できる。
【０００８】
【特許文献１】特開平８−１３７７５７号公報
【特許文献２】特開２００４−１８５５３６号公報
【特許文献３】特開２００４−３５５３８３号公報
【０００９】
なお、例えば上記特許文献３には、図１とその説明文において、ＣＰＵ１１、このＣＰＵが実行するためのプログラムを含む情報を記憶するメモリ１２ａ，１２ｂ、ＣＰＵが実行しているプログラムによってアクセスされる領域を監視するプログラム領域監視回路３０、メモリに外部からのアクセスを禁止するアクセス禁止設定情報を記憶するアクセス禁止設定レジスタ２０、プログラム領域監視回路の監視結果とアクセス禁止設定情報に基づいてメモリへのアクセスを禁止するメモリアクセス禁止信号を発生するメモリアクセス禁止信号発生回路４０、及びメモリアクセス禁止信号に基づいてメモリに記憶された情報がメモリから外部へ読み出されることを制御するメモリアクセス制御回路５０を備えたメモリ制御回路が記載されている。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、前記マイクロコンピュータ１０では、外部のＲＯＭ２３やＲＡＭ２４をブートデバイス（起動プログラムが格納された記憶装置）としてＣＰＵ１１を起動する場合、プログラムによっては内部のフラッシュＲＯＭ１２から、読み出し制御部１３、ＣＰＵ１１、内部バス１４、外部メモリ制御部１６、及び外部バス２２を経由して、このフラッシュＲＯＭ１２の内容をセキュリティ情報ＳＥＣに拘らずに読み出すことができるという問題があった。
【００１１】
本発明は、起動プログラムの存在箇所に拘らず、セキュリティ保護された内蔵メモリのデータの外部への出力を防止することを目的としている。
【課題を解決するための手段】
【００１２】
本発明は、プログラムに従って処理及び制御を行うＣＰＵと、該プログラムを含むデータを記憶する内蔵メモリと、該ＣＰＵからの制御に従って該内蔵メモリから該データを読み出す読み出し制御部と、該ＣＰＵからの制御に従って外部メモリとの間でデータの読み書きを行う外部メモリ制御部と、を有するマイクロコンピュータにおいて、前記内蔵メモリは、連続するアドレス空間が一定の記憶領域を有するセクタで区分され、読み出し対象のアドレスが指定されたときに、そのアドレスの記憶内容を読み出しデータとして出力すると共に、該アドレスの属するセクタの記憶内容が保護されているか否かを示すセキュリティ情報を出力する構成にしている。
更に、前記読み出し制御部は、前記内蔵メモリのセクタの内でデータの読み書きに使用されるセクタ番号が設定されるレジスタを有し、該内蔵メモリが起動プログラムの格納デバイスとして指定されておらず、該内蔵メモリから出力されるセキュリティ情報によって該内蔵メモリから出力される読み出しデータが保護されており、かつ該内蔵メモリに対する読み出しアドレスが該レジスタに設定されたセクタに属していないときには該読み出しデータの出力を停止し、それ以外のときには該読み出しデータを出力することを特徴とする。
【発明の効果】
【００１３】
本発明では、内蔵メモリのセクタ毎に設定されたセキュリティ情報だけでなく、この内蔵メモリがブートデバイスとして指定されているか否かの設定に基づいて、読み出しデータの出力を制御する読み出し制御部を有している。これにより、例えば、この内蔵メモリがブートデバイスとして指定されておらず、かつこの内蔵メモリから出力されるセキュリティ情報によって該内蔵メモリから出力される読み出しデータが保護されているときには該読み出しデータの出力を停止するように構成すると、この内蔵メモリをブートデバイスとして使用することが可能になり、他の外部メモリがブートデバイスとして使用されたときには、この内蔵メモリの内容を保護することができるという効果がある。
更に、読み出し制御部は、フラッシュでデータ領域として使用することができるセクタ番号を設定するレジスタと、このレジスタに設定されたセクタヘのアクセスか否かを判定する比較器を設け、このレジスタに設定されたセクタヘのアクセスの場合には、セキュリティ情報に拘らず内蔵メモリから読み出されたデータを読み出しデータとして出力するように構成したので、内蔵メモリの一部をデータ領域として自由に使用することができるという効果がある。
【発明を実施するための最良の形態】
【００１４】
読み出し制御部にメモリのセクタの内でデータの読み書きに使用されるセクタ番号が設定されるレジスタを設け、このメモリがブートデバイスとして指定されておらず、セキュリティ情報によってこのメモリから出力される読み出しデータが保護されており、かつこのメモリに対する読み出しアドレスがレジスタに設定されたセクタに属していないときには読み出しデータの出力を停止し、それ以外のときには読み出しデータを出力するように構成する。これにより、メモリをプログラムの格納だけでなく、任意のデータを読み書きする領域として使用することができる。
【００１５】
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
【実施例１】
【００１６】
図１は、本発明の実施例１を示すマイクロコンピュータの概略の構成図であり、図２中の要素と共通の要素には共通の符号が付されている。
【００１７】
このマイクロコンピュータ１０Ａは、プログラムに従って処理及び制御を行うＣＰＵ１１と、そのプログラム等が記憶された内蔵メモリとしてのフラッシュＲＯＭ１２を有し、このＣＰＵ１１とフラッシュＲＯＭ１２の間が読み出し制御部３０を介して接続されている。
【００１８】
読み出し制御部３０は、ＣＰＵ１１からの読み出し要求（読み出し対象のアドレスＡＤＲと制御信号ＣＯＮ）に従って、フラッシュＲＯＭ１２に書き込まれているプログラム等のデータＲＤＭとセキュリティ情報ＳＥＣを読み出し、このセキュリティ情報ＳＥＣによってそのデータＲＤＭが外部出力禁止状態に設定されているときには、所定の要件（例えば、このフラッシュＲＯＭ１２がＣＰＵ１１の起動時に読み出される起動プログラムを保持するブートデバイスに指定されていること）を満たしている場合にのみ、読み出したデータＲＤＭをＣＰＵ１１及び外部回路等へ出力するものである。
【００１９】
この読み出し制御部３０は、フラッシュＲＯＭ１２がブートデバイスであるか否かを設定するためのスイッチ（ＳＷ）３１を有している。スイッチ３１は、例えばＣＰＵ１１やフラッシュＲＯＭ１２が搭載されるマザーボード上に設けられたディップスイッチで、このフラッシュＲＯＭ１２をブートデバイスに指定するときにレベル“Ｌ”を出力し、フラッシュＲＯＭ１２以外をブートデバイスに指定するときにはレベル“Ｈ”を出力するように設定するものである。
【００２０】
スイッチ３１の出力信号は２入力の論理積ゲート（以下、「ＡＮＤ」という）３２の一方の入力側に与えられ、このＡＮＤ３２の他方の入力側にはフラッシュＲＯＭ１２からのセキュリティ情報ＳＥＣが与えられている。ＡＮＤ３２の出力信号は、セレクタ３３の選択信号ＳＬとして与えられている。
【００２１】
セレクタ３３は、選択信号ＳＬが“Ｈ”のときに固定値ＦＩＸを選択し、この選択信号ＳＬが“Ｌ”のときにはフラッシュＲＯＭ１２から読み出されたデータＲＤＭを選択して、読み出しデータＲＤとしてＣＰＵ１１及び外部回路等へ出力するものである。
【００２２】
ＣＰＵ１１は、更に内部バス１４に接続され、この内部バス１４には、周辺回路との間で信号の入出力を行う周辺入出力部や設定された時間をカウントするタイマー等の複数の機能ブロック１５ａ，１５ｂ，…と、外部メモリ制御部１６が接続されている。外部メモリ制御部１６は、このマイクロコンピュータ１０の外部に設けられた外部バス２２を介して、外部メモリとしてのＲＯＭ２３やＲＡＭ２４との間でデータの読み書きを行うものである。
【００２３】
次に、図１の読み出し制御部３０の動作を、フラッシュＲＯＭ１２のセキュリティ情報ＳＥＣの設定とブートデバイスの設定の相違により、３つのケースについて説明する。
【００２４】
（１）  フラッシュＲＯＭ１２が外部出力禁止状態に設定され、このフラッシュＲＯＭ１２がブートデバイスに指定されている場合
この場合、スイッチ３１の出力信号は“Ｌ”であり、フラッシュＲＯＭ１２から出力されるセキュリティ情報ＳＥＣは“Ｈ”となる。これにより、ＡＮＤ３２から出力される選択信号ＳＬは“Ｌ”となり、セレクタ３３ではフラッシュＲＯＭ１２から読み出されたデータＲＤＭが選択され、読み出しデータＲＤとして出力される。
【００２５】
（２）  フラッシュＲＯＭ１２が外部出力禁止状態に設定され、このフラッシュＲＯＭ１２がブートデバイスに指定されていない場合
この場合、スイッチ３１の出力信号は“Ｈ”であり、フラッシュＲＯＭ１２から出力されるセキュリティ情報ＳＥＣは“Ｈ”となる。これにより、ＡＮＤ３２から出力される選択信号ＳＬは“Ｈ”となり、セレクタ３３では固定値ＦＩＸが選択され、読み出しデータＲＤとして出力される。
【００２６】
（３）  フラッシュＲＯＭ１２が外部出力許可状態に設定されている場合
この場合、フラッシュＲＯＭ１２から出力されるセキュリティ情報ＳＥＣは“Ｌ”となる。これにより、ＡＮＤ３２から出力される選択信号ＳＬは、スイッチ３１の設定に拘らず“Ｌ”となり、セレクタ３３ではフラッシュＲＯＭ１２から読み出されたデータＲＤＭが選択され、読み出しデータＲＤとして出力される。
【００２７】
以上のように、この実施例１のマイクロコンピュータは、フラッシュＲＯＭ１２が外部出力禁止状態に設定され、かつこのフラッシュＲＯＭ１２がブートデバイスに指定されていない場合に、このフラッシュＲＯＭ１２から読み出されたデータＲＤＭではなく、固定値ＦＩＸを読み出しデータＲＤとして出力する読み出し制御部３０を有している。これにより、外部のＲＯＭ２３やＲＡＭ２４がブートデバイスとなってＣＰＵ１１を起動する場合に、内部のフラッシュＲＯＭ１２のセキュリティ情報ＳＥＣで保護されたデータが外部に読み出されるおそれがなくなるという利点がある。
【実施例２】
【００２８】
図３は、本発明の実施例２を示す読み出し制御部の構成図である。
この読み出し制御部３０Ａは、図１中の読み出し制御部３０に代えて設けられるもので、図１中の要素と共通の要素には共通の符号が付されている。
【００２９】
この読み出し制御部３０Ａは、フラッシュＲＯＭ１２のセクタの中で、データ領域として自由に使用することができるセクタ番号を設定するレジスタ（ＲＥＧ）３４と、このレジスタ３４に設定されたセクタ番号及びＣＰＵ１１からフラッシュＲＯＭ１２に与えられるアドレスＡＤＲの中のセクタ番号を比較する比較器（ＣＭＰ）３５を有している。比較器３５は、入力される２つのセクタ番号が一致したときに“Ｌ”を出力し、不一致のときには“Ｈ”を出力するものである。
【００３０】
比較器３５の出力側は、３入力のＡＮＤ３６の第１入力側に接続され、このＡＮＤ３６の第２及び第３入力側には、スイッチ３１の出力信号とフラッシュＲＯＭ１２からのセキュリティ情報ＳＥＣが与えられるようになっている。そして、このＡＮＤ３６の出力信号が、セレクタ３３に対する選択信号ＳＬとして与えられている。なお、スイッチ３１とセレクタ３３の機能は、図１中のものと同じである。
【００３１】
この読み出し制御部３０Ａでは、起動時の初期設定プログラムにより、ＣＰＵ１１からレジスタ３４に対して、フラッシュＲＯＭ１２のセクタの中でデータ領域として使用することができるセクタ番号が設定される。但し、起動時のレジスタ３４に対するセクタ番号の設定時点では、フラッシュＲＯＭ１２のデータＲＤＭの外部出力が禁止されていない状態で行われるように、このフラッシュＲＯＭ１２内のセキュリティ情報ＳＥＣを“Ｌ”に設定しておく必要がある。（セキュリティ情報ＳＥＣが“Ｈ”であると、フラッシュＲＯＭ１２のデータＲＤＭが読み出せなくなってレジスタ３４の設定ができなくなるおそれがある。）
【００３２】
次に、図３の読み出し制御部３０Ａの動作を、フラッシュＲＯＭ１２のセキュリティ情報ＳＥＣの設定、ブートデバイスの設定、及びアクセス対象のセクタの相違により、４つのケースについて説明する。
【００３３】
（１）  フラッシュＲＯＭ１２が外部出力禁止状態に設定され、このフラッシュＲＯＭ１２がブートデバイスではなく、アクセス対象セクタがレジスタ３４に設定されているセクタではない場合
この場合、フラッシュＲＯＭ１２から出力されるセキュリティ情報ＳＥＣ、スイッチ３１の出力信号、及び比較器３５の出力信号は、すべて“Ｈ”となる。これにより、ＡＮＤ３６から出力される選択信号ＳＬは“Ｈ”となり、セレクタ３３では固定値ＦＩＸが選択され、読み出しデータＲＤとして出力される。
【００３４】
（２）  フラッシュＲＯＭ１２が外部出力禁止状態に設定され、このフラッシュＲＯＭ１２がブートデバイスではなく、アクセス対象セクタがレジスタ３４に設定されているセクタである場合
この場合、フラッシュＲＯＭ１２から出力されるセキュリティ情報ＳＥＣとスイッチ３１の出力信号は“Ｈ”で、比較器３５の出力信号は“Ｌ”となる。これにより、ＡＮＤ３６から出力される選択信号ＳＬは“Ｌ”となり、セレクタ３３ではフラッシュＲＯＭ１２から読み出されたデータＲＤＭが選択され、読み出しデータＲＤとして出力される。
【００３５】
（３）  フラッシュＲＯＭ１２が外部出力禁止状態に設定され、このフラッシュＲＯＭ１２がブートデバイスに指定されている場合
この場合、スイッチ３１の出力信号は“Ｌ”であるので、アクセス対象セクタに拘らず、ＡＮＤ３６から出力される選択信号ＳＬは“Ｌ”となり、セレクタ３３ではフラッシュＲＯＭ１２から読み出されたデータＲＤＭが選択され、読み出しデータＲＤとして出力される。
【００３６】
（４）  フラッシュＲＯＭ１２が外部出力許可状態に設定されている場合
この場合、フラッシュＲＯＭ１２から出力されるセキュリティ情報ＳＥＣは“Ｌ”となる。これにより、ＡＮＤ３６から出力される選択信号ＳＬは、ブートデバイスの設定やアクセス対象セクタに拘らず“Ｌ”となり、セレクタ３３ではフラッシュＲＯＭ１２から読み出されたデータＲＤＭが選択され、読み出しデータＲＤとして出力される。
【００３７】
以上のように、この実施例２の読み出し制御部３０Ａは、フラッシュＲＯＭ１２内でデータ領域として使用することができるセクタ番号を設定するレジスタ３４と、このレジスタ３４に設定されたセクタヘのアクセスか否かを判定する比較器３５を設け、このレジスタ３４に設定されたセクタヘのアクセスの場合には、セキュリティ情報ＳＥＣに拘らずフラッシュＲＯＭ１２から読み出されたデータＲＤＭを読み出しデータＲＤとして出力するように構成している。これにより、実施例１と同様の利点に加えて、フラッシュＲＯＭ１２の一部をデータ領域として自由に使用することができるという利点がある。
【００３８】
なお、本発明は、上記実施例に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
（ａ）  内蔵されたフラッシュＲＯＭ１２のセキュリティ保護について説明したが、フラッシュＲＯＭに限らず、内蔵するＲＯＭやＲＡＭ、或いは外部のＲＯＭ２３やＲＡＭ２４等のセキュリティ保護に対しても、同様に適用することができる。
（ｂ）  セキュリティ保護されたデータの読み出しに応じて、固定値ＦＩＸを出力するようにしているが、固定値ではなく乱数等のデータを出力するようにしても良い。
（ｃ）  ブートデバイスの設定はディップスイッチ３１に限らず、固定パターンによる配線、ストラップ、レジスタ等のどのような手段でも良い。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施例１を示すマイクロコンピュータの概略の構成図である。
【図２】従来のマイクロコンピュータの概略の構成図である。
【図３】本発明の実施例２を示す読み出し制御部の構成図である。
【符号の説明】
【００４０】
１０Ａ    マイクロコンピュータ
１１    ＣＰＵ
１２    フラッシュＲＯＭ
１４    内部バス
１６    外部メモリ制御部
２２    外部バス
２３    ＲＯＭ
２４    ＲＡＭ
３０，３０Ａ    読み出し制御部
３１    スイッチ
３２，３６    ＡＮＤ
３３    セレクタ
３４    レジスタ
３５    比較器
【図１】
0004829618.tif 000002
【図２】
0004829618.tif 000003
【図３】
0004829618.tif 000004