JP4828996B2 - 情報処理装置及びそれを用いたセキュリティ解除プログラムの不正実行禁止方法 - Google Patents

情報処理装置及びそれを用いたセキュリティ解除プログラムの不正実行禁止方法 Download PDF

Info

Publication number
JP4828996B2
JP4828996B2 JP2006113890A JP2006113890A JP4828996B2 JP 4828996 B2 JP4828996 B2 JP 4828996B2 JP 2006113890 A JP2006113890 A JP 2006113890A JP 2006113890 A JP2006113890 A JP 2006113890A JP 4828996 B2 JP4828996 B2 JP 4828996B2
Authority
JP
Japan
Prior art keywords
instruction
read
program
signal
memory area
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.)
Expired - Fee Related
Application number
JP2006113890A
Other languages
English (en)
Other versions
JP2007286921A (ja
Inventor
洋介 松下
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006113890A priority Critical patent/JP4828996B2/ja
Publication of JP2007286921A publication Critical patent/JP2007286921A/ja
Application granted granted Critical
Publication of JP4828996B2 publication Critical patent/JP4828996B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、情報処理装置としてのマイクロコンピュータに係り、特にメモリに書き込まれたデータの読み出しや書き換えの禁止技術に関する。
フラッシュメモリなどのPROM(Programmable Read Only Memory)を内蔵するマイコンでは、基本的にはセキュリティをかけた後ではセキュリティの解除作業はできないようになっている(例えば、特許文献1参照。)。
しかし、完成したプログラムをフラッシュメモリに書き込んで製品として出荷した後に、プログラムのバグが発見されたり、仕様変更によって固定データを変更する必要が発生する場合がある。このような場合に対応するために、通常、ハードウエアはセキュリティ解除手段を持ち、プログラマはセキュリティ解除プログラムをメモリ領域に埋め込んでいる。このため、例えば特許文献1の場合、セキュリティ解除プログラムへのコールは制限されず、認証を飛ばして解除命令を直接実行することができるという問題点がある。また、オンボードデバッガや外部メモリのような外部から入力されるプログラムによるコールに対しても実質上制限がないので、数万から数十億通りの組み合わせデータを外部から入力することによりセキュリティ解除プログラムを不正実行できるという問題点がある。
特開2005−129041号公報(頁11、図2)
本発明は、特定メモリ領域外からの実行を禁止して、セキュリティ解除プログラムの不正実行を防止する情報処理装置及びそれを用いたセキュリティ解除プログラムの不正実行禁止方法を提供することにある。
上記目的を達成するために、本発明の一態様の情報処理装置は、所定のプログラムを格納するメモリエリアが複数設けられたメモリと、前記プログラムを読み出して、所定の命令にもとづいて演算処理を行うCPUと、前記プログラムの読み出しに用いられる命令アドレス信号と命令列の読み出しであるフェッチアドレス信号を入力し、同一メモリエリアからの読み出しと判断した場合に読み出し許可信号を生成する判別回路と、前記判別回路から出力される前記読み出し許可信号にもとづいて、前記メモリエリアに格納されているプログラムを読み出し、他のメモリエリアに格納されているプログラムの読み出しを禁止する読み出し制御手段とを具備することを特徴とする
更に、上記目的を達成するために、本発明の一態様の情報処理装置を用いたセキュリティ解除プログラムの不正実行禁止方法は、所定のプログラムを格納するメモリエリアが複数設けられたメモリと、前記プログラムを読み出して、所定の命令にもとづいて演算処理を行うCPUと、同一メモリエリアからの読み出しかどうかを判別する判別信号を生成する判別手段と、メモリエリアのプログラムの読み出し制御を行う読み出し制御手段とを有する情報処理装置であって、前記メモリから読み出された命令を前記CPUで命令フェッチするステップと、前記命令フェッチでフェッチされた命令がジャンプ命令かを判別するステップと、前記命令フェッチでフェッチされた命令がジャンプ命令でない場合、前記読み出された命令のメモリエリアに格納されているプログラムの読み出し実行を行うステップと、前記命令フェッチでフェッチされた命令がジャンプ命令である場合、読み出し対象が格納されているメモリエリアが同一メモリエリア内かを判別するステップと、メモリエリアが異なり、ジャンプ読み出しの場合、読み出し不許可信号にもとづいて、プログラムの読み出し実行を行わずにセキュリティ実行を行うステップとを具備することを特徴とする。
本発明によれば、特定メモリ領域外からの実行を禁止して、セキュリティ解除プログラムの不正実行を防止する情報処理装置及びそれを用いたセキュリティ解除プログラムの不正実行禁止方法を提供することができる。
以下本発明の実施例について図面を参照しながら説明する。
まず、本発明の実施例1に係る情報処理装置について、図面を参照して説明する。図1は情報処理装置を示すブロック図である。本実施例では、メモリ内部にプログラム毎に異なる判別標識が設けられている。
図1に示すように、情報処理装置1には、CPU(Central Processing Unit)2、メモリ3、及び読み出し制御部4が設けられている。情報処理装置1は、マイクロコンピュータ(マイコンとも呼称される)である。
メモリ3には、1番目の格納用メモリエリア11、・・・n番目の格納用メモリエリア12、1番目の判別標識13、・・・n番目の判別標識14が設けられている。格納用メモリエリア及び判別標識は、それぞれn個設けられ、1番目の判別標識13は1番目の格納用メモリエリア11に対応し、n番目の判別標識14はn番目の格納用メモリエリア12に対応している。メモリ3は、例えば、フラッシュROMからなり、複数の格納用メモリエリア毎に、それぞれ所定のプログラムを格納している。
読み出し制御部4は、データバス5によりCPU2の命令列16に接続されている。そして、メモリ3から出力されるデータ信号を入力し、判別回路17から出力される読み出し許可信号1〜nにもとづいて、メモリ3へのアクセスが許可されたときにメモリ3からのプログラム読み出し(命令フェッチ)を制御し、メモリ3へのアクセスが許可されないときにメモリ3からのプログラム読み出し(命令フェッチ)を禁止する。
CPU2には、判別bit15、命令列16、及びフェッチアドレス18が設けられている。CPU2は、情報処理装置1全体を指揮・統括し、所定の命令にもとづいて、メモリ3に格納されているプログラムを呼び出し、解読、計算、読み出しなどの演算処理を行う。
命令列16は、データバス5を介して読み出し制御部4から出力される命令信号MRSを入力し、次のフェッチアドレスを出力する。判別bit15は、1番目の判定bitからn番目の判定bit情報を有し、判別回路17から出力される判別標識信号HBSを入力し、例えば、1番目の判別標識13に格納されている1番目の命令列には1番目の判定bitを判別し、n番目の判別標識14に格納されているn番目の命令列にはn番目の判定bitを判別する。
フェッチアドレス18は、アドレス線6によりメモリ3に接続されている。そして、命令列16から出力されるフェッチ先の命令列信号MJSを入力し、命令列の読み出し先であるフェッチアドレス信号としてのアドレス信号をメモリ3に出力する。
判別回路17は、判別bit15から出力される判別bit信号を入力し、判別bitに対応した読み出し許可信号を読み出し制御部4に出力する。例えば、読み出し許可信号1は1番目の格納用メモリエリア11に格納されているプログラムの読み出し制御用、読み出し許可信号nはn番目の格納用メモリエリア12に格納されているプログラムの読み出し制御用としてそれぞれ使用される。読み出し許可信号m(mは、1以上で(n−1)の整数)では、m番目以外の、例えば、(m+1)番目などの格納用メモリエリアに格納されているプログラムの読み出し制御はできない(命令フェッチの禁止)。
ここで、それぞれの判別標識に対応するプログラムが判別回路17で判別されたときのみ、そのプログラムが格納されている格納用メモリエリアへの命令フェッチが許可される。そして、例えば、1番目の格納用メモリエリア11に認証プログラムが格納され、n番目の格納用メモリエリア12にセキュリティ解除プログラムが格納されている場合、認証をスキップしてセキュリティ解除命令を直接実行することができなくなる(セキュリティ解除の不正実行の禁止)。
上述したように、本実施例の情報処理装置では、CPU2、メモリ3、判別回路17、及び読み出し制御部4が設けられ、CPU2には、判別bit15、命令列16、及びフェッチアドレス18が設けられている。判別回路17は、判別bit15から出力される判別bit信号を入力し、判別bitに対応した読み出し許可信号を読み出し制御部4に出力する。読み出し制御部4は、データバス5によりCPU2の命令列16に接続され、メモリ3から出力されるデータ信号などを入力し、判別回路17から出力される読み出し許可信号1〜nにもとづいて、メモリ3へのアクセスが許可されたときにメモリ3からのプログラムの読み出しを制御する。
このため、それぞれの判別標識に対応するプログラムのものと判別されたときのみ、そのプログラムが格納されている格納用メモリエリアへの命令フェッチが許可される。
したがって、認証をスキップしてセキュリティ解除命令を直接実行することができなくなり、セキュリティ解除の不正実行が禁止される。また、外部から入力されるデータによる内部メモリに記憶されたデータとの比較作業によるセキュリティ解除の不正実行ができなくなる。
なお、本実施例では、情報処理装置1にCPU7を設けているが、CPU7の代わりに、情報処理装置全体を指揮・統括するためのMCU(Micro Controller Units)、プロセッサ、或いはMPU(Micro Processor Unit)などを設けてもよい。
次に、本発明の実施例2に係る情報処理装置について、図面を参照して説明する。図2は情報処理装置を示すブロック図である。本実施例では、命令アドレスとフェッチアドレスが同一メモリ領域かを判別する判別回路が設けられている。
以下、実施例1と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
図2に示すように、情報処理装置1aには、CPU2a、メモリ3a、及び読み出し制御部4aが設けられている。情報処理装置1aは、マイクロコンピュータである。
メモリ3aには、1番目の格納用メモリエリア11、・・・n番目の格納用メモリエリア12が設けられている。メモリ3aは、例えば、フラッシュROMからなり、複数の格納用メモリエリア毎に、それぞれ所定のプログラムを格納している。
読み出し制御部4aは、データバス5aによりメモリ3aに接続され、データバス5bによりCPU2aの命令列16に接続されている。そして、メモリ3aから出力されるアドレス及びデータ信号などのメモリ出力信号MMSを入力し、CPU2aの判別回路17aから出力される読み出し許可信号にもとづいてプログラムの読み出しを制御する。
CPU2aには、命令列16、判別回路17a、フェッチアドレス18、及び命令アドレス19が設けられている。CPU2aは、情報処理装置1a全体を指揮・統括し、所定の命令にもとづいて、メモリ3aに格納されているプログラムを呼び出し、解読、計算、読み出しなどの演算処理を行う。
命令列16は、データバス5bを介して読み出し制御部4aから出力される命令信号MRSを入力し、アクセス実行用の命令列をフェッチアドレス18に出力する。命令アドレス19は、命令列が格納されている命令アドレス情報を命令アドレス信号MASとして判別回路17aに出力する。
フェッチアドレス18は、アドレス線6によりメモリ3aに接続されている。そして、命令列16から出力されるフェッチ先の命令列信号MJSを入力し、フェッチ先のフェッチアドレス情報をフェッチアドレス信号FASとして判別回路17aに出力し、命令列の読み出し先であるフェッチアドレス信号としてのアドレス信号をメモリ3aに出力する。
判別回路17は、命令アドレス19から出力される命令アドレス信号MASとフェッチアドレス18から出力されるフェッチアドレス信号FASを入力し、同一格納用メモリエリアからの読み出しと判断された場合、読み出し許可信号を読み出し制御部4aに出力する。同一格納用メモリエリアからの読み出しと判断されない場合、読み出し許可信号は読み出し制御部4aに出力されない。
読み出し許可信号が出力されると、データバス5bを介して命令信号MRSがCPU2aに入力されてプログラム実行される。読み出し許可信号が出力されない場合、正しい命令データがフェッチされず、例えば、セキュリティ解除プログラムの実行がされない。
上述したように、本実施例の情報処理装置では、CPU2a、メモリ3a、及び読み出し制御部4aが設けられ、CPU2aには、命令列16、判別回路17a、フェッチアドレス18、判別回路17aが設けられている。判別回路17aは、命令アドレスから出力される命令アドレス信号MASとフェッチアドレス18から出力されるフェッチアドレス信号FASを入力し、同一格納用メモリエリアからの読み出しと判断された場合のみ読み出し許可信号を読み出し制御部4aに出力する。読み出し制御部4は、判別回路17aから出力される読み出し許可信号にもとづいて、メモリ3aからのプログラムの読み出しを制御する。
このため、それぞれのアドレスに対応するプログラムのものと判別されたときのみ、そのプログラムが格納されている格納用メモリエリアへの命令フェッチが許可される。
したがって、認証をスキップしてセキュリティ解除命令を直接実行することができなくなり、セキュリティ解除の不正実行が禁止される。また、外部から入力されるデータと内部メモリに記憶されたデータとの比較作業によるセキュリティ解除の不正実行ができなくなる。
次に、本発明の実施例3に係る情報処理装置について、図面を参照して説明する。図3は情報処理装置を示すブロック図である。本実施例では、メモリエリアのアドレスを管理するアドレスデコーダを設けている。
以下、実施例1と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
図3に示すように、情報処理装置1bには、CPU2a、メモリ3a、読み出し制御部4a、及びアドレスデコーダ8が設けられている。情報処理装置1bは、マイクロコンピュータである。
CPU2aには、命令列16、判別回路17a、フェッチアドレス18、及び命令アドレス19が設けられている。フェッチアドレス18は、命令アドレス線7によりメモリ3aに接続されている。そして、命令列16から出力されるフェッチ先の命令列信号MJSを入力し、フェッチ先のフェッチアドレス情報をフェッチアドレス信号FASとして判別回路17aに出力し、命令列の読み出し先であるフェッチアドレス信号としての命令アドレス信号をメモリ3aに出力する。
アドレスデコーダ8は、フェッチアドレス18から出力される命令アドレス信号を入力し、フェッチアドレス情報に対応する格納用メモリエリアを選択するセレクト信号をメモリ3aに出力してフェッチアドレスからどの格納用メモリエリアを使用するかの判別を行う。このセレクト信号にもとづいて、読み出された格納用メモリエリアに格納されるプログラムの読み出し実行が行われる。
上述したように、本実施例の情報処理装置では、CPU2a、メモリ3a、読み出し制御部4a、及びアドレスデコーダ8が設けられ、CPU2aには、命令列16、判別回路17a、フェッチアドレス18、判別回路17aが設けられている。判別回路17aは、命令アドレスから出力される命令アドレス信号MASとフェッチアドレス18から出力されるフェッチアドレス信号FASを入力し、同一格納用メモリエリアからの読み出しと判断された場合のみ読み出し許可信号を読み出し制御部4aに出力する。読み出し制御部4は、判別回路17aから出力される読み出し許可信号にもとづいて、メモリ3aからのプログラムの読み出しを制御する。アドレスデコーダ8は、フェッチアドレスからどの格納用メモリエリアを使用するかの判別を行うためのセレクト信号を出力する。
このため、それぞれのアドレスに対応するプログラムのものと判別されたときのみ、そのプログラムが格納されている格納用メモリエリアへの命令フェッチが許可される。そして、特定メモリエリア外からの実行を禁止できる。
したがって、認証をスキップしてセキュリティ解除命令を直接実行することができなくなり、セキュリティ解除の不正実行が禁止される。また、外部から入力されるデータによって内部メモリに記憶されたデータとの比較作業によるセキュリティ解除の不正実行ができなくなる。
次に、本発明の実施例4に係る情報処理装置について、図面を参照して説明する。図4は情報処理装置を示すブロック図である。本実施例では、アドレスデコーダに判別回路と読み出し制御回路を設けている。
以下、実施例1と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
図4に示すように、情報処理装置1cには、CPU2b、メモリ3a、及びアドレスデコーダ21が設けられている。情報処理装置1cは、マイクロコンピュータである。
CPU2bには、命令列16及びフェッチアドレス18が設けられている。CPU2bは、情報処理装置1c全体を指揮・統括し、所定の命令にもとづいて、メモリ3aに格納されているプログラムを呼び出し、解読、計算、読み出しなどの演算処理を行う。
命令列16は、データバス5cを介してメモリ3aに接続され、メモリ3aから出力される命令信号MRSを入力し、次の命令アクセス用のアドレスをフェッチアドレス18に出力する。フェッチアドレス18は、命令アドレス線7によりメモリ3aに接続されている。そして、命令列16から出力されるフェッチ先のアドレス信号としての命令列信号MJSを入力し、命令列の読み出し先であるフェッチアドレス信号としての命令アドレス信号をメモリ3a及びアドレスデコーダ21に出力する。
アドレスデコーダ21には、判別回路17b、フェッチアドレス18a、命令アドレス保持回路22、及び読み出し制御回路23が設けられている。
フェッチアドレス18aは、命令アドレス信号を入力し、フェッチ先のフェッチアドレス情報をフェッチアドレス信号FASとして判別回路17bに出力し、フェッチアドレス信号FASSを命令アドレス保持回路22に出力する。命令アドレス保持回路22は、フェッチアドレス信号FASSを入力し、実行中の命令アドレスとして命令アドレス信号MASを判別回路17bに出力する。
判別回路17bは、次にフェッチしようとしているフェッチアドレスとしてフェッチアドレス信号FASと実行中の命令アドレスとして命令アドレス信号MASを入力し、同一格納用メモリエリアからの読み出しかどうかを判別する判別信号HSSを生成し、読み出し制御回路23に出力する。読み出し制御回路23は、判別信号HSSを入力し、フェッチアドレス情報に対応する格納用メモリエリアを選択するセレクト信号をメモリ3aに出力する。
次に、情報処理装置の動作について図5乃至図7を参照して説明する。図5は情報処理装置の動作を示すフローチャート、図6は情報処理装置の命令データの読み出し実行を示すタイミングチャート、図7は情報処理装置のセキュリティ実行を示すタイミングチャートである。
図5に示すように、まず、データバス5cを介してメモリ3aから読み出された命令(命令信号MRS)がCPU2bでフェッチされる(ステップS1)。次に、命令フェッチされた命令がジャンプ命令かどうかを判別する(ステップS2)。
続いて、ジャンプ命令でない場合、読み出し制御回路23から出力されるセレクト信号にもとづいて、読み出された命令の格納用メモリエリアに格納されているプログラムの読み出し実行が行われる(ステップS3)。
そして、ジャンプ命令である場合、読み出し対象が格納されているメモリエリアが同一格納用メモリエリア内かどうかの判別を判別回路17bで行う(ステップS4)。
次に、同一格納用メモリエリア内の場合、図6に示すように、例えば、情報処理装置1c内部で生成されるクロック信号の立ち上がりエッジ(“Low”レベルから“High”レベルに変化)により、例えば、1番目の格納用メモリエリア11に格納されているブロック1の命令アドレス(BLK1(A0)、BLK1(A0+4)、及びジャンプしたBLK1(A2))と、2番目の格納用メモリエリアに格納されBLK1(A2)と連続的であるブロック2の命令アドレス(BLK2(A2+4))とがCPU2bから出力される。
出力された命令アドレスは、フェッチアドレス18からアドレスデコーダ21とメモリ3aに入力される。メモリ3aではこれらの命令アドレス(BLK1(A0))が命令1、命令アドレス(BLK1(A0+4))が命令2、命令アドレス(BLK1(A2))が命令3、命令アドレス(BLK2(A2+4))が命令4を出力し、それぞれ命令データ信号が生成される。アドレスデコーダ21では、これらの命令アドレスから、セレクト信号がメモリ3aに出力される。具体的には、セレクト信号1は、命令アドレスA0出力前に“High”レベルから“Low”レベルに変化し、命令アドレスA0+4出力後に“Low”レベルから“High”レベルに変化し、命令アドレスA2出力前に“High”レベルから“Low”レベルに変化し、命令アドレスA2出力後に“Low”レベルから“High”レベルに変化する。一方、セレクト信号2は、命令アドレスA2+4出力前に“High”レベルから“Low”レベルに変化し、命令アドレスA2+4出力後に“Low”レベルから“High”レベルに変化する。
このため、同一格納用メモリエリア内での連続動作である命令アドレス(BLK1(A0))、命令アドレス(BLK1(A0+4))よる判定が行われ、読み出し許可信号は許可信号レベルの“High”レベル(enable信号レベル)となり、正常実行される。そして、格納用メモリエリアを跨いでの連続動作である命令アドレス(BLK1(A2))、命令アドレス(BLK2(A2+4))よる判定が行われ、読み出し許可信号は許可信号レベルの“High”レベルとなり、正常実行される。なお、同一格納用メモリエリア内でのジャンプ動作も正常実行される(ステップS5)。
続いて、格納用メモリエリアが異なる場合、図7に示すように、情報処理装置1c内部で生成されるクロック信号の立ち上がりエッジにより、例えば、1番目の格納用メモリエリア11に格納されているブロック1の命令アドレス(BLK1(A4)と、2番目の格納用メモリエリアに格納され、ジャンプされたブロック2の命令アドレス(BLK2(A5))とがCPU2bから出力される。
出力された命令アドレスは、フェッチアドレス18からアドレスデコーダ21とメモリ3aに入力される。メモリ3aではこれらの命令アドレス(BLK1(A4))が命令5、命令アドレス(BLK2(A5))がダミーを出力し、それぞれ命令データ信号が生成される。ここで、ダミーとは認識されない命令のことである(ステップS6)。
アドレスデコーダ21では、これらの命令アドレスから、セレクト信号がメモリ3aに出力される。具体的には、セレクト信号1は、命令アドレスA4出力前に“High”レベルから“Low”レベルに変化し、命令アドレスA4出力後に“Low”レベルから“High”レベルに変化し、これ以降“High”レベルを維持する。
一方、セレクト信号2は、“High”レベルを維持する。即ち、命令アドレスA5出力前での“High”レベルから“Low”レベル、及びダミーとなる命令アドレスA5出力前での“Low”レベルから“High”レベルへの変化は発生しない(セレクト信号1がネゲートされる)。
このため、格納用メモリエリアを跨いでのジャンプ動作である命令アドレス(BLK1(A4))、命令アドレス(BLK2(A5))よる判定が行われ、命令5の開始からダミー開始までの間読み出し許可信号は不許可信号レベルの“Low”レベル(disable信号レベル)となり、正常実行の代わりにセキュリティ実行される(ステップS7)。
上述したように、本実施例の情報処理装置では、CPU2b、メモリ3a、及びアドレスデコーダ21が設けられている。CPU2bには、命令列16及びフェッチアドレス18が設けられ、アドレスデコーダ21には判別回路17b、フェッチアドレス18a、命令アドレス保持回路22、及び読み出し制御回路23が設けられている。判別回路17aは、命令アドレス信号MASとフェッチアドレス信号FASを入力し、同一格納用メモリエリアからの読み出しかを判別する判別信号HSSを読み出し制御回路23に出力する。読み出し制御回路23は、判別信号HSSを入力し、フェッチアドレス情報に対応する格納用メモリエリアを選択するセレクト信号をメモリ3aに出力する。
この場合、同一格納用メモリエリア内とメモリエリアを跨いでの連続動作の場合、そのプログラムが格納されている格納用メモリエリアへの命令フェッチが許可される。
したがって、認証をスキップしてセキュリティ解除命令を直接実行することができなくなり、セキュリティ解除の不正実行が禁止される。また、外部から入力されるデータと内部メモリに記憶されたデータとの比較作業によるセキュリティ解除の不正実行ができなくなる。
次に、本発明の実施例5に係る情報処理装置について、図面を参照して説明する。図8は情報処理装置を示すブロック図である。本実施例では、プログラム実行アドレス用プログラムカウンタと実行命令用の命令コードが設けられている。
以下、実施例1と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
図8に示すように、情報処理装置1dには、メモリ3b、読み出し制御回路23a、命令コード31、プログラムカウンタ32、アドレス比較器33、加算器34、加算器35、及びセレクタ36が設けられている。情報処理装置1dは、マイクロコンピュータである。ここで、読み出し制御回路23a及びアドレス比較器33以外は、一般的に図示しないCPU内部に設けられている。
メモリ3bには、1番目のメモリエリア11a、・・・n番目のメモリエリア12aが設けられている。メモリ3bは、例えば、フラッシュROMからなり、複数の格納用メモリエリア毎に、それぞれ所定のプログラムを格納している。
読み出し制御回路23aは、命令データ線10により命令コード31に接続されている。そして、メモリ3bから出力されるデータ信号などのメモリ出力信号MMSを入力し、命令データ線10を介して命令データ信号を命令コード31に出力し、アドレス比較器33から出力される読み出し許可信号にもとづいてプログラムの読み出しを制御する。
命令コード31は、命令データ信号を入力し、命令コード信号KKSをアドレス比較器33に出力する。なお、命令コード31は実施例1乃至4での命令列に該当し、命令コード信号KKSは実施例1乃至4での命令列信号に該当する。
プログラムカウンタ32は、命令アドレス線7を介してメモリ3b及びセレクタ36に接続されている。そして、命令アドレス線7から命令アドレス信号を入力し、プログラム実行アドレス信号PJASをアドレス比較器33及び加算器34に出力する。なお、プログラムカウンタ32は実施例2及び3での命令アドレスに該当し、命令コードが格納されている命令アドレス情報をプログラム実行アドレス信号PJASとして出力する。
アドレス比較器33は、命令コード信号KKS、プログラム実行アドレス信号PJAS、及び加算器35から出力される命令ジャンプアドレス信号MJUSを入力し、読み出し許可信号を出力する。
加算器34は、プログラム実行アドレス信号PJASと命令アドレス1信号を入力し、加算処理して連続的な命令フェッチのフェッチアドレス信号FAJSを加算器35及びセレクタ36に出力する。加算器35は、フェッチアドレス信号FAJSと命令ジャンプである命令アドレス2信号を入力し、加算処理して命令ジャンプの命令フェッチのフェッチアドレスとしての命令ジャンプアドレス信号MJUSをアドレス比較器33及びセレクタ36に出力する。
セレクタ36は、フェッチアドレス信号FAJSと命令ジャンプアドレス信号MJUSを入力し、選択された信号を命令アドレス信号としてメモリ3b及びプログラムカウンタ32に出力する。
命令ジャンプを発生させない命令の場合、プログラムカウンタの値に命令アドレス分を加算器34で加算し、次のプログラムカウンタの値を生成する。また、命令ジャンプを発生させる命令の場合、次のプログラムカウンタの値にジャンプ分のオフセットを加算器35で加算し、ジャンプの成立/不成立によりセレクタ36が切り替わり、連続的なフェッチアドレスかジャンプ先のアドレスかを選択する。
ここで、命令ジャンプを発生させる命令が実行された場合、プログラムカウンタの値と加算器35から出力される命令ジャンプ信号がアドレス比較器33に入力され、同一メモリエリアからの読み出し(命令フェッチ)かどうかの判別が行われる。禁止したメモリエリアからの命令フェッチである場合には、読み出し許可信号が読み出し実行が許可されない信号レベル(disable信号レベル)に変更されセキュリティ実行が行われる。
上述したように、本実施例の情報処理装置では、メモリ3b、読み出し制御回路23a、命令コード31、プログラムカウンタ32、アドレス比較器33、加算器34、加算器35、及びセレクタ36が設けられている。アドレス比較器33は、命令コード信号KKS、プログラム実行アドレス信号PJAS、及び加算器35から出力される命令ジャンプアドレス信号MJUSを入力し、読み出し許可信号を出力する。読み出し制御回路23aは、メモリ出力信号MMSを入力し、命令データ線10を介して命令データ信号を命令コード31に出力し、アドレス比較器33から出力される読み出し許可信号にもとづいてプログラムの読み出しを制御する。
このため、それぞれのアドレスに対応するプログラムのものと判別されたときのみ、そのプログラムが格納されている格納用メモリエリアへの命令フェッチが許可される。
したがって、認証をスキップしてセキュリティ解除命令を直接実行することができなくなり、セキュリティ解除の不正実行が禁止される。また、外部から入力されるデータと内部メモリに記憶されたデータとの比較作業によるセキュリティ解除の不正実行ができなくなる。
本発明は、上記実施例に限定されるものではなく、発明の趣旨を逸脱しない範囲で、種々、変更してもよい。
例えば、実施例1乃至3では判別回路をCPU内部に設けているが、メモリ内部などに設けてもよい。また、実施例4では、読み出し制御回路をアドレスデコーダ内部に設けているが、メモリやCPU内部などに設けてもよい。更に、実施例5では、読み出し制御回路23a及びアドレス比較器33をCPU内部に設けているが、メモリ内部などに設けてもよい。
本発明は、以下の付記に記載されているような構成が考えられる。
(付記1) 所定のプログラムを格納するメモリエリアが複数設けられたメモリと、前記プログラムの読み出しに用いられる命令アドレス信号にもとづいて命令列信号を生成する命令コードと、前記プログラムの読み出しに用いられる命令アドレス信号を生成するプログラムカウンタと、命令ジャンプ信号を生成する命令ジャンプ生成手段と、前記命令列信号、前記命令アドレス信号、及び前記ジャンプ信号を入力し、命令ジャンプを発生させる命令実行の場合に同一メモリエリアからの読み出しかを判別するアドレス比較器と、前記アドレス比較器から出力される前記読み出し許可信号にもとづいて、同一メモリエリアからの読み出しのときに前記メモリエリアに格納されているプログラムを読み出し、禁止したメモリエリアからの読み出しのときにプログラムの読み出しを禁止する読み出し制御手段とを具備する情報処理装置。
(付記2) 前記命令ジャンプ生成手段は、前記プログラムカウンタから出力される命令アドレス信号と他の命令アドレス信号を加算処理して連続的なフェッチアドレス信号を生成する第1の加算器と、前記フェッチアドレス信号と命令ジャンプである命令アドレス信号を加算処理して命令ジャンプ信号を生成する第2の加算器とを具備する付記1記載の情報処理装置。
(付記3) 所定のプログラムを格納するメモリエリアが複数設けられ、前記メモリエリアの判別に用いられ、それぞれ標識が異なる複数の判別標識を有するメモリと、前記プログラムを読み出して、所定の命令にもとづいて演算処理を行い、前記判別標識にもとづいてメモリエリア判別を行う判別回路を有するCPUと、前記判別回路の前記メモリエリア判別結果にもとづいて、前記判別標識に対応する前記メモリエリアに格納されているプログラムを読み出し、前記判別標識に対応しないメモリエリアに格納されている他のプログラムの読み出しを禁止する読み出し制御部とを具備する情報処理装置。
(付記4) 所定のプログラムを格納するメモリエリアが複数設けられたメモリと、前記プログラムを読み出して、所定の命令にもとづいて演算処理を行い、前記プログラムの読み出しに用いられる命令列信号を生成する命令列と、前記プログラムの読み出しに用いられる命令アドレス信号を生成する命令アドレスと、前記命令列信号を入力して命令列の読み出しであるフェッチアドレス信号を生成するフェッチアドレスと、前記命令アドレス信号と前記フェッチアドレス信号を入力し、同一メモリエリアからの読み出しと判断した場合に読み出し許可信号を生成する判別回路とを有するCPUと、前記判別回路から出力される前記読み出し許可信号にもとづいて、前記メモリエリアに格納されているプログラムを読み出し、他のメモリエリアに格納されているプログラムの読み出しを禁止する読み出し制御部とを具備することを特徴とする情報処理装置。
本発明の実施例1に係る情報処理装置を示すブロック図。 本発明の実施例2に係る情報処理装置を示すブロック図。 本発明の実施例3に係る情報処理装置を示すブロック図。 本発明の実施例4に係る情報処理装置を示すブロック図。 本発明の実施例4に係る情報処理装置の動作を示すフローチャート。 本発明の実施例4に係る情報処理装置の命令データの読み出し実行を示すタイミングチャート。 本発明の実施例4に係る情報処理装置のセキュリティ実行を示すタイミングチャート。 本発明の実施例5に係る情報処理装置を示すブロック図。
符号の説明
1a、1b、1c、1d 情報処理装置
2、2a CPU部
3、3a、3b メモリ
4、4a 読み出し制御部
5、5a、5b、5c データバス
6 アドレス線
7 命令アドレス線
8、21 アドレスデコーダ
10 命令データ線
11 1番目の格納用メモリエリア
11a 1番目のメモリエリア
12 n番目の格納用メモリエリア
12b n番目のメモリエリア
13 1番目の判別標識
14 n番目の判別標識
15 判別bit
16 命令列
17、17a、17b 判別回路
18、18a フェッチアドレス
19 命令アドレス
22 命令アドレス保持回路
23、23a 読み出し制御回路
31 命令コード
32 プログラムカウンタ
33 アドレス比較器
34、35 加算器
36 セレクタ
FAJS FAS、FASS フェッチアドレス信号
HBS 判別標識信号
HJS 判別bit信号
HSS 判別信号
KKS 命令コード信号
MAS 命令アドレス信号
MJS 命令列信号
MJUS 命令ジャンプアドレス信号
MMS メモリ出力信号
MRS 命令信号
PJAS プログラム実行アドレス信号

Claims (4)

  1. 所定のプログラムを格納するメモリエリアが複数設けられたメモリと、
    前記プログラムを読み出して、所定の命令にもとづいて演算処理を行うCPUと、
    前記プログラムの読み出しに用いられる命令アドレス信号と命令列の読み出しであるフェッチアドレス信号を入力し、同一メモリエリアからの読み出しと判断した場合に読み出し許可信号を生成する判別回路と、
    前記判別回路から出力される前記読み出し許可信号にもとづいて、前記メモリエリアに格納されているプログラムを読み出し、他のメモリエリアに格納されているプログラムの読み出しを禁止する読み出し制御手段と、
    を具備することを特徴とする情報処理装置
  2. 所定のプログラムを格納するメモリエリアが複数設けられたメモリと、
    前記プログラムを読み出して、所定の命令にもとづいて演算処理を行うCPUと、
    前記プログラムの読み出しに用いられる命令アドレス信号と命令列の読み出しであるフェッチアドレス信号を入力し、同一メモリエリアからの読み出しかどうかを判別する判別信号を生成する判別回路と、
    前記判別回路から出力される前記判別信号にもとづいて、フェッチアドレスに対応するメモリエリアを選択するセレクト信号を前記メモリに出力し、前記フェッチアドレスに対応するメモリエリアのプログラムの読み出し制御を行う読み出し制御手段と、
    を具備することを特徴とする情報処理装置
  3. 所定のプログラムを格納するメモリエリアが複数設けられたメモリと、
    前記プログラムを読み出して、所定の命令にもとづいて演算処理を行うCPUと、
    前記プログラムの読み出しに用いられる命令アドレス信号と命令列の読み出しであるフェッチアドレス信号を入力し、同一メモリエリアからの読み出し或いはメモリエリアを跨いでの連続読み出しかどうかを判別する判別信号を生成する判別回路と、
    前記判別回路から出力される前記判別信号にもとづいて、フェッチアドレスに対応するメモリエリアを選択するセレクト信号を前記メモリに出力し、前記フェッチアドレスに対応するメモリエリアのプログラム読み出し或いは前記メモリエリアを跨いでの連続読み出しの制御を行う読み出し制御手段と、
    を具備することを特徴とする情報処理装置
  4. 所定のプログラムを格納するメモリエリアが複数設けられたメモリと、前記プログラムを読み出して、所定の命令にもとづいて演算処理を行うCPUと、同一メモリエリアからの読み出しかどうかを判別する判別信号を生成する判別手段と、メモリエリアのプログラムの読み出し制御を行う読み出し制御手段とを有する情報処理装置であって、
    前記メモリから読み出された命令を前記CPUで命令フェッチするステップと、
    前記命令フェッチでフェッチされた命令がジャンプ命令かを判別するステップと、
    前記命令フェッチでフェッチされた命令がジャンプ命令でない場合、前記読み出された命令のメモリエリアに格納されているプログラムの読み出し実行を行うステップと、
    前記命令フェッチでフェッチされた命令がジャンプ命令である場合、読み出し対象が格納されているメモリエリアが同一メモリエリア内かを判別するステップと、
    メモリエリアが異なり、ジャンプ読み出しの場合、読み出し不許可信号にもとづいて、プログラムの読み出し実行を行わずにセキュリティ実行を行うステップと、
    を具備することを特徴とする情報処理装置を用いたセキュリティ解除プログラムの不正実行禁止方法
JP2006113890A 2006-04-17 2006-04-17 情報処理装置及びそれを用いたセキュリティ解除プログラムの不正実行禁止方法 Expired - Fee Related JP4828996B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006113890A JP4828996B2 (ja) 2006-04-17 2006-04-17 情報処理装置及びそれを用いたセキュリティ解除プログラムの不正実行禁止方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006113890A JP4828996B2 (ja) 2006-04-17 2006-04-17 情報処理装置及びそれを用いたセキュリティ解除プログラムの不正実行禁止方法

Publications (2)

Publication Number Publication Date
JP2007286921A JP2007286921A (ja) 2007-11-01
JP4828996B2 true JP4828996B2 (ja) 2011-11-30

Family

ID=38758631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006113890A Expired - Fee Related JP4828996B2 (ja) 2006-04-17 2006-04-17 情報処理装置及びそれを用いたセキュリティ解除プログラムの不正実行禁止方法

Country Status (1)

Country Link
JP (1) JP4828996B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5070136B2 (ja) * 2008-06-05 2012-11-07 ローム株式会社 記憶装置
JP5070137B2 (ja) * 2008-06-05 2012-11-07 ローム株式会社 記憶装置及びデータ書込装置
CN103415839B (zh) * 2012-09-19 2016-09-28 华为终端有限公司 拍照处理方法及终端设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281103B2 (en) * 2003-10-01 2007-10-09 Kabushiki Kaisha Toshiba Microcomputer with a security function for accessing a program storage memory

Also Published As

Publication number Publication date
JP2007286921A (ja) 2007-11-01

Similar Documents

Publication Publication Date Title
JP5718463B2 (ja) メモリアクセス制御
JPH10228421A (ja) メモリアクセス制御回路
JP2009157542A (ja) 情報処理装置及びそのスタックポインタ更新方法
JP2013539883A (ja) 複数の命令セットからの命令の復号
JP4828996B2 (ja) 情報処理装置及びそれを用いたセキュリティ解除プログラムの不正実行禁止方法
JP2004280801A (ja) プロセッサおよびこのプロセッサ用のプログラムを生成するコンパイラ装置
KR100652538B1 (ko) 마이크로 컴퓨터
JP5590069B2 (ja) マイクロコンピュータ
JP2004348627A (ja) マイクロコンピュータシステム
JPH09106690A (ja) コピー防止機能付きrom
JPH0934796A (ja) メモリ
JP4159586B2 (ja) 情報処理装置および情報処理の高速化方法
JP3882628B2 (ja) メモリ制御装置及びシリアルメモリ
JP2008299930A (ja) 半導体記憶装置
JP2007064762A (ja) 半導体装置、テストモード制御回路
JP4829618B2 (ja) マイクロコンピュータ
JP2010122787A (ja) 半導体集積回路及びレジスタアドレス制御装置
JP2011150457A (ja) 情報処理装置およびメモリアクセス制御方法
JP2004355383A (ja) メモリ制御回路
JP2011150495A (ja) 記憶装置
JP2008203988A (ja) セキュリティ保護機能付きマイクロコンピュータ
JP6471018B2 (ja) 制御装置、記憶装置、メモリコントローラ、サブプロセッサ、メインプロセッサ及び制御プログラム
JP5679263B2 (ja) 情報処理装置及びマイクロ命令処理方法
JP2005063311A (ja) プロセッサシステムのパッチ方法およびパッチ適用プログラム
JP2005157740A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110715

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110715

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110915

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees