JP2008197707A - マイクロコンピュータ - Google Patents

マイクロコンピュータ Download PDF

Info

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
Application number
JP2007029153A
Other languages
English (en)
Inventor
Hitoshi Kuroyanagi
等 黒柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2007029153A priority Critical patent/JP2008197707A/ja
Publication of JP2008197707A publication Critical patent/JP2008197707A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】外部ポートを介して行われようとする内部資源の一部に対するアクセスを、効率的に禁止することができるマイクロコンピュータを提供する。
【解決手段】簡易デバッガモニタ10がマイコン1と通信を行い、CPU2に対して外部割込み信号が与えられた場合、アクセスの禁止対象となる内部資源がRAM4であれば、発生した割込み信号を、RAM4に対するアクセスを制御するアクセスブリッジ3に対して与え、外部からのアクセスを禁止する。
【選択図】図1

Description

本発明は、外部ポートに接続されたデバッガ装置が内部資源にアクセスを行う場合に、対応するデバッガプログラムを実行するマイクロコンピュータに関する。
一般に、ワンチップマイクロコンピュータを使用した製品については、製品開発時にデバッグを行うため、デバッガを使用してメモリなどの内部資源にアクセスする環境が提供されている。このようなデバッガとしては、例えば、JTAG方式を使用したICE(In Circuit Emulator)や、マイコン側にデバッガプログラムを用意しておき、外部通信ポートを利用して外部のデバッガモニタを介してアクセスを行う簡易エミュレータなどがある。
ここで、マイコンが、例えば、有料テレビ放送の視聴機に組み込まれるデスクランブル機能や、ICカードを用いた決済情報のやり取りを管理する機能といった、秘匿性の高い機能をメモリ上に展開して実現する場合には、その機能に関連した情報が、外部からのアクセスによって読み出されることがないように保護する必要がある。
その場合、ICEを使用したアクセスに関しては、ICE本体や、マイコン側に用意されるJTAG回路において、アクセスを禁止する仕組みを作り込むことは比較的容易である。一方、外部通信ポートを利用する簡易エミュレータ方式の場合は、マイコンに、UART(Universal Asynchronous Receiver Transmitter)やGPIO(General Purpose I/O)のような汎用ポートを持たせないように構成することも考えられる。しかしながら、そのように構成すると、マイコンの汎用性を著しく欠くことになり現実的ではない。
例えば、マイコンの内部資源の一部に対するアクセスを禁止する技術として、特許文献1に開示されているものがある。
特開2001−256460号公報
しかしながら、特許文献1では、マイコン内部の閉じた環境について複数のアプリケーションプログラムを実行する場合に、それらのプログラム間におけるセキュリティを確保することを目的としており、外部ポートを介して行われるアクセスに対するセキュリティの確保については考慮されていない。
本発明は上記事情に鑑みてなされたものであり、その目的は、外部ポートを介して行われようとする内部資源の一部に対するアクセスを、効率的に禁止することができるマイクロコンピュータを提供することにある。
請求項1記載のマイクロコンピュータによれば、デバッガプログラムを実行するように構成されるものは、外部ポートに接続されるデバッガ装置が内部資源にアクセスを行う場合、CPUに対して割込み信号が与えられることに着目し、前記割込み信号が発生した場合は、その割込み信号を利用して、内部資源の一部に対するアクセスを禁止する。従って、マイクロコンピュータが、秘匿性が高い機能を実現する場合でも、その機能に関する情報が外部より読み出されることを極めて簡単に禁止することができる。
請求項2記載のマイクロコンピュータによれば、アクセスの禁止対象となる内部資源がメモリである場合に、前記割込み信号を、メモリに対するアクセスを制御するコントローラに対して与える。即ち、マイクロコンピュータが秘匿性の高い機能を実現する場合には、メモリ領域の一部を使用してプログラムを実行することが多いので、外部アクセスによる割込み信号が発生した場合に、メモリの特定領域に対するアクセスをコントローラによって禁止すれば、秘匿性を確保することができる。
以下、本発明の一実施例について図面を参照して説明する。図1は、本発明のマイクロコンピュータが組み込まれた製品について、簡易デバッガ機能を利用してデバッグを行う状態を示すものである。ワンチップで構成されるマイクロコンピュータ(マイコン)1は、CPU2,アクセスブリッジ(BRG,コントローラ)3,RAM(メモリ,内部資源)4,復号回路5,UART(外部ポート)6,割込みコントローラ(INTC)7等を備えて構成されている。
また、マイコン1のチップ外に、フラッシュROM8が配置されている。フラッシュROM8は、マイコン1とバスを介して接続されており、CPU2によって読出し,書き込みが可能となっている。そして、マイコン1とフラッシュROM8とで制御装置9が構成されている。
CPU2によって実行されるアプリケーションプログラム、簡易デバッガ機能のプログラムやデータは、フラッシュROM8に記憶されており、必要に応じてRAM4に転送されて実行されるようになっている。また、アプリケーションプログラムの内、例えば、前述したデスクランブル機能のように秘匿性が高いものについては、例えば、AES(Advanced Encryption Standard)などに準拠した暗号化が施された状態で記憶されている。
そして、暗号化されていないプログラムやデータは、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に実行させる。
図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アクセスを組み合わせることで保護解除を行うようなロジックを実装すれば、解除方式をかなり複雑にすることができる。
そして、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の領域の一部を使用して秘匿性が高い機能に関するプログラムを実行する場合でも、秘匿性を確保することができる。
ここで、本発明の制御装置9を、車載器に適用することを想定する。例えば、ETC(Electronic Toll Collection system)車載器は、車両に搭載されて、高速道路の料金所に設置されている路上機と通信を行うことで通行料金の決済を自動的に処理するものであり、その際に秘匿性が高い機能を実行する。従って、ETC車載器を構成するマイクロコンピュータに関しては、外部ポートを設けずとも、その機能を実現することは可能である。
しかしながら、ETC車載器を車両用ナビゲーション装置に組み込むことで両者を一体に構成することを想定すると、ナビゲーション装置の機能も実現する場合には、マイコンに外部ポートを用意する必要が生じる。従って、制御装置9は、上記のようなアプリケーションについて、極めて有効に適用することができる。
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
フラッシュROM8を、マイコン1のチップ上に搭載しても良い。また、フラッシュROM8に替えて、マスクROMを使用しても良い。
アクセスを禁止する対象は、ROMであっても良い。また、RAM4のようなメモリに限ることなく、例えば、復号回路5の出力バッファ(外部によるアクセスが可能である場合)でも良いし、ゲートアレイの内部に構成されるデータレジスタなどでも良い。従って、復号回路5は必要に応じて設ければ良い。
外部ポートは、UART6のみであっても良いし、GPIO,或いはUSBのみであっても良い。
アクセスを禁止する場合、ダミーサイクルを実行するものに限らず、例えば、バスの使用権を与えてサイクルを実行せず、バスエラーを発生させても良い。
本発明の一実施例であり、マイクロコンピュータが組み込まれた製品について、簡易デバッガ機能を利用してデバッグを行う状態を示す図 アクセスブリッジについて、本発明の要旨にかかる部分の構成を示す図 ユーザがデバッガ用モニタを使用してデバッグ作業を行う場合の処理を示すフローチャート
符号の説明
図面中、1はマイクロコンピュータ、2はCPU、3はアクセスブリッジ(コントローラ)、4はRAM(メモリ,内部資源)、6はUART(外部ポート)、7は割込みコントローラ、10は簡易デバッガ用モニタを示す。

Claims (2)

  1. 少なくとも1つの外部ポートにデバッガ装置が接続され、前記デバッガ装置が内部資源にアクセスを行う場合に発生する割込み信号がCPUに与えられると、前記CPUが前記デバッガ装置の動作に対応するデバッガプログラムを実行するように構成されるマイクロコンピュータにおいて、
    外部ポートを介して行われるアクセスに基づく割込み信号が発生すると、前記割込み信号を利用して、内部資源の一部に対するアクセスを禁止するように構成されることを特徴とするマイクロコンピュータ。
  2. 前記アクセスの禁止対象となる内部資源はメモリであり、
    前記割込み信号は、前記メモリに対するアクセスを制御するコントローラに対して与えられることを特徴とする請求項1記載のマイクロコンピュータ。
JP2007029153A 2007-02-08 2007-02-08 マイクロコンピュータ Pending JP2008197707A (ja)

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)

* Cited by examiner, † Cited by third party
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 マイクロプロセッサ

Patent Citations (6)

* Cited by examiner, † Cited by third party
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