JP5374751B2 - メモリ管理方法 - Google Patents

メモリ管理方法 Download PDF

Info

Publication number
JP5374751B2
JP5374751B2 JP2008198870A JP2008198870A JP5374751B2 JP 5374751 B2 JP5374751 B2 JP 5374751B2 JP 2008198870 A JP2008198870 A JP 2008198870A JP 2008198870 A JP2008198870 A JP 2008198870A JP 5374751 B2 JP5374751 B2 JP 5374751B2
Authority
JP
Japan
Prior art keywords
program
data
read
memory
code information
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.)
Active
Application number
JP2008198870A
Other languages
English (en)
Other versions
JP2010039576A (ja
Inventor
睦美 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HYPERTECH CO Ltd
Original Assignee
HYPERTECH 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 HYPERTECH CO Ltd filed Critical HYPERTECH CO Ltd
Priority to JP2008198870A priority Critical patent/JP5374751B2/ja
Publication of JP2010039576A publication Critical patent/JP2010039576A/ja
Application granted granted Critical
Publication of JP5374751B2 publication Critical patent/JP5374751B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、メモリ管理方法に関するものである。
従来、情報処理装置で実行されるプログラムを暗号化した状態でハードディスクなどにストレージしておいて、プログラム実行時に復号化することでプログラムの秘匿性を維持することが行なわれている。このとき、メモリには復号化されたプログラムが展開されているため、第三者によって不正に解析される可能性がある。
この不都合を軽減すべく、復号化されたプログラムを、装置ごとに、あるいは、時刻などのパラメータに基づいて、メモリの異なる位置に展開する技術はすでに特許文献1に開示されている。
特開2005−71055号公報
しかしながら、上記特許文献1で示される手法では、復号化されたプログラム自体はメモリに存在するため、第三者によって不正に解析されるおそれは依然として残っており、課題となっていた。
本発明はかかる実情に鑑みて、仮想メモリ上に展開されているプログラムのコード情報をCPUにとって暗号化されてかつアクセス不可能なデータとしておいて、暗号化された領域に対してデータ読込要求あるいはデータ書込要求をする場合)に割込処理により前記領域を含むメモリ管理装置の管理単位に対するアクセス不可能状態をアクセス可能状態に変更して復号化するメモリ管理方法を提案するものである。
より具体的には、以下の通りである。
(1)仮想メモリ上に展開されているプログラムのコード情報の処理方法であって、前記コード情報を暗号化しかつCPUからデータ読込あるいはデータ書込不可能なデータとする暗号化ステップと、前記コード情報に対するCPUによるデータ読込要求あるいはデータ書込要求があった場合に、それに伴って暗号化された領域を含むメモリ管理装置の管理単位に対するアクセス不可能状態をアクセス可能状態に変更しかつ復号化する割り込み処理を実行する復号化ステップと、前記データ読込要求あるいはデータ書込要求が他の管理単位の情報を指定した場合に、復号化ステップによってデータ読込要求あるいはデータ書込要求が可能となった管理単位のデータに対して再び暗号化ステップを実行させるための再帰ステップと、を含むメモリ管理方法。
(2) (1)における暗号化ステップは、プログラムの起動によりこのプログラムのプログラムカウンタが実行ファイルのエントリアドレスを指定する以前に実行されるメモリ管理方法。
(3)仮想メモリ上に展開されているプログラムのコード情報の処理プログラムであって、
前記コード情報を暗号化しかつCPUからデータ読込あるいはデータ書込不可能なデータとする暗号化ステップと、前記コード情報に対するCPUによるデータ読込要求あるいはデータ書込要求があった場合に、それに伴って暗号化された領域を含むメモリ管理装置の管理単位に対するアクセス不可能状態をアクセス可能状態に変更しかつ復号化する割り込み処理を実行する復号化ステップと、前記データ読込要求あるいはデータ書込要求が他の管理単位の情報を指定した場合に、復号化ステップによってデータ読込要求あるいはデータ書込要求が可能となった管理単位のデータに対して再び暗号化ステップを実行させるための再帰ステップと、を有する計算機に実行可能なプログラム。
(4) (3)の暗号化ステップは、プログラムの起動によりこのプログラムのプログラムカウンタが実行ファイルのエントリアドレスを指定する以前に実行されるプログラム。
(5)仮想メモリ上に展開されているプログラムのコード情報の処理プログラムを記録した記録媒体であって、前記コード情報を暗号化しかつCPUからデータ読込あるいはデータ書込不可能なデータとする暗号化ステップと、前記コード情報に対するCPUによるデータ読込要求あるいはデータ書込要求があった場合に、それに伴って暗号化された領域を含むメモリ管理装置の管理単位に対するアクセス不可能状態をアクセス可能状態に変更しかつ復号化する割り込み処理を実行する復号化ステップと、前記データ読込要求あるいはデータ書込要求が他の管理単位の情報を指定した場合に、復号化ステップによってデータ読込要求あるいはデータ書込要求が可能となった管理単位のデータに対して再び暗号化ステップを実行させるための再帰ステップと、を計算機に実行させるためのプログラムを計算機読み取り可能に記録した記録媒体。
(6) (5)の暗号化ステップは、プログラムの起動によりこのプログラムのプログラムカウンタが実行ファイルのエントリアドレスを指定する以前に実行されるプログラムを記録した記録媒体。
本件発明に係るメモリの管理方法は、仮想メモリ上に展開されているプログラムのコード情報暗号化されてかつCPUからアクセス不可能なデータとすることで、メモリが第三者によって不正に解析されることを困難にする。なお、OSの心臓部分で、プロセス制御やメモリ管理などを行なうカーネルの有する特権モードを利用すれば、メモリの吸出しが可能となる場合があるが、その場合でもメモリ自体が暗号化されているのと同じ効果を有するため、メモリに格納されたデータの内容を知ることはできず、信頼性が高い。
また、暗号化された領域に対してデータ読込要求あるいはデータ書込要求をした場合に割込処理により前記領域を含むメモリ管理装置の管理単位に対するアクセス不可能状態をアクセス可能状態に変更し、アクセス可能とされた前記管理単位のCPUにとってデータ読込あるいはデータ書込不可能なデータのみをCPUが処理可能な状態に復号することによって、ユーザ自身は特段の不便を感じることなく処理操作を実行することができるという効果を有する。
以下に、本発明を実施するための最良の形態を説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。
また、以下に記載する各構成要素は、ハードウェア、またはメモリ上に展開しハードウェアを制御することでその作用が得られるソフトウェア、またはハードウェア及びソフトウェアの両方として実現されうる。具体的には、コンピュータを利用するものであれば、CPU、メモリ、ハードディスクドライブ、CD−ROM/DVD−ROMなどの読み取りドライブ、各種通信用の送受信ポート・インターフェイス・その他の周辺装置などのハードウェア構成部、それらハードウェアを制御するためのドライバプログラム、その他アプリケーションプログラムなどが挙げられる。
さらに、この発明は方法として実現できるのみでなく、装置またはシステムとしても実現可能である。またこのような発明の一部をソフトウェアとして構成することもできる。さらにそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を固定した記録媒体も、当然にこの発明の技術的な範囲に含まれる(本明細書の全体を通じて同様である。)
<<実施形態>>
<概要> 本発明の概要について説明する。本発明は、仮想メモリ上に展開されているプログラムのコード情報あるいはデータをCPUにとって暗号化されてかつアクセス不可能なデータとしておいて、暗号化された領域に対してデータ読込要求あるいはデータ書込要求をした場合に割込処理により前記領域を含むメモリ管理装置の管理単位に対するアクセス不可能状態をアクセス可能状態に変更して復号化するメモリ管理方法である。データ読込要求やデータ書込要求とは、たとえばプログラムカウンタでデータ読込対象のアドレスが指定されたタイミングなどをさす。
<構成> 図1は、本発明の一実施形態にかかる情報処理装置であるメモリ管理装置の構成を示すブロック図である。図で示したように、メモリ管理装置(0100)は主として、ハードディスクドライブ(0101)と、CPU(0102)と、メモリマネージメントユニット(0103)と、メインメモリ(0104)と、システムバス(0105)と、から構成されている。
ハードディスクドライブ(0101)(以下、HDDと記す。)は、各種プログラムファイル(0106)や、データなどを格納する。HDDコントローラは、HDDへのアクセスを制御する。
メインメモリ(0104)は、HDDに格納されているプログラムを実行するために、そのプログラムを読み出して展開(ロード)する領域であるワーク領域と、データなどを一時的に格納するデータ領域とを提供する。例えばアプリケーションプログラム(0109)は、実行時にHDDからメインメモリに一定サイズのページ単位(1ページ=4Kバイト)でロードされ、メインメモリのワーク領域に格納される。また、メインメモリはオペレーティングシステム(以下、OSと記す。)(0108)を格納する。OSは、情報処理装置の起動時にHDDからメインメモリにロードされる。
なお、このメインメモリやHDDにはそれぞれ複数のメモリアドレスが割り当てられており、CPUで実行されるプログラムは、そのメモリアドレスを特定しアクセスすることで相互にデータのやり取りを行い、処理することが可能となっている。
また、メインメモリは、物理メモリ−仮想メモリ変換テーブル(0110)を有する。物理メモリ−仮想メモリ変換テーブルは、仮想メモリアドレス空間と、メインメモリのアドレス空間としての物理メモリ空間との間のページ単位のマッピングを管理するためのテーブルである。この変換テーブルに基づいて、仮想メモリアドレス空間に配置されるプログラムの各ページに、物理メモリ空間内のいずれのページが割り当てられるかが定まる。一般に、仮想メモリアドレス空間のサイズの方が、物理メモリ空間サイズよりも大きい。この場合、仮想メモリアドレス空間に配置されるプログラムの一部のページのみが物理メモリ空間に配置される。
CPU(0102)は、メインメモリにロードされているアプリケーションプログラム及びOS等を実行する。システムバス(0105)は、メモリマネージメントユニット(0103)、メインメモリ、CPUを相互に接続する。
図2は、プログラムが実行中の場合に、当該プログラムが配置されている仮想メモリアドレス空間のページと、物理メモリ空間のページとの対応付けの例を示したものである。図は、仮想メモリアドレスの各ページ(仮想ページ)に、矢印で指定される物理メモリ空間のページ(物理ページ)が割り当てられていることを示している。このように、プログラムのコード情報は、仮想メモリ上に展開(ロード)することができる。なお、「プログラムのコード情報」とは、プログラム言語の記述仕様に沿って記述されたソースコードをバイナリコードに変換した情報である。また、プログラムには、EXEファイルの他、EXEファイルが参照するDLL(Dynamic−Link Library)ファイルなども含まれる場合がある。さらに場合により「プログラムのコード情報」には、プログラムが処理する対象となる情報資源も含まれる。たとえばグラフィックのための情報、プログラムの実行処理に利用する各種の数値、など各種のものが含まれうる。
図3は、メモリ空間に配置されているプログラムの例を示したものである。図で網掛けされている部分は暗号化が施されている部分である。図で示すように、プログラムに含まれるヘッダ部について暗号化は行なわず、コード部について暗号化を行なう。なお、データ部については、暗号化することは可能であるが、ここでは暗号化しない例を示した。また暗号化は必ずしも複雑な変換をするもののみならず、単純な演算によって元のデータを変換する処理をも含む。たとえば単純に各値に1を足したり、1を引いたりする、単純に特定の数値との積をとるというようなものも含む。
最初に、プログラム起動命令によって、ヘッダの解析を実行し、実行ファイルのエントリアドレス(ここでは4000番地)が取得できたら、プログラムカウンタ(以下、PCと記す。)をエントリアドレスの値にセットする。CPUは、PCの示す番地のコード情報にアクセスすることで、データ読込(あるいはデータ書込)を行い(本図においては「コードフェッチ」あるいは「データアクセス」と表記した。以下他の図面においても同じ。)、解析を実行する(A)。なお、このとき、4000番地のコード情報はCPUにとってデータ読込不可能(あるいはデータ書込不可能)であるため、エラーコードが発生する(B)。エラーコードの発生がトリガとなり、割込処理が発生する。処理不可能化された領域を含むメモリ管理装置の管理単位(例えば、ページ単位:4Kバイト)に対するアクセス不可能状態をアクセス可能状態に変更する(C)。この処理は、当該ページのアクセス状態を示すフラグレジスタなどを書き換えることによって実行する。なお、データ読込とは、CPUによるコード情報のフェッチを含む広い概念である。
続いて、図4は、第2ページ(先頭アドレスが4000番地のページ)がアクセス可能状態となったメモリを示した。前記と同様に、エラーコードの発生がトリガとなり、割込処理によりアクセス可能とされた前記管理単位のCPUにとってデータ読込あるいはデータ書込不可能なデータのみをCPUが処理可能な状態に書き換える(D)。この処理は、割込処理によって呼び出された復号化プログラムが実行されることによって実現する。復号化プログラムは、所定の関数を実行するものなどが例示できる(復号化プログラムの種類については、後で詳述する。)。復号化プログラムは、管理単位である1ページ(4Kバイト)分のデータをデコードし、元のメモリ領域である第2ページに上書きする。これによって、CPUは、第2ページのデータ読込あるいはデータ書込が可能となる。このとき、CPUは、PC(プログラムカウンタ)をインクリメントしながら順次プログラムを実行することになるが、PCがデータ読込あるいはデータ書込が可能な領域以外の領域を指定する事態も生じうる。
さらに、図5は、PCが8000番地をアクセスしようとしている場面を示した。8000番地のコード情報はCPUにとってコードフェッチ(あるいはデータアクセス)不可能であるため、エラーコードが発生する(E)。エラーコードの発生がトリガとなり、割込処理によりアクセス可能化処理と、復号処理が実行されることはすでに説明したとおりである(F)。ここでは加えて、CPUが、コードフェッチ(あるいはデータアクセス)可能となった管理単位のデータに対して再び暗号化をする再帰処理を実行する(G)。この再帰処理は、割り込み処理によって呼び出された暗号化プログラムが実行されるものの他に、割り込み処理をトリガとして正しいコード情報以外のデータを当該ページに上書きするものなどが例示できる。なお、暗号化プログラムは、所定の関数を実行するものなどが例示できる(暗号化プログラムの種類については、後で詳述する。)。最後に、メモリ領域のアクセス状態を示すフラグレジスタをアクセス不可の状態に書き換える。
なお、暗号化処理は、プログラムの起動によりこのプログラムのPCが実行ファイルのエントリアドレスを指定する以前に実行されることがある。このとき、処理不可能化処理はプログラムがメモリにロードされると直ちに実行されるとしてもよい。あるいは、所定の単位ごとにプログラムのロード、暗号化、上書きの一連の処理を繰り返し、処理不可能化処理を実現する場合もある。
ここで、コード情報を暗号化/復号化する手法について説明する。コード情報を暗号化するためには、元のデータに所定の定数(例えば、2など)の四則演算(加減乗除)をそれぞれ行なうなどの方法にて実現できる。これを復号化するには、逆に所定の定数をそれぞれ減算、加算、除算、乗算すればよい。
あるいは、図6で示すように、排他的論理和を行なうことによっても実現できる。具体的には、元のデータ(0601)であるFFHに対して、88HのXOR演算を実施すると、77Hという結果が得られる。このとき得られた値が、暗号化データ(0602)である。他方、暗号化データを復号化する場合には、同様に暗号化データ77Hに対して、88HのXOR演算を実施するとよい。演算結果はFFHとなり、復号化すると元のデータが得られることが確認できる。ただし、オーバーフローが発生しないことを保障する必要がある。
また、暗号化技術として、例えば、DES、FEAL、MISTY、IDEAといった秘密鍵暗号化方式を用いることもできる。また、例えば、RSA、楕円曲線、ElGamalといった公開鍵暗号化方式を用いることもある。公開鍵暗号化方式の場合には、プログラムの製作者などが、暗号化されたプログラムに加えて、復号プログラムに秘密鍵に対応する公開鍵を含めるなどしてユーザに配布することになる。暗号化プログラムと、復号化プログラムは一体として動作するが、必ずしも同一ファイルである必要はない。
<処理の流れ> 図7は、本実施形態のメモリ管理方法の一例を示したものである。なお、以下に示す処理の流れは、計算機に実行させるためのプログラムで実行することができ、またこのプログラムを計算機によって読取り可能な記録媒体に記録することができる。(本明細書のその他の処理の流れについても同様である。)
まず、仮想メモリ上に展開されているプログラムのコード情報あるいはデータを暗号化されてかつアクセス不可能なデータとする(暗号化ステップ S0701)。
次に、前記プログラムの実行のために暗号化された領域をコードフェッチあるいはデータアクセスしたかの判断を実行し(領域指定判断ステップ S0702)、暗号化された領域を指定したとの判断結果の場合には、現在CPUがコードフェッチあるいはデータアクセス可能となっている管理単位のデータに対してCPUにとってコード処理不可能かつアクセス不可能なデータとする(再帰ステップ S0703)。
なお、領域指定判断ステップ(S0702)にて、PCが処理可能な領域を指定したとの判断結果の場合には、指定アドレスにアクセスし、PCを進める(指定アドレスアクセスステップ S0706)とともに、領域指定判断ステップ(S0702)を繰り返す。
また、割込処理により前記領域を含むメモリ管理装置の管理単位に対するアクセス不可能状態をアクセス可能状態に変更する(アクセス可能化ステップ S0704)。同じく、割込処理によりアクセス可能とされた前記管理単位のCPUにとってコードフェッチあるいはデータアクセス不可能なデータのみをCPUが処理可能な状態に書き換えて復号化する(復号ステップ S0705)。その後、指定アドレスアクセスステップ(S0706)に遷移して、指定アドレスにアクセスし、PCを進める。
また、図8は、プログラム起動時における処理不可能化処理の一例を示したものである。最初に、プログラムコードを仮想メモリ上に展開する(ロードステップ S0801)。次に、プログラムのコード情報あるいはデータを暗号化されてかつアクセス不可能なデータとする(暗号化ステップ S0802)。続いて、実行ファイルのエントリアドレスを取得するまで、ヘッダの解析を実行する(ヘッダ解析ステップ S0803、S0804)。最後に、プログラムカウンタに取得したエントリアドレスの値を設定する(PC設定ステップ S0805)。
<効果> 本発明は、仮想メモリ上に展開されているプログラムのコード情報あるいはデータをCPUにとって暗号化されてかつアクセス不可能なデータとすることで、メモリが第三者によって不正に解析されることを困難にする。なお、OSの心臓部分で、プロセス制御やメモリ管理などを行なうカーネルの有する特権モードを利用すれば、メモリの吸出しが可能となる場合があるが、その場合でもメモリ自体が暗号化されているのと同じ効果を有するため、メモリに格納されたデータの内容を知ることはできず、信頼性が高い。
また、暗号化された領域をコードフェッチあるいはデータアクセスした場合に割込処理により前記領域を含むメモリ管理装置の管理単位に対するアクセス不可能状態をアクセス可能状態に変更し、アクセス可能とされた前記管理単位のCPUにとってコードフェッチあるいはデータアクセス不可能なデータのみをCPUが処理可能な状態に復号することによって、ユーザ自身は特段の不便を感じることなく処理操作を実行することができる。
メモリ管理装置のハードウェア構成の一例を示した図 仮想メモリアドレス空間と実アドレス空間の対応関係を示した図 メモリ空間に配置されているプログラムの例を示した図(その1) メモリ空間に配置されているプログラムの例を示した図(その2) メモリ空間に配置されているプログラムの例を示した図(その3) 排他的論理和を用いた暗号化の一例を示した図 処理の流れの一例の示した図 プログラム起動時の処理の流れの一例の示した図
符号の説明
0100 メモリ管理装置
0101 HDD
0102 CPU
0103 MMU
0104 メインメモリ
0105 システムバス
0106 プログラムファイル
0107 ページングファイル
0108 OS
0109 アプリケーションプログラム
0110 物理メモリ−仮想メモリ変換テーブル

