Nothing Special   »   [go: up one dir, main page]

JP4828809B2 - Icカードおよびicカードにおける処理方法 - Google Patents

Icカードおよびicカードにおける処理方法 Download PDF

Info

Publication number
JP4828809B2
JP4828809B2 JP2004238602A JP2004238602A JP4828809B2 JP 4828809 B2 JP4828809 B2 JP 4828809B2 JP 2004238602 A JP2004238602 A JP 2004238602A JP 2004238602 A JP2004238602 A JP 2004238602A JP 4828809 B2 JP4828809 B2 JP 4828809B2
Authority
JP
Japan
Prior art keywords
command
logical channel
data
card
channel number
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.)
Expired - Lifetime
Application number
JP2004238602A
Other languages
English (en)
Other versions
JP2005196730A (ja
Inventor
量一 栗山
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 JP2004238602A priority Critical patent/JP4828809B2/ja
Priority to DE602004021226T priority patent/DE602004021226D1/de
Priority to EP04028699A priority patent/EP1544809B1/en
Priority to EP09005771A priority patent/EP2093719A1/en
Priority to SG200407603A priority patent/SG112997A1/en
Priority to KR1020040102096A priority patent/KR100614064B1/ko
Priority to US11/006,784 priority patent/US7434066B2/en
Publication of JP2005196730A publication Critical patent/JP2005196730A/ja
Application granted granted Critical
Publication of JP4828809B2 publication Critical patent/JP4828809B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/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
    • 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/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、たとえば、データの書込み、書換えが可能な不揮発性メモリおよびCPUなどの制御素子を有し、外部からのデータの入出力を行なう手段を備えたICチップを内蔵した、いわゆるICカードと称される携帯可能電子装置に関する。
一般に、この種のICカードにあっては、国際標準仕様であるISO/IEC7816−4により、リニアEF(エレメンタリファイル:Elementary File)およびサイクリックEFは、リードやレコードなどのコマンドでアクセスを行ない、アクセス方法についてはポインタ情報としてのレコードポインタ(Record Pointer)などによることが記述されている。
例えば、ISO/IEC7816−4では、ロジカルチャネル(論理チャネル)により、複数のカレント状態を持つことが規定されているが、ロジカルチャネルごとのレコードポインタの動作については詳細に規定されていない。
また、従来のICカードでは、認証処理に使用するデータを論理チャネルごとに保持することができない。つまり、認証コマンド及び認証コマンドに使用するデータを要求するコマンドをサポートする従来のICカードでは、認証に使用するデータが複数の論理チャンネルで共通となっている。
例えば、ISO / IEC 7816−4に規定される“External Authenticate”コマンドと“Get Challenge”コマンドを使用して認証処理を行なう場合、従来のICカードでは、ロジカルチャネル#1で実行した“Get Challenge”コマンドによるChallengeデータ(乱数データ)がロジカルチャネル#2でも使用できる。これは、ロジカルチャネルをアプリケーション毎に割り付けた場合、アプリケーション1で発生させたChallengeデータをアプリケーション2でも使用できることを意味する。
ISO7816−4
従来のICカードでは、各ロジカルチャネルに共通でレコードポインタを使用していたため、ロジカルチャネルを、ロジカルチャネル番号#1→#2→#1と使用した場合、ロジカルチャネル#1のレコードポインタの状態がロジカルチャネル#2で変更されてしまうという問題点がある。
そこで、本発明は、ロジカルチャネルごとにポインタ情報を持つことによりロジカルチャネルごとのポインタ情報管理が可能になる携帯可能電子装置を提供することを目的とする。
また、従来のICカードでは、ロジカルチャネル#1で保持しているデータがロジカルチャネル#2でも使用されてしまう問題がある。例えば、ロジカルチャネルをアプリケーション毎に割り付けた場合、アプリケーション1で発生させたChallengeデータをアプリケーション2でも使用できることを意味する。これは、セキュリティ上好ましくないという問題がある。さらに、Challengeデータをロジカルチャネル#1で発生させた後に、ロジカルチャネル#2でもChallengeデータを発生させた場合、ロジカルチャネル#1で発生させたChallengeデータは、ロジカルチャネル#2で発生させたChallengeデータに変更されてしまう問題がある。
そこで、本発明は、ロジカルチャネル毎に、認証のためのデータを保持することができ、ロジカルチャネル毎の認証処理および認証処理のデータ管理が可能になるICカードおよびICカードにおける処理方法を提供することを目的とする。
本発明のICカードは、外部装置からコマンドが入力されると、このコマンドに対応した処理を実行するものにおいて、それぞれが複数のレコードデータ領域に分割された複数のファイルを記憶する第1のメモリと、この第1のメモリに記憶したファイルに対してカレント状態となっているレコードデータ領域を示すポインタ情報を複数の論理チャネル番号のそれぞれに対応づけて記憶する第2のメモリと、外部装置と通信する通信手段と、この通信手段により外部装置から論理チャネル番号を含むコマンドを受信すると、当該コマンドに含まれる論理チャネル番号の論理チャネルにおいて前記複数のファイル内から1つのファイルを選択するファイル選択手段と、このファイル選択手段により選択されたファイルに対して前記コマンドで指定された論理チャネルでカレント状態となっているレコードデータ領域を示すポインタ情報を前記第2のメモリに記憶した情報に基づいて判定し、判定したポインタ情報に基づいて特定されるレコードデータ領域をアクセス対象とする処理手段とを有する。
この発明のICカードは、外部から入力されるコマンドに応じて種々の処理を実行する制御素子を有するものにおいて、外部からの論理チャネル番号を含む認証処理に使用するデータの生成を要求するコマンドに応じて、当該コマンドに含まれる論理チャネル番号での認証処理に使用するデータを生成するデータ生成手段と、このデータ生成手段により生成したデータを当該コマンドに含まれる論理チャネル番号での認証処理に使用するデータとして当該コマンドに含まれる論理チャネル番号に対応づけて保持するデータ保持手段とを具備する。
本発明によれば、ロジカルチャネルごとにポインタ情報を持つことによりロジカルチャネルごとのポインタ情報管理が可能になるICカードおよびICカードにおける処理方法を提供できる。
また、本発明によれば、ロジカルチャネル毎に、認証のためのデータを保持することができ、ロジカルチャネル毎の認証処理および認証処理のデータ管理が可能になるICカードおよびICカードにおける処理方法を提供することを目的とする。
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本実施の形態に係るICカードの構成を概略的に示すものである。本ICカード100は、外部装置(カードリーダライタ)との間でデータの送受信を行なう通信手段としての通信部102、および、1つ(あるいは複数)のICチップ103から構成されている。
通信部102は、当該ICカード100が無線式ICカードの場合にはアンテナおよび送受信部として構成され、無線式カードリーダライタから送信された変調波を非接触で受信したり外部へ変調波を送信するようになっている。また、受信した変調波から内部回路に供給するための電源やクロックパルスを生成するようになっている。また、当該ICカード100が接触式ICカードの場合にはコンタクト部として構成され、カードリーダライタに設けられたICカード接触端子部と接触することにより、データの送受信を行なうとともに、電源やクロックパルスを得るようになっている。
ICチップ103は、制御手段としての制御素子(たとえばCPU)104、記憶手段としてのデータメモリ105、ワーキングメモリ106、および、プログラムメモリ107から構成され、通信部102と接続された状態でICカード本体内に埋設されている。
データメモリ105は、各種データの記憶に使用され、たとえば、EEPROM(エレクトリカリ・イレーザブル・アンド・プログラマブル・リード・オンリ・メモリ)などの書換え可能な不揮発性メモリで構成されている。
ワーキングメモリ106は、制御素子104が処理を行なう際の処理データなどを一時的に保持するための作業用メモリであり、たとえば、RAM(ランダム・アクセス・メモリ)などの揮発性メモリで構成されている。
プログラムメモリ107は、たとえば、マスクROM(リード・オンリ・メモリ)などの書換え不可能な固定メモリで構成されており、各基本機能を実現するサブルーチンを備えた制御素子104の制御プログラムなどを記憶している。
データメモリ105は、たとえば、図2に示すようなファイル構造でデータが記憶される。このファイル構造は、ISO/IEC7816−4に基づき、色々なフォルダの種類を持ったディレクトリのツリー構造になっており、複数のアプリケーションが登録可能である。
図2に示すように、最上位がMF(Master File)201で、その配下に、データを格納するEF(Elementary File)202,203、および、各アプリケーションごとに設定されるフォルダとしてDF(Dedicated File)204,205が設けられているとともに、DF204の配下に、DF206,207が設けられ、さらに、これらDF204,205,206,207の配下に、ユーザデータの格納などに使用されるEF208,209,210,211,212,213,214,215,216が設けられている構成になっている。
なお、以降、MF201をMF、EF202,203をEF1,EF2、DF204,205をDF1,DF2、DF206,207をDF1−1,DF1−2、EF208,209をEF1−1,EF1−2、EF210,211,212をEF2−1,EF2−2,EF2−3、EF213,214をEF1−1−1,EF1−1−2、EF215,216をEF1−2−1,EF1−2−2、とも称す。
以下、本発明に係るロジカルチャネルごとのレコードポインタの管理について詳細に説明する。
EF(Elementary File)には、リニアタイプおよびサイクリックタイプの2種類のタイプのファイルが存在する。また、レコード番号でアクセスする場合の第1レコード(レコードデータ)は、EFのタイプにより下記の2種類になる。
・リニアタイプの場合 :最初のデータのレコード
・サイクリックタイプの場合:最終のデータのレコード
EFのレコード参照方法は下記(a)(b)(c)の3種類の方法があるが、本発明では(b)(c)の参照方法をロジカルチャネルごとに可能としたものである。
(a)レコード番号
EF内に格納されたレコードには、内部的にレコード番号が付与される。このレコード番号により、レコードの読出し、書換えが可能である。
(b)レコードポインタによるアクセス(ネクスト/プレビアス モード)
レコードポインタを基点とした相対位置のレコードの読出し、書換えを行なうものである。処理が成功すると、レコードポインタは処理を実施したレコードを示す。この相対位置とは、
・カレントレコードの前のレコード
・カレントレコードの次のレコード
である。
(c)レコードポインタ指定によるアクセス
レコードポインタの示すレコードをアクセスする。
上記の(a)(b)(c)を踏まえて、レコードポインタの位置と参照されるレコードを以下に説明する。図3に示すように、レコードポインタはワーキングメモリ106内に、当該ICカードがサポートしているロジカルチャンネル番号(#0、#1、#2、#3)ごとに格納されている。ここに、レコードポインタには、レコード番号が格納されている。この例では、ロジカルチャネル#0のレコードポインタはレコードR6である。このため、レコードポインタはレコード番号である「R6」を示している。ロジカルチャネル#2のレコードポインタはR10であり、ロジカルチャネル#3のレコードポインタはR1である。
なお、ロジカルチャネル#1のレコードポインタは「0」を示しているので、設定されていない状態を示している。「0」はレコードポインタが設定されていないとする。
図4にEFの一例を示すように、ロジカルチャネル#0の場合だと、「前(プレビアス)」を指定すると、レコードポインタが示すレコードの前にあるレコードR5がアクセス対象となり、「次(ネクスト)」を指定すると、レコードポインタが示すレコードの後にあるレコードR7がアクセス対象となる。アクセスが成功すると、レコードポインタが示すレコードはアクセスをしたレコード番号に変更される。このような処理がロジカルチャネルごとに実施できる。このように、レコードポインタで示すレコードをカレントレコードとする。
次に、カレントレコードの遷移について説明する。
前述したように、EF内のレコードの参照には以下の3種類の方法がある。
(1)レコード番号指定によるレコードのアクセス
(2)ネクスト(Next)/プレビアス(Previous) モード(Mode)指定によるレコードのアクセス
(3)レコードポインタによるレコードのアクセス
ここで、カレントレコードとは、当該EFに対してアクセスを行なった場合に、以下の規則にしたがって一時的にカレント状態となるレコードのことである。カレントレコードは、内部的に管理されるレコードポインタにより指示される。
なお、本規則においての“ポインタが初期化される”状態とは、カレントレコードが存在しない状態である。すなわち、レコードポインタの示すデータが「0」となる。
規則1:EFがセレクトファイル(SELECT FILE)コマンドにより選択された場合、ポインタは初期化される。
規則2:EFに対してネクスト/プレビアス モードを指定するコマンドを実行し、正常に終了した場合、レコードポインタは対象となったレコードに移動する。
規則3:コマンドが正常に終了されなかった場合にはポインタの移動は行なわない。
規則4:EF内のレコードR1にレコードポインタがある場合、次のプレビアス処理ではエラーステータスが出力され、レコードポインタは移動しない。
規則5:EF内の最終レコードRn(最大値)にレコードポインタがある場合、次のネクスト処理ではエラーステータスが出力され、レコードポインタは移動しない。
次に、ISO/IEC7816−4に規定されているロジカルチャネルについて説明する。本実施の形態では、図3に示すように4個のロジカルチャネル(#0、#1、#2、#3)をサポートしている。
なお、ロジカルチャネル番号の#0〜#3を使用する場合は、ISO/IEC7816−4で定義されている、manage channelコマンドにより使用可能な状態となる。#0は、常時使用可能である。ロジカルチャネル番号の#1〜#3を使用する場合は、予めmanage channelコマンドにより使用するロジカルチャネル番号を使用可能な状態にする必要がある。
ロジカルチャネル番号はセレクトファイルコマンドにより各DFに設定され、このロジカルチャネル番号を各コマンドのCLAバイト中にコーディングすることにより、どのDFまたはEFに対してのアクセスコマンドであるかの判断をすることができる。以下、図5を用いてロジカルチャネルの概念を説明する。
図5の状態において、MF配下のEF(たとえば、EF1とする)をアクセスする場合には、ロジカルチャネル番号#0を使用して以下のようなコマンドをコーディングする。なお、「#*」にてロジカルチャネル番号を、「<**>」にてEF−ID(EF番号)あるいはDF−ID(DF番号)を表現する。
#0 Select File → EF1をカレント状態とする。
#0 Read Record → EF1内のレコードを読出す(カレントEF指定)
このとき、他のDFはカレント状態になっていないので、アクセス状態とならない。
次に、DF1に対してロジカルチャネル番号#1を割り当てることを図6を用いて説明する。
コマンドは以下のようにコーディングする。
#0 Select File<AAAA> → DF1をカレント状態にし、かつ、ロジカルチャネル番号#0を割り当てる。
#1 Select File<AAAA> → DF1をカレント状態にし、かつ、ロジカルチャネル番号#1を割り当てる。
この状態では、DF1配下のEFをロジカルチャネル番号#0と#1でそれぞれアクセスすることが可能である。
DF1配下のEF1−1(たとえば、図4のEFとする)を対象として読出す場合には、コマンドを以下の様にコーディングする。
(1-1) #0 Select File<01>
(1-2) #0 Read Record → EF1−1内、次レコードモードでレコードを読出す。この場合、図3のロジカルチャネル番号は#0、レコードポンタはR1となる。
(2-1) #1 Select File<01>
(2-2) #1 Read Record → EF1−1内、次レコードモードでレコードを読出す。この場合、図3のロジカルチャネル番号は#1、レコードポンタはR1となる。
(3) #0 Read Record → EF1−1内、次レコードモードでレコードを読出す。この場合、図3のロジカルチャネル番号は#0、レコードポンタはR2となる。
(4) #1 Read Record → EF1−1内、カレントレコードを読出す((2-2) と同じレコード)。この場合、図3のロジカルチャネル番号は#1、レコードポンタはR1となる。
(5) #0 Read Record → EF1−1内、カレントレコードを読出す((3) と同じレコード)。この場合、図3のロジカルチャネル番号は#0、レコードポンタはR2となる。
ここに、各コマンドで使用されるロジカルチャネル番号は、ISO/IEC7816−4にしたがいコマンドのCLAバイト(CLAデータ)中の以下の位置にコーディングされる。
図7に示すように、CLAバイトは、8ビットで構成される。CLAバイトにおいて、第1ビット(b1)及び第2ビット(b2)は、当該コマンドのロジカルチャネル番号を指定するものである。すなわち、図7に示すように、CLAバイトの第2ビット(b2)および第1ビット(b1)により使用するロジカルチャネル番号を表示する。したがって、「00」、「01」、「10」、「11」の最大4個のロジカルチャネル番号が設定可能である。本実施の形態では、「b2、b1」が「00」、「01」、「10」、「11」である場合、ロジカルチャネル番号「♯0」、「♯1」、「♯2」、「♯3」を指定するものとする。
また、CLAバイトの第3ビット(b3)及び第4ビット(b4)は、セキュアメッセージング機能指示ビット(SMデータ)である。なお、本実施の形態では、「b4、b3」が「00」であるものとする。CLAバイトの第5ビット(b5)、第6ビット(b6)、第7ビット(b7)及び第8ビット(b8)は、CLAコードと呼ばれ、コマンドのランクを示すデータである。例えば、CLAコードが「0000」である場合、ISOに準拠するコマンドであることを示し、「0000」でない場合、ISOに準拠しないコマンド(ISO以外のコマンド)であることを示している。
なお、ロジカルチャネル番号の#0〜#3を使用する場合は、ISO/IEC7816−4で定義されている、manage channelコマンドにより使用可能な状態となる。#0は、常時使用可能である。ロジカルチャネル番号の#1〜#3を使用する場合は、予めmanage channelコマンドにより使用するロジカルチャネル番号を使用可能な状態にする必要がある。
次に、本ICカードの認証処理について説明する。
以下の説明では、ICカード100と外部装置としての端末(センタ)との間における認証処理について説明する。
図8は、ICカード100と外部装置としての端末(センタ)300とから構成されるICカードシステムの構成例を概略的に示す図である。図8に示すように、ICカードシステムは、ICカード100と端末300とが通信可能となっている。図8に示すICカード100は、例えば、図1に示すような構成を有する。また、上記端末300は、制御装置301及びカードリーダライタ302を有している。
上記端末300の制御装置301は、例えば、CPU、種々のメモリ及び種々のインターフェースを有するパーソナルコンピュータ(PC)等で構成される。上記制御装置301のCPUは、例えば、メモリ(図示しない)に記憶されているプログラムに基づいて演算処理あるいは各部の制御などを行なう。
上記カードリーダライタ302は、上記ICカード100との通信を行なうユニットである。上記カードリーダライタ302は、図示しないインターフェースを介して上記制御装置301に接続されている。上記カードリーダライタ302は、上記制御装置301の制御に基づいて動作する。
上記のような構成により、ICカードシステムでは、コマンドの送受信によって、端末300によるICカード100の認証処理、あるいは、ICカード100による端末300の認証処理が行われる。上記端末300によるICカード100の認証処理とは、外部装置がICカードを認証する処理である。また、上記ICカード100による端末300の認証処理とは、ICカード100が端末300を認証する処理である。
また、本実施の形態において、ICカード100と端末300との間の認証は、ISO/IEC7816−4により規定されている以下のコマンドを使用して実施するものとする。
a)“Internal Authenticate”コマンド
b)“External Authenticate”コマンド
c)“Get Challenge”コマンド
“Internal Authenticate”コマンドは、端末300によるICカード100の認証処理に用いられるコマンドである。また、“External Authenticate”コマンドは、ICカード100による端末300の認証処理に用いられるコマンドである。また、“Get Challenge”コマンドは、乱数を要求するコマンドである。“Get Challenge”コマンドに対しては、実行ごとにユニークな乱数が出力されるようになっている。
なお、本実施の形態では、端末300によるICカード100の認証処理は、“Internal Authenticate”コマンドと“Get Challenge”コマンドとを組み合わせて実行されるものとして説明する。また、ICカード100によるが端末300の認証処理は、“External Authenticate”コマンドと“Get Challenge”コマンドとを組み合わせて実行されるものとして説明する。
まず、端末300によるICカード100の認証処理について概略的に説明する。
端末300によるICカード100の認証処理では、端末300が既知としている認証キーをICカード100が所有しているか否かを判断する。ICカード100が認証キーを所有しているか否かは、ICカード100から出力される認証用データに基いて端末300が判断する。
図9は、端末300によるICカード100の認証処理を概略的に説明するための図である。
図9に示す端末300によるICカード100の認証処理は、以下に説明するステップ1からステップ10の手順によって行われる。
ステップ1:端末300は、“Get Challenge”コマンドをICカード100へ送信する。これにより、端末300は、ICカード100に乱数(チャレンジ)データの生成を要求する。
ステップ2:ICカード100は、端末300からの“Get Challenge”コマンドを受信する。Get Challenge”コマンドを受信したICカード100は、乱数データ(R2)を生成する。乱数データ(R2)を生成すると、ICカード100は、“Get Challenge”コマンドに対応するレスポンスデータとして乱数データ(R2)を端末300に返送する。なお、乱数データ(R2)は、後述するように、ICカード100内のワーキングメモリ106に論理チャネルごとに保持される。
ステップ3:端末300は、ICカード100からのレスポンスデータとしての乱数データ(R2)を受信する。“Get Challenge”コマンドのレスポンスデータとしての乱数データ(R2)を受信すると、端末300は、ICカード100を認証するための乱数データ(R1)を生成する。なお、これらの乱数データ(R1)及び(R2)は、端末300内に保持される。
ステップ4:端末300は、乱数データ(R1)を生成すると、“Internal Authenticate”コマンドを生成する。“Internal Authenticate”コマンドは、認証に必要なアルゴリズム(alg)、キーデータ(key−ID)および乱数データ(R1)等に基づいて生成される。すなわち、認証に必要なアルゴリズム(alg)、キーデータ(key−ID)および乱数データ(R1)は、“Internal Authenticate”コマンドのパラメータとして示される。このような“Internal Authenticate”コマンドを生成すると、端末300は、生成した“Internal Authenticate”コマンドをICカード100に送信する。
なお、“Internal Authenticate”コマンドで指定するアルゴリズム(alg)は、“Internal Authenticate”コマンドのキーデータ(key−ID)で指定される暗号化キーを用いて暗号化処理を行なうための暗号アルゴリズムを示すものである。
ステップ5:ICカード100は、端末300からの“Internal Authenticate”コマンドを受信する。“Internal Authenticate”コマンドを受信すると、ICカード100は、自身が生成した乱数データ(R2)と端末300が生成した乱数データ(R1)の値をXORする。ここでは、XORした値をD1とする。
ステップ6:ICカード100は、端末300からの“Internal Authenticate”コマンドにより指定されているアルゴリズム(alg)とキーデータ(key−ID)を判断する。つまり、ICカード100は、端末300からの“Internal Authenticate”コマンドに基づいて認証に必要なアルゴリズム(alg)とキーデータ(key−ID)とを判断する。図9に示す例では、キーデータは、暗号化キー(K2)であると判断している。認証に必要なアルゴリズムとキーデータとを判断すると、上記ICカード100は、アルゴリズムによりキーデータ(K2)を用いて上記ステップ5で算出した値D1を暗号化する。ここでは、D1を暗号化キー(K2)を用いて暗号化した値をC1とする。
ステップ7:ICカード100は、上記ステップ6で算出したC1を“Internal Authenticate”コマンドのレスポンスデータとして端末300に送信する。
ステップ8:端末300は、ICカード100からの“Internal Authenticate”コマンドのレスポンスデータとしてのC1を受信する。C1を受信すると、端末300は、“Internal Authenticate”コマンドでICカード100に通知したキーデータに対応する復号化キーを判断する。図9に示す例では、復号化キー(K1)であると判断している。また、復号化キー(K1)は、端末300が保持しているものとする。復号化キー(K1)を判断すると、端末300は、ICカード100から受信したC1を復号キー(K1)により復号化する。ここでは、C1を復号化キーK1を用いて復号化した値をD2とする。
Step9:端末300は、復号化キー(K1)を用いて復号化した値D2と、ICカード100が“Get Challenge”コマンドに対応して生成した乱数データ(R2)の値とをXORする。ここでは、D2の値と乱数データ(R2)とをXORした値をR1’とする。
Step10:D2と乱数データ(R2)とをXORした値R1’を算出すると、端末300は、ICカード100に出力した乱数データ(R1)とR1’とを比較する。この比較により乱数データ(R1)とR1’が一致した場合、端末300は、当該ICカード100を認証する(当該ICカード100が正当であると判断する)。また、上記比較により乱数データ(R1)とR1’が一致しなかった場合、端末300は、当該ICカード100を認証しない(当該ICカード100が正当でないと判断する)。
なお、“Internal Authenticate”コマンドにおいてアルゴリズム(暗号アルゴリズム)としてTriple DESを指定する場合、ICカード100の暗号化キー(K2)と端末300側の復号化キー(K1)は同一のものとなる。このような暗号化方式及び復号化方式は、ICカード100の暗号化キー(K2)と端末300側の復号化キー(K1)とが共に秘密キーとなる秘密鍵暗号方式である。
また、“Internal Authenticate”コマンドにおいてアルゴリズム(暗号アルゴリズム)としてRSAを指定する場合、ICカード100の暗号化キー(K1)と端末300側の復号化キー(K2)とは異なるものとなる。このような暗号化方式及び復号化方式は、ICカード100の暗号化キー(K2)が秘密キーとなり、端末300側の復号化キー(K1)が公開キーとなる公開鍵暗号方式である。
また、ICカード100あるいは端末300におけるXOR演算は、処理の一例を示すものであり、XOR演算に代えて他の演算を行なうようにしても良い。
次に、ICカード100による端末300の認証処理について概略的に説明する。
ICカード100による端末300の認証処理では、ICカード100が既知としている認証キーを端末300が所有しているか否かを判断する。端末300が認証キーを所有しているか否かは、端末300から出力される認証用データに基いてICカード100が判断する。
図10は、ICカード100による端末300の認証処理を概略的に説明するための図である。
図10に示すICカード100による端末300の認証処理は、以下に説明するステップ11からステップ17の手順によって行われる。
ステップ11:端末300は、“Get Challenge”コマンドをICカード100へ送信する。これにより、端末300は、ICカード100に乱数(チャレンジ)データの生成を要求する。
ステップ12:ICカード100は、端末300からの“Get Challenge”コマンドを受信する。“Get Challenge”コマンドを受信したICカード100は、乱数データ(R2)を生成する。乱数データ(R2)を生成すると、ICカード100は、“Get Challenge”コマンドに対応するレスポンスデータとして乱数データ(R2)を端末300に返送する。なお、乱数データ(R2)は、後述するように、ICカード100内のワーキングメモリ106に論理チャネルごとに保持される。
ステップ13:端末300は、ICカード100から“Get Challenge”コマンドのレスポンスデータとしての乱数データ(R2)を受信する。レスポンスデータとしての乱数データ(R2)を受信すると、端末300は、認証に必要なアルゴリズム(alg)とキーデータ(K1)とを決定する。ここで、認証に必要なアルゴリズムとは、暗号化を行なう暗号化アルゴリズムである。キーデータとは、暗号化アルゴリズムにより暗号化する際に必要な暗号化データである。
暗号化処理に用いるアルゴリズムとキーデータとを決定すると、端末300は、決定したアルゴリズムによりキーデータ(K1)を用いてICカード100から受信した乱数データ(R2)を暗号化する。ここでは、乱数データ(R2)を暗号化キー(K1)を用いて暗号化した値をC2とする。
ステップ14:乱数データ(R2)をキーデータ(K1)を用いて暗号化すると、端末300は、“External Authenticate”コマンドを生成する。“External Authenticate”コマンドは、認証に必要なアルゴリズム(alg)、キーデータ(key−ID)および暗号化処理の結果(C2)等に基づいて生成される。ここで、“External Authenticate”コマンドで示すアルゴリズムは、ICカード100で実行すべき復号化処理のアルゴリズムを指定するものである。また、“External Authenticate”コマンドで示すキーデータ(key−ID)は、ICカード100での復号化処理に用いるべき復号化キーを指定するものである。
すなわち、認証に必要なアルゴリズム(alg)、キーデータ(key−ID)および暗号化処理の結果(C1)は、“External Authenticate”コマンドのパラメータとして示される。このような“External Authenticate”コマンドを生成すると、端末300は、生成した“External Authenticate”コマンドをICカード100に送信する。
ステップ15:ICカード100は、端末300からの“External Authenticate”コマンドを受信する。“External Authenticate”コマンドを受信すると、上記ICカード100は、受信した“External Authenticate”コマンドにより復号化処理に用いるアルゴリズム及び復号化キーを決定する。なお、復号化キーは、“External Authenticate”コマンドに含まれるキーデータ(key−ID)に基づいて判断される。また、復号化キーは、予めICカード100が所有しているものである。例えば、復号化キーは、上記データメモリ105などの不揮発性メモリに記憶されている。
復号化処理に用いるアルゴリズムとキーデータとを決定すると、ICカード100は、決定したアルゴリズムにより復号化キー(K2)を用いて端末300から受信した値(C2)を復号化する。ここでは、値(C2)を復号化キー(K2)を用いて復号化した値をR2´とする。
ステップ16:値(C2)を復号化キー(K2)を用いて復号化した値R2´を算出すると、ICカード100は、上記R2´と上記ステップ12で生成した乱数データ(R2)と比較する。この比較により乱数データ(R2)とR2’とが一致した場合、ICカード100は、当該端末300を認証する(ICカード100は、当該端末300が正当であると判断する)。また、上記比較により乱数データ(R2)とR2’が一致しなかった場合、ICカード100は、当該端末300を認証しない(ICカードは、当該端末300が正当でないと判断する)。
ステップ17:上記ICカード100は、上記R2とR2´との比較結果(ICカード100による端末300認証の正否)をレスポンスとして端末300に通知する。また、上記レスポンスにより、端末300では、当該ICカード100により自身が認証されたか否かを判断する。
なお、暗号アルゴリズムとしてTriple DESを使用した場合、ICカード側の復号化キー(K2)と端末側の暗号化キー(K1)は、同一のものになる。このような暗号化方式及び復号化方式は、ICカード100の復号化キー(K2)と端末300側の暗号化キー(K1)とが共に秘密キーとなる秘密鍵暗号方式である。
また、暗号アルゴリズムとしてRSAを使用した場合、ICカード側の復号化キー(K2)と端末側の暗号化キー(K1)とは、異なるキーとなる。このような暗号化方式及び復号化方式は、端末300側の復号化キー(K1)が秘密キーとなり、ICカード100の復号化キー(K2)が公開キーとなる公開鍵暗号方式である。
次に、“Get Challenge”コマンドについて詳細に説明する。
図11は、“Get Challenge”コマンドのフォーマットを示す図である。
図11に示すように、“Get Challenge”コマンドは、CLAデータ、INSデータ、P1データ、P2データ、Leデータにより構成される。なお、コマンドの基本的なフォーマットは、CLAデータ、INSデータ、P1データ、P2データおよびLeデータにより構成される。
上記CLAデータは、図7に示すような構成を有している。図11に示す“Get Challenge”コマンドの例では、CLAデータのうちb1、b2が「01」となっている。つまり、図11に示す“Get Challenge”コマンドでは、ロジカルチャネル番号「♯1」が指定されている。
また、上記INSデータは、コマンドの内容を示す情報である。例えば、図11に示す例では、INSデータ(「84」)が“Get Challenge”コマンド(つまり、乱数の生成を要求するコマンド)であることを示している。
また、上記P1データおよびP2データは、当該コマンドのパラメータを示すものである。図11に示すような“Get Challenge”コマンドでは、P1データ及びP2データが共に「00」となっている。また、Leデータは、データの長さを指定するものである。図11の例では、Leデータ(「08」)が8バイトの乱数データの生成を要求している。
したがって、図11に示す“Get Challenge”コマンドでは、ロジカルチャネル番号「♯1」において8バイトの乱数データの生成を要求している。
次に、ICカードにおける乱数データ(“Get Challenge”コマンドに応じて生成した乱数データ)の格納例について説明する。
図12は、ワーキングメモリ106内における乱数データの格納テーブル106aの構成例を示す図である。
上記のような“Get Challenge”コマンドを受信すると、ICカード100は、“Get Challenge”コマンドによって指定されたロジカルチャネル番号において指定された長さの乱数データを生成する。このような場合、本ICカード100では、ロジカルチャネル番号ごとに乱数データを保持する。
図12に示す乱数データの格納テーブル106aでは、ロジカルチャネル番号ごとに、“Get Challenge”コマンドが実行済みであるか否かを示すフラグと、乱数データとを格納する。例えば、ロジカルチャネル番号「♯1」において乱数データを生成した場合、格納テーブル106aには、図12に示すように、ロジカルチャネル番号「♯1」において“Get Challenge”コマンドが実行済みであることを示すフラグをセットし、生成した乱数データをロジカルチャネル番号「♯1」の乱数データとして格納する。
このような格納テーブル106aにより、各ロジカルチャネル番号ごとに、乱数データを保持することが可能となる。
次に、コマンドに対するレスポンスについて説明する。
図13は、コマンドに対するレスポンスの構成例を示す図である。
上記端末300からコマンドを受信したICカード100は、コマンドに対応する処理を実行し、その処理結果等を示すレスポンスを端末300へ送信するようになっている。レスポンスのフォーマットは、図13に示すように、レスポンスデータとステータスワードにより構成される。
上記レスポンスデータは、コマンドに対応する処理によって得られたデータである。例えば、“Get Challenge”コマンドに対しては、上記レスポンスデータにはICカード100が生成した乱数データが格納される。
また、ステータスワードは、コマンドに対応する処理結果を示すものである。例えば、コマンドに対応する処理が正常に行われた場合、上記ステータスワードには、コマンドに対応する処理が正常に行われたことを示すステータスが格納される。また、コマンドに対応する処理がエラーとなった場合、上記ステータスワードには、コマンドに対応する処理がエラーとなったことを示すステータスが格納される。
次に、“Get Challenge”コマンドを受信した場合のICカード100の動作例について説明する。
図14は、“Get Challenge”コマンドを受信した場合のICカード100の動作を説明するためのフローチャートである。
まず、ICカード100の通信部102が端末300からのコマンドを受信したものとする(ステップS31)。すると、ICカード100の制御素子104は、受信したコマンドのINSデータによりコマンドの内容を判別する(ステップS32)。なお、上記通信部102が受信したコマンドが“Get Challenge”コマンド以外のコマンドであると判断した場合(ステップS32、NO)、上記ICカード100の制御素子104は、受信したコマンドに応じた処理を行う(ステップS33)。
上記通信部102が受信したコマンドが“Get Challenge”コマンドであると判断した場合(ステップS32、YES)、上記ICカード100の制御素子104は、“Get Challenge”コマンドのLeデータにより生成する乱数データの長さを判断する。生成する乱数データの長さを判断すると、上記ICカード100の制御素子104は、指定された長さの乱数データを生成する(ステップS34)。
乱数データを生成すると、上記ICカード100の制御素子104は、生成した乱数データを当該“Get Challenge”コマンドのCLAデータにより指定されるロジカルチャネル番号に対応させてワーキングメモリ106の格納テーブル106aに格納する。さらに、上記ICカード100の制御素子104は、当該ロジカルチャネル番号において“Get Challenge”コマンド(乱数データの生成)が実行済みであることを示すフラグをセットする(ステップS36)。
これにより、上記ワーキングメモリ106の格納テーブル106aには、“Get Challenge”コマンドで指定されるロジカルチャネル番号ごとに、乱数データと“Get Challenge”コマンド(乱数データの生成)が実行済みであることを示すフラグとが格納される。
また、“Get Challenge”コマンドに応じて生成した乱数データを上記格納テーブル106aに格納すると、上記ICカード100の制御素子104は、生成した乱数データをレスポンスデータとして当該“Get Challenge”コマンドの送信元である端末300へレスポンスを送信する(ステップS37)。
上記のような動作により、“Get Challenge”コマンドに応じて生成した乱数データは、上記ワーキングメモリ106の格納テーブル106aにロジカルチャネル番号ごとに格納されるとともに、レスポンスデータとして当該“Get Challenge”コマンドの送信元へ送信される。
次に、ICカード100による端末300の認証処理(外部認証処理)について詳細に説明する。
外部認証は、ICカード100が端末300から“External Authenticate”コマンドを受信した場合に実施される。すなわち、外部装置としての端末300が“External Authenticate”コマンドによりICカード100に対して自身を認証するように要求する。“External Authenticate”コマンドによる要求に応じてICカード100が外部装置としての端末300を認証するものである。
まず、“External Authenticate”コマンドについて詳細に説明する。
図15は、“External Authenticate”コマンドのフォーマットを示す図である。
図15に示すように、“External Authenticate”コマンドは、CLAデータ、INSデータ、P1データ、P2データ、Leデータおよびデータ部により構成される。
上記CLAデータは、図7に示すような構成を有している。図15に示す“External Authenticate”コマンドの例では、CLAデータのうちb1、b2が「01」となっている。つまり、図15に示す“External Authenticate”コマンドでは、ロジカルチャネル番号「♯1」が指定されている。また、図15に示す例では、INSデータ(「82」)が“External Authenticate”コマンド(つまり、外部認証を要求するコマンド)であることを示している。また、上記データ部には、端末300からICカード100へ供給するデータが格納される。例えば、図10に示す例では、上記データ部にはデータC2が格納される。
また、図15に示すように、上記P1データおよびP2データは、当該“External Authenticate”コマンドのパラメータとして設定される。例えば、図16は、“External Authenticate”コマンドのP1データの例を示している。図16に示すように、“External Authenticate”コマンドでは、P1データが認証処理に用いる認証アルゴリズムを示している。図16に示す例では、認証処理に用いるアルゴリズムとして、P1データが「01」の場合にシングルDES、P1データが「02」の場合にトリプルDESを示している。
また、図17は、“External Authenticate”コマンドのP2データの例を示している。図17に示すように、“External Authenticate”コマンドでは、P2データが認証処理に用いるキーデータ(Key−ID)を示している。図17に示す例では、P2データにおいて認証処理に用いるキーデータを「01」〜「1F」で示している。また、図18は、P2データにおけるキーデータの具体的な例を示している。図18に示す例では、P2データにおいて「0x01」〜「0x1F」により31種類のキーデータを指定できるようになっている。
したがって、図15に示す“External Authenticate”コマンドでは、ロジカルチャネル番号「♯1」において、P1データで示すアルゴリズムおよびP2データで示すキーデータを用いて外部認証を行うことを要求している。
次に、“External Authenticate”コマンドを受信した場合のICカード100の動作例について説明する。
図19は、“External Authenticate”コマンドを受信した場合のICカード100の動作を説明するためのフローチャートである。
まず、ICカード100の通信部102が端末300からのコマンドを受信したものとする(ステップS41)。すると、ICカード100の制御素子104は、受信したコマンドのINSデータによりコマンドの内容を判別する(ステップS42)。なお、上記通信部102が受信したコマンドが“External Authenticate”コマンド以外のコマンドであると判断した場合(ステップS42、NO)、上記ICカード100の制御素子104は、受信したコマンドに応じた処理を行う(ステップS33)。
上記通信部102が受信したコマンドが“External Authenticate”コマンドであると判断した場合(ステップS42、YES)、上記ICカード100の制御素子104は、当該“External Authenticate”コマンドのCLAデータにより指定されるロジカルチャネル番号において“Get Challenge”コマンドが実行済みであるか否かを判断する(ステップS44)。
すなわち、上記ステップS44では、上記ワーキングメモリ106の格納テーブル106aにおいて“External Authenticate”コマンドのCLAデータで指定されるロジカルチャネル番号に対応するフラグ(“Get Challenge”コマンドが実行済みであるか否かをフラグ)がセットされているか否かを判断する。言い換えると、上記ステップS44において、上記制御素子104は、“External Authenticate”コマンドが指定するロジカルチャネル番号に対応する乱数データが上記格納テーブル106aに格納されているか否かを判断する。
上記判断により当該“External Authenticate”コマンドが指定するロジカルチャネル番号において“Get Challenge”コマンドが実行済みでないと判断した場合(ステップS44、NO)、上記ICカード100の制御素子104は、エラーを意味するステータスワードをセットしたレスポンスを端末300へ送信する(ステップS50)。この場合、ステータスワードには、例えば、当該ロジカルチャネル番号において“Get Challenge”コマンドが実行されていないことを示すステータスが格納される。
また、上記判断により“External Authenticate”コマンドが指定するロジカルチャネル番号において“Get Challenge”コマンドが実行済みであると判断した場合(ステップS44、YES)、上記ICカード100の制御素子104は、当該“External Authenticate”コマンドのP1データにより指定されるアルゴリズムを当該ICカード100がサポートしているか否かを判断する(ステップS45)。すなわち、上記ステップS45において、上記制御素子104は、当該“External Authenticate”コマンドが指定するアルゴリズムを実行可能か否かを判断する。
上記判断により当該“External Authenticate”コマンドが指定するアルゴリズムを当該ICカード100がサポートしていないと判断した場合(ステップS45、NO)、上記ICカード100の制御素子104は、エラーを意味するステータスワードをセットしたレスポンスを端末300へ送信する(ステップS50)。この場合、ステータスワードには、例えば、当該“External Authenticate”コマンドが指定するアルゴリズムに当該ICカードが対応していないことを示すステータスが格納される。
また、上記判断により当該“External Authenticate”コマンドが指定するアルゴリズムを当該ICカード100がサポートしていると判断した場合(ステップS45、YES)、上記ICカード100の制御素子104は、当該“External Authenticate”コマンドのP2データにより指定されるキーデータを当該ICカード100が保持しているか否かを判断する(ステップS46)。すなわち、上記ステップS46において、上記制御素子104は、当該“External Authenticate”コマンドが指定するキーデータを所有しているか否かを判断する。
上記判断により当該“External Authenticate”コマンドが指定するキーデータを当該ICカード100が所有していないと判断した場合(ステップS46、NO)、上記ICカード100の制御素子104は、エラーを意味するステータスワードをセットしたレスポンスを端末300へ送信する(ステップS50)。この場合、ステータスワードには、例えば、当該“External Authenticate”コマンドが指定するキーデータを当該ICカードが所有していないことを示すステータスが格納される。
また、上記判断により当該“External Authenticate”コマンドが指定するキーデータを当該ICカード100が所有している判断した場合(ステップS46、YES)、上記ICカード100の制御素子104は、当該“External Authenticate”コマンドのP1データで指定されるアルゴリズムとP2データで指定されるキーデータとを用いて、当該“External Authenticate”コマンドのデータ部に格納されているデータを演算処理する(ステップS47)。
上記ステップS47の演算処理の結果が得られると、上記ICカード100の制御素子104は、演算処理の結果と、当該“External Authenticate”コマンドが指定するロジカルチャネル番号に対応する乱数データとが一致するか否かを判断する(ステップS48)。
この判断により演算処理の結果と当該ロジカルチャネル番号に対応する乱数データとが一致したと判断した場合(ステップS48、YES)、上記ICカード100の制御素子104は、正常を意味するステータスワード(つまり、外部装置としての端末300をICカード100が認証したことを示すステータスワード)をセットしたレスポンスを端末300へ送信する(ステップS49)。
また、上記判断により上記ステップS47の演算結果と当該ロジカルチャネル番号に対応する乱数データとが一致しないと判断した場合(ステップS48、NO)、上記ICカード100の制御素子104は、エラーを意味するステータスワードをセットしたレスポンスを端末300へ送信する(ステップS50)。この場合、ステータスワードには、例えば、外部装置としての端末300をICカード100が認証できなかったことを示すステータスワードが格納される。
なお、図19に示す動作例と図10に示す例と対比すると、当該“External Authenticate”コマンドのデータ部に格納されるデータは図10に示すC2であり、当該“External Authenticate”コマンドのP1データで示されるアルゴリズムは図10に示す(alg)であり、当該“External Authenticate”コマンドのP2で示されるキーデータは図10に示す(Key−ID)である。また、上記ステップS47の演算処理は、当該“External Authenticate”コマンドのP1データが示すアルゴリズムと当該“External Authenticate”コマンドのP2データが示す復号化キー(K2)とを用いたデータC2に対する復号化処理Dである。
上記のような外部認証処理によれば、ロジカルチャネル番号ごとに乱数データを保持することができ、ロジカルチャネル番号ごとの乱数データを用いた外部認証処理を実現することができる。
次に、端末300によるICカード100の認証処理(内部認証処理)について詳細に説明する。
内部認証は、端末300がICカード100へ“Internal Authenticate”コマンドを供給することにより実施される。すなわち、外部装置としての端末300が“Internal Authenticate”コマンドに対するICカード100からのレスポンスデータに基づいてICカード100の認証を行うものである。
まず、“Internal Authenticate”コマンドについて詳細に説明する。
図20は、“Internal Authenticate”コマンドのフォーマットを示す図である。
図20に示すように、“Internal Authenticate”コマンドは、CLAデータ、INSデータ、P1データ、P2データ、Leデータおよびデータ部により構成される。
上記CLAデータは、図7に示すような構成を有している。図20に示す“Internal Authenticate”コマンドの例では、CLAデータのうちb1、b2が「01」となっている。つまり、図20に示す“Internal Authenticate”コマンドでは、ロジカルチャネル番号「♯1」が指定されている。また、図20に示す例では、INSデータ(「88」)が“Internal Authenticate”コマンド(つまり、内部認証を要求するコマンド)であることを示している。また、上記データ部には、端末300からICカード100へ供給するデータが格納される。例えば、図9に示す例では、上記データ部には乱数データR1が格納される。
また、図20に示すように、上記P1データおよびP2データは、当該“Internal Authenticate”コマンドのパラメータとして設定される。“Internal Authenticate”コマンドのP1データは、例えば、図16に示すように、“External Authenticate”コマンドのP1データと同様に認証処理に用いる認証アルゴリズムを示している。また、“Internal Authenticate”コマンドのP2データは、例えば、図17及び図18に示すように、“External Authenticate”コマンドのP2データと同様に認証処理に用いるキーデータ(Key−ID)を示している。
したがって、図20に示す“Internal Authenticate”コマンドでは、ロジカルチャネル番号「♯1」において、P1データで示すアルゴリズムおよびP2データで示すキーデータを用いてデータ部のデータの演算処理(暗号化処理)を行うことを要求している。
次に、“Internal Authenticate”コマンドを受信した場合のICカード100の動作例について説明する。
図21は、“Internal Authenticate”コマンドを受信した場合のICカード100の動作を説明するためのフローチャートである。
まず、ICカード100の通信部102が端末300からのコマンドを受信したものとする(ステップS61)。すると、ICカード100の制御素子104は、受信したコマンドのINSデータによりコマンドの内容を判別する(ステップS62)。なお、上記通信部102が受信したコマンドが“Internal Authenticate”コマンド以外のコマンドであると判断した場合(ステップS62、NO)、上記ICカード100の制御素子104は、受信したコマンドに応じた処理を行う(ステップS63)。
上記通信部102が受信したコマンドが“Internal Authenticate”コマンドであると判断した場合(ステップS62、YES)、上記ICカード100の制御素子104は、当該“Internal Authenticate”コマンドのCLAデータにより指定されるロジカルチャネル番号において“Get Challenge”コマンドが実行済みであるか否かを判断する(ステップS64)。
すなわち、上記ステップS64では、上記ワーキングメモリ106の格納テーブル106aにおいて“Internal Authenticate”コマンドのCLAデータで指定されるロジカルチャネル番号に対応するフラグ(“Get Challenge”コマンドが実行済みであるか否かをフラグ)がセットされているか否かを判断する。言い換えると、上記ステップS64において、上記制御素子104は、“Internal Authenticate”コマンドが指定するロジカルチャネル番号に対応する乱数データが上記格納テーブル106aに格納されているか否かを判断する。
上記判断により当該“Internal Authenticate”コマンドが指定するロジカルチャネル番号において“Get Challenge”コマンドが実行済みでないと判断した場合(ステップS64、NO)、上記ICカード100の制御素子104は、エラーを意味するステータスワードをセットしたレスポンスを端末300へ送信する(ステップS70)。この場合、ステータスワードには、例えば、当該ロジカルチャネル番号において“Get Challenge”コマンドが実行されていないことを示すステータスが格納される。
また、上記判断により“Internal Authenticate”コマンドが指定するロジカルチャネル番号において“Get Challenge”コマンドが実行済みであると判断した場合(ステップS64、YES)、上記ICカード100の制御素子104は、当該“Internal Authenticate”コマンドのP1データにより指定されるアルゴリズムを当該ICカード100がサポートしているか否かを判断する(ステップS65)。すなわち、上記ステップS65において、上記制御素子104は、当該“Internal Authenticate”コマンドが指定するアルゴリズムを実行可能か否かを判断する。
上記判断により当該“Internal Authenticate”コマンドが指定するアルゴリズムを当該ICカード100がサポートしていないと判断した場合(ステップS65、NO)、上記ICカード100の制御素子104は、エラーを意味するステータスワードをセットしたレスポンスを端末300へ送信する(ステップS70)。この場合、ステータスワードには、例えば、当該“Internal Authenticate”コマンドが指定するアルゴリズムに当該ICカードが対応していないことを示すステータスが格納される。
また、上記判断により当該“Internal Authenticate”コマンドが指定するアルゴリズムを当該ICカード100がサポートしていると判断した場合(ステップS65、YES)、上記ICカード100の制御素子104は、当該“Internal Authenticate”コマンドのP2データにより指定されるキーデータを当該ICカード100が保持しているか否かを判断する(ステップS66)。すなわち、上記ステップS66において、上記制御素子104は、当該“Internal Authenticate”コマンドが指定するキーデータを所有しているか否かを判断する。
上記判断により当該“Internal Authenticate”コマンドが指定するキーデータを当該ICカード100が所有していないと判断した場合(ステップS66、NO)、上記ICカード100の制御素子104は、エラーを意味するステータスワードをセットしたレスポンスを端末300へ送信する(ステップS70)。この場合、ステータスワードには、例えば、当該“Internal Authenticate”コマンドが指定するキーデータを当該ICカードが所有していないことを示すステータスが格納される。
また、上記判断により当該“Internal Authenticate”コマンドが指定するキーデータを当該ICカード100が所有している判断した場合(ステップS66、YES)、上記ICカード100の制御素子104は、当該“Internal Authenticate”コマンドが指定するロジカルチャネル番号の乱数データと当該“Internal Authenticate”コマンドのデータ部に格納されているデータとの演算処理(例えば、図9に示す例ではXOR演算処理)する(ステップS67)。
上記ステップS67の演算処理の結果(上記ステップS67の演算結果をαとする)が得られると、上記ICカード100の制御素子104は、上記ICカード100の制御素子104は、当該“Internal Authenticate”コマンドのP1データで指定されるアルゴリズムとP2データで指定されるキーデータとを用いて、演算結果αを演算処理(例えば、暗号化処理)する(ステップS68)。
上記ステップS68の演算処理の結果(上記ステップS68の演算結果をβとする)が得られると、上記ICカード100の制御素子104は、演算結果βをレスポンスデータとしたレスポンスを端末300へ送信する(ステップS69)。
なお、図20に示す動作例と図9に示す例と対比すると、当該“Internal Authenticate”コマンドのデータ部に格納されるデータは図9に示すR1であり、当該“Internal Authenticate”コマンドのP1データで示されるアルゴリズムは図9に示す(alg)であり、当該“Internal Authenticate”コマンドのP2で示されるキーデータは図9に示す(Key−ID)である。また、上記ステップS67の演算処理は、R1とR2とのXOR演算処理であり、上記ステップS68の演算処理は、当該“Internal Authenticate”コマンドのP1データが示すアルゴリズムと当該“Internal Authenticate”コマンドのP2データが示す暗号化キー(K2)とを用いたデータD2に対する暗号化処理Eである。
上記のような内部認証処理によれば、ICカードがロジカルチャネル番号ごとに乱数データを保持することができ、ロジカルチャネル番号ごとの乱数データを用いた内部認証処理を実現することができる。
本発明の実施の形態に係るICカードの構成を概略的に示すブロック図。 データメモリ内のファイル構造を示す概念図。 ロジカルチャネル番号ごとのレコードポインタの格納状態を示す図。 データメモリ内のEFの一例を示す図。 ロジカルチャネルの概念を説明する図。 DF1に対してロジカルチャネル番号#1を割り当てた状態のファイル構造を示す概念図。 コマンドのCLAバイトのコーディングについて説明する図。 ICカードと外部装置としての端末とから構成されるICカードシステムの構成例を概略的に示す図。 端末によるICカードの認証処理を概略的に説明するための図。 ICカードによる端末の認証処理を概略的に説明するための図。 “Get Challenge”コマンドのフォーマットを示す図。 乱数データの格納テーブルの構成例を示す図。 コマンドに対するレスポンスの構成例を示す図。 “Get Challenge”コマンドを受信した場合のICカードの動作を説明するためのフローチャート。 “External Authenticate”コマンドのフォーマットを示す図。 “External Authenticate”コマンドのP1データの例を示す図。 “External Authenticate”コマンドのP2データの例を示す図。 “External Authenticate”コマンドのP2データにおけるキーデータの具体例を示す図。 “External Authenticate”コマンドを受信した場合のICカードの動作を説明するためのフローチャート。 “Internal Authenticate”コマンドのフォーマットを示す図。 “Internal Authenticate”コマンドを受信した場合のICカードの動作を説明するためのフローチャート。
符号の説明
100…ICカード(携帯可能電子装置)、102…通信部、103…ICチップ、104…制御素子(CPU)、105…データメモリ(不揮発性メモリ)、106…ワーキングメモリ、107…プログラムメモリ、201…MF、202,203…EF、204,205,206,207…DF、208,209,210,211,212,213,214,215,216…EF、300…端末、106a…格納テーブル

