JP2003242030A - メモリ管理装置及びメモリ管理方法 - Google Patents

メモリ管理装置及びメモリ管理方法

Info

Publication number
JP2003242030A
JP2003242030A JP2002340025A JP2002340025A JP2003242030A JP 2003242030 A JP2003242030 A JP 2003242030A JP 2002340025 A JP2002340025 A JP 2002340025A JP 2002340025 A JP2002340025 A JP 2002340025A JP 2003242030 A JP2003242030 A JP 2003242030A
Authority
JP
Japan
Prior art keywords
access
memory
area
program
memory management
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
JP2002340025A
Other languages
English (en)
Inventor
Takayuki Ito
孝幸 伊藤
Takuji Maeda
卓治 前田
Hirokazu So
広和 宗
Shinji Inoue
信治 井上
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 JP2002340025A priority Critical patent/JP2003242030A/ja
Publication of JP2003242030A publication Critical patent/JP2003242030A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 メモリに格納された重要なデータなどをプロ
グラムの不具合などによる不正なメモリアクセスから保
護するメモリ管理装置を提供する。 【解決手段】 複数の領域に分割されたメモリへのアク
セスを管理するメモリ管理装置であって、メモリへのア
クセスの要求に基づいて当該アクセスのアクセス先が属
する領域であるアクセス先領域とアクセス元が属する領
域であるアクセス元領域とを特定する特定手段102
と、前記特定手段により特定されたアクセス元領域が前
記領域毎に予め定められている所定領域である場合に、
アクセスを許可すると判断し、アクセス元領域が前記所
定領域でない場合に、アクセスを許可しないと判断する
判断手段103とを備える。これによりメモリの保護が
実現できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリ管理装置及
びメモリ管理方法に関し、特に不正なメモリアクセスか
ら重要なデータなどを保護する技術に関する。
【0002】
【従来の技術】近年、組み込み機器の高機能化により、
組み込み機器に搭載されるプログラムのサイズが飛躍的
に増加している。例えば、携帯電話機では従来の電話機
能に加え、メール機能、ブラウザ機能などが付加される
ことにより、プログラムサイズは10MBを超え、今後
もさらにプログラムサイズが増加することが予想されて
いる。
【0003】このようなプログラムサイズの増加は、プ
ログラムの複雑化、プログラムテスト項目の増加などを
引き起こし、限られた開発期間において、プログラムの
全ての不具合を発見することが困難となってきている。
プログラムに不具合が存在した場合、予期せぬ不正なメ
モリアクセスにより、携帯電話機内の電話帳データや課
金情報などの重要なデータが破壊されたり、プログラム
自体が破壊されることにより携帯電話機が使用不能にな
るなどの障害が発生する可能性がある。
【0004】このようなプログラムの不具合に起因する
致命的な障害を回避し、不具合の影響を最小限にするた
めに、プログラムの不具合による不正なメモリアクセス
からメモリ空間を保護するメモリ保護機能が必要であ
る。一般に、メモリ保護機能には、以下の2つの方法が
ある。第1に、プログラム毎に独立した論理メモリ空間
を提供する方法、第2に、論理メモリ空間を2つ以上に
分割し、分割された領域毎にプログラムを配置する方法
である。
【0005】第1の方法は、1つの論理メモリ空間に1
つのプログラムを配置することにより、別のプログラム
からのメモリアクセスを制御する方法であり、複数プロ
グラム間のメモリ保護を実現する。第2の方法は、各プ
ログラムにメモリアクセス可能な領域を設定、管理し、
メモリアクセス許可のないプログラムによるメモリアク
セスを禁止することで、メモリ保護を実現する。(例え
ば、特許文献1参照。)図20は第2の方法を用いた従
来法における、メモリ領域の管理例を示す図である。
【0006】図20において、論理メモリ空間400
は、プログラム1とプログラム2とプログラム3が配置
された論理メモリ空間である。そして、プログラム1の
アクセス可能な領域は、領域A401と領域B402と
領域D404であり、プログラム2のアクセス可能な領
域は、領域D404と領域E405であり、プログラム
3のアクセス可能な領域は、領域C403と領域D40
4と領域E405である。
【0007】論理メモリ空間400において、領域C4
03に対するメモリアクセスが許可されているのは、プ
ログラム3だけである。従って、領域C403に対し
て、プログラム1やプログラム2がメモリアクセスを試
みた場合、メモリアクセスが許可されていないためメモ
リアクセスは拒否される。すなわち、従来法では各プロ
グラムに対し、メモリアクセス可能な領域を個別に設
定、管理することで、メモリアクセスが許可された領域
以外の領域へのメモリアクセスを禁止し、同一のメモリ
空間に配置された複数プログラム間のメモリ保護を実現
する。
【0008】
【特許文献1】特開平9−190380号公報
【0009】
【発明が解決しようとする課題】しかしながら、前述の
第1の方法及び第2の方法は、それぞれ以下の問題点を
有している。まず、第1の方法は、別のプログラムから
のメモリアクセスを制御する方法であるため、プログラ
ムの内部におけるメモリアクセスを制御することができ
ない。即ち、このプログラムに割り当てられたメモリ空
間に存在する重要なデータなどは、プログラムの不具合
による不正なメモリアクセスから保護されないという問
題点がある。
【0010】次に、第2の方法は、論理メモリ空間の各
領域において、メモリアクセスを許可されたプログラム
によるメモリアクセスを制御する方法であるので、同一
プログラムに割り当てられた領域間のメモリアクセス制
御を実現できない。以下、この問題点について詳しく説
明する。図21は、第2の方法を用いた場合の、論理メ
モリ空間400に配置されたプログラム1のメモリアク
セスの一例を示す図である。
【0011】プログラム1がアクセス可能な領域は領域
A401と領域B402と領域D404である。ここ
で、領域D404に不具合が存在し、その不具合により
領域D404の命令コードによる領域A401へのメモ
リアクセスが行われた場合を想定する。このメモリアク
セスが本来想定していない、いわば不正なアクセスであ
っても、領域D404の命令コードによる領域A401
へのメモリアクセスは許可される。
【0012】即ち、第2の方法においても、プログラム
内部の重要なデータなどは、プログラムの不具合による
不正なメモリアクセスから保護されないという問題点が
ある。本発明は、このような点を鑑みてなされたもの
で、不正なメモリアクセスからプログラム内部の重要な
データなどを保護することができるメモリ管理装置を提
供することを目的とする。
【0013】
【課題を解決するための手段】上記課題を解決するため
に、本発明に係るメモリ管理装置は、複数の領域に分割
されたメモリへのアクセスを管理するメモリ管理装置で
あって、メモリへのアクセスの要求に基づいて当該アク
セスのアクセス先が属する領域であるアクセス先領域と
アクセス元が属する領域であるアクセス元領域とを特定
する特定手段と、前記特定手段により特定されたアクセ
ス元領域が前記領域毎に予め定められている所定領域で
ある場合にアクセスを許可すると判断し、アクセス元領
域が前記所定領域でない場合にアクセスを許可しないと
判断する判断手段とを備えることを特徴とする。
【0014】また、上記課題を解決するために、本発明
に係るメモリ管理方法は、複数の領域に分割されたメモ
リへのアクセスを管理するメモリ管理方法であって、メ
モリへのアクセスの要求に基づいて当該アクセスのアク
セス先が属する領域であるアクセス先領域とアクセス元
が属する領域であるアクセス元領域とを特定する特定ス
テップと、前記特定ステップにより特定されたアクセス
元領域が前記領域毎に予め定められている所定領域であ
る場合にアクセスを許可すると判断し、アクセス元領域
が前記所定領域でない場合にアクセスを許可しないと判
断する判断ステップとを備えることを特徴とする。
【0015】上記構成によれば、メモリ管理装置及びメ
モリ管理方法は、アクセス先領域とアクセス元領域とを
特定して、そのアクセス元領域がアクセス先領域に所定
領域として予め定められていなければ、アクセスを許可
しない。これにより、メモリ管理装置及びメモリ管理方
法は、重要なデータなどをプログラムの不具合などによ
る不正なアクセスから保護することができる。例えば、
「1」の領域に課金情報が格納され、「2」の領域のみ
が「1」の領域へのアクセス可能な領域、即ち、所定領
域であるとする。このような環境であれば、「3」の領
域に格納している命令コードに誤りがあり、その命令コ
ードが「1」の領域へのアクセスを要求したとしても、
メモリ管理装置及びメモリ管理方法は、そのアクセスを
許可しない。そのため課金情報が保護される。
【0016】
【発明の実施の形態】以下、本発明の実施の形態につい
て図1から図18を用いて詳細に説明する。 (実施の形態1) <概要>本実施の形態において、メモリは固定長の複数
のブロックに分割され、メモリアクセスはブロック単位
で管理されている。メモリ管理装置は、CPUからメモ
リアクセスの要求を受けて、そのメモリアクセスの可否
を判断し、可であればメモリアクセスを実行する。その
判断は、どのブロックからどのブロックへのメモリアク
セスが許可されるかを示すメモリ管理テーブルを用いて
為される。
【0017】<メモリ管理装置の構成>図1は、メモリ
管理装置の構成を示す図である。メモリ管理装置101
は、特定部102、判断部103、及び、記憶部104
を備え、CPU105からのメモリアクセスの要求を受
けて、そのメモリアクセスの可否を判断し、可であれば
メモリ106へのメモリアクセスを実行する。
【0018】特定部102は、CPU105からのメモ
リアクセスの要求を解析して、そのメモリアクセスのア
クセス先のブロックとアクセス元のブロックとを特定す
る。特定されたアクセス先のブロックとアクセス元のブ
ロックとは、判断部103に通知される。判断部103
は、記憶部104のアクセス情報を参照して、特定部1
02から通知されたアクセス先のブロックが、アクセス
元のブロックからのメモリアクセスを許可しているか否
かを判断する。許可していると判断すれば、メモリアク
セスを実行する。
【0019】記憶部104は、どのブロックがどのブロ
ックからのアクセスを許可するかを示すアクセス情報を
記憶している。このアクセス情報は、メモリ管理テーブ
ルとして記憶されている。本実施の形態において、メモ
リ管理装置は、マイクロプロセッサに内蔵されている。
以下に、マイクロプロセッサに内蔵されたメモリ管理装
置について説明する。
【0020】図2は、マイクロプロセッサに内蔵された
メモリ管理装置を示す図である。マイクロプロセッサ1
10は、同一半導体チップ上に形成されている半導体集
積回路であり、CPU111、認証子作成装置112、
論理アドレス・物理アドレス変換装置113、内部RO
M114、及びメモリ管理装置118を備え、各装置を
内部バス126により接続している。また、マイクロプ
ロセッサ110は、外部バス130により外部ROM1
27及び外部RAM128と接続されている。
【0021】CPU111は、外部ROM127に格納
されたプログラムを実行する装置である。認証子作成装
置112は、プログラムやデータなどから一意に導き出
せる認証子を作成する装置である。具体的には、SHA
−1に代表されるハッシュ演算を行う演算装置などを意
味する。認証子は、ダウンロードしたプログラムが改ざ
んされていないか確認する場合などに用いられる。
【0022】論理アドレス・物理アドレス変換装置11
3は、論理アドレス番地と物理アドレス番地とを変換す
る装置である。内部ROM114は、ブートプログラム
115、更新用プログラム116、及び異常処理プログ
ラム117を格納する。ブートプログラム115は、マ
イクロプロセッサ110の初期動作時に初期化するプロ
グラムである。
【0023】更新用プログラム116は、相互認証され
たサーバまたは電子証明書を保持する記録媒体から新た
なプログラムを取得し、外部ROM127に格納された
プログラムを、取得した新たなプログラムに更新するプ
ログラムである。これによりマイクロプロセッサ110
は、プログラムをダウンロードしてプログラムのバージ
ョンアップを行うことができる。
【0024】異常処理プログラム117は、外部ROM
127及び外部RAM128に対するメモリアクセスが
拒否された場合に実行するプログラムである。メモリ管
理装置118は、メモリ管理テーブル作成部119、メ
モリアクセス可否判断部120、バージョン管理テーブ
ル作成部121、メモリ管理テーブル格納部122、及
びメモリアクセス部125を備える。
【0025】メモリ管理テーブル作成部119は、メモ
リ管理テーブル123を作成する。また更新用プログラ
ム116からの情報に基づいてメモリ管理テーブルを更
新する。メモリアクセス可否判断部120は、メモリア
クセスのアクセス元のブロックとアクセス先のブロック
とを特定し、それらとメモリ管理テーブル123とを用
いて外部ROM127及び外部RAM128へのメモリ
アクセスの可否を判断する。アクセス元のブロック及び
アクセス先のブロックは、メモリアクセス可否判断部1
20が予め保持している物理アドレス空間におけるブロ
ックの先頭アドレスとブロックのサイズとによって特定
される。
【0026】例えば、0番目のブロックの先頭アドレス
が16進数で「800000」であり、ブロックサイズ
が「1000」であるとすれば、0番目のブロックの先
頭アドレスが「800000」、1番目のブロックの先
頭アドレスが「801000」、2番目のブロックの先
頭アドレスが「802000」というようになる。ここ
で、アクセス先のアドレスが「8013F90」である
とすれば、アクセス先のブロックは1番目のブロックで
あると特定することができる。
【0027】バージョン管理テーブル作成部121は、
バージョン管理テーブル124を作成する。メモリ管理
テーブル格納部122は、メモリ管理テーブル123、
及びバージョン管理テーブル124を格納する。メモリ
管理テーブル123は、メモリ管理テーブル作成部11
9により作成され、外部ROM127に格納されたプロ
グラムによる外部ROM127と外部RAM128との
ブロックに対するメモリアクセス制御に用いられる情報
を保持する。具体的には、外部ROM127及び外部R
AM128のどのブロックからどのブロックへのメモリ
アクセスが許可されるかを示すアクセス情報などを保持
する。また、マイクロプロセッサ110において、メモ
リ管理テーブル格納部122に格納された情報は、メモ
リ管理装置118の外部から改ざんされないように管理
されている。
【0028】バージョン管理テーブル124は、外部R
OM127に格納されたプログラムのバージョン情報を
保持する。メモリアクセス部125は、メモリアクセス
可否判断部120によりメモリアクセスが許可された場
合に、外部ROM127及び外部RAM128のアクセ
ス先にメモリアクセスを行う。
【0029】外部ROM127と外部RAM128は、
同一固定長のブロックに分割されブロック単位で管理さ
れており、外部ROM127と外部RAM128との各
ブロック129は、一意のブロック番号が対応付けられ
ている。さらに、マイクロプロセッサ110は、図示さ
れていない例外処理回路、タイマなどの周辺機能回路が
設けられている場合もある。
【0030】次に、メモリ管理テーブルの詳細について
説明する。メモリ管理テーブルは、同一固定長のブロッ
ク毎に、ブロックに対するメモリアクセス制御に用いら
れる情報を保持するものである。以下に具体例を示す。
図3は、メモリ管理テーブルの内容を示す図である。メ
モリ管理テーブル123は、外部ROM127と外部R
AM128の各ブロック129に対し、ブロック129
を識別するためのブロック番号141と、ブロック12
9に格納されたプログラムの分類を識別するブロックデ
ータ識別子142と、ブロックデータ識別子142が異
なるブロック間のメモリアクセスの可否を示すアクセス
フラグ143と、ブロック129に格納されたデータの
読み込みの可否を示す読み込みフラグ144と、ブロッ
ク129に格納されたデータへの書き込みの可否を示す
書き込みフラグ145とを保持する。また、メモリ管理
テーブル123は、各ブロック129のハッシュ値な
ど、上記フラグ以外の情報146を保持しても良い。
【0031】上記のブロックデータ識別子142とアク
セスフラグ143とが、各ブロックに対して、どのブロ
ックからのメモリアクセスが許可されるかという情報で
ある。アクセス先とアクセス元とのブロックデータ識別
子142が同一である場合に、それらは同じ分類のプロ
グラムを格納しているので、メモリアクセスが許可され
る。また、アクセス先とアクセス元とのブロックデータ
識別子142が異なる場合に、アクセス先のアクセスフ
ラグ143を参照して、アクセスフラグ143が可(図
3においては、「○」)であればメモリアクセスが許可
され、アクセスフラグ143が不可(図3においては、
「×」)であればメモリアクセスが拒否される。
【0032】図3の例によれば、ブロック番号が「2」
のブロックから「0」のブロックへのメモリアクセス
は、ブロックデータ識別子も互いに異なり、「0」のブ
ロックのアクセスフラグも不可であるので、拒否され
る。一方、ブロック番号が「2」のブロックから「1」
のブロックへのメモリアクセスは、ブロックデータ識別
子が互いに異なるが、アクセス先である「1」のブロッ
クのアクセスフラグが可であるので、許可される。さら
に「1」のブロックから「0」のブロックへのメモリア
クセスは、ブロックデータ識別子が同一であるので、許
可される。
【0033】即ち、「2」のブロックから「0」のブロ
ックへ直接のメモリアクセスは拒否されるが、「2」の
ブロックから「1」のブロックを一旦介して、「1」の
ブロックから「0」のブロックへのメモリアクセスは許
可される。メモリ管理装置は、この機構を利用すること
で、不正なメモリアクセスを防止している。その利用例
を説明する前に、ブロックデータ識別子142について
説明する。
【0034】ブロックデータ識別子142は、各ブロッ
ク129に格納されたプログラムの分類を識別するもの
である。このプログラムの分類は、プログラムの開発者
によりメモリアクセスを制御する単位(以下、メモリア
クセスを制御する単位を「セッション」という。)で行
われる。メモリに格納される実行プログラムには、不正
なメモリアクセスから保護したい部分などがあり、プロ
グラムの開発者は、その保護したい部分をひとつのセッ
ションとして、他のセッションからのメモリアクセス制
御を行う。
【0035】図4は、実行プログラムの構成の一例を示
す図である。実行プログラム160は、セッションと呼
ばれるメモリアクセスの制御単位の集合によって構成さ
れており、セッションA161、セッションB162、
セッションC163の3つのセッションから構成されて
いる。セッションA161はコード部分164とデータ
部分165から構成され、セッションB162はコード
部分166とデータ部分167から構成され、セッショ
ンC163はコード部分168とデータ部分169から
構成される。
【0036】セッションとはメモリアクセス制御の単位
を意味する。即ち、メモリ管理装置は、セッションA1
61、セッションB162、セッションC163の3つ
のメモリ空間の領域間におけるメモリアクセス制御を実
現する。セッションA161に対するセッションB16
2やセッションC163に格納された命令コードによる
メモリアクセスを制御することにより、セッションA1
61の命令コードやデータが保護される。同様にセッシ
ョンB162及びセッションC163に対する他のセッ
ションに格納された命令コードによるメモリアクセスを
制御することにより、それぞれに格納された命令コード
やデータが保護される。このように、複数のセッション
で構成される実行プログラムに対して、実行プログラム
内部のメモリ保護を実現する。
【0037】次に、メモリ管理テーブルのブロックデー
タ識別子によりセッション毎に分類している利用例を示
す。図5は、1つの実行プログラムが複数のセッション
で構成される場合に、実行プログラムがメモリに格納さ
れた様子を示す図である。論理メモリ空間170は、ブ
ロックA171、ブロックB172、ブロックC17
3、ブロックD174、及びブロックE175に分割さ
れ、実行プログラム176が格納されている。実行プロ
グラム176は、セッションH178、セッションI1
79、セッションJ180、及びセッションK181と
からなる。また、セッションH178はブロックA17
1に、セッションI179はブロックB172に、セッ
ションJ180はブロックC173に、セッションK1
81はブロックD174とブロックE175とに、それ
ぞれ格納されている。
【0038】ここで、セッションH178へのメモリア
クセスは、セッションI179からのメモリアクセスの
みしか許可されず、セッションK181のメモリアクセ
スは、セッションJ180からのメモリアクセスのみし
か許可されないとする。これは、各ブロックの有するブ
ロックデータ識別子とアクセスフラグとの組み合わせ
が、例えば、 ブロックA171 「1」「×」 ブロックB172 「1」「○」 ブロックC173 「2」「○」 ブロックD174 「2」「×」 ブロックE175 「2」「×」 という組み合わせであれば、実現できる。
【0039】上記の場合、セッションI179から、セ
ッションK181に格納された命令コードやデータにア
クセスするには、一度、セッションJ180にアクセス
し、そして、セッションJ180の命令コードによっ
て、セッションK181のデータにアクセスしなければ
ならない。これにより、セッションI179が、直接セ
ッションK181のデータにアクセスすることを禁止
し、たとえ実行プログラム176のセッションI179
の部分に不具合があり、セッションI179からの不正
なメモリアクセスがあったとしても、セッションK18
1のデータを保護することができる。
【0040】同様に、セッションJ180からセッショ
ンH178に格納された命令コードやデータへアクセス
するには、一度、セッションI179にアクセスし、そ
して、セッションI179の命令コードによって、セッ
ションH178のデータへアクセスしなければならな
い。これにより、セッションJ180から直接セッショ
ンH178のデータにアクセスすることが拒否され、た
とえ実行プログラム176のセッションJ180の部分
に不具合がありセッションJ180からの不正なメモリ
アクセスがあったとしても、セッションH178のデー
タを保護することができる。
【0041】例えば、セッションH178は課金情報を
格納するプログラムであり、セッションI179は、そ
の課金情報を読み出すプログラムであるとする。このよ
うな場合に、他のセッションからのメモリアクセスは必
ずセッションI179を通じて行われる。このように、
メモリ管理装置は、1つの実行プログラムが複数のセッ
ションで構成される場合において、ブロックデータ識別
子と、さらにサブプログラム内の各セッション毎にアク
セスフラグとを適切に設定することにより、実行プログ
ラム内でのメモリ保護を実現することができる。
【0042】また、上記に1つの実行プログラム内での
不正なメモリアクセスからのメモリ保護を説明したが、
複数の実行プログラム間における不正なメモリアクセス
からのメモリ保護も当然可能である。図6は、1つの実
行プログラムが複数のセッションで構成される場合に、
複数の実行プログラムがメモリに格納された様子を示す
図である。
【0043】図6において、実行プログラム182は、
セッションH178とセッションI179からなり、実
行プログラム183は、セッションJ180とセッショ
ンK181からなる。ブロックA171からブロックE
175までの各ブロックが有するブロックデータ識別子
とアクセスフラグとの組み合わせは図5の例と同様とす
る。
【0044】これにより、複数の実行プログラム間にお
ける不正なメモリアクセスからのメモリ保護が可能であ
る。図7は、1つの実行プログラムが1つのセッション
で構成される場合に、複数の実行プログラムがメモリに
格納された様子を示す図である。論理メモリ空間190
は、ブロックL191、ブロックM192、及びブロッ
クN193に分割され、実行プログラムP194と実行
プログラムQ195との2つの実行プログラムが格納さ
れている。また、実行プログラムP194は、実行プロ
グラムQ195からのメモリアクセスを許可しないセッ
ションR196からなり、実行プログラムQ195は、
実行プログラムP194からのメモリアクセスを許可し
ないセッションS197からなる。また、セッションR
196はブロックL191に、セッションS197はブ
ロックM192に、それぞれ格納されている。
【0045】これは、各ブロックの有するブロックデー
タ識別子とアクセスフラグとの組み合わせが、例えば、 ブロックL191 「1」「×」 ブロックM192 「2」「×」 ブロックN193 「3」「×」 という組み合わせであれば、実現できる。
【0046】上記の場合、実行プログラムP194が割
り当てられたメモリ空間に対し、実行プログラムQ19
5からメモリアクセスを行うことはできない。さらに、
実行プログラムQ195が割り当てられたメモリ空間に
対し、実行プログラムP194からメモリアクセスを行
うことはできない。すなわち、メモリ管理装置は、ブロ
ックL191とブロックM192との間のメモリアクセ
スを禁止することで、両者のメモリ領域に関するメモリ
保護を実現する。
【0047】このように、メモリ管理装置は、1つの実
行プログラムが1つのセッションで構成される場合にお
いて、ブロックデータ識別子とアクセスフラグとを適切
に設定することにより、実行プログラム内でのメモリ保
護を実現することができる。次に、実行プログラムの更
新の際に参照されるバージョン管理テーブルを以下に示
す。
【0048】図8は、バージョン管理テーブルの内容を
示す図である。バージョン管理テーブル124は、外部
ROM127に格納された実行プログラムの分類を識別
するためのブロックデータ識別子と、現在、外部ROM
127に格納されているブロックデータ識別子に対応す
る実行プログラムのバージョンを示すバージョン情報を
保持する。
【0049】<メモリ管理装置の動作>次に、メモリ管
理装置のメモリアクセスの制御に係る動作について説明
する。図9は、メモリアクセスの判断及びメモリアクセ
ス処理の手順を示す図である。CPU111により実行
される命令コードが、外部ROM127、または外部R
AM128に格納されたデータへのメモリアクセスを要
求した場合と、命令フェッチの場合に、メモリ管理装置
118は、メモリアクセス判断、及びメモリアクセス処
理を開始する。(ステップS100) CPU111は、CPU111のプログラムカウンタよ
り、アクセス元である前記命令コードが格納されている
論理アドレス番号を取得し、論理アドレス・物理アドレ
ス変換装置113に転送する。論理アドレス・物理アド
レス変換装置113は、前記命令コードが配置されてい
る論理アドレス番号を、物理アドレス番号に変換し、メ
モリアクセス可否判断部120に転送する。
【0050】さらに、CPU111は、前記命令コード
により要求されたアクセス先である論理アドレス番号
を、論理アドレス・物理アドレス変換装置113に転送
する。論理アドレス・物理アドレス変換装置113は、
前記論理アドレス番号を物理アドレス番号に変換し、メ
モリアクセス可否判断部120に転送する。そして、メ
モリアクセス可否判断部120は、アクセス元の物理ア
ドレスを含むブロックと、アクセス先の物理アドレスを
含むブロックとを特定する。
【0051】その後、メモリアクセス可否判断部120
は、メモリ管理テーブル123を用いて、前記命令コー
ドにより要求されたアクセス先の物理アドレスを含むブ
ロックを外部ROM127と外部RAM128とから探
索する。(ステップS101) 次に、ステップS101の探索によって、前記命令コー
ドによりメモリアクセスを要求されたブロックを発見し
た場合には(ステップS102:Y)、ステップS10
3に移動し、前記ブロックが存在しない場合には(ステ
ップS102:N)、ステップS110に移動する。
(ステップS102) ステップS102においてメモリアクセスを要求された
ブロックを発見した場合に、メモリアクセス可否判断部
120は、メモリ管理テーブル123を用いて、アクセ
ス元のブロックのブロックデータ識別子と、前記命令コ
ードにより要求されたアクセス先を含むブロックのブロ
ックデータ識別子とを比較する。(ステップS103) ステップS103において、2つのブロックデータ識別
子が一致する場合(ステップS103:Y)には、ステ
ップS105に移動し、一致しない場合(ステップS1
03:N)には、ステップS104へ移動する。
【0052】2つのブロックデータ識別子が一致しない
場合に、メモリアクセス可否判断部120は、メモリ管
理テーブル123を参照し、ステップS101で探索さ
れたブロックに対するアクセスフラグを参照する。(ス
テップS104) そして、ステップS104において、アクセスフラグが
アクセス不可を示すフラグの場合には(ステップS10
4:Y)、ステップS110に移動し、アクセスフラグ
がアクセス許可を示す場合には(ステップS104:
N)、ステップS105に移動する。
【0053】次に、メモリアクセス可否判断部120
は、CPU111から、メモリアクセス要求を行う命令
コードの種別(データの読み込み、データの書き込み)
を取得する。(ステップS105) 次に、メモリアクセス可否判断部120は、メモリ管理
テーブル123を参照し、前記命令コードにより要求さ
れるアクセス先のブロックに設定されている読み込みフ
ラグと、書き込みフラグとを参照する。
【0054】そして、メモリアクセス可否判断部120
は、前記命令コードの種別と、参照された読み込みフラ
グ及び書き込みフラグに矛盾があるか否かを判断する。
(ステップS106)例えば、書き込みフラグが書き込
み不可を示すフラグであり、コード種別が書き込みを指
示する場合には、矛盾すると判断する。ステップS10
6において、矛盾すると判断した場合(ステップS10
6:Y)には、ステップS110に移動し、矛盾しない
と判断した場合(ステップS106:N)には、ステッ
プS107に移動する。
【0055】次に、メモリアクセス可否判断部120
は、メモリアクセスを許可することを示すメモリアクセ
ス許可信号をメモリアクセス部125に送信する。(ス
テップS107) 次に、前記メモリアクセス許可信号を受信したメモリア
クセス部125は、前記命令コードにより要求された物
理アドレスにメモリアクセスを行う。(ステップS10
8) 次に、CPU111が、前記命令コードを実行し(ステ
ップS109)、メモリアクセス判断、及びメモリアク
セス処理を終了する。(ステップS111) また、ステップS102においてアクセス先のブロック
が存在しない場合、ステップS104においてアクセス
フラグがメモリアクセス不可を示す場合、及びステップ
S106において命令コードの種別が参照されたメモリ
管理テーブル123の読み込みフラグ及び書き込みフラ
グに矛盾する場合に、異常処理プログラムを実行する。
(ステップS110)異常処理プログラムは、実行プロ
グラムを正常に停止させる。そして、メモリアクセス判
断、及びメモリアクセス処理を終了する。(ステップS
111) 上記のように、メモリ管理装置118は、アクセス元の
ブロックとアクセス先のブロックとの間のメモリアクセ
ス制御を実現することができる。
【0056】<プログラムの作成>これまでの説明の通
り、メモリ管理装置は、メモリを同一固定長のブロック
に分割して、各ブロック毎にメモリアクセス制御を行
う。このようなメモリ管理装置において有効なプログラ
ムは、複数のセッションにより構成されたプログラムで
ある。以下に複数のセッションにより構成されたプログ
ラムを作成する一例を示す。
【0057】図10は、実行プログラムを作成する一例
を示す図である。実行プログラムのソースファイル20
0は、各セッションに対応して分割された2つのソース
ファイルMainProgram1.c201と、Ma
inProgram2.c202から構成される。メモ
リ管理装置では、ソースファイル間のメモリアクセス制
御を提供するため、図10の例では、これら2つのソー
スファイル間でのメモリアクセス制御を提供する。
【0058】まず、MainProgram1.c20
1とMainProgram2.c202を、コンパイ
ラ203によってコンパイルし、それぞれ、オブジェク
トファイルMainProgram1.rf204とM
ainProgram2.rf205を作成する。次
に、リンカー206に、オブジェクトファイルMain
Program1.rf204とMainProgra
m2.rf205と、論理メモリ空間において、前記オ
ブジェクトファイルが配置される論理アドレス位置を指
定するリンク情報207を入力することより、セッショ
ンA209とセッションB210で構成される実行プロ
グラムMainProgram.exe208を作成す
る。
【0059】セッションA209はソースファイルMa
inProgram1.c201に対応するセッション
であり、セッションB210はソースファイルMain
Program2.c202に対応するセッションであ
る。ここで、リンク情報207は、オブジェクトファイ
ルMainProgram1.rf204のコード部分
とデータ部分、オブジェクトファイルMainProg
ram2.rf205のコード部分とデータ部分を論理
メモリ空間に配置する際の位置を示す情報である。
【0060】上記のように、セッション単位でソースフ
ァイルを分割、コンパイル、リンクすることにより、複
数のセッションで構成される実行プログラムを作成する
ことができる。なお、プログラムの開発者は、実行プロ
グラムを作成する際に、実行プログラムの各セッション
の開始位置、終端位置などの、実行プログラムに関する
プログラム情報を意識して開発しなければならない。
【0061】図11は、プログラム情報の内容の一例を
示す図である。プログラム情報220は、実行プログラ
ム全体に関する情報と、実行プログラムを構成する各セ
ッションの情報からなる。実行プログラム全体に関する
情報は、バージョン情報221、認証子222、プログ
ラムサイズ223であり、各セッションの情報は、セッ
ションの開始アドレス番号224、セッションの終端ア
ドレス番号225、セッションの識別子226、セッシ
ョンのアクセス属性227、セッションの読み込み属性
228、セッションの書き込み属性229である。ま
た、各セッションの情報は、実行プログラムに含まれる
セッションの個数だけある。
【0062】バージョン情報221は、実行プログラム
のバージョンを示す情報であり、実行プログラムの更新
の際に参照される。認証子222は、実行プログラムか
ら一意に導出される値であり、SHA−1に代表される
ハッシュ演算により算出される値などを意味する。プロ
グラムサイズ223は、実行プログラムのプログラムサ
イズであり、実行プログラムの大きさを特定できるもの
であれば、バイト数でもブロック数でも良い。
【0063】セッションの開始アドレス番号224は、
論理メモリ空間において、セッションが格納される先頭
論理アドレス番号である。セッションの終端アドレス番
号225は、論理メモリ空間において、セッションが格
納される終端論理アドレス番号である。セッションの識
別子226は、セッションを識別するものであり、数値
であっても文字列であっても良い。
【0064】セッションのアクセス属性227は、セッ
ションの識別子が異なるセッションからのメモリアクセ
スの可否を示すものである。セッションの読み込み属性
228は、そのセッションに含まれるデータに対する読
み込み可否を示すものである。セッションの書き込み属
性229は、そのセッションに含まれるデータに対する
書き込み可否を示すものである。
【0065】このようにプログラム情報220は、実行
プログラムをセッション単位で管理し、各セッションの
識別子、アクセス属性、読み込み属性、及び書き込み属
性を規定するものである。 <プログラムの更新>マイクロプロセッサ110は、相
互認証されたサーバまたは電子証明書を保持する記録媒
体から新たな実行プログラムを取得し、外部ROM12
7に格納された実行プログラムを、取得した新たな実行
プログラムに更新する。実行プログラムの更新に伴い、
メモリ管理テーブル及びバージョン管理テーブルの更新
も行われる。以下に実行プログラムの更新及びバージョ
ン管理テーブルの更新の手順を示す。
【0066】図12は、実行プログラムの更新の手順を
示す図である。マイクロプロセッサ110の起動時のオ
プション、または起動後のプログラムにおけるシステム
更新メニューを実行することによって、プログラムを更
新するプログラム更新モードになる。(ステップS12
0) 更新用プログラム116が、CPU111によって実行
される。(ステップS121) 次に、更新用プログラム116は、図示されていない相
互認証されたサーバ、または電子証明書を保持する記録
媒体から、実行プログラムとプログラム情報220とを
取得し、外部RAM128に格納する。(ステップS1
22) さらに、更新用プログラム116は、バージョン管理テ
ーブル作成部121を介して参照したバージョン管理テ
ーブル124とプログラム情報220のバージョン情報
から、実行プログラムの更新が正当な更新であることを
確認する。(ステップS123) 正当な更新でない場合(ステップS123:N)には、
ステップS134に移動し、正当な更新であることを確
認した場合(ステップS123:Y)には、ステップS
124に移動する。
【0067】次に、更新用プログラム116は、外部R
AM128に格納された実行プログラムを認証子作成装
置112に入力する。認証子作成装置112は外部RA
M128に格納された実行プログラムの認証子を作成
し、更新用プログラム116に与える。(ステップS1
24) 次に、更新用プログラム116は、外部RAM128に
格納されたプログラム情報220の認証子を参照し、ス
テップS124で算出された認証子と比較する。(ステ
ップS125) それらが一致しない場合(ステップS125:N)に
は、実行プログラムが改ざんされていたとしてステップ
S134に移動し、それらが一致する場合(ステップS
125:Y)には、ステップS126に移動する。
【0068】次に、更新用プログラム116は、メモリ
管理テーブル作成部119を介してメモリ管理テーブル
123を参照し、外部ROM127の空きブロックを探
索する。これにより、更新用プログラム116は、外部
ROM127の空き記憶容量の総量を算出し、前記空き
容量の総量を外部RAM128に保持する。(ステップ
S126) 次に、更新用プログラム116は、外部RAM128に
格納されたプログラム情報220のプログラムサイズの
値を取得し、ステップS126で算出された外部ROM
127の空き記憶容量の総量と比較する。(ステップS
127)これにより、更新用プログラム116は、前記
実行プログラムを外部ROM127に格納可能であるこ
とを確認する。
【0069】外部RAM128に格納された前記実行プ
ログラムを外部ROM127に格納することができない
と判断した場合(ステップS127:N)には、ステッ
プS134に移動し、格納することが可能であると判断
した場合(ステップS127:Y)には、ステップS1
28に移動する。更新用プログラム116は、メモリ管
理テーブル作成部119を介してメモリ管理テーブル1
23を参照し、プログラム情報220におけるセッショ
ンの識別子とブロックデータ識別子とを比較することに
より、更新されるプログラムが格納されている外部RO
M127のブロックのブロック番号を探索し、前記ブロ
ック番号を外部RAM128に保持する。(ステップS
128) 次に、更新用プログラム116は、メモリ管理テーブル
作成部119を介してメモリ管理テーブル123を参照
し、外部ROM127の空きブロックを探索する。さら
に、更新用プログラム116は、外部ROM127に格
納されていない実行プログラムをブロックのブロックサ
イズに分割し、空きブロックに格納する。(ステップS
129) 次に、更新用プログラム116は、プログラム情報22
0のセッションの開始アドレス番号、セッションの終端
アドレス番号、セッションの識別子、セッションのアク
セス属性、セッションの読み込み属性、及び、セッショ
ンの書き込み属性を用いて、ステップS129で使用さ
れたブロックに対するブロックデータ識別子142、ア
クセスフラグ143、読み込みフラグ144、書き込み
フラグ145を取得する。
【0070】そして、更新用プログラム116は、メモ
リ管理テーブル作成部119を介して、ステップS12
9で使用されたブロックのブロック番号141に対応す
るメモリ管理テーブル123のエントリに、取得したブ
ロックデータ識別子142、アクセスフラグ143、読
み込みフラグ144、書き込みフラグ145を設定す
る。(ステップS130) 次に、更新用プログラム116は、プログラム情報22
0のプログラムサイズの値を用いて、実行プログラムが
全て外部ROM127に格納されたか否かを判断する。
(ステップS131) 実行プログラム全てが外部ROM127に格納されてい
ないと判断した場合(ステップS131:N)には、ス
テップS129に移動し、実行プログラム全てが外部R
OM127に格納済みと判断した場合(ステップS13
1:Y)には、ステップS132に移動する。
【0071】更新用プログラム116は、メモリ管理テ
ーブル作成部119を介して、ステップS128で取得
したブロック番号141に対応するメモリ管理テーブル
123のエントリの内容を消去する。これにより、古い
バージョンの実行プログラムが削除される。(ステップ
S132) 次に、更新用プログラム116は、プログラム情報22
0のバージョン情報を用いて、バージョン管理テーブル
作成部121を介して、バージョン管理テーブル124
を更新する。(ステップS133) 次に、更新用プログラム116は、外部RAM128に
格納された実行プログラムとプログラム情報220を消
去する。(ステップS134) そして、プログラム更新モードを終了させる。(ステッ
プS135) 上記の手順により、実行プログラムの更新、また実行プ
ログラムの更新に伴うメモリ管理テーブル及びバージョ
ン管理テーブルの更新を行うことができる。
【0072】このように更新されたメモリ管理テーブル
及びバージョン管理テーブルと、プログラム情報との対
応関係を以下に示す。図13は、プログラム情報とメモ
リ管理テーブルの各フィールドの対応関係及び、プログ
ラム情報とバージョン管理テーブルの各フィールドの対
応関係を示す図である。
【0073】図13に示すように、セッションの識別子
がブロックデータ識別子142に対応し、セッションの
アクセス属性がアクセスフラグ143に対応し、セッシ
ョンの読み込み属性が読み込みフラグ144に対応し、
セッションの書き込み属性が書き込みフラグ145に対
応する。また、プログラム情報220におけるバージョ
ン情報及び識別子は、バージョン管理テーブル124に
おけるバージョン情報及びブロックデータ識別子に対応
する。
【0074】図14は、プログラム内部におけるメモリ
保護の実現例を示す。図14において、実行プログラム
243はセッションA240とセッションB241とセ
ッションC242により構成される。さらに、図14の
プログラム情報244に示すように、実行プログラム2
43に対して、セッションA240の識別子は1であ
り、セッションA240のアクセス属性は許可であると
いう設定を行い、セッションB241の識別子は2であ
り、セッションB241のアクセス属性は許可であると
いう設定を行い、セッションC242の識別子は2であ
り、セッションC242のアクセス属性は不可であると
いう設定を行う。上記のように、セッションの識別子と
セッションのアクセス属性を設定することで、セッショ
ンB241に格納された命令コードによるセッションC
242へのメモリアクセスは許可されるが、セッション
A240に格納された命令コードによるセッションC2
42へのメモリアクセスは拒否される。
【0075】つまり、メモリ管理装置は、分割されたセ
ッションを格納するブロックに、セッションを識別する
ためのブロックデータ識別子とアクセスフラグとを適切
に設定することで、各ブロックに対して、特定のセッシ
ョンに格納された命令コードによってのみメモリアクセ
スを許可するメモリ保護機能を実現することができる。
【0076】なお、図2において、外部ROM127
は、フラッシュROMであっても良いし、それ以外の不
揮発性メモリであっても良い。なお、異常処理プログラ
ム117は、不正なメモリアクセスを行ったことを示す
情報をマイクロプロセッサ110の外部に報告してもよ
い。なお、外部ROM127と外部RAM128のブロ
ックのブロックサイズは異なっていてもよい。
【0077】なお、図9のメモリアクセスの判断及びメ
モリアクセス処理の手順において、ステップS105に
おける命令コードの種別の取得は、ステップS100の
直後に行っても良い。なお、ステップS107におい
て、メモリアクセス可否判断部120が、メモリアクセ
スを許可することを示すメモリアクセス許可信号をメモ
リアクセス部125に送信するかわりに、メモリアクセ
ス可否判断部120がレジスタに値を設定し、その値を
メモリアクセス部125が参照し、それによりメモリア
クセス部125が外部ROM127や外部RAM128
にメモリアクセスを行ってもよい。
【0078】(実施の形態2) <概要>本実施の形態において、メモリ管理テーブル格
納装置は、マイクロプロセッサの外部に設けられる。こ
れは、マイクロプロセッサの内部に十分なフラッシュR
OMなどが確保できない場合に該当する。メモリ管理テ
ーブル格納装置が外部に設けられることで、メモリ管理
テーブルは、盗み見られる危険性にさらされる。そこで
メモリ管理テーブルは暗号化されてメモリ管理テーブル
格納装置に格納される。
【0079】<マイクロプロセッサの構成>図15は、
マイクロプロセッサに内蔵されたメモリ管理装置を示す
図である。マイクロプロセッサ260は、同一半導体チ
ップ上に形成されている半導体集積回路であり、CPU
261、認証子作成装置262、論理アドレス・物理ア
ドレス変換装置263、内部ROM264、メモリ管理
装置268、内部RAM281、暗号化装置282、及
びID格納装置283を備え、各装置を内部バス276
により接続している。また、マイクロプロセッサ260
は、外部バス280により外部ROM277、外部RA
M278、及びメモリ管理テーブル格納装置272と接
続されている。
【0080】本実施の形態において、実施の形態1と異
なる構成は、メモリ管理装置268、メモリ管理テーブ
ル格納装置272、内部RAM281、暗号化装置28
2、及びID格納装置283である。その他の構成は実
施の形態1と同様なので説明を省略する。メモリ管理装
置268は、メモリ管理テーブル作成部269、メモリ
アクセス可否判断部270、バージョン管理テーブル作
成部271及び、メモリアクセス部275を備える。本
実施の形態において、メモリ管理装置268は、メモリ
管理テーブル格納装置272を備えていない点が実施の
形態1と異なる。
【0081】メモリアクセス部275は、メモリアクセ
ス可否判断部270によりメモリアクセスが許可された
場合に、外部ROM277及び外部RAM278にアク
セスし、メモリ管理テーブル作成部269及びバージョ
ン管理テーブル作成部271により要求される場合に、
メモリ管理テーブル格納装置272にアクセスする。そ
の他のメモリ管理装置268内部の各機能部は実施の形
態1と同様である。
【0082】メモリ管理テーブル格納装置272は、メ
モリ管理テーブル273、及びバージョン管理テーブル
274を格納しており、外部バス280に接続されてい
る。メモリ管理テーブル273、及びバージョン管理テ
ーブル274は、暗号化装置282によって暗号化され
て格納されている点が実施の形態1と異なり、各テーブ
ルの内容自体は、実施の形態1と同様である。
【0083】内部RAM281は、CPU261が使用
するRAMである。暗号化装置282は、メモリ管理テ
ーブル273とバージョン管理テーブル274とを、I
D格納装置283に格納されているID284を用いて
暗号化及び復号化する装置である。ID格納装置283
は、メモリ管理テーブル273とバージョン管理テーブ
ル274とを暗号化及び復号化する際に用いられるID
284を格納する。ここで、ID284は、マイクロプ
ロセッサ260に固有の情報である。
【0084】マイクロプロセッサ260において、内部
RAM281とID格納装置283とに格納されたデー
タは、マイクロプロセッサ260の外部からアクセスで
きないように管理されている。外部ROM277と外部
RAM278は、同一固定長のブロックに分割されブロ
ック単位で管理されており、外部ROM277と外部R
AM278との各ブロック279は、一意のブロック番
号が対応付けられている。
【0085】さらに、マイクロプロセッサ260は、図
示されていない例外処理回路、タイマなどの周辺機能回
路が設けられている場合もある。 <メモリ管理装置の動作>次に、メモリ管理装置のメモ
リアクセスの制御に係る動作について説明する。実施の
形態1において、メモリ管理テーブルはマイクロプロセ
ッサ内部に存在していたが、本実施の形態において、メ
モリ管理テーブルは、マイクロプロセッサ外部に存在す
る。したがって、マイクロプロセッサの起動時に、メモ
リ管理テーブルを内部RAMに格納する手順が増える。
以下に、詳細を説明する。
【0086】マイクロプロセッサ260が起動される
と、ブートプログラム265が、メモリ管理テーブル作
成部269を通じてメモリ管理テーブル格納装置272
から暗号化されたメモリ管理テーブル273を取得す
る。その後、ブートプログラム265は、暗号化された
メモリ管理テーブル273を暗号化装置282に入力す
る。暗号化装置282は、ID格納装置283に格納さ
れたID284を用いて、暗号化されたメモリ管理テー
ブル273を復号化して内部RAM281に格納する。
【0087】これにより、メモリ管理テーブル273が
内部RAM281内に再現され、メモリアクセス可否判
断部270は、内部RAM281内に格納されたメモリ
管理テーブル273を参照してアクセス制御を行う。そ
の他の動作については、実施の形態1と同様である。 <プログラムの更新>マイクロプロセッサ260は、実
施の形態1と同様に、相互認証されたサーバまたは電子
証明書を保持する記録媒体から新たな実行プログラムを
取得し、外部ROM277に格納された実行プログラム
を、取得した新たな実行プログラムに更新する。実行プ
ログラムの更新に伴い、メモリ管理テーブル及びバージ
ョン管理テーブルの更新も行われる。以下に実行プログ
ラムの更新及びバージョン管理テーブルの更新の手順を
示す。
【0088】本実施の形態が、実施の形態1と異なるの
は、下記の点である。メモリ管理テーブル273の更新
の動作において、更新用プログラム266が、実行プロ
グラムとプログラム情報を取得した後に、メモリ管理テ
ーブル作成部269を通じてメモリ管理テーブル格納装
置272から、暗号化されたメモリ管理テーブル273
を取得する。その後、更新用プログラム266は、暗号
化されたメモリ管理テーブル273を、暗号化装置28
2に入力する。暗号化装置282は、ID格納装置28
3に格納されたID284を用いて、暗号化されたメモ
リ管理テーブル273を復号化し、内部RAM281に
格納する。
【0089】同様に、更新用プログラム266が、バー
ジョン管理テーブル作成部271を通じてメモリ管理テ
ーブル格納装置272から、暗号化されたバージョン管
理テーブル274を取得する。その後、更新用プログラ
ム266は、暗号化されたバージョン管理テーブル27
4を、暗号化装置282に入力する。暗号化装置282
は、ID格納装置283に格納されたID284を用い
て、暗号化されたバージョン管理テーブル274を復号
化し、内部RAM281に格納する。
【0090】これにより、メモリ管理テーブル273及
びバージョン管理テーブル274が内部RAM281内
に再現され、更新用プログラム266は、内部RAM2
81に格納されたメモリ管理テーブル273とバージョ
ン管理テーブル274とを参照して更新する。その後、
プログラムの更新については、実施の形態1と同様であ
る。
【0091】そして、実施の形態1で更新用プログラム
が、バージョン管理テーブルを更新するステップ(S1
33)において、本実施の形態では、更新用プログラム
266が、内部RAM281に格納されたメモリ管理テ
ーブル273とバージョン管理テーブル274とを、暗
号化装置282に入力する。暗号化装置282は、ID
格納装置283に格納されたID284を用いて、メモ
リ管理テーブル273とバージョン管理テーブル274
とを暗号化し、内部RAM281に格納する。
【0092】そして、更新用プログラム266は、暗号
化されたメモリ管理テーブル273を、メモリ管理テー
ブル作成部269を通じてメモリ管理テーブル格納装置
272に格納する。同様に、更新用プログラム266
は、暗号化されたバージョン管理テーブル274を、バ
ージョン管理テーブル作成部271を通じてメモリ管理
テーブル格納装置272に格納する。
【0093】本実施の形態において、メモリ管理テーブ
ル格納装置272は、マイクロプロセッサ260の外部
に設けられる。しかし、メモリ管理テーブル273及び
バージョン管理テーブル274を暗号化させることで、
盗み見からの保護を実現している。なお、ID284を
格納するID格納装置283がないマイクロプロセッサ
260において、メモリ管理テーブル273の更新の動
作とメモリアクセス制御との動作で、暗号化装置282
が、ID284を用いずに暗号化及び復号化を行っても
よいし、ID284を格納するID格納装置283を持
つマイクロプロセッサ260であっても、メモリ管理テ
ーブル273の更新の動作とメモリアクセス制御の動作
で、暗号化装置282が、ID284を用いずに暗号化
及び復号化を行ってもよい。
【0094】なお、外部ROM277は、フラッシュR
OMであってもよいし、それ以外の不揮発性メモリであ
ってもよい。なお、メモリ管理テーブル格納装置272
は、フラッシュROMであっても良いし、それ以外の不
揮発性メモリであってもよい。なお、異常処理プログラ
ム267は、不正なメモリアクセスを行ったことを示す
情報をマイクロプロセッサ260外部に報告してもよ
い。
【0095】なお、外部ROM277と外部RAM27
8のブロック279のブロックサイズは異なっていても
よい。なお、メモリ管理テーブル格納装置272が外部
ROM277の一部であってもよい。なお、メモリ管理
テーブル格納装置272が外部RAM278の一部であ
ってもよい。
【0096】(実施の形態3) <概要>本実施の形態において、メモリ管理テーブル格
納装置は、実施の形態2と同様にマイクロプロセッサの
外部に設けられる。したがって、メモリ管理テーブルが
盗み見られたり改ざんされる危険性にさらされる。そこ
で実施の形態2では、メモリ管理テーブルを暗号化する
ことでメモリ管理テーブルの保護を行った。しかし、メ
モリ管理テーブルを暗号化するほどでもなく、改ざんさ
れていれば、そのことだけがわかればいい場合もある。
そこで、本実施の形態は、メモリ管理テーブルにそのメ
モリ管理テーブルから一意に導き出せる認証子を与え、
その認証子を用いて改ざんされているか否か検出するこ
ととする。
【0097】<マイクロプロセッサの構成>図16は、
マイクロプロセッサに内蔵されたメモリ管理装置を示す
図である。マイクロプロセッサ300は、同一半導体チ
ップ上に形成されている半導体集積回路であり、CPU
301、認証子作成装置302、論理アドレス・物理ア
ドレス変換装置303、内部ROM304、メモリ管理
装置308、内部RAM321、認証子判定装置32
2、及び認証子格納装置323を備え、各装置を内部バ
ス316により接続している。また、マイクロプロセッ
サ300は、外部バス320により外部ROM317、
外部RAM318、及びメモリ管理テーブル格納装置3
12と接続されている。
【0098】本実施の形態において、実施の形態2と異
なる構成は、メモリ管理テーブル格納装置312、認証
子判定装置322、及び認証子格納装置323である。
その他の構成は実施の形態2と同様なので説明を省略す
る。メモリ管理テーブル格納装置312がマイクロプロ
セッサ300の外部に設けられていることは実施の形態
2と同様である。ところが、本実施の形態において、メ
モリ管理テーブル格納装置312に格納されているメモ
リ管理テーブル313及びバージョン管理テーブル31
4は、暗号化されていない。
【0099】認証子判定装置322は、メモリ管理テー
ブル格納装置312からメモリ管理テーブル313を読
み込み、内部RAM321に格納する際に、認証子作成
装置302を用いてメモリ管理テーブル313から作成
された認証子と、認証子格納装置323に格納されてい
るメモリ管理テーブルの認証子とを比較して同一か否か
判定する装置である。
【0100】認証子格納装置323は、メモリ管理テー
ブル313の認証子を格納する装置である。メモリ管理
テーブルの認証子324は、認証子作成装置302によ
り作成される。マイクロプロセッサ300が起動される
度に、メモリ管理テーブル313は内部RAM321に
読み込まれる。その際に、読み込んだメモリ管理テーブ
ル313から生成された認証子と、予め格納されていた
認証子324とを認証子判定装置322により比較す
る。これにより、これらの認証子が同一であれば、メモ
リ管理テーブル313は改ざんされていないと判断し、
認証子が異なれば、メモリ管理テーブル313が改ざん
されていると判断することができる。
【0101】また、マイクロプロセッサ300におい
て、内部RAM321と認証子格納装置323に格納さ
れたデータは、マイクロプロセッサ300の外部からア
クセスできないように管理されている。さらに、マイク
ロプロセッサ300には、図示されていない例外処理回
路、タイマなどの周辺機能回路が設けられている場合も
ある。
【0102】<メモリ管理装置の動作>次に、メモリ管
理装置のメモリアクセスの制御に係る動作について説明
する。実施の形態1において、メモリ管理テーブルはマ
イクロプロセッサ内部に存在していたが、本実施の形態
において、メモリ管理テーブルは、マイクロプロセッサ
外部に存在する。したがって、マイクロプロセッサの起
動時に、メモリ管理テーブルを内部RAMに格納する手
順が増える。以下に、詳細を説明する。
【0103】図17は、メモリ保護機能初期化を行う手
順を示す図である。マイクロプロセッサ300が起動さ
れると、ブートプログラム305がCPU301により
実行される。そして、ブートプログラム305の処理ス
テップの一部としてメモリ保護機能初期化モードが実行
される。(ステップS140) ブートプログラム305は、メモリ管理テーブル作成部
309を介して、メモリ管理テーブル格納装置312に
格納されたメモリ管理テーブル313を取得し、内部R
AM321に格納する。(ステップS141) 次に、ブートプログラム305は、認証子作成装置30
2にメモリ管理テーブル313を入力する。そして、認
証子作成装置302は、メモリ管理テーブル313の認
証子を作成し、ブートプログラム305に与える。(ス
テップS142) 次に、ブートプログラム305は、認証子格納装置32
3に格納された認証子324と、ステップS142で取
得した認証子を認証子判定装置322に入力する。認証
子判定装置322は、2つの認証子を比較し、同一であ
るか否かを判定する。(ステップS143) 2つの認証子が同一でないと判定された場合(ステップ
S143:N)には、認証子判定装置322は、メモリ
管理テーブル313が改ざんされていることをブートプ
ログラム305に通知する。そして、ステップS145
に移動する。ステップS145において、ブートプログ
ラム305は停止する。それにより、ステップS146
において、マイクロプロセッサ300は停止する。
【0104】2つの認証子が同一であると判定された場
合(ステップS143:Y)には、ブートプログラム3
05は、メモリ保護機能初期化モードを終了する。(ス
テップS144) それ以降、ブートプログラム305は、メモリ保護機能
以外の初期化処理を行う。
【0105】これにより、メモリ管理テーブル313が
内部RAM321内に再現され、メモリアクセス可否判
断部310は、内部RAM321内に格納されたメモリ
管理テーブル313を参照してアクセス制御を行う。そ
の他の動作については、実施の形態1と同様である。 <プログラムの更新>マイクロプロセッサ300は、実
施の形態1及び実施の形態2と同様に、相互認証された
サーバまたは電子証明書を保持する記録媒体から新たな
実行プログラムを取得し、外部ROM317に格納され
た実行プログラムを取得した新たな実行プログラムに更
新する。実行プログラムの更新に伴い、メモリ管理テー
ブル及びバージョン管理テーブルの更新も行われる。以
下に実行プログラムの更新及びバージョン管理テーブル
の更新の手順を示す。
【0106】図18は、実行プログラムの更新の手順を
示す図である。図19は、実行プログラムの更新の手順
を示す図である。マイクロプロセッサ300の起動時の
オプション、または起動後のプログラムにおけるシステ
ム更新メニューを実行することによって、プログラムを
更新するプログラム更新モードになる。(ステップS1
50) 更新用プログラム306が、CPU301によって実行
される。(ステップS151) 次に、更新用プログラム306は、図示されていない相
互認証されたサーバ、または電子証明書を保持する記録
媒体から、実行プログラムとプログラム情報220とを
取得し、外部RAM318に格納する。(ステップS1
52) 次に、更新用プログラム306は、メモリ管理テーブル
格納装置312に格納されたメモリ管理テーブル313
を、メモリ管理テーブル作成部309を介して取得し、
内部RAM321に格納する。(ステップS153) 次に、更新用プログラム306は、認証子作成装置30
2にメモリ管理テーブル313を入力する。そして、認
証子作成装置302は、メモリ管理テーブル313の認
証子を作成し、更新用プログラム306に与える。(ス
テップS154) 次に、更新用プログラム306は、認証子格納装置32
3に格納されたメモリ管理テーブルの認証子324と、
ステップS154で取得した認証子とを認証子判定装置
322に与える。認証子判定装置322は、2つの認証
子を比較し、同一であるか否かを判定する。(ステップ
S155) 2つの認証子が同一でないと判定された場合(ステップ
S155:N)には、認証子判定装置322は、メモリ
管理テーブル313が改ざんされていることを更新用プ
ログラム306に通知し、ステップS171へ移動す
る。
【0107】2つの認証子が同一であると判定された場
合(ステップS155:Y)には、認証子判定装置32
2は、更新用プログラム306に、同一であることを通
知する。そして、更新用プログラム306は、バージョ
ン管理テーブル作成部311を介して、バージョン管理
テーブル314を取得し、内部RAM321に格納す
る。(ステップS156) それ以降のステップS157からステップS167で
は、実施の形態1と同様に、更新用プログラム306
は、内部RAM321に格納されたメモリ管理テーブル
313とバージョン管理テーブル314とを参照、更新
する。
【0108】そして、更新用プログラム306が、内部
RAM321に格納されたメモリ管理テーブル313を
認証子作成装置302に入力する。認証子作成装置30
2はメモリ管理テーブル313の認証子を作成し、更新
用プログラム306に与える。(ステップS168) 次に、更新用プログラム306は、ステップS168で
取得した認証子を認証子格納装置323に格納する。
(ステップS169) 次に、更新用プログラム306は、内部RAM321に
格納されたメモリ管理テーブル313を、メモリ管理テ
ーブル作成部309を介してメモリ管理テーブル格納装
置312に格納する。
【0109】同様に、更新用プログラム306は、内部
RAM321に格納されたバージョン管理テーブル31
4を、バージョン管理テーブル作成部311を介して、
メモリ管理テーブル格納装置312に格納する。(ステ
ップS170) 更新用プログラム306は、外部RAM318に格納さ
れた実行プログラムとプログラム情報を削除する。(ス
テップS171)そして、プログラム更新モードを終了
する。(ステップS172) なお、外部ROM317は、フラッシュROMであって
もよいし、それ以外の不揮発性メモリであってもよい。
【0110】なお、メモリ管理テーブル格納装置312
は、フラッシュROMであってもよいし、それ以外の不
揮発性メモリであってもよい。なお、異常処理プログラ
ム307は、不正なメモリアクセスを行ったことを示す
情報をマイクロプロセッサ300外部に報告してもよ
い。なお、外部ROM317と外部RAM318のブロ
ック319のブロックサイズは異なっていてもよい。
【0111】なお、メモリ管理テーブル格納装置312
は、外部ROM317の一部であってもよい。なお、メ
モリ管理テーブル格納装置312は、外部RAM318
の一部であってもよい。
【0112】
【発明の効果】本発明に係るメモリ管理装置は、複数の
領域に分割されたメモリへのアクセスを管理するメモリ
管理装置であって、メモリへのアクセスの要求に基づい
て当該アクセスのアクセス先が属する領域であるアクセ
ス先領域とアクセス元が属する領域であるアクセス元領
域とを特定する特定手段と、前記特定手段により特定さ
れたアクセス元領域が前記領域毎に予め定められている
所定領域である場合にアクセスを許可すると判断し、ア
クセス元領域が前記所定領域でない場合にアクセスを許
可しないと判断する判断手段とを備えることを特徴とす
る。
【0113】上記構成によれば、メモリ管理装置は、ア
クセス先領域とアクセス元領域とを特定して、そのアク
セス元領域がアクセス先領域に所定領域として予め定め
られていなければ、アクセスを許可しない。これによ
り、メモリ管理装置は、重要なデータなどをプログラム
の不具合などによる不正なアクセスから保護することが
できる。例えば、「1」の領域に課金情報が格納され、
「2」の領域のみが「1」の領域へのアクセス可能な領
域、即ち、所定領域であるとする。このような環境であ
れば、「3」の領域に格納している命令コードに誤りが
あり、その命令コードが「1」の領域へのアクセスを要
求したとしても、メモリ管理装置は、そのアクセスを許
可しない。そのため課金情報が保護される。
【0114】また、前記メモリ管理装置は、さらに、前
記所定領域を示すアクセス情報を領域毎に記憶する記憶
手段を備え、前記判断手段は、アクセス先領域のアクセ
ス情報を参照して当該アクセス情報が示す所定領域に前
記アクセス元領域が含まれる場合にアクセスを許可する
と判断し、当該アクセス情報が示す所定領域に前記アク
セス元領域が含まれない場合に前記アクセスを許可しな
いと判断することを特徴としてもよい。
【0115】上記構成によれば、メモリ管理装置は、領
域毎にアクセス情報を記憶しており、アクセス先領域の
アクセス情報によりアクセスの可否を判断する。これに
より、メモリ管理装置は、アクセス先領域にアクセス可
能な所定領域をアクセス情報から得ることができる。ま
た、前記複数の領域の各領域は、プログラム又はプログ
ラムの一部を格納し、前記記憶手段は、領域に格納して
いるプログラム又はプログラムの一部に基づいて予め定
められた識別子とアクセスフラグとを領域毎に記憶し、
前記判断手段は、アクセス先領域の識別子、アクセス元
領域の識別子、及びアクセス先領域のアクセスフラグを
参照して、互いの識別子が一致するか、又は、互いの識
別子が一致しなくとも前記アクセスフラグがアクセス可
を示す場合にアクセスを許可すると判断し、互いの識別
子が一致せずかつ前記アクセスフラグがアクセス不可を
示す場合にアクセスを許可しないと判断することを特徴
としてもよい。
【0116】上記構成によれば、メモリ管理装置は、領
域毎にプログラム又はプログラムの一部に基づいて予め
定められている識別子とアクセスフラグとを記憶してお
り、アクセス先領域の識別子とアクセスフラグ、及びア
クセス元領域の識別子によりアクセスの可否を判断す
る。これにより、メモリ管理装置は、識別子とアクセス
フラグの2つの情報により、より詳細に各領域のアクセ
スの特性を規定することができる。
【0117】また、前記メモリ管理装置は、さらに、暗
号化されたアクセス情報を入手する入手手段と、前記入
手手段により入手された前記暗号化されたアクセス情報
を復号する復号手段とを備え、前記記憶手段は、前記復
号手段により復号された前記アクセス情報を記憶するこ
とを特徴としてもよい。上記構成によれば、アクセス情
報は、暗号化されて保存されている。メモリ管理装置
は、暗号化されたアクセス情報を復号して利用する。こ
れは、アクセス情報が漏洩したとしても、そのアクセス
情報は暗号化されているので、アクセス情報の盗み見が
されないことを意味する。
【0118】これにより、メモリ管理装置は、重要なデ
ータなどをアクセス情報の不正利用による不正なアクセ
スから保護することができる。また、前記アクセス情報
は、当該アクセス情報が正当な情報であることを示す認
証子を有し、前記メモリ管理装置は、さらに、前記認証
子を有するアクセス情報を入手する入手手段と、前記入
手手段により入手された前記アクセス情報が正当である
か否かを前記認証子を用いて確認する確認手段とを備
え、前記記憶手段は、前記確認手段により前記アクセス
情報が正当であると確認された場合に前記アクセス情報
を記憶することを特徴としてもよい。
【0119】上記構成によれば、アクセス情報は、その
アクセス情報が正当であることを示す固有の認証子を有
する。メモリ管理装置は、その認証子を用いてアクセス
情報が正当であるか否かを確認して、正当である場合に
そのアクセス情報を利用する。つまり、メモリ管理装置
は、アクセス情報が改ざんされていた場合に、そのアク
セス情報を利用しないと判断することができる。
【0120】これにより、メモリ管理装置は、改ざんさ
れたアクセス情報の利用を未然に防ぐことができる。ま
た、前記記憶手段は、当該アクセス情報が正当な情報で
あることを示す認証子を有するアクセス情報を記憶し、
前記判断手段は、前記アクセス情報が正当であると前記
認証子を用いて確認された場合に前記アクセス情報を参
照することを特徴としてもよい。
【0121】上記構成によれば、アクセス情報は、その
アクセス情報が正当であることを示す固有の認証子を有
する。メモリ管理装置は、その認証子を用いてアクセス
情報が正当であるか否かを確認して、正当である場合に
そのアクセス情報を利用する。つまり、メモリ管理装置
は、アクセス情報が改ざんされていた場合に、そのアク
セス情報を利用しないと判断することができる。
【0122】これにより、メモリ管理装置は、改ざんさ
れたアクセス情報の利用を未然に防ぐことができる。本
発明に係るメモリ管理方法は、複数の領域に分割された
メモリへのアクセスを管理するメモリ管理方法であっ
て、メモリへのアクセスの要求に基づいて、当該アクセ
スのアクセス先が属する領域であるアクセス先領域とア
クセス元が属する領域であるアクセス元領域とを特定す
る特定ステップと、前記特定ステップにより特定された
アクセス元領域が前記領域毎に予め定められている所定
領域である場合にアクセスを許可すると判断し、アクセ
ス元領域が前記所定領域でない場合にアクセスを許可し
ないと判断する判断ステップとを備えることを特徴とす
る。
【0123】上記構成によれば、メモリ管理方法は、ア
クセス先領域とアクセス元領域とを特定して、そのアク
セス元領域がアクセス先領域に所定領域として予め定め
られていなければ、アクセスを許可しない。これによ
り、メモリ管理方法は、重要なデータなどをプログラム
の不具合などによる不正なアクセスから保護することが
できる。例えば、「1」の領域に課金情報が格納され、
「2」の領域のみが「1」の領域へのアクセス可能な領
域、即ち、所定領域であるとする。このような環境であ
れば、「3」の領域に格納している命令コードに誤りが
あり、その命令コードが「1」の領域へのアクセスを要
求したとしても、メモリ管理方法は、そのアクセスを許
可しない。そのため課金情報が保護される。
【図面の簡単な説明】
【図1】メモリ管理装置の構成を示す図である。
【図2】マイクロプロセッサに内蔵されたメモリ管理装
置を示す図である。
【図3】メモリ管理テーブルの内容を示す図である。
【図4】実行プログラムの構成の一例を示す図である。
【図5】1つの実行プログラムが複数のセッションで構
成される場合に、実行プログラムがメモリに格納された
様子を示す図である。
【図6】1つの実行プログラムが複数のセッションで構
成される場合に、複数の実行プログラムがメモリに格納
された様子を示す図である。
【図7】1つの実行プログラムが1つのセッションで構
成される場合に、複数の実行プログラムがメモリに格納
された様子を示す図である。
【図8】バージョン管理テーブルの内容を示す図であ
る。
【図9】メモリアクセスの判断及びメモリアクセス処理
の手順を示す図である。
【図10】実行プログラムを作成する一例を示す図であ
る。
【図11】プログラム情報の内容の一例を示す図であ
る。
【図12】実行プログラムの更新の手順を示す図であ
る。
【図13】プログラム情報とメモリ管理テーブルの各フ
ィールドの対応関係及び、プログラム情報とバージョン
管理テーブルの各フィールドの対応関係を示す図であ
る。
【図14】プログラム内部におけるメモリ保護の実現例
を示す。
【図15】マイクロプロセッサに内蔵されたメモリ管理
装置を示す図である。
【図16】マイクロプロセッサに内蔵されたメモリ管理
装置を示す図である。
【図17】メモリ保護機能初期化を行う手順を示す図で
ある。
【図18】実行プログラムの更新の手順を示す図であ
る。
【図19】実行プログラムの更新の手順を示す図であ
る。
【図20】第2の方法を用いた従来法における、メモリ
領域の管理例を示す図である。
【図21】第2の方法を用いた場合の、論理メモリ空間
400に配置されたプログラム1のメモリアクセスの一
例を示す図である。
【符号の説明】
101 メモリ管理装置 102 特定部 103 判断部 104 記憶部 105 CPU 106 メモリ 110、260、300 マイクロプロセッサ 111、261、301 CPU 112、262、302 認証子作成装置 113、263、303 論理アドレス・物理アドレス
変換装置 114、264、304 内部ROM 115、265、305 ブートプログラム 116、266、306 更新用プログラム 117、267、307 異常処理プログラム 118、268、308 メモリ管理装置 119、269、309 メモリ管理テーブル作成部 120、270、310 メモリアクセス可否判断部 121、271、311 バージョン管理テーブル作成
部 122、272、312 メモリ管理テーブル格納部 123、273、313 メモリ管理テーブル 124、274、314 バージョン管理テーブル 125、275、315 メモリアクセス部 126、276、316 内部バス 127、277、317 外部ROM 128、278、318 外部RAM 129、279、319 ブロック 130、280、320 外部バス 281、321 内部RAM 282 暗号化装置 283 ID格納装置 284 ID 322 認証子判定装置 323 認証子格納装置 324 メモリ管理テーブルの認証子
フロントページの続き (72)発明者 宗 広和 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 井上 信治 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B017 AA01 BA01 BA06 CA15

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数の領域に分割されたメモリへのアク
    セスを管理するメモリ管理装置であって、 メモリへのアクセスの要求に基づいて、当該アクセスの
    アクセス先が属する領域であるアクセス先領域とアクセ
    ス元が属する領域であるアクセス元領域とを特定する特
    定手段と、 前記特定手段により特定されたアクセス元領域が前記領
    域毎に予め定められている所定領域である場合に、アク
    セスを許可すると判断し、アクセス元領域が前記所定領
    域でない場合に、アクセスを許可しないと判断する判断
    手段とを備えることを特徴とするメモリ管理装置。
  2. 【請求項2】 前記メモリ管理装置は、さらに、 前記所定領域を示すアクセス情報を領域毎に記憶する記
    憶手段を備え、 前記判断手段は、 アクセス先領域のアクセス情報を参照して、当該アクセ
    ス情報が示す所定領域に前記アクセス元領域が含まれる
    場合に、アクセスを許可すると判断し、当該アクセス情
    報が示す所定領域に前記アクセス元領域が含まれない場
    合に、前記アクセスを許可しないと判断することを特徴
    とする請求項1に記載のメモリ管理装置。
  3. 【請求項3】 前記複数の領域の各領域は、プログラム
    又はプログラムの一部を格納し、 前記記憶手段は、 領域に格納しているプログラム又はプログラムの一部に
    基づいて予め定められた識別子とアクセスフラグとを領
    域毎に記憶し、 前記判断手段は、 アクセス先領域の識別子、アクセス元領域の識別子、及
    びアクセス先領域のアクセスフラグを参照して、 互いの識別子が一致するか、又は、互いの識別子が一致
    しなくとも前記アクセスフラグがアクセス可を示す場合
    に、アクセスを許可すると判断し、互いの識別子が一致
    せずかつ前記アクセスフラグがアクセス不可を示す場合
    に、アクセスを許可しないと判断することを特徴とする
    請求項2に記載のメモリ管理装置。
  4. 【請求項4】 前記メモリ管理装置は、さらに、 暗号化されたアクセス情報を入手する入手手段と、 前記入手手段により入手された前記暗号化されたアクセ
    ス情報を復号する復号手段とを備え、 前記記憶手段は、 前記復号手段により復号された前記アクセス情報を記憶
    することを特徴とする請求項2に記載のメモリ管理装
    置。
  5. 【請求項5】 前記アクセス情報は、当該アクセス情報
    が正当な情報であることを示す認証子を有し、 前記メモリ管理装置は、さらに、 前記認証子を有するアクセス情報を入手する入手手段
    と、 前記入手手段により入手された前記アクセス情報が正当
    であるか否かを前記認証子を用いて確認する確認手段と
    を備え、 前記記憶手段は、 前記確認手段により前記アクセス情報が正当であると確
    認された場合に、前記アクセス情報を記憶することを特
    徴とする請求項2に記載のメモリ管理装置。
  6. 【請求項6】 前記記憶手段は、 当該アクセス情報が正当な情報であることを示す認証子
    を有するアクセス情報を記憶し、 前記判断手段は、 前記アクセス情報が正当であると前記認証子を用いて確
    認された場合に、前記アクセス情報を参照することを特
    徴とする請求項2に記載のメモリ管理装置。
  7. 【請求項7】 複数の領域に分割されたメモリへのアク
    セスを管理するメモリ管理方法であって、 メモリへのアクセスの要求を解析し、当該アクセスのア
    クセス先が属する領域であるアクセス先領域とアクセス
    元が属する領域であるアクセス元領域とを特定する特定
    ステップと、 前記特定ステップにより特定されたアクセス元領域が、
    アクセス先領域毎に予め定められている所定領域である
    場合にアクセスを許可すると判断し、アクセス元領域が
    前記所定領域でない場合にアクセスを許可しないと判断
    する判断ステップとを備えることを特徴とするメモリ管
    理方法。
