JP2002032268A - 処理装置および集積回路 - Google Patents

処理装置および集積回路

Info

Publication number
JP2002032268A
JP2002032268A JP2000212815A JP2000212815A JP2002032268A JP 2002032268 A JP2002032268 A JP 2002032268A JP 2000212815 A JP2000212815 A JP 2000212815A JP 2000212815 A JP2000212815 A JP 2000212815A JP 2002032268 A JP2002032268 A JP 2002032268A
Authority
JP
Japan
Prior art keywords
encryption
data
address
pattern
circuit
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.)
Granted
Application number
JP2000212815A
Other languages
English (en)
Other versions
JP4683442B2 (ja
Inventor
Yusuke Kawasaki
雄介 川▲崎▼
Hiroshi Sakurai
博 櫻井
Shigeru Hashimoto
繁 橋本
Hironori Yamamoto
浩憲 山本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000212815A priority Critical patent/JP4683442B2/ja
Priority to EP00311444A priority patent/EP1172731B1/en
Priority to US09/739,839 priority patent/US7657758B2/en
Priority to DE2000613424 priority patent/DE60013424T2/de
Publication of JP2002032268A publication Critical patent/JP2002032268A/ja
Application granted granted Critical
Publication of JP4683442B2 publication Critical patent/JP4683442B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography

Abstract

(57)【要約】 【課題】本発明は、CPUおよび内部デバイスを有する
内部回路と、その内部回路に対し外付けされた外部デバ
イスを含む外部回路とを備えた処理装置等に関し、不正
なアクセスや逆解析の防止を図る。 【解決手段】CPU101と、内部デバイス102〜1
05と、CPU101と内部デバイス102〜105と
を結ぶとともに外部にまで延びるバスライン110とを
含む内部回路100、および、バスライン110の、外
部に延びた部分110aに外付けされた外部デバイス2
01〜203,211〜212を含む外部回路200を
備え、内部回路100が、バスライン110の、外部へ
の出入口に介在し、そのバスライン上のアドレスおよび
データを、外部デバイス全体に割り当てられたアドレス
空間を複数に分けた各領域に応じた各暗号化パターンで
暗号化する暗号化部120を含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、CPUおよび内部
デバイスを有する内部回路と、その内部回路に対し外付
けされた外部デバイスを含む外部回路とを備えた処理装
置、および、CPUおよび内部デバイスが搭載されると
ともにに外部デバイスの外付けが可能な集積回路に関す
る。
【0002】
【従来の技術】近年のLSI技術の発達により、プログ
ラムを実行するCPUや、そのCPUで実行されるプロ
グラムが格納されるメモリや、さらに他の様々なデバイ
スを1つのチップ上に集積することができるようにな
り、装置の小型化、低コスト化等に大きく貢献してい
る。このようなLSIを製造するにあたり、ユーザによ
らず同一のプログラムを実行するシステムであって、か
つ完成したあと途中でプログラムを変更する必要がない
システムについてはLSIチップ上にプログラムを記憶
したメモリを搭載しておけばよいが、ユーザに応じて異
なるプログラムを実行させたり、あるいは、使用してい
る途中でプログラムを変更する必要がある場合、上記の
ような構成のLSIにさらに外部メモリを外付けするこ
とができるように構成しておき、使用している途中で変
更する可能性のあるプログラム、あるいはユーザに応じ
て異なるプログラムはその外付けの外部メモリに記憶す
るようにしておくことが望ましい。
【0003】
【発明が解決しようとする課題】ところが、そのような
外部メモリを外付けることができるシステムの場合、そ
の外部メモリの内容が不正に書き換えられたり、あるい
はその外部メモリが、その外部メモリと同一仕様の、不
正なプログラムを記憶したメモリに差し替えられてしま
い、内部のメモリに記憶されている重要なプログラムや
データが不正にアクセスされ、その重要なプログラムや
データの内容が不正に解読されてしまう危険性がある。
以下に、一例を挙げる。
【0004】近年、急速に現金価値や現金相当のポイン
ト価値をデータとしてもつICカードや磁気カードが普
及しつつあり、それに伴って、カードの偽造や変造を防
止するための対策としてデータのセキュリティ確保が急
務となってきている。これに対処するために、過去にお
いても装置の逆解析(リバースエンジニアリング)を防
ぐ方法が試みられてきたが、それらの試みにもかかわら
ず裏ROM等が作成され、装置が開発者の不本意な用途
に悪用されることが絶えないのが現状である。
【0005】本発明は、上記事情に鑑み、不正なアクセ
スや逆解析の防止が図られた処理装置および集積回路を
提供することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成する本発
明の処理装置のうちの第1の処理装置は、プログラムを
実行するCPUと、各所定の作用を成す1つ以上の内部
デバイスと、CPUと内部デバイスとを結ぶとともに外
部にまで延びアドレスおよびデータを伝達するバスライ
ンとを含む内部回路、および上記バスラインの、外部に
延びた部分に外付けされた、各所定の作用を成す1つ以
上の外部デバイスを含む外部回路を備え、上記内部回路
が、上記バスラインの、外部への出入口に介在し、その
バスライン上のアドレスおよびデータを、上記の1つ以
上の外部デバイス全体に割り当てられたアドレス空間を
複数に分けた各領域に応じた各暗号化パターンで暗号化
する暗号化部を含むものであることを特徴とする。
【0007】ここで、上記暗号化部で採用される暗号化
パターンには、アドレスおよびデータの双方とも暗号化
しないことも1つの暗号化パターンとして含まれる。
【0008】このように、アドレス空間を複数に分割
し、その分割した各領域ごとに異なったパターンで暗号
化することにより、暗号化の解析が困難となる。
【0009】上記本発明の第1の処理装置において、上
記外部回路が複数の外部デバイスを含むものであり、上
記暗号化回路は、上記複数の外部デバイスそれぞれに応
じた暗号化パターンで暗号化するものであることが好ま
しい。
【0010】こうすることにより、例えば外部デバイス
の1つとしてフラッシュROMを備えた場合は、そのフ
ラッシュROMに関してはアドレスとデータとの双方を
暗号化し、外部デバイスの1つとして連続アドレスにつ
いて高速読出しが可能なRAMについては性能を落とさ
ないようにデータのみ暗号化するか、あるいはアドレス
についても暗号化するものの、連続読出しの行なわれ
る、アドレスの下位ビット側は暗号化しないようにし、
外部デバイスの1つとしてI/Oデバイスを備えた場合
は、アドレス、データとも暗号化しないなど、その外部
デバイスの性質に合わせた暗号化を行なうことができ
る。
【0011】また、上記本発明の第1の処理装置におい
て、上記暗号化部は、外部回路がアクセスされていない
タイミングで、バスラインの、外部に延びた部分に、ダ
ミーのアドレスおよびデータを出力するものであること
が好ましい。
【0012】こうすることにより不正な解析が一層難し
くなる。
【0013】また、上記本発明の第1の処理装置におい
て、上記CPUは、クロックの供給を受け供給されたク
ロックに同期してプログラムを実行するものであるとと
もに、上記暗号化部も、クロックの供給を受け供給され
たクロックに同期して暗号化を行なうものであって、上
記暗号化部に、CPUに供給されるクロックよりも高速
なクロックを供給するクロック供給部を備えることがが
好ましい。
【0014】こうすると、複雑な暗号化が可能になる。
【0015】さらに、上記本発明の第1の処理装置にお
いて、外部回路の構成を認識し、その構成に応じて、暗
号化部における暗号化パターンを決定する暗号化パター
ン決定手段を有することが好ましい。
【0016】この暗号化パターン決定手段を持つことに
より、外部回路の構成が異なるごとにオペレータがいち
いち暗号化パターンを決定するといった作業が不要とな
る。
【0017】さらに、上記本発明の第1の処理装置にお
いて、上記暗号化部は、上記バスライン上のアドレスお
よびデータを、上記の1つ以上の外部デバイス全体に割
り当てられたアドレス空間を複数に分けた各領域に応じ
るとともにCPUで実行されるアプリケーションプログ
ラムにも応じた暗号化パターンで暗号化するものである
ことが好ましい。
【0018】これにより、暗号化のパターンが一層複雑
となり、不正な解析が一層困難となる。
【0019】さらに、上記本発明の第1の処理装置にお
いて、上記バスラインの、外部に延びた部分に接続さ
れ、バスライン上の暗号化されたアドレスおよびデータ
を暗号化前のアドレスおよびデータに戻す逆暗号化部を
備えることが好ましい。
【0020】この逆暗号化部を備えないままデバッグを
行なおうとするとアドレスやデータが暗号化されている
ためデバッグが極めて困難になる。そこで、この逆暗号
化部を備えることにより、装置の開発時に容易にデバッ
グを行なうことができる。
【0021】この逆暗号化部は、デバッグが済んだ後は
不要であり、処理装置から取り外され、あるいは動作不
能な状態に固定あるいは破壊されることが望ましい。
【0022】さらに、上記本発明の第1の処理装置にお
いて、上記の1つ以上の外部デバイス全体に割り当てら
れたアドレス空間を複数に分けた複数の領域のうちのい
ずれかの領域について、所定の初期化動作の都度暗号化
パターンを変更する暗号化パターン変更手段を有するこ
とが好ましい。
【0023】所定の初期化動作、例えば電源投入時やリ
セット時等に暗号化パターンを再設定することにより、
不正な解析が一層困難になり、セキュリティが一層向上
する。
【0024】さらに、上記本発明の第1の処理装置にお
いて、上記暗号化部は、上記1つ以上の外部デバイス全
体に割り当てられたアドレス空間を複数に分けた複数の
領域のうちのいずれかの領域について、暗号化後のデー
タがアドレスに応じて変化する暗号化パターンを採用し
て、データを暗号化するものであることが好ましい。
【0025】このように、データを暗号化するときの暗
号化関数としてアドレスの関数を採用することにより、
複雑な暗号化が可能となり、不正な解析が一層困難とな
り、データのセキュリティが一層向上する。
【0026】また本発明の処理装置のうちの第2の処理
装置は、プログラムを実行するCPUと、各所定の作用
を成す1つ以上の内部デバイスと、CPUと内部デバイ
スとを結ぶとともに外部にまで延びアドレスおよびデー
タを伝達するバスラインとを含む内部回路、および上記
バスラインの、外部に延びた部分に外付けされた、情報
を記憶するメモリを含む外部回路を備え、上記内部回路
が、上記メモリに記憶された情報のうちの少なくとも一
部の情報を、所定の初期化動作で暗号化して書き換える
情報書換手段を有するものであることを特徴とする。
【0027】ここで上記所定の初期化動作とは、典型的
には、最初の電源投入時の初期化動作である。
【0028】このように、例えば最初の電源投入時の初
期化動作等、所定の初期化動作で、メモリの内容を暗号
化して書き換えることにより、データのセキュリティが
一層向上する。
【0029】この場合に、上記情報書換手段は、乱数を
発生させ、発生させた乱数を用いた暗号化パターンを採
用して暗号化を行なうものであることが好ましい。
【0030】この場合、処理装置のメーカ側の人間を含
め、誰もが知らない暗号化パターンで情報が暗号化され
ることになり、データのセキュリティがさらに向上す
る。
【0031】ここで、上記第2の処理装置において、上
記メモリに記憶された情報のうちの少なくとも一部の情
報が、上記の所定の初期化動作を実行する以前において
既に暗号化されたものであって、上記情報書換手段は、
その少なくとも一部の情報を一旦暗号化前の情報に戻し
異なる暗号化パターンを採用して再度暗号化を行なって
書き換えるものであることも好ましい形態である。
【0032】この場合に、上記の少なくとも一部の情報
を暗号化前の情報に戻すための復号化情報が上記メモリ
に記憶されてなるものであって、上記情報書換手段は、
その少なくとも一部の情報を、その復号化情報を用いて
一旦暗号化前の情報に戻すものであってもよい。
【0033】このように、工場出荷時には別の暗号化パ
ターンで暗号化しておくことによりセキュリティがさら
に向上する。
【0034】また、上記のように、工場出荷時に別の暗
号化パターンで暗号化しておくにあたっては、上記の少
なくとも一部の情報が公開鍵により暗号化されたもので
あるとともに、この処理装置は秘密鍵が埋め込まれてな
るものであって、上記情報書換手段は、その少なくとも
一部の情報をその秘密鍵を用いて一旦暗号化前の情報に
戻すものであってもよく、あるいは上記の少なくとも一
部の情報を暗号化前の情報に戻すための、暗号化された
形式の復号化情報を外部より取得する情報取得部を備
え、上記情報書換手段は、情報取得部で取得された、暗
号化された形式の復号化情報を復号化して平文の復号化
情報を取り出しこの平文の復号化情報を用いて上記の少
なくとも一部の情報を一旦暗号化前の情報に戻すもので
あってもよい。
【0035】暗号化パターンとして公開鍵を用い、その
公開鍵で暗号化された情報をメモリに書き込んでおき、
内部に埋め込まれた秘密鍵で暗号化前の情報に戻すよう
にすると、例えば同一仕様の処理装置を複数の会社等で
使用した場合に、各会社に公開鍵のみを渡すことによ
り、会社間のセキュリティが確保できる。
【0036】また、復号化情報を外部より取得できるよ
うに構成すると、例えば通信等により鍵管理センター等
から復号化情報を入手することが可能となり、柔軟なシ
ステム構成が可能となる。
【0037】さらに、上記第2の処理装置において、上
記内部回路が上記暗号化部で採用される暗号化パターン
を保持してなるものであって、タンパ検出を行なうタン
パ検出部を備えるとともに、上記タンパ検出部によるタ
ンパ検出を受けて上記内部回路内に保持されていた暗号
化パターンを破壊する情報破壊手段を備えることが好ま
しい。
【0038】この処理装置を不正にこじ開けたり分解し
ようとしたときにタンパ検出がなされ、そのタンパ検出
を受けて暗号化パターンを破壊することにより、不正な
解読がますます困難になり、セキュリティの一層の向上
に寄与することになる。
【0039】また、上記目的を達成する本発明の集積回
路のうちの第1の集積回路は、プログラムを実行するC
PUと、各所定の作用を成す1つ以上の内部デバイス
と、CPUと内部デバイスとを結ぶとともに外部にまで
延びて、外部に延びた部分に、各所定の作用を成す1つ
以上の外部デバイスが外付けされる、アドレスおよびデ
ータを伝達するバスラインと、そのバスラインの、外部
への出入口に介在し、そのバスライン上のアドレスおよ
びデータを、そのバスラインの、外部に延びた部分に外
付けされた1つ以上の外部デバイス全体に割り当てられ
た空間を複数に分けた各領域に応じた各暗号化パターン
で暗号化する暗号化部とが搭載されてなることを特徴と
する。
【0040】本発明の第1の集積回路は、上記の構成を
有するものであり、本発明の第1の処理装置と同一の作
用効果を奏するとともに、集積回路(LSI)であるこ
とからその回路構成等の解析が困難であり、この点から
もセキュリティの向上に寄与している。
【0041】ここで、上記第1の集積回路において、上
記の本発明の第1の処理装置と同様、上記暗号化部で採
用される暗号化パターンには、典型的には、アドレスお
よびデータの双方とも暗号化しないことも1つの暗号化
パターンとして含まれており、また、上記バスライン
の、外部に延びた部分に、複数の外部デバイスが外付け
された場合に、暗号化部は、それら複数の外部デバイス
それぞれに応じた暗号化パターンで暗号化するものであ
ることが好ましく、また、上記暗号化部は、外部回路が
アクセスされていないタイミングで、上記バスライン
の、外部に延びた部分に、ダミーのアドレスおよびデー
タを出力するものであることも好ましい形態であり、さ
らに、上記1つ以上の外部デバイス全体に割り当てられ
たアドレス空間を複数に分けた複数の領域のうちのいず
れかの領域について、所定の初期化動作の都度暗号化パ
ターンを変更する暗号化パターン変更手段を有すること
も好ましい形態であり、さらに、上記暗号化部は、上記
1つ以上の外部デバイス全体に割り当てられたアドレス
空間を複数に分けた複数の領域のうちのいずれかの領域
について、暗号化後のデータがアドレスに応じて変化す
る暗号化パターンを採用して、データを暗号化するもの
であることも好ましい形態である。
【0042】また、本発明の集積回路のうちの第2の集
積回路は、プログラムを実行するCPUと、各所定の作
用を成す1つ以上の内部デバイスと、CPUと内部デバ
イスとを結ぶとともに外部にまで延びて、外部に延びた
部分に、情報を記憶するメモリが外付けされる、アドレ
スおよびデータを伝達するバスラインとを備えるととも
に、上記メモリに記憶された情報のうちの少なくとも一
部の情報を、所定の初期化動作で暗号化して書き換える
情報書換手段を有するものであることを特徴とする。
【0043】本発明の第2の集積回路は、上記の構成を
有するものであり、本発明の第1の処理装置と本発明の
第1の集積回路との関係と同様、本発明の第2の処理装
置と同一の作用効果を奏するものであり、さらに集積回
路(LSI)であることからその回路構成等の解析が困
難であり、この点からもセキュリティの向上が図られて
いる。
【0044】ここで、上記第2の集積回路において、上
記本発明の第2の処理装置と同様、上記所定の初期化動
作は、典型的には、最初の電源投入時の初期化動作であ
り、また、上記情報書換手段は、乱数を発生させ、発生
させた乱数を用いた暗号化パターンを採用して暗号化を
行なうものであることが好ましく、さらに、上記メモリ
に記憶された情報のうちの少なくとも一部の情報が、上
記の所定の初期化動作を実行する以前において既に暗号
化されたものであって、上記情報書換手段は、その少な
くとも一部の情報を一旦暗号化前の情報に戻し異なる暗
号化パターンを採用して再度暗号化を行なって書き換え
るものであることも好ましい形態である。
【0045】尚、本発明においては、1つの暗号化演算
方式を本発明にいう暗号化パターンの1つとしてとら
え、暗号化演算方式が異なることをもって暗号化パター
ンが異なるものとしてもよく、暗号化演算方式は共通で
あって、その暗号化演算方式において用いられる変数等
が異なることをもって暗号化パターンが異なるものとし
てもよい。
【0046】
【発明の実施の形態】以下、本発明の実施形態について
説明する。
【0047】図1は、本発明の処理装置の第1実施形態
を示すブロック図である。
【0048】この図1に示す処理装置1は、LSI10
の内部に搭載された内部回路100と、LSI10の外
部に外付けされた外部回路200と、その他発振器30
1,302等から構成されている。このLSI10は、
本発明の集積回路の一実施形態にも相当する。
【0049】LSI10の内部に構成された内部回路1
00は、中央処理装置(CPU)101、および、それ
ぞれが、本発明にいう内部デバイスである、内部メモリ
102、暗号化情報レジスタ103、アドレスデコーダ
104、およびその他の周辺回路105を有する。CP
U101および各種の内部デバイスは、バスライン11
0で相互に接続されている。このバスラインは、アドレ
スバス111とデータバス112とで構成され、LSI
10の外部にまで延びている。このバスライン110
の、外部にまで延びた部分110aには、各種の外部デ
バイスが接続されている。外部デバイスについて後述す
る。
【0050】LSI10の内部に構成された内部回路1
00には、さらにバスライン110の、外部への出入り
口に介在するように、暗号化部120が備えられてい
る。この暗号化部120は、暗号化回路121、バスイ
ンターフェース122、および乱数発生回路123から
構成されている。
【0051】CPU101には、発振器301からのク
ロック信号が入力され、CPU101は、その発振器3
01から受けたクロック信号に同期して各種のプログラ
ムを実行する。
【0052】また、暗号化回路121には、CPU10
1に入力されるクロック信号よりも繰り返し周波数の高
いクロック信号を発生するもう1つの発振器302から
のクロック信号が入力され、暗号化回路121は、その
発振器302からの繰り返し周波数の高いクロック信号
に同期して暗号化処理が行なわれる。暗号化処理の詳細
については後述する。
【0053】上記の2つの発振器301、302は、相
互に同期したクロック信号を発生するものであり、した
がって、共通の発振源で得られた高速クロックを分周し
て各クロック信号を生成するものであってもよい。
【0054】また、バスライン110の、外部に延びる
部分110aには、複数の外部デバイス、すなわち、こ
の図1に示す例では、液晶表示装置(LCD)201,
キーボード(KB)202,読出専用メモリ(ROM)
203,フラッシュROM211,ランダムアクセスメ
モリ(RAM)212が接続されている。また、この図
1には、この図1に示すLSI10と同一の構成をもつ
もう1つのLSI等、内部回路100と同様の暗号化機
構を持つデバイス213も接続されており、さらに、C
PU101で動作するプログラムのデバッグのための逆
暗号化回路214も接続されている。デバイス213お
よび逆暗号化回路214は、それらの説明のためにこの
図1に一緒に示したものであるが、デバイス213は、
LSI10と、そのLSI10と同様な構成を持つデバ
イス213との間で暗号化通信を行なう場合に接続され
るものであり、逆暗号化回路214はプログラムのデバ
ッグのためのものであってデバッグ終了後は取り外され
るものである。
【0055】ここで、LCD201,KB202,およ
び、この図1に示す実施形態においてはROM203
も、アドレスおよびデータの双方について暗号化を行な
わない外部デバイスに属し、一方、フラッシュROM2
11およびRAMは、アドレスあるいはデータに関し暗
号化を行なってアクセスする外部デバイスに属する。こ
こでは、フラッシュROM211は、データのみ暗号化
され、RAMは、アドレスとデータの双方について暗号
化される。また、デバイス213もアドレスおよびデー
タの双方について暗号化されてLSI10との間で暗号
化通信が行なわれる。また、逆暗号化回路214が接続
されるときは、この逆暗号化回路214は、本実施形態
ではアドレスおよびデータの双方について暗号化を行な
わないデバイスに属する。
【0056】ここで、バスライン110は、CPU10
1に接続された部分(この部分のアドレス,データをそ
れぞれA1,D1と表記する)と、暗号化回路121と
バスインターフェース122とに挟まれた部分(この部
分のアドレス,データをそれぞれA2,D2と表記す
る)と、さらに、LSI10の外部に延びた部分110
a(この部分のアドレス,データをそれぞれA3,D3
と表記する)とに分かれている。
【0057】図2は、図1に示す処理装置のメモリマッ
プを示す図である。
【0058】外部デバイスの1つであるフラッシュRO
Mには、複数のアプリケーションプログラムが格納され
ており、内部デバイスの1つである内部メモリにはOS
プログラムが格納されている。また、外部デバイスの1
つであるROMには、この処理装置の装置構成情報、例
えば接続されている外部デバイスの種類やメモリ容量等
が記録されている。
【0059】図3は、図1に示す処理装置に電源が投入
されたときに実行される初期化プログラムのフローチャ
ートである。この初期化プログラムは、OSプログラム
の一種として内部メモリ102に格納されており、電源
投入時にCPU101で実行される。
【0060】図3に示す初期化プログラムでは、先ず外
部デバイスの1つであるROM203に格納された装置
構成情報が読み出され(ステップa1)、その情報に基
づいて、図2に示すようなメモリマップが作成されると
ともに、そのメモリマップの各エリアについて暗号化パ
ターンが決定される(ステップa2)。但し、アドレス
もデータも暗号化しないということも、この暗号化パタ
ーンの1つとして含まれている。
【0061】この初期化プログラムでは、その後、その
他の諸々の初期化処理が行なわれる(ステップa3)。
【0062】図1に戻って説明を続行する。
【0063】CPU101は、アドレスA1およびデー
タD1を用いて情報のリード,ライトを行なう。一方外
部デバイスは、暗号化の必要なデバイスであるか暗号化
は不要な(あるいは暗号化は禁止される)デバイスであ
るかに関わらず、アドレスA3およびデータD3を用い
てアクセスされる。
【0064】CPU101は、外部デバイスへのアクセ
スの前に、図2に示すメモリマップ上の、暗号化を行な
いたいエリア(暗号化エリア)の領域情報と各暗号化エ
リアに対する暗号化パターンを、暗号化情報レジスタ1
03に書き込んでおく。
【0065】アドレスデコーダ104は、アドレスA1
を入力するとともに暗号化情報レジスタ103から暗号
化を行なうエリアを示す領域情報を受けとって、アクセ
ス対象のデバイスに対し、チップセレクト信号CS0〜
SC6を出力するとともに、暗号化回路121に対し、
どのデバイスがアクセス対象となっており暗号化が必要
であるか否かを示す暗号化制御信号Crpを出力する。
【0066】暗号化回路121は、アドレスデコーダか
ら暗号化制御信号Crpを受け取り、暗号化情報レジス
タ103に記録されている暗号化パターンの情報を元
に、アドレスA1,データD1について暗号化を行なう
必要があるときにその暗号化エリアに応じた暗号化を行
ない、アドレスA2,データD2を出力する。これらの
アドレスA2,データD2は、バスインタフェース12
3を経由しアドレスA3,データD3としてLSI10
の外部に出力される。
【0067】CPU101からバスインタフェース12
2には、外部デバイスをアクセス対象としているか否か
を示す外部バスアクセス信号が伝達され、バスインタフ
ェース122は、外部デバイスのアクセスが要求されて
いるときは暗号化回路121から出力されたアドレスA
2,データD2を外部のアドレスA3,データD3とし
て外部に出力し、外部デバイスのアクセス要求がないと
きは、乱数発生回路123からの乱数を基に、ダミーの
アドレス,データを生成して、外部のアドレスA3,デ
ータD3として出力する。このようにダミーのアドレ
ス,データを出力することにより、不正な解析を一層困
難にしている。
【0068】尚、ここでは、内部から外部へのアドレ
ス,データの変換について述べたが、外部のフラッシュ
メモリ211やRAM212,ROM203等から読み
出されたデータD3については、バスインタフェース1
22はデータD2として内部に取り込み、そのデータが
暗号化されたデータであるときは、暗号化回路121で
その暗号化に対する復号化が行なわれ、暗号化前のデー
タD1として、CPU101等に伝達される。
【0069】ここで、本実施形態においては暗号化パタ
ーンとして、アドレスもデータも暗号化しないという暗
号化パターンのほか、例えば、 (1)タイプ1 A3=A1 XOR p1 D3=D1 XOR p1 (2)タイプ2 A3=A1 D3=A1+D1+p1 (3)タイプ3 タイプ2の演算結果としてのデータについて、さらにそ
のデータの上位と下位を入れ替えるという暗号化パター
ンが採用される。
【0070】ここで、上記p1は、例えば乱数等により
得られた適当な定数であり、A XOR Bは、AとB
の対応する各ビットごとの排他論理和演算を行なうこと
を意味し、A+Bは、A,Bを数値とみたときの加算演
算を意味している。
【0071】図3を参照して説明したように、電源投入
時の初期化動作において、CPU101は、外部デバイ
スの1つであるROM203に格納された装置構成情報
を読み出し、図2に示すようなメモリマップを作成する
とともに、暗号化エリアについて暗号化パターンを決定
するが、ここでは一例として、フラッシュROM211
については、アドレスについては暗号化は行なわずにデ
ータについてのみ暗号化を行なう、例えば上記の(2)
の暗号化パターンが採用され、RAM212については
アドレスおよびデータの双方について暗号化を行なう、
例えば上記の(1)の暗号化パターンが採用される。
【0072】ここで、RAM212については、上記
(1)のタイプ1の暗号化パターンが採用されているた
め、例えばp1=0x5555(0xはそれに続く’5
555’が16進数であることを意味する)であるとす
ると、 A3(0x5455)=A1(0x0100) XOR
p1(0x5555) D3(0x5476)=D1(0x0123) XOR
p1(0x5555) のように、アドレス及びデータとも、もとのアドレス,
データとは全く異なる値となる。
【0073】また、フラッシュROM211について
は、上記(2)タイプ2の暗号化パターンが採用されて
おり、p1=0x5555であるとすると、 A3(0x0100)=A1(0x0100) D3(0x5778)=A1(0x0100)+D1
(0x0123)+p1(0x5555) のように、アドレスは変更されず、データについてはも
とのデータとは全く異なる値となる。ここでは、データ
を暗号化するにあたり、アドレスA1の関数としている
ため、同一のデータD1であってもアドレスA1に応じ
て暗号化後のデータD3が異なることになり、不正な解
析を一層困難にし、セキュリティの一層の向上が図られ
ている。
【0074】尚、上記は暗号化パターンの計算上の例を
挙げたものであり、アドレスを暗号化する場合、その暗
号化対象のデバイスのアドレスエリアを越えて他のデバ
イスのアドレスエリアに移らないようにその暗号化のア
ルゴリズム上考慮されている。
【0075】また、例えば、同一のRAM212であっ
ても、CPU101で実行されるアプリケーションプロ
グラムに応じてRAM212をアクセスするときの暗号
化パターンを変更してもよい。そのようにメモリエリア
(アクセスされる外部デバイス)に応じて暗号化パター
ンを選択するだけでなく、同一のメモリエリア(同一の
外部デバイス)であっても、アプリケーションプログラ
ムに応じても暗号化パターンを変更すると、バスライン
110の、外部に延びた部分110aに出力されるアド
レスやデータが一層複雑に暗号化されたものとなり、不
正な解析がさらに困難となり、セキュリティの一層の向
上が図られる。
【0076】ここで、CPU101と暗号化回路121
が仮に同一のクロックで動作していると、暗号化回路1
21では複雑な暗号化演算を行なうことができないこと
になる。例えばCPU101が1クロック毎に外部へア
クセスを行なうとすると暗号化回路121は1クロック
以内に暗号化処理を終える必要がある。例えば上述の
(3)のタイプ3の暗号化処理の場合、(2)のタイプ
2の暗号化を行なうのに1クロック分の時間を要し、さ
らに上位と下位を入れ替えるのに1クロック分の時間を
要し、合計2クロック分の時間を要するものとすると、
暗号化回路121で1クロック以内に暗号化処理を終え
る必要がある場合、この(3)のタイプ3の暗号化パタ
ーンは採用することができないことになる。
【0077】図1に示す実施形態の場合、CPU101
にクロックを供給する発振器301よりも高速なクロッ
クを生成する発振器302を備え、暗号化回路121は
発振器302から供給された高速なクロックに同期して
動作するため、複数クロック必要とする、例えば上述の
(3)のタイプ3の暗号化パターンや、さらに複雑な暗
号化パターンを採用することができる。
【0078】例えばCPU101には、10MHzのク
ロックが供給されており、暗号化回路121に100M
Hzのクロックが供給されていると、暗号化回路では1
0クロックを使って暗号化処理を行なうことができる。
【0079】また、図1に示す処理装置の内部回路10
0はLSI10の内部に作り込まれたものであり、その
LSI10からは、暗号化回路121及びバスインタフ
ェース122を経由して暗号化されたアドレスやデータ
が出力され、このままでは、このLSI10を用いた製
品を開発する際、CPU101で実行されるプログラム
のデバッグが極めて困難となる。そこで、図1に示す処
理装置には、逆暗号化回路214が接続されている。
【0080】この逆暗号化回路214には、デバッグに
先立って、CPU101から、暗号化情報レジスタ10
3に書き込む内容と同様の内容の、暗号化パターン及び
暗号化エリアの情報が書き込まれ、逆暗号化回路214
は、その後のデバッグにおいて、前もって書き込まれた
暗号化パターンや暗号化エリアの情報に基づいて、バス
ライン110の、外部に延びた部分110aに出力され
た、暗号化されたアドレスやデータを復号化して、暗号
化前のアドレスやデータを復元する。こうすることによ
り、その逆暗号化回路214により復元されたアドレス
やデータを例えば計測器でもニタし、CPU101で実
行されるプログラムのデバッグを容易に行なうことがで
きる。
【0081】この逆暗号化回路214は、このままにし
ておくと、不正な解析を困難にする目的でアドレスやデ
ータを暗号化したことの意味を失うことになるため、別
装置として構成しておいて、デバッグ終了後は取り外さ
れる。あるいは、そこに付けたまま完全に動作不能とし
てもよい。
【0082】また、図1には、LSI10と同様の暗号
化機構をもつデバイス213が接続されている。このよ
うに、このLSI10を複数組み合わせると、基板上で
のLSI同士の暗号化通信を行なうことも可能となる。
【0083】図4は、本発明の処理装置の第2実施形態
のブロック図である。
【0084】この図4に示す処理装置5は、LSI50
の内部に組み込まれた内部回路500とLSI50の外
部に外付けされた外部回路600とから構成されてい
る。LSI50は、本発明の集積回路の一実施形態にも
相当する。
【0085】LSI50内に作り込まれた内部回路50
0は、CPU501、内部メモリ502、アドレスバス
スクランブル演算回路503、アドレスバススクランブ
ルパターンメモリ504、データバススクランブル演算
回路505、データバススクランブルパターンメモリ5
06、およびデコーダ回路507を有し、それらはバス
ライン510で相互に接続されている。このバスライン
510はアドレスバス511とデータバス512とから
なる。内部回路500には、その他の内部デバイスも備
えられているから、それらの図示及び説明は省略する。
【0086】LSI10内に作り込まれた内部回路50
0の、図4に示す構成要素のうち、CPU501および
内部メモリ502を除く構成要素の複合、すなわち、ア
ドレスバススクランブル演算回路503、アドレスバス
スクランブルパターンメモリ504、データバススクラ
ンブル演算回路505、データバススクランブルパター
ンメモリ506、およびデコーダ回路507の複合が、
本発明にいう暗号化部の一例に相当する。
【0087】また、バスラインの、LSI50の外部に
延びた部分には、外部回路600を構成するRAM60
1とフラッシュROM602が接続されている。
【0088】内部回路500を構成する内部メモリ50
2にはOSプログラムが格納されており、また、外部回
路500を構成するフラッシュROM602にはアプリ
ケーションプログラムが格納されており、内部回路50
0のCPU501ではそれら各種のプログラムが実行さ
れる。また、外部回路600を構成するRAM601に
は、各種のデータが読み書き自在に格納される。
【0089】また、アドレスバススクランブル演算回路
503およびデータバススクランブル演算回路505
は、それぞれ、アドレスA0〜15およびデータD0〜
7をスクランブル(暗号化)する演算回路であり、アド
レスバススクランブルパターンメモリ504およびデー
タバススクランブルパターンメモリ506には、それぞ
れアドレスバススクランブル演算回路503およびデー
タバススクランブル演算回路505におけるスクランブ
ル演算において用いられるスクランブルパターンが格納
されている。これらのアドレスバススクランブルパター
ンメモリ504およびデータバススクランブルパターン
メモリ506は、不揮発性メモリ等により構成されてお
り、装置の電源が切断されても内容を保持することが可
能であり、また、CPU501により、スクランブルパ
ターンの書き換えが可能である。
【0090】本実施形態では、アドレスバススクランブ
ル演算回路503およびデータバススクランブル演算回
路505のいずれにも、排他的論理和回路が採用されて
いる。
【0091】図5は、排他的論理和回路を示す図であ
る。
【0092】図5に示す排他的論理和回路(図4に示す
アドレスバススクランブル演算回路503あるいはデー
タバススクランブル演算回路506)には、バスライン
510を経由して入力IN(アドレスA0〜15あるい
はデータD0〜7)が入力されるとともに、アドレスバ
ススクランブルパターンメモリ504あるいはデータバ
ススクランブルパターンメモリ506から、スクランブ
ルパターンSP(SPA0〜15あるいはSPD0〜
7)が入力され、出力OUT(SA0〜15あるいはS
P0〜7)として、 OUT=IN XOR SP …(1) 但し、XORは排他的論理和を表わすが出力される。
【0093】ここで、スクランブルパターンSPを全ビ
ットとも0にすることにより、スクランブルを禁止する
ことができ、また一部のビットを0にすることにより、
対応するビットのスクランブルを禁止することができ
る。例えば16ビットのスクランブルパターンSPのう
ち下位4ビットを常に0にすると、下位4ビットについ
てはスクランブル(暗号化)が行なわれないことにな
る。
【0094】本実施形態におけるアドレスバススクラン
ブル演算回路503およびデータバススクランブル演算
回路505(以下、これらを総称するときは、単に、ス
クランブル演算回路と称する)には、上記(1)式に基
づく演算を行なう排他的論理和回路が採用されている
が、以下に、スクランブル演算回路として採用すること
のできる各種の回路構成を例示しておく。
【0095】図6〜図9は、スクランブル演算回路とし
て採用することのできる各回路構成を示した図である。
【0096】図6に示すスクランブル演算回路には、加
算回路が採用されており、ここでは OUT=IN+SP …(2) の演算が行なわれる。
【0097】図7には、加算回路と排他的論理和回路が
示されており、ここでは、 OUT=(IN+SP1) XOR SP2 …(3) 但し、SP1,SP2は、相互に異なる、あるいは同一
の2つのスクランブルパターンである。の演算が行なわ
れる。
【0098】また、図8には、排他的論理和回路とビッ
ト入換回路が示されており、ここでは、 OUT=(IN XOR SP)m …(4) (排他的論理和演算を行なった後上位と下位のビットを
mビット分入れ換える)の演算が行なわれる。
【0099】さらに、図9には、加算回路と排他的論理
和回路が示されており、ここでは、 OUT=(IN(データ)+IN(アドレス)) XOR SP …(5) 但し、IN(データ)は、データバス上のデータ、IN
(アドレス)はアドレスバス上のアドレスである。の演
算が行なわれる。但し、この(5)式に基づく演算は、
データバススクランブル演算回路505として採用可能
なものであり、データをスクランブルするにあたりアド
レスを用いると、不正な解析が一層困難な、極めて複雑
なスクランブルが行なわれることになる。
【0100】図10、図11は、特定のビットのみスク
ランブルをかけるためのマスクパターンが付加されたス
クランブル演算回路の各例を示す図である。
【0101】図10に示すスクランブル演算回路は、1
つの反転回路と、2つの論理積回路と、1つの加算回路
とからなり、この回路の場合、 OUT=(IN and M)+SP+(IN and(not M)) …(6) の演算が行なわれる。
【0102】ここで、Mはマスクパターンを表わし、そ
のマスクパターンMの中の、0が設定されたビットにつ
いては、スクランブルは行なわれない。例えば、16ビ
ットのうち下位4ビットのスクランブルを禁止するとき
は、マスクパターンMとして0xFFF0が設定され
る。
【0103】また、図11に示すスクランブル演算回路
は、1つの反転回路、2つの論理積回路、2つの加算回
路、および1つの排他的論理和回路が図11に示すよう
に接続されたものであり、ここでは、 OUT=(((IN and M)+SP1) XOR SP2) +(IN and(not M)) …(7) の演算が行なわれる。
【0104】以上例示したように、スクランブル演算回
路として様々な演算回路を採用することができる。
【0105】図12は、図4に示す第2実施形態の処理
装置5におけるアドレスマップである。
【0106】図4には、代表的にRAMは1つのみ示し
たが、実際にはワークRAMとバックアップRAMを備
えており、ワークRAMには、0x00000〜0x0
FFFFのアドレス領域(ワークRAM領域)が割り当
てられており、バックアップRAMには、装置の電源が
切断された状態であっても電池等によりバックアップさ
れ、その内容が保持されている。
【0107】また、0x20000〜0x2FFFFは
IO領域、0x30000〜0x3FFFFはフラッシ
ュROM領域である。フラッシュROMには、各種のア
プリケーションプログラムが格納されている。図4に示
すアドレスバススクランブルパターンメモリ504およ
びデータバススクランブルパターンメモリ506は、I
O領域(0x2XXXXの領域)に割り当てられてい
る。
【0108】ここで、図4に示すデコーダ回路は、アド
レスA4〜19に基づいて、表1の真理値表に従って、
データバススクランブルパターンメモリ506のライト
イネーブル信号*WEPMDおよびアドレスバススクラ
ンブルパターンメモリ504のライトイネーブル信号*
WEPMAを出力する。
【0109】
【表1】
【0110】この表1は、0x2000Xのときにデー
タバススクランブルパターンメモリ506を書込み可能
状態(*WEPMD=0)とし、0x2001Xのとき
にアドレスバススクランブルパターンメモリ504を書
込み可能状態(*WEPMA=0)とすることを意味し
ている。
【0111】図13は、データバススクランブルパター
ンメモリ506の構成を示す図である。このデータバス
スクランブルパターンメモリ506は、2つのデコーダ
(デコーダ1とデコーダ2)と、4つのデータラッチ
(データラッチ0〜3)で構成されている。データラッ
チ0〜3は、それぞれ、ワークRAM,バックアップR
AM,IO,フラッシュROMのデータをスクランブル
するための各スクランブルパターンの格納領域であり、
後に示す表4にあるように、それぞれ、アドレス0x2
000,0x2001,0x2002,0x2003が
割り当てられている。
【0112】デコーダ1は、各データラッチ0〜3に格
納されている各スクランブルパターンを選択的に出力さ
せるための各アウトプットイネーブル信号*OE0〜*
OE3を生成する回路であり、表2の真理値表に示す論
理構成となっている。
【0113】
【表2】
【0114】また、デコーダ2は、各データラッチ0〜
3に新たなスクランブルパターンを書き込むための各ラ
イトイネーブル信号*WE0〜*WE3を生成する回路
であり、表3の真理値表に示す論理構成となっている。
【0115】
【表3】
【0116】データラッチ0〜3は、各々に対応するラ
イトイネーブル信号*WE0〜3が0になると、そのタ
イミングでデータバス512に出力されているD0〜7
のデータを記憶し、また、各々に対応するアウトプット
イネーブル信号*OE0〜3が0になると記憶している
スクランブルパターンをSPD0〜7のデータとして出
力する。ここで、アウトプットイネーブル信号*OE0
〜3の全てが1の場合は、SPD0〜7のデータは全て
のビットが0となる。
【0117】ここで、本実施形態では、データバス51
2上のデータは8ビット幅(D0〜7)であるのに対
し、アドレスバス511は、スクランブルとは無関係の
拡張ビットSA16〜19を除き16ビット幅(A0〜
A15)である。図13にはデータバススクランブルパ
ターンメモリ506の構成を示したが、アドレスバスス
クランブルパターンメモリ504は、データと比べてア
ドレスのビット幅が広いことに伴い、図13に示すデー
タラッチ0〜3がそれぞれ2バイト構成になり、各デー
タラッチを選択するためのアドレスがA0〜3の4ビッ
ト(図13に示すデータバススクランブルパターンメモ
リ506の場合はデータラッチを選択するためのアドレ
スはA0〜1の2ビットである)となることを除き、構
成としては図13に示すデータバススクランブルパター
ンメモリ506の構成と同様であり、アドレスバススク
ランブルパターンメモリ504の図示及びこれ以上の説
明は省略する。
【0118】本実施形態では、データバススクランブル
パターンメモリ506の各データラッチ0〜3およびア
ドレスバススクランブルパターンメモリ504の各デー
タラッチには、表4に示すアドレスが割り当てられてお
り、各アドレスにそれらの各アドレスに対応するスクラ
ンブルの各対象領域についてスクランブルを実行するた
めのスクランブルパターンが書き込まれ、CPU501
から出力されるアドレス情報(A0〜19)に従って、
各データラッチに書き込まれているスクランブルパター
ンがスクランブル演算回路に向けて出力される。
【0119】
【表4】
【0120】表5は、本実施形態におけるパターンメモ
リの設定例を示す表である。
【0121】
【表5】
【0122】本実施形態で採用されているRAMは、下
位4ビットについて連続したアドレスでアクセスした場
合に高速なアクセスが可能な素子であり、したがって表
5に示すように、RAMのアドレスバススクランブルパ
ターンの下位4ビットは0(スクランブルを行なわない
ことを意味する)に設定されており、CPUからの連続
したメモリアクセスの場合の高速なアクセス速度を保証
している。
【0123】また、IO空間はスクランブルを禁止する
ために、全てのビットが0に設定されている。
【0124】図14は、図4に示す処理装置における、
電源投入時およびリセット時に動作するプログラムの一
部を示した図である。
【0125】ここでは、16ビットの乱数RAと8ビッ
トの乱数RDが生成され(ステップb1,b2)、16
ビットの乱数RAと0xFFF0との論理積演算結果が
アドレス0x20008〜9に書き込まれ((ステップ
b3)、8ビットの乱数RDがアドレス0x20000
に書き込まれる。表4に示すようにアドレス0x200
08〜9はワークRAM用のアドレスバススクランブル
パターンの格納領域、アドレス0x20000はワーク
RAM用のデータバススクランブルパターンの格納領域
である。
【0126】すなわち、ここでは、電源投入あるいはリ
セットのたびにワークRAMのスクランブルパターンが
変更されることになり、このことも、外部からの不正な
解析を一層困難にするのに役立っている。
【0127】尚、バックアップRAMやフラッシュRO
Mについては、そこに格納されたデータやプログラムの
一貫性が必要なため、あらかじめ定められたスクランブ
ルパターンがそのまま保持され、電源の再投入やリセッ
トが行なわれても、スクランブルパターンは変更されな
い。
【0128】フラッシュROMについては、工場での書
込み時にはスクランブルをかけないでおくことも可能で
ある。その場合、出荷後の最初の電源投入時に、以下の
手順によりスクランブルがかけられる。
【0129】図15は、電源投入時に動作するプログラ
ムの、フラッシュROMのスクランブルの部分を示すフ
ローチャートである。
【0130】ここでは、先ず、フラッシュROMの内容
がスクランブルされたものであるか否かを示すスクラン
ブル有無フラグがチェックされる。このスクランブル有
無フラグはバックアップRAMの所定の番地に格納され
ており、工場での書込み時に、このスクランブル有無フ
ラグは‘無’に設定される。
【0131】このスクランブル有無フラグの確認は、フ
ラッシュROMの内容が既にスクランブル済であるか否
かの判定のためであり、スクランブル有無フラグを設定
する代わりに、フラッシュROMに対応するスクランブ
ルパターンを読み出し、そのスクランブルパターンの全
ビットが0であることをもって、未だスクランブルが行
なわれていないものと判定してもよい。
【0132】ステップc1でスクランブル有無フラグが
スクランブル‘無’に設定されていると判定されると、
ステップc2に進み、フラッシュROMの内容がRAM
にコピーされる。このフラッシュROMの一部には、以
下の処理を行なうためのプログラムが書込まれている。
【0133】次いで、RAMにコピーされたプログラム
のうち、以下の処理を行なうためのプログラムに制御が
移され、フラッシュROMが消去され(ステップc
4)、16ビットの乱数RAと8ビットの乱数RDが生
成され(ステップc5,c6)、16ビットの乱数RA
がフラッシュROMのアドレススクランブルパターンと
してアドレス0x2000E〜Fに書き込まれるととも
に8ビットの乱数RDがフラッシュROMのデータスク
ランブルパターンとしてアドレス0x20003に書き
込まれる(表4を参照;ステップc7,c8)。
【0134】次に、ステップc2でRAMにコピーされ
たプログラムが、アドレス0x2000E〜Fおよびア
ドレス0x20003に書き込まれたアドレススクラン
ブルパターンおよびデータスクランブルパターンでスク
ランブルされてフラッシュROMに書き戻され(ステッ
プc9)、フラッシュROMスクランブル有無フラグが
‘有’に変更される(ステップc10)。
【0135】こうすることにより、フラッシュROMの
内容が最初の電源投入時にスクランブルされることにな
る。
【0136】また、工場出荷時には特定のスクランブル
パターンでスクランブルしておいて、最初の電源投入時
に別のスクランブルパターンでスクランブルし直すよう
にしてもよい。この場合、工場出荷時にスクランブルさ
れた内容を元に戻すための逆スクランブルパターン(こ
こではスクランブルパターンを参照することによって元
に戻すことができるためスクランブルパターンそのもの
である)は、スクランブルパターンメモリに書き込んで
おくこともでき、フラッシュROM内に書き込んでおい
てもよい。フラッシュROM内に書き込んでおくと、工
場出荷時点ではスクランブルパターンメモリについて電
池等でバックアップしておく必要がないという利点があ
る。
【0137】図16は、フラッシュROMに、あらかじ
めスクランブルされたプログラムが書き込まれており、
かつそのスクランブルを元に戻すのに必要なスクランブ
ルパターンがフラッシュROM内に格納されて出荷され
たときの、電源投入時に動作するプログラムの、フラッ
シュROMのスクランブルの部分を示すフローチャート
である。このプログラムは、図15に示すプログラムに
代えて実行されるプログラムである。
【0138】ステップd1では、工場出荷前のスクラン
ブルを除き、フラッシュROMが既にスクランブルされ
たか否かを示すスクランブル有無フラグが参照される。
工場出荷前のスクランブルを除き、未だ一度もスクラン
ブルされていないときはステップd2〜d12の各ステ
ップが実行される。
【0139】ステップd2,d3では、フラッシュRO
Mに格納されている、アドレスバススクランブルパター
ンSPA0およびデータバススクランブルパターンSP
D0がそれぞれアドレス0x2000E〜Fおよびアド
レス0x20003に書き込まれる(表4参照)。
【0140】次にステップd4において、フラッシュR
OMの内容がスクランブルパターンSPA0,SPD0
に基づいてスクランブルされる前の状態に戻されてRA
Mにコピーされる。
【0141】その後の各ステップd5〜d12は、図1
5の各ステップc3〜c10とそれぞれ同一であり、重
複説明は省略する。
【0142】この図16に示すプログラムの実行によ
り、フラッシュROMの内容が、最初の電源投入時に新
たに生成した乱数RA,RBをアドレススクランブルパ
ターン,データスクランブルパターンとして再度スクラ
ンブルされ、その後はそのスクランブルされた状態が保
持される。
【0143】ここで、上記の例は、スクランブルパター
ンがフラッシュROMに書き込まれた例であるが、例え
ばフラッシュROMの内容を、工場出荷前に、個々の製
品毎に別々のスクランブルパターンでスクランブルして
おき、そのスクランブルを解除するための逆スクランブ
ルパターンを特定の暗号処理により暗号化して、バック
アップRAM等、フラッシュROMとは別の領域に書き
込んでおいてもよい。そのときはその暗号化されたスク
ランブルパターンを暗号化前のスクランブルパターンに
戻すための復号処理の手続も、LSI50の内部のいず
れかの領域に埋め込まれる。
【0144】上記の暗号処理としては、例えば公開鍵暗
号方式(例えばRAS等)を用いることができる。すな
わち、公開鍵(Kpb)で暗号化された逆スクランブル
パターンをフラッシュROMあるいは他のメモリに書き
込んでおき、その暗号化されたスクランブルパターンを
LSI50内のいずれかの領域に埋め込んでおいた秘密
鍵(Kpv)で復号する。このようなシステムの場合、
同一仕様のLSI50を複数の会社で使用した場合であ
っても、各会社に公開鍵のみを渡し、秘密鍵は伏せてお
くことにおり、会社間のセキュリティが確保できる。
【0145】図17は、フラッシュROMについて工場
出荷前にスクランブルしておき、そのスクランブルを解
除するためのスクランブルパターンを公開鍵Kpbによ
り暗号化してバックアップRAMに格納し、その状態で
出荷された後の電源投入時に動作するプログラムの、フ
ラッシュROMのスクランブルの部分を示すフローチャ
ートである。
【0146】ステップe2,e3では、バックアップR
AMより、公開鍵で暗号化された状態のアドレスバスス
クランブルパターンKpb(SPA0)が読み出され、
LSIの内部に埋め込まれた秘密鍵Kpvにより復号化
されて平文のアドレスバススクランブルパターンSPA
0が取り出される。
【0147】また、ステップe4,e5では、バックア
ップRAMより、公開鍵で暗号化された状態のデータバ
ススクランブルパターンKpb(SPD0)が読み出さ
れ、LSIの内部に埋め込まれた秘密鍵Kpvにより復
号化されて平文のデータバススクランブルパターンが取
り出される。
【0148】ステップe6,e7では、上記のようにし
て得られた平文のアドレスバススクランブルパターンS
PA0および平文のデータバススクランブルパターンS
PD0が、それぞれ、アドレス0x2000E〜Fおよ
びアドレス0x20003に書き込まれる(表4参
照)。
【0149】その後の各ステップe8〜e16は、図1
6の各ステップd4〜d12とそれぞれ同一であり、重
複説明は省略する。
【0150】図18は、本発明の処理装置の第3実施形
態のブロック図である。
【0151】図4に示す第2実施形態からの相違点につ
いて説明する。
【0152】この第3実施形態では、外部回路600
に、図4の第2実施形態と同様のRAM601およびフ
ラッシュROM602が備えられているほか、さらに通
信制御回路603が備えられている。
【0153】この通信制御回路603は通信回路網80
0を介して鍵管理センター700と接続されている。フ
ラッシュROM602には、工場出荷前にスクランブル
された状態のプログラムが格納されており、最初の電源
投入時に、鍵管理センター700から、通信回路網80
0を経由して、暗復号化されたスクランブルパターンを
受け取るように構成されている。
【0154】図19は、図18に示す処理装置における
電源投入時に実行されるプログラムの、フラッシュRO
Mのスクランブルに関する部分のフローチャートであ
る。
【0155】図19のステップf1は、図17のステッ
プe1と同じである。
【0156】ステップf2では鍵管理センターへの接続
が行なわれ、ステップf3では、鍵管理センターから、
公開鍵Kpbで暗号化された形式のアドレスバススクラ
ンブルパターンkpb(SPA0)およびデータバスス
クランブルパターンKpb(SPD0)がダウンロード
される。
【0157】ステップf4,f5では、LSIに埋め込
まれた秘密鍵Kpvにより、暗号化された状態のアドレ
スバススクランブルパターンKpb(SPA0)および
暗号化された状態のデータバススクランブルパターンK
pb(SPD0)がそれぞれ復号化されて、平文のアド
レスバススクランブルパターンSPA0およびデータバ
ススクランブルパターンSPD0が取り出される。
【0158】それ以降の各ステップf6〜f16は図1
7の各ステップe6〜e16とそれぞれ同一であり、重
複説明は省略する。
【0159】このように、通信により鍵管理センター等
の外部からスクランブルパターンの入手を可能とするこ
とにより、システムの柔軟性が確保される。
【0160】図20は、本発明の処理装置の第4実施形
態のブロック図である。
【0161】図4に示す第2実施形態との相違点につい
て説明する。
【0162】図20に示す第4実施形態では、外部回路
600に、図4の第2実施形態の場合と同様のRAM6
01およびラッシュROM602が備えられているほ
か、タンパ検出スイッチ604が備えられており、さら
にバックアップ用電池605が明示的に示されている。
【0163】アドレスバススクランブルパターンメモリ
504およびデータバススクランブルパターンメモリ5
06は、電源が切断された状態においてもバックアップ
用電池605からの電力によりその内容が消去されない
ようバックアップされている。
【0164】ここで、この処理装置5が不正に開けられ
た場合にタンパ検出スイッチ604が働き、バックアッ
プ用電池605からの電力供給経路が遮断され、アドレ
スバススクランブルパターンメモリ504およびデータ
バススクランブルパターンメモリ506に格納されてい
たアドレスバススクランブルパターンおよびデータバス
スクランブルパターンが消去され、この処理装置の動作
が不能となる。こうすることにより、不正な解析がさら
に確実に防止される。
【0165】尚、上記の各実施形態では、1つのLSI
の内部に作り込まれた回路を内部回路、そのLSIの外
部に外付けされたデバイスの集合を外部回路と称してい
るが、内部回路は必ずしも1つのLSIに搭載されたも
のである必要はなく、例えば複数のLSIに分散して搭
載されてそれら複数のLSIが1つの集積回路パッケー
ジ内にパッケージされ、あるいは、それら複数のLSI
が一体にモールドされたものである場合に、それら複数
のLSIに分散して搭載された回路全体を内部回路と称
してもよい。
【0166】以下、本発明の各種態様を付記する。
【0167】(付記1) プログラムを実行するCPU
と、各所定の作用を成す1つ以上の内部デバイスと、前
記CPUと前記内部デバイスとを結ぶとともに外部にま
で延びアドレスおよびデータを伝達するバスラインとを
含む内部回路、および前記バスラインの外部に延びた部
分に外付けされた、各所定の作用を成す1つ以上の外部
デバイスを含む外部回路を備え、前記内部回路が、前記
バスラインの、外部への出入口に介在し、該バスライン
上のアドレスおよびデータを、前記1つ以上の外部デバ
イス全体に割り当てられたアドレス空間を複数に分けた
各領域に応じた各暗号化パターンで暗号化する暗号化部
を含むものであることを特徴とする処理装置。
【0168】(付記2) 前記暗号化部で採用される暗
号化パターンには、アドレスおよびデータの双方とも暗
号化しないことを1つの暗号化パターンとして含むもの
であることを特徴とする付記1記載の処理装置。
【0169】(付記3) 前記外部回路が複数の外部デ
バイスを含むものであり、前記暗号化部は、前記複数の
外部デバイスそれぞれに応じた暗号化パターンで暗号化
するものであることを特徴とする付記1記載の処理装
置。
【0170】(付記4) 前記暗号化部は、前記外部回
路がアクセスされていないタイミングで、前記バスライ
ンの、外部に延びた部分に、ダミーのアドレスおよびデ
ータを出力するものであることを特徴とする付記1記載
の処理装置。
【0171】(付記5) 前記CPUは、クロックの供
給を受け供給されたクロックに同期してプログラムを実
行するものであるとともに、前記暗号化部も、クロック
の供給を受け供給されたクロックに同期して暗号化を行
なうものであって、前記暗号化部に、前記CPUに供給
されるクロックよりも高速なクロックを供給するクロッ
ク供給部を備えたことを特徴とする付記1記載の処理装
置。
【0172】(付記6) 前記外部回路の構成を認識
し、その構成に応じて、前記暗号化部における暗号化パ
ターンを決定する暗号化パターン決定手段を有すること
を特徴とする付記1記載の処理装置。
【0173】(付記7) 前記暗号化部は、前記バスラ
イン上のアドレスおよびデータを、前記1つ以上の外部
デバイス全体に割り当てられたアドレス空間を複数に分
けた各領域に応じるとともに前記CPUで実行されるア
プリケーションプログラムにも応じた暗号化パターンで
暗号化するものであることを特徴とする付記1記載の処
理装置。
【0174】(付記8) 前記バスラインの、外部に延
びた部分に接続され、該バスライン上の暗号化されたア
ドレスおよびデータを暗号化前のアドレスおよびデータ
に戻す逆暗号化部を備えたことを特徴とする付記1記載
の処理装置。
【0175】(付記9) 前記1つ以上の外部デバイス
全体に割り当てられたアドレス空間を複数に分けた複数
の領域のうちのいずれかの領域について、所定の初期化
動作の都度暗号化パターンを変更する暗号化パターン変
更手段を有することを特徴とする付記1記載の処理装
置。
【0176】(付記10) 前記暗号化部は、前記1つ
以上の外部デバイス全体に割り当てられたアドレス空間
を複数に分けた複数の領域のうちのいずれかの領域につ
いて、暗号化後のデータがアドレスに応じて変化する暗
号化パターンを採用して、データを暗号化するものであ
ることを特徴とする付記1記載の処理装置。
【0177】(付記11) プログラムを実行するCP
Uと、各所定の作用を成す1つ以上の内部デバイスと、
前記CPUと前記内部デバイスとを結ぶとともに外部に
まで延びアドレスおよびデータを伝達するバスラインと
を含む内部回路、および前記バスラインの、外部に延び
た部分に外付けされた、情報を記憶するメモリを含む外
部回路を備え、前記内部回路が、前記メモリに記憶され
た情報のうちの少なくとも一部の情報を、所定の初期化
動作で暗号化して書き換える情報書換手段を有するもの
であることを特徴とする処理装置。
【0178】(付記12) 前記所定の初期化動作が、
最初の電源投入時の初期化動作であることを特徴とする
付記1記載の処理装置。
【0179】(付記13) 前記情報書換手段は、乱数
を発生させ、発生させた乱数を用いた暗号化パターンを
採用して暗号化を行なうものであることを特徴とする付
記11記載の処理装置。
【0180】(付記14) 前記メモリに記憶された情
報のうちの少なくとも一部の情報が、前記所定の初期化
動作を実行する以前において既に暗号化されたものであ
って、前記情報書換手段は、該少なくとも一部の情報を
一旦暗号化前の情報に戻し異なる暗号化パターンを採用
して再度暗号化を行なって書き換えるものであることを
特徴とする付記11記載の処理装置。
【0181】(付記15) 前記少なくとも一部の情報
を暗号化前の情報に戻すための復号化情報が前記メモリ
に記憶されてなるものであって、前記情報書換手段は、
該少なくとも一部の情報を、該復号化情報を用いて一旦
暗号化前の情報に戻すものであることを特徴とする付記
14記載の処理装置。
【0182】(付記16) 前記少なくとも一部の情報
が公開鍵により暗号化されたものであるとともに、この
処理装置は秘密鍵が埋め込まれてなるものであって、前
記情報書換手段は、該少なくとも一部の情報を該秘密鍵
を用いて一旦暗号化前の情報に戻すものであることを特
徴とする付記14記載の処理装置。
【0183】(付記17) 前記少なくとも一部の情報
を暗号化前の情報に戻すための、暗号化された形式の復
号化情報を外部より取得する情報取得部を備え、前記情
報書換手段は、前記情報取得部で取得された、暗号化さ
れた形式の復号化情報を復号化して平文の復号化情報を
取り出しこの平文の復号化情報を用いて該少なくとも一
部の情報を一旦暗号化前の情報に戻すものであることを
特徴とする付記14記載の処理装置。
【0184】(付記18) 前記内部回路が前記暗号化
部で採用される暗号化パターンを保持してなるものであ
って、タンパ検出を行なうタンパ検出部を備えるととも
に、前記タンパ検出部によるタンパ検出を受けて前記内
部回路内に保持されていた暗号化パターンを破壊する情
報破壊手段を備えたことを特徴とする付記1又は11記
載の処理装置。
【0185】(付記19) プログラムを実行するCP
Uと、各所定の作用を成す1つ以上の内部デバイスと、
前記CPUと前記内部デバイスとを結ぶとともに外部に
まで延びて、外部に延びた部分に、各所定の作用を成す
1つ以上の外部デバイスが外付けされる、アドレスおよ
びデータを伝達するバスラインと、該バスラインの、外
部への出入口に介在し、該バスライン上のアドレスおよ
びデータを、該バスラインの、外部に延びた部分に外付
けされた1つ以上の外部デバイス全体に割り当てられた
空間を複数に分けた各領域に応じた各暗号化パターンで
暗号化する暗号化部とが搭載されてなることを特徴とす
る集積回路。
【0186】(付記20) 前記暗号化部で採用される
暗号化パターンには、アドレスおよびデータの双方とも
暗号化しないことを1つの暗号化パターンとして含むも
のであることを特徴とする付記18記載の集積回路。
【0187】(付記21) 前記バスラインの、外部に
延びた部分に、複数の外部デバイスが外付けされた場合
に、前記暗号化部は、前記複数の外部デバイスそれぞれ
に応じた暗号化パターンで暗号化するものであることを
特徴とする付記19記載の集積回路。
【0188】(付記22) 前記暗号化部は、前記外部
回路がアクセスされていないタイミングで、前記バスラ
インの、外部に延びた部分に、ダミーのアドレスおよび
データを出力するものであることを特徴とする付記19
記載の集積回路。
【0189】(付記23) 前記CPUは、クロックの
供給を受け供給されたクロックに同期してプログラムを
実行するものであるとともに、前記暗号化部も、クロッ
クの供給を受け供給されたクロックに同期して暗号化を
行なうものであって、前記暗号化部は、前記CPUが動
作するクロックよりも高速なクロックで動作するもので
あることを特徴とする付記19記載の集積回路。
【0190】(付記24) 前記外部回路の構成を認識
し、その構成に応じて、前記暗号化部における暗号化パ
ターンを決定する暗号化パターン決定手段を有すること
を特徴とする付記19記載の集積回路。
【0191】(付記25) 前記暗号化部は、前記バス
ラインの、アドレスおよびデータを前記1つ以上の外部
デバイス全体に割り当てられたアドレス空間を複数に分
けた各領域に応じるとともに前記CPUで実行されるア
プリケーションプログラムにも応じた暗号化パターンで
暗号化するものであることを特徴とする付記19記載の
集積回路。
【0192】(付記26) 前記1つ以上の外部デバイ
ス全体に割り当てられたアドレス空間を複数に分けた複
数の領域のうちのいずれかの領域について、所定の初期
化動作の都度暗号化パターンを変更する暗号化パターン
変更手段を有することを特徴とする付記19記載の集積
回路。
【0193】(付記27) 前記暗号化部は、前記1つ
以上の外部デバイス全体に割り当てられたアドレス空間
を複数に分けた複数の領域のうちのいずれかの領域につ
いて、暗号化後のデータがアドレスに応じて変化する暗
号化パターンを採用して、データを暗号化するものであ
ることを特徴とする付記19記載の集積回路。
【0194】(付記28) プログラムを実行するCP
Uと、各所定の作用を成す1つ以上の内部デバイスと、
前記CPUと前記内部デバイスとを結ぶとともに外部に
まで延びて、外部に延びた部分に、情報を記憶するメモ
リが外付けされる、アドレスおよびデータを伝達するバ
スラインとを備えるとともに、前記メモリに記憶された
情報のうちの少なくとも一部の情報を、所定の初期化動
作で暗号化して書き換える情報書換手段を有するもので
あることを特徴とする集積回路。
【0195】(付記29) 前記所定の初期化動作が、
最初の電源投入時の初期化動作であることを特徴とする
付記28記載の集積回路。
【0196】(付記30) 前記情報書換手段は、乱数
を発生させ、発生させた乱数を用いた暗号化パターンを
採用して暗号化を行なうものであることを特徴とする付
記28記載の集積回路。
【0197】(付記31) 前記メモリに記憶された情
報のうちの少なくとも一部の情報が、前記所定の初期化
動作を実行する以前において既に暗号化されたものであ
って、前記情報書換手段は、該少なくとも一部の情報を
一旦暗号化前の情報に戻し異なる暗号化パターンを採用
して再度暗号化を行なって書き換えるものであることを
特徴とする付記28記載の集積回路。
【0198】(付記32) 前記少なくとも一部の情報
を暗号化前の情報に戻すための復号化情報が前記メモリ
に記憶されてなるものであって、前記情報書換手段は、
該少なくとも一部の情報を、該復号化情報を用いて一旦
暗号化前の情報に戻すものであることを特徴とする付記
31記載の集積回路。
【0199】(付記33) 前記少なくとも一部の情報
が公開鍵により暗号化されたものであるとともに、この
集積回路は秘密鍵が埋め込まれてなるものであって、前
記情報書換手段は、該少なくとも一部の情報を該秘密鍵
を用いて一旦暗号化前の情報に戻すものであることを特
徴とする付記31記載の集積回路。
【0200】(付記34) 前記少なくとも一部の情報
を暗号化前の情報に戻すための、暗号化された形式の暗
号化情報を外部より取得する情報取得部を備え、前記情
報書換手段は、前記情報取得部で取得された、暗号化さ
れた形式の復号化情報を復号化して平文の復号化情報を
取り出しこの平文の復号化情報を用いて該少なくとも一
部の情報を一旦暗号化前の情報に戻すものであることを
特徴とする付記31記載の集積回路。
【0201】
【発明の効果】以上、説明したように、本発明によれ
ば、外付けされたデバイスにプログラムやデータ等を記
憶させても、それらを第3者による不正なリバースエン
ジニアリング等の行為から守る事ができ、従来よりも高
いセキュリティを保つことができる。
【図面の簡単な説明】
【図1】本発明の処理装置の第1実施形態を示すブロッ
ク図である。
【図2】図1に示す処理装置のメモリマップを示す図で
ある。
【図3】図1に示す処理装置に電源が投入されたときに
実行される初期化プログラムのフローチャートである。
【図4】本発明の処理装置の第2実施形態のブロック図
である。
【図5】排他的論理和回路を示す図である。
【図6】スクランブル演算回路として採用することので
きる回路構成を示した図である。
【図7】スクランブル演算回路として採用することので
きる回路構成を示した図である。
【図8】スクランブル演算回路として採用することので
きる回路構成を示した図である。
【図9】スクランブル演算回路として採用することので
きる回路構成を示した図である。
【図10】特定のビットのみスクランブルをかけるため
のマスクパターンが付加されたスクランブル演算回路の
一例を示す図である。
【図11】特定のビットのみスクランブルをかけるため
のマスクパターンが付加されたスクランブル演算回路の
もう1つの例を示す図である。
【図12】図4に示す第2実施形態の処理装置における
アドレスマップである。
【図13】データバススクランブルパターンメモリの構
成を示す図である。
【図14】図4に示す処理装置における、電源投入時お
よびリセット時に動作するプログラムの一部を示した図
である。
【図15】電源投入時に動作するプログラムの、フラッ
シュROMのスクランブルの部分を示すフローチャート
である。
【図16】フラッシュROMにあらかじめスクランブル
されたプログラムが書き込まれており、かつそのスクラ
ンブルを元に戻すのに必要な逆スクランブルパターンが
フラッシュROM内に格納されて出荷されたときの、電
源投入時に動作するプログラムの、フラッシュROMの
スクランブルの部分を示すフローチャートである。
【図17】フラッシュROMについて工場出荷前にスク
ランブルしておき、そのスクランブルを解除するための
逆スクランブルパターンを公開鍵Kpbにより暗号化し
てバックアップRAMに格納し、その状態で出荷された
後の電源投入時に動作するプログラムの、フラッシュR
OMのスクランブルの部分を示すフローチャートであ
る。
【図18】本発明の処理装置の第3実施形態のブロック
図である。
【図19】図18に示す処理装置における電源投入時に
実行されるプログラムの、フラッシュROMのスクラン
ブルに関する部分のフローチャートである。
【図20】本発明の処理装置の第4実施形態のブロック
図である。
【符号の説明】
1,5 処理装置 10,50 LSI 100 内部回路 101 中央処理装置(CPU) 102 内部メモリ 103 暗号化情報レジスタ 104 アドレスデコーダ 105 周辺回路 120 暗号化部 121 暗号化回路 122 バスインターフェース 123 乱数発生回路 200 外部回路 201 液晶表示装置(LCD) 202 キーボード(KB) 203 読出専用メモリ(ROM) 211 フラッシュROM 212 ランダムアクセスメモリ(RAM) 213 デバイス 214 逆暗号化回路 301,302 発振器 500 内部回路 501 CPU 502 内部メモリ 503 アドレスバススクランブル演算回路 504 アドレスバススクランブルパターンメモリ 505 データバススクランブル演算回路 506 データバススクランブルパターンメモリ 507 デコーダ回路 510 バスライン 511 アドレスバス 512 データバス 600 外部回路 601 RAM 602 フラッシュROM 603 通信制御回路 604 タンパ検出スイッチ 605 バックアップ用電池 700 鍵管理センター 800 通信回路網
───────────────────────────────────────────────────── フロントページの続き (72)発明者 橋本 繁 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 山本 浩憲 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B014 HB01 5B017 AA07 BA07 BB05 CA11 CA15 5B076 FA02 FC08

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 プログラムを実行するCPUと、各所定
    の作用を成す1つ以上の内部デバイスと、前記CPUと
    前記内部デバイスとを結ぶとともに外部にまで延びアド
    レスおよびデータを伝達するバスラインとを含む内部回
    路、および前記バスラインの、外部に延びた部分に外付
    けされた、各所定の作用を成す1つ以上の外部デバイス
    を含む外部回路を備え、 前記内部回路が、前記バスラインの、外部への出入口に
    介在し、該バスライン上のアドレスおよびデータを、前
    記1つ以上の外部デバイス全体に割り当てられたアドレ
    ス空間を複数に分けた各領域に応じた各暗号化パターン
    で暗号化する暗号化部を含むものであることを特徴とす
    る処理装置。
  2. 【請求項2】 前記外部回路が複数の外部デバイスを含
    むものであり、 前記暗号化部は、前記複数の外部デバイスそれぞれに応
    じた暗号化パターンで暗号化するものであることを特徴
    とする請求項1記載の処理装置。
  3. 【請求項3】 前記暗号化部は、前記外部回路がアクセ
    スされていないタイミングで、前記バスラインの、外部
    に延びた部分に、ダミーのアドレスおよびデータを出力
    するものであることを特徴とする請求項1記載の処理装
    置。
  4. 【請求項4】 前記CPUは、クロックの供給を受け供
    給されたクロックに同期してプログラムを実行するもの
    であるとともに、前記暗号化部も、クロックの供給を受
    け供給されたクロックに同期して暗号化を行なうもので
    あって、 前記暗号化部に、前記CPUに供給されるクロックより
    も高速なクロックを供給するクロック供給部を備えたこ
    とを特徴とする請求項1記載の処理装置。
  5. 【請求項5】 前記外部回路の構成を認識し、その構成
    に応じて、前記暗号化部における暗号化パターンを決定
    する暗号化パターン決定手段を有することを特徴とする
    請求項1記載の処理装置。
  6. 【請求項6】 前記暗号化部は、前記バスライン上のア
    ドレスおよびデータを、前記1つ以上の外部デバイス全
    体に割り当てられたアドレス空間を複数に分けた各領域
    に応じるとともに前記CPUで実行されるアプリケーシ
    ョンプログラムにも応じた暗号化パターンで暗号化する
    ものであることを特徴とする請求項1記載の処理装置。
  7. 【請求項7】 前記バスラインの、外部に延びた部分に
    接続され、該バスライン上の暗号化されたアドレスおよ
    びデータを暗号化前のアドレスおよびデータに戻す逆暗
    号化部を備えたことを特徴とする請求項1記載の処理装
    置。
  8. 【請求項8】 前記1つ以上の外部デバイス全体に割り
    当てられたアドレス空間を複数に分けた複数の領域のう
    ちのいずれかの領域について、所定の初期化動作の都度
    暗号化パターンを変更する暗号化パターン変更手段を有
    することを特徴とする請求項1記載の処理装置。
  9. 【請求項9】 前記暗号化部は、前記1つ以上の外部デ
    バイス全体に割り当てられたアドレス空間を複数に分け
    た複数の領域のうちのいずれかの領域について、暗号化
    後のデータがアドレスに応じて変化する暗号化パターン
    を採用して、データを暗号化するものであることを特徴
    とする請求項1記載の処理装置。
  10. 【請求項10】 プログラムを実行するCPUと、各所
    定の作用を成す1つ以上の内部デバイスと、前記CPU
    と前記内部デバイスとを結ぶとともに外部にまで延びア
    ドレスおよびデータを伝達するバスラインとを含む内部
    回路、および前記バスラインの、外部に延びた部分に外
    付けされた、情報を記憶するメモリを含む外部回路を備
    え、 前記内部回路が、前記メモリに記憶された情報のうちの
    少なくとも一部の情報を、所定の初期化動作で暗号化し
    て書き換える情報書換手段を有するものであることを特
    徴とする処理装置。
  11. 【請求項11】 前記情報書換手段は、乱数を発生さ
    せ、発生させた乱数を用いた暗号化パターンを採用して
    暗号化を行なうものであることを特徴とする請求項10
    記載の処理装置。
  12. 【請求項12】 前記メモリに記憶された情報のうちの
    少なくとも一部の情報が、前記所定の初期化動作を実行
    する以前において既に暗号化されたものであって、 前記情報書換手段は、該少なくとも一部の情報を一旦暗
    号化前の情報に戻し異なる暗号化パターンを採用して再
    度暗号化を行なって書き換えるものであることを特徴と
    する請求項10記載の処理装置。
  13. 【請求項13】 前記内部回路が前記暗号化部で採用さ
    れる暗号化パターンを保持してなるものであって、 タンパ検出を行なうタンパ検出部を備えるとともに、 前記タンパ検出部によるタンパ検出を受けて前記内部回
    路内に保持されていた暗号化パターンを破壊する暗号化
    パターン破壊手段を備えたことを特徴とする請求項1又
    は10記載の処理装置。
  14. 【請求項14】 プログラムを実行するCPUと、各所
    定の作用を成す1つ以上の内部デバイスと、前記CPU
    と前記内部デバイスとを結ぶとともに外部にまで延び
    て、外部に延びた部分に、各所定の作用を成す1つ以上
    の外部デバイスが外付けされる、アドレスおよびデータ
    を伝達するバスラインと、該バスラインの、外部への出
    入口に介在し、該バスライン上のアドレスおよびデータ
    を、該バスラインの、外部に延びた部分に外付けされた
    1つ以上の外部デバイス全体に割り当てられた空間を複
    数に分けた各領域に応じた各暗号化パターンで暗号化す
    る暗号化部とが搭載されてなることを特徴とする集積回
    路。
  15. 【請求項15】 前記バスラインの、外部に延びた部分
    に、複数の外部デバイスが外付けされた場合に、前記暗
    号化部は、前記複数の外部デバイスそれぞれに応じた暗
    号化パターンで暗号化するものであることを特徴とする
    請求項14記載の集積回路。
  16. 【請求項16】 前記暗号化部は、前記外部回路がアク
    セスされていないタイミングで、前記バスラインの、外
    部に延びた部分に、ダミーのアドレスおよびデータを出
    力するものであることを特徴とする請求項14記載の集
    積回路。
  17. 【請求項17】 前記1つ以上の外部デバイス全体に割
    り当てられたアドレス空間を複数に分けた複数の領域の
    うちのいずれかの領域について、所定の初期化動作の都
    度暗号化パターンを変更する暗号化パターン変更手段を
    有することを特徴とする請求項14記載の集積回路。
  18. 【請求項18】 前記暗号化部は、前記1つ以上の外部
    デバイス全体に割り当てられたアドレス空間を複数に分
    けた複数の領域のうちのいずれかの領域について、暗号
    化後のデータがアドレスに応じて変化する暗号化パター
    ンを採用してデータを暗号化するものであることを特徴
    とする請求項14記載の集積回路。
  19. 【請求項19】 プログラムを実行するCPUと、各所
    定の作用を成す1つ以上の内部デバイスと、前記CPU
    と前記内部デバイスとを結ぶとともに外部にまで延び
    て、外部に延びた部分に、情報を記憶するメモリが外付
    けされる、アドレスおよびデータを伝達するバスライン
    とを備えるとともに、 前記メモリに記憶された情報のうちの少なくとも一部の
    情報を、所定の初期化動作で暗号化して書き換える情報
    書換手段を有するものであることを特徴とする集積回
    路。
  20. 【請求項20】 前記情報書換手段は、乱数を発生さ
    せ、発生させた乱数を用いた暗号化パターンを採用して
    暗号化を行なうものであることを特徴とする請求項19
    記載の集積回路。
JP2000212815A 2000-07-13 2000-07-13 処理装置および集積回路 Expired - Fee Related JP4683442B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000212815A JP4683442B2 (ja) 2000-07-13 2000-07-13 処理装置および集積回路
EP00311444A EP1172731B1 (en) 2000-07-13 2000-12-20 Data processing apparatus and integrated circuit
US09/739,839 US7657758B2 (en) 2000-07-13 2000-12-20 Processing apparatus and integrated circuit to prevent illicit access and reverse engineering
DE2000613424 DE60013424T2 (de) 2000-07-13 2000-12-20 Datenverarbeitungsvorrichtung und integrierter Schaltkreis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000212815A JP4683442B2 (ja) 2000-07-13 2000-07-13 処理装置および集積回路

Publications (2)

Publication Number Publication Date
JP2002032268A true JP2002032268A (ja) 2002-01-31
JP4683442B2 JP4683442B2 (ja) 2011-05-18

Family

ID=18708672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000212815A Expired - Fee Related JP4683442B2 (ja) 2000-07-13 2000-07-13 処理装置および集積回路

Country Status (4)

Country Link
US (1) US7657758B2 (ja)
EP (1) EP1172731B1 (ja)
JP (1) JP4683442B2 (ja)
DE (1) DE60013424T2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005149262A (ja) * 2003-11-18 2005-06-09 Renesas Technology Corp 情報処理装置
WO2006051639A1 (ja) * 2004-11-15 2006-05-18 Ikuo Yamaguchi 半導体メモリ装置
JP2006277411A (ja) * 2005-03-29 2006-10-12 Toshiba Corp プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
JP2008033593A (ja) * 2006-07-28 2008-02-14 Sony Corp データ記憶装置、データ保護方法、および、通信装置
JP2009025852A (ja) * 2007-07-17 2009-02-05 Meidensha Corp 通信制御装置
JP2009098845A (ja) * 2007-10-16 2009-05-07 Nec Electronics Corp メモリシステム及びデータ保護方法
US7770027B2 (en) 2004-11-15 2010-08-03 Nintendo Co., Ltd. Semiconductor memory device
JP2012085148A (ja) * 2010-10-13 2012-04-26 Nec Corp データ保護システム、ユーザ端末、及びサーバ

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4325130B2 (ja) * 2001-06-21 2009-09-02 ヤマハ株式会社 電子機器
DE10258767A1 (de) * 2002-12-16 2004-07-15 Infineon Technologies Ag Verfahren zum Betrieb eines Cache-Speichers
FR2853097B1 (fr) * 2003-03-24 2005-07-15 Innova Card Circuit programmable pourvu d'une memoire securisee
FR2853098B1 (fr) * 2003-03-24 2005-07-01 Innova Card Circuit pourvu d'un acces externe securise
JP2004361986A (ja) * 2003-04-08 2004-12-24 Sharp Corp スクランブル回路
EP1544704A1 (en) * 2003-12-19 2005-06-22 STMicroelectronics Limited Monolithic semiconductor integrated circuit and method for selective memory encryption and decryption
GB0615392D0 (en) * 2006-08-03 2006-09-13 Wivenhoe Technology Ltd Pseudo random number circuitry
IL187046A0 (en) 2007-10-30 2008-02-09 Sandisk Il Ltd Memory randomization for protection against side channel attacks
US9773431B2 (en) * 2009-11-10 2017-09-26 Maxim Integrated Products, Inc. Block encryption security for integrated microcontroller and external memory system
RU2485710C1 (ru) * 2011-12-23 2013-06-20 Общество с ограниченной ответственностью "ЕвроКомСервис" Криптокамера
US10516665B2 (en) * 2014-03-13 2019-12-24 Nec Corporation Network management apparatus, network management method, and recording medium
DE102016119750B4 (de) * 2015-10-26 2022-01-13 Infineon Technologies Ag Vorrichtungen und Verfahren zur Mehrkanalabtastung
CN109952751B (zh) * 2016-11-15 2020-11-17 华为技术有限公司 一种安全的处理器芯片及终端设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63149747A (ja) * 1986-12-15 1988-06-22 Nec Corp デ−タ機密保護機構付き読出し専用メモリ
JPH05336104A (ja) * 1992-05-29 1993-12-17 Toshiba Corp 無線基地局
JPH07200287A (ja) * 1993-12-16 1995-08-04 Internatl Business Mach Corp <Ibm> 保護されたプログラム式メモリ・カートリッジとこれを使用するコンピュータ・システム
JPH07334359A (ja) * 1994-06-03 1995-12-22 Hitachi Ltd 半導体集積回路装置
JPH09258977A (ja) * 1996-01-17 1997-10-03 Fuji Xerox Co Ltd ソフトウェアの保護機能付き情報処理装置
JPH1091531A (ja) * 1996-09-19 1998-04-10 Toshiba Corp セキュリティシステム
JP2000155525A (ja) * 1998-11-24 2000-06-06 Nippon Telegr & Teleph Corp <Ntt> 暗号強度評価装置
JP2001148729A (ja) * 1999-09-07 2001-05-29 Nippon Telegr & Teleph Corp <Ntt> 位置情報サービスシステム、並びに、位置情報サービスシステムにおける位置情報利用方法、発信端末、鍵更新センタ、及び、着信端末

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4168396A (en) * 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
US4525599A (en) * 1982-05-21 1985-06-25 General Computer Corporation Software protection methods and apparatus
EP0117276B1 (en) * 1982-09-20 1990-05-09 Sanyo Electric Co., Ltd. Privacy communication apparatus
US4628358A (en) * 1983-06-10 1986-12-09 General Instrument Corporation Television signal encryption system with protected audio
US4573119A (en) * 1983-07-11 1986-02-25 Westheimer Thomas O Computer software protection system
FR2570524B1 (fr) * 1984-09-19 1987-01-02 Matra Communication Terminal de tele-informatique a extensions externes
US5237699A (en) * 1988-08-31 1993-08-17 Dallas Semiconductor Corp. Nonvolatile microprocessor with predetermined state on power-down
US5081675A (en) * 1989-11-13 1992-01-14 Kitti Kittirutsunetorn System for protection of software in memory against unauthorized use
GB9000580D0 (en) * 1990-01-10 1990-03-14 Refurbished Turbine Components Apparatus for and methods of the repair of turbine blades
US5048086A (en) * 1990-07-16 1991-09-10 Hughes Aircraft Company Encryption system based on chaos theory
US5515540A (en) * 1990-08-27 1996-05-07 Dallas Semiconducter Corp. Microprocessor with single pin for memory wipe
JP2862030B2 (ja) * 1991-06-13 1999-02-24 三菱電機株式会社 暗号化方式
US5428685A (en) * 1992-01-22 1995-06-27 Fujitsu Limited IC memory card and method of protecting data therein
US5400331A (en) * 1993-04-28 1995-03-21 Allen-Bradley Company, Inc. Communication network interface with screeners for incoming messages
US5404402A (en) * 1993-12-21 1995-04-04 Gi Corporation Clock frequency modulation for secure microprocessors
FR2728980B1 (fr) * 1994-12-30 1997-01-31 Thomson Csf Dispositif de securisation de systemes d'information organises autour de microprocesseurs
US5666497A (en) * 1995-03-08 1997-09-09 Texas Instruments Incorporated Bus quieting circuits, systems and methods
US5943421A (en) * 1995-09-11 1999-08-24 Norand Corporation Processor having compression and encryption circuitry
JP3471988B2 (ja) * 1995-09-19 2003-12-02 株式会社リコー ファクシミリ装置
US5917910A (en) * 1995-10-16 1999-06-29 Sony Corporation Encrypting method and apparatus, recording method, decrypting method and apparatus, and recording medium
US6175925B1 (en) * 1996-06-13 2001-01-16 Intel Corporation Tamper resistant player for scrambled contents
US6986053B1 (en) * 1996-11-07 2006-01-10 Ascom Hasler Mailing Systems, Inc. System for protecting cryptographic processing and memory resources for postal franking machines
US5848159A (en) * 1996-12-09 1998-12-08 Tandem Computers, Incorporated Public key cryptographic apparatus and method
US6272637B1 (en) * 1997-04-14 2001-08-07 Dallas Semiconductor Corporation Systems and methods for protecting access to encrypted information
US6003117A (en) * 1997-10-08 1999-12-14 Vlsi Technology, Inc. Secure memory management unit which utilizes a system processor to perform page swapping
US6345359B1 (en) * 1997-11-14 2002-02-05 Raytheon Company In-line decryption for protecting embedded software
US6226237B1 (en) * 1998-03-26 2001-05-01 O2 Micro International Ltd. Low power CD-ROM player for portable computer
WO2000019321A1 (de) * 1998-09-30 2000-04-06 Koninklijke Philips Electronics N.V. Verfahren zum unbrauchbarmachen von daten und datenverarbeitungsschaltung zur durchführung des verfahrens
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
JP3679936B2 (ja) * 1998-11-27 2005-08-03 東芝ソリューション株式会社 暗復号装置及び記憶媒体
FR2787216B1 (fr) * 1998-12-11 2001-07-27 Bull Cp8 Procede de stockage et d'exploitation d'unites d'information dans un module de securite, et module de securite associe
FR2788353B1 (fr) * 1999-01-11 2001-02-23 St Microelectronics Sa Microprocesseur avec circuits de protection pour securiser l'acces a ses registres
KR100632495B1 (ko) * 1999-02-17 2006-10-09 소니 가부시끼 가이샤 정보처리장치 및 방법과 프로그램 격납매체
FR2793367B1 (fr) * 1999-05-03 2004-09-10 Jean Luc Stehle Dispositif d'authentification et de securisation pour un reseau informatique
DE19922155A1 (de) * 1999-05-12 2000-11-23 Giesecke & Devrient Gmbh Speicheranordnung mit Adreßverwürfelung
US6971022B1 (en) * 1999-06-15 2005-11-29 Matsushita Electric Industrial Co., Ltd. Cryptographic apparatus for performing cryptography on a specified area of content data
EP1232454A1 (en) * 1999-09-10 2002-08-21 Portogo, Inc. System and method for insuring correct data transmission over the internet
US7188255B1 (en) * 1999-09-23 2007-03-06 Hewlett-Packard Development Company, L.P. Software delivery system
JP2001109667A (ja) * 1999-10-13 2001-04-20 Nec Ic Microcomput Syst Ltd データ処理方法および装置
US7005733B2 (en) * 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
US7111176B1 (en) * 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
US7000119B1 (en) * 2000-04-20 2006-02-14 Realnetworks, Inc. Instruction/data protection employing derived obscuring instruction/data
US6895506B1 (en) * 2000-05-16 2005-05-17 Loay Abu-Husein Secure storage and execution of processor control programs by encryption and a program loader/decryption mechanism
US6989052B1 (en) * 2004-06-30 2006-01-24 Xerox Corporation Phase change ink printing process

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63149747A (ja) * 1986-12-15 1988-06-22 Nec Corp デ−タ機密保護機構付き読出し専用メモリ
JPH05336104A (ja) * 1992-05-29 1993-12-17 Toshiba Corp 無線基地局
JPH07200287A (ja) * 1993-12-16 1995-08-04 Internatl Business Mach Corp <Ibm> 保護されたプログラム式メモリ・カートリッジとこれを使用するコンピュータ・システム
JPH07334359A (ja) * 1994-06-03 1995-12-22 Hitachi Ltd 半導体集積回路装置
JPH09258977A (ja) * 1996-01-17 1997-10-03 Fuji Xerox Co Ltd ソフトウェアの保護機能付き情報処理装置
JPH1091531A (ja) * 1996-09-19 1998-04-10 Toshiba Corp セキュリティシステム
JP2000155525A (ja) * 1998-11-24 2000-06-06 Nippon Telegr & Teleph Corp <Ntt> 暗号強度評価装置
JP2001148729A (ja) * 1999-09-07 2001-05-29 Nippon Telegr & Teleph Corp <Ntt> 位置情報サービスシステム、並びに、位置情報サービスシステムにおける位置情報利用方法、発信端末、鍵更新センタ、及び、着信端末

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005149262A (ja) * 2003-11-18 2005-06-09 Renesas Technology Corp 情報処理装置
WO2006051639A1 (ja) * 2004-11-15 2006-05-18 Ikuo Yamaguchi 半導体メモリ装置
US7770027B2 (en) 2004-11-15 2010-08-03 Nintendo Co., Ltd. Semiconductor memory device
JP2006277411A (ja) * 2005-03-29 2006-10-12 Toshiba Corp プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
JP4551802B2 (ja) * 2005-03-29 2010-09-29 株式会社東芝 プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
US8532296B2 (en) 2005-03-29 2013-09-10 Kabushiki Kaisha Toshiba Processor, memory device, computer system, and method for transferring data
JP2008033593A (ja) * 2006-07-28 2008-02-14 Sony Corp データ記憶装置、データ保護方法、および、通信装置
JP2009025852A (ja) * 2007-07-17 2009-02-05 Meidensha Corp 通信制御装置
JP2009098845A (ja) * 2007-10-16 2009-05-07 Nec Electronics Corp メモリシステム及びデータ保護方法
JP2012085148A (ja) * 2010-10-13 2012-04-26 Nec Corp データ保護システム、ユーザ端末、及びサーバ

Also Published As

Publication number Publication date
JP4683442B2 (ja) 2011-05-18
EP1172731A3 (en) 2003-01-29
US20020029345A1 (en) 2002-03-07
EP1172731A2 (en) 2002-01-16
US7657758B2 (en) 2010-02-02
DE60013424T2 (de) 2005-01-13
DE60013424D1 (de) 2004-10-07
EP1172731B1 (en) 2004-09-01

Similar Documents

Publication Publication Date Title
JP4683442B2 (ja) 処理装置および集積回路
US7831841B2 (en) Semiconductor device including encryption section, semiconductor device including external interface, and content reproduction method
US5995623A (en) Information processing apparatus with a software protecting function
US6308256B1 (en) Secure execution of program instructions provided by network interactions with processor
US8190912B2 (en) Program development method, program development supporting system, and program installation method
US8423788B2 (en) Secure memory card with life cycle phases
CN100397284C (zh) 具有非易失存储器模块的电路装置以及对非易失存储器模块中的数据进行加密/解密的方法
US6345359B1 (en) In-line decryption for protecting embedded software
US8321686B2 (en) Secure memory card with life cycle phases
US20070098149A1 (en) Decryption key table access control on ASIC or ASSP
JPWO2002057904A1 (ja) ダウンロード機能を有する制御装置
US6101605A (en) Method and apparatus for performing a secure operation
JP4119882B2 (ja) メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ
US7333613B2 (en) Cyphering of the content of a memory external to a processor
JP4664655B2 (ja) 情報処理装置、および、そのアドレス制御方法
JP4336690B2 (ja) 外部インターフェースを有する半導体装置
JP4580024B2 (ja) コンテンツ再生方法
JP4676547B2 (ja) 半導体装置およびそのブート方法
JP4580030B2 (ja) セキュアデバイス
JP2007272923A5 (ja)
JP2007272923A (ja) サーバ
JPH11282756A (ja) 秘密デ−タ管理方法
JP2011081429A (ja) プログラム秘匿システム、プログラム秘匿方法
JP2007249996A (ja) プログラム開発支援装置およびプログラム実装方法
KR20000032464A (ko) 프로그램 복제 방지장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100407

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100407

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100426

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20100831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101115

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: 20110201

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: 20110203

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

Free format text: PAYMENT UNTIL: 20140218

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