説明

ICカード用LSI

【課題】 LSI搭載メモリへの不正アクセスによるデータの暴露や改竄を防止するため、確実なメモリアクセス制御を実現する。
【解決手段】 ROM13のプログラム領域をメモリアクセス権限により2つに区分し、CPU12からの分岐命令発生信号を検知した場合のみアドレスデコード回路23で分岐先アドレスをデコードし、デコードした分岐先アドレスがROM13のいずれのプログラム領域に属するかをモード設定回路24で判断して該当するモード信号を設定し、設定されたモード信号に従ってアクセス制御回路26が各メモリ13,14,15へのアクセス制御を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ICカードに使用されるLSIに関し、特にセキュリティデータが格納されるメモリに対してアクセス制御を行うことにより、セキュリティ機能を高めたICカード用LSIに関するものである。
【背景技術】
【0002】
ICカードには、電子乗車券、クレジットカード等の様々な用途がある。最近では、非接触式のICカードも登場している。
【0003】
ICカード用LSIには、通例、アプリケーションや動作制御プログラムが格納されたROMと、動作中に生じるデータを一時的に格納するためのSRAMと、電源が切れてもデータを保持する不揮発性メモリとが搭載されている。これらのメモリには個人のプライバシに関わる情報、金銭情報等が格納されており、セキュリティの確保が大きな課題である。
【0004】
ある先行技術によれば、データアクセス命令の位置する空間とアクセスデータの位置する空間との組み合わせに応じてデータアクセスの可否を判断することにより、データ保護機能を実現する(特許文献1参照)。
【0005】
他の先行技術では、ICカード用LSIにおいてユーザプログラムの実行による不正メモリアクセスを禁止すべく、プログラムカウンタの内容を監視する(特許文献2参照)。
【特許文献1】特開平9−160831号公報
【特許文献2】特開2000−76135号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来、LSI動作中のメモリへのプロービングやLSIを不正動作させることによる動作解析により、各メモリに格納されているセキュリティデータの暴露や改竄の可能性があり、データを安全な状態に保っているとは言えない。
【0007】
本発明の目的は、万が一プログラムが改竄された場合でもメモリへのアクセス制御を確実に実現してセキュリティデータを保護することを可能としたICカード用LSIを提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明のICカード用LSIは、アクセス権限毎に区分された複数のプログラム領域を有するROMを含むメモリブロックと、分岐命令の実行の際に分岐命令発生信号を出力する機能を有するCPUとを備えることとし、CPUからの分岐命令発生信号を検知して分岐先アドレスをデコードし、デコードされた分岐先アドレスがROMの複数のプログラム領域のうちのいずれに属するかに応じてモード信号を設定し、当該モード信号に応じたアクセス権限でメモリブロックへのアクセスを制御することとしたものである。すなわち、CPUが分岐先命令の実行を開始する前に、つまり分岐先アドレスがCPUのプログラムカウンタに入る前に、CPUから出力される分岐命令発生信号を利用してメモリアクセス制御を実現する。
【0009】
また、本発明では、アクセス権限の低いプログラム領域中の命令がアクセス権限の高いプログラム領域中の命令を介してその実行をする場合には、アクセス権限の高いプログラム領域中の特定命令を介するときにのみ、その実行を許可する。CPUは、アクセス権限の高いプログラム領域中の特定命令を実行する際に、アクセス要求元の命令がROMの複数のプログラム領域のうちのいずれに属するかを示すアクセス要求元識別子を設定する。モード設定回路は、前記特定命令を介してアクセス権限の低いプログラム領域中の命令を実行することをアクセス要求元識別子が示している場合には、アドレスデコード回路によりデコードされた分岐先アドレスにかかわらず、アクセス要求元識別子が示すアクセス要求元のプログラム領域に応じてモード信号を設定することとする。
【発明の効果】
【0010】
本発明によれば、万が一プログラムが改竄された場合でもメモリへのアクセス制御を確実に実現してセキュリティデータを保護することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施形態について、図面を参照しながら説明する。
【0012】
図1は、本発明に係るICカード用LSIの構成例を示している。図1のICカード用LSI11は、CPU12と、ロジック部16と、メモリブロック50とを備えている。メモリブロック50において、13はROM、14はSRAM、15は不揮発性メモリである。MA1〜3は、これら各メモリへのアクセスアドレスである。ロジック部16において、23はアドレスデコード回路、24はモード設定回路、26はアクセス制御回路である。CPU12は、アクセス要求元識別子27を備えている。ABはアドレスバス、DBはデータバスである。非接触ICカードの場合には、非接触通信のためのRF回路を更に備える。
【0013】
図1のLSI11におけるアクセス制御方法を、図2を参照しながら説明する。図2に示すとおり、ROM13はメモリへのアクセス権限で区別され、メモリへのアクセス権限が高いライブラリ等のAPI(Application Program Interface)プログラムが格納されているAPIプログラム領域と、メモリへのアクセス権限が低いアプリケーション等のカードOSが格納されているOSプログラム領域とに区分されている。
【0014】
LSI11の動作では、APIプログラム領域の命令実行後にAPIプログラム領域又はOSプログラム領域に分岐する場合と、OSプログラム領域の命令実行後にAPIプログラム領域又はOSプログラム領域に分岐する場合とがある。CPU12は、分岐命令の実行の際に分岐命令発生信号を出力する。ロジック部16では、この分岐命令発生信号を検知し、アドレスデコード回路23で分岐先アドレスをデコードする。アドレスデコードのタイミングをCPU12からの分岐命令発生信号のみで判断することにより、ロジック部16の回路面積増加を抑えている。次にモード設定回路24において、アドレスデコード回路23でデコードした分岐先アドレスが、ROM13においてAPIプログラム領域とOSプログラム領域とのいずれの領域に該当するかを判定し、モード信号を設定する。アクセス制御回路26では、設定されたモード信号と、CPU12からのメモリ制御信号及びメモリアドレスMA1〜3とをもとに、各モードに該当するアクセス権限でROM13、SRAM14、不揮発性メモリ15の各々へのアクセスを制御する。
【0015】
このように、CPU12からの分岐命令発生信号をアドレスデコードのタイミングとするアドレスデコード回路23と、デコードしたアドレスによりモード設定を行うモード設定回路24とをハードウェアで実現することにより、LSI11の処理速度を向上させ、かつ確実に各メモリ13,14,15へのアクセス制御を行うことができ、各メモリデータを常に安全な状態に保護することを可能としている。
【0016】
図2は、OSプログラムがAPIプログラムを介して命令実行する際のモード設定を更に示している。アクセス権限の低いOSプログラム領域に格納されている命令は、アクセス権限の高いAPIプログラム領域に格納されている特定命令を介して、その命令を実行することができる。このようにアクセス権限の低いOSプログラムがアクセス権限の高いAPIプログラムを介して命令を実行する場合は、CPU12にてアクセス要求元識別子27を「OSプログラムからの要求」に設定する。モード設定回路24は、APIプログラム領域の特定命令が実行された場合には、当該特定命令の実行がOSプログラム領域中の命令からの実行か、或いはAPIプログラム領域中の命令からの実行かをアクセス要求元識別子27により判断し、アクセス要求元に応じたモード設定を行う。
【0017】
このように、アクセス権限の低いOSプログラムからアクセス権限の高いAPIプログラムへの分岐先を特定命令に限定することで、モード信号のなりすましを防止し、またアプリケーション等が格納されているOSプログラム領域のプログラムが改竄された場合でも、アクセス要求元識別子27を意図した通りに設定することができるので、モード設定回路24においては、該当するモードへと確実に設定することができる。したがって、アクセス制御回路26では設定されたモードにより、各メモリ13,14,15へのアクセス制御が可能となり、各メモリデータを安全な状態に保護することができる。
【0018】
以上のとおり、メモリブロック50へのアクセス制御をハードウェアで実現することにより、プログラムが改竄された場合でも、確実に各メモリ13,14,15へのアクセス制御を実施し、万が一の不正アクセスに対しても、LSI11の動作を停止させることで、メモリ13,14,15内のセキュリティデータを常に安全な状態に保つ。
【0019】
なお、アクセス権限毎に区分された3以上のプログラム領域をROM13が有し、複数のプログラム領域を介して命令実行がなされる場合でも、CPU12が設定したアクセス要求元識別子27を利用することにより、所望のアクセス制御を実現することが可能となる。
【産業上の利用可能性】
【0020】
以上説明してきたとおり、本発明のICカード用LSIは、外部からの不正アクセスに対してもメモリ内部のデータを保護することができる構造となっているため、内部に個人情報、金銭情報等のセキュリティデータを持つICカードに用いられるLSIとして有用である。
【図面の簡単な説明】
【0021】
【図1】本発明に係るICカード用LSIの構成例を示すブロック図である。
【図2】図1のICカード用LSIにおけるアクセス制御方法を説明するための概念図である。
【符号の説明】
【0022】
11 LSI
12 CPU
13 ROM
14 SRAM
15 不揮発性メモリ
16 ロジック部
23 アドレスデコード回路
24 モード設定回路
26 アクセス制御回路
27 アクセス要求元識別子
50 メモリブロック
AB アドレスバス
DB データバス

