(57)【特許請求の範囲】
【請求項１】
サービスを定義するための定義情報が格納されている定義ブロックおよび前記サービスがアクセス対象とするデータブロックが記憶されるサービスメモリ領域と、前記定義ブロックおよび前記データブロックの記憶位置を示す論理アドレスが登録された論理ファイルが記憶される論理ファイル領域と、前記論理アドレスと前記サービスメモリ領域の物理アドレスとの対応を管理する管理領域とが確保されているメモリ空間と、
アクセスが制限されている前記サービスメモリ領域へのアクセスの許否を判定する認証手段と、
前記サービスメモリ領域へのアクセスを実行する実行手段と
を備え、
前記実行手段は、
利用されるサービスに対応する定義ブロックの論理アドレスを前記論理ファイルに基づいて検出し、
検出した定義ブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、
前記サービスメモリ領域の、検出した前記物理アドレスに記憶されている前記定義ブロックにアクセスし、
アクセスした前記定義ブロックに格納されている前記定義情報に基づき、前記サービスがアクセス対象とする前記データブロックの論理アドレスを検出し、
検出した前記データブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、
アクセスした前記定義ブロックに格納されている前記定義情報に含まれるアクセス制限情報に基づいて、前記サービスがアクセス対象とする前記データブロックへのアクセスが制限されているか否かを判定し、
前記データブロックへのアクセスが制限されていると判定された場合、前記認証手段によって前記データブロックへのアクセスが許可されていると判定されたときのみ、前記データブロックにアクセスする
情報処理装置。
【請求項２】
サービスを定義するための定義情報が格納されている定義ブロックおよび前記サービスがアクセス対象とするデータブロックが記憶されるサービスメモリ領域と、前記定義ブロックおよび前記データブロックの記憶位置を示す論理アドレスが登録された論理ファイルが記憶される論理ファイル領域と、前記論理アドレスと前記サービスメモリ領域の物理アドレスとの対応を管理する管理領域とが確保されているメモリ空間を備える情報処理装置の情報処理方法において、
前記情報処理装置による、
利用されるサービスに対応する定義ブロックの論理アドレスを前記論理ファイルに基づいて検出し、
検出した定義ブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、
前記サービスメモリ領域の、検出した前記物理アドレスに記憶されている前記定義ブロックにアクセスし、
アクセスした前記定義ブロックに格納されている前記定義情報に基づき、前記サービスがアクセス対象とする前記データブロックの論理アドレスを検出し、
検出した前記データブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、
アクセスした前記定義ブロックに格納されている前記定義情報に含まれるアクセス制限情報に基づいて、前記サービスがアクセス対象とする前記データブロックへのアクセスが制限されているか否かを判定し、
前記データブロックへのアクセスが制限されていると判定された場合、前記データブロックへのアクセスの許否を判定し、
前記データブロックへのアクセスが許可されていると判定したときのみ、前記データブロックにアクセスする
ステップを含む情報処理方法。
【請求項３】
サービスを定義するための定義情報が格納されている定義ブロックおよび前記サービスがアクセス対象とするデータブロックが記憶されるサービスメモリ領域と、前記定義ブロックおよび前記データブロックの記憶位置を示す論理アドレスが登録された論理ファイルが記憶される論理ファイル領域と、前記論理アドレスと前記サービスメモリ領域の物理アドレスとの対応を管理する管理領域とが確保されているメモリ空間を備える情報処理装置の制御用のプログラムであって、
利用されるサービスに対応する定義ブロックの論理アドレスを前記論理ファイルに基づいて検出し、
検出した定義ブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、
前記サービスメモリ領域の、検出した前記物理アドレスに記憶されている前記定義ブロックにアクセスし、
アクセスした前記定義ブロックに格納されている前記定義情報に基づき、前記サービスがアクセス対象とする前記データブロックの論理アドレスを検出し、
検出した前記データブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、
アクセスした前記定義ブロックに格納されている前記定義情報に含まれるアクセス制限情報に基づいて、前記サービスがアクセス対象とする前記データブロックへのアクセスが制限されているか否かを判定し、
前記データブロックへのアクセスが制限されていると判定された場合、前記データブロックへのアクセスの許否を判定し、
前記データブロックへのアクセスが許可されていると判定したときのみ、前記データブロックにアクセスする
ステップを含む処理を情報処理装置のコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、ICチップにおけるサービスメモリ領域へのアクセスを迅速に行うことができるようにする情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、FeliCa（登録商標）などの非接触ICチップが組み込まれた携帯電話機等が普及し、ユーザは、例えば、その携帯電話機を店舗に設置された端末（リーダライタ）にかざすだけで、電子マネーによる代金支払いを、簡単に行うことができる。
【０００３】
ところでこのようなICチップにおける処理（例えば電子マネーによる代金支払い処理）は、ICチップ内の、所定のメモリ領域がアクセスされ、そこに格納されているデータに対する読み出しや書き込み等が適宜行われることで実現されるが、扱われるデータによってはメモリ領域へのアクセスが制限されている。
【０００４】
すなわち処理が実際に開始される際には、はじめにアクセスが必要となるメモリ領域のうちの、アクセスが制限されているメモリ領域について、それに割り当てられた所定の暗証コード等に基づいてそのメモリ領域へのアクセスが認証されてから処理が開始される。そして処理中は、メモリ領域へのアクセスの認証結果が随時確認されてメモリ領域へのアクセスが行われる。
【０００５】
なお以下において、アクセスされるメモリ領域（処理に必要なアクセス対象のデータが格納されているメモリ領域）を、サービスメモリ領域と称し、サービスメモリ領域へアクセスする処理動作のことを、サービスと称する。
【０００６】
１つのサービスによってアクセスされるサービスメモリ領域は、読み出し又は書き込み等されるデータが格納されている、１個以上のデータブロックで構成される。またサービスメモリ領域には、サービスを定義する所定の定義情報が格納されている定義ブロックが対応付けられている。
【０００７】
暗証コードへのアクセスも１つのサービス（以下、PINサービスと称する）であり、そのPINサービスによってアクセスされるサービスメモリ領域は、暗証データ等が格納されるデータブロックから構成され、そのサービスメモリ領域には、PINサービスを定義する定義ブロックが対応付けられている。
【０００８】
このような定義ブロックおよびデータブロックの設定は、サービスを登録することによって行われるが、サービスが複数存在する場合、図１に示すように、階層的にサービスが登録される（特許文献１参照）。
【０００９】
この例では、「システム」および「エリア」という概念的範囲が設けられ、「システム」に従属して、「エリアＡ０」が設けられ、「エリアＡ０」に従属して、「エリアＡ１」および「エリアＡ２」が設けられている。また「エリアＡ１」に従属して「エリアＡ１」のPINサービスＳ１−１（「エリアＡ１」に従属するサービスを利用するための認証に必要なサービス）とサービスＳ１−２がそれぞれ登録されている。
【００１０】
「エリアＡ２」には、サービスＳ２−１とサービスＳ２−１のPINサービスＳ２−２（サービス２−１の実行の認証に必要なサービス）が登録されている。
【００１１】
このようにサービスを階層的に登録することにより、一連のトランザクションに実行されるサービスを所定の「エリア」にまとめて登録することができるので、サービスの管理を容易にすることができる。
【００１２】
ここで「エリア」およびサービスの登録（以下、適宜、「サービスの登録」と略称する）処理を、図２を参照して簡単に説明する。
【００１３】
所定のブロックコードが割り当てられて生成されたサービスに対応するブロック（定義ブロック、データブロック）は、図２に示すように、ICチップ内の不揮発性メモリの所定のメモリ領域（以下、データ領域と称する）１Ａの所定の物理アドレス＆に記憶される。
【００１４】
サービスに対応する各ブロックの、例えばブロックコードは、図２に示すように、ICチップ内の不揮発性メモリの所定のメモリ領域（以下、論理ファイル２）に、階層構造に応じた順番に論理アドレス＃が対応付けられる。
【００１５】
図２の例では、各サービスの定義ブロックには、論理アドレス＃が、階層構造の順番に、先頭の論理アドレス＃から対応付けられ、データブロックには、階層構造の順番に、最後尾の論理アドレス＃から対応付けられる。
【００１６】
すなわち、定義ブロックについては、図１の例において最上位の「システム」の定義ブロックのブロックコードには、先頭（第１番目）の論理ブロック＃００が対応付けられ、「システム」に従属する「エリアＡ０」の定義ブロックのブロックコードには、第２番目の論理ブロック＃０１が対応付けられ、そして「エリアＡ０」に従属する「エリアＡ１」の定義ブロックのブロックコードには、第３番目の論理ブロック＃０２が対応付けられる。
【００１７】
そして「エリアＡ１」に従属するPINサービスＳ１−１およびサービスＳ１−２の定義ブロックのブロックコードには、第４番目の論理ブロック＃０３および第５番目の論理ブロック＃０４がそれぞれ対応付けられる。
【００１８】
「エリアＡ０」に従属するもう１つの「エリアＡ２」の定義ブロックのブロックコードには、第６番目の論理ブロック＃０５が対応付けられ、「エリアＡ２」に従属するサービスＳ２−１およびPINサービスＳ２−２の定義ブロックには、第７番目の論理ブロック＃０６および第８番目の論理ブロック＃０７がそれぞれ対応付けられる。
【００１９】
データブロックについては、「エリアＡ１」に属するPINサービスＳ１−１のデータブロックには、それより上位の「システム」、「エリアＡ０」、および「エリアＡ１」にデータブロックが存在しないので、最後尾の論理アドレス＃２０が対応付けられ、サービスＳ１−２のデータブロックには、論理アドレス＃１９が対応付けられる。
【００２０】
また「エリアＡ２」に属するPINサービスＳ２−２のデータブロックには、論理アドレス＃１８が対応付けられる。
【００２１】
このように各サービスのブロックコードには、階層構造に応じた順番に論理アドレス＃が対応付けられるが、各ブロックの物理アドレス＆は、図２に示すように、ICチップ内の不揮発性メモリの所定のメモリ領域（以下、管理領域と称する）１Ｂに（図２）、ブロックコードに対応付けられた論理アドレス＃の順番に応じた位置にある記憶部１１に記憶される。
【００２２】
図２の例では、例えば第１番目の論理アドレス＃００が対応付けられた「システム」（その定義ブロック）の物理アドレス＆０１が、管理領域１Ｂの第１番目の記憶部１１に記憶される。また第２番目の論理アドレス＃０１が対応付けられた「エリアＡ０」（その定義ブロック）の物理アドレス＆１０が、管理領域１Ｂの第２番目の記憶部１１に記憶される。
【００２３】
このように、所定のブロック（定義ブロック、データブロック）がデータ領域１Ａの所定の物理アドレス＆に記憶され、例えばブロックコードに、階層構造に対応した論理アドレス＃が対応付けられ、そして物理アドレス＆が、論理アドレス＃に対応付けられて記憶されることで、サービスが登録される。
【００２４】
次に、サービスメモリ領域へのアクセス処理（サービスの実行）を、図３のフローチャートを参照して説明する。なおアクセスが制限されているサービスメモリ領域の認証は、すでに行われているものとする。
【００２５】
ステップＳ１において、いまからアクセスするサービスメモリ領域（以下、対象サービスメモリ領域と称する）が検出される。この処理の詳細は、図４のフローチャートに示されている。
【００２６】
ステップＳ２１において、対象サービスメモリ領域へアクセスするためのサービス（以下、対象サービスと称する）の、例えばサービスコードが入力される。入力されるサービスコードは、処理（例えば、電子マネーによる代金支払処理）の実行によって適宜決定される。
【００２７】
この場合、対象サービスメモリ領域は、図１および図２に示したように登録されたサービスの中のサービスＳ１−２のデータブロックとし、ここでは、サービスＳ１−２の定義ブロックのブロックコードが、サービスＳ１−２のサービスコードとして入力されるものとする。
【００２８】
ステップＳ２２において、入力された定義ブロックのブロックコードに対応する論理アドレス＃が検出される。
【００２９】
サービスＳ１−２の定義ブロックのブロックコードは、図２に示したように、論理アドレス＃０４に対応付けられて論理ファイル２に管理されているので、論理アドレス＃０４が検出される。
【００３０】
ステップＳ２３において、管理領域１Ｂの、検出された論理アドレス＃０４に対応する位置にある記憶部１１に記憶されている物理アドレス＆が検出される。
【００３１】
管理領域１Ｂの、論理アドレス＃０４（第５番目の論理アドレス＃）に対応する第５番目の記憶部１１には、サービスＳ１−２の定義ブロックの物理アドレス＆０４が記憶されているので、物理アドレス＆０４が検出される。
【００３２】
ステップＳ２４において、検出された、データ領域１Ａの物理アドレス＆０４に記憶されているブロック（サービスＳ１−２の定義ブロック）が検出され、その中の定義情報が読み出される。
【００３３】
ステップＳ２５において、読み出されたサービスＳ１−２の定義情報からサービスＳ１−２のデータブロックのブロックコードが検出され、そのコードに対応する論理アドレス＃１９が検出される。
【００３４】
ステップＳ２６において、管理領域１Ｂの、検出された論理アドレス＃１９（後ろから第２番目の論理ブロック＃）に対応する位置にある記憶部１１（後から第２番目の記憶部１１）に記憶されているデータブロックの物理アドレス＆１７が検出される。
【００３５】
このように対象サービスメモリ領域のデータブロックが検出されると（その物理アドレス＆が検出されると）、図３に戻りステップＳ２において、対象サービスメモリ領域へのアクセス（サービスＳ１−２の実行）が制限されているかが判定される。
【００３６】
サービスの実行が制限されている場合、そのサービスの実行には、暗証コードに基づく認証が必要となるので、認証コードが格納されているメモリ領域へのアクセス（PINサービス）が登録されている。
【００３７】
PINサービスのサービスコード（その定義ブロックのブロックコード）には、認証されるサービスのサービスコード（その定義ブロックのブロックコード）から導き出せる所定のコードが割り当てられている。
【００３８】
例えばサービスＳ１−２のブロックコードが、１６ビットで構成され、「１００８」である場合、PINサービスには、その第６ビットが１になる「１０２８」のブロックコード（サービスコード）が割り当てられる。
【００３９】
すなわちここでは、ステップＳ２１で入力されたサービスコードから導き出せるPINサービスのサービスコードが論理ファイル２（図２）に設定されているかが判定される。
【００４０】
いまの例の場合、サービスＳ１−２の実行は制限されていないので、サービスＳ１−２のサービスコードに対応するPINサービスのコードは、論理ファイル２に存在しない。
【００４１】
ステップＳ２で、対象サービスメモリ領域へのアクセス（対象サービスの実行）が制限されていると判定された場合、ステップＳ３に進み、アクセスが許可されているか否かが判定される。
【００４２】
対象サービスの実行が許可されている場合、対応するPINサービスのサービスコードが、ICチップ内の揮発性メモリの所定のメモリ領域（以下、認証済みサービス記憶領域と称する）に記憶されるようになされているので、いまの場合、その認証済みサービス記憶領域に、ステップＳ２で求められたPINサービスのサービスコードが記憶されているかが判定される。
【００４３】
ステップＳ２で、対象サービスのPINサービスは存在しないと判定された場合、またはステップＳ３で、アクセスが許可されていると判定された場合、ステップＳ４に進む。
【００４４】
ステップＳ４において、対象サービスに「親エリア」が存在するか否かが判定される（対象サービスが所定の「エリア」に従属して登録されているか否かが判定される）。
【００４５】
具体的には、サービスが所定の「エリア」に従属して登録されている場合、そのサービスの定義ブロックの定義情報（ステップＳ２４で読み出された定義情報）には「親エリア」のコード（「親エリア」の定義ブロックのブロックコード）が設定されているので、定義情報に「親エリア」のコードが設定されているかが判定される。
【００４６】
図１の例では、サービスＳ１−２は、「エリアＡ１」に従属して登録されているので、「親エリア」が存在し、サービスＳ１−２の定義ブロックの定義情報には、「Ａ１エリア」のコードが設定されている。
【００４７】
ステップＳ４で、「親エリア」が存在すると判定された場合、ステップＳ５に進み、「親エリア」へのアクセスが制限されているか否かが判定される。すなわち「親エリア」のコードから導き出せるPINサービスのコードが論理ファイル２に設定されているか否かが判定される。
【００４８】
いまの場合、「エリアＡ１」へのアクセスは制限されており、「エリアＡ１」のPINサービスＳ１−１が存在する。
【００４９】
なおこのとき「親エリア」のコードから論理アドレス＃が求められ、そしてその論理アドレス＃から、その定義ブロックの物理アドレス＆が検出され、データ領域１Ａの、検出された物理アドレス＆に記憶されている「親エリア」の定義情報が読み出される。
【００５０】
ステップＳ５で、「親エリア」へのアクセスが制限されていると判定された場合、ステップＳ６に進み、そのアクセスは許可されているか否か（PINサービスＳ１−１のコードが認証済みサービス記憶領域に記憶されているか否か）が判定される。
【００５１】
ステップＳ５で、「親エリア」へのアクセスが制限されていないと判定された場合、またはステップＳ６で、アクセスが許可されていると判定された場合、ステップＳ７に進み、アクセスの制限を確認していない「親エリア」がまだ存在するか否かが判定され、存在すると判定された場合、ステップＳ５に戻り、より上位の「親エリア」に対して同様の処理が行われる。
【００５２】
図１の例では、「エリアＡ１」は、「エリアＡ０」および「システム」に従属しているので、「エリアＡ０」および「システム」に対して、アクセスが制限されているか（ステップＳ５）、制限されている場合はそれが許可されているか（ステップＳ６）がそれぞれ判定される。このとき「エリアＡ０」および「システム」の定義情報も読み出される。
【００５３】
ステップＳ３で対象サービスが許可されていないと判定された場合、またはステップＳ６で「親エリア」へのアクセスが許可されていないと判定された場合、ステップＳ８に進み、例えばアクセスに失敗した旨がユーザに提示されるようなエラー処理が実行される。
【００５４】
ステップＳ４で、「親エリア」が存在しないと判定された場合、またはステップＳ７で、全ての「親エリア」のアクセス制限が確認されたと判定された場合（すべての制限が認証されているとき）、ステップＳ９に進み、ステップＳ１（図４のステップＳ２６）で検出されたデータブロックにアクセスされる。
【００５５】
ステップＳ８でエラー処理が行われたとき、またはステップＳ９でサービスメモリ領域へのアクセスが行われたとき、処理は終了する。
【００５６】
このようにして対象サービスメモリ領域へのアクセスが行われる。
【００５７】
【特許文献１】特開２００４−３１０５５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００５８】
しかしながら、上述した方法では、「エリア」のアクセス制限の確認は（ステップＳ５）、制限がなされていれば存在する、「エリア」のコードから導かれるPINサービスのコードが論理ファイル２に設定されているか否かを判定することで行われる。すなわち階層が深くなり、論理ファイル２を検索する回数が増えると、その検索に時間を要し、アクセス処理を迅速に行うことができなかった。
【００５９】
本発明は、このような状況に鑑みてなされたものであり、サービスが階層的に登録されている場合においても、アクセス処理を迅速に行うことができるようにするものである。
【課題を解決するための手段】
【００６０】
本発明の情報処理装置は、サービスを定義するための定義情報が格納されている定義ブロックおよび前記サービスがアクセス対象とするデータブロックが記憶されるサービスメモリ領域と、前記定義ブロックおよび前記データブロックの記憶位置を示す論理アドレスが登録された論理ファイルが記憶される論理ファイル領域と、前記論理アドレスと前記サービスメモリ領域の物理アドレスとの対応を管理する管理領域とが確保されているメモリ空間と、アクセスが制限されている前記サービスメモリ領域へのアクセスの許否を判定する認証手段と、前記サービスメモリ領域へのアクセスを実行する実行手段とを備え、前記実行手段は、利用されるサービスに対応する定義ブロックの論理アドレスを前記論理ファイルに基づいて検出し、検出した定義ブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、前記サービスメモリ領域の、検出した前記物理アドレスに記憶されている前記定義ブロックにアクセスし、アクセスした前記定義ブロックに格納されている前記定義情報に基づき、前記サービスがアクセス対象とする前記データブロックの論理アドレスを検出し、検出した前記データブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、アクセスした前記定義ブロックに格納されている前記定義情報に含まれるアクセス制限情報に基づいて、前記サービスがアクセス対象とする前記データブロックへのアクセスが制限されているか否かを判定し、前記データブロックへのアクセスが制限されていると判定された場合、前記認証手段によって前記データブロックへのアクセスが許可されていると判定されたときのみ、前記データブロックにアクセスする。
【００６２】
本発明の情報処理方法は、サービスを定義するための定義情報が格納されている定義ブロックおよび前記サービスがアクセス対象とするデータブロックが記憶されるサービスメモリ領域と、前記定義ブロックおよび前記データブロックの記憶位置を示す論理アドレスが登録された論理ファイルが記憶される論理ファイル領域と、前記論理アドレスと前記サービスメモリ領域の物理アドレスとの対応を管理する管理領域とが確保されているメモリ空間を備える情報処理装置の情報処理方法において、前記情報処理装置による、利用されるサービスに対応する定義ブロックの論理アドレスを前記論理ファイルに基づいて検出し、検出した定義ブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、前記サービスメモリ領域の、検出した前記物理アドレスに記憶されている前記定義ブロックにアクセスし、アクセスした前記定義ブロックに格納されている前記定義情報に基づき、前記サービスがアクセス対象とする前記データブロックの論理アドレスを検出し、検出した前記データブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、アクセスした前記定義ブロックに格納されている前記定義情報に含まれるアクセス制限情報に基づいて、前記サービスがアクセス対象とする前記データブロックへのアクセスが制限されているか否かを判定し、前記データブロックへのアクセスが制限されていると判定された場合、前記データブロックへのアクセスの許否を判定し、前記データブロックへのアクセスが許可されていると判定したときのみ、前記データブロックにアクセスするステップを含む。
【００６３】
本発明のプログラムは、サービスを定義するための定義情報が格納されている定義ブロックおよび前記サービスがアクセス対象とするデータブロックが記憶されるサービスメモリ領域と、前記定義ブロックおよび前記データブロックの記憶位置を示す論理アドレスが登録された論理ファイルが記憶される論理ファイル領域と、前記論理アドレスと前記サービスメモリ領域の物理アドレスとの対応を管理する管理領域とが確保されているメモリ空間を備える情報処理装置の制御用のプログラムであって、利用されるサービスに対応する定義ブロックの論理アドレスを前記論理ファイルに基づいて検出し、検出した定義ブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、前記サービスメモリ領域の、検出した前記物理アドレスに記憶されている前記定義ブロックにアクセスし、アクセスした前記定義ブロックに格納されている前記定義情報に基づき、前記サービスがアクセス対象とする前記データブロックの論理アドレスを検出し、検出した前記データブロックの前記論理アドレスに対応する物理アドレスを前記管理領域に基づいて検出し、アクセスした前記定義ブロックに格納されている前記定義情報に含まれるアクセス制限情報に基づいて、前記サービスがアクセス対象とする前記データブロックへのアクセスが制限されているか否かを判定し、前記データブロックへのアクセスが制限されていると判定された場合、前記データブロックへのアクセスの許否を判定し、前記データブロックへのアクセスが許可されていると判定したときのみ、前記データブロックにアクセスするステップを含む処理を情報処理装置のコンピュータに実行させる。
【００６４】
本発明においては、利用されるサービスに対応する定義ブロックの論理アドレスが論理ファイルに基づいて検出され、検出され定義ブロックの論理アドレスに対応する物理アドレスが管理領域に基づいて検出され、サービスメモリ領域の、検出された物理アドレスに記憶されている定義ブロックにアクセスされ、アクセスされた定義ブロックに格納されている定義情報に基づき、サービスがアクセス対象とするデータブロックの論理アドレスが検出され、検出されたデータブロックの論理アドレスに対応する物理アドレスが管理領域に基づいて検出される。さらに、定義情報に含まれるアクセス制限情報に基づいて、サービスがアクセス対象とするデータブロックへのアクセスが制限されているか否かが判定され、データブロックへのアクセスが制限されていると判定された場合、データブロックへのアクセスの許否が判定され、データブロックへのアクセスが許可されていると判定されたときのみ、データブロックにアクセスされる。
【発明の効果】
【００６５】
本発明によれば、例えばICチップにおけるサービスメモリ領域へのアクセスを迅速にすることができる。
【発明を実施するための最良の形態】
【００７１】
図５は、本発明を適用したICチップ１１の構成例を示している。ICチップ１１は、例えばICカードや携帯電話機等に組み込まれて利用される。
【００７２】
ＲＦ部２２は、図示せずアンテナを介して、図示せぬリーダライタとの無線通信を行う。
【００７３】
メモリ２３は、不揮発性メモリ３１と揮発性メモリ３２から構成されており、不揮発性メモリ３１には、サービスを構成する各ブロックが記憶されるデータ領域４１Ａ、ブロックの物理アドレス＆が記憶される管理領域４１Ｂ、およびブロックの、例えばブロックコードが論理アドレス＃に対応付けられて設定されている論理ファイル４２が設けられている。
【００７４】
揮発性メモリ３２には、その実行が許可されたサービスの、例えばサービスコードが記憶される認証済みサービス記憶領域５１が設けられている。
【００７５】
認証部２４は、その実行が制限されているサービスの認証を、サービスに割り当てられた暗証コードに基づいて実行し、認証したサービスのサービスコードを、メモリ２３の認証済みサービス記憶領域５１に記憶する。
【００７６】
制御部２１は、各部を制御する。
【００７７】
本発明においても、１つのサービスによってアクセスされるサービスメモリ領域は、従来の場合と同様に、１個以上のデータブロックで構成され、そのサービスメモリ領域には、サービスを定義する所定の定義情報が格納されている定義ブロックが対応付けられている。
【００７８】
しかしながら、従来におけるPINサービスは設けられておらず、各定義ブロックの定義情報の中に、そのサービスの実行が制限されていないことを示す情報（以下、PIN設定無効情報と称する）またはサービスの実行が制限されていることを示す情報（以下、PIN設定有効情報）（以下、PIN設定無効情報およびPIN設定有効情報を、区別する必要がない場合、PIN設定情報と称する）が設定され、またPIN設定有効情報が設定されている場合には、そのサービスの実行の認証に必要な暗証コードも設定されるようになされている。
【００７９】
すなわち本発明によれば、各サービスは、図６に示すように階層的に登録される。この例は、図１に示したように登録されたサービスを、本発明に対応させて登録したものであるが、図１におけるPINサービスの定義ブロックおよびそのデータブロックは存在せず、各定義ブロックの定義情報にPIN設定情報等が設定されている。
【００８０】
「システム」、「エリアＡ０」、サービスＳ１−２、および「エリアＡ２」の定義ブロックの定義情報に、PIN設定無効情報が設定されている。「エリアＡ１」およびサービスＳ２−１については、図１におけるPINサービスＳ２−１およびPINサービスＳ２−２は存在せず、その定義情報に、PIN設定有効情報と暗証コードが設定されている。
【００８１】
図７は、図６のようにサービスが登録された場合の、ICチップ１１内のデータ領域４１Ａ、管理領域４１Ｂ、および論理ファイル４２に記憶されているデータの例を示している。
【００８２】
データ領域４１Ａには、例えば所定のブロックコードが割り当てられて生成された、「システム」、「エリアＡ０」、「エリアＡ１」、サービスＳ１−２、「エリアＡ２」、サービスＳ２−１（図１におけるPINサービスＳ１−１およびＳ２−２は存在しない）に対応するブロックが、所定の物理アドレス＆に記憶される。
【００８３】
サービスに対応する各ブロックのブロックコードは、階層構造に応じた順番に論理アドレス＃が対応付けられて、論理ファイル４２に設定される。
【００８４】
図７の例では、各サービスの定義ブロックの、例えばブロックコードには、論理アドレス＃が、階層構造の順番に、先頭の論理アドレス＃から対応付けられ、データブロックのブロックコードには、階層構造の順番に、最後尾の論理アドレス＃から対応付けられる。
【００８５】
定義ブロックについては、最上位の「システム」の定義ブロックのブロックコードに、第１番目の論理ブロック＃００が対応付けられ、「システム」に従属する「エリアＡ０」の定義ブロックのブロックコードに、第２番目の論理ブロック＃０１が対応付けられ、そして「エリアＡ０」に従属する「エリアＡ１」の定義ブロックのブロックコードに、第３番目の論理ブロック＃０２が対応付けられる。
【００８６】
そして「エリアＡ１」に従属するサービスＳ１−２の定義ブロックのブロックコードに、第４番目の論理ブロック＃０３が対応付けられる。
【００８７】
「エリアＡ０」に従属するもう１つの「エリアＡ２」の定義ブロックのブロックコードには、第５番目の論理ブロック＃０４が対応付けられ、「エリアＡ２」に従属するサービスＳ２−１の定義ブロックには、第６番目の論理ブロック＃０５が対応付けられる。
【００８８】
データブロックについては、「エリアＡ１」に属するサービスＳ１−２のデータブロックに、最後尾の論理アドレス＃２０が対応付けられる。
【００８９】
各ブロックの物理アドレス＆は、ICチップ１１内の管理領域４１Ｂに、例えばブロックコードに対応付けられた論理アドレス＃の順番に応じた位置にある記憶部６１に記憶される。
【００９０】
図７の例では、例えば第１番目の論理アドレス＃００が対応付けられた「システム」（その定義ブロック）の物理アドレス＆０１が、管理領域４１Ｂの第１番目の位置の記憶部６１に記憶される。また第２番目の論理アドレス＃０１が対応付けられた「エリアＡ０」（その定義ブロック）の物理アドレス＆１０が、管理領域４１Ｂの第２番目の記憶部６１に記憶される。
【００９１】
このように、所定のブロック（定義ブロック、データブロック）がデータ領域４１Ａの所定の物理アドレス＆に記憶され、例えばブロックコードに、階層構造に対応した論理アドレス＃が対応付けられ、そして物理アドレス＆が、論理アドレス＃に対応付けられて記憶されることで、サービスが登録される。
【００９２】
次に、サービスメモリ領域へのアクセス処理（サービスの実行）を、図８のフローチャートを参照して説明する。なおアクセスが制限されているサービスメモリ領域の認証は、既に行われているものとする。
【００９３】
ステップＳ５１において、対象サービスメモリ領域が検出される。ここでの処理は、図９のフローチャートに示されている。
【００９４】
ステップＳ７１において、制御部２１は、アクセスするサービスメモリ領域（対象サービスメモリ領域）へアクセスするためのサービス（対象サービス）のサービスコードを入力する。入力されるサービスコードは、処理（例えば、電子マネーによる代金支払処理）の実行によって適宜決定される。
【００９５】
この場合、対象サービスメモリは、図６および図７に示したように登録されたサービスの中のサービスＳ１−２のデータブロックとし、ここでは、サービスＳ１−２の定義ブロックのブロックコードが、サービスＳ１−２のサービスコードとして入力されるものとする。
【００９６】
ステップＳ７２において、制御部２１は、入力した定義ブロックのブロックコードに対応する論理アドレス＃を検出する。
【００９７】
サービスＳ１−２の定義ブロックのブロックコードは、図７に示すように、論理アドレス＃０３に対応付けられて論理ファイル４２に設定されているので、論理アドレス＃０３が検出される。
【００９８】
ステップＳ７３において、制御部２１は、管理領域４１Ｂの、検出した論理アドレス＃０３に対応する位置にある記憶部６１に記憶されている物理アドレス＆を検出する。
【００９９】
管理領域４１Ｂの、論理アドレス＃０３（第４番目の論理アドレス＃）に対応する第４番目の記憶部６１には、サービスＳ１−２の定義ブロックの物理アドレス＆０３が記憶されているので、物理アドレス＆０３が検出される。
【０１００】
ステップＳ７４において、制御部２１は、検出した、データ領域４１Ａの物理アドレス＆０３に記憶されているサービスＳ１−２の定義ブロックを検出し、その中の定義情報を読み出す。
【０１０１】
ステップＳ７５において、制御部２１は、読み出したサービス１−２の定義情報からサービスＳ１−２のデータブロックのブロックコードを読み出し、それに対応する論理アドレス＃２０を論理ファイル４２から検出する。
【０１０２】
ステップＳ７６において、制御部２１は、管理領域４１Ｂの、検出した論理アドレス＃２０（最後尾の論理アドレス＃）に対応する位置にある記憶部６１（最後尾の記憶部６１）に記憶されているデータブロックの物理アドレス＆１９を検出する。
【０１０３】
このように対象サービスメモリ領域のデータブロックが検出されると（その物理アドレス＆が検出されると）、図８に戻りステップＳ５２において、制御部２１は、対象サービスメモリ領域へのアクセス（サービスＳ１−２の実行）が制限されているかを判定する。
【０１０４】
本発明では、定義情報に、PIN設定有効情報またはPIN設定無効情報のいずれかのPIN設定情報が設定されているので、ステップＳ７４で読み出された定義情報にいずれのPIN設定情報が設定されているかに基づいて、対象サービスメモリ領域へのアクセスが制限されているか否かが判定される。
【０１０５】
いまの例の場合、サービスＳ１−２の実行は制限されていないので、その定義情報には、制限されていない旨を示すPIN設定無効情報（図６）が設定されている。
【０１０６】
ステップＳ５２で、対象サービスメモリ領域へのアクセス（対象サービスの実行）が制限されていると判定された場合、ステップＳ５３に進み、アクセスが許可されているか否かが判定される。
【０１０７】
サービスの実行が許可されている場合、そのサービスのサービスコードが、ICチップ１１の認証済みサービス記憶領域５１に記憶されるようになされているので、認証済みサービス記憶領域５１に、対象サービスのサービスコードが記憶されているかが判定される。
【０１０８】
ステップＳ５２で、対象サービスの実行が制限されていないと判定された場合、またはステップＳ５３で、アクセスが許可されていると判定された場合、ステップＳ５４に進む。
【０１０９】
ステップＳ５４において、制御部２１は、対象サービスに「親エリア」が存在するか否かを判定する（対象サービスが所定の「エリア」に従属して登録されているか否かを判定する）。
【０１１０】
サービスに「親エリア」が存在する場合、サービスの定義ブロックの定義情報には「親エリア」のコード（その定義ブロックのブロックコード）が設定されているので、定義情報に「親エリア」のコードが設定されているかが判定される。
【０１１１】
図６の例の場合、サービスＳ１−２は「エリアＡ１」に従属して登録されているので、「親エリア」が存在し、サービスＳ１−２の定義ブロックの定義情報には、「エリアＡ１」のコードが設定されている。
【０１１２】
ステップＳ５４で、「親エリア」が存在すると判定された場合、ステップＳ５５に進み、制御部２１は、「親エリア」へのアクセスが制限されているか否かを判定する。
【０１１３】
具体的には、「親エリア」（例えば、「エリアＡ１」）のコードから、それに対応する論理アドレス＃（論理アドレス＃０２）が求められ、その論理アドレス＃から、その定義ブロックの物理アドレス＆（物理アドレス＆１８）が検出される。そして、データ領域４１Ａの、検出された物理アドレス＆にある「親エリア」の定義情報（エリアＡ１の定義情報）が読み出され、そこに設定されているPIN設定情報に基づいて、その「親エリア」（エリアＡ１）へのアクセスが制限されているかが判定される。
【０１１４】
「エリアＡ１」へのアクセスは制限されているので、その定義情報にはPIN設定有効情報が設定されている（図６および図７）。
【０１１５】
ステップＳ５５で、「親エリア」へのアクセスが制限されていると判定された場合、ステップＳ５６に進み、制御部２１は、そのアクセスは許可されているか否かを判定する。
【０１１６】
例えば「エリアＡ１」のコードが、認証済みサービス記憶領域５１に記憶されているか否かが判定される。
【０１１７】
ステップＳ５５で、「親エリア」へのアクセスが制限されていないと判定された場合、またはステップＳ５６で、アクセスが許可されていると判定された場合、ステップＳ５７に進み、制御部２１は、アクセス制限を確認していない「親エリア」がまだ存在するか否かを判定し、存在すると判定した場合、ステップＳ５５に戻り、より上位の「親エリア」に対して同様の処理を行う。
【０１１８】
図６の例では、「エリアＡ１」は、「エリアＡ０」および「システム」に従属しているので、「エリアＡ０」および「システム」に対して、アクセスが制限されているか（ステップＳ５５）、制限されている場合はそれが許可されているか（ステップＳ５６）がそれぞれ判定される。
【０１１９】
ステップＳ５３で、対象サービスが許可されていないと判定された場合、またはステップＳ５６で「親エリア」へのアクセスが許可されていないと判定された場合、ステップＳ５８に進み、制御部２１は、例えばアクセスに失敗した旨がユーザに提示されるようなエラー処理を実行する。
【０１２０】
ステップＳ５７で、全ての「親エリア」のアクセス制限が確認されたと判定されたとき（すべての制限が認証されているとき）、ステップＳ５９に進み、制御部２１は、ステップＳ５１で検出されたデータブロックにアクセスする。
【０１２１】
以上のようにサービスメモリ領域へのアクセスを実行するようにし、PIN設定情報に基づいて、アクセスが制限されているか否かを判定するようにしたので、従来のように、サービス、およびそれが従属する「エリア」のPINサービスの存在を、論理ファイル４２を検索して検出する必要がなく、迅速にサービスメモリ領域へのアクセスを行うことができる。
【０１２２】
またサービスの階層構造を簡単なものにすることができるので、記憶容量を節約することができる。
【０１２３】
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１２４】
【図１】従来のサービス登録を説明する図である。
【図２】従来のサービス登録を説明する他の図である。
【図３】従来の、サービスメモリ領域へのアクセス処理を説明するフローチャートである。
【図４】図３のステップＳ１の処理を説明するフローチャートである。
【図５】本発明を適用したICチップの構成例を示すブロック図である。
【図６】本発明におけるサービス登録を説明する図である。
【図７】図５のメモリ３１のデータ構造を示す図である。
【図８】本発明にかかるサービスメモリ領域へのアクセス処理を説明するフローチャートである。
【図９】図８のステップＳ５１の処理を説明するフローチャートである。
【符号の説明】
【０１２５】
１１  ICチップ，  ２１  制御部，  ２２  ＲＦ部，  ２３  メモリ，  ２４  認証部，４１Ａ  データ領域，  ４１Ｂ  管理領域，  ４２  論理フィアル
【図１】
0004722610.tif 000002
【図２】
0004722610.tif 000003
【図３】
0004722610.tif 000004
【図４】
0004722610.tif 000005
【図５】
0004722610.tif 000006
【図６】
0004722610.tif 000007
【図７】
0004722610.tif 000008
【図８】
0004722610.tif 000009
【図９】
0004722610.tif 000010