[go: up one dir, main page]

CN101203867B - 读出数据长度的指定方法 - Google Patents

读出数据长度的指定方法 Download PDF

Info

Publication number
CN101203867B
CN101203867B CN2006800219845A CN200680021984A CN101203867B CN 101203867 B CN101203867 B CN 101203867B CN 2006800219845 A CN2006800219845 A CN 2006800219845A CN 200680021984 A CN200680021984 A CN 200680021984A CN 101203867 B CN101203867 B CN 101203867B
Authority
CN
China
Prior art keywords
card
length
data length
terminal
designation method
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 - Fee Related
Application number
CN2006800219845A
Other languages
English (en)
Other versions
CN101203867A (zh
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN101203867A publication Critical patent/CN101203867A/zh
Application granted granted Critical
Publication of CN101203867B publication Critical patent/CN101203867B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • 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/0806Details of the card
    • G07F7/0833Card having specific functional components
    • G07F7/084Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

在终端指定地址和数据长度并从IC卡的文件读出数据时,来自IC卡的响应形成TLV结构,其L的字段长度可变化的话,有可能得不到终端所要求的长度大小的数据,从而损坏相互使用性。关于指定来自IC卡的响应数据的最大长度的Le字段,在终端和IC卡之间共有终端从所要求的数据长度向Le值变换的变换规则。或者,与Le字段不同,在数据字段内指定终端所要求的数据长度。由此,可以依据ISO/IEC7816的消息构造,同时将终端所要求的数据长度明确地传达给IC卡。

Description

读出数据长度的指定方法
技术领域
本发明涉及一种从IC卡的文件读出数据时的数据长度的指定方法。
背景技术
近年来,IC卡正作为代替磁卡的高安全设备而被实用化。IC卡具有非易失性存储器,可以将数据以文件形式存储于其中。IC卡的文件有几个种类,最简单且广泛地被使用的是被称为透明文件的形式的类型。该文件如图14所示,是将文件的开头地址作为0号地址,指定距那里的偏移值(开始地址)和数据长度来进行读取的类型的文件。
从透明文件9进行数据读出时,针对IC卡的通常读出指令1500采取图15所示的构造。在指令头151中除了指令名,还指定想读出的开始地址。Le152是用于在作为对于本指令的应答而从IC卡返回的响应中,指定要求多少长度的数据的内容,在本指令的情况下,设定想从透明文件9读出的数据长度。
针对本指令1500的响应1600采取图16所示的构造。数据161是从透明文件9读出的数据,具有在指令Le152上所指定大小的长度。状态162表示指令的执行结果,通常设定表示“正常结束”的信息。
这里,如果要更详细地说明Le152的意思的话,Le152用来指定作为响应数据161而要求的长度的最大长度。例如,在读出Le大小的长度的数据之前达到透明文件9的终端时,IC卡读出直到透明文件9的终端为止的数据。这时,作为状态162,代替表示“正常结束”,可以返回表示已到达透明文件9的终端的内容的警告信息。这样,Le152表示所要求的最大长度,IC卡不可以返回超过Le152的长度的数据。相反,如果是Le以内的话,则将满足ISO/IEC规格。另外,作为Le152的值而指定“00”(16进制表示,以下相同)时,表示256字节,可以在1次指令中读出最大到256字节的数据161。
另外,省略详细的说明,当想读出超过256字节长度的数据时,以3字节来表示Le152。把这个叫做扩展Le。特别是通过设定“000000”(3字节)作为Le152,从而可以读出最大到64K字节(65,536)。
指令头151由4字节构成,其中15位被用于指定开始地址。因此,可以指定最大到32K字节(32,767)。最近随着IC卡用途的广泛应用,文件大小有增大的趋势,为了处理超过32K字节的透明文件,需要扩展了上述说明了的指令(下面称为通常读出指令)的功能的指令(下面称为扩展读出指令)。该扩展读出指令1700的构造表示在图17。
指令头171中指定指令名。Lc172表示后续的TLV对象的长度。TLV对象一般由标签(Tag)、长度信息(Length)、值(Value)3要素构成(取各自的开头字母,称为“TLV”)。标签T表示其对象的类别,长度信息L表示后续的值V的长度。另外,值V是该对象的信息主体。在本指令的情况下,在值V175中设定想读出的开始地址Addr。在标签T173中设定固定值,该固定值表示该数据对象是指定开始地址的情况。长度信息L174根据值V(Addr)175的长度是可以变化的。如果是该构造,则例如如果用3字节表现值V(Addr)175,则可指定到16M为止的地址。最后,Le176如前所述,表示作为响应数据而要求的最大长度。
相对于扩展读出指令1700的响应1800采取如图18所示的构造。该响应1800也采取TLV构造,将读出的数据作为值V183而封装化。在标签T181中设定固定值,该固定值表示该数据对象为读出数据。长度信息L182表示值V183的长度,根据下述规则被编码化(参照图19)
V183的长度在0~127的范围时,L182由1字节构成,将最高位的位设定为“0”(2进制表示),用剩下的7位表示V183的长度。另外,当V183的长度大于等于128时,L182由多个字节构成,将最高位字节的最高位的位设定为“1”(2进制表示),以剩下的7位表示后续的L的字节数。并且,将V183的长度设定在后续的L中。例如当L182以3字节构成时,以最高位字节和后续的2字节构成,在最高位字节中设定值“82”,在后续的2字节上设定V183的长度。根据该规则,以1~3字节表现L182时,取得的V183的长度范围分别成为0~127、0~255、0~65,535。
这里所说明的现有技术被详细记载在下述非专利文献中。
非专利文献1:ISO/IEC7816-4 First Edition 5.3节
非专利文献2:ISO/IEC7816-4 Second Edition 7.2节
发明内容
但是,现有技术具有以下问题。如上所述,由于扩展读出指令1700的Le176是响应中除去状态184的部分整体(以下称为数据字段)的最大长度,因此,还包含T181以及L182的部分,而不仅仅单是V183的长度。这里T181的字段长度为固定1字节,但是,关于L182的字段长度,如图19所示那样,当L182的值为从0到127时,L182的字段长度可以用1字节到3字节之间的任意一个字节数来表示,另外,当L182的值为从128到255时,L182的字段长度可以用2字节或3字节中的某个来表示。这样,即使是相同的L182的值,也有可能因为IC卡而导致L182的字段长度发生改变,并由此作为响应而被返回的V183自身的长度也发生改变。因此,有可能得不到终端所要求的长度大小的数据,从而产生损害终端和IC卡之间的相互使用性的问题。
为了解决所述问题,本发明的读出数据长度的指定方法其特征为,根据终端要求的数据长度,从多个计算式中选择一个计算式,根据该选择的计算式变换上述数据长度,使IC卡得知该变换值,并且IC卡根据该变换值从与终端具有的上述计算式成对的多个计算式中选择一个计算式,根据被选择的计算式从上述变换值中计算出上述数据长度。通过该方法,终端和IC卡根据共同的规则进行处理,因此,可以可靠地读取终端所要求的长度的数据。
另外,本发明的读出数据长度的指定方法,其特征在于,终端在所要求的数据长度上加上L的字段长度的最大值,并使将IC卡得知其相加值,并且IC卡通过从其相加值中减去所述最大值而计算出所述数据长度。通过该方法,终端和IC卡根据共同的简易规则进行处理,因此,可以更高效率地可靠地读取终端所要求的长度的数据。
进一步,由于具有将所述最大值由终端或者IC卡通知给另一方的手段,因此不需要将最大值固定化,既能够应对多应用环境也能够应对单应用中的未来扩展。
另外,由于具有将用于识别应用了所述第一读出数据长度的指定方法和所述第二读出数据长度的指定方法中的哪一种的信息,由终端或者IC卡通知给另一方的手段,因此,不需要将指定方法固定化,既能够应对多应用环境也能够应对单应用中的未来扩展。
另外,本发明的读出数据长度的指定方法,其特征在于,从终端向IC卡发送的指令具有第一字段和第二字段,终端用所述第一字段指定来自IC卡的响应的数据字段的最大长度,并且用所述第二字段指定所要求的数据长度。通过该方法,IC卡可以明确地知道终端所要求的实质的数据长度,因此可以可靠地读取终端所要求的长度的数据。另外,在该方法中,必要的信息全部以指令的形式从终端被明示地传递给IC卡,因此对于在多应用环境以及单应用的未来扩展中能够进行需要的应对。
进一步,存储在IC卡的文件中的数据构成第一TLV构造,当来自IC卡的响应构成以所述第一TLV构造的数据作为嵌套的形式的第二TLV构造时,用所述第二字段指定所述第一TLV构造的L的累积值。通过该方法,终端不用意识到IC卡的文件内的各个TLV对象的长度信息是否被扩展,而通过要求仅是实质的数据长度的总和,可以可靠地读取终端所要求的长度的数据。
另外,当所述文件具有空区域时,在生成响应时,具有IC卡将该空区域跳读的手段,因此可以进行高效率的传送。
通过上述手段,终端和IC卡根据共同的规则进行处理,因此可以可靠地读取终端所要求的长度的数据,从而确保相互使用性。另外,消除了终端和IC卡之间默契事项,从而在多应用环境和单应用的未来扩展中都能够进行所需的应对。进一步,当存储在IC卡的文件中的数据构成TLV构造时,也可以应对它。
附图说明
图1是本实施方式1的IC卡系统的结构图。
图2是本实施方式1的终端1的指令组织部4的处理流程图。
图3是说明本实施方式1的变换规则的图。
图4是表示相对于本实施方式1的扩展读出指令1700的响应400a,400b,400c的构造的图。
图5是表示本实施方式1的IC卡2的指令解析部10的处理流程的图。
图6是表示本实施方式3的扩展读出指令600的构造的图。
图7是本实施方式4的扩展读出指令的构造图。
图8是本实施方式5的扩展读出指令的构造图。
图9是本实施方式6的透明文件的结构图。
图10是相对于本实施方式6的扩展读出指令的响应的构造图。
图11是本实施方式7的透明文件的结构图。
图12是相对于本实施方式7的扩展读出指令的响应的构造图。
图13是本实施方式7的响应组织部的处理流程图。
图14是一般IC卡的透明文件的构造图。
图15是表示一般的通常读出指令1500的构造的图。
图16是表示相对于一般的通常读出指令1500的响应1600的构造的图。
图17是表示一般的扩展读出指令1700的构造的图。
图18是表示相对于一般的扩展读出指令1700的响应1800的构造的图。
图19是关于一般的TLV构造的长度信息的编码规则的说明图。
附图标记说明
1、终端
2、IC卡
3、上位应用
4、指令组织部
5、Lv/Le变换部
6、响应解析部
8、指令处理部
9、透明文件
10、指令解析部
11、Le/Lv变换部
12、响应组织部
具体实施方式
下面,边参照附图边说明本发明的实施方式。
(实施方式1)
图1是表示实施本发明实施方式1的读出数据长度的指定方法的IC卡系统100的结构图。
图1中,1为终端,2为IC卡,在终端1中,3为上位应用,4为指令组织部,5为Lv/Le变换部,6为响应解析部,7为接收发送部。另外,在IC卡2中,8为指令处理部,9为透明文件,10为指令解析部,11为Le/Lv变换部,12为响应组织部,13为接收发送部。
图1所示的IC卡系统100中,终端1的上位应用3在想从被存储在IC卡2中的透明文件9中读出数据时,将开始地址和数据长度指示给指令组织部4。
下面,根据图2的处理流程来说明关于上述终端1内的指令组织部4中的处理内容。指令组织部4判断由上位应用所提供的开始地址是否在32K字节以内(步骤S21),如果是在32K字节以内的话,则可以使用通常读出指令,因此将图15所示的构造的通常读出指令1500进行组织。即,在指令头151设定通常读出指令的指令名和由上位应用3所提供的开始地址(步骤S22)。另外,在Le152中原样地设定由上位应用3所提供的数据长度(步骤S23)。将这样组织成的通常读出指令1500送到接收发送部7(步骤S24)。
另一方面,指令组织部4在由上位应用3所指示的开始地址超过32K字节时,对图17所示的构造的扩展读出指令1700进行组织。即,在指令头171中设定扩展读出指令的指令名(步骤S25)。另外,在V(Addr)175中设定由上位应用3所提供的开始地址,在L174中设定其长度。在T173中设定固定值,该固定值表示该数据对象是指定开始地址。另外,在Lc172中设定该TLV对象的长度(步骤S26)。
下面有关Le176,Lv/Le变换部5按照图3所示的规则进行编码。(步骤S27)。Lv是由上位应用3所提供的数据长度,是上位应用3所要求的实质的数据长度。根据该Lv值,按照图3的规则将Le进行编码。即、当Lv处于1~127的范围时,来自IC卡2的响应400a的构造为:因为如图4(a)所示那样以1字节来表示L42,所以与T41的1字节大小合起来,在Le中设定在Lv上加上了2后得到的值。另外,Lv处于128~255的范围时,来自IC卡2的响应400b的构造为:因为如图4(b)所示那样用2字节表示L44,所以与T43的1字节大小合起来,在Le上设定在Lv上加上了3后得到的值。另外,Lv处于256~65,535的范围时,来自IC卡2的响应400c的构造为:因为如图4(c)所示那样用3字节表示L46,所以与T45的1字节大小合起来,在Le中设定在Lv上加上4之后得到的值。这样应用对应了Lv值的计算式,唯一地决定Le的值。
指令组织部4将附加了该Le176而组织得到的扩展读出指令1700交付接收发送部7(步骤S24)。
接收发送部7将由指令组织部4所交付的通常读出指令或扩展读出指令发送到IC卡的接收发送部13。
IC卡的接收发送部13接收到来自终端1的上述指令后,将处理交给指令解析部10。
下面,根据图5的处理流程来说明本是实施方式1的指令解析部10的处理内容。指令解析部10具有判别终端1所要求的开始地址和数据长度的作用,首先,观察接收到的指令的指令头,判断该指令是通常读出指令1500还是扩展读出指令1700,对应各自情况将处理分支(步骤S51)。当是通常读出指令1500时,从指令头151出开始地址,将指令的Le152直接作为数据长度交付指令处理部8(步骤S52~54)。
另一方面,当是扩展读出指令1700时,从TLV对象173、174、175取出开始地址(步骤S55)。关于数据长度,IC卡2也和终端1一样具有处理图3的计算式的Le/Lv变换部11,通过进行终端1的Lv/Le变换5的正好逆运算,从Le计算出Lv(终端1所要求的实质的数据长度)(步骤S56)。将这样而得到的开始地址和数据长度交付指令处理部8(步骤S54)。
指令处理部8不去意识该指令是通常读出指令1500还是扩展读出指令1700,而是按照所提供的开始地址和数据长度,从透明文件9读出数据并交给响应组织部12。
响应组织部12从指令解析部10得到该指令是通常读出指令1500还是扩展读出指令1700的信息后,根据其信息组织图16或者图18所示的构造的响应1600、1800。
这样所组织起来的响应1600或1800经由IC卡2的接收发送部13以及终端1的接收发送部7被交付给响应解析部6。响应解析部6也是另外从指令组织部4得到该指令是通常读出指令1500还是扩展读出指令1700的信息后,根据其信息解析响应的构造,将数据交给上位应用3。
这样,通过终端1和IC卡2共有图3所示的变换规则,从而可以从IC卡2的透明文件9可靠地读出终端1所要求的长度的数据。
如上所述,根据基于本实施方式1的读出数据长度的指定方法,使得终端和IC卡共有根据终端所要求的数据长度而决定Le的值的变换式,因此能够从IC卡可靠地读出终端所要求的长度的数据。
另外,在上述说明中,假定可以用1字节的Le表示数据长度的情况,当数据长度超过256字节时,将使用被编码为3字节的扩展Le。
另外,在上述说明中,如果数据长度是在32K字节以内的话,则使用通常读出指令1500,但是即使是在32K字节以内也可以使用扩展读出指令1700。这时,将不需要根据指令的种类而分支的处理(步骤S21以及步骤S51)和关于通常读出指令的处理(步骤S22、S23以及步骤S52、S53)。
(实施方式2)
本实施方式2的读出数据长度的指定方法为:IC卡系统的结构和所述实施方式1的相同,具有如图1所示的结构,而Lv/Le变换部5以及Le/Lv变换部11的处理内容为不同。
即、在所述实施方式1中,按照终端1所要求的数据长度Lv改变了变换式,但是在本实施方式2,Lv/Le变换部5以及Le/Lv变换部11的变换式设为总是一定的。例如,不管Lv的值,该变换式必须使用假定3字节作为L的字段长度的计算式Le=Lv+4。即、终端1总是在所要求的数据长度Lv上加上4后计算出Le,将设定了该Le的指令发送给IC卡2。另一方面,在IC卡2中,总是将从Le减去4之后的值视为终端1所要求的数据长度。
在这样的实施方式2中,也是在终端1和IC卡2中共有一个变换规则,与所述实施方式1相同,可以从IC卡2的透明文件9可靠地读出终端1所要求的长度的数据。并且,和所述实施方式1相比较时,不需要基于数据长度而进行分支,减轻终端1以及IC卡2的处理,对处理效率以及程序大小方面都有利。
如上所述,本实施方式2的读出数据长度的指定方法为:不管来自终端的读出数据长度,将终端和IC卡所共有的Le的变换式设定为一定,所以可以可靠并且高效地从IC卡读出终端所要求的长度的数据。
另外,当被读出的数据长度为255字节以下时,来自IC卡2的响应L182可以用1字节到2字节进行编码。另外,IC卡2根据数据长度可以改变L182的字段长度(1~3字节),也可以固定为3字节。当将L182的字段长度设为1字节到2字节时,响应的数据字段长度(T181,L182,V183整体的长度)比以指令所指定的Le176短,但是Le176表示要求的最大长度,所以满足ISO/IEC的规格。另外,无论是任何方法,因为L182按照图19的规则1900被编码,所以终端1能够得知响应数据的正确长度。
(实施方式3)
在所述实施方式2中,在读出数据长度必须收敛在256字节以内时,可以使用假定2字节作为L182的字段长度的计算式Le=Lv+3。是使用计算式Le=Lv+4还是使用Le=Lv+3,是根据其应用以一个指令读出最大几个字节的数据来决定的,因此依赖于应用。当IC卡2只在一个应用中被使用时,可以假定终端1和IC卡2都知道使用了哪个计算式这样状况,但是在多应用环境中使用IC卡时,有必要设计在终端1和IC卡2之间对使用哪个计算式进行共有的手段。
本实施方式3的读出数据长度的指定方法为:在上述实施方式2的数据长度的指定方法中,在从终端1向IC卡2发送的指令中指定使用哪个计算式,由此使得也能够应对多应用环境。
下面,利用图6来说明本实施方式3的读出数据长度的指定方法。图6是表示在本实施方式3的读出数据长度的指定方法中所使用的扩展读出指令600的构造图。
在指令头61中指定指令名。Lc62表示后续的2个TLV对象整体的长度。有关最初的TLV对象,和图17相同,在值Vp(Addr)65中设定想要读出的开始地址。在标签Tp63中设定固定值,该固定值表示该数据对象是指定开始地址;在长度信息Lp64中设定Vp(Addr)65的长度。第二个TLV对象表示本实施方式3的特征,在值Vq(Form)68中设定用于识别使用的计算式的信息。具体地说,例如在值Vq(Form)68中设定为“01”的话,表示使用计算式Le=Lv+3(L182的字段长度的最大值为2字节),如果设定为“02”,则表示使用计算式Le=Lv+4(L182的字段长度的最大值为3字节)。标签Tq66中设定固定值,该固定值表示该数据对象是指定所使用的计算式;在长度信息Lq67中设定Vq(Form)68的长度。最后,根据Vq(Form)68所指定的计算式,在Le69中设定根据终端1所要求的数据长度计算出的值。
根据基于这样的实施方式3的读出数据长度的指定方法,在用于计算出Le的多个计算式中,由于在终端1和IC卡2之间可以在通信开始后决定使用哪个计算式,所以,可以应对多应用环境。另外,即使是在单个应用中,也可应对未来扩展。
另外,当然上述所示的Vq(Form)68的值只是个例子。另外,在上述说明中,表示了连接2个TLV对象的情况,但是不仅限于此,例如,可以是在1个TLV中汇总Vp(Addr)和Vq(Form)的信息等各种各样的实现例子。进一步,在本实施方式3中,说明了响应数据的L182的字段长度最大为3字节时的情况,但未来扩展到比L的字段长度更大尺寸的情况也可以容易地与此对应。
另外,上述的读出数据长度的指定方法是由终端特定所使用的计算式,但是,即使IC卡2具有用于识别所使用的计算式的信息也能够得到同样的效果。例如,终端1和IC卡2之间的通信开始时的初始处理中,可以将用于识别所使用的计算式的信息从IC卡2发送到终端1,或者也可以作为某个特定的指令响应,将该信息从IC卡2发送到终端1。
(实施方式4)
所述实施方式3的读出数据长度的指定方法是一种在终端1和IC卡2之间共有用于识别所使用的计算式的信息的方法。这里,可以认为,和上述实施方式3同样地使用TLV对象,将识别是使用实施方式1所说明过的方法和在实施方式2所说明过的方法的中的哪个的信息在终端1和IC卡2之间共有。如前所述,当只限定于一个应用而考虑时,能够假定以下这样的状况,即对于使用实施方式1所说明过的方法还是使用实施方式2所说明过的方法,由终端1和IC卡2共同知道,但是在多应用环境中使用IC卡时,有必要设计在终端1和IC卡2之间共有使用哪个方法的手段。另外,该手段即使是在单个应用环境中在考虑了未来扩展性的情况下也是有必要的。
本实施方式4的读出数据长度的指定方法为:在从终端1发送给IC卡2的指令中指定是使用所述实施方式1以及所述实施方式2的数据长度的指定方法的哪一个,在终端和IC卡之间,执行所述实施方式1以及所述实施方式2的数据长度的指定方法的某一个。
在从终端1发送给IC卡2的指令中指定是使用所述实施方式1的方法(以下为[第1数据长度的指定方法])和所述实施方式2的方法(以下为[第2数据长度的指定方法])的哪个时,如图7所示,可以使用将图6的扩展读出指令600进行了变形后的700。在图7中,代替图6的Vq(Form)的TLV对象(Tq66/Lq67/Vq68),使用用于识别所使用的方法的TLV对象(Tr76/Lr77/Vr78)。具体地说,如果例如在值Vr(Meth)78中设定“01”的话,表示使用第1数据长度的指定方法,如果设定“02”的话,表示使用第2数据长度的指定方法。在标签Tr76中设定固定值,该固定值表示该数据对象是指定所使用的方法的;在长度信息Lr77中设定Vr(Meth)78的长度。最后在Le79中根据所使用的方法,设定根据终端1所要求的数据长度计算出的值。
根据基于这样的实施方式4的读出数据长度的指定方法,由于在终端1和IC卡2之间可以在通信开始后决定是使用所述第1数据长度的指定方法和使用第2数据长度的指定方法的哪个,所以在多应用环境下,可以执行第1数据长度的指定方法以及第2数据长度的指定方法中的某一个。另外,即使是在单个应用中也可应对未来扩展。
另外,利用Vr(Meth)78来特定的读出数据长度的指定方法不仅限于上述方法,也可以设为特定组合了本实施方式4和上述实施方式3的各种各样的读出数据的指定方法的方法。例如,如果在值Vr(Meth)中设定“01”的话,表示使用第1数据长度的指定方法;如果设定“02”的话,表示第2数据长度的指定方法且使用计算式Le=Lv+3;如果设定“03”的话,表示第2数据长度的指定方法且使用计算式Le=Lv+4。
或者,指令中如果存在有Vq(Form)的TLV对象的话,则表示使用第2数据长度的指定方法,并且利用Vq(Form)的值所使用的计算式被决定;指令中如果存在有Vr(Meth)的TLV对象的话,也可以表示使用第1数据长度的指定方法(这时,Vr(Meth)的值自身不具有意义)。这时,当Vq(Form)的TLV对象和Vr(Meth)的TLV对象任何一个都不存在时,或者两者都存在时,就会成为错误。
另外,也可以和所述实施方式3相同,使IC卡2具有用于识别所使用的方法的信息。该识别信息作为终端1和IC卡2之间的通信开始时的初始处理,或者作为某个特定指令的响应,被从IC卡2发送到终端1。
(实施方式5)
本实施方式5的读出数据长度的指定方法为在指令内的Le以外的其他字段明确地指定终端所要求的实质的数据长度Lv的方法。在该方法中,如图8那样,可以使用将图6的扩展读出指令600进行了变形后的800。在图8中,代替图6的Vq(Form)的TLV对象(Tq66/Lq67/Vq68),使用用于指定实质的数据长度Lv的TLV对象(Ts86/Ls87/Vs88)。具体地说,在Vs(Len)88直接设定Lv。在标签Ts86中设定固定值,该固定值表示该数据对象是指定Lv;在长度信息Ls87中设定Vs(Len)88的长度。
本实施方式5的情况下,由于终端所要求的数据长度用Vs(Len)88来表示,所以Le89不具有重要意义。其中,在ISO/IEC的规格上,由于具有在Le89中设定终端所要求的最大长度的决定,所以有必要设定适当的值。设定在Vs(Len)88的值上加上了4的值的作法是一种方法,但最好是设定表示最大长度的“00”。这样的话,没有必要每次进行在Vs(Len)88的值上加上4等的计算,处理变得简单。另外,由于在“00”时最大只能返回到256字节,所以当具有超过256字节的可能性时,设定扩展Le的最大长度“000000”(3字节)。
根据基于这样的本实施方式5的数据长度的指定方法,IC卡可以明确地知道终端所要求的实质的数据长度,所以可以从IC卡的透明文件可靠地读出终端所要求的长度的数据。进一步,在该方法中,由于可以将必要信息全部以指令的形式从终端明示地传达给IC卡,所以在多应用环境和单个应用的未来扩展中都能应对。
(实施方式6)
根据基于本实施方式6的读出数据长度的指定方法为:在上述实施方式5中,当被存储在透明文件中的数据本身如图9那样为TLV构造时,在指令内的Le以外的其他字段明确地指定终端所要求的实质的数据长度Lv。
在图9所示的本实施方式6的读出数据长度的指定方法所使用的透明文件900中,存储有n个TLV对象(T1/L1/V1~Tn/Ln/Vn)。
从该透明文件900读出数据时,本实施方式6的响应1000a的构造如图10(a)所示那样。图10(a)的响应1000a表示以下情况,即,用图8的Vs(Len)88指定相当于K个大小的TLV对象(T1/L1/V1~Tk/Lk/Vk)103的长度的Lv。这样,这时的响应1000a具有将TLV构造双重化了的嵌套构造(即,具有由T101,L102以及其值(Value)部分组成的TLV构造,并且具有在其中的值(Value)部分内具有T1/L1/V1~Tk/Lk/Vk的TLV构造)。标签T101是表示该数据对象为读出数据、且具有嵌套构造的固定值。长度信息L102表示后续的k个TLV对象整体的长度。T1/L1/V1~Tk/Lk/Vk103是从IC卡的透明文件读出的数据。
例如当全部以1字节表示存储在IC卡的透明文件中的多个TLV对象的各个长度信息时,该方法没有问题,但是,一部分的长度信息被扩展到2字节(或3子节),并且终端不识别该情况而将长度信息全部为1字节作为前提来指定Vs(Len)88时,IC卡由于超过Vs(Len)88所指定的长度而不能返回响应数据,因此,k个大小的TLV对象中的最后一部分发生欠缺了L1,L2,...,Lk的一部分被扩展的大小。
为了解决该问题,在本实施方式6,如图10(b)所示,采用下述方法,即、在Vs(Len)88中设定只相加了各个TLV对象的长度信息所得到的值(即,令Vs(Len)=L1+L2+L3+...+Lk)。
这样,终端不去意识IC卡的透明文件内的各个TLV对象的长度信息是否被扩展,而通过要求仅是实质的数据长度的总和,而可以可靠地读取终端所要求的长度的数据。另一方面,对IC卡来说,可容易地实现下述处理,即、只对各个TLV对象的V部进行相加,将直到达到Vs(Len)情况为止作为响应的数据而返回。
(实施方式7)
本实施方式7的读出数据长度的指定方法为:在上述实施方式6中,存储在透明文件中的TLV对象的一部分被改写时,以指令内的Le以外的其他字段来明确地指定终端所要求的实质的数据长度Lv。
图11表示改写了本实施方式7的第2个TLV对象时的透明文件1100。在该透明文件1100中,虽然标签T2未被改写,但是V2被改写成比原来的数据长度短的V2’,与此相伴,长度信息也被改写成表示V2’的长度L2’。由于被改写成短的长度而产生的空区域以“00”填补。由于“00”是不能作为标签而使用的值,因此,IC卡可以识别出以该“00”填补的区域为空区域。
从这样的透明文件1100读出了数据时,在本实施方式7中考虑以下两种的响应构造。第一种构造为,如图12(a)所示,将包含了存储在透明文件中的标签、长度信息以及空区域的整体长度指定为Vs(Len)88。另外,第二种构造为,如12(b)所示,将只是实质的数据长度的总和指定为Vs(Len)88。这时,IC卡把“00”判断为是空区域,由响应数据进行切掉。利用图13的流程图来说明该IC卡的处理。图13对本实施方式7的响应数据的组织进行了说明。
首先,IC卡从透明文件1100读出1字节(步骤S131),检查其数据是否为“00”(步骤S132)。该数据如果是“00”,则其不是标签而视其为空区域,读出下一个1字节。“00”持续的空间作为空区域而被跳读。另一方面,如果是“00”之外的话,其字节被视为标签,并作为响应数据而进行设定(步骤S133)。之后,读出是长度信息之处的下一个1字节(步骤S134),并进行根据图19的规则的处理。即、该1字节如果处于“00”~“7f”的范围内(步骤S135),则该数据被视为由1字节所表示的长度信息,将该1字节设定在响应数据中(步骤S136)。另外,该1字节如果为“81”的话(步骤S137),则后续的1字节被视为长度信息,将“81”和后续的1字节设定在响应数据中(步骤S138)。同样,该1字节如果为“82”(步骤S139),则后续的2字节被视为长度信息,将“82”和后续的2字节设定在响应数据中(步骤S140)。如果是这之外的值,则作为错误进行处理(步骤S141)。接着从透明文件1100读出后续的长度信息大小的数据,设定在响应数据中(步骤S142)。
这样一来,将1个TLV对象作为响应数据进行设定之后,将TLV对象的L值相加(步骤S143),检查到此前为止的累积值是否达到了Vs(Len)(步骤S144)。当累积值未达到Vs(Len)时,与进入到下一个TLV对象的读出处理,进行同样的处理。另一方面,当累积值达到Vs(Len)时,作为终端所要求大小的读出完成而结束处理。
这样,根据本实施方式7的读出数据长度的指定方法,终端不去意识IC卡的透明文件内的各个TLV对象的长度信息是否被扩展,而可以要求只是实质的数据长度的总和,而且将对终端来说不需要的空区域的数据“00”从响应数据中切掉而进行高效率地传送。
工业上的可利用性
关于本发明的方法对于使用了具有容量大的透明文件的IC卡的系统是有用的。

Claims (9)

1.一种读出数据长度的指定方法,是一种根据来自终端的要求从IC卡内的文件读出数据时的读出数据长度的指定方法,其特征在于:
来自IC卡的响应形成TLV构造,在其L的字段长度可变的情况下,终端根据所要求的数据长度从多个计算式中选择1个计算式,并根据该选择出的计算式变换所述数据长度,将该变换值通知给IC卡;
IC卡根据该变换值,从与终端所具有的所述计算式成对的多个计算式中选择:成为上述根据所要求的数据长度选择的1个计算式的逆运算的1个计算式,并利用该选择出的成为逆运算的计算式根据所述变换值计算出所述数据长度。
2.一种读出数据长度的指定方法,是一种根据来自终端的要求从IC卡内的文件读出数据时的读出数据长度的指定方法,其特征在于:
来自IC卡的响应形成TLV构造,在其L的字段长度可变的情况下,终端在所要求的数据长度上加上所述L的字段长度的最大值,并将该相加值通知给IC卡;
IC卡通过从该相加值中减去所述最大值而计算出所述数据长度。
3.根据权利要求2所述的读出数据长度的指定方法,其特征在于:
IC卡必须利用所述最大长度对L的字段进行编码。
4.根据权利要求2所述的读出数据长度的指定方法,其特征在于:
IC卡根据数据的长度以可变长度对L的字段进行编码。
5.根据权利要求2所述的读出数据长度的指定方法,其特征在于:
将所述最大值由终端或IC卡中的一方通知给另一方。
6.一种读出数据长度的指定方法,是一种根据来自终端的要求从IC卡内的文件读出数据时的读出数据长度的指定方法,其特征在于:
由终端和IC卡中的一个向另一个通知如下信息:该信息用于识别使用了第1读出数据长度指定方法和第2读出数据长度指定方法中的哪一个方法,
按照该信息切换终端以及IC卡之间的读出数据长度的指定方法,
其中,所述第1读出数据长度指定方法是如下方法:来自IC卡的响应形成TLV构造,在其L的字段长度可变的情况下,终端根据所要求的数据长度从多个计算式中选择1个计算式,并根据该选择出的计算式变换所述数据长度,并将该变换值通知给IC卡;IC卡根据该变换值,从与终端所具有的所述计算式成对的多个计算式中选择:成为上述根据所要求的数据长度选择的1个计算式的逆运算的1个计算式,并利用该选择出的成为逆运算的计算式根据所述变换值计算出所述数据长度;
所述第2读出数据长度指定方法是如下方法:来自IC卡的响应形成TLV构造,在其L的字段长度可变的情况下,终端在所要求的数据长度上加上所述L的字段长度的最大值,并将该相加值通知给IC卡;IC卡通过从该相加值中减去所述最大值而计算出所述数据长度。
7.一种读出数据长度的指定方法,是一种根据来自终端的要求从IC卡内的文件读出数据时的读出数据长度的指定方法,其特征在于:
来自IC卡的响应形成TLV构造,在其L的字段长度可变的情况下,从终端向IC卡发送的指令具有第一字段和第二字段,终端用所述第一字段指定来自IC卡的响应的数据字段的最大长度,并用所述第二字段指定所要求的数据长度。
8.如权利要求7所述的读出数据长度的指定方法,其特征在于:
当存储在所述文件中的数据形成第一TLV构造,来自IC卡的响应形成第二TLV构造时,用所述第二字段指定所述第一TLV构造的L的累积值,
其中,在所述第二TLV构造中嵌套有所述第一TLV构造的数据。
9.如权利要求8所述的读出数据长度的指定方法,其特征在于:
在所述文件具有空区域的情况下,在生成响应时,所述IC卡把该空区域跳读。
CN2006800219845A 2005-07-05 2006-06-29 读出数据长度的指定方法 Expired - Fee Related CN101203867B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005195901 2005-07-05
JP195901/2005 2005-07-05
PCT/JP2006/313030 WO2007004525A1 (ja) 2005-07-05 2006-06-29 読出しデータ長の指定方法

Publications (2)

Publication Number Publication Date
CN101203867A CN101203867A (zh) 2008-06-18
CN101203867B true CN101203867B (zh) 2010-05-19

Family

ID=37604392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800219845A Expired - Fee Related CN101203867B (zh) 2005-07-05 2006-06-29 读出数据长度的指定方法

Country Status (5)

Country Link
US (1) US20090224041A1 (zh)
EP (1) EP1909217A1 (zh)
JP (1) JP4667459B2 (zh)
CN (1) CN101203867B (zh)
WO (1) WO2007004525A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1927956A1 (en) * 2006-11-30 2008-06-04 Incard SA Multi-applications IC Card with secure management of applications
JP2010009467A (ja) * 2008-06-30 2010-01-14 Toshiba Corp 情報記憶媒体、情報処理システム、及びコマンド方法
JP5150672B2 (ja) * 2010-03-18 2013-02-20 株式会社東芝 携帯可能電子装置、及び携帯可能電子装置の制御方法
US8291146B2 (en) * 2010-07-15 2012-10-16 Ati Technologies Ulc System and method for accessing resources of a PCI express compliant device
JP5889653B2 (ja) * 2012-01-27 2016-03-22 株式会社東芝 Icカード
JP6241340B2 (ja) * 2014-03-20 2017-12-06 大日本印刷株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
DE102014112496A1 (de) * 2014-08-29 2016-03-03 Bundesdruckerei Gmbh Speicherverwaltung für eine Chipkarte
CN114205055A (zh) * 2021-12-13 2022-03-18 北京恒安嘉新安全技术有限公司 数据传输方法、装置、设备及存储介质
CN114979064B (zh) * 2022-08-01 2022-10-21 北京天融信网络安全技术有限公司 Opcda报文处理方法、装置、电子设备及存储介质
JP7501764B1 (ja) 2023-09-22 2024-06-18 大日本印刷株式会社 電子情報記憶媒体、icチップ、icカード、データ送受信方法、及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1602499A (zh) * 2002-10-04 2005-03-30 索尼株式会社 数据管理系统、数据管理方法、虚拟存储设备、虚拟存储器控制方法、阅读器/写入器装置、 ic模块访问设备、以及ic模块访问控制方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68926753T2 (de) * 1988-03-18 1997-01-09 Toshiba Kawasaki Kk Einrichtung zur Wiederauffindung von Datenfolgen
JP3028815B2 (ja) * 1988-08-19 2000-04-04 株式会社東芝 携帯可能電子装置の伝送方法と携帯可能電子装置
JPH04329494A (ja) * 1991-04-30 1992-11-18 Dainippon Printing Co Ltd Icカードリーダライタにおけるデータ変換方法
US6111660A (en) * 1998-09-30 2000-08-29 N*Able Technologies, Inc. Efficient digital data encoding in a data processing system
AUPR966001A0 (en) * 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A microprocessor card defining a custom user interface
JP3970282B2 (ja) * 2002-10-16 2007-09-05 松下電器産業株式会社 Icカード、データ転送装置、データ転送方法及びデータ転送方法のプログラム
JP4081667B2 (ja) * 2002-11-25 2008-04-30 沖電気工業株式会社 Icカード読取装置
EP1701244B1 (en) * 2003-12-09 2015-04-01 Panasonic Corporation Electronic device, control method thereof, host device, and control method thereof
US7318550B2 (en) * 2004-07-01 2008-01-15 American Express Travel Related Services Company, Inc. Biometric safeguard method for use with a smartcard
US20060016872A1 (en) * 2004-07-01 2006-01-26 American Express Travel Related Services Company, Inc. Method and system for iris scan recognition biometrics on a smartcard

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1602499A (zh) * 2002-10-04 2005-03-30 索尼株式会社 数据管理系统、数据管理方法、虚拟存储设备、虚拟存储器控制方法、阅读器/写入器装置、 ic模块访问设备、以及ic模块访问控制方法

Also Published As

Publication number Publication date
JP4667459B2 (ja) 2011-04-13
CN101203867A (zh) 2008-06-18
WO2007004525A1 (ja) 2007-01-11
JPWO2007004525A1 (ja) 2009-01-29
EP1909217A1 (en) 2008-04-09
US20090224041A1 (en) 2009-09-10

Similar Documents

Publication Publication Date Title
US8174367B1 (en) Causing RFID tags to backscatter more codes
US7999675B2 (en) RFID tags replying using changed reply timing
CN101203867B (zh) 读出数据长度的指定方法
US8063740B1 (en) Interfacing to RFID reader utility that causes RFID tags to reply using changed reply timing
CN106470049B (zh) 具有多个安全元件的nfc设备和近场通信方法
US8330581B2 (en) IC tag, method of controlling the IC tag, and IC tag system
US8279045B2 (en) RFID tag chips and tags refraining from participating in a subsequent inventorying attempt and methods
US9076049B1 (en) Encoding RFID tags of grouped items
US20100188197A1 (en) Finding sensor data in an rfid network
JP4589403B2 (ja) 電子タグ、および電子タグシステム
US9405941B2 (en) Simultaneous programming of selected tags
US7786846B2 (en) Communication station for inventorizing transponders by means of selectable memory areas of the transponders
CN102446284A (zh) Ic卡、可便携电子装置及ic卡中的数据处理方法
EP1615162A1 (en) Non-contact IC tag system
US20070222596A1 (en) Radio Frequency Identification System and Tag
EP4542442A1 (en) Wireless barcode scanning gun with electronic tag setting function
CN109784434B (zh) 一种智能货柜及其rfid标签查询、盘点方法和系统
EP2367115B1 (en) Portable electronic apparatus and method of controlling a portable electronic apparatus
CN112836535B (zh) 一种用于射频识别电子标签的快速盘存方法
CN105827541A (zh) 用于联机交易的数据报文处理方法和系统
CN117938655A (zh) 一种配网系统、机器人、方法、电子设备及介质
JP7005934B2 (ja) 電子情報記憶媒体、icカード、データ送信方法、データ書き込み方法、データ送信プログラム及びデータ書き込みプログラム
US7436307B2 (en) Method and system for setting parameters of a field station in a communications network
CN105205425B (zh) 一种基于多叉树的rfid防碰撞方法
CN113843156B (zh) 信息处理方法、设备、系统及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100519

Termination date: 20120629