JP2008033529A - 電子機器、情報処理方法、およびプログラム - Google Patents

電子機器、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP2008033529A
JP2008033529A JP2006204825A JP2006204825A JP2008033529A JP 2008033529 A JP2008033529 A JP 2008033529A JP 2006204825 A JP2006204825 A JP 2006204825A JP 2006204825 A JP2006204825 A JP 2006204825A JP 2008033529 A JP2008033529 A JP 2008033529A
Authority
JP
Japan
Prior art keywords
service
processing
data
card
writer
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.)
Granted
Application number
JP2006204825A
Other languages
English (en)
Other versions
JP4702628B2 (ja
Inventor
Toshinori Kanemoto
俊範 金本
Sunao Morita
直 森田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2006204825A priority Critical patent/JP4702628B2/ja
Priority to EP07791424A priority patent/EP2048600A4/en
Priority to CN200780036278.2A priority patent/CN101523418B/zh
Priority to PCT/JP2007/064730 priority patent/WO2008013251A1/ja
Priority to KR1020097001556A priority patent/KR20090046797A/ko
Priority to US12/309,475 priority patent/US8756702B2/en
Publication of JP2008033529A publication Critical patent/JP2008033529A/ja
Application granted granted Critical
Publication of JP4702628B2 publication Critical patent/JP4702628B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • 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/08Payment architectures
    • G06Q20/18Payment architectures involving self-service terminals [SST], vending machines, kiosks or multimedia terminals
    • 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/3574Multiple applications 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/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/363Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes with the personal data of a user
    • 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/0866Mechanisms 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 by active credit-cards adapted therefor
    • 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/0873Details of the card reader
    • 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/0873Details of the card reader
    • G07F7/0893Details of the card reader the card reader reading the card in a contactless manner
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Mathematical Physics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

【課題】ICチップが搭載される電子機器にデータを管理させることをアプリケーションの提供事業者が容易に行うことができるようにする。
【解決手段】サービス発行端末11から送信されたサービス発行コマンドを受信したとき、ICカード2のサービス発行機能21においてはコマンドパラメータとして送信されてきた識別子に対応するサービスデータ構造を表す情報と処理シーケンスを記述したプログラムがサービス定義データベース23から取得される。サービス定義データベース23にはそれぞれのアプリケーションに必要なサービスのデータ構造を表す情報と処理シーケンスを記述したプログラムが格納されている。サービス発行機能21においては、ICカード内部処理が実行され、所定のアプリケーションの提供を受けるのに用いられるデータを管理するサービスデータ構造がファイルシステム22に用意される。本発明はICチップを搭載した機器に適用することができる。
【選択図】図3

Description

本発明は、電子機器、情報処理方法、およびプログラムに関し、特に、ICチップが搭載される電子機器にデータを管理させることをアプリケーションの提供事業者が容易に行うことができるようにした電子機器、情報処理方法、およびプログラムに関する。
従来のICカードに対するサービスの発行は、例えば、ICカードに埋め込まれたICチップがFeliCa(商標)であり、搭載されるOS(Operating System)がFeliCa OSのようなアプリケーション汎用型OSである場合は、発行側の端末からICカード(ICチップ)に対して複数の発行用コマンドが送信され、それらがICカードにおいて実行されることによって行われる。
ここで、サービスとは、ICカードのファイルシステムにおいて、電子マネーのデータそのものなどの、データの実体を管理する範囲をいう。例えば、Windows(登録商標)でいうファイルがこれに相当する。あるサービスにおいて管理されるデータにアクセスするためには、サービスに対して必要に応じて割り当てられている権限鍵と同じ鍵が、アクセスを行おうとする端末側に用意されている必要がある。
サービスの発行とは、サービスを定義する情報や、電子マネーのデータそのものなどであるユーザデータを記憶するメモリの領域を確保し、それらの情報をメモリに格納することによって、ICカードのファイルシステムに新たなサービスを作成することをいう。
ICカードにおいてサービス発行コマンドが実行されることにより、OSごとに定義された所定のデータ構造の種類、ユーザデータへのアクセス方法、および、アクセスを行う際の認証に用いられる権限鍵を設定することが可能なユーザデータの単位の組み合わせによって1つのデータ構造が表現され、これにより、対応するアプリケーションの実現が可能となる。
アプリケーションとは、事業者(アプリケーション事業者)が提供するサービスのことをいい、プリペイド電子マネーアプリケーション、クレジットアプリケーション、チケットアプリケーションなどがある。ICカードのユーザは、自分のICカードをサービス発行用の端末の所定の位置に設けられるリーダ/ライタにかざすなどして、提供を受けようとするアプリケーションに対応するサービスの発行を受けることにより、その後、サービスの発行を受けたICカードを利用して、アプリケーションの提供を受けることができる。
また、従来、サービスの発行を受けた後のアプリケーションの運用のときに用いられるコマンド(リーダ/ライタからICカードに送信されるコマンド)は、認証用コマンド、読み出し用コマンド、書き込み用コマンドなどの、ICカードが行う処理単位(機能単位)で定義されるようになされている。
従って、あるアプリケーションが、ICカードの認証、ICカードからのデータの読み出し、ICカードに対するデータの書き込みのそれぞれの処理によって実現される場合、アプリケーション事業者は、アプリケーションの提供を受けるときにユーザにより利用される端末からICカードに対して機能単位でコマンドが送信されるように設計、準備する必要があり、ICカードOSは、リーダ/ライタから機能単位で送信されてくるそれぞれのコマンドを解釈し、それぞれのコマンドに応じた処理を行う必要がある。
一方、ICチップに搭載されるOSがMULTOS(商標)やJava(登録商標) Cardなどのプラットフォーム型OSである場合、アプリケーション事業者が用意したサービス発行用のプログラムがICカードにダウンロードされ、それが実行されることによってサービスの発行が行われる。サービス発行用のプログラムにおいては、アプリケーションの実現に必要になるサービスのデータ構造、鍵の管理方法などがアプリケーション事業者により定義されている。
また、このようにしてサービスの発行が行われた後、アプリケーションの運用のためのプログラムがICカードにダウンロードされ、それが実行されることによってアプリケーションが実現されるようになされている。
図1は、アプリケーション汎用型OSが搭載されたICカードを対象にした従来のサービス発行方式について説明する図である。
図1に示されるように、サービスの発行はサービス発行システム1により行われる。サービス発行システム1は例えばアプリケーション事業者が用意するシステムであり、サービス発行端末11とサービス定義データベース12から構成される。サービス発行端末11の筐体の所定の位置にはリーダ/ライタ11Aが設けられる。サービス発行システム1は1つの装置から構成されるようにしてもよいし、複数の装置から構成されるようにしてもよい。
ICカード2は、所定のアプリケーションの提供を受けようとするユーザが有する非接触ICカードであり、ICカード2においてはサービス発行機能21とファイルシステム22が実現される。サービス発行機能21は所定のプログラムがICチップにより実行されることによって実現される機能であり、サービス発行端末11から送信されてきたサービス発行コマンドを解釈し、サービスの発行を行う。ファイルシステム22はICチップのメモリに格納されるデータを管理するファイルシステムである。サービスの発行を受けるとき、ICカード2はサービス発行端末11のリーダ/ライタ11Aにかざされる。
リーダ/ライタ11AにICカード2がかざされたとき、サービス発行端末11は、図1に示されるように、プロセスP1として、ICカード2に発行するサービス発行コマンドに付加するコマンドパラメータをサービス定義データベース12に問い合わせる。
サービス発行端末11からの問い合わせを受けたとき、サービス定義データベース12は、プロセスP2として、発行するサービスの種類に応じたデータ構造やユーザデータへのアクセス方法などを指定するコマンドパラメータを応答する。
サービス定義データベース12からの応答を受けたとき、サービス発行端末11は、プロセスP3として、サービス定義データベース12に問い合わせることによって得られた情報をコマンドパラメータとして付加したサービス発行コマンドをICカード2に送信する。サービス発行コマンドとコマンドパラメータの送信はリーダ/ライタ11Aを介して行われる。
サービス発行端末11から送信されてきたサービス発行コマンドとコマンドパラメータを受信したとき、ICカード2のサービス発行機能21は、サービス発行コマンドを解釈し、プロセスP4としてICカード内部処理を実行する。ここでのICカード内部処理により、サービス発行コマンドとともにサービス発行端末11から送信されてきたコマンドパラメータに基づいてサービス定義情報22Aが生成される。サービス発行機能21は、サービス定義情報22Aに従ってファイルシステム22上にサービスデータ構造をマッピングし、これにより、サービスの発行を行う。
サービスの発行が終了したとき、サービス発行機能21は、プロセスP5として、サービスの発行が終了したことを表す情報をサービス発行端末11に送信する。
従来のサービスの発行は以上のようにして行われる。所望するサービスデータ構造を定義するサービス定義情報の生成にあたっては、それを、プロセスP3とP5の1回のやり取りでは実現することができない場合がある。その場合、プロセスP3とP5のやりとりが複数回繰り返される。
図2は、アプリケーション運用時にリーダ/ライタとICカード2の間で決済シーケンスに従って行われる従来の処理について説明するフローチャートである。アプリケーション運用時にリーダ/ライタとICカード2の間で行われる処理を規定する処理シーケンスとして、決済シーケンスの他に、電子マネーの残高を増やすチャージシーケンス、PIN(Personal Identification Number)による認証を行うPINシーケンスなどがある。
図2の処理は、図1に示されるようにしてサービスの発行を受けたICカード2が、アプリケーションの提供を受けるときにユーザにより利用されるものとして用意される端末のリーダ/ライタにかざされたときに行われる。
ステップS1において、リーダ/ライタは、Pollingコマンドを送信することによって、通信相手となるICカード2の探索、捕捉を行う。
ステップS21において、ICカード2は、リーダ/ライタから送信されてきたPollingコマンドを受信し、ステップS22に進み、それに応答する。
ICカード2からの応答が送信されてきたとき、ステップS2において、リーダ/ライタはそれを受信し、ステップS3に進み、相互認証コマンドを送信することによってICカード2との間で相互認証を行う。
ステップS23において、ICカード2は、リーダ/ライタから送信されてきた相互認証コマンドを受信し、ステップS24に進み、相互認証に用いる所定の情報をメモリから読み出し、読み出した情報をリーダ/ライタに送信する。
相互認証に用いる情報がICカード2から送信されてきたとき、ステップS4において、リーダ/ライタはそれを受信する。
ステップS5において、リーダ/ライタは、決済しようとする金額が決済実行条件を満たしているか否かを確認し、決済実行条件を満たしていることを確認した場合、ステップS6に進む。例えば、決済額の上限が決済実行条件として設定されていることもあり、この場合、上限の金額より少ない金額の決済だけが可能とされる。
ステップS6において、リーダ/ライタは、現在時刻がサービスの有効期限内であるか否かを確認するために、サービス有効期限を表す情報の格納位置を表す識別子をコマンドパラメータとして付加したReadコマンド(読み出し用コマンド)をICカード2に送信する。
ICカード2に発行されたサービスには有効期限を設定することができるようになされており、サービス定義情報により定義されるサービスデータ構造の一部の情報により、サービスの有効期限が表される。サービスデータ構造を構成するそれぞれの情報がメモリのどの位置に格納されるのかはサービスの発行時にサービス定義情報により定義されており、読み出しの対象となるそれぞれの情報の格納位置が、Readコマンドのコマンドパラメータとしてリーダ/ライタから送信されてくる識別子により特定される。
ステップS25において、ICカード2は、リーダ/ライタから送信されてきたReadコマンドを受信し、Readコマンドのコマンドパラメータとして送信されてきた識別子により特定される格納位置から、サービスの有効期限を表す情報を読み出す。ICカード2は、ステップS26に進み、読み出したサービスの有効期限を表す情報をリーダ/ライタに送信する。
有効期限を表す情報がICカード2から送信されてきたとき、ステップS7において、リーダ/ライタはそれを受信する。
ステップS8において、リーダ/ライタは、現在時刻が、サービス有効期限内の時刻であるか否かをICカード2から送信されてきた情報に基づいて確認し、有効期限内であることを確認した場合、ステップS9に進む。
ステップS9において、リーダ/ライタは、ICカード2に記憶されている電子マネーの残高を確認するために、残高を表す情報の格納位置を表す識別子をコマンドパラメータとして付加したReadコマンドをICカード2に送信する。
ステップS27において、ICカード2は、リーダ/ライタから送信されてきたReadコマンドを受信し、Readコマンドのコマンドパラメータとして送信されてきた識別子により特定される格納位置から、電子マネーの残高を表す情報を読み出す。ICカード2は、ステップS28に進み、読み出した残高を表す情報をリーダ/ライタに送信する。
電子マネーの残高を表す情報がICカード2から送信されてきたとき、ステップS10において、リーダ/ライタはそれを受信する。
ステップS11において、リーダ/ライタは、ICカード2に記憶されている電子マネーの残高が決済額以上の額であるか否かを確認し、決済額以上の額であることを確認した場合、ステップS12に進む。
ステップS12において、リーダ/ライタは、決済額と、残高の格納位置を表す識別子とをコマンドパラメータとして付加したWriteコマンド(書き込み用コマンド)をICカード2に送信する。
ステップS29において、ICカード2は、リーダ/ライタから送信されてきたWriteコマンドを受信し、ステップS30に進み、決済処理を行う。決済処理においては、Writeコマンドのコマンドパラメータとして送信されてきた識別子により格納位置が特定される電子マネーの現在の残高が、残高から決済額を差し引いた額によって上書きされる。
残高の上書きが成功したとき、ICカード2は、ステップS31において、決済処理が成功したことを表す情報である成功レスポンスをリーダ/ライタに送信する。
成功レスポンスがICカード2から送信されてきたとき、ステップS13において、リーダ/ライタはそれを受信する。
ステップS14において、リーダ/ライタは、アクセスログの値と、アクセスログの格納位置を表す識別子とをコマンドパラメータとして付加したWriteコマンドをICカード2に送信する。
ステップS32において、ICカード2は、リーダ/ライタから送信されてきたWriteコマンドを受信し、ステップS33に進み、アクセスログの書き出し処理を行う。アクセスログの書き出し処理においては、Writeコマンドのコマンドパラメータとして送信されてきた識別子により特定される格納位置に、アクセスログの値が書き込まれる。
アクセスログの値の書き込みが成功したとき、ICカード2は、ステップS34において、アクセスログの書き出し処理が成功したことを表す情報である成功レスポンスをリーダ/ライタに送信する。
成功レスポンスがICカード2から送信されてきたとき、ステップS15において、リーダ/ライタはそれを受信し、これにより、決済シーケンスに従った一連の処理が終了される。
図1を参照して説明したように、サービスの発行は複数のコマンドを用いて行われることがある。また、図2を参照して説明したように、アプリケーションを実現するための1つの処理シーケンスに従った処理は、ICカードの機能単位に定義された複数のコマンドを用いて行われる。
特許文献1には、複数のカードアプリケーション間の連携処理の処理内容と連携処理の実行条件が記述された連携クーポンに基づいて、カードアプリケーション間の連携処理を行う技術が開示されている。特許文献2には、モバイル端末と非接触ICカードを組み合わせた電子鍵システムが開示されている。
特開2005−316992号公報 特開2005−285056号公報
以上のように、従来のICカードを対象にしてアプリケーションを運用するためには、それぞれのアプリケーション事業者が、サービスの発行時のファイルシステムへのユーザデータの格納方法(データ構造)、および、運用時にユーザデータにアクセスするための処理シーケンスを考案し、運用システムの設計を行う必要がある。
具体的には、ファイルシステムのどの位置に格納される情報がサービスの有効期限を表す情報であり、どの位置に格納される情報が電子マネーの残高を表す情報であるといったように、アプリケーション事業者毎に、サービスのデータ構造を定義する必要がある。また、1回の決済を実現するために、どのタイミングでサービスの有効期限の確認を行い、どのタイミングで残高の確認を行うといったように、アプリケーション事業者毎に、一連の決済の流れを設計する必要がある。
従って、それぞれのアプリケーション事業者が独自に定義したサービスデータ構造に従ってユーザデータが管理されていることから、あるアプリケーション事業者が定義したサービスデータ構造によれば安定したシステムを提供することができるが、他のアプリケーション事業者が定義したサービスデータ構造によれば安定したシステムを提供することができないといったように、複数のアプリケーション事業者を通じて、一貫したセキュリティの確保やシステムの品質の確保が困難であった。
また、図2を参照して説明したような決済シーケンスにおいては、残高をICカードから一度読み出し、その残高が、減額しようとする決済額以上であることをリーダ/ライタ側で判定した後に、減額用のWriteコマンドを送信するといった運用がなされており、リーダ/ライタからICカードに対して複数のコマンドを発行する必要があった。
また、従来のFeliCa OSのコマンドによるICカードからのデータの読み出しでは、1回の読み出しによって読み出すことのできるデータが固定長のデータとされていることから、例えば残高を表す情報が、その固定長よりデータ量の少ない情報である場合、残高を表す情報のみを読み出すことができず、残高を表す情報が含まれるデータブロックと同じデータブロックに含まれる不要な情報(キャッシュバック用データやトランザクション管理用の実行IDなど)も同時に読み出されてしまう。
特に、ICカードとリーダ/ライタ間の通信は無線であり、有線の通信と較べて伝送の不安定性や拡散性(漏洩性)があるため、データの伝送回数は極力減らし、必要最小限のデータのみを伝送したいという要求がある。
従来のFeliCa OSにおいては、権限鍵についても、固定長のデータブロックに対してそれを割り当て、アクセス権限を設定することはできたが、残高を表す情報だけ、あるいは有効期限を表す情報だけといったように、処理シーケンスによって規定されるそれぞれの処理で用いられる情報単位で分けてアクセス権限を設定することができなかった。また、ある1つのデータに対して、例えば、それを増額する権限と減額する権限といった形で、利用形態で分けてアクセス権限を設定することができなかった。
本発明はこのような状況に鑑みてなされたものであり、ICチップが搭載される電子機器にデータを管理させることをアプリケーションの提供事業者が容易に行うことができるようにするものである。
本発明の一側面の電子機器は、コマンドが送信されてくることに応じて処理を行うICチップが搭載される電子機器において、処理シーケンスを記述したプログラムと、処理シーケンスに従って行われるそれぞれの処理によって読み書きされるデータの構造を表す情報とを、提供事業者によって提供されるアプリケーションに対応付けて記憶する記憶手段と、外部の端末から送信されてきたコマンドに付加される識別子により識別されるアプリケーションに対応付けて記憶されている前記プログラムとデータの構造を表す前記情報とを前記記憶手段から取得し、取得した前記プログラムに記述される処理シーケンスに従った処理によって読み書きの対象になるデータを、前記記憶手段から取得した前記情報によって表される構造を有するデータとして管理する管理手段とを備える。
所定のアプリケーションの提供をユーザが受けるときに利用されるものとして用意されるリーダライタからコマンドが送信されてくることに応じて、前記記憶手段から取得した前記プログラムに記述される処理シーケンスに従った処理を行い、前記記憶手段から取得した前記情報によって構造が表されるデータの読み書きを制御する制御手段をさらに設けることができる。
前記管理手段には、前記記憶手段から取得したそれぞれの前記プログラムに記述される処理シーケンスに対して権限鍵を設定させ、前記制御手段には、前記リーダライタからコマンドが送信されてくることに応じて所定の処理シーケンスに従った処理を行う場合、処理を行う前に、前記所定の処理シーケンスに対して設定されている権限鍵を用いて、前記リーダライタとの間で相互認証を行わせることができる。
前記管理手段には、読み書きの対象になるデータを構成する、内容の異なるそれぞれのデータに対して権限鍵を設定させ、前記制御手段には、前記リーダライタからコマンドが送信されてくることに応じて所定の処理シーケンスに従った処理を行う場合、処理を行う前に、前記所定の処理シーケンスに従った処理によって読み書きの対象になるデータに対して設定されている権限鍵を用いて、前記リーダライタとの間で相互認証を行わせることができる。
本発明の一側面の情報処理方法またはプログラムは、外部の端末から送信されてきたコマンドに付加される識別子により識別されるアプリケーションに対応付けて記憶されているプログラムとデータの構造を表す情報とを記憶手段から取得し、取得した前記プログラムに記述される処理シーケンスに従った処理によって読み書きの対象になるデータを、前記記憶手段から取得した前記情報によって表される構造を有するデータとして管理するステップを含む。
本発明の一側面においては、外部の端末から送信されてきたコマンドに付加される識別子により識別されるアプリケーションに対応付けて記憶されているプログラムとデータの構造を表す情報とが記憶手段から取得され、取得された前記プログラムに記述される処理シーケンスに従った処理によって読み書きの対象になるデータが、前記記憶手段から取得された前記情報によって表される構造を有するデータとして管理される。
本発明の一側面によれば、ICチップが搭載される電子機器にデータを管理させることをアプリケーションの提供事業者は容易に行うことができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外には対応しないものであることを意味するものでもない。
本発明の一側面の電子機器(例えば、図3のICカード2)は、コマンドが送信されてくることに応じて処理を行うICチップが搭載される電子機器において、処理シーケンスを記述したプログラムと、処理シーケンスに従って行われるそれぞれの処理によって読み書きされるデータの構造を表す情報とを、提供事業者によって提供されるアプリケーションに対応付けて記憶する記憶手段(例えば、図3のサービス定義データベース23)と、外部の端末から送信されてきたコマンドに付加される識別子により識別されるアプリケーションに対応付けて記憶されている前記プログラムとデータの構造を表す前記情報とを前記記憶手段から取得し、取得した前記プログラムに記述される処理シーケンスに従った処理によって読み書きの対象になるデータを、前記記憶手段から取得した前記情報によって表される構造を有するデータとして管理する管理手段(例えば、図3のサービス発行機能21)とを備える。
この電子機器には、所定のアプリケーションの提供をユーザが受けるときに利用されるものとして用意されるリーダライタからコマンドが送信されてくることに応じて、前記記憶手段から取得した前記プログラムに記述される処理シーケンスに従った処理を行い、前記記憶手段から取得した前記情報によって構造が表されるデータの読み書きを制御する制御手段(例えば、図7のプリペイド電子マネーオブジェクト51)をさらに設けることができる。
本発明の一側面の情報処理方法またはプログラムは、外部の端末から送信されてきたコマンドに付加される識別子により識別されるアプリケーションに対応付けて記憶されているプログラムとデータの構造を表す情報とを記憶手段から取得し、取得したプログラムに記述される処理シーケンスに従った処理によって読み書きの対象になるデータを、前記記憶手段から取得した前記情報によって表される構造を有するデータとして管理するステップ(例えば、図5のステップS54)を含む。
以下、本発明の実施の形態について図を参照して説明する。
図3は、本発明の一実施形態に係る情報処理システムにおけるサービスの発行方式について説明する図である。図1と同じ構成には同じ符号を付してある。
図3に示されるように、サービスの発行はサービス発行システム1によって行われる。サービス発行システム1はアプリケーション事業者が用意するシステムであり、サービス発行端末11から構成される。サービス発行端末11の筐体の所定の位置にはリーダ/ライタ11Aが設けられる。サービス発行システム1は1つの装置から構成されるようにしてもよいし、複数の装置から構成されるようにしてもよい。
ICカード2は、所定のアプリケーションの提供を受けようとするユーザが有する非接触ICカードであり、ICカード2においてはサービス発行機能21とファイルシステム22が実現される他に、サービス定義データベース23が用意される。すなわち、図1の例においてはサービス発行システム1側の構成として設けられていたサービス定義データベースが、図3の例においてはICカード2側の構成として内包する形で設けられている。
サービス発行機能21はICカード2に埋め込まれているICチップにより所定のプログラムが実行されることによって実現される機能であり、サービス発行端末11から送信されてきたサービス発行コマンドを解釈し、サービスの発行を行う。ファイルシステム22はICチップのメモリに格納されるデータを管理するファイルシステムである。サービスの発行を受けるとき、ICカード2はサービス発行端末11のリーダ/ライタ11Aにかざされる。
リーダ/ライタ11AにICカード2がかざされたとき、サービス発行端末11は、図3に示されるように、プロセスP11として、ICカード2の内部に実装されるサービス発行機能21に対してサービス発行コマンドを送信する。サービス発行端末11から送信されるサービス発行コマンドには、プリペイド電子マネーアプリケーション、チケットアプリケーションなどの、ICカード2のユーザが提供を受けようとするアプリケーションの種類を表す識別子がコマンドパラメータとして付加される。
サービス発行端末11から送信されてきたサービス発行コマンドとコマンドパラメータを受信したとき、ICカード2のサービス発行機能21は、サービス発行コマンドを解釈し、コマンドパラメータとして送信されてきた識別子に対応する、サービスデータ構造を表す情報と処理シーケンスを記述したプログラムを、サービス定義データベース23にプロセスP12として問い合わせる。サービス定義データベース23には、アプリケーションの識別子に対応させた形で、それぞれのアプリケーションに必要になるサービスのデータ構造を表す情報と処理シーケンスを記述したプログラムが格納されている。
例えば、サービス定義データベース23には、アプリケーションの契約番号であるサービスID、アプリケーションの提供を受けることが可能な期間、区間、場所、回数などによる制約条件、プリペイド電子マネーアプリケーションで用いられる電子マネーの残高などのサービスバリュー、権利を行使する際の条件である決済実行条件、アクセスログなどの区分によって意味づけされたサービスデータ構造を表す情報が格納されている。
また、サービス定義データベース23には、処理シーケンスを記述したプログラムとして、サービス利用シーケンス、チャージシーケンス、決済単位書き込みシーケンス、決済シーケンス、決済制約確認シーケンス、決済単位確認シーケンス、残高確認シーケンス、履歴照会シーケンス、PINシーケンス、設定値変更シーケンスなどのそれぞれの処理シーケンスを記述したプログラムが格納される。それぞれのプログラムが実行されることにより、その目的にあわせて、1つまたは複数のデータの読み出し、データの書き込み、データを用いた演算、データの比較、処理履歴の記憶、処理の正当性の確認、電子署名の書き出しなどを組み合わせた一連の処理がICカード2において実現される。
サービス発行機能21からの問い合わせを受けたとき、サービス定義データベース23は、プロセスP13として、問い合わせのあったサービスデータ構造を表す情報と処理シーケンスを記述したプログラムをサービス発行機能21に応答する。
サービス定義データベース23からの応答を受けたとき、サービス発行機能21は、プロセスP14としてICカード内部処理を実行する。ここでのICカード内部処理により、サービス定義データベース23から送信されてきたサービスデータ構造を表す情報と処理シーケンスを記述したプログラムに基づいてサービス定義情報22Aが生成される。サービス発行機能21は、サービス定義情報22Aに従ってファイルシステム22上にサービスデータ構造をマッピングし、これにより、サービスの発行を行う。
サービスの発行が終了したとき、サービス発行機能21は、プロセスP15として、サービスの発行が終了したことを表す情報をサービス発行端末11に送信する。サービスの発行は以上のようにして行われる。
図4は、サービス定義データベース23に記憶される、アプリケーション毎のデータ構造を表す情報の例を示す図である。
図4の例においては、横方向にアプリケーションの種類が示され、縦方向にサービス定義項目が示されている。アプリケーションの種類が決まると、それぞれのサービス定義項目の有無と、サービス定義項目が「あり」の場合は、具体的にどのような定義となるかが定まる。「選択可」とされているものは、そのサービス定義項目の有無(サービス定義項目を用いた機能の有無)をアプリケーション事業者が任意に選択できることを示している。
例えば、図4に示されるプリペイド電子マネーアプリケーションについては、サービス定義項目である「サービスバリュー」は「残高」、「サービスバリューの制約」は「0以上上限値」、「決済シーケンス」は「減算」、「決済実行条件」は「上限」、「チャージシーケンス」は「あり」、「決済単位書き込みシーケンス」は「なし」、「格納可能な決済単位数」は「1」、「期間制約」は「対サービスデータ構造」、「処理履歴記録」は「あり」、「PINシーケンス」は「選択可」とされている。
「サービスバリュー」が「残高」であることは、プリペイド電子マネーアプリケーションに必要なサービスデータ構造全体のうちの「サービスバリュー」に割り当てられた格納位置には電子マネーの残高を表す情報が格納されることを表し、「サービスバリューの制約」が「0以上上限値」であることは、サービスデータ構造全体のうちの「サービスバリューの制約」に割り当てられた格納位置には0以上の、残高として記録可能な金額の上限を表す情報が格納されることを表す。このような、どの格納位置にどの情報が格納されるのかを表す情報が組み合わされることによって、プリペイド電子マネーアプリケーションに必要な1つのサービスデータ構造が定義される。
「決済シーケンス」が「減算」であることは、プリペイド電子マネーアプリケーションの決済シーケンスにおいては残高の減算が行われることを表し、「決済実行条件」が「上限」であることは、サービスデータ構造全体のうちの「決済実行条件」に割り当てられた格納位置には1回の決済シーケンスで決済可能な金額の上限を表す情報が格納されることを表す。
「チャージシーケンス」が「あり」であることは、プリペイド電子マネーアプリケーションを実現する処理シーケンスにチャージシーケンスが含まれることを表し、「決済単位書き込みシーケンス」が「なし」であることは、プリペイド電子マネーアプリケーションを実現する処理シーケンスに決済単位書き込みシーケンスが含まれないことを表す。
「格納可能な決済単位数」が「1」であることは、プリペイド電子マネーアプリケーションを実現する決済シーケンスにおいては1つの単位の決済(残高の減額)を行うことができることを表し、「期間制約」が「対サービスデータ構造」であることは、サービスデータ構造全体のうちの「期間制約」に割り当てられた格納位置にはサービスデータ構造の有効期限を表す情報が格納されることを表す。
「処理履歴記録」が「あり」であることは、プリペイド電子マネーアプリケーションを実現する、ある処理シーケンスに従って処理が行われた後に処理の履歴(アクセスログ)を記録することを表し、「PINシーケンス」が「選択可」であることは、プリペイド電子マネーアプリケーションを実現する処理シーケンスに、PINによる認証であるPINシーケンスを含めることをアプリケーション事業者が選択することができることを表す。
プリペイド電子マネーアプリケーションの識別子が送信されてくることによってサービス発行機能21から問い合わせが行われたとき、サービス定義データベース23においては、サービス定義項目が「あり」として設定されているチャージシーケンスを記述したプログラム、PINシーケンスを記述したプログラムなどが読み出され、サービス発行機能21に対して提供される。
また、「サービスバリュー」が「残高」であること、「サービスバリューの制約」が「0以上上限値」であること、「決済実行条件」が「上限」であることなどの、それぞれの格納位置に格納される情報の内容を表す情報がサービスデータ構造を表す情報として提供される。
同様に、図4に示されるチケットアプリケーションについては、サービス定義項目である「サービスバリュー」は「枚数」、「サービスバリューの制約」は「0以上上限値」、「決済シーケンス」は「減算」、「決済実行条件」は「上限/下限/単位」、「チャージシーケンス」は「なし」、「決済単位書き込みシーケンス」は「あり」、「格納可能な決済単位数」は「複数」、「期間制約」は「対決済単位」、「処理履歴記録」は「あり」、「PINシーケンス」は「選択可」とされている。
「サービスバリュー」が「枚数」であることは、チケットアプリケーションのサービスデータ構造全体のうちの「サービスバリュー」に割り当てられた格納位置には電子的なチケットの残り枚数を表す情報が格納されることを表し、「サービスバリューの制約」が「0以上上限値」であることは、サービスデータ構造全体のうちの「サービスバリューの制約」に割り当てられた格納位置には0以上の、残り枚数として記録可能な電子的なチケットの枚数の上限を表す情報が書き込まれることを表す。このような、どの格納位置にどの情報が格納されるのかを表す情報が組み合わされることによって、チケットアプリケーションに必要な1つのサービスデータ構造が定義される。
「決済シーケンス」が「減算」であることは、チケットアプリケーションの決済シーケンスにおいては電子的なチケットの残り枚数の減算が行われることを表し、「決済実行条件」が「上限/下限/単位」であることは、サービスデータ構造全体のうちの「決済実行条件」に割り当てられた格納位置には1回の決済シーケンスで決済可能なチケットの上限/下限/単位のいずれかを表す情報が書き込まれることを表す。
「チャージシーケンス」が「なし」であることは、チケットアプリケーションを実現する処理シーケンスにチャージシーケンスが含まれないことを表し、「決済単位書き込みシーケンス」が「あり」であることは、チケットアプリケーションを実現する処理シーケンスに決済単位書き込みシーケンスが含まれ、後述する決済単位が複数ある場合に、それぞれの決済単位を対象として決済シーケンス(チケットの残り枚数の減算)を行うことができることを表す。
「格納可能な決済単位数」が「複数」であることは、チケットアプリケーションに必要な1つのサービスデータ構造に複数の決済単位を格納させることができることを表し、「期間制約」が「対決済単位」であることは、サービスデータ構造全体のうちの「期間制約」に割り当てられた格納位置には決済単位の有効期限を表す情報が書き込まれることを表す。
「処理履歴記録」が「あり」であることは、チケットアプリケーションを実現する、ある処理シーケンスに従って処理が行われた後に処理の履歴を記録することを表し、「PINシーケンス」が「選択可」であることは、チケットアプリケーションを実現する処理シーケンスにPINシーケンスを含めることをアプリケーション事業者が選択することができることを表す。
チャージアプリケーションの識別子が送信されてくることによってサービス発行機能21から問い合わせが行われたとき、サービス定義データベース23においては、決済単位書き込みシーケンスを記述したプログラム、PINシーケンスを記述したプログラムなどが読み出され、サービス発行機能21に対して提供される。
また、「サービスバリュー」が「枚数」であること、「サービスバリューの制約」が「0以上上限値」であること、「決済実行条件」が「上限/下限/単位」であることなどの、それぞれの格納位置に格納される情報の内容を表す情報がサービスデータ構造を表す情報として提供される。
他のアプリケーションの識別子がサービス発行機能21から送信されてきたときも同様に、図4に示されるサービス定義項目の設定が「あり」として設定されている処理シーケンスを記述したプログラム、サービスデータ構造を表す情報がサービス定義データベース23から読み出され、サービス発行機能21に提供される。
このように、図3の情報処理システムにおいては、サービス発行システム1から送信されてきた識別子により特定されるアプリケーションに必要な情報がサービス定義データベース23から読み出され、サービスの発行がICカード2内で行われるようになされている。
サービスの発行に必要になる情報が格納されたサービス定義データベース23がICカード2に用意されているから、アプリケーションに必要な情報をICカード2に書き込むことによってサービスを発行(活性化)する際に、サービスの発行に必要になる情報をサービス発行システム1側からICカード2側に送信する必要がなく、サービスの発行に際してサービス発行システム1とICカード2間で送受信されるデータを最小限の量のデータに抑えることができ、データの送受信の回数を減らすこともできる。
また、サービスの発行に際してサービス発行システム1側からICカード2側に送信される情報はアプリケーションの識別子がコマンドパラメータとして付加されたサービス発行コマンドだけであるから、処理シーケンスを記述したどのプログラムを送信するのか、あるいは、サービスデータ構造を表すどの情報を送信するのかといったことを、アプリケーション事業者が独自に設計し、サービス発行システム1に準備する必要がなく、それらにかかるコストを削減することができる。
ここで、図5のフローチャートを参照して、サービス発行時にリーダ/ライタ11AとICカード2の間で行われる処理について説明する。
リーダ/ライタ11AにICカード2がかざされたとき、ステップS41において、リーダ/ライタ11Aは、アプリケーションの種類を表す識別子をコマンドパラメータとして付加したサービス発行コマンドをICカード2に送信する。
ステップS51において、ICカード2のサービス発行機能21は、リーダ/ライタ11Aから送信されてきたサービス発行コマンドを受信し、ステップS52に進む。
ステップS52において、サービス発行機能21はサービス発行コマンドを解釈することによって、コマンドパラメータとして送信されてきた識別子に対応する、サービスデータ構造を表す情報と処理シーケンスを記述したプログラムをサービス定義データベース23に問い合わせる。
ステップS53において、サービス定義データベース23は、サービス発行機能21からの問い合わせに対する応答として、問い合わせのあったサービスデータ構造を表す情報と処理シーケンスを記述したプログラムをサービス発行機能21に送信する。
ステップS54において、サービス発行機能21は、サービス定義データベース23から送信されてきたサービスデータ構造を表す情報と処理シーケンスを記述したプログラムに基づいてサービス定義情報22Aを生成し、生成したサービス定義情報22Aに従ってサービスデータ構造をファイルシステム22にマッピングすることによってサービスの発行を行う。
ステップS55において、サービス発行機能21は、サービスの発行が終了したことを表す情報をリーダ/ライタ11Aに送信する。
サービス発行機能21から送信された情報は、ステップS42においてリーダ/ライタ11Aにより受信され、処理が終了される。
図6は、ICカード2のファイルシステム22にマッピングされたサービスデータ構造の例を示す図である。
図5に示されるような処理が繰り返されることによって、ICカード2のファイルシステム22には、複数のアプリケーションの提供を受けるのに必要なサービスデータ構造がそれぞれマッピングされる。図6の例においては、サービスデータ構造31乃至33の3つのサービスデータ構造が示されている。
図6のサービスデータ構造31はプリペイド電子マネー(ストアードバリュー型電子マネー)アプリケーションの提供を受けるのに必要なサービスデータ構造であり、サービスデータ構造32はチケットアプリケーションの提供を受けるのに必要なサービスデータ構造である。サービスデータ構造33は所定のアプリケーションの提供を受けるのに必要なサービスデータ構造である。サービスデータ構造31乃至33のそれぞれには、識別子としてのサービスIDが設定されている。
また、図6の例においては、サービスデータ構造31には権限鍵K1が設定され、サービスデータ構造32には権限鍵K2が設定されている。また、サービスデータ構造33には権限鍵K3が設定されている。従って、例えば、プリペイド電子マネーアプリケーションの運用に用いられるリーダ/ライタ(リーダ/ライタが設けられた端末)には権限鍵K1に対応する鍵が用意されている必要があり、チケットアプリケーションの運用に用いられるリーダ/ライタには権限鍵K2に対応する鍵が用意されている必要がある。
プリペイド電子マネーアプリケーションの提供を受けようとしてユーザがリーダ/ライタにICカード2をかざしたとき、リーダ/ライタにおいては権限鍵K2に対応する鍵が用いられ、ICカード2においては権限鍵K2が用いられて、いわゆるチャレンジアンドレスポンスによる相互認証がリーダ/ライタとICカード2の間で行われる。相互認証が成功したとき、サービスデータ構造31により管理されるデータへのアクセス(データの読み出し、書き込み)が可能とされる。
このように、ICカード2においては、サービスデータ構造毎に権限鍵を設定することができる。なお、図6の例においては、3種類のサービスデータ構造を示しているがその数は任意である。また、権限鍵の設定の有無についても任意である。
次に、以上のようにしてサービスが発行されたICカード2を対象にしたアプリケーションの運用について説明する。
図7は、アプリケーション運用時の基本的なシステム構成となるICカード2とリーダ/ライタ41を示す図である。
図7の例においては、ICカード2にはプリペイド電子マネーオブジェクト51、チケットオブジェクト52、およびサービスオブジェクト53が実装されている。プリペイド電子マネーオブジェクト51は、プリペイド電子マネーアプリケーションの発行時にサービス定義データベース23から読み出され、取得されたプログラムに記述された処理シーケンスによって規定される処理と、サービスデータ構造31により管理されるデータの読み書きを制御し、チケットオブジェクト52は、チケットアプリケーションの発行時にサービス定義データベース23から読み出され、取得されたプログラムに記述された処理シーケンスによって規定される処理と、サービスデータ構造32により管理されるデータの読み書きを制御する。サービスオブジェクト53は、所定のアプリケーションの発行時にサービス定義データベース23から読み出され、取得されたプログラムに記述された処理シーケンスによって規定される処理と、サービスデータ構造33により管理されるデータの読み書きを制御する。
プリペイド電子マネーオブジェクト51、チケットオブジェクト52、およびサービスオブジェクト53のそれぞれは、リーダ/ライタ41から送信されてきたコマンドを解釈し、所定の処理シーケンスに従って処理を行う。
リーダ/ライタ41は、例えば、プリペイド電子マネーアプリケーションの運用に用いられる端末に設けられる。リーダ/ライタ41は、ICカード2がかざされたとき、ICカード2に対して所定のコマンドを発行し、プリペイド電子マネーアプリケーションの各種の機能をICカード2において実現させる。プリペイド電子マネーアプリケーションの機能としては、例えば、電子マネーのチャージ、ICカード2に記憶されている電子マネーを使った決済、ICカード2に記憶されている電子マネーの残高の確認、ICカード2に記憶されている電子マネーを使った決済の履歴の確認、PINを用いたユーザ認証、ICカード2に記憶されている各種の値の変更などがある。
このような各種の機能は、例えば図2を参照して説明したように複数回のコマンドのやりとりによって実現されるのではなく、1回のコマンドのやりとりで実現されるようになされている。
例えば、ICカード2に記憶されている電子マネーを使った決済を行う場合、決済コマンドがリーダ/ライタ41から送信され、それに応じて、プリペイド電子マネーオブジェクト51により決済シーケンスに従って処理が行われることによって、電子マネーを使った決済がICカード2において実現される。プリペイド電子マネーアプリケーションに必要なサービスの発行時、ICカード2においては、決済実行条件の確認、サービス有効期限の確認、残高の確認、残高の減額などの、一連の決済シーケンスを記述したプログラムがプリペイド電子マネーアプリケーションの決済機能を実現するプログラムとしてサービス定義データベース23から読み出されている。
このように、一連の処理を1つのコマンドだけでICカード2において実現させることができるため、同じ一連の処理を複数のコマンドによって実現させる場合に較べて、アプリケーション事業者の負担を軽減することができる。すなわち、アプリケーション事業者は、決済を実現させるにしても、決済実行条件の確認、サービス有効期限の確認、残高の確認、残高の減額などのそれぞれの処理をどのタイミングで行うかなどを設計したり、それぞれの処理を行わせるためのコマンドを定義したりする必要がなく、単に、決済コマンドだけがICカード2に発行されるようにしておくだけで済む。すなわち、システムの設計工数を大幅に削減することができ、コストを削減することができる。また、ICカード2とリーダ/ライタ間の通信トランザクションにおいて送受信されるデータの量を抑えることが可能となる。
また、後述するように、アプリケーション事業者はそれぞれの処理シーケンスに対して権限鍵を割り当てることができる。従って、処理シーケンス毎に権限を分解して設定することが可能となり、1つの権限鍵が漏洩した際のセキュリティ・リスクを軽減することができる。例えば、1つの権限鍵によって全ての処理シーケンスの権限が管理される場合、その1つの権限鍵が漏洩することによって全ての処理シーケンスが悪用されてしまうおそれがあるが、処理シーケンス毎に権限鍵を割り当てることができ、権限鍵によって認証が成功した処理シーケンスだけを運用側が利用することができるようにすることにより、1つの権限鍵が漏洩したとしても、そのように全ての処理シーケンスが悪用されるといったことを防ぐことができる。
図8は、図6のサービスデータ構造31の例を示す図である。
図8に示されるように、サービスデータ構造31は、基本的に、サービスID領域61、処理シーケンス領域62乃至67、および、サービスデータ構造内部の具体的なデータ(ユーザデータ)が格納される領域であるデータ格納領域68乃至70に分類される。
サービスID領域61は、アプリケーションの契約番号としてICカード2のユーザに割り当てられた番号に対応する値(情報)が格納される領域であり、1つのアプリケーション事業者のアプリケーション(図8の例ではプリペイド電子マネーアプリケーション)内で一意の値が採番される。これにより、リーダ/ライタ41が発行するコマンドによってサービスデータ構造31が識別される。
処理シーケンス領域62乃至67は、リーダ/ライタ41から呼び出しが可能な処理ステップの集合を識別する値(処理シーケンスを記述したプログラム)が格納される領域である。処理シーケンスは、データ格納領域68乃至70のうちの1つまたは複数の領域に格納されているデータの読み出し、データの書き込み、データを用いた演算、データの比較、処理履歴の記憶、処理の正当性の確認、電子署名の書き出しなどの処理から構成されるステップをまとめて定義した処理関数として定義されており、それぞれの処理関数に基づく処理が、リーダ/ライタ41から発行されるコマンドによって実行されるようになされている。
図8の例においては、処理シーケンス領域62乃至67には、チャージシーケンス、決済シーケンス、残高確認シーケンス、履歴照会シーケンス、PINシーケンス、設定値変更シーケンスのそれぞれの処理シーケンスを記述したプログラムが格納されている。
チャージシーケンスは、データ格納領域69を構成する残高領域83に対する値のチャージを行うための処理ステップを規定し、決済シーケンスは、残高領域83に格納されている値により表される残高の減額(電子マネーの利用)を行うための処理ステップを規定する。
残高確認シーケンスは、残高領域83に格納されている値により表される残高の確認を行うための処理ステップを規定し、履歴照会シーケンスは、データ格納領域70に格納されている情報により表されるアクセスログの確認を行うための処理ステップを規定する。PINシーケンスは、サービスデータ構造31により管理されるデータに対して、PINによるアクセス制限を行う処理ステップ、および、アクセス制限を解除する処理ステップを規定し、設定値変更シーケンスは、データ格納領域68乃至70に格納されている値のうち、運用時に変更が可能とされている設定値を変更するための処理ステップを規定する。
また、図8の例においては、処理シーケンス領域62乃至67に格納されているプログラムに記述されるそれぞれの処理シーケンスには権限鍵K11乃至K16が設定されており、処理シーケンスを実行するためには、設定されているそれぞれの権限鍵K11乃至K16を用いた相互認証が成功していることが前提とされている。
データ格納領域68は、サービスデータ構造31全体の有効期限を表す情報が格納される領域である。
データ格納領域69は、決済単位に関する各種の情報が格納される領域であり、決済実行条件領域81、領域82、残高領域83、残高制約領域84、領域85、PIN用データ領域86、および任意データ領域87から構成される。
決済実行条件領域81は、決済を行う際の制約条件を表す情報が格納される領域である。決済の条件として、例えば、「決済時に減額する値(残高)の範囲が1円以上、20000円以下であること」といった、決済額の範囲を表す情報などが領域82に格納される。
残高領域83は、電子マネーの残高を表す情報が格納される領域であり、残高制約領域84は、残高に対する制約条件を表す情報が格納される領域である。残高の条件として、例えば、「残高は0円以上、50000円以下であること」といった、残高の範囲を表す情報などが領域85に格納される。
PIN用データ領域86は、PIN認証の際に用いられるPINに関する情報が格納される領域であり、任意データ領域87は、アプリケーション事業者が任意に設定可能なデータが格納される領域である。
データ格納領域70は、アクセスログに関する情報が格納される領域であり、アクセスログ設定値領域91、領域92、領域93、およびアクセスログ記録領域94から構成される。
アクセスログ設定値領域91は、アクセスログ記録領域94に関する設定値が格納される領域である。アクセスログ記録領域94に関する設定値として、「決済シーケンスにおいてアクセスログを記録する」といった、アクセスログの記録単位を表す情報などが領域92に格納される。また、アクセスログ記録領域94に関する設定値として、「アクセスログを4件まで保存する」といった、記録件数を表す情報などが領域93に格納される。
アクセスログ記録領域94は、アクセスログがFIFO(First In First Out)方式で記録される領域である。
このように、ICカード2においては、内容毎に領域が割り当てられ、データが管理される。従って、他の不要なデータを読み出すことなく、処理で必要になるデータだけを読み出すことが可能となる。例えば、固定長のブロックに分けてデータが管理され、データの読み出しも1つのブロックに格納されているデータ毎に行われる場合、その固定長よりデータ量の少ないデータを読み出したときには、処理に必要のない余計なデータも読み出されることになるが、そのようなことを防ぐことができる。
ここで、図9のフローチャートを参照して、ICカード2とリーダ/ライタ41の間で決済シーケンスに従って行われる処理について説明する。
リーダ/ライタ41により行われるステップS61乃至S64の処理、ICカード2により行われるステップS71乃至S74の処理は、それぞれ、図2のステップS1乃至S4の処理、ステップS21乃至S24の処理と同様の処理である。
すなわち、ステップS61において、リーダ/ライタ41は、Pollingコマンドを送信することによって通信相手となるICカード2の探索、捕捉を行う。
ステップS71において、ICカード2は、リーダ/ライタ41から送信されてきたPollingコマンドを受信し、ステップS72に進み、それに応答する。
ICカード2からの応答が送信されてきたとき、ステップS62において、リーダ/ライタ41はそれを受信し、ステップS63に進み、相互認証コマンドを送信することによってICカード2との間で相互認証を行う。
ステップS73において、ICカード2は、リーダ/ライタ41から送信されてきた相互認証コマンドを受信し、ステップS74に進み、認証に用いる所定の情報をメモリから読み出し、読み出した情報をリーダ/ライタ41に送信する。
相互認証に用いる情報がICカード2から送信されてきたとき、ステップS64において、リーダ/ライタ41はそれを受信する。
ステップS65において、リーダ/ライタは、決済シーケンス呼出しコマンドをICカード2に送信する。ここで送信される決済シーケンス呼出しコマンドには、現在時刻、決済額、サービスIDを表す情報がコマンドパラメータとして付加される。
ステップS75において、ICカード2のプリペイド電子マネーオブジェクト51は、リーダ/ライタ41から送信されてきた決済シーケンス呼出しコマンドを受信し、コマンドパラメータとして送信されてきたサービスIDにより特定されるサービスデータ構造31の処理シーケンス領域63に格納されているプログラムを実行することによって決済シーケンスを呼び出す。これ以降の処理は、呼び出された決済シーケンスに従って行われる。
ステップS76において、プリペイド電子マネーオブジェクト51は決済実行条件の確認を行う。例えば、リーダ/ライタ41からコマンドパラメータとして送信されてきた決済額が、領域82に格納される情報により表される決済額の範囲内の額であるか否かが確認され、その範囲内の額であることが確認された場合、処理はステップS77に進む。
ステップS77において、プリペイド電子マネーオブジェクト51はサービスデータ構造の有効期限の確認を行う。例えば、リーダ/ライタ41からコマンドパラメータとして送信されてきた現在時刻が、データ格納領域68に格納される値により表されるサービスデータ構造31の有効期限内の時刻であるか否かが確認され、有効期限内の時刻であることが確認された場合、処理はステップS78に進む。
ステップS78において、プリペイド電子マネーオブジェクト51は電子マネーの残高の確認を行う。例えば、残高領域83に格納される情報により表される残高が確認された後、処理はステップS79に進む。
ステップS79において、プリペイド電子マネーオブジェクト51は決済処理を行う。例えば、残高領域83に格納されている情報により表される電子マネーの残高が、現在の残高から決済額を差し引いた額によって上書きされる。決済額を表す情報も、コマンドパラメータとしてリーダ/ライタ41から送信されてきている。
ステップS80において、プリペイド電子マネーオブジェクト51はアクセスログの書き出し処理を行う。例えば、アクセスログ記録領域94の所定の領域に、今回の決済処理のログを表す値が書き込まれる。
アクセスログの値の書き込みが成功したとき、プリペイド電子マネーオブジェクト51は、ステップS81において、アクセスログの書き出し処理が成功したことを表す情報である成功レスポンスをリーダ/ライタ41に送信する。
成功レスポンスがICカード2から送信されてきたとき、ステップS66において、リーダ/ライタ41はそれを受信し、これにより、決済シーケンスに従った一連の処理が終了する。
このように、ICカード2においては、リーダ/ライタから1つのコマンドが送信されてくることに応じて処理シーケンスが呼び出され、処理シーケンスに従って処理が進められる。
次に、図10、図11のフローチャートを参照して、決済シーケンスに従って行われるICカード2の一連の処理について詳細に説明する。
この処理は、ICカード2がリーダ/ライタ41にかざされ、相互認証コマンドがリーダ/ライタ41から送信されてきたときに開始される。相互認証コマンドが送信されてきたとき、ICカード2とリーダ/ライタ41の間では、ICカード2のサービスデータ構造31に割り当てられている権限鍵K1と、それに対応する鍵としてリーダ/ライタ41に割り当てられている権限鍵を用いた相互認証が行われる。
ステップS91において、ICカード2のプリペイド電子マネーオブジェクト51は、リーダ/ライタ41との間で行われていた相互認証が完了したか否かを判定し、相互認証が失敗したことなどから、相互認証が完了していないと判定した場合、ステップS92に進む。
ステップS92において、プリペイド電子マネーオブジェクト51は無応答処理を行い、処理を終了させる。
一方、ステップS91において、相互認証が完了したと判定した場合、ステップS93に進み、プリペイド電子マネーオブジェクト51は、リーダ/ライタ41から送信されてきた決済シーケンス呼出しコマンドに付加されているコマンドパラメータを取り出す。例えば、現在時刻、決済額を表す情報が取り出される。
ステップS94において、プリペイド電子マネーオブジェクト51は、リーダ/ライタ41からコマンドパラメータとして送信されてきた決済額が、領域82に格納される情報により表される決済額の範囲内の額であるか否かを確認することによって決済実行条件を満たしているか否かを判定する。
プリペイド電子マネーオブジェクト51は、ステップS94において、決済実行条件を満たしていないと判定した場合、ステップS95に進み、エラー処理を行った後、処理を終了させる。例えば、決済実行条件を満たしていないことがリーダ/ライタ41に通知され、そのことをユーザに通知するメッセージがリーダ/ライタ41において表示される。
一方、ステップS94において、決済実行条件を満たしていると判定した場合、ステップS96に進み、プリペイド電子マネーオブジェクト51は、リーダ/ライタ41からコマンドパラメータとして送信されてきた現在時刻が、データ格納領域68に格納される値により表されるサービスデータ構造31の有効期限内の時刻であるか否かを判定する。
プリペイド電子マネーオブジェクト51は、ステップS96において、現在時刻がサービスデータ構造31の有効期限内の時刻ではないと判定した場合、ステップS95に進み、エラー処理を行った後、処理を終了させる。例えば、有効期限を過ぎていることがリーダ/ライタ41に通知され、そのことをユーザに通知するメッセージがリーダ/ライタ41において表示される。
一方、ステップS96において、現在時刻がサービスデータ構造31の有効期限内の時刻であると判定した場合、ステップS97に進み、プリペイド電子マネーオブジェクト51は、残高領域83に格納される情報により表される残高を確認し、残高から決済額を減算した額が、残高制約領域84に格納される情報により表される残高の制約条件の範囲内の額であり、制約条件としての値(額)の範囲と値の種類を満たしているか否かを判定する。
ステップS97において、プリペイド電子マネーオブジェクト51は、残高から決済額を減算した額が、制約条件の値の範囲と値の種類を満たしていないと判定した場合、ステップS95に進み、エラー処理を行った後、処理を終了させる。例えば、残高の制約条件を満たしていないことがリーダ/ライタ41に通知され、そのことをユーザに通知するメッセージがリーダ/ライタ41において表示される。
一方、ステップS97において、残高から決済額を減算した額が、制約条件の値の範囲と値の種類を満たしていると判定した場合、プリペイド電子マネーオブジェクト51は、ステップS98に進み、残高領域83に格納されている情報により表される電子マネーの残高を、現在の残高から決済額を差し引いた額によって上書きし、決済を行う。
ステップS99において、プリペイド電子マネーオブジェクト51は、領域92に格納されている情報に基づいて、アクセスログの記録単位が決済シーケンスであるとして指定されているか否かを判定し、そのような指定がされていないと判定した場合、処理を終了させる。
一方、プリペイド電子マネーオブジェクト51は、ステップS99において、アクセスログの記録単位が決済シーケンスとして指定されていると判定した場合、ステップS100に進み、今回の決済の内容を表す値をアクセスログとしてアクセスログ記録領域94に記録する。
アクセスログの値の書き込みが成功したとき、ステップS101において、プリペイド電子マネーオブジェクト51は、アクセスログの書き出し処理が成功したことを表す情報である成功レスポンスをリーダ/ライタ41に送信し、処理を終了させる。
従来はリーダ/ライタ41側で行っていた決済実行条件の確認、サービス有効期限の確認、書き換える残高の算出などの処理を以上のようにしてICカード2側で行うようにすることにより、ICカード2とリーダ/ライタ41の間で行われる情報の受け渡しの回数を最小限の回数に抑えることができる。無線通信においてはデータの拡散性(漏洩性)が問題となり、データの送受信をできるだけ抑えるようにすることが求められるところ、このことについても優位性を得ることが可能となる。
また、ICカード2とリーダ/ライタ41の間で行われる通信は無線であるから、通信伝送路にノイズが混入することなどにより正しいパケットをICカード2が受信できないことが発生することがあり、それが発生した場合、リーダ/ライタ41は、コマンド毎にリトライ(再送要求)処理を行う必要があるが、その発生確率を減らすことができる。
さらに、決済シーケンスなどの一連の処理が複数のコマンドによってICカード2において実現される場合、リーダ/ライタ41が発生する磁界の到達範囲からICカード2が一連の処理の途中で離脱し、ICカード2の電力が途絶えてしまったときなどには、ICカード2が磁界の到達範囲に次に入ったときなどの所定のタイミングで、処理の途中の状態からの復帰処理(ロールバック処理)をリーダ/ライタ41は行う必要があるが、そのようなことの発生確率を減らすこともできる。
図12は、サービスデータ構造31の他の例を示す図である。
図12に示されるサービスデータ構造31は、残高領域83に格納される残高を表す情報に対して更新権限鍵K21が設定され、それが領域101に格納されている点を除いて図8に示されるサービスデータ構造31と同じである。
このようなサービスデータ構造を対象とした場合、残高の更新を伴うシーケンスである決済シーケンスやチャージシーケンスにおいては、残高の更新が行われる前、ICカード2とリーダ/ライタ41の間では、更新権限鍵K21と、更新権限鍵K21に対応する鍵としてリーダ/ライタ41に割り当てられた権限鍵を用いた相互認証が行われ、相互認証が成功したときに、残高領域83に格納されている情報の更新が可能とされる。
このように、サービスデータ構造や処理シーケンスに対してだけでなく、1つの領域に格納されているデータに対しても権限鍵を設定することが可能である。また、データの読み出しのための鍵、図12の更新権限鍵K21のようなデータの書き込みのための鍵といったように、目的に応じた権限鍵を設定することができる。従って、領域毎、目的毎に権限鍵を分けて設定することによって、1つの権限鍵が漏洩した際のセキュリティリスクを軽減することができる。
図13は、図6のサービスデータ構造32の例を示す図である。上述したように、サービスデータ構造32は、チケットアプリケーションに必要なデータを管理するサービスデータ構造であり、チケットオブジェクト52により管理される。
図13に示されるように、サービスデータ構造32は、基本的に、サービスID領域111、処理シーケンス領域112乃至118、および、サービスデータ構造内部の具体的なデータが格納される領域であるデータ格納領域119乃至121に分類される。
サービスID領域111は、アプリケーションの契約番号としてICカード2のユーザに割り当てられた番号に対応する値が格納される領域であり、1つのアプリケーション事業者のアプリケーション(図13の例ではチケットアプリケーション)内で一意の値が採番される。これにより、リーダ/ライタ41が発行するコマンドによってサービスデータ構造32が識別される。
処理シーケンス領域112乃至118は、リーダ/ライタ41から呼び出しが可能な処理ステップの集合を識別する値(処理シーケンスを記述したプログラム)が格納される領域である。
図13の例においては、処理シーケンス領域112乃至118には、決済単位書き込みシーケンス、決済実行条件確認シーケンス、決済シーケンス、決済単位確認シーケンス、履歴照会シーケンス、PINシーケンス、設定値変更シーケンスのそれぞれの処理シーケンスを記述したプログラムが格納されている。
決済単位書き込みシーケンスは、データ格納領域120の枚数領域136に格納されている値のチャージ(枚数を増やすこと)を行うための処理ステップを規定する。ここで、実現するアプリケーションがチケットアプリケーションである場合、決済とは、ICカード2のユーザがアプリケーションの提供を受けることの対価として、コンサートのチケット、交通機関を利用するためのチケットなどの電子的なチケットの残り枚数を減らすことをいう。
決済実行条件確認シーケンスは、決済実行条件の確認を行うための処理ステップを規定し、決済シーケンスは、枚数領域136に格納されている値により表されるチケットの減算(チケットの利用)を行うための処理ステップを規定する。
決済単位確認シーケンスは、決済がどのような情報を1単位として行われるのかを確認するための処理ステップを規定し、履歴照会シーケンスは、データ格納領域121に格納されている情報により表されるアクセスログの確認を行うための処理ステップを規定する。PINシーケンスは、サービスデータ構造32により管理されるデータに対して、PINによるアクセス制限を行う処理ステップ、および、アクセス制限を解除する処理ステップを規定し、設定値変更シーケンスは、データ格納領域119乃至121に格納されている値のうち、運用時に変更が可能とされている設定値を変更するための処理ステップを規定する。
また、図13の例においては、処理シーケンス領域112乃至118に格納されているプログラムに記述されるそれぞれの処理シーケンスには権限鍵K31乃至K37が設定されており、処理シーケンスを実行するためには、設定されているそれぞれの権限鍵K31乃至K37を用いた相互認証が成功していることが前提とされている。
データ格納領域119は、サービスデータ構造32全体の有効期限を表す情報が格納される領域である。
データ格納領域120は、決済に関する各種の情報が格納される領域であり、決済実行条件領域131、領域132、領域133、領域134、領域135、枚数領域136、枚数制約領域137、領域138、PIN用データ領域139、および任意データ領域140から構成される。
決済実行条件領域131は、決済を行う際の制約条件を表す情報が格納される領域である。決済の条件として、例えば、チケットの有効期限を表す情報が領域132に、チケットの有効場所(劇場、端末など)を表す情報が領域133に、「1回の決済で電子的なチケットを3枚分の減算する」といったような、何枚単位でチケットを消費するかの決済単位を表す情報が領域134に、任意の情報が領域135にそれぞれ格納される。
枚数領域136は、電子的なチケットの残り枚数を表す情報が格納される領域であり、枚数制約領域137は、電子的なチケットの残り枚数に対する制約条件を表す情報が格納される。枚数に対する制約条件として、例えば、「チケットの残り枚数は0枚以上、10枚以下であること」といった、枚数の範囲を表す情報などが領域138に格納される。
PIN用データ領域139は、PIN認証の際に用いられるPINに関する情報が格納される領域であり、任意データ領域140は、アプリケーション事業者が任意に設定可能なデータが格納される領域である。
データ格納領域121は、アクセスログに関する情報が格納される領域であり、アクセスログ設定値領域151、領域152、領域153、およびアクセスログ記録領域154から構成される。データ格納領域121の構成は、図8のデータ格納領域70の構成と同じである。
すなわち、アクセスログ設定値領域151の領域152は、アクセスログの記録単位を表す情報が格納される領域であり、領域153は、記録件数を表す情報などが格納される領域である。アクセスログ記録領域154は、アクセスログがFIFO方式で記録される領域である。
図14は、図6のサービスデータ構造32の他の例を示す図である。
図14の例においては、図13のデータ格納領域120には1つだけ示されている決済単位が5つ示されている。図14に示される決済単位は、コンサートの電子的なチケットを表す情報、交通機関の電子的なチケットを表す情報といったようにそれぞれ異なるアプリケーションの提供を受けるときに使われるものである。決済シーケンスでは、リーダ/ライタ41から送信されてきたコマンドパラメータによって、対象となる決済単位が特定され、決済が行われる。
このように、「格納可能な決済単位数」のサービス定義項目が「複数」(図4)として設定されているチケットアプリケーションにおいては、複数の決済単位を1つのサービスデータ構造32によって管理させるようにすることも可能である。
以上においては、主に、プリペイド電子マネーアプリケーションとチケットアプリケーションを実現する場合のサービスデータ構造について説明したが、同様のサービスデータ構造を、各種の権利を表す情報を管理する際に用いることもできる。例えば、鉄道定期券、鉄道乗車券、ポイントカード、スタンプカード、クーポン券、劇場鑑賞券、回数券、電子マネー、クレジットカード、キャッシュカード、デビットカード、社員証、保証書、ドアの鍵、本人確認証明書、アクセスコントロールカード等により表される権利を管理することに適用することができる。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図15は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。
CPU(Central Processing Unit)201は、ROM(Read Only Memory)202、または記憶部208に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
CPU201にはまた、バス204を介して入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行する。そして、CPU201は、処理の結果を出力部207に出力する。
入出力インタフェース205に接続されている記憶部208は、例えばハードディスクからなり、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
入出力インタフェース205に接続されているドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部208に転送され、記憶される。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図15に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211、または、プログラムが一時的もしくは永続的に格納されるROM202や、記憶部208を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部209を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
従来のサービス発行方式について説明する図である。 従来のICカードとリーダ/ライタの間で行われる処理について説明するフローチャートである。 本発明の一実施形態に係る情報処理システムにおけるサービスの発行方式について説明する図である。 アプリケーション毎のデータ構造を表す情報の例を示す図である。 サービス発行時に行われる処理について説明するフローチャートである。 サービスデータ構造の例を示す図である。 アプリケーション運用時の基本的なシステム構成の例を示す図である。 図6のサービスデータ構造31の例を示す図である。 ICカードとリーダ/ライタの間で行われる処理について説明するフローチャートである。 決済シーケンスに従って行われるICカードの処理について説明するフローチャートである。 決済シーケンスに従って行われるICカードの処理について説明する、図10に続くフローチャートである。 図6のサービスデータ構造31の他の例を示す図である。 図6のサービスデータ構造32の例を示す図である。 図6のサービスデータ構造32の他の例を示す図である。 パーソナルコンピュータの構成例を示すブロック図である。
符号の説明
1 サービス発行システム, 2 ICカード, 11 サービス発行端末, 21 サービス発行機能, 22 ファイルシステム, 23 サービス定義データベース, 41 リーダ/ライタ, 51 プリペイド電子マネーオブジェクト, 52 チケットオブジェクト, 53 サービスオブジェクト

Claims (6)

  1. コマンドが送信されてくることに応じて処理を行うICチップが搭載される電子機器において、
    処理シーケンスを記述したプログラムと、処理シーケンスに従って行われるそれぞれの処理によって読み書きされるデータの構造を表す情報とを、提供事業者によって提供されるアプリケーションに対応付けて記憶する記憶手段と、
    外部の端末から送信されてきたコマンドに付加される識別子により識別されるアプリケーションに対応付けて記憶されている前記プログラムとデータの構造を表す前記情報とを前記記憶手段から取得し、取得した前記プログラムに記述される処理シーケンスに従った処理によって読み書きの対象になるデータを、前記記憶手段から取得した前記情報によって表される構造を有するデータとして管理する管理手段と
    を備える電子機器。
  2. 所定のアプリケーションの提供をユーザが受けるときに利用されるものとして用意されるリーダライタからコマンドが送信されてくることに応じて、前記記憶手段から取得した前記プログラムに記述される処理シーケンスに従った処理を行い、前記記憶手段から取得した前記情報によって構造が表されるデータの読み書きを制御する制御手段をさらに備える
    請求項1に記載の電子機器。
  3. 前記管理手段は、前記記憶手段から取得したそれぞれの前記プログラムに記述される処理シーケンスに対して権限鍵を設定し、
    前記制御手段は、前記リーダライタからコマンドが送信されてくることに応じて所定の処理シーケンスに従った処理を行う場合、処理を行う前に、前記所定の処理シーケンスに対して設定されている権限鍵を用いて、前記リーダライタとの間で相互認証を行う
    請求項2に記載の電子機器。
  4. 前記管理手段は、読み書きの対象になるデータを構成する、内容の異なるそれぞれのデータに対して権限鍵を設定し、
    前記制御手段は、前記リーダライタからコマンドが送信されてくることに応じて所定の処理シーケンスに従った処理を行う場合、処理を行う前に、前記所定の処理シーケンスに従った処理によって読み書きの対象になるデータに対して設定されている権限鍵を用いて、前記リーダライタとの間で相互認証を行う
    請求項2に記載の電子機器。
  5. 処理シーケンスを記述したプログラムと、処理シーケンスに従って行われるそれぞれの処理によって読み書きされるデータの構造を表す情報とを、提供事業者によって提供されるアプリケーションに対応付けて記憶する記憶手段を備え、コマンドが送信されてくることに応じて処理を行うICチップが搭載される電子機器の情報処理方法において、
    外部の端末から送信されてきたコマンドに付加される識別子により識別されるアプリケーションに対応付けて記憶されている前記プログラムとデータの構造を表す前記情報とを前記記憶手段から取得し、
    取得した前記プログラムに記述される処理シーケンスに従った処理によって読み書きの対象になるデータを、前記記憶手段から取得した前記情報によって表される構造を有するデータとして管理する
    ステップを含む情報処理方法。
  6. 処理シーケンスを記述したプログラムと、処理シーケンスに従って行われるそれぞれの処理によって読み書きされるデータの構造を表す情報とを、提供事業者によって提供されるアプリケーションに対応付けて記憶する記憶手段とを備え、コマンドが送信されてくることに応じて処理を行うICチップが搭載される電子機器の情報処理を制御するコンピュータに実行させるプログラムにおいて、
    外部の端末から送信されてきたコマンドに付加される識別子により識別されるアプリケーションに対応付けて記憶されている前記プログラムとデータの構造を表す前記情報とを前記記憶手段から取得し、
    取得した前記プログラムに記述される処理シーケンスに従った処理によって読み書きの対象になるデータを、前記記憶手段から取得した前記情報によって表される構造を有するデータとして管理する
    ステップを含むプログラム。
JP2006204825A 2006-07-27 2006-07-27 電子機器、情報処理方法、およびプログラム Active JP4702628B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006204825A JP4702628B2 (ja) 2006-07-27 2006-07-27 電子機器、情報処理方法、およびプログラム
EP07791424A EP2048600A4 (en) 2006-07-27 2007-07-27 ELECTRONIC DEVICE, INFORMATION PROCESSING AND PROGRAM
CN200780036278.2A CN101523418B (zh) 2006-07-27 2007-07-27 电子装置、信息处理方法、以及程序
PCT/JP2007/064730 WO2008013251A1 (fr) 2006-07-27 2007-07-27 Dispositif électronique, procédé et logiciel de traitement d'informations
KR1020097001556A KR20090046797A (ko) 2006-07-27 2007-07-27 전자기기, 정보처리방법, 및 프로그램
US12/309,475 US8756702B2 (en) 2006-07-27 2007-07-27 Electronic apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006204825A JP4702628B2 (ja) 2006-07-27 2006-07-27 電子機器、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2008033529A true JP2008033529A (ja) 2008-02-14
JP4702628B2 JP4702628B2 (ja) 2011-06-15

Family

ID=38981560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006204825A Active JP4702628B2 (ja) 2006-07-27 2006-07-27 電子機器、情報処理方法、およびプログラム

Country Status (6)

Country Link
US (1) US8756702B2 (ja)
EP (1) EP2048600A4 (ja)
JP (1) JP4702628B2 (ja)
KR (1) KR20090046797A (ja)
CN (1) CN101523418B (ja)
WO (1) WO2008013251A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012064038A (ja) * 2010-09-16 2012-03-29 Toshiba Corp 携帯可能電子装置、及び携帯可能電子装置の制御方法
JP2014160499A (ja) * 2014-04-21 2014-09-04 Toshiba Corp 携帯可能電子装置、及び携帯可能電子装置の制御方法
JP2016048576A (ja) * 2015-12-01 2016-04-07 株式会社東芝 電子装置、及び電子装置の制御方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011068448A1 (en) * 2009-12-04 2011-06-09 Telefonaktiebolaget L M Ericsson (Publ) Methods, secure element, server, computer programs and computer program products for improved application management
US8797144B2 (en) * 2011-10-31 2014-08-05 Eastman Kodak Company Authorizing RFID reader and inhibiting skimming
JP5910297B2 (ja) * 2012-01-17 2016-04-27 ソニー株式会社 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム
CN102801529B (zh) * 2012-08-27 2015-11-04 飞天诚信科技股份有限公司 一种卡片安全通讯的方法
CN104660589B (zh) * 2015-01-20 2021-09-10 中兴通讯股份有限公司 一种对信息进行加密控制、解析信息的方法、系统和终端
JP6953703B2 (ja) * 2016-10-19 2021-10-27 株式会社リコー システム、情報処理方法、情報処理装置、プログラム
TWI753146B (zh) * 2017-04-14 2022-01-21 日商索尼股份有限公司 非接觸通訊裝置及通訊系統
US10014056B1 (en) * 2017-05-18 2018-07-03 Sandisk Technologies Llc Changing storage parameters
JP7227041B2 (ja) * 2019-03-15 2023-02-21 東芝テック株式会社 決済装置及びその制御プログラム
WO2020191454A1 (en) * 2019-03-27 2020-10-01 Xard Group Pty Ltd Transaction application with a tokenized identifier

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002056360A (ja) * 2000-08-11 2002-02-20 Hitachi Ltd Icカードシステム及びicカード

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5461217A (en) * 1994-02-08 1995-10-24 At&T Ipm Corp. Secure money transfer techniques using smart cards
ATE152539T1 (de) * 1994-02-08 1997-05-15 Belle Gate Invest Bv Datenauswechselsystem mit tragbaren datenverarbeitungseinheiten
EP0798673A1 (en) * 1996-03-29 1997-10-01 Koninklijke KPN N.V. Method of securely loading commands in a smart card
US6220510B1 (en) * 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
JPH11120300A (ja) * 1997-10-09 1999-04-30 Fujitsu Ltd 可搬型カード媒体,可搬型カード媒体のメモリ空間管理方法,可搬型カード媒体の発行方法および可搬型カード媒体のプログラムデータ書込方法並びにメモリ空間管理プログラムが記録されたコンピュータ読取可能な記録媒体
US6256690B1 (en) * 1999-01-15 2001-07-03 Todd Carper System and method for facilitating multiple applications on a smart card
JP2002298105A (ja) * 2001-03-30 2002-10-11 Sony Corp データ記憶装置および方法、情報処理装置および方法、記録媒体、並びにプログラム
JP4602606B2 (ja) * 2001-08-15 2010-12-22 ソニー株式会社 認証処理システム、認証処理方法、および認証デバイス、並びにコンピュータ・プログラム
US7496527B2 (en) * 2002-11-05 2009-02-24 Barmonger, Llc Remote purchasing system, method and program
JP2005285056A (ja) 2004-03-31 2005-10-13 Hitachi Ltd 認証システム、データ管理方法、および電子鍵システム
JP2005316992A (ja) 2004-04-02 2005-11-10 Matsushita Electric Ind Co Ltd カードアプリケーション間の連携処理を行うセキュアデバイスと携帯端末
JP2007004522A (ja) * 2005-06-24 2007-01-11 Renesas Technology Corp 記憶装置
CN2836108Y (zh) * 2005-08-19 2006-11-08 北京迅捷瑞通商务技术有限公司 一种带有非接触卡式mdb控制器的自动咖啡机
EP2033145B1 (en) * 2006-06-15 2011-04-06 Kabushiki Kaisha Toshiba Portable electronic device and control method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002056360A (ja) * 2000-08-11 2002-02-20 Hitachi Ltd Icカードシステム及びicカード

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012064038A (ja) * 2010-09-16 2012-03-29 Toshiba Corp 携帯可能電子装置、及び携帯可能電子装置の制御方法
JP2014160499A (ja) * 2014-04-21 2014-09-04 Toshiba Corp 携帯可能電子装置、及び携帯可能電子装置の制御方法
JP2016048576A (ja) * 2015-12-01 2016-04-07 株式会社東芝 電子装置、及び電子装置の制御方法

Also Published As

Publication number Publication date
EP2048600A1 (en) 2009-04-15
EP2048600A4 (en) 2009-12-30
WO2008013251A1 (fr) 2008-01-31
US8756702B2 (en) 2014-06-17
US20100049977A1 (en) 2010-02-25
CN101523418A (zh) 2009-09-02
KR20090046797A (ko) 2009-05-11
JP4702628B2 (ja) 2011-06-15
CN101523418B (zh) 2016-08-31

Similar Documents

Publication Publication Date Title
JP4702628B2 (ja) 電子機器、情報処理方法、およびプログラム
RU2562416C2 (ru) Беспроводное управление прикладной программой оплаты, установленной в мобильном устройстве
EP1117077B1 (en) Information processing system, portable electronic device, access apparatus for the portable electronic device, and method of using memory space
KR20100045059A (ko) 결제계좌와 연계된 복수의 가맹점카드 별 가상계좌 운영방법 및 시스템과 이를 위한 기록매체
WO2005076204A1 (en) Smart card for containing plural issuer security domain and method for installing plural issuer security domain in a smart card
US20100024025A1 (en) Authentication system and authentication server device
JP5150116B2 (ja) Icカード及び読み書き装置
KR20110029031A (ko) 전자서명을 이용한 금융거래 인증방법 및 시스템과 이를 위한 기록매체
KR101156664B1 (ko) 무선 정보 제공 방법
JP2009230215A (ja) Icカードおよびicカードに用いられるアプリケーションプログラムの制御方法
JP4599899B2 (ja) 情報管理装置及び情報管理方法
JP2005218029A (ja) カードアプリケーション間のデータ交換を行うセキュアデバイス及び携帯端末
JP2007025907A (ja) 認証システム及び認証方法
KR101083210B1 (ko) 불법사용 방지 기능을 제공하는 공인 인증서 운용방법 및 시스템과 이를 위한 기록매체
KR102196337B1 (ko) 클라우드 방식 인증서 운영 방법
JP4309068B2 (ja) カードデータ処理装置
KR20060085134A (ko) 대출신청방법 및 시스템과 이를 위한 기록매체
KR20170001457A (ko) 스마트폰을 이용한 사이버 머니 결제 인증 방법
KR101642219B1 (ko) 결제수단 등록 방법
KR101582279B1 (ko) 무선단말장치를 이용한 서비스 제공 방법
KR20110029039A (ko) 복수의 공인 인증서 비밀번호 운용방법 및 시스템과 이를 위한 기록매체
KR20180022743A (ko) 무선단말을 이용한 서비스 제공 방법
EP1204080A1 (en) Method and system for adding a service to an apparatus comprising a memory and a processor
KR20090001912A (ko) 기업 예산집행 방법 및 시스템과 이를 위한 프로그램기록매체
KR20170092499A (ko) 무선단말을 이용한 서비스 제공 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100916

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110223

R151 Written notification of patent or utility model registration

Ref document number: 4702628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250