Claims (11)

  1. 外部装置からコマンドが入力されると、このコマンドに対応した処理を実行するICカードにおいて、
    それぞれが複数のレコードデータ領域に分割された複数のファイルを記憶する第1のメモリと、
    この第1のメモリに記憶したファイルに対してカレント状態となっているレコードデータ領域を示すポインタ情報を複数の論理チャネル番号のそれぞれに対応づけて記憶する第2のメモリと、
    外部装置と通信する通信手段と、
    この通信手段により外部装置から論理チャネル番号を含むコマンドを受信すると、当該コマンドに含まれる論理チャネル番号の論理チャネルにおいて前記複数のファイル内から1つのファイルを選択するファイル選択手段と、
    このファイル選択手段により選択されたファイルに対して前記コマンドで指定された論理チャネルでカレント状態となっているレコードデータ領域を示すポインタ情報を前記第2のメモリに記憶した情報に基づいて判定し、判定したポインタ情報に基づいて特定されるレコードデータ領域をアクセス対象とする処理手段と、
    を具備したことを特徴とするICカード。
  2. 前記ポインタ情報は、前記レコードデータ領域の位置を示す位置情報である、ことを特徴とする請求項1記載のICカード。
  3. 前記ポインタ情報は、前記ファイル選択手段によりファイルが選択された場合にクリアされる、ことを特徴とする請求項1記載のICカード。
  4. 前記ポインタ情報は、前記ファイル内のレコードデータを識別するレコード番号情報である、ことを特徴とする請求項2記載のICカード。
  5. 外部装置から入力されるコマンドに応じて種々の処理を実行する制御素子を有するICカードにおいて、
    外部装置からの論理チャネル番号を含む認証処理に使用するデータの生成を要求するコマンドに応じて、当該コマンドに含まれる論理チャネル番号の論理チャネルでの認証処理に使用するデータを生成するデータ生成手段と、
    このデータ生成手段により生成したデータを当該コマンドに含まれる論理チャネル番号の論理チャネルでの認証処理に使用するデータとして当該コマンドに含まれる論理チャネル番号に対応づけて保持するデータ保持手段と、
    を具備したことを特徴とするICカード。
  6. 前記データ生成手段は、論理チャネル番号を含む認証処理に使用する乱数データの生成を要求するコマンドに応じて、当該コマンドに含まれる論理チャネル番号の論理チャネルでの認証処理に使用する乱数データを生成する、
    ことを特徴とする前記請求項5に記載のICカード。
  7. さらに、外部装置からの論理チャネル番号を含む認証コマンドが入力されると、当該認証コマンドに含まれる論理チャネル番号に対応づけて前記データ保持手段に保持されている認証処理に使用するデータを用いて認証処理を行う認証処理手段と、
    を具備したことを特徴とする前記請求項5に記載のICカード。
  8. 外部装置からコマンドが入力されると、このコマンドに対応した処理を実行するICカードにおいて、
    外部装置と通信する通信手段と、
    それぞれが複数のレコードデータ領域に分割された複数のファイルを記憶する第1のメモリと、この第1のメモリに記憶したファイルに対してカレント状態となっているレコードデータ領域を示すポインタ情報を複数の論理チャネル番号のそれぞれに対応づけて記憶する第2のメモリと、前記通信手段により外部装置から論理チャネル番号を含むコマンドを受信すると、当該コマンドに含まれる論理チャネル番号の論理チャネルにおいて前記複数のファイル内から1つのファイルを選択するファイル選択手段と、このファイル選択手段により選択されたファイルに対して前記コマンドで指定された論理チャネルでカレント状態となっているレコードデータ領域を示すポインタ情報を前記第2のメモリに記憶した情報に基づいて判定し、判定したポインタ情報に基づいて特定されるレコードデータ領域をアクセス対象とする処理手段とを具備するICチップと、
    前記通信手段と前記ICチップとを埋設した本体と、
    を具備したことを特徴とするICカード。
  9. 外部装置からコマンドが入力されると、このコマンドに対応した処理を実行するICカードにおける処理方法であって、
    それぞれが複数のレコードデータ領域に分割された複数のファイルを第1のメモリに記憶し、
    この第1のメモリに記憶したファイルに対してカレント状態となっているレコードデータ領域を示すポインタ情報を複数の論理チャネル番号のそれぞれに対応づけて第2のメモリに記憶し、
    外部装置からの論理チャネル番号を含むコマンドを入力すると、当該コマンドに含まれる論理チャネル番号の論理チャネルにおいて前記複数のファイル内から1つのファイルを選択し、
    この選択されたファイルに対して前記コマンドで指定された論理チャネルでカレント状態となっているレコードデータ領域を示すポインタ情報を前記第2のメモリに記憶した情報に基づいて判定し、判定したポインタ情報に基づいて特定されるレコードデータ領域にアクセスする、
    ことを特徴とするICカードにおける処理方法。
  10. 通信手段により外部装置から受信するコマンドに応じて種々の処理を実行する制御素子を有するICカードにおいて、
    外部装置からの論理チャネル番号を含む認証処理に使用するデータの生成を要求するコマンドに応じて、当該コマンドに含まれる論理チャネル番号の論理チャネルでの認証処理に使用するデータを生成するデータ生成手段と、このデータ生成手段により生成したデータを当該コマンドに含まれる論理チャネル番号の論理チャネルでの認証処理に使用するデータとして当該コマンドに含まれる論理チャネル番号に対応づけて保持するデータ保持手段とを有するICチップと、
    前記通信手段と前記ICチップとを埋設した本体と、
    を具備したことを特徴とするICカード。
  11. 外部装置から入力されるコマンドに応じて種々の処理を実行するICカードにおける処理方法において、
    外部装置からの論理チャネル番号を含む認証処理に使用するデータの生成を要求するコマンドに応じて、当該コマンドに含まれる論理チャネル番号の論理チャネルでの認証処理に使用するデータを生成し、
    この生成したデータを当該コマンドに含まれる論理チャネル番号の論理チャネルでの認証処理に使用するデータとして当該コマンドに含まれる論理チャネル番号に対応づけて保持する、
    ことを特徴とするICカードにおける処理方法。
