JP2008197707A - マイクロコンピュータ - Google Patents
マイクロコンピュータ Download PDFInfo
- Publication number
- JP2008197707A JP2008197707A JP2007029153A JP2007029153A JP2008197707A JP 2008197707 A JP2008197707 A JP 2008197707A JP 2007029153 A JP2007029153 A JP 2007029153A JP 2007029153 A JP2007029153 A JP 2007029153A JP 2008197707 A JP2008197707 A JP 2008197707A
- Authority
- JP
- Japan
- Prior art keywords
- access
- microcomputer
- ram
- debugger
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】外部ポートを介して行われようとする内部資源の一部に対するアクセスを、効率的に禁止することができるマイクロコンピュータを提供する。
【解決手段】簡易デバッガモニタ10がマイコン1と通信を行い、CPU2に対して外部割込み信号が与えられた場合、アクセスの禁止対象となる内部資源がRAM4であれば、発生した割込み信号を、RAM4に対するアクセスを制御するアクセスブリッジ3に対して与え、外部からのアクセスを禁止する。
【選択図】図1
【解決手段】簡易デバッガモニタ10がマイコン1と通信を行い、CPU2に対して外部割込み信号が与えられた場合、アクセスの禁止対象となる内部資源がRAM4であれば、発生した割込み信号を、RAM4に対するアクセスを制御するアクセスブリッジ3に対して与え、外部からのアクセスを禁止する。
【選択図】図1
Description
本発明は、外部ポートに接続されたデバッガ装置が内部資源にアクセスを行う場合に、対応するデバッガプログラムを実行するマイクロコンピュータに関する。
一般に、ワンチップマイクロコンピュータを使用した製品については、製品開発時にデバッグを行うため、デバッガを使用してメモリなどの内部資源にアクセスする環境が提供されている。このようなデバッガとしては、例えば、JTAG方式を使用したICE(In Circuit Emulator)や、マイコン側にデバッガプログラムを用意しておき、外部通信ポートを利用して外部のデバッガモニタを介してアクセスを行う簡易エミュレータなどがある。
ここで、マイコンが、例えば、有料テレビ放送の視聴機に組み込まれるデスクランブル機能や、ICカードを用いた決済情報のやり取りを管理する機能といった、秘匿性の高い機能をメモリ上に展開して実現する場合には、その機能に関連した情報が、外部からのアクセスによって読み出されることがないように保護する必要がある。
ここで、マイコンが、例えば、有料テレビ放送の視聴機に組み込まれるデスクランブル機能や、ICカードを用いた決済情報のやり取りを管理する機能といった、秘匿性の高い機能をメモリ上に展開して実現する場合には、その機能に関連した情報が、外部からのアクセスによって読み出されることがないように保護する必要がある。
その場合、ICEを使用したアクセスに関しては、ICE本体や、マイコン側に用意されるJTAG回路において、アクセスを禁止する仕組みを作り込むことは比較的容易である。一方、外部通信ポートを利用する簡易エミュレータ方式の場合は、マイコンに、UART(Universal Asynchronous Receiver Transmitter)やGPIO(General Purpose I/O)のような汎用ポートを持たせないように構成することも考えられる。しかしながら、そのように構成すると、マイコンの汎用性を著しく欠くことになり現実的ではない。
例えば、マイコンの内部資源の一部に対するアクセスを禁止する技術として、特許文献1に開示されているものがある。
特開2001−256460号公報
例えば、マイコンの内部資源の一部に対するアクセスを禁止する技術として、特許文献1に開示されているものがある。
しかしながら、特許文献1では、マイコン内部の閉じた環境について複数のアプリケーションプログラムを実行する場合に、それらのプログラム間におけるセキュリティを確保することを目的としており、外部ポートを介して行われるアクセスに対するセキュリティの確保については考慮されていない。
本発明は上記事情に鑑みてなされたものであり、その目的は、外部ポートを介して行われようとする内部資源の一部に対するアクセスを、効率的に禁止することができるマイクロコンピュータを提供することにある。
本発明は上記事情に鑑みてなされたものであり、その目的は、外部ポートを介して行われようとする内部資源の一部に対するアクセスを、効率的に禁止することができるマイクロコンピュータを提供することにある。
請求項1記載のマイクロコンピュータによれば、デバッガプログラムを実行するように構成されるものは、外部ポートに接続されるデバッガ装置が内部資源にアクセスを行う場合、CPUに対して割込み信号が与えられることに着目し、前記割込み信号が発生した場合は、その割込み信号を利用して、内部資源の一部に対するアクセスを禁止する。従って、マイクロコンピュータが、秘匿性が高い機能を実現する場合でも、その機能に関する情報が外部より読み出されることを極めて簡単に禁止することができる。
請求項2記載のマイクロコンピュータによれば、アクセスの禁止対象となる内部資源がメモリである場合に、前記割込み信号を、メモリに対するアクセスを制御するコントローラに対して与える。即ち、マイクロコンピュータが秘匿性の高い機能を実現する場合には、メモリ領域の一部を使用してプログラムを実行することが多いので、外部アクセスによる割込み信号が発生した場合に、メモリの特定領域に対するアクセスをコントローラによって禁止すれば、秘匿性を確保することができる。
以下、本発明の一実施例について図面を参照して説明する。図1は、本発明のマイクロコンピュータが組み込まれた製品について、簡易デバッガ機能を利用してデバッグを行う状態を示すものである。ワンチップで構成されるマイクロコンピュータ(マイコン)1は、CPU2,アクセスブリッジ(BRG,コントローラ)3,RAM(メモリ,内部資源)4,復号回路5,UART(外部ポート)6,割込みコントローラ(INTC)7等を備えて構成されている。
また、マイコン1のチップ外に、フラッシュROM8が配置されている。フラッシュROM8は、マイコン1とバスを介して接続されており、CPU2によって読出し,書き込みが可能となっている。そして、マイコン1とフラッシュROM8とで制御装置9が構成されている。
また、マイコン1のチップ外に、フラッシュROM8が配置されている。フラッシュROM8は、マイコン1とバスを介して接続されており、CPU2によって読出し,書き込みが可能となっている。そして、マイコン1とフラッシュROM8とで制御装置9が構成されている。
CPU2によって実行されるアプリケーションプログラム、簡易デバッガ機能のプログラムやデータは、フラッシュROM8に記憶されており、必要に応じてRAM4に転送されて実行されるようになっている。また、アプリケーションプログラムの内、例えば、前述したデスクランブル機能のように秘匿性が高いものについては、例えば、AES(Advanced Encryption Standard)などに準拠した暗号化が施された状態で記憶されている。
そして、暗号化されていないプログラムやデータは、CPU2がフラッシュROM8より直接読み出す。一方、暗号化されているものについては、CPU2の指令に応じて復号回路5が読み出しを行い、復号化処理したものをRAM4上に転送するようになっている。アクセスブリッジ3は、RAM4に対するアクセスを制御するもので、アドレスデコーダやアービタ、バスバッファ(何れも図示せず)などを備えている。
そして、暗号化されていないプログラムやデータは、CPU2がフラッシュROM8より直接読み出す。一方、暗号化されているものについては、CPU2の指令に応じて復号回路5が読み出しを行い、復号化処理したものをRAM4上に転送するようになっている。アクセスブリッジ3は、RAM4に対するアクセスを制御するもので、アドレスデコーダやアービタ、バスバッファ(何れも図示せず)などを備えている。
UART6は、外部とシリアル通信を行うためのインターフェイスであり、CPU2との間で転送されるデータについては、シリアル/パラレル変換を行なう。割込みコントローラ7は、CPU2に対して出力する割込みを制御するもので、例えば、UART6が外部より送信されたデータを受信すると、割込み信号を、CPU2と共にアクセスブリッジ3に出力するように構成されている。尚、外部割込みの要因は、UART6以外にも、GPIOやUSB(Universal Serial Bus)など複数存在しており、それらの要因数に応じて出力される割込み信号数も複数本となっている。
そして、制御装置9のデバッグ作業を行う場合には、例えば、パーソナルコンピュータで構成される簡易デバッガ用モニタ10をUART6に接続し、デバッガ用モニタ10よりデバッグ用のコマンドをマイコン1に送信して、CPU2に実行させる。
そして、制御装置9のデバッグ作業を行う場合には、例えば、パーソナルコンピュータで構成される簡易デバッガ用モニタ10をUART6に接続し、デバッガ用モニタ10よりデバッグ用のコマンドをマイコン1に送信して、CPU2に実行させる。
図2は、アクセスブリッジ3について、本発明の要旨にかかる部分の構成を示すものである。アクセスブリッジ3は、アドレスデコーダ11,ANDゲート12,ORゲート13,フリップフロップ14などを備えている。アドレスデコーダ11は、アドレスバス上に出力されたアドレス信号をデコードし、そのアドレスがRAM4について設定されている外部アクセス禁止領域を示す場合に、sel_RAM信号をANDゲート12の一方の入力端子に出力する。ここで、外部アクセス禁止領域は、上述したように、フラッシュROM8に暗号化された状態で記憶されているプログラム等を、復号回路5が読み出して復号化し、RAM4上に転送されたものが配置されている領域である。
ANDゲート12の他方の入力端子には、フリップフロップ14の出力端子が接続されている。フリップフロップ14には、ORゲート13を介してセット信号が与えられるが、ORゲート13の各入力端子には、割込みコントローラ7より出力される、要因1〜3に応じた3本の外部割込み信号が与えられている。即ち、割込み信号は通常エッジタイプの信号であるから、フリップフロップ14をセットすることで保持を行う。
また、フリップフロップ14のクリア信号としては、マイコン1につき定められている独自の方式により出力される保護解除信号が与えられている。尚、上記の保護解除についてもタンパリングを防止するため、秘匿性の高い解除方式を設定するべきである。例えば、CPUアクセスやDMAアクセスを組み合わせることで保護解除を行うようなロジックを実装すれば、解除方式をかなり複雑にすることができる。
また、フリップフロップ14のクリア信号としては、マイコン1につき定められている独自の方式により出力される保護解除信号が与えられている。尚、上記の保護解除についてもタンパリングを防止するため、秘匿性の高い解除方式を設定するべきである。例えば、CPUアクセスやDMAアクセスを組み合わせることで保護解除を行うようなロジックを実装すれば、解除方式をかなり複雑にすることができる。
そして、ANDゲート12の出力信号は、RAM4の外部アクセス禁止領域について、アクセスを禁止するためのsel_RAM_protected信号となる。このsel_RAM_protected信号が出力されると、アクセスブリッジ7は、そのときに出力されているアドレス値にかかわらず、RAM4の0番地を読み出すダミーサイクルを実行するように構成されている。即ち、アドレス0番地には、読み出されても問題がないダミーデータが設定されている。
次に、本実施例の作用について図3も参照して説明する。図3は、ユーザがデバッガ用モニタ10を使用して制御装置9のデバッグ作業を行う場合の処理を示すフローチャートである。尚、このフローチャートは、マイコン1のハード,ソフト双方により実行される処理を併せて示している。先ず、デバッガ用モニタ10より送信されたテスト用のコマンドをUART6が受信すると、割込みコントローラ7がCPU2に割り込みを発生させる(ステップS1)。この時、アクセスブリッジ3の内部では、フリップフロップ14がセットされる。
CPU2は、割込みハンドラによってUART6が発生させた割り込みであることを認識すると、デバッガルーチンの先頭アドレスにジャンプして、デバッガ機能を実行する(ステップS2)。そして、UART6内部の受信バッファにアクセスして、受信データを読み出す(ステップS3)。ここで、上記受信データの内容がRAM4の読出しである場合、CPU2は、RAM4の領域を示すアドレスを出力してリードサイクルを実行する(ステップS4)。
すると、アクセスブリッジ3では、出力されたアドレスをアドレスデコーダ11がデコードして、そのデコード結果が外部アクセス禁止領域であるか否かを判定する(ステップS)。即ち、アドレスデコーダ11がsel_RAM信号を出力しなければ(NO)、デバッガ用モニタ10によるアクセスは、読み出されても問題がない領域であることを示すので、アクセスブリッジ3は、そのリードアクセスを許可して実行する(ステップS6)。そして、CPU2は、メインルーチンにリターンする(ステップS7)。
一方、ステップS5において、アドレスデコーダ11がsel_RAM信号を出力した場合は(YES)、禁止領域に対するアクセスであるから、ANDゲート12がsel_RAM_protected信号を出力する。従って、この場合、アクセスブリッジ3は、要求されたリードアクセスに替えてダミーサイクルを実行し、RAM4のアドレス0番地を読み出す(ステップS8)。それから、ステップS7に移行する。
以上のように本実施例によれば、簡易デバッガ用モニタ10がマイコン1と通信を行うことでCPU2に対して外部割込み信号が与えられた場合は、その割込み信号を利用して、内部資源の一部に対するアクセスを禁止するので、マイコン1が、秘匿性が高い機能を実現する場合でも、その機能に関する情報が外部より読み出されることを極めて簡単に禁止することができる。
また、アクセスの禁止対象となる内部資源がRAM4である場合に、前記割込み信号を、RAM4に対するアクセスを制御するアクセスブリッジ3に対して与えるので、マイコン1が、RAM4の領域の一部を使用して秘匿性が高い機能に関するプログラムを実行する場合でも、秘匿性を確保することができる。
また、アクセスの禁止対象となる内部資源がRAM4である場合に、前記割込み信号を、RAM4に対するアクセスを制御するアクセスブリッジ3に対して与えるので、マイコン1が、RAM4の領域の一部を使用して秘匿性が高い機能に関するプログラムを実行する場合でも、秘匿性を確保することができる。
ここで、本発明の制御装置9を、車載器に適用することを想定する。例えば、ETC(Electronic Toll Collection system)車載器は、車両に搭載されて、高速道路の料金所に設置されている路上機と通信を行うことで通行料金の決済を自動的に処理するものであり、その際に秘匿性が高い機能を実行する。従って、ETC車載器を構成するマイクロコンピュータに関しては、外部ポートを設けずとも、その機能を実現することは可能である。
しかしながら、ETC車載器を車両用ナビゲーション装置に組み込むことで両者を一体に構成することを想定すると、ナビゲーション装置の機能も実現する場合には、マイコンに外部ポートを用意する必要が生じる。従って、制御装置9は、上記のようなアプリケーションについて、極めて有効に適用することができる。
しかしながら、ETC車載器を車両用ナビゲーション装置に組み込むことで両者を一体に構成することを想定すると、ナビゲーション装置の機能も実現する場合には、マイコンに外部ポートを用意する必要が生じる。従って、制御装置9は、上記のようなアプリケーションについて、極めて有効に適用することができる。
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
フラッシュROM8を、マイコン1のチップ上に搭載しても良い。また、フラッシュROM8に替えて、マスクROMを使用しても良い。
アクセスを禁止する対象は、ROMであっても良い。また、RAM4のようなメモリに限ることなく、例えば、復号回路5の出力バッファ(外部によるアクセスが可能である場合)でも良いし、ゲートアレイの内部に構成されるデータレジスタなどでも良い。従って、復号回路5は必要に応じて設ければ良い。
外部ポートは、UART6のみであっても良いし、GPIO,或いはUSBのみであっても良い。
アクセスを禁止する場合、ダミーサイクルを実行するものに限らず、例えば、バスの使用権を与えてサイクルを実行せず、バスエラーを発生させても良い。
フラッシュROM8を、マイコン1のチップ上に搭載しても良い。また、フラッシュROM8に替えて、マスクROMを使用しても良い。
アクセスを禁止する対象は、ROMであっても良い。また、RAM4のようなメモリに限ることなく、例えば、復号回路5の出力バッファ(外部によるアクセスが可能である場合)でも良いし、ゲートアレイの内部に構成されるデータレジスタなどでも良い。従って、復号回路5は必要に応じて設ければ良い。
外部ポートは、UART6のみであっても良いし、GPIO,或いはUSBのみであっても良い。
アクセスを禁止する場合、ダミーサイクルを実行するものに限らず、例えば、バスの使用権を与えてサイクルを実行せず、バスエラーを発生させても良い。
図面中、1はマイクロコンピュータ、2はCPU、3はアクセスブリッジ(コントローラ)、4はRAM(メモリ,内部資源)、6はUART(外部ポート)、7は割込みコントローラ、10は簡易デバッガ用モニタを示す。
Claims (2)
- 少なくとも1つの外部ポートにデバッガ装置が接続され、前記デバッガ装置が内部資源にアクセスを行う場合に発生する割込み信号がCPUに与えられると、前記CPUが前記デバッガ装置の動作に対応するデバッガプログラムを実行するように構成されるマイクロコンピュータにおいて、
外部ポートを介して行われるアクセスに基づく割込み信号が発生すると、前記割込み信号を利用して、内部資源の一部に対するアクセスを禁止するように構成されることを特徴とするマイクロコンピュータ。 - 前記アクセスの禁止対象となる内部資源はメモリであり、
前記割込み信号は、前記メモリに対するアクセスを制御するコントローラに対して与えられることを特徴とする請求項1記載のマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007029153A JP2008197707A (ja) | 2007-02-08 | 2007-02-08 | マイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007029153A JP2008197707A (ja) | 2007-02-08 | 2007-02-08 | マイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008197707A true JP2008197707A (ja) | 2008-08-28 |
Family
ID=39756623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007029153A Pending JP2008197707A (ja) | 2007-02-08 | 2007-02-08 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008197707A (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08161232A (ja) * | 1994-12-05 | 1996-06-21 | Oki Electric Ind Co Ltd | 機密データ内蔵機器のセキュリティ装置 |
JP2002334018A (ja) * | 2001-05-08 | 2002-11-22 | Toshiba Corp | 制御ic装置と光ディスク装置及びこの方法 |
JP2003005854A (ja) * | 2001-04-20 | 2003-01-08 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
JP2005182434A (ja) * | 2003-12-19 | 2005-07-07 | Internatl Business Mach Corp <Ibm> | マイクロコンピュータ、メモリの保護方法及びデバッグ方法 |
JP2005275841A (ja) * | 2004-03-25 | 2005-10-06 | Nec Electronics Corp | メモリ保護装置 |
JP2006072963A (ja) * | 2004-06-24 | 2006-03-16 | Toshiba Corp | マイクロプロセッサ |
-
2007
- 2007-02-08 JP JP2007029153A patent/JP2008197707A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08161232A (ja) * | 1994-12-05 | 1996-06-21 | Oki Electric Ind Co Ltd | 機密データ内蔵機器のセキュリティ装置 |
JP2003005854A (ja) * | 2001-04-20 | 2003-01-08 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
JP2002334018A (ja) * | 2001-05-08 | 2002-11-22 | Toshiba Corp | 制御ic装置と光ディスク装置及びこの方法 |
JP2005182434A (ja) * | 2003-12-19 | 2005-07-07 | Internatl Business Mach Corp <Ibm> | マイクロコンピュータ、メモリの保護方法及びデバッグ方法 |
JP2005275841A (ja) * | 2004-03-25 | 2005-10-06 | Nec Electronics Corp | メモリ保護装置 |
JP2006072963A (ja) * | 2004-06-24 | 2006-03-16 | Toshiba Corp | マイクロプロセッサ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220222387A1 (en) | Methods and Systems to Restrict Usage of a DMA Channel | |
EP2725517B1 (en) | System-on-chip processing secure contents and mobile device comprising the same | |
US8051467B2 (en) | Secure information processing | |
US8132254B2 (en) | Protecting system control registers in a data processing apparatus | |
US7707645B2 (en) | Microprocessor | |
US20070101158A1 (en) | Security region in a non-volatile memory | |
US20070226795A1 (en) | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture | |
TW200305082A (en) | Data processing system with peripheral access protection and method therefor | |
JP4591163B2 (ja) | バスアクセス制御装置 | |
JP2007310601A (ja) | マイクロコンピュータおよびそのソフトウェア保護方法 | |
US7512761B2 (en) | Programmable processor and methods thereof having memory access locking | |
US20090327750A1 (en) | Security system for code dump protection and method thereof | |
US10037287B2 (en) | Method for protecting memory against unauthorized access | |
JP2008197707A (ja) | マイクロコンピュータ | |
JP2007109053A (ja) | バスアクセス制御装置 | |
JP3705255B2 (ja) | 半導体装置及びそれを用いたインサーキットエミュレータ | |
EP4187415A1 (en) | Processing system, related device and method for protecting latches or flip-flops of a register | |
JP2011150457A (ja) | 情報処理装置およびメモリアクセス制御方法 | |
US20100064143A1 (en) | System lsi | |
JP2010134572A (ja) | セキュリティを実現する装置、および方法 | |
CN114968881A (zh) | 电路装置和电子设备 | |
JP2009169511A (ja) | 情報処理装置 | |
JP2004334281A (ja) | Icカード及びプログラム | |
JP2006338385A (ja) | プロセッサシステム | |
JP2005251022A (ja) | プロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090420 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100406 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100727 |