【特許請求の範囲】
【請求項1】
アクセス権限毎に区分された複数のプログラム領域を有するROMを含むメモリブロックと、
前記ROMに格納された命令を実行し、かつ分岐命令の実行の際には分岐命令発生信号を出力する機能を有するCPUと、
前記CPUからの分岐命令発生信号を検知して分岐先アドレスをデコードするアドレスデコード回路と、
前記アドレスデコード回路によりデコードされた分岐先アドレスが前記複数のプログラム領域のうちのいずれに属するかに応じてモード信号を設定するモード設定回路と、
前記モード信号に応じたアクセス権限で前記メモリブロックへのアクセスを制御するアクセス制御回路とを備えたことを特徴とするICカード用LSI。
【請求項2】
請求項1記載のICカード用LSIにおいて、
前記CPUは、アクセス権限の高いプログラム領域中の特定命令を実行する際に、アクセス要求元の命令が前記複数のプログラム領域のうちのいずれに属するかを示すアクセス要求元識別子を設定する機能を更に有し、
前記モード設定回路は、前記特定命令を介してアクセス権限の低いプログラム領域中の命令を実行することを前記アクセス要求元識別子が示している場合には、前記アドレスデコード回路によりデコードされた分岐先アドレスにかかわらず、前記アクセス要求元識別子が示すアクセス要求元のプログラム領域に応じて前記モード信号を設定することを特徴とするICカード用LSI。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2007−52481(P2007−52481A)
【公開日】平成19年3月1日(2007.3.1)
【国際特許分類】
【出願番号】特願2005−235218(P2005−235218)
【出願日】平成17年8月15日(2005.8.15)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】