Claims (6)

  1. 仮想メモリ上に展開されているプログラムのコード情報の処理を計算機が実行するメモリ管理方法であって、
    前記コード情報を暗号化する暗号化ステップと、
    暗号化ステップにて暗号化された前記コード情報をCPUからデータ読込あるいはデータ書込不可能なデータとする読込/書込不可能化ステップと、
    前記コード情報に対するCPUによるデータ読込要求あるいはデータ書込要求があった場合に、それに伴って暗号化された領域を含むメモリ管理装置の管理単位に対するアクセス不可能状態をアクセス可能状態に変更しかつ復号化する割り込み処理を実行する復号化ステップと、
    前記データ読込要求あるいはデータ書込要求が他の管理単位の情報を指定した場合に、仮想メモリ上に展開され復号化ステップによってデータ読込要求あるいはデータ書込要求が可能となった管理単位のデータに対して前記暗号化ステップにて当該データを再び暗号化したうえで上書き処理を行う再帰ステップと、
    を含むメモリ管理方法。
  2. 前記読込/書込不可能化ステップは、プログラムの起動によりこのプログラムのプログラムカウンタが実行ファイルのエントリアドレスを指定する以前に実行される請求項1に記載のメモリ管理方法。
  3. 仮想メモリ上に展開されているプログラムのコード情報の処理プログラムであって、
    前記コード情報を暗号化する暗号化ステップと、
    暗号化ステップにて暗号化された前記コード情報をCPUからデータ読込あるいはデータ書込不可能なデータとする読込/書込不可能化ステップと、
    前記コード情報に対するCPUによるデータ読込要求あるいはデータ書込要求があった場合に、それに伴って暗号化された領域を含むメモリ管理装置の管理単位に対するアクセス不可能状態をアクセス可能状態に変更しかつ復号化する割り込み処理を実行する復号化ステップと、
    前記データ読込要求あるいはデータ書込要求が他の管理単位の情報を指定した場合に、仮想メモリ上に展開され復号化ステップによってデータ読込要求あるいはデータ書込要求が可能となった管理単位のデータに対して前記暗号化ステップにて当該データを再び暗号化したうえで上書き処理を行う再帰ステップと、
    を有する計算機に実行可能なプログラム。
  4. 前記読込/書込不可能化ステップは、プログラムの起動によりこのプログラムのプログラムカウンタが実行ファイルのエントリアドレスを指定する以前に実行される請求項3に記載のプログラム。
  5. 仮想メモリ上に展開されているプログラムのコード情報の処理プログラムを記録した記録媒体であって、
    前記コード情報を暗号化する暗号化ステップと、
    暗号化ステップにて暗号化された前記コード情報をCPUからデータ読込あるいはデータ書込不可能なデータとする読込/書込不可能化ステップと、
    前記コード情報に対するCPUによるデータ読込要求あるいはデータ書込要求があった場合に、それに伴って暗号化された領域を含むメモリ管理装置の管理単位に対するアクセス不可能状態をアクセス可能状態に変更しかつ復号化する割り込み処理を実行する復号化ステップと、
    前記データ読込要求あるいはデータ書込要求が他の管理単位の情報を指定した場合に、仮想メモリ上に展開され復号化ステップによってデータ読込要求あるいはデータ書込要求が可能となった管理単位のデータに対して前記暗号化ステップにて当該データを再び暗号化したうえで上書き処理を行う再帰ステップと、
    を計算機に実行させるためのプログラムを計算機読み取り可能に記録した記録媒体。
  6. 前記読込/書込不可能化ステップは、プログラムの起動によりこのプログラムのプログラムカウンタが実行ファイルのエントリアドレスを指定する以前に実行されるプログラムを記録した請求項5に記載の記録媒体。
