JP2003298569A - アドレス暗号化装置、アドレス暗号化方法及びアドレス暗号化プログラム - Google Patents

アドレス暗号化装置、アドレス暗号化方法及びアドレス暗号化プログラム

Info

Publication number
JP2003298569A
JP2003298569A JP2003013087A JP2003013087A JP2003298569A JP 2003298569 A JP2003298569 A JP 2003298569A JP 2003013087 A JP2003013087 A JP 2003013087A JP 2003013087 A JP2003013087 A JP 2003013087A JP 2003298569 A JP2003298569 A JP 2003298569A
Authority
JP
Japan
Prior art keywords
address
area
encrypted
input
encryption
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
JP2003013087A
Other languages
English (en)
Inventor
Toshiyuki Ishioka
敏幸 石岡
Tomohiko Kitamura
朋彦 北村
Hideyuki Kanzaki
英之 神崎
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003013087A priority Critical patent/JP2003298569A/ja
Publication of JP2003298569A publication Critical patent/JP2003298569A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 プロセッサからアドレスバスを通じてメモリ
に出力されるアドレスがスクランブルされる場合でも、
例えばリセット直後にプロセッサがアクセスするアドレ
スなどがバスのモニタリングによって取得され、スクラ
ンブルに用いられるスクランブル鍵が比較的容易に解読
されてしまう恐れがあった。 【解決手段】 本発明では、アドレス空間のうちアドレ
スが暗号化されない非暗号化領域が設定される。暗号化
部は、入力されたアドレスと設定された非暗号化領域に
基づいて入力されたアドレスの暗号化を行う。例えばバ
スのモニタリングによって入手され易いアドレスは非暗
号化領域に配置される。これによって、セキュリティが
向上する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えばマイクロプ
ロセッサからメモリなどのデバイスへ出力されるアドレ
スを暗号化するアドレス暗号化装置、アドレス暗号化方
法及びアドレス暗号化プログラムに関するものである。
【0002】
【従来の技術】近年、STBや携帯電話などの民生機器
においても課金処理を行うことが一般的になっている。
これに伴い、課金処理などに利用されるプログラムに対
するセキュリティ確保の必要性が増している。これらの
機器では、プログラムは例えばプロセッサの外部にある
フラッシュメモリに格納されている。この場合、プロセ
ッサはバスを通じてフラッシュメモリからプログラムを
読み出し、プログラムを実行する。このようにプログラ
ムがバスを通じて転送される場合、そのバスはチップか
ら露出しているので、バスのモニタリングによって、プ
ログラムが解読されてしまう恐れがある。プログラムが
解読されてしまうと、プログラムによって扱われる課金
情報などの秘匿性の高い情報が漏洩したり、解読結果を
利用してプログラムが悪用される危険性がある。このた
め、スクランブル鍵を用いてバスにスクランブルが施さ
れる(例えば、特許文献1参照。)。
【0003】
【特許文献1】米国特許第4168396号明細書
【0004】
【発明が解決しようとする課題】ところで、リセット直
後にプロセッサがアクセスするアドレスは一般的に決ま
っていることが多い。このアドレスは、プロセッサの仕
様書などから知ることができる。
【0005】このため、バスにスクランブルあるいはそ
の他の暗号化が施されていたとしても、リセット直後に
プロセッサがアクセスするアドレスがモニタリングされ
てしまえば、暗号化されていないリセット直後のアドレ
スと暗号化されたリセット直後のアドレスとが入手され
てしまう。この場合のように、スクランブルされていな
いアドレスとスクランブルされたアドレスとの関係か
ら、スクランブル鍵が判明してしまう可能性が高い。従
って、バスに暗号化が施されたとしても、セキュリティ
を十分に確保することができなかった。
【0006】本発明は、このような従来の技術における
課題を鑑みてなされたものであり、暗号化前のアドレス
と暗号化後のアドレスが入手し難く、暗号化鍵の解読を
困難にするアドレス暗号化装置、アドレス暗号化方法、
及びアドレス暗号化プログラムを提供することを目的と
するものである。
【0007】
【課題を解決するための手段】上述の目的を達成するた
めに、本発明は、以下の手段を採用している。
【0008】本発明のアドレス暗号化装置において、非
暗号化領域設定部は、内部アドレス空間のうち内部アド
レスが暗号化されない非暗号化領域を設定するために用
いられる。
【0009】また、変換部は、入力された内部アドレス
と設定された非暗号化領域に基づいて内部アドレスを暗
号化した外部アドレスを出力する。
【0010】この変換部は、アドレス比較部と暗号化部
で構成される。
【0011】アドレス比較部は、入力された内部アドレ
スが内部アドレス空間の非暗号化領域以外の暗号化領域
に含まれるか非暗号化領域に含まれるかを判定する。
【0012】そして、暗号化部は、入力された内部アド
レスが前記暗号化領域に含まれると判定された場合にの
み、入力された内部アドレスを外部アドレス空間の前記
暗号化領域に対応する領域の外部アドレスに暗号化す
る。
【0013】例えば、暗号化部には、暗号化処理部と出
力選択部とが備えられる。暗号化にスクランブル処理を
用いたとすると、暗号化処理部は、入力された内部アド
レスの上位所定ビットを除いたビットのスクランブルを
行う。そして、出力選択部は、入力された内部アドレス
が暗号化領域に含まれると判定された場合、入力された
内部アドレスとスクランブルされたアドレスのうち、ス
クランブルされたアドレスを選択し、入力された内部ア
ドレスが非暗号化領域に含まれると判定された場合、入
力された内部アドレスを選択する。
【0014】この出力選択部により選択された外部アド
レスがアドレスバスを通じて、メモリなどのデバイスに
出力される場合、リセット直後にプロセッサがアクセス
するようなアドレスが非暗号化領域に配置されていれ
ば、アドレスバスの観測が行われたとしても、スクラン
ブル前のアドレスとスクランブル後のアドレスが入手さ
れ難い。その結果、スクランブルに用いられるスクラン
ブル鍵の解読が困難になり、プログラムに対するセキュ
リティが向上する。
【0015】暗号化処理部は、入力された内部アドレス
の所定ビットに基づいて所定ビットのうち一部の下位ビ
ットを選択し、入力された内部アドレスの所定ビットを
除いたビットだけでなく、選択された下位ビットもスク
ランブルするようにしてもよい。この場合、選択された
下位ビットがスクランブルされる分だけ、スクランブル
の単位領域が大きくなり、スクランブル鍵を解読するた
めの解析範囲が広くなる。従って、プログラムに対する
セキュリティがさらに向上する。
【0016】一方、所定ビットを定めないようにアドレ
ス暗号化装置を構成することも可能である。
【0017】この場合、暗号化処理部は入力された内部
アドレスのスクランブルを行う。
【0018】また、非暗号化領域設定部は、内部アドレ
ス空間のうちアドレスがスクランブルされない非暗号化
領域を設定する。外部アドレス空間においても同一の領
域が非暗号化領域として設定され、アドレス比較部は、
入力された内部アドレスが内部アドレス空間の非暗号化
領域以外の暗号化領域に含まれるか非暗号化領域に含ま
れるかを判定するとともに、スクランブルされたアドレ
スが外部アドレス空間のうち非暗号化領域以外の暗号化
領域に含まれるか非暗号化領域に含まれるかを判定す
る。
【0019】そして、出力選択部は、入力された内部ア
ドレスが暗号化領域に含まれると判定され、かつスクラ
ンブルされたアドレスが暗号化領域に含まれると判定さ
れた場合、入力された内部アドレスとスクランブルされ
たアドレスのうち、スクランブルされたアドレスを選択
する。また、出力選択部は、入力された内部アドレスが
非暗号化領域に含まれる、またはスクランブルされたア
ドレスが非暗号化領域に含まれると判定された場合、入
力された内部アドレスを選択する。
【0020】この場合でも、例えばリセット直後にプロ
セッサがアクセスするようなアドレスが非暗号化領域に
配置されていれば、アドレスバスの観測が行われたとし
ても、スクランブル前のアドレスとスクランブル後のア
ドレスが入手され難い。暗号化前のアドレスと暗号化後
のアドレスが入手されなければ、スクランブル処理であ
っても、それに用いられるスクランブル鍵の解読は困難
である。スクランブル処理以外の暗号化であれば、その
解読をさらに困難にすることも可能である。
【0021】ところで、RAMのページサイズとスクラ
ンブルの単位領域の大きさが異なると、スクランブルさ
れたアドレスが複数のページに散在する可能性があり、
メモリへのアクセス性能が低下してしまう。このような
場合にも、アクセス性能の低下を抑制するために、入力
されたアドレスのうち一部のビットをスクランブルする
暗号化処理部が利用可能である。この場合、非暗号化領
域設定部の代わりに、ページサイズ設定部が用意され
る。ページサイズ設定部は、RAMのページサイズを設
定するために用いられる。そして、暗号化処理部は、ペ
ージサイズ設定部の設定に基づいてスクランブルされな
い非スクランブルビット数を決定し、入力された内部ア
ドレスの非スクランブルビット数の分だけ上位ビットを
除いたビットをスクランブルする。
【0022】これによって、スクランブルはページサイ
ズを単位として行われることになり、スクランブルによ
ってRAMへのアクセス性能が低下するのを抑制するこ
とができる。
【0023】なお、スクランブルの単位領域が複数存在
する場合、暗号化処理部は、スクランブルに用いられる
スクランブル鍵を同じにする必要はなく、スクランブル
の単位領域毎に異ならせてもよい。
【0024】各単位領域のスクランブル鍵が異なれば、
他の単位領域のスクランブル鍵が解読されたとしても、
連鎖的に残りの単位領域に記憶されたプログラムまで不
正に取得されてしまうような事態が回避される。その結
果、内部アドレス空間全体としてはプログラムに対する
セキュリティが向上する。
【0025】また、他の観点では、本発明は、上述の手
順からなるアドレス暗号化方法を提供することができ
る。
【0026】さらに、他の観点では、本発明は、上述の
アドレス暗号化方法をコンピュータに実行させるプログ
ラムを提供することができる。
【0027】このプログラムは、インターネットなどの
電気通信回線を通じて市場に供されることもあれば、C
D−ROMなどのコンピュータ読み取り可能な記録媒体
に記録された状態で市場に供されることもある。
【0028】
【発明の実施の形態】以下、添付図面を参照して本発明
の実施の形態につき説明する。
【0029】各実施の形態におけるアドレス暗号化装置
は、例えばマイクロプロセッサと同じチップに内蔵され
る。マイクロプロセッサは、アドレス暗号化装置に内部
アドレスを入力する。アドレス暗号化装置は、アドレス
バスを通じてメモリに外部アドレスを出力する。
【0030】(第1の実施の形態)図1は、第1の実施
の形態におけるアドレス暗号化装置の概略構成を示す。
また、図2は、第1の実施の形態におけるアドレス暗号
化方法のフローチャートを示す。
【0031】このアドレス暗号化装置において、非暗号
化領域設定部2は、内部アドレス空間のうち内部アドレ
スが暗号化されない非暗号化領域21を設定するために
用いられる(S1)。
【0032】非暗号化領域設定部2には、例えば非暗号
化領域21の開始アドレスと終了アドレスを保持するレ
ジスタであり、その値はソフトウェアによって操作され
る。
【0033】例えば、内部アドレス11が8ビットであ
れば、図3に示すように、内部アドレス空間には、00
000000番地(アドレス)から11111111番
地までが割り付けられる。
【0034】ここで、非暗号化領域設定部2のレジスタ
には、開始アドレスとして00000000が、終了ア
ドレスとして00111111が保持されているものと
すると、00000000番地から00111111番
地までの領域が非暗号化領域21に設定されていること
になる。内部アドレス空間のうち非暗号化領域以外の暗
号化領域22は、01000000番地から11111
111番地までの領域である。
【0035】非暗号化領域設定部2の設定は、変換部2
00に備えた暗号化部100の暗号化処理部1及びアド
レス比較部3によって読み出される。暗号化処理部1
は、入力された内部アドレス11の暗号化を行うことで
暗号化されたアドレス12を生成する(S2)。
【0036】このとき、暗号化処理部1には、暗号化鍵
14が与えられる。例えば、暗号化鍵14は、内部アド
レスと、内部アドレス空間の暗号化領域22に対応する
外部アドレス空間の暗号化領域22Aに含まれる外部ア
ドレスとの1対1の対応を指示するテーブルでよい。こ
の場合、入力された内部アドレス11は、暗号化鍵14
であるテーブルの指示に基づいて外部アドレスに暗号化
される。このとき、暗号化により、外部アドレスのビッ
ト長が内部アドレスよりも長くなってもよい。ここで
は、8ビットの内部アドレスが、10ビットの外部アド
レスになるものとする。
【0037】アドレス比較部3は、非暗号化領域設定部
2の設定に基づいて、入力された内部アドレス11が暗
号化領域22に含まれるか非暗号化領域21に含まれる
かを判定する(S3)。
【0038】判定は、例えば、入力された内部アドレス
11が非暗号化領域設定部2のレジスタに設定された範
囲に含まれる値と相違するか否かに基づいて行われる。
相違する場合、入力された内部アドレス11は、暗号化
領域22に含まれると判定される。相違しない場合、入
力された内部アドレス11は、非暗号化領域21に含ま
れると判定される。
【0039】アドレス比較部3は、判定結果を出力選択
部4に出力する。出力選択部4は、アドレス比較部3の
判定結果に従って、暗号化されたアドレス12または入
力された内部アドレス11の一方を選択し外部アドレス
として出力する。入力された内部アドレス11が暗号化
領域22に含まれると判定された場合、出力選択部4
は、暗号化されたアドレス12を選択する(S4)。す
なわち、暗号化領域22に含まれる内部アドレスは、暗
号化される。
【0040】一方、入力された内部アドレス11が非暗
号化領域21に含まれると判定された場合、出力選択部
4は、入力された内部アドレス11を選択する(S
5)。すなわち、非暗号化領域21に含まれる内部アド
レスは、暗号化されない。このとき、出力選択部4は、
出力する内部アドレス11が暗号化されたアドレス12
と同一のビット長となるようにビットを付加してもよ
い。すなわち、10ビットである場合には、2ビットを
付加する。但し、ビットの付加により暗号化領域22A
に含まれる外部アドレスとならない付加とする。
【0041】以上により、外部アドレス空間は、図4に
示すように、暗号化されたアドレス12が含まれる暗号
化領域22Aと入力された内部アドレス11が含まれる
非暗号化領域21Aに区分されることになる。
【0042】出力選択部4によって選択された外部アド
レスが、メモリに出力される。外部アドレスは直接アド
レスを指示していないため、メモリには、外部アドレス
を内部アドレスに変換する復号部が必要となる。
【0043】この復号部は、外部アドレスが暗号化領域
22Aに含まれる外部アドレスであるか非暗号化領域2
1Aに含まれる外部アドレスであるかを判定する。例え
ば、上述のように、暗号化鍵14として変換を指示する
テーブルが与えられた場合は、このテーブルに基づいて
判定を行う。そして、入力された外部アドレスが暗号化
領域21Aに含まれる外部アドレスである場合には、外
部アドレスの復号を行い内部アドレスとする。また、非
暗号化領域21Aに含まれる外部アドレスである場合に
は、復号を行わず内部アドレスとする。このとき、ビッ
トが付加されていれば、付加ビットを取り除き、内部ア
ドレスとする。
【0044】このメモリにおいて、非暗号化領域21
は、例えばリセット直後にプロセッサがアクセスするア
ドレスを含む領域に配置される。この場合、悪意を持っ
た第三者が、アドレスバスを観測したとしても、暗号化
されたアドレスと暗号化前のアドレスの組み合わせを入
手することができず、暗号化鍵を解読することが困難に
なる。その結果、プログラムに対するセキュリティが高
められる。
【0045】なお、図1の例では、入力された全ての内
部アドレス11について暗号化が行われてから、暗号化
されたアドレス12または入力された内部アドレス11
が選択されたが、これに限られるものではない。図5の
例では、アドレス比較部3が、判定結果を暗号化処理部
1Aに出力してもよい。この場合のフローチャートを図
6に示す。非暗号化領域の設定(S11)及び判定(S
12)が既に説明した通り行われると、暗号化処理部1
は、入力された内部アドレス11が暗号化領域22に含
まれると判定された場合に、暗号化されたアドレス12
を生成し(S13)、入力された内部アドレス11が非
暗号化領域21に含まれると判定された場合に、入力さ
れた内部アドレス11を選択する(S14)。ここで、
入力された内部アドレス11を出力する場合に、暗号化
されたアドレス12と同一のビット長とするビットを付
加しないときは、出力選択部4を設けずに、暗号化処理
部1Aの出力をそのまま暗号化部100の出力としても
よい。
【0046】また、この実施の形態では、非暗号化領域
設定部2によって非暗号化領域21を設定したが、その
代わりに、暗号化領域22を設定する暗号化領域設定部
を設けても良い。内部アドレス空間のうち暗号化領域2
2以外は非暗号化領域21であるから、非暗号化領域設
定部2によって非暗号化領域21を設定することと暗号
化領域設定部によって暗号化領域22を設定することは
等価である。
【0047】(第2の実施の形態)この実施の形態で
は、アドレスの暗号化にスクランブル処理を用いた例を
説明する。非暗号化領域が上位所定ビットにより指定さ
れること、及び暗号化がスクランブル処理によって行わ
れることを除けば、この実施の形態における暗号化装置
の概略構成は、図1に示す第1の実施の形態における装
置と同じである。また、この実施の形態における暗号化
方法のステップも第1の実施の形態で説明したステップ
S1乃至S5と変わらない。
【0048】暗号化にスクランブル処理が用いられる場
合、非暗号化領域設定部2には、例えば所定ビットのビ
ット長と所定ビットの値を保持するレジスタが用いら
れ、その値はソフトウェアによって操作される。ここで
は、レジスタが2というビット長と「00」という値を
保持しているものとする。
【0049】内部アドレス11のビット数が8ビットで
あれば、図8に示すように、非暗号化領域21に設定さ
れる領域は、アドレスの上位2ビットによって指定さ
れ、非暗号化領域設定部2の設定は、上位2ビットが
「00」の00000000番地から00111111
番地までの領域が非暗号化領域21に設定されているこ
とを表す。第1の実施の形態と同様に、内部アドレス空
間のうち暗号化領域22は、01000000番地から
11111111番地までの領域である。暗号化処理部
1は、入力された内部アドレス11の上位所定ビットを
除いたビットのスクランブルを行う(S2)。例えば、
スクランブル処理は、以下に示すように排他的論理和を
計算することで行うことができる。
【0050】暗号化処理部1には、暗号化鍵14として
スクランブル鍵16が与えられる。スクランブル鍵16
は、例えばアドレスと同じく8ビットのビット列によっ
て表される。但し、この場合、スクランブル鍵16の上
位2ビットはスクランブルに用いられない。暗号化処理
部1は、入力された内部アドレス11とスクランブル鍵
16の上位2ビットを除いたビットの排他的論理和を計
算する。暗号化処理部1によってスクランブルされたア
ドレス15は、入力された内部アドレス11の上位2ビ
ットと排他的論理和の計算結果とが結合されたものであ
る。
【0051】図7に示すように、入力された内部アドレ
ス11が10010011であり、スクランブル鍵16
が11001001であれば、入力された内部アドレス
11とスクランブル鍵16の上位2ビットを除いたビッ
トの排他的論理和は、011010となる。スクランブ
ルされたアドレス15の上位2ビットは、入力されたア
ドレス11と同じ「10」であるから、この場合、暗号
化処理部1によってスクランブルされたアドレス15は
10011010となる。
【0052】アドレス比較部3は、非暗号化領域設定部
2の設定に基づいて、入力された内部アドレス11が暗
号化領域22に含まれるか非暗号化領域21に含まれる
かを判定する(S3)。
【0053】判定は、例えば、入力された内部アドレス
11の上位2ビットが非暗号化領域設定部2のレジスタ
に設定された値と相違するか否かに基づいて行われる。
相違する場合、入力された内部アドレス11は、暗号化
領域22に含まれると判定される。相違しない場合、入
力された内部アドレス11は、非暗号化領域21に含ま
れると判定される。
【0054】アドレス比較部3は、判定結果を出力選択
部4に出力する。出力選択部4は、第1の実施の形態と
同様に、アドレス比較部3の判定結果に従って、入力さ
れた内部アドレス11か暗号化処理部1によりスクラン
ブルされたアドレス15の一方を選択する。
【0055】すなわち、入力された内部アドレス11が
暗号化領域22に含まれると判定された場合、出力選択
部4は、スクランブルされたアドレス15を選択し(S
4)、入力された内部アドレス11が非暗号化領域21
に含まれると判定された場合、出力選択部4は、入力さ
れた内部アドレス11を選択する(S5)。
【0056】この実施の形態の場合、暗号化処理部1
は、内部アドレス11の上位2ビットを除いたビットを
スクランブルするため、暗号化領域22に含まれるアド
レスは、非暗号化領域21と同じ大きさを単位としてス
クランブルされることになる。図8の例では、暗号化領
域22に非暗号化領域21と同じ大きさの単位領域が3
つ含まれる。また、暗号化領域22と非暗号化領域21
は、スクランブルに関係なく、上位2ビットが異なるか
ら、スクランブルされたアドレス15が非暗号化領域2
1に含まれることもない。
【0057】出力選択部4によって選択されたアドレス
が、アドレスバスを通じてメモリに外部アドレスとして
出力される。第1の実施の形態と同様、このメモリにお
いて、非暗号化領域21は、例えばリセット直後にプロ
セッサがアクセスするアドレスを含む領域に配置され
る。この場合、悪意を持った第三者が、アドレスバスを
観測したとしても、スクランブルされたアドレスとスク
ランブル前のアドレスの組み合わせを入手することがで
きず、スクランブル鍵16を解読することが困難にな
る。その結果、プログラムに対するセキュリティが高め
られる。しかも、スクランブルの場合、外部アドレスは
直接アドレスを指示しているため、メモリその他のデバ
イスに既製品を用いることができる。従って、暗号化に
スクランブルを採用することによってシステム全体とし
てのコストを抑制することができる。
【0058】なお、この実施の形態では、入力された全
ての内部アドレスについてスクランブルが行われてか
ら、入力された内部アドレス11かスクランブルされた
アドレス15が選択されたが、第1の実施の形態と同
様、暗号化部100に、入力された内部アドレス11が
暗号化領域22に含まれると判定された場合にのみ、入
力された内部アドレス11の所定ビットを除いたビット
のスクランブルを行う暗号化処理部1Aを備えてもよ
い。
【0059】(第3の実施の形態)第2の実施の形態で
は、暗号化処理部1は、入力された内部アドレスの上位
2ビットを除いたビットをスクランブルした。この場
合、スクランブルは、非暗号化領域21と同じ大きさの
領域の中で行われることになる。しかしながら、スクラ
ンブルの単位領域が小さくなると、解析範囲が小さくな
り、その分だけスクランブル鍵16の解読が容易になっ
てしまう。
【0060】そこで、第3の実施の形態における暗号化
処理部1は、入力された内部アドレス11の上位所定ビ
ットに基づいて所定ビットのうち一部の下位ビットを選
択し、入力された内部アドレス11の上位所定ビットを
除いたビットだけでなく、選択された下位ビットもスク
ランブルする。ここで、図9に、この実施の形態におけ
る暗号化方法のフローチャートを示す。非暗号化領域の
設定(S21)、判定(S22)及び入力されたアドレ
スの選択(S25)は、第2の実施の形態で説明したス
テップS11、S12及びS14の通り行われる。
【0061】入力された内部アドレス11が暗号化領域
22に含まれると判定された場合、下位ビットの選択が
行われる(S23)。
【0062】例えば所定ビットのビット長が2であり、
その値が「00」の場合、暗号化処理部1は、入力され
た内部アドレス11の最上位ビットが所定ビットの最上
位ビットと相違するか否かを判定する。入力された内部
アドレス11の最上位ビットが所定ビットの最上位ビッ
トと相違する場合、2ビットのうち下位の1ビットを選
択する。この場合、暗号化処理部1は、入力された内部
アドレス11の上位2ビットを除いたビットだけでな
く、選択された1ビットもスクランブルする(S2
4)。すなわち、暗号化処理部1は、入力された内部ア
ドレス11とスクランブル鍵16の上位1ビットを除い
たビットの排他的論理和を計算する。暗号化処理部1に
よってスクランブルされたアドレス15は、入力された
内部アドレス11の上位1ビットと排他的論理和の計算
結果とが結合されたものである。
【0063】図7の例と同じく、入力された内部アドレ
ス11が10010011であり、スクランブル鍵16
が11001001であれば、図10に示すように、入
力された内部アドレス11とスクランブル鍵16の上位
1ビットを除いたビットの排他的論理和は、10110
10となる。スクランブルされたアドレス15の上位1
ビットは、入力された内部アドレス11と同じ「1」で
あるから、この場合、暗号化処理部1によってスクラン
ブルされたアドレス15は11011010となる。
【0064】入力された内部アドレス11の上位1ビッ
トが「1」であれば、同様にスクランブルが行われ、ス
クランブルは、10000000番地から111111
11番地までの領域を単位として行われることになる。
この場合、図11に示すように、スクランブルの単位領
域の大きさは、非暗号化領域21の2倍になる。これに
よって、解析範囲が大きくなるから、スクランブル鍵1
6の解読が困難になり、プログラムに対するセキュリテ
ィが向上する。
【0065】なお、入力された内部アドレス11の最上
位ビットが所定ビットの最上位ビットと相違しない場
合、暗号化処理部1は、2ビットのうち下位の1ビット
を選択しない(S26)。この場合、暗号化処理部1
が、スクランブルするのは、入力された内部アドレス1
1の上位2ビットを除いたビットだけである。第2の実
施の形態と同様に、暗号化処理部1は、入力された内部
アドレス11とスクランブル鍵16の上位2ビットを除
いたビットの排他的論理和を計算する。暗号化処理部1
によってスクランブルされたアドレス15は、入力され
た内部アドレス11の上位2ビットと排他的論理和の計
算結果とが結合されたものになる。
【0066】図12に示すように、入力された内部アド
レス11が00010011であり、スクランブル鍵1
6が11001001であれば、入力された内部アドレ
ス11とスクランブル鍵16の上位2ビットを除いたビ
ットの排他的論理和は、011010となる。スクラン
ブルされたアドレス15の上位2ビットは、入力された
内部アドレス11と同じ「00」であるから、この場
合、暗号化処理部1によってスクランブルされたアドレ
ス15は00011010となる。
【0067】入力された内部アドレス11の上位1ビッ
トが「0」であれば、同様にスクランブルが行われ、ス
クランブルは、例えば01000000番地から011
11111番地までの領域を単位として行われることに
なる。この場合、図11に示すように、スクランブルの
単位領域は、非暗号化領域21と同じ大きさになり、そ
の大きさは、第2の実施の形態と変わらない。これは、
01000000番地から01111111番地までの
領域についての解析の困難性は、第2の実施の形態と同
等になることを意味する。
【0068】スクランブルの全ての単位領域について同
じスクランブル鍵16が用いられている場合、各単位領
域についての解析の困難性は、他の単位領域についての
解析の困難性に依存する。
【0069】そこで、暗号化処理部1は、スクランブル
の単位領域毎にスクランブルに用いられるスクランブル
鍵16を異ならせるのが好ましい。
【0070】例えば01000000番地から0111
1111番地までの領域について、11001001と
いうスクランブル鍵16が用いられるのであれば、10
000000番地から11111111番地までの領域
について、11001001とは異なる0010111
0というスクランブル鍵16が用いられる。
【0071】このように、スクランブルの単位領域毎に
スクランブル鍵16が異なれば、各単位領域についての
解析の困難性が独立し、大きな単位領域の解析の困難性
が維持される。
【0072】なお、第2の実施の形態のように、各単位
領域の大きさが同じ場合でも、単位領域毎に異なるスク
ランブル鍵16が用いられてもよい。いずれの場合で
も、各単位領域のスクランブル鍵16が異なれば、他の
単位領域のスクランブル鍵16が解読されたとしても、
連鎖的に残りの単位領域に記憶されたプログラムまで不
正に取得されてしまうような事態が回避される。
【0073】その結果、内部アドレス空間全体としては
プログラムに対するセキュリティが向上する。
【0074】(第4の実施の形態)図13は、第4の実
施の形態におけるアドレス暗号化装置の概略構成を示
す。また、図14は、第4の実施の形態におけるアドレ
ス暗号化方法のフローチャートを示す。
【0075】このアドレス暗号化装置において、非暗号
化領域設定部32は、内部アドレス空間及び外部アドレ
ス空間のうちアドレスがスクランブルされない非暗号化
領域21、21Aを設定するために用いられる(S3
1)。また、非暗号化領域21、21Aが設定されるこ
とによって、内部アドレス空間及び外部アドレス空間の
うち非暗号化領域21、21A以外の暗号化領域22、
22Aも設定される。
【0076】非暗号化領域設定部32は、例えば非暗号
化領域21、21Aの開始アドレスと終了アドレスを保
持するレジスタであり、その値はソフトウェアによって
操作される。
【0077】第1の実施の形態と同様に、両アドレス空
間には、00000000番地(アドレス)から111
11111番地までが割り付けられており、非暗号化領
域設定部32のレジスタには、開始アドレスとして00
000000が、終了アドレスとして00111111
が保持されているものとする。
【0078】暗号化処理部31は、入力された内部アド
レス11のスクランブルを行う(S32)。暗号化処理
部31には、スクランブル鍵16が与えられる。スクラ
ンブル鍵16は、例えば入力された内部アドレス11と
同じビット長のビット列で表される。
【0079】暗号化処理部31は、入力された内部アド
レス11とスクランブル鍵16との排他的論理和を計算
する。これによって、入力された内部アドレス11は、
スクランブルされる。図15に示すように、入力された
内部アドレス11が10010011であり、スクラン
ブル鍵16が11001001であれば、スクランブル
されたアドレス15は、両者の排他的論理和である01
011010になる。また、入力された内部アドレス1
1が11010011であれば、スクランブルされたア
ドレス15は、00011010になる。
【0080】アドレス比較部33は、入力された内部ア
ドレス11が内部アドレス空間の暗号化領域22に含ま
れるか非暗号化領域21に含まれるかを判定する(S3
3)とともに、アドレス比較部33は、暗号化処理部3
1によりスクランブルされたアドレス15が外部アドレ
ス空間の暗号化領域22Aに含まれるか非暗号化領域2
1Aに含まれるかを判定する(S34)。
【0081】スクランブルされたアドレス15が010
11010であれば、非暗号化領域21Aの終了アドレ
スが00111111であるので、スクランブルされた
アドレス15は暗号化領域22Aに含まれると判定され
る。また、スクランブルされたアドレス15が0001
1010であれば、非暗号化領域21Aに含まれると判
定される。
【0082】アドレス比較部33の判定結果は、出力選
択部34に出力される。出力選択部34は、入力された
内部アドレス11が暗号化領域22に含まれ、かつスク
ランブルされたアドレス15が暗号化領域22Aに含ま
れる場合のみ、入力された内部アドレス11とスクラン
ブルされたアドレス15のうち、スクランブルされたア
ドレス15を選択する(S35)。一方、それ以外の場
合には、出力選択部34は、入力された内部アドレス1
1を選択する(S36、S37)。
【0083】例えば入力されたアドレス11が1001
0011であり、スクランブルされたアドレス15が0
1011010であれば、アドレス比較部33の判定結
果に従い、入力された内部アドレス11とスクランブル
されたアドレス15のうち、スクランブルされたアドレ
ス15が選択される。
【0084】これに対し、入力された内部アドレス11
が11010011であり、スクランブルされたアドレ
ス15が00011010であれば、入力された内部ア
ドレス11が選択される。スクランブルされると110
10011になるアドレスは、スクランブル鍵16との
排他的論理和の計算のように線形的なスクランブルであ
れば、00011010のみであり、この内部アドレス
11は非暗号化領域21にあるため、スクランブルされ
たアドレス15ではなく、入力された内部アドレス11
が選択される。このように、非暗号化領域21に含まれ
る内部アドレスについて選択された外部アドレスと、暗
号化領域22に含まれる内部アドレスについて選択され
た外部アドレスとは重複しない。
【0085】このようにして出力選択部34により選択
された外部アドレスは、アドレスバスを通じてメモリに
出力される。第1の実施の形態と同様、このメモリにお
いて、非暗号化領域21は、例えばリセット直後にプロ
セッサがアクセスするアドレスを含む領域に配置され
る。この場合、悪意を持った第3者が、アドレスバスを
観測したとしても、スクランブルされたアドレスとスク
ランブル前のアドレスの組み合わせを入手することがで
きず、スクランブル鍵を解読することが困難になる。そ
の結果、プログラムに対するセキュリティが高められ
る。しかも、内部アドレス空間のうち、非暗号化領域以
外の全ての領域を単位としてスクランブルが行われるか
ら、解析の範囲は大きくなる。その結果、スクランブル
鍵の解読は著しく困難になる。
【0086】なお、この実施の形態では、スクランブル
処理により暗号化を行ったが、これに限られるものでは
なく、第1の実施の形態と同様に、スクランブル処理以
外の暗号化を用いてもよい。
【0087】スクランブル処理以外の暗号化であれば、
暗号化鍵の解読をさらに困難にすることも可能である。
【0088】(第5の実施の形態)アドレス暗号化装置
からアドレスバスを通じて外部アドレスが出力されるメ
モリが、RAMである場合、RAMのページサイズとス
クランブルの単位領域が異なると、複数のページにスク
ランブルされたアドレスが散在してしまう可能がある。
この場合、RAMへのアクセス性能が低下してしまう。
このため、暗号化処理部によるスクランブルの単位領域
はRAMのページサイズと同じであることが好ましい。
【0089】そこで、図16に示すように、第5の実施
の形態におけるアドレス暗号化装置は、ページサイズ設
定部42を備えている。なお、この処理のフローチャー
トを図17に示す。
【0090】ページサイズ設定部42は、例えばRAM
のページサイズを設定するのに用いられるレジスタであ
る。このレジスタは、RAMのページサイズの値を保持
し、その値はソフトウェアによって操作される。
【0091】暗号化処理部41は、ページサイズ設定部
42の設定に基づいてスクランブルされない非スクラン
ブルビット数を決定する(S41)。例えば入力された
内部アドレス11が16ビットであり、ページサイズが
4kバイトである場合、暗号化処理部41は、16ビッ
トから15ビットを差し引いた1ビットを非スクランブ
ルビット数に決定する。
【0092】暗号化処理部41は、入力された内部アド
レス11の非スクランブルビット数の分だけ上位ビット
を除いたビットをスクランブルする(S42)。非スク
ランブルビットが1ビットであれば、暗号化処理部41
は、入力された内部アドレス11の上位1ビットを除い
たビットをスクランブルする。この場合、上位1ビット
を除いた15ビットがスクランブルされる。
【0093】これによって、スクランブルされたアドレ
ス15は、ページサイズを単位としてスクランブルされ
る。その結果、スクランブルによってRAMへのアクセ
ス性能が低下するのを抑えることができる。
【0094】なお、第5の実施の形態におけるアドレス
暗号化装置においても、暗号化処理部41は、スクラン
ブルの単位領域毎にスクランブル鍵16を異ならせるよ
うにしてもよい。
【0095】また、各実施の形態で記述されたアドレス
空間、アドレス、スクランブル鍵16、アドレス空間に
おける非暗号化領域21、21Aの配置及びアドレス空
間における暗号化領域22、22Aの配置は具体例に過
ぎず、本発明の技術的範囲を限定するものではない。
【0096】
【発明の効果】以上説明した通り、本発明では、内部ア
ドレス空間のうち一部の領域のアドレスが暗号化されな
い非暗号化領域を設定するため、リセット直後のアドレ
スバスが観測されたとしても、暗号化されたアドレスと
暗号化前のアドレスの組み合わせを入手することができ
ない。これにより、暗号化に用いられる暗号化鍵の解読
は困難になり、プログラムに対するセキュリティが向上
する。
【0097】特に、暗号化にスクランブルを用いた場合
は、アドレスバスを通じてアドレスを出力するメモリ等
のデバイスとして、従来から使用されている汎用品を使
用することができるため、経済的である。
【図面の簡単な説明】
【図1】 第1の実施の形態におけるアドレス暗号化装
置の概略構成を示す図
【図2】 第1の実施の形態におけるアドレス暗号化方
法のフローチャート
【図3】 第1の実施の形態における内部アドレス空間
への非暗号化領域と暗号化領域の配置例を示す図
【図4】 第1の実施の形態における外部アドレス空間
への非暗号化領域と暗号化領域の配置例を示す図
【図5】 アドレス暗号化装置の変形例の概略構成を示
す図
【図6】 アドレス暗号化装置の変形例のフローチャー
【図7】 第2の実施の形態におけるアドレスのスクラ
ンブルを説明するための図
【図8】 第2の実施の形態における内部アドレス空間
への非暗号化領域と暗号化領域の配置例を示す図
【図9】 第3の実施の形態におけるアドレス暗号化方
法のフローチャート
【図10】 第3の実施の形態におけるアドレスのスク
ランブルを説明するための図
【図11】 第3の実施の形態におけるアドレス空間へ
の非暗号化領域と暗号化領域の配置例を示す図
【図12】 第3の実施の形態におけるアドレスのスク
ランブルを説明するための他の図
【図13】 第4の実施の形態におけるアドレス暗号化
装置の概略構成を示す図
【図14】 第4の実施の形態におけるアドレス暗号化
方法のフローチャート
【図15】 第4の実施の形態におけるアドレスのスク
ランブルを説明するための図
【図16】 第5の実施の形態におけるアドレス暗号化
装置の概略構成を示す図
【図17】 第5の実施の形態におけるアドレス暗号化
装置のフローチャート
【符号の説明】
1、1A、31、41 暗号化処理部 2、32 非暗号化領域設定部 3、33 アドレス比較部 4、34 出力選択部 42 ページサイズ設定部 100、101、102 暗号化部 200 変換部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 神崎 英之 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B017 AA07 BA07 CA01 5J104 AA12 NA42

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 内部アドレスを外部アドレスに変換して
    出力するアドレス暗号化装置であって、 内部アドレス空間のうち内部アドレスが暗号化されない
    非暗号化領域を設定する非暗号化領域設定部と、 前記内部アドレスと前記非暗号化領域に基づいて内部ア
    ドレスを暗号化した外部アドレスを出力する変換部とを
    備えたアドレス暗号化装置。
  2. 【請求項2】 前記変換部は、 入力された内部アドレスが前記非暗号化領域以外の暗号
    化領域に含まれるか前記非暗号化領域に含まれるかを判
    定するアドレス比較部と、 入力された内部アドレスが前記暗号化領域に含まれると
    判定された場合にのみ、入力された内部アドレスを外部
    アドレス空間の前記暗号化領域に対応する領域の外部ア
    ドレスに暗号化する暗号化部とを有する請求項1記載の
    アドレス暗号化装置。
  3. 【請求項3】 前記変換部は、 入力された内部アドレスの暗号化を行う暗号化処理部
    と、 入力された内部アドレスが前記非暗号化領域以外の暗号
    化領域に含まれるか前記非暗号化領域に含まれるかを判
    定するとともに、暗号化された内部アドレスが外部アド
    レス空間の前記非暗号化領域に対応する対応領域に含ま
    れるか外部アドレス空間の前記対応領域以外の非対応領
    域に含まれるかを判定するアドレス比較部と、 入力された内部アドレスが前記暗号化領域に含まれると
    判定され、かつ暗号化された内部アドレスが前記非対応
    領域に含まれると判定された場合にのみ、入力された内
    部アドレスと暗号化された内部アドレスのうち暗号化さ
    れた内部アドレスを選択する出力選択部とを有する請求
    項1記載のアドレス暗号化装置。
  4. 【請求項4】 アドレスのスクランブルを行うアドレス
    暗号化装置であって、 アドレス空間のうちアドレスの上位所定ビットによって
    指定される領域にアドレスがスクランブルされない非暗
    号化領域を設定するための非暗号化領域設定部と、 入力されたアドレスがアドレス空間の前記非暗号化領域
    以外の暗号化領域に含まれるか前記非暗号化領域に含ま
    れるかを判定するアドレス比較部と、 入力されたアドレスが前記暗号化領域に含まれると判定
    された場合にのみ、入力されたアドレスの前記上位所定
    ビットを除いたビットのスクランブルを行う暗号化部と
    を備えたアドレス暗号化装置。
  5. 【請求項5】 前記暗号化部は、 入力されたアドレスの前記所定ビットを除いたビットの
    スクランブルを行う暗号化処理部と、 入力されたアドレスが前記暗号化領域に含まれると判定
    された場合、入力されたアドレスとスクランブルされた
    アドレスのうち、スクランブルされたアドレスを選択
    し、入力されたアドレスが前記非暗号化領域に含まれる
    と判定された場合、入力されたアドレスを選択する出力
    選択部とを有する請求項4記載のアドレス暗号化装置。
  6. 【請求項6】 前記暗号化部は、入力されたアドレスの
    前記所定ビットに基づいて前記所定ビットのうち一部の
    下位ビットを選択し、入力されたアドレスの前記所定ビ
    ットを除いたビットだけでなく、選択された下位ビット
    もスクランブルする請求項4記載のアドレス暗号化装
    置。
  7. 【請求項7】 アドレスのスクランブルを行うアドレス
    暗号化装置であって、 入力されたアドレスのスクランブルを行う暗号化処理部
    と、 アドレス空間のうちアドレスがスクランブルされない非
    暗号化領域を設定する非暗号化領域設定部と、 入力されたアドレスがアドレス空間の前記非暗号化領域
    以外の暗号化領域に含まれるか前記非暗号化領域に含ま
    れるかを判定するとともに、スクランブルされたアドレ
    スが前記暗号化領域に含まれるか前記非暗号化領域に含
    まれるかを判定するアドレス比較部と、 入力されたアドレスが前記暗号化領域に含まれると判定
    され、かつスクランブルされたアドレスが前記暗号化領
    域に含まれると判定された場合にのみ、入力されたアド
    レスとスクランブルされたアドレスのうち、スクランブ
    ルされたアドレスを選択する出力選択部とを備えたアド
    レス暗号化装置。
  8. 【請求項8】 RAMのページサイズを設定するための
    ページサイズ設定部と、 前記ページサイズ設定部の設定に基づいてスクランブル
    されない非スクランブルビット数を決定し、入力された
    アドレスの非スクランブルビット数の分だけ上位ビット
    を除いたビットをスクランブルする暗号化部とを備えた
    アドレス暗号化装置。
  9. 【請求項9】 前記暗号化部は、スクランブルの単位領
    域毎にスクランブルに用いられるスクランブル鍵を異な
    らせる請求項4、5、6又は8のいずれかに記載のアド
    レス暗号化装置。
  10. 【請求項10】 内部アドレスを外部アドレスに変換し
    て出力するアドレス暗号化方法であって、 入力された内部アドレスが内部アドレス空間に設定され
    た内部アドレスが暗号化されない非暗号化領域に含まれ
    るか前記非暗号化領域以外の暗号化領域に含まれるかを
    判定するステップと、 入力された内部アドレスが前記暗号化領域に含まれると
    判定された場合にのみ、入力された内部アドレスを外部
    アドレス空間の前記暗号化領域に対応する領域の外部ア
    ドレスに暗号化するステップとを有するアドレス暗号化
    方法。
  11. 【請求項11】 内部アドレスを外部アドレスに変換し
    て出力するアドレス暗号化方法であって、 入力された内部アドレスを暗号化するステップと、 入力された内部アドレスが内部アドレス空間に設定され
    た内部アドレスが暗号化されない非暗号化領域に含まれ
    るか前記非暗号化領域以外の暗号化領域に含まれるかを
    判定するとともに、暗号化された内部アドレスが外部ア
    ドレス空間の前記非暗号化領域に対応する対応領域に含
    まれるか外部アドレス空間の前記対応領域以外の非対応
    領域に含まれるかを判定するステップと、 入力された内部アドレスが前記暗号化領域に含まれると
    判定され、かつ暗号化された内部アドレスが前記非対応
    領域に含まれると判定された場合にのみ、入力された内
    部アドレスと暗号化された内部アドレスのうち、暗号化
    された内部アドレスを選択するステップとを有するアド
    レス暗号化方法。
  12. 【請求項12】 アドレスのスクランブルを行うアドレ
    ス暗号化方法であって、 入力されたアドレスがアドレス空間のうちアドレスの上
    位所定ビットによって指定される領域に設定されたアド
    レスがスクランブルされない非暗号化領域に含まれるか
    前記非暗号化領域以外の暗号化領域に含まれるかを判定
    するアドレス比較ステップと、 入力されたアドレスが前記暗号化領域に含まれると判定
    された場合にのみ、入力されたアドレスの前記上位所定
    ビットを除いたビットのスクランブルを行う暗号化ステ
    ップとを有するアドレス暗号化方法。
  13. 【請求項13】 前記暗号化ステップは、 入力されたアドレスの前記所定ビットを除いたビットの
    スクランブルを行う暗号化処理ステップと、 入力されたアドレスが前記暗号化領域に含まれると判定
    された場合、入力されたアドレスとスクランブルされた
    アドレスのうち、スクランブルされたアドレスを選択
    し、入力されたアドレスが前記非暗号化領域に含まれる
    と判定された場合、入力されたアドレスを選択する選択
    ステップとを有する請求項12記載のアドレス暗号化方
    法。
  14. 【請求項14】 前記暗号化ステップは、入力されたア
    ドレスの前記所定ビットに基づいて前記所定ビットのう
    ち一部の下位ビットを選択し、入力されたアドレスの前
    記所定ビットを除いたビットだけでなく、選択された下
    位ビットもスクランブルする請求項12記載のアドレス
    暗号化方法。
  15. 【請求項15】 アドレスのスクランブルを行うアドレ
    ス暗号化方法であって、 入力されたアドレスをスクランブルするステップとアド
    レス空間に設定されたアドレスがスクランブルされない
    非暗号化領域に含まれるか前記非暗号化領域以外の暗号
    化領域に含まれるかを判定するとともに、スクランブル
    されたアドレスが前記暗号化領域に含まれるか前記非暗
    号化領域に含まれるかを判定するステップと、 入力されたアドレスが前記暗号化領域に含まれると判定
    され、かつスクランブルされたアドレスが前記暗号化領
    域に含まれると判定された場合にのみ、入力されたアド
    レスとスクランブルされたアドレスのうち、スクランブ
    ルされたアドレスを選択するステップとを有するアドレ
    ス暗号化方法。
  16. 【請求項16】 RAMのページサイズに基づいてスク
    ランブルされない非スクランブルビット数を決定する決
    定ステップと、 入力されたアドレスの非スクランブルビット数の分だけ
    上位ビットを除いたビットをスクランブルする暗号化ス
    テップとを有するアドレス暗号化方法。
  17. 【請求項17】 前記暗号化ステップは、スクランブル
    の単位領域毎にスクランブルに用いられるスクランブル
    鍵を異ならせる請求項12、13、14又は16のいず
    れかに記載のアドレス暗号化方法。
  18. 【請求項18】 コンピュータに、 入力された内部アドレスが内部アドレス空間に設定され
    た内部アドレスが暗号化されない非暗号化領域に含まれ
    るか前記非暗号化領域以外の暗号化領域に含まれるかを
    判定するステップと、 入力された内部アドレスが前記暗号化領域に含まれると
    判定された場合にのみ、入力された内部アドレスを外部
    アドレス空間の前記暗号化領域に対応する領域の外部ア
    ドレスに暗号化するステップとを実行させるプログラ
    ム。
  19. 【請求項19】 コンピュータに、 入力されたアドレスを暗号化するステップと、 入力された内部アドレスが内部アドレス空間に設定され
    た内部アドレスが暗号化されない非暗号化領域に含まれ
    るか前記非暗号化領域以外の暗号化領域に含まれるかを
    判定するとともに、暗号化された内部アドレスが外部ア
    ドレス空間の前記非暗号化領域に対応する対応領域に含
    まれるか外部アドレス空間の前記対応領域以外の非対応
    領域に含まれるかを判定するステップと、 入力された内部アドレスが前記暗号化領域に含まれると
    判定され、かつ暗号化された内部アドレスが前記非対応
    領域に含まれると判定された場合にのみ、入力された内
    部アドレスと暗号化された内部アドレスのうち、暗号化
    された内部アドレスを選択するステップとを実行させる
    プログラム。
  20. 【請求項20】 コンピュータに、 入力されたアドレスがアドレス空間のうちアドレスの上
    位所定ビットによって指定される領域に設定されたアド
    レスがスクランブルされない非暗号化領域に含まれるか
    前記非暗号化領域以外の暗号化領域に含まれるかを判定
    するステップと、 入力されたアドレスが前記暗号化領域に含まれると判定
    された場合にのみ、入力されたアドレスの前記上位所定
    ビットを除いたビットのスクランブルを行うステップと
    を実行させるプログラム。
  21. 【請求項21】 コンピュータに、 入力されたアドレスをスクランブルするステップと、 アドレスがアドレス空間に設定されたアドレスがスクラ
    ンブルされない非暗号化領域に含まれるか前記非暗号化
    領域以外の暗号化領域に含まれるかを判定するととも
    に、スクランブルされたアドレスが前記暗号化領域に含
    まれるか前記非暗号化領域に含まれるかを判定するステ
    ップと、 入力されたアドレスが前記暗号化領域に含まれると判定
    され、かつスクランブルされたアドレスが前記暗号化領
    域に含まれると判定された場合にのみ、入力されたアド
    レスとスクランブルされたアドレスのうち、スクランブ
    ルされたアドレスを選択するステップとを実行させるプ
    ログラム。
  22. 【請求項22】 コンピュータに、 RAMのページサイズに基づいてスクランブルされない
    非スクランブルビット数を決定するステップと、 入力されたアドレスの非スクランブルビット数の分だけ
    上位ビットを除いたビットをスクランブルするステップ
    とを実行させるプログラム。