JP2004238602A 2003-12-10 2004-08-18 Icカードおよびicカードにおける処理方法 Expired - Lifetime JP4828809B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2004238602A JP4828809B2 (ja) 2003-12-10 2004-08-18 Icカードおよびicカードにおける処理方法
EP04028699A EP1544809B1 (en) 2003-12-10 2004-12-03 Portable electronic device
EP09005771A EP2093719A1 (en) 2003-12-10 2004-12-03 Portable electronic device
DE602004021226T DE602004021226D1 (de) 2003-12-10 2004-12-03 Tragbare elektronische Vorrichtung
SG200407603A SG112997A1 (en) 2003-12-10 2004-12-06 Portable electronic device
KR1020040102096A KR100614064B1 (ko) 2003-12-10 2004-12-07 휴대 가능한 전자 장치
US11/006,784 US7434066B2 (en) 2003-12-10 2004-12-08 Portable electronic device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003411400 2003-12-10
JP2003411400 2003-12-10
JP2004238602A JP4828809B2 (ja) 2003-12-10 2004-08-18 Icカードおよびicカードにおける処理方法

Publications (2)

Publication Number Publication Date
JP2005196730A JP2005196730A (ja) 2005-07-21
JP4828809B2 true JP4828809B2 (ja) 2011-11-30