JP2008198870A 2008-07-31 2008-07-31 メモリ管理方法 Active JP5374751B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008198870A JP5374751B2 (ja) 2008-07-31 2008-07-31 メモリ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008198870A JP5374751B2 (ja) 2008-07-31 2008-07-31 メモリ管理方法

Publications (2)

Publication Number Publication Date
JP2010039576A JP2010039576A (ja) 2010-02-18
JP5374751B2 true JP5374751B2 (ja) 2013-12-25

Family

ID=42012089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008198870A Active JP5374751B2 (ja) 2008-07-31 2008-07-31 メモリ管理方法

Country Status (1)

Country Link
JP (1) JP5374751B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011096073A1 (ja) * 2010-02-08 2011-08-11 Ogawa Mutsumi メモリ管理方法
JP5775738B2 (ja) * 2011-04-28 2015-09-09 富士通株式会社 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム
JP5988473B2 (ja) * 2011-09-20 2016-09-07 株式会社Dnpハイパーテック モジュールの暗号化/復号化プログラム
JP7101500B2 (ja) * 2018-03-12 2022-07-15 岸本 珠子 暗号化装置、暗号化システム、及び暗号化方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003186749A (ja) * 2001-12-19 2003-07-04 Fujitsu Ltd コンピュータ、メモリダンプ方法およびメモリダンププログラム
KR100619657B1 (ko) * 2002-06-05 2006-09-08 후지쯔 가부시끼가이샤 메모리 관리 유닛, 코드 검증 장치 및 코드 복호 장치
JP2004272594A (ja) * 2003-03-07 2004-09-30 Sony Corp データ利用装置及びデータ利用方法、並びにコンピュータ・プログラム
US7472285B2 (en) * 2003-06-25 2008-12-30 Intel Corporation Apparatus and method for memory encryption with reduced decryption latency
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
JP2007122391A (ja) * 2005-10-27 2007-05-17 Toshiba Corp 暗号化プログラムを復号して実行する情報処理装置及びメモリ管理方法