JP2003013087A 2002-01-29 2003-01-22 アドレス暗号化装置、アドレス暗号化方法及びアドレス暗号化プログラム Pending JP2003298569A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003013087A JP2003298569A (ja) 2002-01-29 2003-01-22 アドレス暗号化装置、アドレス暗号化方法及びアドレス暗号化プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002019686 2002-01-29
JP2002-19686 2002-01-29
JP2003013087A JP2003298569A (ja) 2002-01-29 2003-01-22 アドレス暗号化装置、アドレス暗号化方法及びアドレス暗号化プログラム

Publications (1)

Publication Number Publication Date
JP2003298569A true JP2003298569A (ja) 2003-10-17

Family

ID=29404748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003013087A Pending JP2003298569A (ja) 2002-01-29 2003-01-22 アドレス暗号化装置、アドレス暗号化方法及びアドレス暗号化プログラム

Country Status (1)

Country Link
JP (1) JP2003298569A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277411A (ja) * 2005-03-29 2006-10-12 Toshiba Corp プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
JP2009025812A (ja) * 2007-06-18 2009-02-05 Shansun Technology Co デジタル情報の保護方法、装置およびコンピュータによるアクセス可能な記録媒体
JP2009163284A (ja) * 2007-12-28 2009-07-23 Oki Semiconductor Co Ltd プロセッサ装置
JP2012221413A (ja) * 2011-04-13 2012-11-12 Nec Access Technica Ltd 情報処理装置、情報処理装置のデータアクセス方法およびデータアクセスプログラム
JP2020537280A (ja) * 2017-10-13 2020-12-17 シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. フラッシュメモリデバイスのためのハッキング防止メカニズム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277411A (ja) * 2005-03-29 2006-10-12 Toshiba Corp プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
US7444480B2 (en) 2005-03-29 2008-10-28 Kabushiki Kaisha Toshiba Processor, memory device, computer system, and method for transferring data
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
JP2009025812A (ja) * 2007-06-18 2009-02-05 Shansun Technology Co デジタル情報の保護方法、装置およびコンピュータによるアクセス可能な記録媒体
JP2009163284A (ja) * 2007-12-28 2009-07-23 Oki Semiconductor Co Ltd プロセッサ装置
JP2012221413A (ja) * 2011-04-13 2012-11-12 Nec Access Technica Ltd 情報処理装置、情報処理装置のデータアクセス方法およびデータアクセスプログラム
JP2020537280A (ja) * 2017-10-13 2020-12-17 シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. フラッシュメモリデバイスのためのハッキング防止メカニズム
JP7195311B2 (ja) 2017-10-13 2022-12-23 シリコン ストーリッジ テクノロージー インコーポレイテッド フラッシュメモリデバイスのためのハッキング防止メカニズム

