説明

情報処理装置および方法、プログラムおよび記録媒体

【課題】不正なアクセスを簡単かつ確実に防止することができるようにする。
【解決手段】取得部11が、データを記憶するメモリ14にアクセスするための第1のアドレスを取得し、変換部12が、第1のアドレスを第2のアドレスに変換し、MMU13が、第2のアドレスが予め設定されている予測値と等しい場合、第1のアドレスに基づくアクセスを禁止し、予測値と等しくない場合、第1のアドレスに基づくメモリ14へのアクセスを許容する。変換部12は、第1のアドレスを第2のアドレスに変換する演算部21、予測値を演算する予測部22、およびMMU13を制御する初期化部23を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置および方法、プログラムおよび記録媒体に関し、特に、不正なアクセスを簡単かつ確実に防止することができるようにした情報処理装置および方法、プログラムおよび記録媒体に関する。
【背景技術】
【0002】
ICカードが普及し、鉄道、バスの運賃の支払いや、販売店での商品の代金の支払いなど、さまざまな分野で利用されるようになってきた。
【0003】
このようなICカードの普及に伴って、フォルトアタックと称される、ICカードにレーザ光線を照射し、そのエネルギーによりICカードを誤動作させることでICカードに不正にアクセスし、悪用しようとする試みもなされるようになってきた。
【0004】
従来、このような不正なアクセスを防止するために、ICカードに対してアクセスを行うリーダーライターに不正なアクセスを防止する機能を設けることも提案されている(例えば特許文献1)。しかし、リーダーライターにこのような機能を設けても、ICカードそのものに対する不正なアクセスを防止することが困難である。
【0005】
そこで、ICカードにおいて、論理ブロックアドレスの物理アドレスへの不正な変換を検出し、不正な変換が検出された場合には、アクセスを禁止することも知られている。
【0006】
【特許文献1】特開2008−33593号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、不正な変換であることは、変換後の物理アドレスの値が、予め設定されている範囲内であるかによって判断するようにされていた。その結果、変換後の値が所定の範囲内の値である場合には、不正なセキュリティ攻撃であることの検出が困難であった。
【0008】
本発明は、このような状況に鑑みてなされたものであり、不正なアクセスを簡単かつ確実に防止することができるようにするものである。
【課題を解決するための手段】
【0009】
本発明の一側面は、データを記憶するメモリにアクセスするための第1のアドレスを取得する取得部と、前記第1のアドレスを第2のアドレスに変換する変換部と、前記第2のアドレスが予め設定されている予測値と等しい場合、前記第1のアドレスに基づく前記メモリへのアクセスを禁止し、前記予測値と等しくない場合、前記第1のアドレスに基づく前記メモリへのアクセスを許容する制御部とを備える情報処理装置である。
【0010】
本発明の一側面においては、取得部が、データを記憶するメモリにアクセスするための第1のアドレスを取得し、変換部が、第1のアドレスを第2のアドレスに変換し、制御部が、第2のアドレスが予め設定されている予測値と等しい場合、第1のアドレスに基づくメモリへのアクセスを禁止し、予測値と等しくない場合、第1のアドレスに基づくメモリへのアクセスを許容する。
【発明の効果】
【0011】
以上のように、本発明の一側面によれば、不正なアクセスを簡単かつ確実に防止することができる。
【発明を実施するための最良の形態】
【0012】
以下、図を参照して本発明の実施の形態について説明する。
【0013】
図1は本発明の情報処理装置の一実施の形態の構成を表している。この情報処理装置1は、取得部11、変換部12、メモリマネージメントユニット(MMU)13、およびメモリ14により構成されている。
【0014】
取得部11は、メモリ14にアクセスするためのアドレスである第1のアドレスを取得する。この第1のアドレスは、外部装置がメモリ14のアドレスを管理するためのアドレス空間11Aのアドレスとされる。しかし、実際にはメモリ14は物理的なメモリであるため、その物理的なアドレス空間14Aのアドレスである第2のアドレスに基づいてアクセスが行われる。そこで、変換部12が第1のアドレスを第2のアドレスに変換する。
【0015】
制御部としてのMMU13は変換部12により変換された第2のアドレスに基づいてメモリ14の所定の領域へのアクセスの制御を行う。すなわち、MMU13は、第2のアドレスが予め設定されている予測値と等しい場合、第1のアドレスに基づくアクセスを禁止し、予測値と等しくない場合、第1のアドレスに基づくアクセスを許容するように制御を行う。メモリ14は、第2のアドレスで指定される領域に所定のデータを書き込み、また読み出す処理を実行する。
【0016】
変換部12は、演算部21、予測部22、および初期化部23を有している。演算部21は、第1のアドレスを第2のアドレスに変換する演算を行う。予測部22は、第1のアドレスに基づく予測値を予測する演算を行う。初期化部23は、演算部21により演算された第2のアドレスと、予測部22により予測された予測値に基づいてMMU13を制御する。
【0017】
次に図2のフローチャートを参照して、情報処理装置1のアクセス制御処理について説明する。この処理は、図示せぬ外部装置が不揮発性のメモリ14にデータを書き込んだり、記憶されているデータを読み出すコマンドを、アドレスを指定して情報処理装置1に入力したとき実行される。
【0018】
ステップS1において、取得部11は外部装置により指定された第1のアドレスを取得する。この第1のアドレスは、外部装置がメモリ14を管理するためのアドレス空間11Aのアドレスとされる。図1の例においては、メモリ14は「0」乃至「6」などの論理アドレスで管理されているので、外部装置は「0」乃至「6」などの論理アドレスのいずれかを指定する。従って、ステップS1においては、「0」乃至「6」の論理アドレスのいずれかが取得される。
【0019】
ステップS2において演算部21は、ステップS1で取得された第1のアドレスに基づいて第2のアドレスを演算する。この演算は、例えば次の変換式(1)に従って行われる。
Add=A+B×16 (1)
【0020】
式(1)において、Addは変換後のアドレス(第2のアドレス)である。A,Bは、第1のアドレスに基づくパラメータであり、Aは第1のアドレスのベースアドレスを表し、Bは第1のアドレスのブロック番号を表す。16はアドレス空間14Aのブロックの幅をバイト数で表した定数である。
【0021】
例えば、取得された第1のアドレスのパラメータAが「1000」、パラメータBが「10」であるとする。この場合、正常なアクセスが行われたとすれば、第2のアドレスAddは、「1160」となる。
【0022】
ステップS3において予測部22は、予測値を演算する。この実施の形態の場合、式(1)の係数(パラメータ)A,Bを「0」に設定して式(1)を演算することで予測値が演算される。
【0023】
パラメータAを「0」に設定することで、第2のアドレスAddとして、「160」が演算される。パラメータBを「0」に設定することで、第2のアドレスAddとして、「1000」が演算される。パラメータA,Bの両方を「0」に設定することで、第2のアドレスAddとして、「0」が演算される。このように予測部22は、予測値として「0」、「160」、および「1000」を演算する。
【0024】
ステップS4において初期化部23は、第2のアドレスが予測値と一致するかを判定する。すなわち、ステップS2で演算された第2のアドレスの値が、ステップS3で演算された予測値と一致するかが判定される。不正な攻撃が行われた場合、ステップS1の処理で取得される第1のアドレスであるパラメータAとBの少なくとも一方が、正常の値から「0」に変化することが多い。ステップS1の処理で取得された第1のアドレスであるパラメータAとBの少なくとも一方が「0」である場合、上述したように、ステップS2で演算された第2のアドレスは「0」、「160」、または「1000」となり、ステップS3で演算された予測値と一致する。
【0025】
そこで、初期化部23は、ステップS2で演算された第2のアドレスの値が、ステップS3で演算された予測値と等しい場合、不正な攻撃を受けたと判定し、ステップS7において、MMU13に対してアクセス禁止を指示する。MMU13はこの指示に基づく制御を行う。すなわち、ステップS1の処理で取得された第1のアドレスに基づくメモリ14に対するアクセスを禁止するように制御が行われる。具体的には、ステップS2で演算された第2のアドレスへのアクセスが禁止される。
【0026】
不正な攻撃が行われた場合、読み出されるデータや、所定のレジストリのデータが、正常な値から「0」に変化する確率が高い。すなわちステップS1の処理で取得される第1のアドレスであるパラメータAとBの少なくとも一方が、正常な値から「0」に変化する確率が高い。そこで、演算された第2のアドレスが予測値と一致する場合にアクセスを禁止することで、不正なアクセスを簡単かつ確実に防止することができる。
【0027】
一方、不正な攻撃が行われなければ、ステップS1で取得された第1のアドレスのパラメータA,Bとして正しい値が取得される。上述の例では、パラメータAとして「1000」が、パラメータBとして「10」が、それぞれ取得される。この場合、第2のアドレスの演算値は「1160」となり、予測値である「0」、「160」、および「1000」とは一致しない。
【0028】
この場合、ステップS5において、初期化部23はMMU13に対して、第2のアドレスへのアクセスの許容を指示する。従って、ステップS6において、メモリ14は演算部21により演算された第2のアドレスに対して、必要な処理を実行する。すなわち、コマンドに応じて、第1のアドレスのパラメータ「1000」と「10」で指定された第2のアドレス「1160」の領域にデータを書き込んだり、そこに記憶されているデータを読み出す処理が実行される。
【0029】
図3は、以上のようなアドレス変換処理を行う情報処理装置1を、リーダーライター51からアクセスを受けるICカード52に適用した場合の処理を表している。
【0030】
ステップS21においてリーダーライター51は、ICカード52に対して、例えばデータを読み出すためのコマンドを出力する。このとき読み出す領域のアドレスが第1のアドレスとして指定される。
【0031】
ステップS31でこのコマンドを受信したICカード52は、上述したように、指定された第1のアドレスを第2のアドレスに変換する。そしてICカード52は、変換された第2のアドレスからデータを読み出す。
【0032】
ステップS32でICカード52は、コマンドに対応するレスポンスをリーダーライター51に返す。リーダーライター51はこのレスポンスをステップS22で受信する。このとき読み出されたデータがリーダーライター51に送出される。
【0033】
不正なアクセスでなければ、このようにして指定されたアドレスからデータが読み出され、リーダーライター51に供給される。しかし、不正なアクセスである場合には、ICカード52が返すレスポンスには、読み出されたデータが付随しないことになる。
【0034】
図4は、以上のようにしてリーダーライター51からアクセスを受けるICカード52の一実施の形態の構成を表している。
【0035】
情報処理装置としてのICカード52は、取得部61、変換部62、メモリアクセス装置63、MMU64、メモリ65、およびタンパ検出ハンドラ66を有している。
【0036】
取得部61は、論理ブロックアドレス空間61Aのアドレスを第1のアドレスとしてリーダーライター51から取得する。換言すれば、リーダーライター51は、ICカード52のメモリ65に対してデータを書き込んだり読み出したりする場合、そのアドレスを論理ブロックアドレス空間61Aのアドレスで指定する。
【0037】
第1のアドレスを第2のアドレスに変換する変換部62は、演算部71、予測部72、および初期化部73よりなる部分と、演算部74、予測部75、および初期化部76よりなる部分とで構成される。前者の部分は、第1のアドレスとしての論理ブロックアドレス空間61Aの論理ブロックアドレスを、中間のアドレスとしてのメモリ65の物理ブロックアドレス空間65Aの物理ブロックアドレスに変換する処理を行い、後者の部分は中間のアドレスを第2のアドレスとしてのメモリ65の物理アドレスに変換する処理を行う。
【0038】
演算部71は、取得された論理ブロックアドレス空間61Aの論理ブロックアドレスを、物理ブロックアドレス空間65Aの物理ブロックアドレスに変換する。予測部72は取得された論理ブロックアドレス空間61Aのアドレスの予測値を演算する。初期化部73は演算部71により演算された物理ブロックアドレスと、予測部72により予測された予測値とに基づいて不正なアクセスの有無を検出し、不正なアクセスが検出された場合、そのアクセス先の物理アドレスを演算し、その物理アドレスに対するアクセス禁止の指示をMMU64に出力する。
【0039】
演算部74は、演算部71により演算された物理ブロックアドレス空間65Aの物理ブロックアドレスを、第2のアドレスとしての物理アドレスに変換する。予測部75は演算部71により演算された物理ブロックアドレスの予測値を演算する。初期化部76は演算部74により演算された物理ドレスと、予測部75により予測された予測値とに基づいて不正なアクセスの有無を検出し、不正なアクセスが検出された場合、そのアクセス先の物理アドレスに対するアクセス禁止の指示をMMU64に出力する。
【0040】
メモリアクセス装置63は、演算部74により演算された物理アドレスに基づいて、メモリ65にアクセスする。制御部としてのMMU64は初期化部73,76からの指示に基づいて、メモリ65に対するアクセスを禁止したり、許容する制御を行う。
【0041】
不揮発性のメモリ65は、物理アドレスで指定される各領域にデータを書き込んだり、そこに記憶されているデータを読み出したりする。メモリ65の先頭の領域(物理アドレスが最小の「00000」である領域)はタンパ領域とされ、実質的に使用されない領域とされる。「00000」の物理アドレスは、不正なアクセスが行われた場合に指定される確率が高いので、その領域は初めから使用禁止の領域とされるのである。同様の理由で、メモリ65の最後の領域(物理アドレスが最大の「FFFFF」である領域)もタンパ領域とされ、実質的に使用されない領域とされている。例えば、無意味なダミーのデータが記録されていたり、まったくデータが記録されない領域とされる。
【0042】
このように、不正なアクセスが行われた場合に誤変換され易いアドレス「00000」、「FFFFF」の領域を実質的に使用しないようにすれば、ICカード52のセキュリティをより向上させることができる。
【0043】
メモリ65の一部の領域は、物理ブロックアドレスが「10000」乃至「10011」である物理ブロックアドレス空間65Aの領域とされている。リーダーライター51は、物理ブロックアドレス空間65Aの領域のみアクセス可能であり、タンパ領域やその他の領域にはアクセスできない。
【0044】
タンパ部としてのタンパ検出ハンドラ66は、MMU64により制御され、不正なアクセスが行われたとき、ICカード52の不正な使用を防止するために必要な処理を行う。
【0045】
次に図5のフローチャートを参照して、ICカード52のアクセス制御処理について説明する。この処理も、リーダーライター51がICカード52にデータを書き込んだり、記憶されているデータを読み出すコマンドを、アドレスを指定してICカード52に入力したとき実行される。
【0046】
ステップS51において、取得部61はリーダーライター51から第1のアドレスとしての指定アドレスを取得する。この指定アドレスは、リーダーライター51がICカード52のメモリ65を管理するための第1のアドレス空間としての論理ブロックアドレス空間61Aのアドレスとされる。図4の実施の形態においては、メモリ65は「0000」乃至「0009」の論理ブロックアドレスで管理されているので、リーダーライター51は「0000」乃至「0009」の論理ブロックアドレスのいずれかを指定する。従って、ステップS51では、「0000」乃至「0009」の論理ブロックアドレスのいずれかが取得される。
【0047】
ステップS52において演算部71は、ステップS51で取得された論理ブロックアドレスに基づいて中間のアドレスとしての物理ブロックアドレスを演算する。この演算は、例えば次の変換式(2)に従って行われる。
PBAdd=a1+a2+a3 (2)
【0048】
式(2)において、PBAddは変換後の物理ブロックアドレスである。a1,a2,a3は、論理ブロックアドレスのパラメータである。
【0049】
例えば、ステップS51で取得された論理ブロックアドレスのパラメータa1が「500」、パラメータa2が「5」、パラメータa3が「1」であるとする。この場合、正常なアクセスが行われたとすれば、物理ブロックアドレスPBAddは、「506」となる。
【0050】
ステップS53において予測部72は、予測値を演算する。この実施の形態の場合、式(2)のパラメータa1,a2,a3を「0」に設定して式(2)を演算することで予測値が演算される。
【0051】
パラメータa1を「0」に設定することで、PBAddとして、「6」が演算される。パラメータa2を「0」に設定することで、PBAddとして、「501」が演算される。パラメータa3を「0」に設定することで、PBAddとして、「505」が演算される。パラメータa1,a2の2つを「0」に設定することで、PBAddとして、「1」が演算される。パラメータa1,a3の2つを「0」に設定することで、PBAddとして、「5」が演算される。パラメータa2,a3の2つを「0」に設定することで、PBAddとして、「500」が演算される。パラメータa1,a2,a3の全部を「0」に設定することで、PBAddとして、「0」が演算される。
【0052】
このように予測部72は、予測値として「0」、「1」、「5」、「6」、「500」、「501」、および「505」を演算する。
【0053】
ステップS54において初期化部73は、物理ブロックアドレスは予測値と一致するかを判定する。すなわち、ステップS52で演算された物理ブロックアドレスの値が、ステップS53で演算された予測値と一致するかが判定される。不正な攻撃が行われた場合、ステップS51の処理で取得される論理ブロックアドレスであるパラメータa1,a2,a3の少なくとも1つが、正常な値から「0」に変化することが多い。取得されたパラメータa1,a2,a3の少なくとも1つが「0」である場合、上述したように、ステップS52で演算された物理ブロックアドレスは「0」、「1」、「5」、「6」、「500」、「501」、または「505」となり、ステップS53で演算された予測値と一致する。
【0054】
そこで、初期化部73は、ステップS52で演算された物理ブロックアドレスの値が、ステップS53で演算された予測値と一致する場合、不正な攻撃を受けたと判定し、ステップS60において、MMU64に対してアクセス禁止を指示する。MMU64はこの指示に基づいて、ステップS51で取得されたアドレスに基づくメモリ65に対するアクセスを禁止するように制御する。すなわち、ステップS52で演算された物理ブロックアドレスからさらに演算された物理アドレスへのアクセスが禁止される。
【0055】
不正な攻撃が行われた場合、読み出されるデータや、所定のレジストリのデータが、正常な値から「0」に変化する確率が高い。すなわちステップS51の処理で取得される論理ブロックアドレスであるa1,a2,a3の少なくとも1つが、正常な値から「0」に変化する確率が高い。そこで、演算された物理ブロックアドレスが予測値と一致する場合にアクセスを禁止することで、不正なアクセスを簡単かつ確実に防止することができる。
【0056】
ステップS61においてタンパ検出ハンドラ66は、タンパ検出処理を実行する。すなわちタンパ検出ハンドラ66は、メモリ65の各領域に記憶されているデータを全て消去したり、任意のデータに書き換えたり、ICカード52を破棄するなど、ICカード52が不正に使用されるのを完全に防止する処理を実行する。
【0057】
ただし、この処理は、ICカード52のその後の正常な使用をも困難にするので、必要に応じて実行される。
【0058】
ステップS54において物理ブロックアドレスと予測値が一致しないと判定された場合、ステップS55において演算部74は、ステップS52で、演算部71により演算された物理ブロックアドレスに基づいて、第2のアドレスとしての物理アドレスを演算する。この演算は、例えば上述した式(1)に従って行われる。
【0059】
この場合においても、例えば、演算された物理ブロックアドレスのパラメータAが「1000」、パラメータBが「10」であるとする。この場合、正常なアクセスが行われたとすれば、物理アドレスAddは、「1160」となる。
【0060】
ステップS56において予測部75は、予測値を演算する。この実施の形態の場合、式(1)の係数(パラメータ)A,Bを「0」に設定して式(1)を演算することで予測値が演算される。
【0061】
上述したように、パラメータAを「0」に設定することで、物理アドレスAddとして、「160」が演算される。パラメータBを「0」に設定することで、物理アドレスAddとして、「1000」が演算される。パラメータA,Bの両方を「0」に設定することで、物理アドレスAddとして、「0」が演算される。このように予測部75は、予測値として「0」、「160」、および「1000」を演算する。
【0062】
ステップS57において初期化部76は、物理アドレスは予測値と一致するかを判定する。すなわち、ステップS55で演算された物理アドレスの値が、ステップS56で演算された予測値と一致するかが判定される。不正な攻撃が行われた場合、物理ブロックアドレスであるパラメータAとBの少なくとも一方が、正常な値から「0」に変化することが多い。物理ブロックアドレスであるパラメータAとBの少なくとも一方が「0」である場合、上述したように、ステップS55で演算された物理アドレスは「0」、「160」、または「1000」となり、ステップS56で演算された予測値と一致する。
【0063】
そこで、初期化部76は、ステップS55で演算された物理アドレスの値が、ステップS56で演算された予測値と一致する場合、不正な攻撃を受けたと判定する。このとき上述した場合と同様に、ステップS60におけるアクセス禁止処理が実行される。すなわちステップS55で演算された物理アドレスへのアクセスが禁止される。さらに必要に応じて、ステップS61におけるタンパ検出処理が実行される。
【0064】
一方、ステップS57で物理アドレスと予測値が一致しないと判定された場合、不正な攻撃が行われなかったとして、ステップS58において、初期化部23はMMU64に対して、物理アドレスへのアクセスの許容を指示する。従って、ステップS59において、メモリ65はメモリアクセス装置63により指定される物理アドレスに対して必要な処理を実行する。すなわち、コマンドに応じて、指定された論理ブロックアドレス「506」に対応する物理アドレス「1160」の領域にデータを書き込んだり、そこに記憶されているデータを読み出す処理が実行される。
【0065】
以上においては、本発明をICカードに適用したが、本発明は、セキュアにデータを記憶するメモリを有する携帯電話機、電子手帳、その他の情報処理装置に適用することができる。
【0066】
図6は、上述した一連の処理をプログラムにより実行するコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)121は、ROM(Read Only Memory)122、または記憶部128に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)123には、CPU121が実行するプログラムやデータなどが適宜記憶される。これらのCPU121、ROM122、およびRAM123は、バス124により相互に接続されている。
【0067】
CPU121にはまた、バス124を介して入出力インターフェース125が接続されている。入出力インターフェース125には、キーボード、マウス、マイクロホンなどよりなる入力部126、ディスプレイ、スピーカなどよりなる出力部127が接続されている。CPU121は、入力部126から入力される指令に対応して各種の処理を実行する。そして、CPU121は、処理の結果を出力部127に出力する。
【0068】
入出力インターフェース125に接続されている記憶部128は、例えばハードディスクからなり、CPU121が実行するプログラムや各種のデータを記憶する。通信部129は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。また、通信部129を介してプログラムを取得し、記憶部128に記憶してもよい。
【0069】
入出力インターフェース125に接続されているドライブ130は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア131が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部128に転送され、記憶される。
【0070】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0071】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図6に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア131、または、プログラムが一時的もしくは永続的に格納されるROM122や、記憶部128を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部129を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0072】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0073】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0074】
【図1】本発明の情報処理装置の一実施の形態の構成を示すブロック図である。
【図2】情報処理装置のアクセス制御処理を説明するフローチャートである。
【図3】リーダーライターとICカードの処理を説明する図である。
【図4】本発明のICカードの一実施の形態の構成を示すブロック図である。
【図5】ICカードのアクセス制御処理を説明するフローチャートである。
【図6】コンピュータの一実施の形態の構成を示すブロック図である。
【符号の説明】
【0075】
1 情報処理装置, 11 取得部, 11A アドレス空間,12 変換部, 13 メモリマネージメントユニット, 14 メモリ, 14A アドレス空間, 21 演算部, 22 予測部, 23 初期化部, 51 リーダーライター, 52 ICカード, 61 取得部, 61A 論理ブロックアドレス空間,62 変換部, 63 メモリアクセス装置, 64 メモリマネージメントユニット, 65 メモリ, 65A 物理ブロックアドレス空間, 66 タンパ検出ハンドラ, 71 演算部, 72 予測部, 73 初期化部,74 演算部, 75 予測部, 76 初期化部