Also Published As

Publication number Publication date
JP2010039576A (ja) 2010-02-18

Similar Documents

Publication Publication Date Title
EP1943607B1 (en) Program executable image encryption
EP3807797B1 (en) Pointer authentication and dynamic switching between pointer authentication regimes
JP5670578B2 (ja) 機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置
US8924739B2 (en) System and method for in-place encryption
KR100823374B1 (ko) 휴면 보호
US9104602B2 (en) Method and apparatus for performing mapping within a data processing system having virtual machines
JP5904505B2 (ja) 仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体
KR101054981B1 (ko) 프로그램의 콘텍스트를 보안적으로 저장하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체
US20120260106A1 (en) System and method for binary layout randomization
US10956157B1 (en) Taint protection during speculative execution
JP6109441B1 (ja) ラウンド削減型暗号を採用するxts暗号化システムとともに使用するための動的暗号化鍵
JP2005018770A (ja) システム・オン・チップのためのセキュリティ・アーキテクチャ
JP2006221632A (ja) プロセッサ内にセキュアな起動シーケンスを提供する方法および装置
US20130166922A1 (en) Method and system for frame buffer protection
US20090187704A1 (en) Method and system for secure code encryption for pc-slave devices
JP2006209703A (ja) プログラム実行保護プロセッサ
JP5374751B2 (ja) メモリ管理方法
JP2005158043A (ja) システム・ページング・ファイルの暗号化
US20150161414A1 (en) Obfuscating in memory encryption keys
WO2011096073A1 (ja) メモリ管理方法
JP2007122391A (ja) 暗号化プログラムを復号して実行する情報処理装置及びメモリ管理方法
KR102584506B1 (ko) 가상 기계들을 위한 상태 정보 보호
JP2009253490A (ja) メモリシステムの暗号化方式
JP5673045B2 (ja) 組み込み機器、暗号化・復号方法、プログラム
JP2007328541A (ja) 電子機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110615

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120308

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130703

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130710

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130904

R150 Certificate of patent or registration of utility model

Ref document number: 5374751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250