670 likes | 920 Views
第 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 ,电信号和传输协议。
E N D
第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,应用标识符号系统和 注册过程。 3.1 概 述 接触式IC卡的国际标准为ISO/IEC 7816。 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.6mm*53.9mm*0.76mm。 IC卡的测试中心-中国计量局 return
3.3 ISO 7816-2 接触式集成电路卡的 触点尺寸、功能和位置 (P.46) C1 UCC C5 GND RST UPP C2 C6 CLK I/O C3 C7 C4 C8 return
3.4 ISO/IEC 7816-3 接触式集成电路 卡的电信号和传输协议 • ISO/IEC 7816-3/10中规定了电源及信号的结构,以及IC卡和接口设备之间的信息交换信号频率、电压电平、电流值、奇偶校验协定、操作过程、传送机制以及接口设备与IC卡之间的通信协定等。 return
IC卡支持两种传输协议:同步传输协议 和异步传输协议。 • 前者在ISO/IEC 7816-10中定义,适用于逻辑加密卡,后者在ISO/IEC 7816-3中定义,适用于内含微处理器的智能卡。
Questions & Answers 什么是异步传输、同步传输协议? • 异步传输是面向字符的传输,而同步传输是面向比特的传输。 • 异步传输的单位是字符,而同步传输的单位是比特。 • 异步传输通过字符的起止码,抓住再同步的机会;而同步传输则是以数据中抽取同步信息。
Questions & Answers • 异步传输对时序的要求较低,同步传输往往通过特定的时钟线路协调时序。 • 异步传输相对于同步传输效率低。
1、操作条件的类别 A类 VCC 电压为5V。 B类 VCC 电压为3V。 3.4.1 操作条件 2、操作类别的选择 • 接口设备首先向卡提供B类操作条件,在A类操作条件下,B类卡不提供复位应答ATR(Answer to reset)见附录C p354。
如卡不提供ATR,接口设备将使卡处于静止状态,至少延迟10ms以后,接口设备提供下一个可用类别的操作条件。如卡不提供ATR,接口设备将使卡处于静止状态,至少延迟10ms以后,接口设备提供下一个可用类别的操作条件。 • 如卡提供ATR,但不附带有类别标志,则当卡可用时,接口设备将提供或维持于A类操作条件,否则置于静止状态。 • 如卡提供ATR和类别标志,而且接口设备可以提供卡所支持的操作条件类别,操作可以继续进行。
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状态) 空号或低状态(A状态) 当卡和接口设备均处于接收方式时,I/O处于Z状态。 在操作期间,卡和接口设备不能同时处于发送方式。
3、VPP : 工作状态: 空闲状态和激活状态。 • 除编程和擦除外,均处于空闲状态。 • 一般IC卡不从VPP取得电压,由卡内 升压电路提供编程和擦除所需电压。
-- 接口设备连接卡并“激活”电路; -- 卡的冷复位(Reset); --卡对复位的应答(Answer To Reset); -- 在卡与接口设备之间连线进行行信息交换; --接口设备“释放”电路。 3.4.3 IC卡的操作过程 接口设备和卡之间的对话通过以下操作顺序实现。
冷复位:当IC卡的电源电压和其他信号从静止状态按一定顺序加上时,称之为冷复位,IC卡发回应答信号。冷复位:当IC卡的电源电压和其他信号从静止状态按一定顺序加上时,称之为冷复位,IC卡发回应答信号。 热复位:在电源电压VCC和时钟CLK处于激活状态下,接口设备发出的复位(Reset),称之为热复位,IC卡发回应答信号。 时钟停止。 释放 3.4.4 卡的复位 卡的复位有冷复位和热复位。
1. 复位应答的构成 奇偶位 8 位数据 > 12 etu 3.4.5 异步传输的复位应答(answer to reset) • 复位应答信号以字符为单位(称为字符帧)进行传送。 下一开始位 开始位 Z I/O A 保护时间 图 3.7 字符帧结构
每一位在I/O线的持续时间定义为基本时间单元etu,1etu=372个时钟周期,即1etu=372/f;每一位在I/O线的持续时间定义为基本时间单元etu,1etu=372个时钟周期,即1etu=372/f; • 采样时间小于0.2etu ; • 两个字符间距最大值-初始等待时间9600etu ; 当奇偶校验位不正确时,从起始位下降沿之后的10.5etu开始,收方发送状态A作为出错信号,该信号宽度为1个etu或2个etu。 发方检验I/O是在起始位下降沿之后的11etu处,如I/O处于状态Z,则认为接收是正确的;如I/O处于A,则认为有错。
2. 复位应答信息的内容 • 初始字符TS • 格式字符TO • 接口字符TAi 、TBi 、TCi 、TDi(i=1,2,3,┄) • TAi、TBi、TCi (i=1,2,3,┄)指示协议参数。 • 历史字符T1,T2~TK: IC发行商与芯片序列号及OS版本 • 校验字符TCK
TS 初始字符 T0 格式字符 TA1 全局代码 F1和D1 TB1 全局代码 I1和PI 1 TC1 全局代码 N TD1 代码 Y2和T 接口字符 TA2 全局,操作模式选择 TB2 全局代码 PI 2 TC2 专 用 TD2 代码 Y3和T TA3
T1 历史字符 最多15个字符 TK TCK 校验字符 (可选) 复位应答一般构成
(1)初始字符TS 开始 bb bc ba bd be bf bg bh bi Z A Z Z Z (Z) A Z Z A A A Z (Z) A A A TS为AZZA AAAA AZ,其中A为逻辑电平“1”,解码后的字符值为3F,表示首先传送的是字符的最高有效位。 其中bd、be、bf位AAA,称为反向约定; TS为AZZA ZZZA AZ,其中A为逻辑电平“1”,解码后的字符值为3B,表示首先传送的是字符的最低有效位。 其中bd、be、bf位ZZZ,称为正向约定;
(2)格式字符TO TDi TCi TBi TAi Y1 K Y1-接口字符存在的指示符; b5=1,发送TA1 b4=1,发送TB1 b3=1,发送TC1 b2=1,发送TD1; K- 历史字符个数,(0~15)
(3)接口字符TAiTBiTCiTDi(i=1,2,3,‥‥) TAiTBiTCi(i=1,2,3,‥‥)指示协议参数。 TDi指明协议类型T和是否存在后继接口字符。 TDi+1 TCi+1 TBi+1 TAi+1 Yi+1 T Yi+1-接口字符存在的指示符; b5=1,发送TAi+1 b4=1,发送TBi+1 b3=1,发送TCi+1 b2=1,发送TDi+1; T - 后继发送的协议形式(0~15) T=0 异步半双工字符传输协议 T=1 异步半双工分组传输协议 T=15 不属于传输协议,仅表示全局接口字节。
(4)历史字符T1T2‥‥TK: 由T0的低4位K指出历史字符的个数,最多不超过15个。 (5)校验字符TCK TCK的值应满足:使T0到TCK的所有字符的异或操作结果为零。 如仅用T=0协议,将不发送TCK,而在所有其他情况下,都发送TCK。
全局接口字节给出接口设备用以计算的参数 3 . 全局接口字节TA1 TB1 TC1 TA2 TB2 • 时钟频率转换因子F • 位速率调整因子D • 操作模式-由TA2确定 • 最大编程电流因子I • 编程电压因子P • 额外保护时间N • 时钟停止指示符X • 类别指示符U
(1)参数F、D、I、P • 复位应答期间的初始时钟周期将被其后传送信息的工作时钟周期所代替。 • F是时钟频率转换因子,D是位速率调整因子,用来决定工作时钟周期。 设fi为复位应答期间接口设备提供给CLK触点的实际频率,其后,由fi切换到fs。 fs最小值为1MHz,F以及fs的最大值由表给出。
TA1的b8~b5 表 3.7 时钟频率变换因子 F TA1的b4~b1 表 3.8 比特率(位速率)调整因子 D 如果TA1不存在,则使用默认值F=372,D=1;如果PPS交换成功,由PPS1给出F和D。
最大编程电流因子I和编程电压因子P定义了VPP的工作状态。其中IPP=ImA,值由表给出。最大编程电流因子I和编程电压因子P定义了VPP的工作状态。其中IPP=ImA,值由表给出。 TB1的b7 b6 表 3.9 最大编程电流因子 I • 编程电压因子P:VPP=PI1/PI2。 TB1的b5~ b1 TB2的b5~ b1
(2)额外保护时间N: TC1的b8~ b1 默认值:F=372,D=1,I=50,P=5,N=0。
(3)操作模式 有两种操作模式: TA2存在时是专用模式; TA1不存在时是协商模式。 专用模式中: 当TA2的b5=0时,使用表3.7和表3.8中由TA1指定的F值和D值; 当TA2的b5=1时,使用默认值。 协商模式中: 如复位应答后无PPS请求,则F和D使用默认值; 如复位应答后有PPS请求,则由IFD发送带有F和D的PPS请求,并使卡转到专业模式。
(4)时钟停止指示符X和类别指示符U 当TDi-1(i>2)指出T=15后, 则TAi的b8b7为时钟停止指示符; 则TAi的b6~b1为类别指示符; 表 3.10 时钟停止指示符 X TAi的b8 b7 X的默认值是“不支持时钟停止”。
当TDi-1(i>2)指出T=15后, 则TAi的b8b7为时钟停止指示符; 则TAi的b6~b1为类别指示符; TAi的b5~ b1 表 3.11 类别指示符 U X的默认值是“仅支持A类”。
3.4.6 协议和参数选择 PPS(protocol and parameters selection) • 在复位应答之后,如果处于协商模式,则允许接口设备向卡发送PPS请求。 • 只有接口设备允许发出PPS请求,其过程如下: --接口设备向卡发送PPS请求; --若卡收到正确的PPS请求,则发出PPS确认信号来应答,否则将超出初始等待时间; --若成功地交换PPS请求和PPS应答,就选择好了新的协议类型和传送参数,然后按规定将数据从接口设备送到卡中;
--若卡收到错误的PPS请求,则不发回PPS应答信号;--若卡收到错误的PPS请求,则不发回PPS应答信号; --若初始等待时间超时,接口设备将卡复位或予以拒绝; --若接口设备收到错误的PPS应答信号,将卡复位或予以拒绝;
PPS请求与PPS应答信号的组成 • 初始字符PPSS • 格式字符PPS0 • 任选字符PPS1,PPS2,PPS3 • 校验字符PCK • 一般情况 PPS应答=PPS请求 PPS0的作用与T0相似,其中b5、b6、b7分别表示任送字符PPS1、PPS2、PPS3是否存在。b1~b4选择协议类型,b8留作今后使用。 PPS1给出F和D的参数值;PPS2给出N值,PPS3待定。
3.4.7 异步半双工字符传输协议(T=0)自学 3.4.8 *异步半双工分组传输协议(T=1) 在复位应答TD1字节中定义了T=1,或在PPS中定义了T=1之后,将实现异步半双工分组传输协议。 特点: • 分组( block):是最小的数据单元,可以在IC卡和接口设备IFD之间传送。 • 为了整个分组数据的正确接受,在数据传送之前,可对分组结构的定义进行检查。 • 分组的标识在数据链路层的字符中处理。 • 无论在复位应答或协议类型选择PPS之后,都由接口设备IFD送出第一组数据来启动协议,以后可交替传送数据块。
本协议使用复位应答时定义的字符帧以及全局接口字节定义的物理参数。本协议使用复位应答时定义的字符帧以及全局接口字节定义的物理参数。 若以后被PPS所修改,则采用PPS定义的参数。 本协议采用OSI参考模型分层原则设计,分三个层次。 • 物理层 • 数据链路层 • 应用层
1. 分组基本组成--分组帧block frame 分组包括三个字段: 开始字段prologue field、 信息字段information field、 结尾字段epilogue field。 其中开始字段和结尾字段是必须有的,信息字段可选。
(1)开始字段 prologue field(1字节) • 结点地址(NAD)(node Address) • b1~b3是源结点地址(SAD), • b5~b7是目的结点地址(DAD), • b4和b8用于VPP状态控制。 • 当地址无用时,将SAD和DAD置“0”。 结点地址(NAD)确定了IC卡和接口设备IFD之间的逻辑连接。
例:由IFD发送的第一个分组的NAD,其SAD的值为X,DAD的值为Y;确定了SAD和NAD的逻辑关系。例:由IFD发送的第一个分组的NAD,其SAD的值为X,DAD的值为Y;确定了SAD和NAD的逻辑关系。 则由ICC发送的分组,其SAD为Y,DAD为X,标记为(X,Y)。
协议控制字节PCB(1字节) ( protocol control byte) 协议定义三种基本分组类型: • 信息分组( I-block):用于应用层传送信息。 • 接收准备分组(R-block):用于传送正、方向应答 • 管理分组(S-block):在IFD和ICC间交换控制信息 长度LEN(1字节) 指出被传送的信息字段的字节数,其代码从“00”~“FE”。(0~254字节)
(2)信息字段INF(Information field) INF字段是可选的。 当它存在时,可以是应用数据(I-block)或控制和状态信息(S-block),被传送的字节数由LEN指出。 (3)结尾字段EPF(epilogue field) 包含被传送分组的错误校验码EDC。可以采用纵向冗余校 LRC(1字节)或循环冗余校 CRC(2字节)。
卡 允许接收最大信息长度IFSC(1-254); 接口设备 允许接收最大信息长度IFSD; IFSC由专用接口字符TAi(i>2)给出,其值在1~254,默认值为32。 IFSD的初始值为32。 在协议执行过程中由S(IFS请求)和S(IFS应答)调整IFSC和IFSD。 2. 专用接口参数 在复位应答中,当第一次在TD(i-1)(i>2)中出现T=1时,则专用接口字节TAi、TBi、TCi被用作协议参数。 (1)信息字段长度
字符等待时间 CWT- 同一分组内两相邻字符上升沿之间的最大时间。 由TBi(i>2)的b4~b1给出字符等待时间整数CWI,公式: (2)字符等待时间CWT CWT的最小值为12工作单元,CWI的默认值为13。
(3)分组等待时间BWT 分组等待时间 BWT- 发送到卡的最后一个字符的上升沿与从卡发出的第一个字符之间的最大时间。 由TBi(i>2)的b8~b5给出分组等待时间整数BWI,计算公式: 0≤BWT ≤9,BWT>9保留于将来使用,BWI的默认值为4。
(4)校验码的选择 用TCi(i>2)的b1来选择检验码: b1=1 CRC。 b1=0 LRC(默认值)。 b2~ b8置0,保留于将来使用。