JP2002340025A 2001-12-14 2002-11-22 メモリ管理装置及びメモリ管理方法 Pending JP2003242030A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002340025A JP2003242030A (ja) 2001-12-14 2002-11-22 メモリ管理装置及びメモリ管理方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-381334 2001-12-14
JP2001381334 2001-12-14
JP2002340025A JP2003242030A (ja) 2001-12-14 2002-11-22 メモリ管理装置及びメモリ管理方法

Publications (1)

Publication Number Publication Date
JP2003242030A true JP2003242030A (ja) 2003-08-29

Family

ID=27790856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002340025A Pending JP2003242030A (ja) 2001-12-14 2002-11-22 メモリ管理装置及びメモリ管理方法

Country Status (1)

Country Link
JP (1) JP2003242030A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005129041A (ja) * 2003-10-01 2005-05-19 Toshiba Corp マイクロコンピュータ
JP2006209703A (ja) * 2005-01-31 2006-08-10 Nippon Telegr & Teleph Corp <Ntt> プログラム実行保護プロセッサ
JP2007287103A (ja) * 2006-04-20 2007-11-01 Nec Electronics Corp マイクロコンピュータ及びメモリアクセスの制御方法
WO2008152846A1 (ja) * 2007-06-13 2008-12-18 Renesas Technology Corp. 制御回路および処理装置
US7640365B2 (en) 2006-09-26 2009-12-29 Hitachi, Ltd. Highly reliable disk controller
JP2010128571A (ja) * 2008-11-25 2010-06-10 Dainippon Printing Co Ltd 半導体装置、半導体装置の制御方法および半導体装置の制御プログラム
JP2010525456A (ja) * 2007-04-20 2010-07-22 モトローラ・インコーポレイテッド 書込プロテクトされたメモリ管理ユニット・レジスタを備える論理デバイス
JP2010231778A (ja) * 2009-03-04 2010-10-14 Apple Inc 不揮発性メモリに対してデータの読み出しおよび書き込みを行うためのデータホワイトニング
JP2011222055A (ja) * 2011-08-12 2011-11-04 Renesas Electronics Corp マイクロコンピュータ及びメモリアクセスの制御方法
JP2013533521A (ja) * 2010-03-01 2013-08-22 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 不揮発性メモリのメモリブロックを検査する方法
US11487258B2 (en) 2016-09-09 2022-11-01 Hitachi Industrial Equipment Systems Co., Ltd. Controller and control management system

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005129041A (ja) * 2003-10-01 2005-05-19 Toshiba Corp マイクロコンピュータ
JP4551231B2 (ja) * 2005-01-31 2010-09-22 日本電信電話株式会社 プログラム実行保護システム、プログラム実行保護方法
JP2006209703A (ja) * 2005-01-31 2006-08-10 Nippon Telegr & Teleph Corp <Ntt> プログラム実行保護プロセッサ
JP2007287103A (ja) * 2006-04-20 2007-11-01 Nec Electronics Corp マイクロコンピュータ及びメモリアクセスの制御方法
US9904631B2 (en) 2006-04-20 2018-02-27 Renesas Electronics Corporation Microcomputer and method for controlling memory access
US9262341B2 (en) 2006-04-20 2016-02-16 Renesas Electronics Corporation Microcomputer and method for controlling memory access
US9003148B2 (en) 2006-04-20 2015-04-07 Renesas Electronics Corporation Microcomputer and method for controlling memory access
US8312238B2 (en) 2006-04-20 2012-11-13 Renesas Electronics Corporation Microcomputer and method for controlling memory access
US7640365B2 (en) 2006-09-26 2009-12-29 Hitachi, Ltd. Highly reliable disk controller
US8069272B2 (en) 2006-09-26 2011-11-29 Hitachi, Ltd. Highly reliable disk controller
JP2010525456A (ja) * 2007-04-20 2010-07-22 モトローラ・インコーポレイテッド 書込プロテクトされたメモリ管理ユニット・レジスタを備える論理デバイス
JP2008310460A (ja) * 2007-06-13 2008-12-25 Renesas Technology Corp 制御回路、記憶媒体、処理装置、組込みシステムならびに領域管理方法
WO2008152846A1 (ja) * 2007-06-13 2008-12-18 Renesas Technology Corp. 制御回路および処理装置
JP2010128571A (ja) * 2008-11-25 2010-06-10 Dainippon Printing Co Ltd 半導体装置、半導体装置の制御方法および半導体装置の制御プログラム
JP2010231778A (ja) * 2009-03-04 2010-10-14 Apple Inc 不揮発性メモリに対してデータの読み出しおよび書き込みを行うためのデータホワイトニング
US8918655B2 (en) 2009-03-04 2014-12-23 Apple Inc. Data whitening for writing and reading data to and from a non-volatile memory
KR101534370B1 (ko) * 2009-03-04 2015-07-09 애플 인크. 비휘발성 메모리에 데이터를 기록하고 이로부터 데이터를 판독하기 위한 데이터 화이트닝
JP2013533521A (ja) * 2010-03-01 2013-08-22 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 不揮発性メモリのメモリブロックを検査する方法
JP2011222055A (ja) * 2011-08-12 2011-11-04 Renesas Electronics Corp マイクロコンピュータ及びメモリアクセスの制御方法
US11487258B2 (en) 2016-09-09 2022-11-01 Hitachi Industrial Equipment Systems Co., Ltd. Controller and control management system

Similar Documents

Publication Publication Date Title
US11550962B2 (en) Secure processor and a program for a secure processor
JP5260081B2 (ja) 情報処理装置及びその制御方法
JP4995651B2 (ja) 木構造を持つ鍵管理ソフトウエアにおける、鍵使用の高速化手段、及び装置
JP4473330B2 (ja) データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復
KR100294829B1 (ko) 플래시 메모리를 보호하는 방법 및 장치
US7774619B2 (en) Secure code execution using external memory
CN109800050B (zh) 一种虚拟机的内存管理方法、装置、相关设备及系统
US20110289294A1 (en) Information processing apparatus
US20150058979A1 (en) Processing system
JP2010510574A (ja) セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法
TW200941278A (en) Secure update of boot image without knowledge of secure key
JP2003242030A (ja) メモリ管理装置及びメモリ管理方法
JP2009169868A (ja) 記憶領域アクセス装置及び記憶領域のアクセス方法
CN117874721A (zh) 一种jar包防反编译方法
CN117751361A (zh) 用于保护软件的使用的方法