Family

ID=34525501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004238602A Expired - Lifetime JP4828809B2 (ja) 2003-12-10 2004-08-18 Icカードおよびicカードにおける処理方法

Country Status (6)

Country Link
US (1) US7434066B2 (ja)
EP (2) EP2093719A1 (ja)
JP (1) JP4828809B2 (ja)
KR (1) KR100614064B1 (ja)
DE (1) DE602004021226D1 (ja)
SG (1) SG112997A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895443B2 (en) * 2002-11-05 2011-02-22 Safenet, Inc. Secure authentication using hardware token and computer fingerprint
JP3944216B2 (ja) * 2005-03-11 2007-07-11 株式会社エヌ・ティ・ティ・ドコモ 認証装置、携帯端末、及び、認証方法
JP4950533B2 (ja) * 2006-03-24 2012-06-13 株式会社東芝 携帯可能電子装置およびicカード
US7766243B2 (en) 2006-07-19 2010-08-03 Research In Motion Limited Method, system and smart card reader for management of access to a smart card
EP2341464B1 (en) 2006-07-19 2012-11-21 Research In Motion Limited Method, system and smart card reader for management of access to a smart card
JP4896837B2 (ja) 2007-08-20 2012-03-14 株式会社東芝 携帯可能電子装置および携帯可能電子装置の制御方法
JP4896842B2 (ja) * 2007-09-20 2012-03-14 株式会社東芝 携帯可能電子装置
JP5238210B2 (ja) * 2007-09-28 2013-07-17 株式会社東芝 情報記憶媒体及びファイル管理方法
JP5038918B2 (ja) * 2008-01-15 2012-10-03 株式会社東芝 携帯可能電子装置および携帯可能電子装置の制御方法
JP5225054B2 (ja) 2008-12-19 2013-07-03 株式会社東芝 Icカード
EP2239712A1 (fr) * 2009-04-09 2010-10-13 Gemalto SA Procédé pour personnaliser un dispositif électronique, procédé de traitement de données et dispositif associés
JP5150672B2 (ja) 2010-03-18 2013-02-20 株式会社東芝 携帯可能電子装置、及び携帯可能電子装置の制御方法
JP5659051B2 (ja) 2011-03-17 2015-01-28 株式会社東芝 通信媒体、icカード、及び通信方法
JP5843674B2 (ja) * 2012-03-21 2016-01-13 株式会社東芝 Icカード、携帯可能電子装置及びicカードの制御方法
US10402816B2 (en) * 2016-12-31 2019-09-03 Square, Inc. Partial data object acquisition and processing
US10621590B2 (en) 2017-02-22 2020-04-14 Square, Inc. Line-based chip card tamper detection

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2544722B2 (ja) * 1986-04-23 1996-10-16 富士通株式会社 情報格納制御方法及びその手段を具備した情報格納装置
JP2502894B2 (ja) * 1992-08-13 1996-05-29 松下電器産業株式会社 Icカ―ド
JP3329496B2 (ja) * 1992-11-04 2002-09-30 富士通株式会社 Icカード
JPH06325059A (ja) * 1993-05-10 1994-11-25 Toppan Moore Co Ltd 発注管理システム及び顧客管理システム
JP3433978B2 (ja) * 1993-07-30 2003-08-04 富士通株式会社 入出力制御装置
US5778071A (en) * 1994-07-12 1998-07-07 Information Resource Engineering, Inc. Pocket encrypting and authenticating communications device
JP4095680B2 (ja) * 1994-08-01 2008-06-04 富士通株式会社 カード型記憶装置用セキュリティ管理方法およびカード型記憶装置
DE19508724C1 (de) * 1995-03-10 1996-10-31 Siemens Ag Chipkarte mit geschütztem Betriebssystem
US6101477A (en) * 1998-01-23 2000-08-08 American Express Travel Related Services Company, Inc. Methods and apparatus for a travel-related multi-function smartcard
FR2793979B1 (fr) * 1999-05-18 2001-06-29 Schlumberger Systems & Service Procede de gestion de donnees par un module de securite
JP2003036425A (ja) * 2001-07-25 2003-02-07 Hitachi Ltd セキュリティカード
JP2003123032A (ja) * 2001-10-12 2003-04-25 Hitachi Ltd Icカード端末および本人認証方法
JP4393733B2 (ja) * 2001-11-27 2010-01-06 大日本印刷株式会社 携帯可能情報記録媒体
KR20030046621A (ko) * 2001-12-16 2003-06-18 한국전자통신연구원 계층화 구조의 프로토콜 스택을 사용하는 스마트 카드와휴대 단말기의 통신 환경 설정 방법

