1、第3章 接触式集成电路(IC)卡 国际标准(一),第3章 接触式集成电路(IC)卡国际标准,3.1 概 述 3.2 ISO 7816-1 接触式集成电路卡的 物理特性 3.3 ISO 7816-2 接触式集成电路卡的触点尺寸、功能和位置 3.4 ISO/IEC 7816-3 接触式集成电路 卡的电信号和传输协议 3.5 接触式集成电路卡(同步卡)的电信号和复位应答,ISO 7816-1, 物理特性。 ISO 7816-2, 触点尺寸和位置。 ISO/IEC 7816-3,电信号和传输协议。 ISO/IEC 7816-4,行业间交换用命令。 ISO/IEC 7816-5,应用标识符号系统和注册过
2、程。,接触式IC卡的国际标准为ISO/IEC 7816。,3.1 概 述,return,ISO/IEC 7816-6, 行业间数据元。 ISO/IEC 7816-7, 关于结构化卡询问语言的行业间命令。 ISO/IEC 7816-8, 与安全有关的行业间命令。 ISO/IEC 7816-9, 附加的行业间命令和复位应答。 ISO/IEC 7816-10,用于同步卡的电信号和复位应答。,3.2 ISO 7816-1 接触式集成电路卡的物理特性,ISO 7810 中为各种识别卡定义的物理特性适用于IC卡。 ISO 7813 中对金融交易卡定义的阻燃性和外形尺寸也适用于IC卡。 识别卡的尺寸为85.
3、6mm*53.9mm*0.76mm。,IC卡的测试中心中国计量局,return,3.3 ISO 7816-2 接触式集成电路卡的 触点尺寸、功能和位置 (P.46),return,所谓接触式IC卡,就是在使用时,通过有形的金属电极触点将卡的集成电路与外部接口设备直接接触连接,提供集成电路工作的电源并进行数据交换的IC卡。其特点是在卡的表面有符合ISO/IEC 7816标准的多个金属触点。,3.3.1 接触式IC卡的基本构成,图3.1 接触式IC卡外形图,图3.2 接触式IC卡内部结构剖视图,在图3.2中,其各组成部分说明如下:(1) 半导体芯片:它是IC卡的核心部分。一般采用0.380.8 m
4、的HCMOS或NMOS工艺制造的超大规模集成电路。在半导体芯片中包括存储器、译码电路、接口驱动电路、逻辑加密控制电路,甚至微处理器单元(CPU)等各种功能电路。其外形大小约为2 mm1 mm0.3 mm。,(2) 电极膜片:它是作为半导体芯片各输入/输出信号引脚与外部设备接触连接的导电体,实际是一种精密的印刷电路板(PCB)。 其基底为一层绝缘材料,(一般为环氧树脂玻璃或聚酰亚胺薄膜)。在基底的绝缘材料上沉积一层铜合金,并在其外端表面镀金,以提高其导电性能和防氧化能力。电极膜片的外形大小约为:长9.6213.65 mm,宽9.3211.56 mm。电极膜片的外形一般为矩形或椭圆形。这种形状上的
5、差异主要是为了改善卡片的抗扭曲方面的机械特性。电极膜片上共有多个芯片电极,每个电极的中心位置和最小面积是有规定的。但各电极表面分隔形状没有规定。,图3.3 接触式IC卡模块,C1,C2,C3,C4,C5,C6,C7,C8,UCC,RST,CLK,GND,UPP,I/O,return,3.3.2 接触式IC卡的触点尺寸和位置,图3.4 接触式IC卡的触点位置,表3.1 接触式IC卡的触点功能,3.4 ISO/IEC 7816-3 接触式集成电路卡的电信号和传输协议,ISO/IEC 7816-3/10中规定了电源及信号的结构,以及IC卡和接口设备之间的信息交换信号频率、电压电平、电流值、奇偶校验协
6、定、操作过程、传送机制以及接口设备与IC卡之间的通信协定等。,return,IC卡支持两种传输协议:同步传输协议 和异步传输协议。前者在ISO/IEC 7816-10中定义,适用于逻辑加密卡,后者在ISO/IEC 7816-3中定义,适用于内含微处理器的智能卡。,Questions & Answers,什么是异步传输、同步传输协议?,异步传输是面向字符的传输,而同步传输是面向比特的传输。 异步传输的单位是字符,而同步传输的单位是比特。 异步传输通过字符的起止码,抓住再同步的机会;而同步传输则是以数据中抽取同步信息。,Questions & Answers,异步传输对时序的要求较低,同步传输往往
7、通过特定的时钟线路协调时序。 异步传输相对于同步传输效率低。,1、操作条件的类别A类 VCC 电压为5V。B类 VCC 电压为3V。,3.4.1 操作条件,2、操作类别的选择,接口设备首先向卡提供B类操作条件,在A类操作条件下,B类卡不提供复位应答ATR(Answer to reset)见附录C p354。,如卡不提供ATR,接口设备将使卡处于静止状态,至少延迟10ms以后,接口设备提供下一个可用类别的操作条件。如卡提供ATR,但不附带有类别标志,则当卡可用时,接口设备将提供或维持于A类操作条件,否则置于静止状态。如卡提供ATR和类别标志,而且接口设备可以提供卡所支持的操作条件类别,操作可以继
8、续进行。,3.4.2 触点的电压和电流值,I/O:IC卡的串行数据的输入和输出端。 VCC:电源电压输入端(由卡选用) GND:地(参考电压) VPP:编程电压输入端(由卡选用) CLK:时钟或定时信号输入端(由卡选用) RST:复位信号(总清信号),可由接口设备提供复位信号给RST触点;或由IC卡内部的复位控制电路在加电时产生内部复位信号。,涉及的电特性的参数意义,见教材P 48,Questions: Cin 输入电容对信号有什么影响? Cout 输出电容对信号有什么影响?,1、UCC:用来提供电源电压,Question:IC卡的工作功耗?,2、I/O触点可能的工作状态:,传号或高状态(Z状
9、态) 空号或低状态(A状态)当卡和接口设备均处于接收方式时,I/O处于Z状态。在操作期间,卡和接口设备不能同时处于发送方式。,3、VPP :,工作状态: 空闲状态和激活状态。除编程和擦除外,均处于空闲状态。一般IC卡不从VPP取得电压,由卡内升压电路提供编程和擦除所需电压。,- 接口设备连接卡并“激活”电路; - 卡的冷复位(Reset); -卡对复位的应答(Answer To Reset); - 在卡与接口设备之间连线进行信息交换; -接口设备“释放”电路。,3.4.3 IC卡的操作过程,接口设备和卡之间的对话通过以下操作顺序实现。,冷复位:当IC卡的电源电压和其他信号从静止状态按一定顺序加
10、上时,称之为冷复位,IC卡发回应答信号。 热复位:在电源电压VCC和时钟CLK处于激活状态下,接口设备发出的复位(Reset),称之为热复位,IC卡发回应答信号。 时钟停止。 释放,3.4.4 卡的复位,卡的复位有冷复位和热复位。,1. 复位应答的构成,3.4.5 异步传输的复位应答(answer to reset),复位应答信号以字符为单位(称为字符帧)进行传送。每个字符由10位组成。,Z I/O A,开始位,下一开始位,保护时间,图 3.7 字符帧结构,每一位在I/O线的持续时间定义为基本时间单元etu,1etu=372个时钟周期,即1etu=372/f; 采样时间小于0.2etu ; 两
11、个字符间距最大值-初始等待时间9600etu ;,当奇偶校验位不正确时,从起始位下降沿之后的10.5etu开始,收方发送状态A作为出错信号,该信号宽度为1个etu或2个etu。发方检验I/O是在起始位下降沿之后的11etu处,如I/O处于状态Z,则认为接收是正确的;如I/O处于A,则认为有错。,初始字符TS 格式字符TO 接口字符TAi 、TBi 、TCi 、TDi(i=1,2,3,) TAi、TBi、TCi (i=1,2,3,)指示协议参数。 历史字符T1,T2TK: IC发行商与芯片序列号及OS版本 校验字符TCK,2. 复位应答信息的内容,TS,T0,TA1,TB1,TC1,TD1,TA
12、2,TB2,TC2,TD2,TA3,接口字符,初始字符,格式字符,全局代码 F1和D1,全局代码 I1和PI 1,全局代码 N,代码 Y2和T,全局,操作模式选择,全局代码 PI 2,专 用,代码 Y3和T,复位应答信息的构成,T1,TK,TCK,历史字符 最多15个字符,校验字符 (可选),复位应答一般构成,Z A,开始,ba,bb,bc,bd,be,bf,bg,bh,(Z),A Z Z A,Z Z Z,A A A,A A Z,bi,(Z),(1)初始字符TS,TS为AZZA AAAA AZ,其中A为逻辑电平“1”,解码后的字符值为3F,表示首先传送的是字符的最高有效位。 其中bd、be、b
13、f位AAA,称为反向约定;,ZZA AAAA0011 11113F,Z A,开始,ba,bb,bc,bd,be,bf,bg,bh,(Z),A Z Z A,Z Z Z,A A A,A A Z,bi,(Z),TS为AZZA ZZZA AZ,其中Z为逻辑电平“1”,解码后的字符值为3B,表示首先传送的是字符的最低有效位。 其中bd、be、bf位ZZZ,称为正向约定;,ZZAZ ZZAA1101 11003B,最低位,最高位,(2)格式字符TO,Y1接口字符存在的指示符;b51,发送TA1b61,发送TB1b71,发送TC1b81,发送TD1; K 历史字符个数,(015),Y1,K,TDi TCi
14、TBi TAi,(3)接口字符TAiTBiTCiTDi(i=1,2,3,),Yi+1接口字符存在的指示符;b51,发送TAi+1b61,发送TBi+1b71,发送TCi+1b81,发送TDi+1; T 后继发送的协议形式(015),Yi+1,T,TAiTBiTCi(i=1,2,3,)指示协议参数。 TDi指明协议类型T和是否存在后继接口字符。,TDi+1 TCi+1 TBi+1 TAi+1,T0 异步半双工字符传输协议 T1 异步半双工分组传输协议T15 不属于传输协议,仅表示全局接口字节。,TDi,(4)历史字符T1T2TK:,TCK的值应满足:使T0到TCK的所有字符的异或操作结果为零。如
15、仅用T0协议,将不发送TCK,而在所有其他情况下,都发送TCK。,由T0的低4位K指出历史字符的个数,最多不超过15个。,(5)校验字符TCK,3 . 全局接口字节TA1 TB1 TC1 TA2 TB2的含义,全局接口字节给出接口设备用以计算的参数,时钟频率转换因子F 位速率调整因子D 操作模式-由TA2确定 最大编程电流因子I 编程电压因子P 额外保护时间N 时钟停止指示符X 类别指示符U,(1)参数F、D(由TA1给出),复位应答期间的初始时钟周期将被其后传送信息的工作时钟周期所代替。 F是时钟频率转换因子,D是位速率调整因子,用来决定工作时钟周期。,设fi为复位应答期间接口设备提供给CL
16、K触点的实际频率,其后,由fi切换到fs。,fs最小值为1MHz,F以及fs的最大值由表给出。,表 3.7 时钟频率变换因子 F,TA1的b8b5,表 3.8 比特率(位速率)调整因子 D,TA1的b4b1,如果TA1不存在,则使用默认值F372,D1;如果PPS交换成功,由PPS1给出F和D。,最大编程电流因子I和编程电压因子P定义了VPP的工作状态。其中IPPImA,值由表给出。,编程电压因子P:VPPPI1/PI2。,表 3.9 最大编程电流因子 I,TB1的b7 b6,TB1的 b5 b1(b8=0),TB2的b8 b1,(2)参数I、P(由TB1给出),(3)额外保护时间N(由TC1
17、给出),默认值:F372,D1,I50,P5,N0。,TC1的b8 b1,(4)操作模式,有两种操作模式: TA2存在时是专用模式; TA2不存在时是协商模式。,专用模式中: 当TA2的b50时,使用表3.7和表3.8中由TA1指定的F值和D值; 当TA2的b51时,使用默认值。,协商模式中: 如复位应答后无PPS请求,则F和D使用默认值; 如复位应答后有PPS请求,则由IFD发送带有F和D的PPS请求,并使卡转到专业模式。,(5)时钟停止指示符X和类别指示符U,当TDi-1(i2)指出T15后, 则TAi(即TA3、TA4)的b8b7为时钟停止指示符; 则TAi的b6b1为类别指示符;,TA
18、i的b8 b7,X的默认值是“不支持时钟停止”。 “01”和“10”指出时钟停止时CLK的优先状态,表 3.10 时钟停止指示符 X,T15是协议参数吗?,当TDi-1(i2)指出T15后, 则TAi的b8b7为时钟停止指示符; 则TAi的b6b1为类别指示符;,TAi的b6 b1,X的默认值是“仅支持A类”。,表 3.11 类别指示符 U,3.4.6 协议和参数选择 PPS(protocol and parameters selection),在复位应答之后,如果处于协商模式,则允许接口设备向卡发送PPS请求。 只有接口设备允许发出PPS请求,其过程如下:,接口设备向卡发送PPS请求; 若卡
19、收到正确的PPS请求,则发出PPS确认信号来应答,否则将超出初始等待时间; 若成功地交换PPS请求和PPS应答,就选择好了新的协议类型和传送参数,然后按规定将数据从接口设备送到卡中;,有记者模式?有什么参数决定?,若卡收到错误的PPS请求,则不发回PPS应答信号; 若初始等待时间超时,接口设备将卡复位或予以拒绝; 若接口设备收到错误的PPS应答信号,将卡复位或予以拒绝;,PPS请求与PPS应答信号的组成,初始字符PPSS 格式字符PPS0 任选字符PPS1,PPS2,PPS3 校验字符PCK 一般情况 PPS应答=PPS请求,PPS0的作用与T0相似,其中b5、b6、b7分别表示任送字符PPS
20、1、PPS2、PPS3是否存在。b1b4选择协议类型,b8留作今后使用。 PPS1给出F和D的参数值;PPS2给出N值,PPS3待定。,3.4.7 异步半双工字符传输协议(T=0)自学3.4.8 *异步半双工分组传输协议(T=1),在复位应答TD1字节中定义了T1,或在PPS中定义了T1之后,将实现异步半双工分组传输协议。,特点: 分组( block):是最小的数据单元,可以在IC卡和接口设备IFD之间传送。 为了整个分组数据的正确接受,在数据传送之前,可对分组结构的定义进行检查。 分组的标识在数据链路层的字符中处理。 无论在复位应答或协议类型选择PPS之后,都由接口设备IFD送出第一组数据来
21、启动协议,以后可交替传送数据块。,本协议使用复位应答时定义的字符帧以及全局接口字节定义的物理参数。 若以后被PPS所修改,则采用PPS定义的参数。,本协议采用OSI参考模型分层原则设计,分三个层次。,物理层 数据链路层 应用层,1. 分组基本组成分组帧block frame,分组包括三个字段: 开始字段 prologue field、 信息字段information field、 结尾字段 epilogue field。 其中开始字段和结尾字段是必须有的,信息字段可选。,结点地址(NAD)(node Address),(1)开始字段 prologue field(3字节),b1b3是源结点地址
22、(SAD), b5b7是目的结点地址(DAD), b4和b8用于VPP状态控制。 当地址无用时,将SAD和DAD置“0”。,结点地址(NAD)确定了IC卡和接口设备IFD之间的逻辑连接。,例:由IFD发送的第一个分组的NAD,其SAD的值为X,DAD的值为Y;确定了SAD和NAD的逻辑关系。 则由ICC发送的分组,其SAD为Y,DAD为X,标记为(X,Y),建立一个逻辑连接。,IFD X Y,ICC Y X,SAD,DAD,标记为(X,Y),信息分组( I-block):用于应用层传送信息。接收准备分组(R-block):用于传送正、方向应答管理分组(S-block):在IFD和ICC间交换控
23、制信息,协议控制字节PCB(1字节)( protocol control byte),协议定义三种基本分组类型:,长度LEN(1字节)指出被传送的信息字段的字节数,其代码从“00”“FE”。(0254字节),INF字段是可选的。 当它存在时,可以是应用数据(Iblock)或控制和状态信息(S-block),被传送的字节数由LEN指出。,(2)信息字段INF(Information field),(3)结尾字段EPF(epilogue field),包含被传送分组的错误校验码EDC。可以采用纵向冗余校验 LRC(1字节)或循环冗余校验 CRC(2字节)。,卡 允许接收最大信息长度IFSC(1-2
24、54);接口设备 允许接收最大信息长度IFSD;IFSC由专用接口字符TAi(i2)给出,其值在1254,默认值为32。 IFSD的初始值为32。 在协议执行过程中由S(IFS请求)和S(IFS应答)调整IFSC和IFSD。,2. 专用接口参数,在复位应答中,当第一次在TD(i-1)(i2)中出现T1时,则专用接口字节TAi、TBi、TCi被用作协议参数。,(1)信息字段长度,字符等待时间 CWT 同一分组内两相邻字符上升沿之间的最大时间。 由TBi(i2)的b4b1给出字符等待时间整数CWI,公式:,(2)字符等待时间CWT,CWT的最小值为12工作单元,CWI的默认值为13。,分组等待时间
25、 BWT 发送到卡的最后一个字符的上升沿与从卡发出的第一个字符之间的最大时间。由TBi(i2)的b8b5给出分组等待时间整数BWI,计算公式:,(3)分组等待时间BWT,0BWT 9,BWT9保留于将来使用,BWI的默认值为4。,用TCi(i2)的b1来选择检验码: b1 1 CRC。 b1 0 LRC(默认值)。 b2 b8 置0,保留于将来使用。,(4)校验码的选择,VPP控制:VPP的状态由卡发送的NAD的b8位和b4位控制。,3. 协议操作,(1)数据链路层字符部分,b8 0, b40 VPP处于空闲状态; b8 1, b40 VPP激活(工作)在接收PCB之后回到空闲状态; b8 0
26、, b41 VPP激活(工作)一直到接口设备接收到另一个NAD字节; b8 1, b41 禁用;,(2)数据链路层分组部分,操作过程,在复位应答或协议类型选择PPS之后的第一个分组是由接口设备IFD传送到IC卡的,可以是信息分组(I-block)或管理分组( S-block)。,在传送一个分组(I-,R-或S-block)之后,在下一个分组传送之前,发方应接收到确认,如下:,信息分组内有一个发送序列号N(S), N(S)是一个二进制位(bit),它的起始值为0,在传送一个信息分组之后加1(模2);接收准备分组 R-block内有一个N(R),它的值等于下一个要传送的I-block中的 N(S)
27、。 R-block用于链接; 管理分组 S-block有:请求分组S (request) -block应答分组S (response) -block 在接收到请求分组后发一个应答分组。,链接,分组传输协议具有链接功能,允许接口设备IFD或IC卡(ICC)传送信息的长度大于IFSD(Information Field Size for device)或IFSC (Information Field Size for card)所规定的长度。,分组的链接情况受I-block中的协议控制字节PCB中的M位控制。M位指出I-block的两种状态: M0,表示当前的I-block是链的最后一个分组; M
28、1,表示 链还跟有分组;,PCB(协议控制字节)的编码情况如下:,I-block的PCB字节:由b8 b1组成。,b8 0, 表示是I-block ; b7 位发送序列号N(S); b6 位为M位, 指示后面是否还有分组; b5 b1 保留于将来使用。,R-block的PCB字节:由b8 b7=10,表示是R-block 。,b5 为N(R) ; b6 0,且b4 b1为0000 表示正确; b6 0,且b4 b1为0001 表示EDC或字符奇偶错 ; b6 0, b4 b1 为0010 为其他错误。,S-block的PCB字节:由b8 b7=11,表示是S-block 。,b6 为应答位。
29、若b60,表示请求(request); 若b6 1, 表示应答(response)。 b5 b1 提出是何种请求或何种应答。,b5 b100000,若b60,则为“重新同步请求S”,此请求仅由接口设备发送,将分组传输协议的参数复原到初始值;若b61,则为“重新同步应答S”,是IC卡接收到重新同步请求后发出的应答。,b5 b1 00001,若b60,则为“信息字段长度请求S(IFS request)”;若b61,则为“信息字段长度应答S (IFS response)”。 IC卡发出S(IFS request)表示它能支持新的IFSC,接口设备IFD发出S (IFS response) S (IF
30、S response)表示它能支持新的IFSD。对方接收到S后应发出S作为应答。,b5 b1 00010,若b60,则为“中止请求S”; 若b61,则为“中止应答S”。,b5 b100011, 若b60,则为“等待时间扩充请求S(WTX request)”; 若b61,则为“等待时间扩充应答S (WTX response)”。IC卡发出S(WTX request)表示它能需要超过BWT时间去处理前面接收到的I-block。,链接功能举例:,应用数据Application Data由接口设备IFD传送到IC卡,假设分成三个信息分组,分别为:Applic、ation和Data,每次传送信息时还传送
31、PCB,以I(N(S),M)表示,其中N(S)是发送序列号,M表示后面是否还有分组需要传送。,分析:PCB 的编码包括三类,I-block、R-block和S-block。现以I(N(S),M)表示,说明该PCB表示I-block的编码情况。,IFD,ICC,I(0,1),I(1,1),I(0,0),R(1),R(0),I(0, 0 ),P开始字段 E结尾字段,链接功能图例,序列号二进制,I-block,R-block,S-block,IFD,ICC,Applic,I(0,1),R(1),action,I(1,1),R(0),Data,I(0,0),I(0,0),序列号二进制,接口设备发送链接
32、 I-block,return,3.5 接触式集成电路卡(同步卡)的 电信号和复位应答(ISO/IEC 7816-10),3.5.1 触点的电特性,1. 触点的分配,两种类型的同步卡:第1类(type 1)第2类( type 2),触点C4指定:第2类同步卡的功能码(FCB)。 FCB和RST一起构成在卡中执行的命令Reset、read、write。,return,2. 选择卡的类型,接口设备按第1类、第2类卡启动操作条件,如果卡不应答,或提供一个不符合的应答,接口设备将释放触点,延迟至少10ms后,再启动另一操作条件。,3.5.2 复位应答,在同步半双工传输方式中,I/O线上一串数据位用CL
33、K上的时钟信号进行同步。,1. 时钟频率和位速率,I/O线上的位速率与接口设备发到CLK的时钟频率呈线性关系,例如10kHz时钟频率相应于10Kbit/s。 最大上升沿/下降沿各为0.5s。,第一类卡:低于50kHz的任一频率可用。 第二类卡:低于280 50kHz的任一频率可用。,2. 复位应答头的结构,复位操作的结果是从卡发送应答头到接口设备。 该头的长度固定为32位,其开始的两个字节H1和H2是必备的。 b1b32是按时间顺序发送的信息位,最低位先发送。,3. 复位应答头的数据内容,头由4个字节(H1H4)组成,用于尽早决定卡与接口设备是否相容,如不容,则释放触点。,第一个字段H1是卡协
34、议类型的编码,见表3.13。 第二个字段H2是H1的编码参数。 如果H1X0(X1,7),H2的值由ISO/IEC JTC1/SC17指定。,3.5.3 触点的释放,当信息交换中止或失败时(卡无应答或检测到卡移去),触点将被释放,接口设备应顺序完成一些操作:,CLK 处于状态L; FCB 处于状态L(仅适合第二类卡); VPP静止; I/O处于状态A; VCC静止。,return,思 考 题,1、 什么是接触式IC卡?说明其特点和主要应用场合,说出几种主要的卡型及其生产商。 2、 接触式IC卡上有多少个触点?说明各触点的位置及功能。 3 接触式IC卡如何获得工作电压? 4、 接触式IC卡如何与接口设备交换信息? 5、 接触式IC卡读写器(接口设备)由哪些部分组成?,