Similar Documents

Publication Publication Date Title
JP3747520B2 (ja) 情報処理装置及び情報処理方法
US8347114B2 (en) Method and apparatus for enforcing a predetermined memory mapping
US7415618B2 (en) Permutation of opcode values for application program obfuscation
KR101079565B1 (ko) 각각의 암호화 라운드의 코어 암호화 함수를 숨기기 위해 치환들을 사용하는 블록 암호화 시스템
US8220058B2 (en) Rendering and encryption engine for application program obfuscation
CN1677922A (zh) 保密可执行编码的系统和方法
US20140348323A1 (en) Protecting against white box attacks using column rotation
US20050071664A1 (en) Interleaved data and instruction streams for application program obfuscation
JP4758904B2 (ja) 機密情報処理方法
US20050069138A1 (en) Application program obfuscation
CN110855433B (zh) 基于加密算法的数据加密方法、装置及计算机设备
JP6698774B2 (ja) 共通中間言語のための保安提供装置と方法、及び保安実行装置と方法
KR20170097509A (ko) 화이트 박스 암호화 기반의 연산 방법 및 그 방법을 수행하는 보안 단말
JP2010517449A (ja) 信頼できない受信者における秘密の保護
US20140108818A1 (en) Method of encrypting and decrypting session state information
US20180013551A1 (en) Apparatus for obfuscating and restoring program execution code and method thereof
JP2003298569A (ja) アドレス暗号化装置、アドレス暗号化方法及びアドレス暗号化プログラム
US20080250249A1 (en) Data access method against cryptograph attack
KR20150018657A (ko) 데이터의 보호 방법 및 장치
KR20060110383A (ko) 네트워크 보안 프로세서의 다중모드 암호화 장치
KR101999209B1 (ko) 가상 함수 테이블 포인터 암호화 시스템 및 그 방법
US20210143978A1 (en) Method to secure a software code performing accesses to look-up tables
JP6013233B2 (ja) コンテンツ配信システム、装置及びプログラム
CN107688729B (zh) 基于可信主机的应用程序保护系统及方法
WO2006025346A1 (ja) 暗号化、復号化プログラム及び暗号システム