Also Published As

Publication number Publication date
EP2093719A1 (en) 2009-08-26
US7434066B2 (en) 2008-10-07
SG112997A1 (en) 2005-07-28
US20050132151A1 (en) 2005-06-16
EP1544809A3 (en) 2005-11-02
KR20050056869A (ko) 2005-06-16
EP1544809A2 (en) 2005-06-22
EP1544809B1 (en) 2009-05-27
DE602004021226D1 (de) 2009-07-09
KR100614064B1 (ko) 2006-08-22
JP2005196730A (ja) 2005-07-21

Similar Documents

Publication Publication Date Title
JP4828809B2 (ja) Icカードおよびicカードにおける処理方法
KR100506559B1 (ko) 인증시스템및방법과인증장치및방법
EP0440158B1 (en) Mutual authentication system
JP4624732B2 (ja) アクセス方法
JP5123524B2 (ja) 保護されたメモリ・アクセスを用いたスマートカード
JP4834748B2 (ja) 情報記憶媒体、媒体認証機器、媒体認証システム、及びicカード
KR20000011788A (ko) 데이터기억장치및데이터기억방법
US20070226513A1 (en) Ic Card for Encryption or Decryption Process and Encrypted Communication System and Encrypted Communication Method Using the Same
JP2009151528A (ja) 生体情報が格納されたicカードおよびそのアクセス制御方法
JPH05217033A (ja) データの認証方法
KR100346411B1 (ko) 커널모드에서 파일을 자동으로 암호화, 복호화하는 방법,이를 이용한 파일 포인터 이동방법, 및 이들을프로그램화하여 수록한 컴퓨터로 읽을 수 있는 기록매체
US20020044655A1 (en) Information appliance and use of same in distributed productivity environments
JP4723187B2 (ja) メモリ内の符号化データの更新管理
JP2008109276A (ja) 携帯可能電子装置
EP0872081B1 (en) Method and device for data communication
JP2004139242A (ja) Icカード、icカード発行システム及びicカード発行方法
JP2009032003A (ja) 携帯可能電子装置、端末装置、認証システム、及び認証方法
JP2996182B2 (ja) Icカードシステム及びicカード
JP3963938B2 (ja) アクセス方法、メモリデバイス、および情報機器
WO2019082526A1 (ja) 携帯可能電子装置、及びicモジュール
JPH10143441A (ja) 機密保持機能を備えた半導体装置、符号処理方法及びそのソフトウエアを記憶した記憶媒体
JPH1063580A (ja) Icカード
JP7487837B1 (ja) 電子情報記憶媒体、icチップ、icカード、鍵データ格納方法、及びプログラム
JPH09179949A (ja) 携帯可能情報記録媒体とそのリーダライタ装置
JP2007316865A (ja) メモリカード

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110502

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: 20110823

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110915

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4828809

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350