【特許請求の範囲】
【請求項1】
データを記憶するメモリにアクセスするための第1のアドレスを取得する取得部と、
前記第1のアドレスを第2のアドレスに変換する変換部と、
前記第2のアドレスが予め設定されている予測値と等しい場合、前記第1のアドレスに基づく前記メモリへのアクセスを禁止し、前記予測値と等しくない場合、前記第1のアドレスに基づく前記メモリへのアクセスを許容する制御部と
を備える情報処理装置。
【請求項2】
前記予測値は、前記第1のアドレスを前記第2のアドレスに変換する変換式のパラメータが0または最大値である場合の前記第2のアドレスと等しい
請求項1に記載の情報処理装置。
【請求項3】
前記第1のアドレスは、論理ブロックアドレス空間の論理ブロックアドレスであり、
前記第2のアドレスは、前記論理ブロックアドレスから変換された物理ブロックアドレス空間の物理ブロックアドレスを、さらに変換した物理アドレスである
請求項2に記載の情報処理装置。
【請求項4】
前記情報処理装置はICカードであり、
前記第2のアドレスは、前記ICカードのメモリの物理アドレスである
請求項3に記載の情報処理装置。
【請求項5】
前記第2のアドレスが前記予測値と等しい場合、さらに前記メモリに記憶されているデータを消去するか、または任意のデータに書き換える処理を実行するタンパ部をさらに備える
請求項2に記載の情報処理装置。
【請求項6】
取得部が、データを記憶するメモリにアクセスするための第1のアドレスを取得し、
変換部が、前記第1のアドレスを第2のアドレスに変換し、
制御部が、前記第2のアドレスが予め設定されている予測値と等しい場合、前記第1のアドレスに基づく前記メモリへのアクセスを禁止し、前記予測値と等しくない場合、前記第1のアドレスに基づく前記メモリへのアクセスを許容する
情報処理装置の情報処理方法。
【請求項7】
データを記憶するメモリにアクセスするための第1のアドレスを取得し、
前記第1のアドレスを第2のアドレスに変換し、
前記第2のアドレスが予め設定されている予測値と等しい場合、前記第1のアドレスに基づく前記メモリへのアクセスを禁止し、前記予測値と等しくない場合、前記第1のアドレスに基づく前記メモリへのアクセスを許容する
処理をコンピュータに実行させるプログラム。
【請求項8】
データを記憶するメモリにアクセスするための第1のアドレスを取得し、
前記第1のアドレスを第2のアドレスに変換し、
前記第2のアドレスが予め設定されている予測値と等しい場合、前記第1のアドレスに基づく前記メモリへのアクセスを禁止し、前記予測値と等しくない場合、前記第1のアドレスに基づく前記メモリへのアクセスを許容する
処理をコンピュータに実行させるプログラムが記録されている記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−265728(P2009−265728A)
【公開日】平成21年11月12日(2009.11.12)
【国際特許分類】
【出願番号】特願2008−111118(P2008−111118)
【出願日】平成20年4月22日(2008.4.22)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】