JP2007102559A - 携帯可能電子装置 - Google Patents

携帯可能電子装置 Download PDF

Info

Publication number
JP2007102559A
JP2007102559A JP2005292680A JP2005292680A JP2007102559A JP 2007102559 A JP2007102559 A JP 2007102559A JP 2005292680 A JP2005292680 A JP 2005292680A JP 2005292680 A JP2005292680 A JP 2005292680A JP 2007102559 A JP2007102559 A JP 2007102559A
Authority
JP
Japan
Prior art keywords
record
data
command
binary
read
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.)
Pending
Application number
JP2005292680A
Other languages
English (en)
Other versions
JP2007102559A5 (ja
Inventor
Norio Ishibashi
則夫 石橋
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005292680A priority Critical patent/JP2007102559A/ja
Priority to SG200605923-2A priority patent/SG131834A1/en
Priority to US11/514,965 priority patent/US20070124530A1/en
Priority to KR1020060086814A priority patent/KR20070038400A/ko
Priority to CNA2006101291245A priority patent/CN1945606A/zh
Publication of JP2007102559A publication Critical patent/JP2007102559A/ja
Publication of JP2007102559A5 publication Critical patent/JP2007102559A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

【課題】管理情報とレコードデータとを有するレコードが格納されるレコード構造のファイルに記憶されているデータに対して効率的にアクセスすることができる。
【解決手段】レコード構造のファイルを指定するレコード系のコマンドを受信した場合には、指定されたレコードごとに当該ファイルに記憶されているデータを処理し、レコード構造のファイルを指定するバイナリ系のコマンドを受信した場合には、当該ファイルに記憶されている各レコードのレコードデータ、あるいは、各レコードの管理情報及びレコードデータを昇順あるいは降順に連結したデータをバイナリデータとして処理するようにしたものである。
【選択図】 図1

Description

この発明は、たとえば、データの書込みや書換え可能な不揮発性メモリおよびCPUなどの制御素子を有したモジュールを内蔵し、外部から入力されるコマンドに対応した処理を実行するICカードなどの携帯可能電子装置に関する。
従来、携帯可能電子装置としては、たとえば、メモリやCPUなどの機能を有したICモジュールがプラスチック板などで構成される筐体内に埋設されているICカードがある。このようなICカードでは、外部装置からのコマンドに応じて書き換え可能な不揮発性メモリにデータを書き込んだり、不揮発性メモリからデータを読み出したりするようになっている。たとえば、ICカードの標準仕様であるISO7816では、ICカードの不揮発性メモリに記憶するデータのファイルデータ構造として、透過構造(transparent)EF(エレメンタリーファイル:Elementary File)、および、レコード構造(record)EFなどが定義されている。
上記透過構造EFには、構造化されていないデータ(バイナリデータ)が記憶される。このような透過構造EFに記憶されているデータには、従来のICカードでは、バイナリ系のコマンドでのみアクセスするようになっている。このため、上記透過構造EFでは、データの構造に自由度が高い。また、上記レコード構造EFには、管理情報と実データ(レコードデータ)とを有する所定の形式のレコードがデータとして記憶される。このためレコード構造EFでは、データの管理が容易である。このようなレコード構造EFに記憶されているデータ(レコード)には、従来のICカードでは、レコード系のコマンドでのみアクセスするようになっている。
上記バイナリ系のコマンドでは、上位装置がEF内のデータへのアクセスをオフセットで指定する。このため、上記バイナリ系のコマンドでは、EF内のデータを一括して処理対象として指定することが可能であり、バイナリ系のコマンドに対するICカード内の処理も単純である。しかしながら、バイナリ系のコマンドでは、処理対象となるEF内のデータを直接的に指定する必要があるため、EF内のデータ構造などが不明であれば所望のデータを処理対象として指定できない。
これに対して、上記レコード系のコマンドでは、上位装置は、ICカードに対してEF内のデータへのアクセスをレコードで指定する。このため、上位装置では、ICカード内のデータ(レコード)を指定することが容易である。しかしながら、レコード系のコマンドでは、各レコードごとに処理対象とするデータを指定する必要があるため、EF内の複数のレコードを処理対象として指定する場合であっても、複数のレコード系のコマンドで、各レコードを処理対象として指定しなければならない。
特に、ICカードなどの携帯可能電子装置では、運用形態において処理時間が限られていることが多い。このため、ICカードなどの携帯可能電子装置には、メモリに記憶しているデータへの効率的なアクセスによる処理の高速化あるいは処理の単純化などが要望されている。
特開2005−11147号公報
この発明は、データへの効率的なアクセスが可能な携帯可能電子装置を提供することを目的する。
この発明の一形態としての携帯可能電子装置は、管理情報とレコードデータとを有するレコードを格納したファイルを記憶する記憶手段と、外部装置とのデータ通信を行う通信手段と、この通信手段により前記記憶手段に記憶されている前記レコードを格納したファイルに対してバイナリデータを処理するコマンドを受信した場合、当該ファイルに格納されている各レコードのデータをバイナリデータとして処理する処理手段とを有する。
この発明によれば、データへの効率的なアクセスが可能な携帯可能電子装置を提供することができる。
以下、この発明を実施するための最良の形態について図面を参照して説明する。
図1は、この実施の形態に係る携帯可能電子装置としてのICカード1のハードウエア構成を概略的に示すものである。
図1に示すように、ICカード1は、CPU(セントラル・プロセッシング・ユニット)11、ROM(リード・オンリ・メモリ)12、RAM(ランダム・アクセス・メモリ)13、通信ユニット(UART)14、不揮発性メモリ(NV(EEPROM))15、および、コプロセッサ(Co−Processor)16などを有している。
上記CPU11、ROM12、RAM13、通信ユニット14、コプロセッサ15および不揮発性メモリ16は、ICチップなどにより一体的に形成されたモジュールCaにより構成される。このモジュールCaは、当該ICカード1を形成する筐体Cの内部に埋設される。すなわち、上記ICカード1は、モジュールCaが埋設された筐体Cにより構成されている。
また、上記ICカード1は、上位装置としての上記ICカード処理装置2から電力などの供給を受けた際、活性化し(動作可能な状態となり)、上記ICカード処理装置2からのコマンドに応じて動作するようになっている。
上記CPU11は、全体的な管理や制御を司るものである。上記CPU11は、処理手段や判断手段として機能する。上記CPU11は、制御プログラム等に基づいて動作することにより種々の処理を行う。上記ROM12は、制御用プログラムや制御データなどが予め格納されている不揮発性メモリである。上記RAM13は、ワーキングメモリとして機能する揮発性のメモリである。
上記通信ユニット14は、通信手段として機能し、上位装置としてのICカード処理装置2とのデータ通信を制御するものである。また、上記通信ユニット14は、上記ICカード1が動作するための電源を受給する手段としても機能する。上記コプロセッサ15は、暗号化あるいは復号化などの演算の補助を行うものである。上記不揮発性メモリ16は、各種データやアプリケーション(アプリケーションプログラム)などを記憶する書き換え可能な不揮発性メモリである。なお、上記不揮発性メモリ16に記憶されるデータの構造については、後で詳細に説明する。
また、上記通信ユニット14は、ICカード1の通信方式に応じた構成を有している。たとえば、上記ICカード1の通信方式が接触式の通信方式である場合、上記通信ユニット14は、上位装置としてのICカード処理装置2のコンタクト部と物理的に接触するためのコンタクト部などにより構成される。この場合、ICカード1は、ICカード処理装置2と物理的に接触している上記通信ユニット14によりICカード処理装置2からの電源を受給する。つまり、上記ICカード1が接触式ICカードである場合、上記ICカード1は、通信ユニット14としてのコンタクト部を介してICカード処理装置2からの動作電源および動作クロックの供給を受けて活性化される。
また、上記ICカード1の通信方式が非接触式(無線式)の通信方式である場合、上記上記通信ユニット14は、電波の送受信を行うアンテナおよび通信を制御する通信制御部等により構成される。この場合、上記ICカード1は、通信ユニット14により受信した電波から図示しない電源部により動作電源および動作クロックを生成するようになっている。つまり、上記ICカード2が非接触式ICカードである場合、上記ICカード2は、通信ユニット14としてのアンテナおよび通信制御部等を介してICカード処理装置2からの電波を受信し、その電波から図示しない電源部により動作電源および動作クロックを生成して活性化するようになっている。
次に、上記不揮発性メモリ16に記憶されるデータの構成について説明する。
上記不揮発性メモリ16には、たとえば、ISO/IEC7816において定義されたファイル構造で各種のデータが記憶される。たとえば、上記不揮発性メモリ16には、複数階層構造(ツリー構造)で管理されるデータファイルとしてのファイル(EF:Elementary File)、および、データフォルダとしてのファイル(DF:Dedicated File)が記憶されている。
図2は、上記不揮発性メモリ16に記憶されているファイル構造の例を示す図である。
図2に示す例では、最上位がマスタファイルとしてのファイル(MF:Master File)21である。上記MF21の配下には、データを格納するEF(EF−A)22、フォルダとしてのDF(DF−A)23、および、フォルダとしてのDF(DF−B)24が設けられている。さらに、上記DF(DF−B)24の配下には、データの格納などに使用されるEF(EF−B1)25が設けられている構成になっている。このようなファイル構造では、各種のデータは、データファイルとしてのEFに記憶される。
次に、上記不揮発性メモリ16に記憶されるデータファイルとしてのEFの構成について説明する。
上記のように、上記ICカード1の不揮発性メモリ16において、各種のデータは、それぞれEFに記憶される。たとえば、EF内のデータ構造として、たとえば、ICカードの標準仕様であるISO7816では、透過構造(transparent)EF、および、レコード構造(record)EFなどが定義されている。
上記透過構造EFは、構造化されていない一連のデータを記憶するファイルである。上記透過構造EFに記憶されているデータはオフセット指定で扱われる。このため、上記透過構造EFに対する処理が単純である。また、上記透過構造EFに記憶されるデータの構造には、自由度がある。従って、上記透過構造EFは、データの管理をICカード1の上位装置としてのICカード処理装置2で行なう場合には適している。
これに対して、レコード構造EFは、所定の形式で構造化された1または複数のデータ(レコード)を記憶するファイルである。また、上記レコード構造EFに格納される各レコードは、ぞれぞれ管理情報とレコードデータと有する所定の形式のデータである。上記レコード構造EFに格納される各レコードの管理情報は、たとえば、レコードの順番情報(レコード番号)、チェックサムデータ(正当性確認データ、パリティ)などの情報である。また、上記レコード構造EFに格納される各レコードのレコードデータ(実データ)は、識別情報としてのタグ(Tag)、データ値のデータ長を示す情報としてのレングス(Length)、データ値としてのバリュー(Value)から構成される。
上記のように、上記レコード構造EFには、所定の形式の各レコード単位でデータが記憶されている。このため、上記レコード構造EFに記憶されているデータにアクセスするには、データが記憶されているレコードを指定する必要がある。言い換えると、上記レコード構造EF内のデータは、レコード指定で扱うことができる。このため、上記レコード構造EFに記憶されているデータには、レコード構造の正当性の確認、タグ(Tag)によるレコード検索といったデータ(レコード)管理が可能となっている。これは、上記ICカード1に処理を要求(コマンドを供給)する上位装置としてのICカード処理装置2が構造化されたレコード単位でデータを取り扱えることを意味する。
上記透過構造EFには、バイナリ系のコマンドが使用される。たとえば、透過構造EFにデータを書き込むためには、ライトバイナリ(Write Binary)というコマンドが使用される。また、上記透過構造EFからデータを読み出すためには、リードバイナリ(Read Binary)というコマンドが使用される。
これに対して、上記レコード構造EFにアクセスするために、上記ICカード1では、レコード系のコマンドとバイナリ系のコマンドとが使用できるようになっている。すなわち、上記レコード構造EFにデータを書き込むためのコマンドには、たとえば、レコード系のコマンドとして、ライトレコード(Write Record)、アップデートレコード(Update Record)、アペンドレコード(Append Record)などのコマンドがあり、バイナリ系のコマンドとして、ライトバイナリ(Write Binary)などのコマンドがある。また、上記レコード構造EFからデータを読み出すためのコマンドには、たとえば、レコード系のコマンドとして、リードレコード(Read Record)などのコマンドがあり、バイナリ系のコマンドとして、リードバイナリ(Read Binary)などのコマンドがある。
上記のように、上記ICカード1では、レコード構造EFに対して、レコード系のコマンド、あるいは、バイナリ系のコマンドでアクセスできる。言い換えると、当該ICカード1では、レコード系のコマンドを受信した場合にはレコード構造EFに記憶されているデータをレコードごとにアクセス(レコード構造EFとしてアクセス)することが可能であり、バイナリ系のコマンドを受信した場合にはレコード構造EFに記憶されているデータをバイナリデータとしてアクセス(擬似的に透過構造EFとしてアクセス)することが可能である。
例えば、1つのレコード構造EFに10個のレコードが記憶されている場合を想定する。この場合、1つのレコード構造EFに記憶されている10個のレコードをレコード系のコマンド(リードレコード(Read Record)コマンド)を使用して全て読み出すには、ICカード1は、リードレコードコマンドを10回実施する必要がある。これに対して、1つのレコード構造EFに記憶されている10個のレコードをバイナリ系のコマンド(リードバイナリ(Read Binary)コマンド)を使用して全て読み出すためには、ICカード1はリードバイナリコマンドを1回実施すれば良い。これは、当該レコード構造EFを指定するリードバイナリコマンドに対して、ICカード1が、10個のレコードとして記憶されている各データを連結し、1つのバイナリデータとして扱うことを前提としている。
次に、レコード構造EFに記憶されているデータの構成について説明する。
図3は、レコード構造EFに記憶されているデータの構成例を示している。
図3に示す例では、1バイトを1セルで表している。図3に示す例では、EF全体が70バイトから構成されている。また、図3に示すEFにおいて、白いセル(「13」〜「22」、「28」〜「37」、「43」〜「52」、「58」〜「67」)は、各レコードの実データとしての識別情報(tag)、長さ情報(length)、データ値(value)などを示し、右下がり斜線のセル(「08」〜「12」、「23」〜「27」、「38」〜「42」、「53」〜「57」)は、各レコードの管理情報のデータを示し、左下がり斜線のセル(「01」〜「07」、「68」〜「70」)は、当該EF全体の管理情報などのデータを示している。
すなわち、図3に示すEFでは、EFの管理情報RH、RFと、4つのレコードR1、R2、R3、R4とが記憶されている。上記EFの管理情報RH、RFは、「01」〜「07」のバイトと「68」〜「70」のバイトとにより構成される。
また、第1レコードR1は、「08」〜「22」のバイトで構成される。さらに、第1レコードR1は、管理情報R1aが「08」〜「12」のバイトに記憶され、レコードデータR1bが「13」〜「22」のバイトに記憶されている。
また、第2レコードR2は、「23」〜「37」のバイトで構成される。さらに、第2レコードR2は、管理情報R2aが「23」〜「27」のバイトに記憶され、レコードデータR2bが「28」〜「37」のバイトに記憶されている。
また、第3レコードR3は、「38」〜「52」のバイトで構成される。さらに、第3レコードR3は、管理情報R3aが「38」〜「42」のバイトに記憶され、レコードデータR3bが「43」〜「52」のバイトに記憶されている。
また、第4レコードR4は、「53」〜「57」のバイトで構成される。さらに、第4レコードR4は、管理情報R4aが「53」〜「57」のバイトに記憶され、レコードデータR4bが「58」〜「67」のバイトに記憶されている。
次に、レコード構造EFのデータに対するアクセスについて説明する。
まず、レコード構造EFのデータに対するレコード系のコマンドによる処理について説明する。
ここでは、レコード構造EFのデータに対するレコード系のコマンドによる処理例として、リードレコードコマンドを使用して複数のレコードが格納されているレコード構造EFから全てのデータ(全てのレコード)を読み出す場合の処理例について説明する。
たとえば、上記のようなレコード構造EFに記憶されているデータの読出しには、レコード系のコマンドとして、リードレコードコマンドが使用できる。このリードレコードコマンドを受けたICカードでは、当該コマンドで指定されるレコード構造EF内の各レコードごとにデータを読出しを行なう。
ここで、上記リードレコードコマンドを用いて図3に示すようなレコード構造EFに記憶されている各レコードのデータ(全てのレコードのレコードデータ)を読み出す場合について説明する。
まず、ICカード処理装置2がレコード構造EF内の第1レコードR1を指定する第1のリードレコードコマンドを送信する。この第1のリードレコードコマンドを受信すると、ICカード1は、不揮発性メモリ16から当該レコード構造EFにおける第1レコードR1のレコードデータ(「13」〜「22」)R1aを読み出す。これにより、ICカード1は、第1レコードR1における10バイト分のレコードデータR1bを第1のリードレコードコマンドに対するレスポンスとしてICカード処理装置2へ出力する。
上記第1のリードレコードコマンドに対するレスポンスとしての第1レコードR1のレコードデータR1bを受信すると、上記ICカード処理装置2は、第2レコードR2を指定する第2のリードレコードコマンドを出力する。この第2のリードレコードコマンドを受信すると、ICカード1は、不揮発性メモリ16から当該レコード構造EFにおける第2レコードR2のレコードデータ(「28」〜「37」)R2aを読み出す。これにより、ICカード1は、第2レコードR2における10バイト分のレコードデータR2bを第2のリードレコードコマンドに対するレスポンスとしてICカード処理装置2へ出力する。
上記第2のリードレコードコマンドに対するレスポンスとしての第2レコードR2のレコードデータR2bを受信すると、上記ICカード処理装置2は、第3レコードR3を指定する第3のリードレコードコマンドを出力する。この第3のリードレコードコマンドを受信すると、ICカード1は、不揮発性メモリ16から当該レコード構造EFにおける第3レコードR3のレコードデータ(「43」〜「52」)R3aを読み出す。これにより、ICカード1は、第3レコードR3における10バイト分のレコードデータR3bを第3のリードレコードコマンドに対するレスポンスとしてICカード処理装置2へ出力する。
上記第3のリードレコードコマンドに対するレスポンスとしての第3レコードR3のレコードデータR3bを受信すると、上記ICカード処理装置2は、第4レコードR4を指定する第4のリードレコードコマンドを出力する。この第4のリードレコードコマンドを受信すると、ICカード1は、不揮発性メモリ16から当該レコード構造EFにおける第4レコードR4のレコードデータ(「58」〜「67」)R4aを読み出す。これにより、ICカード1は、第4レコードR4における10バイト分のレコードデータR4bを第4のリードレコードコマンドに対するレスポンスとしてICカード処理装置2へ出力する。
上記第4のリードレコードコマンドに対するレスポンスとしての第4レコードR4のレコードデータR4bを受信すると、上記ICカード処理装置2は、当該レコード構造EFにおける全てのレコードのデータを取得することになる。
すなわち、1つのレコード構造EFに格納されている複数のレコードにアクセスする場合、レコード系のコマンドでは、アクセス対象とするレコードをそれぞれ指定するようになっている。たとえば、複数のレコードが存在するレコード構造EF内の全てのデータ(レコード構造EF内の全てのレコード)を読み出すには、レコード系のコマンドとしてのリードレコードコマンドを、当該レコード構造EFに存在するレコードの数と同じ回数だけ実行しなければならない。
次に、レコード構造EFのデータに対するバイナリ系のコマンドによるアクセスについて説明する。
本実施例では、レコード構造EFのデータに対するバイナリ系のコマンドによる処理例としての第1〜第5の処理例について説明する。
まず、レコード構造EFを指定するバイナリ系のコマンドに対する第1の処理例について説明する。
たとえば、上記のようなレコード構造EFに記憶されているデータの読出しには、バイナリ系のコマンドとして、リードバイナリコマンドが使用できる。このようなレコード構造EFを指定するリードバイナリコマンド(バイナリ系のコマンド)を受けた場合、第1の処理例では、当該コマンドで指定されるレコード構造EFに記憶されている各レコードのレコードデータを昇順に連結したデータをバイナリデータとして読出しを行なう。
図4は、第1の処理例を説明するためのフローチャートである。
図4に示すように、まず、ICカード1がICカード処理装置2からレコード構造EFを指定したコマンド(例えば、リードコマンド)を受信したものとする(ステップS11)。すると、当該ICカード1のCPU11は、受信したコマンドがレコード系のコマンド(たとえば、リードレコードコマンド)かバイナリ系のコマンド(たとえば、リードバイナリコマンド)かを判断する(ステップS12)。
この判断により受信したコマンドがレコード系のコマンド(たとえば、リードレコードコマンド)であると判断した場合(ステップS12、NO)、上記ICカード1のCPU11は、当該レコード構造EFに存在する各レコードのうち当該コマンドで指定されたレコードに対してアクセス処理(たとえば、読み出し処理)を実行する(ステップS13)。
また、上記判断により受信したコマンドがバイナリ系のコマンド(たとえば、リードバイナリコマンド)であると判断した場合(ステップS12、YES)、上記ICカード1のCPU11は、当該コマンドで指定されたレコード構造EFに存在する全てのレコードの管理情報を読み込む(ステップS14)。
当該レコード構造EF内の全てのレコードの管理情報を読み込むと、上記CPU11は、各レコードの管理情報に基づいて各レコードの昇順を判断する(ステップS15)。ここで、レコードの昇順とは、各レコードが当該EFに格納された日時(あるいはレコードデータが更新された日時)が古い順であっても良いし、管理情報として各レコードに付与されている各レコードの識別情報(たとえば、レコード番号)が小さい順であっても良い。たとえば、処理の履歴をレコードとして記憶するレコード構造EFにおいて各レコードに順にレコード番号が付与される場合、レコード番号が小さい順に各レコードのレコードデータを並べると、履歴が古い順に処理履歴情報としてのレコードデータが並べられる。
また、上記CPU11は、各レコードの昇順を判断するとともに、各レコードの管理情報に基づいて各レコードのレコードデータの記憶領域を判断する(ステップS16)。各レコードのレコードデータの記憶領域は、各レコードに記憶されているデータ長を示す情報(length)などに基づいて判断される。
上記判断により各レコードの昇順と各レコードのレコードデータの記憶領域とを判断すると、上記CPU11は、当該レコード構造EF内の各レコードのレコードデータを昇順に並べたデータに対して当該コマンドで要求された処理(たとえば、読出処理)を実行する(ステップS17)。また、バイナリ系のコマンド(たとえば、リードバイナリコマンド)では、アクセスの開始位置を示すオフセット値が指定されている。このため、上記ステップS17において、上記CPU11は、当該レコード構造EF内の各レコードのレコードデータを昇順に並べたデータ(昇順に連結したデータ)のうち当該コマンドで指定されたオフセット値からのデータに対して処理を行う。
当該バイナリ系のコマンドで要求された処理が終了すると、上記CPU11は、処理結果をレスポンスとして上記ICカード処理装置2へ送信し、当該コマンドに対する処理を終了する(ステップS18)。たとえば、受信したコマンドがオフセット値がnのリードバイナリコマンドである場合、上記CPU11は、当該レコード構造EF内の各レコードのレコードデータを昇順に並べたデータのうちnバイト目からのデータを読出し、その読み出したデータを上記ICカード処理装置2へ送信する処理を行う。
上記第1の処理の具体例として、図3に示すようなレコード構造EFを指定するリードバイナリコマンドを受信した場合について説明する。
この場合、第1の処理例のICカード1では、第1レコードR1から第4レコードR4の順(昇順)に、各レコードのレコードデータのみを連結したデータのうちオフセット値で指定されるデータからをバイナリデータとして読出し、当該リードバイナリコマンドに対するレスポンスとして出力する。
たとえば、図3に示すレコード構造EFを指定するリードバイナリコマンドのオフセット値が「0」である場合、上記ICカード1は、第1レコードR1から第4レコードR4の順(昇順)に、各レコードのレコードデータのみを連結した全データをバイナリデータとして読出す。すなわち、図3に示すレコード構造EFを指定するオフセット値が「0」のリードバイナリコマンドに対して、第1の処理例のICカード1では、「13」〜「22」(第1レコードR1のレコードデータR1b)、「28」〜「37」(第2レコードR2のレコードデータR2b)、「43」〜「52」(第3レコードR3のレコードデータR3b)、「58」〜「67」(第4レコードR4のレコードデータR4b)の順で並べた40バイト分のデータが読み出して出力する
また、図3に示すレコード構造EFを指定するリードバイナリコマンドのオフセット値が「7」である場合、上記ICカード1は、第1レコードR1から第4レコードR4の順(昇順)に、各レコードのレコードデータのみを連結したデータのうち7バイト目からのデータをバイナリデータとして読出す。すなわち、図3に示すレコード構造EFを指定するオフセット値が「7」のリードバイナリコマンドに対して、第1の処理例のICカード1では、「13」から7バイト目のデータである「20」〜「22」(先頭から7バイト分データを除く第1レコードR1のレコードデータR1b)、「28」〜「37」(第2レコードR2のレコードデータR2b)、「43」〜「52」(第3レコードR3のレコードデータR3b)、「58」〜「67」(第4レコードR4のレコードデータR4b)の順で並べた33バイト分のデータが読み出して出力する。
上記のように、第1の処理例では、レコード構造EFを指定するレコード系のコマンドを受信した場合には当該コマンドで指定される当該EF内の特定のレコードに対してアクセスし、レコード構造EFを指定するバイナリ系のコマンドを受信した場合には当該EF内の各レコードのレコードデータを昇順に連結したデータに対してアクセスするようになっている。
すなわち、第1の処理例では、レコード構造EFを指定するレコード系のコマンドを受信した場合には、当該レコード構造EFを指定されたレコードごとに処理するレコード構造EFとして取り扱い、レコード構造EFを指定するバイナリ系のコマンドを受信した場合には、当該レコード構造EF内の各レコードのレコードデータを昇順に連結したデータをバイナリデータとして処理することにより、当該レコード構造EFを擬似的に透過構造EFとして取り扱うようにしたものである。
これにより、上記第1の処理例によれば、レコード構造EFに記憶されているデータに対して効率的にアクセスすることができる。
さらに、第1の処理例では、レコード構造EFを指定するバイナリ系のコマンドを受信した場合、各レコードのレコードデータを昇順に連結したデータをバイナリデータとして取り扱うようにしている。これにより、各レコードのレコードデータが昇順に連結されたデータを一括して処理することができる。たとえば、レコード構造EFに処理履歴情報(ログデータ)を1件ごとに順にレコード番号を付与したレコードとして記憶している場合、リードバイナリコマンドなどのバイナリ系のコマンドにより、複数の処理に関する情報を履歴の古い順に並べたログデータを一括して読み出すなどの処理を行うことができる。
次に、レコード構造EFを指定するバイナリ系のコマンドに対する第2の処理例について説明する。
たとえば、上記のようなレコード構造EFに記憶されているデータの読出しには、バイナリ系のコマンドとして、リードバイナリコマンドが使用できる。このようなレコード構造EFを指定するリードバイナリコマンド(バイナリ系のコマンド)を受けた場合、第2の処理例では、当該コマンドで指定されるレコード構造EFに記憶されている各レコードの管理情報とレコードデータとを昇順に連結したデータをバイナリデータとして読出しを行なう。
図5は、第2の処理例を説明するためのフローチャートである。
図5に示すように、まず、ICカード1がICカード処理装置2からレコード構造EFを指定したコマンド(例えば、リードコマンド)を受信したものとする(ステップS21)。すると、当該ICカード1のCPU11は、受信したコマンドがレコード系のコマンド(たとえば、リードレコードコマンド)かバイナリ系のコマンド(たとえば、リードバイナリコマンド)かを判断する(ステップS22)。
この判断により受信したコマンドがレコード系のコマンド(たとえば、リードレコードコマンド)であると判断した場合(ステップS22、NO)、上記ICカード1のCPU11は、当該レコード構造EFに存在する各レコードのうち当該コマンドで指定されたレコードに対して処理(たとえば、読み出し処理)を実行する(ステップS23)。
また、上記判断により受信したコマンドがバイナリ系のコマンド(たとえば、リードバイナリコマンド)であると判断した場合(ステップS22、YES)、上記ICカード1のCPU11は、当該コマンドで指定されたレコード構造EFに存在する全てのレコードの管理情報を読み込む(ステップS24)。
当該レコード構造EF内の全てのレコードの管理情報を読み込むと、上記CPU11は、各レコードの管理情報に基づいて各レコードの昇順を判断する(ステップS25)。ここで、レコードの昇順とは、各レコードが当該EFに格納された日時(あるいはレコードデータが更新された日時)が古い順であっても良いし、管理情報として各レコードに付与されている各レコードの識別情報(たとえば、レコード番号)が小さい順であっても良い。たとえば、処理の履歴をレコードとして記憶するレコード構造EFにおいて各レコードに順にレコード番号が付与される場合、レコード番号が小さい順に各レコードの管理情報とレコードデータを並べると、履歴が古い順に管理情報と処理履歴情報とが並べられる。
また、上記CPU11は、各レコードの昇順を判断するとともに、各レコードの管理情報に基づいて各レコードの管理情報の記憶領域とレコードデータの記憶領域とを判断する(ステップS26)。各レコードの管理情報の記憶領域およびレコードデータの記憶領域は、各レコードに記憶されているデータ長を示す情報(length)などに基づいて判断される。
上記判断により各レコードの昇順と各レコードの管理情報及びレコードデータの記憶領域とを判断すると、上記CPU11は、当該レコード構造EF内の各レコードの管理情報およびレコードデータを昇順に並べたデータに対して当該コマンドで要求された処理(たとえば、読出処理)を実行する(ステップS27)。また、バイナリ系のコマンド(たとえば、リードバイナリコマンド)では、アクセスの開始位置を示すオフセット値が指定されている。このため、上記ステップS27において、上記CPU11は、当該レコード構造EF内の各レコードの管理情報及びレコードデータを昇順に並べたデータ(昇順に連結したデータ)のうち当該コマンドで指定されたオフセット値からのデータに対して処理を行う。
当該バイナリ系のコマンドで要求された処理が終了すると、上記CPU11は、処理結果をレスポンスとして上記ICカード処理装置2へ送信し、当該コマンドに対する処理を終了する(ステップS28)。たとえば、受信したコマンドがオフセット値がnのリードバイナリコマンドである場合、上記CPU11は、当該レコード構造EF内の各レコードの管理情報およびレコードデータを昇順に並べたデータのうちnバイト目からのデータを読出し、その読み出したデータを上記ICカード処理装置2へ送信する処理を行う。
上記第2の処理の具体例として、図3に示すようなレコード構造EFを指定するリードバイナリコマンドを受信した場合について説明する。
この場合、第2の処理例のICカード1では、第1レコードR1から第4レコードR4の順(昇順)に、各レコードの管理情報およびレコードデータを連結したデータのうちオフセット値で指定されるデータからをバイナリデータとして読出し、当該リードバイナリコマンドに対するレスポンスとして出力する。
たとえば、図3に示すレコード構造EFを指定するリードバイナリコマンドのオフセット値が「0」である場合、上記ICカード1は、第1レコードR1から第4レコードR4の順(昇順)に、各レコードのレコードデータのみを連結した全データをバイナリデータとして読出す。すなわち、図3に示すレコード構造EFを指定するオフセット値が「0」のリードバイナリコマンドに対して、第2の処理例のICカード1では、「08」〜「12」(第1レコードR1の管理情報R1a)、「13」〜「22」(第1レコードR1のレコードデータR1b)、「23」〜「27」(第2レコードR2の管理情報R2a)、「28」〜「37」(第2レコードR2のレコードデータR2b)、「38」〜「42」(第3レコードR3の管理情報R3a)、「43」〜「52」(第3レコードR3のレコードデータR3b)、「53」〜「57」(第4レコードR4の管理情報R4a)、「58」〜「67」(第4レコードR4のレコードデータR4b)の順で並べた60バイト分のデータを読み出して出力する
また、図3に示すレコード構造EFを指定するリードバイナリコマンドのオフセット値が「7」である場合、上記ICカード1は、第1レコードR1から第4レコードR4の順(昇順)に、各レコードの管理情報およびレコードデータを連結したデータのうち7バイト目からのデータをバイナリデータとして読出す。すなわち、図3に示すレコード構造EFを指定するオフセット値が「7」のリードバイナリコマンドに対して、第2の処理例のICカード1では、「08」から7バイト(「08」〜「12」、「13」〜「14」)目のデータである「15」〜「22」(第1レコードR1の管理情報R1aの5バイト分とレコードデータR1bの先頭から2バイト分のデータを除くデータ)、「23」〜「37」(第2レコードR2の管理情報R2a及びレコードデータR2b)、「38」〜「52」(第3レコードR3の管理情報R3a及びレコードデータR3b)、「53」〜「67」(第4レコードR4の管理情報R4a及びレコードデータR4b)の順で並べた53バイト分のデータを読み出して出力する。
上記のように、第2の処理例では、レコード構造EFを指定するレコード系のコマンドを受信した場合には当該コマンドで指定される当該EF内の特定のレコードに対してアクセスし、レコード構造EFを指定するバイナリ系のコマンドを受信した場合には当該EF内の各レコードの管理情報およびレコードデータを昇順に連結したデータに対してアクセスするようになっている。
すなわち、第2の処理例では、レコード構造EFを指定するレコード系のコマンドを受信した場合には、指定されたレコードごとに当該EF内のデータを処理するレコード構造EFとして取り扱い、レコード構造EFを指定するバイナリ系のコマンドを受信した場合には、当該レコード構造EF内の各レコードの管理情報及びレコードデータを昇順に連結したデータをバイナリデータとして処理することにより、当該レコード構造EFを擬似的に透過構造EFとして取り扱うようにしたものである。
これにより、上記第2の処理例によれば、レコード構造EFに記憶されているデータに対して効率的にアクセスすることができる。
さらに、第2の処理例では、レコード構造EFを指定するバイナリ系のコマンドを受信した場合、各レコードの管理情報およびレコードデータを昇順に連結したデータをバイナリデータとして取り扱うようにしている。これにより、各レコードの管理情報およびレコードデータが昇順に連結されたデータを一括して処理することができる。たとえば、レコード構造EFに処理履歴情報(ログデータ)を1件ごとに順にレコード番号を付与したレコードとして記憶している場合、リードバイナリコマンドなどのバイナリ系のコマンドにより、複数の処理を履歴の古い順に並べた管理情報とログデータとを一括して読み出すなどの処理を行うことができる。
次に、レコード構造EFを指定するバイナリ系のコマンドに対する第3の処理例について説明する。
たとえば、上記のようなレコード構造EFに記憶されているデータの読出しには、バイナリ系のコマンドとして、リードバイナリコマンドが使用できる。このようなレコード構造EFを指定するリードバイナリコマンド(バイナリ系のコマンド)を受けた場合、第3の処理例では、当該コマンドで指定されるレコード構造EFに記憶されている各レコードのレコードデータを降順に連結したデータをバイナリデータとして読出しを行なう。
図6は、第3の処理例を説明するためのフローチャートである。
図6に示すように、まず、ICカード1がICカード処理装置2からレコード構造EFを指定したコマンド(例えば、リードコマンド)を受信したものとする(ステップS31)。すると、当該ICカード1のCPU11は、受信したコマンドがレコード系のコマンド(たとえば、リードレコードコマンド)かバイナリ系のコマンド(たとえば、リードバイナリコマンド)かを判断する(ステップS32)。
この判断により受信したコマンドがレコード系のコマンド(たとえば、リードレコードコマンド)であると判断した場合(ステップS32、NO)、上記ICカード1のCPU11は、当該レコード構造EFに存在する各レコードのうち当該コマンドで指定されたレコードに対してアクセス処理(たとえば、読み出し処理)を実行する(ステップS33)。
また、上記判断により受信したコマンドがバイナリ系のコマンド(たとえば、リードバイナリコマンド)であると判断した場合(ステップS32、YES)、上記ICカード1のCPU11は、当該コマンドで指定されたレコード構造EFに存在する全てのレコードの管理情報を読み込む(ステップS34)。
当該レコード構造EF内の全てのレコードの管理情報を読み込むと、上記CPU11は、各レコードの管理情報に基づいて各レコードの降順を判断する(ステップS35)。ここで、レコードの降順とは、各レコードが当該EFに格納された日時(あるいはレコードデータが更新された日時)が新しい順であっても良いし、管理情報として各レコードに付与されている各レコードの識別情報が大きい順であっても良い。たとえば、処理の履歴をレコードとして記憶するレコード構造EFにおいて各レコードに順にレコード番号が付与される場合、レコード番号が大きい順に各レコードのレコードデータを並べると、履歴が新しい順に処理履歴情報としてのレコードデータが並べられる。
また、上記CPU11は、各レコードの降順を判断するとともに、各レコードの管理情報に基づいて各レコードのレコードデータの記憶領域を判断する(ステップS36)。各レコードのレコードデータの記憶領域は、各レコードに記憶されているデータ長を示す情報(length)などに基づいて判断される。
上記判断により各レコードの降順と各レコードのレコードデータの記憶領域とを判断すると、上記CPU11は、当該レコード構造EF内の各レコードのレコードデータを降順に並べたデータに対して当該コマンドで要求された処理(たとえば、読出処理)を実行する(ステップS37)。また、バイナリ系のコマンド(たとえば、リードバイナリコマンド)では、アクセスの開始位置を示すオフセット値が指定されている。このため、上記ステップS37において、上記CPU11は、当該レコード構造EF内の各レコードのレコードデータを降順に並べたデータ(降順に連結したデータ)のうち当該コマンドで指定されたオフセット値からのデータに対して処理を行う。
当該バイナリ系のコマンドで要求された処理が終了すると、上記CPU11は、処理結果をレスポンスとして上記ICカード処理装置2へ送信し、当該コマンドに対する処理を終了する(ステップS38)。たとえば、受信したコマンドがオフセット値がnのリードバイナリコマンドである場合、上記CPU11は、当該レコード構造EF内の各レコードのレコードデータを降順に並べたデータのうちnバイト目からのデータを読出し、その読み出したデータを上記ICカード処理装置2へ送信する処理を行う。
上記第3の処理の具体例として、図3に示すようなレコード構造EFを指定するリードバイナリコマンドを受信した場合について説明する。
この場合、第3の処理例のICカード1では、第4レコードR4から第1レコードR1の順(降順)に、各レコードのレコードデータのみを連結したデータのうちオフセット値で指定されるデータからをバイナリデータとして読出し、当該リードバイナリコマンドに対するレスポンスとして出力する。
たとえば、図3に示すレコード構造EFを指定するリードバイナリコマンドのオフセット値が「0」である場合、上記ICカード1は、第4レコードR4から第1レコードR1の順(昇順)に、各レコードのレコードデータのみを連結した全データをバイナリデータとして読出す。すなわち、図3に示すレコード構造EFを指定するオフセット値が「0」のリードバイナリコマンドに対して、第3の処理例のICカード1では、「58」〜「67」(第4レコードR4のレコードデータR4b)、「43」〜「52」(第3レコードR3のレコードデータR3b)、「28」〜「37」(第2レコードR2のレコードデータR2b)、「13」〜「22」(第1レコードR1のレコードデータR1b)の順で並べた40バイト分のデータを読み出して出力する
また、図3に示すレコード構造EFを指定するリードバイナリコマンドのオフセット値が「7」である場合、上記ICカード1は、第4レコードR4から第1レコードR1の順(降順)に、各レコードのレコードデータのみを連結したデータのうち7バイト目からのデータをバイナリデータとして読出す。すなわち、図3に示すレコード構造EFを指定するオフセット値が「7」のリードバイナリコマンドに対して、第3の処理例のICカード1では、「58」から7バイト目のデータである「65」〜「67」(先頭から7バイト分データを除く第4レコードR4のレコードデータR4b)、「43」〜「52」(第3レコードR3のレコードデータR3b)、「28」〜「37」(第2レコードR2のレコードデータR2b)、「13」〜「22」(第1レコードR1のレコードデータR1b)の順で並べた33バイト分のデータを読み出して出力する。
上記のように、第3の処理例では、レコード構造EFを指定するレコード系のコマンドを受信した場合には当該コマンドで指定される当該EF内の特定のレコードに対してアクセスし、レコード構造EFを指定するバイナリ系のコマンドを受信した場合には当該EF内の各レコードのレコードデータを降順に連結したデータに対してアクセスするようになっている。
すなわち、第3の処理例では、レコード構造EFを指定するレコード系のコマンドを受信した場合には、当該レコード構造EFを指定されたレコードごとに処理するレコード構造EFとして取り扱い、レコード構造EFを指定するバイナリ系のコマンドを受信した場合には、当該レコード構造EF内の各レコードのレコードデータを降順に連結したデータをバイナリデータとして処理することにより、当該レコード構造EFを擬似的に透過構造EFとして取り扱うようにしたものである。
これにより、上記第3の処理例によれば、レコード構造EFに記憶されているデータに対して効率的にアクセスすることができる。
さらに、第3の処理例では、レコード構造EFを指定するバイナリ系のコマンドを受信した場合、各レコードのレコードデータを降順に連結したデータをバイナリデータとして取り扱うようにしている。これにより、各レコードのレコードデータが降順に連結されたデータを一括して処理することができる。たとえば、レコード構造EFに処理履歴情報(ログデータ)を1件ごとに順にレコード番号を付与したレコードとして記憶している場合、リードバイナリコマンドなどのバイナリ系のコマンドにより、複数の処理に関する情報を履歴の新しい順に並べたログデータを一括して読み出すなどの処理を行うことができる。
次に、レコード構造EFを指定するバイナリ系のコマンドに対する第4の処理例について説明する。
たとえば、上記のようなレコード構造EFに記憶されているデータの読出しには、バイナリ系のコマンドとして、リードバイナリコマンドが使用できる。このようなレコード構造EFを指定するリードバイナリコマンド(バイナリ系のコマンド)を受けた場合、第2の処理例では、当該コマンドで指定されるレコード構造EFに記憶されている各レコードの管理情報とレコードデータとを降順に連結したデータをバイナリデータとして読出しを行なう。
図7は、第4の処理例を説明するためのフローチャートである。
図7に示すように、まず、ICカード1がICカード処理装置2からレコード構造EFを指定したコマンド(例えば、リードコマンド)を受信したものとする(ステップS41)。すると、当該ICカード1のCPU11は、受信したコマンドがレコード系のコマンド(たとえば、リードレコードコマンド)かバイナリ系のコマンド(たとえば、リードバイナリコマンド)かを判断する(ステップS42)。
この判断により受信したコマンドがレコード系のコマンド(たとえば、リードレコードコマンド)であると判断した場合(ステップS42、NO)、上記ICカード1のCPU11は、当該レコード構造EFに存在する各レコードのうち当該コマンドで指定されたレコードに対して処理(たとえば、読み出し処理)を実行する(ステップS43)。
また、上記判断により受信したコマンドがバイナリ系のコマンド(たとえば、リードバイナリコマンド)であると判断した場合(ステップS42、YES)、上記ICカード1のCPU11は、当該コマンドで指定されたレコード構造EFに存在する全てのレコードの管理情報を読み込む(ステップS44)。
当該レコード構造EF内の全てのレコードの管理情報を読み込むと、上記CPU11は、各レコードの管理情報に基づいて各レコードの降順を判断する(ステップS45)。ここで、レコードの降順とは、各レコードが当該EFに格納された日時(あるいはレコードデータが更新された日時)が新しい順であっても良いし、管理情報として各レコードに付与されている各レコードの識別情報が大きい順であっても良い。たとえば、処理の履歴をレコードとして記憶するレコード構造EFにおいて各レコードに順にレコード番号が付与される場合、レコード番号が大きい順に各レコードのレコードデータを並べると、履歴が新しい順に管理情報と処理履歴情報とが並べられる。
また、上記CPU11は、各レコードの降順を判断するとともに、各レコードの管理情報に基づいて各レコードの管理情報の記憶領域とレコードデータの記憶領域とを判断する(ステップS46)。各レコードの管理情報の記憶領域およびレコードデータの記憶領域は、各レコードに記憶されているデータ長を示す情報(length)などに基づいて判断される。
上記判断により各レコードの降順と各レコードの管理情報及びレコードデータの記憶領域とを判断すると、上記CPU11は、当該レコード構造EF内の各レコードの管理情報およびレコードデータを降順に並べたデータに対して当該コマンドで要求された処理(たとえば、読出処理)を実行する(ステップS47)。また、バイナリ系のコマンド(たとえば、リードバイナリコマンド)では、アクセスの開始位置を示すオフセット値が指定されている。このため、上記ステップS47において、上記CPU11は、当該レコード構造EF内の各レコードの管理情報及びレコードデータを降順に並べたデータ(降順に連結したデータ)のうち当該コマンドで指定されたオフセット値からのデータに対して処理を行う。
当該バイナリ系のコマンドで要求された処理が終了すると、上記CPU11は、処理結果をレスポンスとして上記ICカード処理装置2へ送信し、当該コマンドに対する処理を終了する(ステップS48)。たとえば、受信したコマンドがオフセット値がnのリードバイナリコマンドである場合、上記CPU11は、当該レコード構造EF内の各レコードの管理情報およびレコードデータを降順に並べたデータのうちnバイト目からのデータを読出し、その読み出したデータを上記ICカード処理装置2へ送信する処理を行う。
上記第4の処理の具体例として、図3に示すようなレコード構造EFを指定するリードバイナリコマンドを受信した場合について説明する。
この場合、第4の処理例のICカード1では、第4レコードR4から第1レコードR1の順(降順)に、各レコードの管理情報およびレコードデータを連結したデータのうちオフセット値で指定されるデータからをバイナリデータとして読出し、当該リードバイナリコマンドに対するレスポンスとして出力する。
たとえば、図3に示すレコード構造EFを指定するリードバイナリコマンドのオフセット値が「0」である場合、上記ICカード1は、第4レコードR4から第1レコードR1の順(降順)に、各レコードのレコードデータのみを連結した全データをバイナリデータとして読出す。すなわち、図3に示すレコード構造EFを指定するオフセット値が「0」のリードバイナリコマンドに対して、第4の処理例のICカード1では、「53」〜「57」(第4レコードR4の管理情報R4a)、「58」〜「67」(第4レコードR4のレコードデータR4b)、「38」〜「42」(第3レコードR3の管理情報R3a)、「43」〜「52」(第3レコードR3のレコードデータR3b)、「23」〜「27」(第2レコードR2の管理情報R2a)、「28」〜「37」(第2レコードR2のレコードデータR2b)、「08」〜「12」(第1レコードR1の管理情報R1a)、「13」〜「22」(第1レコードR1のレコードデータR1b)の順で並べた60バイト分のデータが読み出して出力する
また、図3に示すレコード構造EFを指定するリードバイナリコマンドのオフセット値が「7」である場合、上記ICカード1は、第4レコードR4から第1レコードR1の順(降順)に、各レコードの管理情報およびレコードデータを連結したデータのうち7バイト目からのデータをバイナリデータとして読出す。すなわち、図3に示すレコード構造EFを指定するオフセット値が「7」のリードバイナリコマンドに対して、第2の処理例のICカード1では、「53」から7バイト(「53」〜「57」、「58」〜「59」)目のデータである「60」〜「67」(第4レコードR4の管理情報R4aの5バイト分とレコードデータR4bの先頭から2バイト分のデータを除くデータ)、「38」〜「52」(第3レコードR3の管理情報R3a及びレコードデータR3b)、「23」〜「37」(第2レコードR2の管理情報R2a及びレコードデータR2b)、「08」〜「22」(第1レコードR1の管理情報R1a及びレコードデータR1b)の順で並べた53バイト分のデータが読み出して出力する。
上記のように、第4の処理例では、レコード構造EFを指定するレコード系のコマンドを受信した場合には当該コマンドで指定される当該EF内の特定のレコードに対してアクセスし、レコード構造EFを指定するバイナリ系のコマンドを受信した場合には当該EF内の各レコードの管理情報およびレコードデータを降順に連結したデータに対してアクセスするようになっている。
すなわち、第4の処理例では、レコード構造EFを指定するレコード系のコマンドを受信した場合には、指定されたレコードごとに当該EF内のデータを処理するレコード構造EFとして取り扱い、レコード構造EFを指定するバイナリ系のコマンドを受信した場合には、当該レコード構造EF内の各レコードの管理情報及びレコードデータを降順に連結したデータをバイナリデータとして処理することにより、当該レコード構造EFを擬似的に透過構造EFとして取り扱うようにしたものである。
これにより、上記第4の処理例によれば、レコード構造EFに記憶されているデータに対して効率的にアクセスすることができる。
さらに、第4の処理例では、レコード構造EFを指定するバイナリ系のコマンドを受信した場合、各レコードの管理情報およびレコードデータを降順に連結したデータをバイナリデータとして取り扱うようにしている。これにより、各レコードの管理情報およびレコードデータが降順に連結されたデータを一括して処理することができる。たとえば、レコード構造EFに処理履歴情報(ログデータ)を1件ごとに順にレコード番号を付与してレコードとして記憶している場合、リードバイナリコマンドなどのバイナリ系のコマンドにより、複数の処理を履歴の新しい順に並べた管理情報とログデータとを一括して読み出すなどの処理を行うことができる。
次に、レコード構造EFを指定するバイナリ系のコマンドに対する第5の処理例について説明する。
この第5の処理例では、レコード構造EFを指定するバイナリ系のコマンドにおけるパラメータ等によりバイナリデータとして取り扱うデータの構成を選択するようにしたものである。すなわち、第5の処理例では、上位装置がレコード構造EF内のデータから生成するバイナリデータ(レコード構造EFを擬似的に透過構造EFとして取り扱うためのデータ)の構成をバイナリ系のコマンドにおけるパラメータで指定し、ICカードでは、レコード構造EFを指定するバイナリ系のコマンドに対して、当該コマンドのパラメータで指定されたデータ構成のバイナリデータに対して処理を行うようにするものである。
たとえば、上記第1の処理例では、レコード構造EF内の各レコードのレコードデータを昇順に連結したデータをバイナリデータとして取り扱う。上記第2の処理例では、レコード構造EF内の各レコードの管理情報及びレコードデータを昇順に連結したデータをバイナリデータとして取り扱う。上記第3の処理例では、レコード構造EF内の各レコードのレコードデータを降順に連結したデータをバイナリデータとして取り扱う。上記第4の処理例では、レコード構造EF内の各レコードの管理情報及びレコードデータを降順に連結したデータをバイナリデータとして取り扱う。本実施の形態では、第5の処理例として、バイナリ系のコマンドにおけるパラメータに基づいて、第1〜第4の処理例の何れかを選択的に実行する処理について説明する。
図8は、第5の処理例を説明するためのフローチャートである。
図8に示すように、まず、ICカード1がICカード処理装置2からレコード構造EFを指定したコマンド(例えば、リードコマンド)を受信したものとする(ステップS51)。すると、当該ICカード1のCPU11は、受信したコマンドがレコード系のコマンド(たとえば、リードレコードコマンド)かバイナリ系のコマンド(たとえば、リードバイナリコマンド)かを判断する(ステップS52)。
この判断により受信したコマンドがレコード系のコマンド(たとえば、リードレコードコマンド)であると判断した場合(ステップS52、NO)、上記ICカード1のCPU11は、当該レコード構造EFに存在する各レコードのうち当該コマンドで指定されたレコードに対して処理(たとえば、読み出し処理)を実行する(ステップS53)。
また、上記判断により受信したコマンドがバイナリ系のコマンド(たとえば、リードバイナリコマンド)であると判断した場合(ステップS52、YES)、上記ICカード1のCPU11は、さらに、当該コマンドにおけるパラメータにより当該レコード構造EFのデータをバイナリデータの構成を判断する(ステップS54〜S56)。すなわち、ICカード1のCPU11は、当該コマンドにおけるパラメータに基づいて、各レコードのどの部分をバイナリデータとして取り扱うかを判断するとともに(ステップS54)、各レコードの連結順序を判断する(ステップS55、S56)。
たとえば、本実施の形態では、上記CPU11は、上記第1の処理例と同様に各レコードのレコードデータを昇順に連結したデータをバイナリデータとして取り扱うか、上記第2の処理例と同様に各レコードの管理情報およびレコードデータを昇順に連結したデータをバイナリデータとして取り扱うか、上記第3の処理例と同様に各レコードのレコードデータを降順に連結したデータをバイナリデータとして取り扱うか、上記第4の処理例と同様に各レコードの管理情報およびレコードデータを降順に連結したデータをバイナリデータとして取り扱うか、を判断する。
ここで、当該レコード構造EFに存在する各レコードのレコードデータを昇順に連結したデータをバイナリデータとして取り扱うと判断した場合(ステップS54でYES、かつ、ステップS55でYES)、上記CPU11は、上記第1の処理例で説明した図4のステップS14〜S18と同様に、当該EF内の全レコードの管理情報を読み込み(ステップS64)、各レコードの昇順を判断し(ステップS65)、各レコードのレコードデータの記憶領域を判断し(ステップS66)、昇順に連結した各レコードのレコードデータのうち当該コマンドで指定されたオフセット値からのデータに対して処理を実行し(ステップS67)、その処理結果をICカード処理装置2へ送信する(ステップS68)。
また、各レコードの管理情報及びレコードデータを昇順に連結したデータをバイナリデータとして取り扱うと判断した場合(ステップS54でNO、かつ、ステップS56でYES)、上記CPU11は、上記第2の処理例で説明した図5のステップS24〜S28と同様に、当該EF内の全レコードの管理情報を読み込み(ステップS74)、各レコードの昇順を判断し(ステップS75)、各レコードの管理情報及びレコードデータの記憶領域を判断し(ステップS76)、昇順に連結した各レコードの管理情報及びレコードデータのうち当該コマンドで指定されたオフセット値からのデータに対して処理を実行し(ステップS77)、その処理結果をICカード処理装置2へ送信する(ステップS78)。
また、各レコードのレコードデータを降順に連結したデータをバイナリデータとして取り扱うと判断した場合(ステップS54でYES、かつ、ステップS55でNO)、上記CPU11は、上記第3の処理例で説明した図6のステップS34〜S38と同様に、当該EF内の全レコードの管理情報を読み込み(ステップS84)、各レコードの降順を判断し(ステップS85)、各レコードのレコードデータの記憶領域を判断し(ステップS86)、降順に連結した各レコードのレコードデータのうち当該コマンドで指定されたオフセット値からのデータに対して処理を実行し(ステップS87)、その処理結果をICカード処理装置2へ送信する(ステップS88)。
また、各レコードの管理情報及びレコードデータを降順に連結したデータをバイナリデータとして取り扱うと判断した場合(ステップS54でNO、かつ、ステップS55でNO)、上記CPU11は、上記第4の処理例で説明した図7のステップS44〜S48と同様に、当該EF内の全レコードの管理情報を読み込み(ステップS94)、各レコードの降順を判断し(ステップS95)、各レコードの管理情報及びレコードデータの記憶領域を判断し(ステップS96)、降順に連結した各レコードの管理情報及びレコードデータのうち当該コマンドで指定されたオフセット値からのデータに対して処理を実行し(ステップS97)、その処理結果をICカード処理装置2へ送信する(ステップS98)。
上記のように、第5の処理例では、レコード構造EFを指定するレコード系のコマンドを受信した場合には当該コマンドで指定される当該EF内の特定のレコードに対してアクセスし、レコード構造EFを指定するバイナリ系のコマンドを受信した場合には当該EF内の各レコードのデータに対して当該コマンドで指定された構成のデータとしてアクセスするようになっている。
すなわち、第5の処理例では、レコード構造EFを指定するレコード系のコマンドを受信した場合には、指定されたレコードごとに当該EF内のデータを処理するレコード構造EFとして取り扱い、レコード構造EFを指定するバイナリ系のコマンドを受信した場合には、当該レコード構造EF内の各レコードのデータを当該コマンドで指定された構成のバイナリデータとして処理することにより、当該レコード構造EFを擬似的に透過構造EFとして取り扱うようにしたものである。
これにより、上記第5の処理例によれば、レコード構造EFに記憶されているデータに対して効率的にアクセスすることができる。
さらに、第5の処理例では、レコード構造EFを指定するバイナリ系のコマンドを受信した場合、各レコードのデータを当該コマンドのパラメータなどで指定された構成のバイナリデータとして取り扱うようにしている。これにより、レコード構造EFに複数のレコードとして記憶されているデータに所望のデータ構成のバイナリデータとしてアクセスすることが可能となる。
この発明の実施の形態に係る携帯可能電子装置としてのICカード1のハードウエア構成を概略的に示すブロック図。 不揮発性メモリに記憶されるデータのファイル構成例を示す図。 レコード構造EFに記憶されるデータの構成例を示す図。 第1の処理例を説明するためのフローチャート。 第2の処理例を説明するためのフローチャート。 第3の処理例を説明するためのフローチャート。 第4の処理例を説明するためのフローチャート。 第5の処理例を説明するためのフローチャート。
符号の説明
1…ICカード、2…ICカード処理装置、11…CPU、12…ROM、13…RAM、14…通信ユニット、15…コプロセッサ、16…不揮発性メモリ、Ca…モジュール、C…筐体、R1…レコード、R1a…管理情報、R1b…レコードデータ、R2…レコード、R2a…管理情報、R2b…レコードデータ、R3…レコード、R3a…管理情報、R3b…レコードデータ、R4…レコード、R4a…管理情報、R4b…レコードデータ

Claims (9)

  1. 管理情報とレコードデータとを有するレコードを格納したファイルを記憶する記憶手段と、
    外部装置とのデータ通信を行う通信手段と、
    この通信手段により前記記憶手段に記憶されている前記レコードを格納したファイルに対してバイナリデータを処理するコマンドを受信した場合、当該ファイルに格納されている各レコードのデータをバイナリデータとして処理する処理手段と、
    を具備することを特徴とする携帯可能電子装置。
  2. 前記記憶手段、前記通信手段および前記処理手段を具備するモジュールと、
    前記モジュールが埋設された筐体と、を有する、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  3. 前記処理手段は、前記コマンドにより指定されたファイルに格納されている各レコードのレコードデータをバイナリデータとして処理する、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  4. 前記処理手段は、前記読出コマンドにより指定されたファイルに格納されている各レコードのレコードデータを昇順に連結したデータをバイナリデータとして処理する、
    ことを特徴とする前記請求項3に記載の携帯可能電子装置。
  5. 前記処理手段は、前記読出コマンドにより指定されたファイルに格納されている各レコードのレコードデータを降順に連結したデータをバイナリデータとして処理する、
    ことを特徴とする前記請求項3に記載の携帯可能電子装置。
  6. 前記処理手段は、前記コマンドにより指定されたファイルに格納されている各レコードの管理情報とレコードデータとをバイナリデータとして処理する、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  7. 前記処理手段は、前記コマンドにより指定されたファイルに格納されている各レコードの管理情報とレコードデータとを昇順に連結したデータをバイナリデータとして処理する、
    ことを特徴とする前記請求項6に記載の携帯可能電子装置。
  8. 前記処理手段は、前記コマンドにより指定されたファイルに格納されている各レコードの管理情報とレコードデータとを降順に連結したデータをバイナリデータとして処理する、
    ことを特徴とする前記請求項6に記載の携帯可能電子装置。
  9. さらに、前記通信手段により前記記憶手段に記憶されている前記レコードを格納したファイルに対してバイナリデータを処理するコマンドを受信した場合、当該ファイルに格納されている各レコードのデータをバイナリデータとして処理するためのデータ構成を判断する判断手段を有し、
    前記処理手段は、前記コマンドにより指定されたファイルに格納されている各レコードのデータを前記判断手段により判断したデータ構成のバイナリデータとして処理する、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
JP2005292680A 2005-10-05 2005-10-05 携帯可能電子装置 Pending JP2007102559A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005292680A JP2007102559A (ja) 2005-10-05 2005-10-05 携帯可能電子装置
SG200605923-2A SG131834A1 (en) 2005-10-05 2006-09-04 Portable electronic device and control method of portable electronic device
US11/514,965 US20070124530A1 (en) 2005-10-05 2006-09-05 Portable electronic device and control method of portable electronic device
KR1020060086814A KR20070038400A (ko) 2005-10-05 2006-09-08 휴대 가능 전자 장치 및 휴대 가능 전자 장치의 제어 방법
CNA2006101291245A CN1945606A (zh) 2005-10-05 2006-09-11 便携电子装置和便携电子装置的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005292680A JP2007102559A (ja) 2005-10-05 2005-10-05 携帯可能電子装置

Publications (2)

Publication Number Publication Date
JP2007102559A true JP2007102559A (ja) 2007-04-19
JP2007102559A5 JP2007102559A5 (ja) 2009-05-21

Family

ID=38029430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005292680A Pending JP2007102559A (ja) 2005-10-05 2005-10-05 携帯可能電子装置

Country Status (5)

Country Link
US (1) US20070124530A1 (ja)
JP (1) JP2007102559A (ja)
KR (1) KR20070038400A (ja)
CN (1) CN1945606A (ja)
SG (1) SG131834A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008042640A (ja) * 2006-08-08 2008-02-21 Ntt Docomo Inc 加入者認証モジュール

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5537036B2 (ja) * 2007-02-07 2014-07-02 株式会社東芝 Icカード

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002373494A (ja) * 2001-06-15 2002-12-26 Sony Corp 半導体記憶装置とその制御方法
JP2003036258A (ja) * 2001-07-25 2003-02-07 Sanyo Electric Co Ltd データ処理システムおよびそれを用いたデータ表示装置
JP2003162698A (ja) * 2001-11-27 2003-06-06 Dainippon Printing Co Ltd 携帯可能情報記録媒体
JP2004295160A (ja) * 2003-02-06 2004-10-21 Renesas Technology Corp メモリカード
JP2005011171A (ja) * 2003-06-20 2005-01-13 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2005011147A (ja) * 2003-06-20 2005-01-13 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2005202822A (ja) * 2004-01-19 2005-07-28 Dainippon Printing Co Ltd データ整合性検査を省けるicカードおよびicカード用プログラム
US20050178833A1 (en) * 2001-12-20 2005-08-18 Canon Information Systems Research Australia Pty Microprocessor card defining a custom user interface

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002373494A (ja) * 2001-06-15 2002-12-26 Sony Corp 半導体記憶装置とその制御方法
JP2003036258A (ja) * 2001-07-25 2003-02-07 Sanyo Electric Co Ltd データ処理システムおよびそれを用いたデータ表示装置
JP2003162698A (ja) * 2001-11-27 2003-06-06 Dainippon Printing Co Ltd 携帯可能情報記録媒体
US20050178833A1 (en) * 2001-12-20 2005-08-18 Canon Information Systems Research Australia Pty Microprocessor card defining a custom user interface
JP2004295160A (ja) * 2003-02-06 2004-10-21 Renesas Technology Corp メモリカード
JP2005011171A (ja) * 2003-06-20 2005-01-13 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2005011147A (ja) * 2003-06-20 2005-01-13 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2005202822A (ja) * 2004-01-19 2005-07-28 Dainippon Printing Co Ltd データ整合性検査を省けるicカードおよびicカード用プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008042640A (ja) * 2006-08-08 2008-02-21 Ntt Docomo Inc 加入者認証モジュール

Also Published As

Publication number Publication date
KR20070038400A (ko) 2007-04-10
US20070124530A1 (en) 2007-05-31
CN1945606A (zh) 2007-04-11
SG131834A1 (en) 2007-05-28

Similar Documents

Publication Publication Date Title
JP5259513B2 (ja) 携帯可能電子装置、icカードおよび携帯可能電子装置の制御方法
JP2010072965A (ja) 携帯可能電子装置および携帯可能電子装置におけるデータ処理方法
US9183400B2 (en) IC card and IC card control method
KR101783526B1 (ko) Ic 카드, 전자 장치 및 휴대 가능 전자 장치
JP4776462B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP2007102559A (ja) 携帯可能電子装置
US20090012975A1 (en) Portable electronic device and file management method for use in portable electronic device
US20120234926A1 (en) Portable electronic apparatus
JP5301018B2 (ja) 携帯可能電子装置
JP2008310596A (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP2012133656A (ja) 携帯可能電子装置及びicカード
JP4950730B2 (ja) 携帯可能電子装置、携帯可能電子装置におけるファイルアクセス方法およびicカード
JP2008299416A (ja) 携帯可能電子装置、携帯可能電子装置におけるファイルアクセス方法およびicカード
JP2005275457A (ja) 携帯可能電子媒体の発行装置、携帯可能電子媒体、及び携帯可能電子媒体の発行方法
JP2011191808A (ja) 携帯可能電子装置、icカード、および携帯可能電子装置の制御方法
JP2007257544A (ja) 携帯可能電子装置およびicカード
JP5957347B2 (ja) Icカード、および携帯可能電子装置
JP2005346338A (ja) 携帯型情報記憶媒体、そのプログラム及び携帯型情報記憶媒体の処理解析方法
JP5085055B2 (ja) Icカードおよびicモジュール
JP2018194995A (ja) 電子情報記憶媒体、icカード、データ送信方法、データ書き込み方法、データ送信プログラム及びデータ書き込みプログラム
JP4738249B2 (ja) 携帯可能電子装置、icカードおよびicモジュール
JP4533665B2 (ja) 携帯可能電子装置
JP2006268525A (ja) 携帯可能電子装置、携帯可能電子装置の処理装置、携帯可能電子装置の処理システムおよび携帯可能電子装置の処理方法
JP5038918B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP6039036B2 (ja) Icカード、携帯可能電子装置及びicカードの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110315