(57)【要約】【課題】  ＬＳＩ搭載メモリへの不正アクセスによるデータの暴露や改竄を防止するため、確実なメモリアクセス制御を実現する。【解決手段】  ＲＯＭ１３のプログラム領域をメモリアクセス権限により２つに区分し、ＣＰＵ１２からの分岐命令発生信号を検知した場合のみアドレスデコード回路２３で分岐先アドレスをデコードし、デコードした分岐先アドレスがＲＯＭ１３のいずれのプログラム領域に属するかをモード設定回路２４で判断して該当するモード信号を設定し、設定されたモード信号に従ってアクセス制御回路２６が各メモリ１３，１４，１５へのアクセス制御を行う。【選択図】  図１
2007052481.tif 000002
【特許請求の範囲】
【請求項１】
アクセス権限毎に区分された複数のプログラム領域を有するＲＯＭを含むメモリブロックと、
前記ＲＯＭに格納された命令を実行し、かつ分岐命令の実行の際には分岐命令発生信号を出力する機能を有するＣＰＵと、
前記ＣＰＵからの分岐命令発生信号を検知して分岐先アドレスをデコードするアドレスデコード回路と、
前記アドレスデコード回路によりデコードされた分岐先アドレスが前記複数のプログラム領域のうちのいずれに属するかに応じてモード信号を設定するモード設定回路と、
前記モード信号に応じたアクセス権限で前記メモリブロックへのアクセスを制御するアクセス制御回路とを備えたことを特徴とするＩＣカード用ＬＳＩ。
【請求項２】
請求項１記載のＩＣカード用ＬＳＩにおいて、
前記ＣＰＵは、アクセス権限の高いプログラム領域中の特定命令を実行する際に、アクセス要求元の命令が前記複数のプログラム領域のうちのいずれに属するかを示すアクセス要求元識別子を設定する機能を更に有し、
前記モード設定回路は、前記特定命令を介してアクセス権限の低いプログラム領域中の命令を実行することを前記アクセス要求元識別子が示している場合には、前記アドレスデコード回路によりデコードされた分岐先アドレスにかかわらず、前記アクセス要求元識別子が示すアクセス要求元のプログラム領域に応じて前記モード信号を設定することを特徴とするＩＣカード用ＬＳＩ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードに使用されるＬＳＩに関し、特にセキュリティデータが格納されるメモリに対してアクセス制御を行うことにより、セキュリティ機能を高めたＩＣカード用ＬＳＩに関するものである。
【背景技術】
【０００２】
ＩＣカードには、電子乗車券、クレジットカード等の様々な用途がある。最近では、非接触式のＩＣカードも登場している。
【０００３】
ＩＣカード用ＬＳＩには、通例、アプリケーションや動作制御プログラムが格納されたＲＯＭと、動作中に生じるデータを一時的に格納するためのＳＲＡＭと、電源が切れてもデータを保持する不揮発性メモリとが搭載されている。これらのメモリには個人のプライバシに関わる情報、金銭情報等が格納されており、セキュリティの確保が大きな課題である。
【０００４】
ある先行技術によれば、データアクセス命令の位置する空間とアクセスデータの位置する空間との組み合わせに応じてデータアクセスの可否を判断することにより、データ保護機能を実現する（特許文献１参照）。
【０００５】
他の先行技術では、ＩＣカード用ＬＳＩにおいてユーザプログラムの実行による不正メモリアクセスを禁止すべく、プログラムカウンタの内容を監視する（特許文献２参照）。
【特許文献１】特開平９−１６０８３１号公報
【特許文献２】特開２０００−７６１３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来、ＬＳＩ動作中のメモリへのプロービングやＬＳＩを不正動作させることによる動作解析により、各メモリに格納されているセキュリティデータの暴露や改竄の可能性があり、データを安全な状態に保っているとは言えない。
【０００７】
本発明の目的は、万が一プログラムが改竄された場合でもメモリへのアクセス制御を確実に実現してセキュリティデータを保護することを可能としたＩＣカード用ＬＳＩを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明のＩＣカード用ＬＳＩは、アクセス権限毎に区分された複数のプログラム領域を有するＲＯＭを含むメモリブロックと、分岐命令の実行の際に分岐命令発生信号を出力する機能を有するＣＰＵとを備えることとし、ＣＰＵからの分岐命令発生信号を検知して分岐先アドレスをデコードし、デコードされた分岐先アドレスがＲＯＭの複数のプログラム領域のうちのいずれに属するかに応じてモード信号を設定し、当該モード信号に応じたアクセス権限でメモリブロックへのアクセスを制御することとしたものである。すなわち、ＣＰＵが分岐先命令の実行を開始する前に、つまり分岐先アドレスがＣＰＵのプログラムカウンタに入る前に、ＣＰＵから出力される分岐命令発生信号を利用してメモリアクセス制御を実現する。
【０００９】
また、本発明では、アクセス権限の低いプログラム領域中の命令がアクセス権限の高いプログラム領域中の命令を介してその実行をする場合には、アクセス権限の高いプログラム領域中の特定命令を介するときにのみ、その実行を許可する。ＣＰＵは、アクセス権限の高いプログラム領域中の特定命令を実行する際に、アクセス要求元の命令がＲＯＭの複数のプログラム領域のうちのいずれに属するかを示すアクセス要求元識別子を設定する。モード設定回路は、前記特定命令を介してアクセス権限の低いプログラム領域中の命令を実行することをアクセス要求元識別子が示している場合には、アドレスデコード回路によりデコードされた分岐先アドレスにかかわらず、アクセス要求元識別子が示すアクセス要求元のプログラム領域に応じてモード信号を設定することとする。
【発明の効果】
【００１０】
本発明によれば、万が一プログラムが改竄された場合でもメモリへのアクセス制御を確実に実現してセキュリティデータを保護することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態について、図面を参照しながら説明する。
【００１２】
図１は、本発明に係るＩＣカード用ＬＳＩの構成例を示している。図１のＩＣカード用ＬＳＩ１１は、ＣＰＵ１２と、ロジック部１６と、メモリブロック５０とを備えている。メモリブロック５０において、１３はＲＯＭ、１４はＳＲＡＭ、１５は不揮発性メモリである。ＭＡ１〜３は、これら各メモリへのアクセスアドレスである。ロジック部１６において、２３はアドレスデコード回路、２４はモード設定回路、２６はアクセス制御回路である。ＣＰＵ１２は、アクセス要求元識別子２７を備えている。ＡＢはアドレスバス、ＤＢはデータバスである。非接触ＩＣカードの場合には、非接触通信のためのＲＦ回路を更に備える。
【００１３】
図１のＬＳＩ１１におけるアクセス制御方法を、図２を参照しながら説明する。図２に示すとおり、ＲＯＭ１３はメモリへのアクセス権限で区別され、メモリへのアクセス権限が高いライブラリ等のＡＰＩ（Application Program Interface）プログラムが格納されているＡＰＩプログラム領域と、メモリへのアクセス権限が低いアプリケーション等のカードＯＳが格納されているＯＳプログラム領域とに区分されている。
【００１４】
ＬＳＩ１１の動作では、ＡＰＩプログラム領域の命令実行後にＡＰＩプログラム領域又はＯＳプログラム領域に分岐する場合と、ＯＳプログラム領域の命令実行後にＡＰＩプログラム領域又はＯＳプログラム領域に分岐する場合とがある。ＣＰＵ１２は、分岐命令の実行の際に分岐命令発生信号を出力する。ロジック部１６では、この分岐命令発生信号を検知し、アドレスデコード回路２３で分岐先アドレスをデコードする。アドレスデコードのタイミングをＣＰＵ１２からの分岐命令発生信号のみで判断することにより、ロジック部１６の回路面積増加を抑えている。次にモード設定回路２４において、アドレスデコード回路２３でデコードした分岐先アドレスが、ＲＯＭ１３においてＡＰＩプログラム領域とＯＳプログラム領域とのいずれの領域に該当するかを判定し、モード信号を設定する。アクセス制御回路２６では、設定されたモード信号と、ＣＰＵ１２からのメモリ制御信号及びメモリアドレスＭＡ１〜３とをもとに、各モードに該当するアクセス権限でＲＯＭ１３、ＳＲＡＭ１４、不揮発性メモリ１５の各々へのアクセスを制御する。
【００１５】
このように、ＣＰＵ１２からの分岐命令発生信号をアドレスデコードのタイミングとするアドレスデコード回路２３と、デコードしたアドレスによりモード設定を行うモード設定回路２４とをハードウェアで実現することにより、ＬＳＩ１１の処理速度を向上させ、かつ確実に各メモリ１３，１４，１５へのアクセス制御を行うことができ、各メモリデータを常に安全な状態に保護することを可能としている。
【００１６】
図２は、ＯＳプログラムがＡＰＩプログラムを介して命令実行する際のモード設定を更に示している。アクセス権限の低いＯＳプログラム領域に格納されている命令は、アクセス権限の高いＡＰＩプログラム領域に格納されている特定命令を介して、その命令を実行することができる。このようにアクセス権限の低いＯＳプログラムがアクセス権限の高いＡＰＩプログラムを介して命令を実行する場合は、ＣＰＵ１２にてアクセス要求元識別子２７を「ＯＳプログラムからの要求」に設定する。モード設定回路２４は、ＡＰＩプログラム領域の特定命令が実行された場合には、当該特定命令の実行がＯＳプログラム領域中の命令からの実行か、或いはＡＰＩプログラム領域中の命令からの実行かをアクセス要求元識別子２７により判断し、アクセス要求元に応じたモード設定を行う。
【００１７】
このように、アクセス権限の低いＯＳプログラムからアクセス権限の高いＡＰＩプログラムへの分岐先を特定命令に限定することで、モード信号のなりすましを防止し、またアプリケーション等が格納されているＯＳプログラム領域のプログラムが改竄された場合でも、アクセス要求元識別子２７を意図した通りに設定することができるので、モード設定回路２４においては、該当するモードへと確実に設定することができる。したがって、アクセス制御回路２６では設定されたモードにより、各メモリ１３，１４，１５へのアクセス制御が可能となり、各メモリデータを安全な状態に保護することができる。
【００１８】
以上のとおり、メモリブロック５０へのアクセス制御をハードウェアで実現することにより、プログラムが改竄された場合でも、確実に各メモリ１３，１４，１５へのアクセス制御を実施し、万が一の不正アクセスに対しても、ＬＳＩ１１の動作を停止させることで、メモリ１３，１４，１５内のセキュリティデータを常に安全な状態に保つ。
【００１９】
なお、アクセス権限毎に区分された３以上のプログラム領域をＲＯＭ１３が有し、複数のプログラム領域を介して命令実行がなされる場合でも、ＣＰＵ１２が設定したアクセス要求元識別子２７を利用することにより、所望のアクセス制御を実現することが可能となる。
【産業上の利用可能性】
【００２０】
以上説明してきたとおり、本発明のＩＣカード用ＬＳＩは、外部からの不正アクセスに対してもメモリ内部のデータを保護することができる構造となっているため、内部に個人情報、金銭情報等のセキュリティデータを持つＩＣカードに用いられるＬＳＩとして有用である。
【図面の簡単な説明】
【００２１】
【図１】本発明に係るＩＣカード用ＬＳＩの構成例を示すブロック図である。
【図２】図１のＩＣカード用ＬＳＩにおけるアクセス制御方法を説明するための概念図である。
【符号の説明】
【００２２】
１１  ＬＳＩ
１２  ＣＰＵ
１３  ＲＯＭ
１４  ＳＲＡＭ
１５  不揮発性メモリ
１６  ロジック部
２３  アドレスデコード回路
２４  モード設定回路
２６  アクセス制御回路
２７  アクセス要求元識別子
５０  メモリブロック
ＡＢ  アドレスバス
ＤＢ  データバス
【図１】
2007052481.tif 000003
【図２】
2007052481.tif 000004