建设网站宣传,建设 网站,wordpress 需要缓存,竞价推广返点开户介绍 ISO/IEC 7816 是一系列标准#xff0c;规定了集成电路卡和此类卡的使用 互换。 这些卡是用于在外部世界和卡中的集成电路之间协商的信息交换的识别卡。 作为信息交换的结果#xff0c;卡传递信息#xff08;计算结果、存储的数据#xff09;和/或修改其内容#xff0…
介绍 ISO/IEC 7816 是一系列标准规定了集成电路卡和此类卡的使用 互换。 这些卡是用于在外部世界和卡中的集成电路之间协商的信息交换的识别卡。 作为信息交换的结果卡传递信息计算结果、存储的数据和/或修改其内容数据存储、事件记忆。 五个部分专门针对带电流触点的卡其中三个部分指定电气接口。 ⎯ ISO/IEC 7816-1 规定了触点卡的物理特性。 ⎯ ISO/IEC 7816-2 规定了触点的尺寸和位置。 ⎯ ISO/IEC 7816-3 规定了异步卡的电气接口和传输协议。 注 ISO/IEC 7816-3 的第一版和第二版指定了可选使用触点 C6 以提供 具有写入或擦除内部非易失性存储器所需的编程能力的卡。 由于自 1990 年以来制造的每张卡都在内部产生编程能力因此第三版反对这种使用以及相关的 Answer-to-Reset 中的指示和每个传输协议中的相关控件。 ⎯ ISO/IEC 7816-10 规定了同步卡的电气接口和复位应答。 ⎯ ISO/IEC 7816-12 规定了 USB 卡的电气接口和操作程序。 所有其他部分都独立于物理接口技术。 它们适用于通过以下一种或多种方法访问的卡接触、紧密耦合和射频
⎯ ISO/IEC 7816-4 规定了交换的组织、安全和命令。 ⎯ ISO/IEC 7816-5 规定了应用提供商的注册。 ⎯ ISO/IEC 7816-6 指定了用于交换的行业间数据元素。 ⎯ ISO/IEC 7816-7 规定了结构化卡片查询语言的命令。 ⎯ ISO/IEC 7816-8 规定了安全操作的命令。 ⎯ ISO/IEC 7816-9 规定了卡片管理命令。 ⎯ ISO/IEC 7816-11 指定通过生物识别方法进行个人验证。 ⎯ ISO/IEC 7816-13 规定了多应用环境中应用管理的命令。 ——ISO/IEC 7816-15 规定了密码信息的应用。 ISO/IEC 10536[3] 指定通过紧耦合访问。 ISO/IEC 14443[5] 和 ISO/IEC 15693[6] 指定通过射频访问。 这种卡也称为非接触式卡。
5 Electrical characteristics
ISO/IEC 7816 的这一部分至少支持以下触点。 ⎯ C1电源输入VCC见 5.2.1。 ⎯ C2复位信号输入RST见 5.2.2。 ⎯ C3时钟信号输入CLK见 5.2.3。 ⎯ C5接地GND参考电压。 ——C6标准或专有使用SPU见 5.2.4。 ——C7串行数据的输入/输出I/O见 5.2.5。 注意 本文档不赞成使用触点 C6 为卡提供编程电源因为自 1990 年以来制造的每张卡都在内部产生编程电源。 6 卡片操作流程 6.1 原则
在卡的触点机械连接到接口设备的触点之前电路应保持不活动。 接口设备与卡之间的交互应通过以下操作顺序进行。
——接口设备应将一类操作条件应用于电路即激活、冷复位和可能的一个或多个热复位。 如果卡支持该类别则它应根据第 8 条回答复位。接口设备以完整有效的复位应答和操作条件类别结束。 接口设备应能够重复整个操作。
——为了交换信息卡和接口设备应就传输协议和传输参数值达成一致。 第 10 条规定 T0以接口设备为主机进行字符的半双工传输。 第 11 条规定 T1块的半双工传输。 条款 12 规定了 T0 和 T1 时命令-响应对的传输。 当卡没有传输预期时例如在处理命令-响应对之后和启动下一个之前如果卡支持时钟停止则接口设备可以停止时钟信号。 ——接口设备应执行停用。
去激活应该在卡的触点和接口设备的触点之间的机械断开之前完成
6.2 激活、重置和类别选择 6.2.1 激活 为了启动与机械连接卡的交互接口设备应根据操作条件类别激活电路A、B 或 C见 5.1.3顺序如下。 ——RST 应置于状态 L见 5.2.2。 ——VCC 应通电见 5.2.1。 ——接口设备中的 I/O 应置于接收模式见 5.2.5。 接口设备在激活期间应忽略 I/O 上的状态。 ——CLK 应提供时钟信号见 5.2.3。 注 1 未定义为 VCC 供电、将 I/O 设置为接收模式和在 CLK 上提供时钟信号之间的延迟。 注2接口设备可能会因短路而失效。
6.2.2 冷复位 在激活结束时RST 处于 L 状态VCC 供电接口设备中的 I/O 处于接收模式CLK 提供合适且稳定的时钟信号卡准备好进行冷复位。 卡的内部状态在冷复位之前没有定义。 根据图 1时钟信号在时间 Ta 施加到 CLK。 在时钟信号施加到 CLK在时间 Ta ta之后卡应在 200 个时钟周期延迟 ta内将 I/O 设置为状态 H。 冷复位是在时钟信号施加到 CLK在时间 Ta tb后将 RST 保持在状态 L 至少 400 个时钟周期延迟 tb的结果。 当 RST 处于状态 L 时接口设备应忽略 I/O 上的状态。在时间 TbRST 被置于状态 H。I/O 上的应答应在 400 和 40000 个时钟周期延迟 tc之后开始 RST 上信号的上升沿在时间 Tb tc。 如果在状态 H 的 RST 的 40 000 个时钟周期内没有开始应答则接口设备将执行去激活。
6.2.3 热复位
由于对热复位的回答可能不同于对前一次复位的回答接口设备可以在任何时候对卡进行热复位即使是在复位应答期间但不能在接收到强制字符 TS 和 T0 之前见 8.1 ). 在字符 T0 的前沿之后热复位不得启动少于 4 464 12 × 372个时钟周期。 警告 在复位应答期间启动的热复位可能会损坏符合先前版本 (ISO/IEC 7816-3:1997) 的卡。 根据图 2接口设备通过将 RST 置于状态 L 至少 400 个时钟周期延迟 te来启动热复位在时间 Tc同时 VCC 保持通电并且 CLK 提供合适且稳定的时钟信号。 在状态 L 应用于 RST 之后在时间 Tc td卡应在 200 个时钟周期延迟 td内将 I/O 设置为状态 H。 当 RST 处于状态 L 时接口设备应忽略 I/O 上的状态。在时间 TdRST 被置于状态 H。I/O 上的应答应在 400 和 40000 个时钟周期延迟 tf之后开始 RST 上信号的上升沿在时间 Td tf。 如果在状态 H 的 RST 的 40 000 个时钟周期内没有开始应答则接口设备将执行去激活。 6.2.4 选课
图 3 说明了选择操作条件类别的原则。 该图并不详尽。 ⎯ 如果 Reset 应答带有一个类别指示符指示正在应用的类别参见 8.2 中 T15 的第一个 TA则可以继续正常操作。 或者接口设备可以执行停用并在至少 10 毫秒的延迟之后应用卡支持的另一个类。 ⎯ 如果 Reset 应答没有携带类指示符则接口设备应保持当前类。 如果在完成复位应答后卡没有运行则接口设备应执行去激活并在至少 10 ms 的延迟后可以应用另一个类。 ——如果卡不响应复位那么接口设备将执行去激活并且或者 • 在至少 10 ms 的延迟之后应用另一个类如果有的话或者 • 中止选择过程。 在选择过程中止后接口设备可以启动另一个选择过程 9 协议和参数选择 9.1 PPS 交换
PPS 交换应按 6.3.1 中的规定开始。 字符帧应按照 7.1 和 7.2 中的规定使用 TS见 8.1规定的编码约定GT 如 8.3 中规定WT 9 600 etu。 根据 7.3 的错误信号和字符重复对于提供 T0 的卡是强制性的 它对于接口设备和其他卡是可选的。 只有接口设备被允许启动 PPS 交换。 ——接口设备应向卡发送 PPS 请求。 ⎯ 如果卡收到错误的 PPS 请求则不应发送任何响应。 ⎯ 如果卡接收到正确的 PPS 请求它应发送 PPS 响应如果已执行否则将超过 WT。 ——在以下三种情况下WT 溢出、错误的 PPS 响应、不成功的 PPS 交换接口设备应执行去激活。 9.2 PPS请求和响应 PPS 请求和 PPS 响应均由一个初始字节 PPSS、随后是格式字节 PPS0、三个可选参数字节 PPS1、PPS2、PPS3 和作为最后一个字节的校验字节 PCK 组成。 ——PPSS 标识 PPS 请求或响应并设置为“FF”。 ⎯ 在 PPS0 中每个位 5、6 或 7 设置为 1 分别表示存在可选字节 PPS1、PPS2、PPS3。 比特 4 到 1 编码类型 T 以提出传输协议。 第 8 位保留供将来使用应设置为 0。
⎯ PPS1 允许接口设备向卡建议 F 和 D 的值。 以与 TA1 中相同的方式编码这些值应分别从 Fd 到 Fi 和从 Dd 到 Di。 如果一个接口设备不传输PPS1它建议继续Fd和Dd。 卡要么通过回显 PPS1 来确认这两个值然后这些值变为 Fn 和 Dn要么不传输 PPS1 以继续 Fd 和 Dd然后 Fn 372 和 Dn 1。 ⎯ PPS2 允许接口设备建议使用 SPU。 PPS2 的编码方式应与 T15 的第一个 TB。 如果一个接口设备不传输PPS2或者如果它传输PPS2 00它建议不要使用SPU。 ⎯ PPS3 保留供将来使用。 ⎯ 异或所有字节 PPSS 到 PCK包括在内应给出 00。 任何其他值均无效。 9.3 PPS兑换成功 当且仅当 PPS 响应符合以下条件时PPS 交换才成功 PPS 请求。 ——PPS0_Response 的第 1 到 4 位应与 PPS0_Request 的第 1 到 4 位相同。 ——PPS0_Response 的第 5 位应与 PPS0_Request 的第 5 位相同或设置为 0。 • 如果位5 设置为1PPS1_Response 应与PPS1_Request 相同。 • 如果第5 位设置为0PPS1_Response 将不存在这意味着将使用Fd 和Dd。 ——PPS0_Response 的第 6 位应与 PPS0_Request 的第 6 位相同或设置为 0。 • 如果第6 位设置为1PPS2_Response 应与PPS2_Request 相同。 • 如果第6 位设置为0PPS2_Response 将不存在意味着卡不使用SPU。 ——PPS0_Response 的第 7 位应与 PPS0_Request 的第 7 位相同或设置为 0。 • 如果第7 位设置为1PPS3_Response 应与PPS3_Request 相同。 • 如果第7 位设置为0则PPS3_Response 应不存在确切含义保留供将来使用。 在最常见的情况下PPS 响应与 PPS 请求相同。 10 协议 T0
字符的半双工传输 10.1 范围 本节定义了半双工字符传输中命令的结构和处理。 接口设备启动这些命令。 本节涵盖传输控制。
10.2 人物等级 传输协议应按 6.3.1 中的规定开始。 字符帧应按7.1和7.2规定使用TS见8.1规定的编码约定GT按8.3规定。 卡和接口设备都应根据 7.3 使用错误信号和字符重复。 当使用 D 64 时接口设备应确保在最后接收到的字符的前沿和发送的用于启动命令的字符的前沿之间至少有 16 etu 的延迟。 如果出现在复位应答中接口字节 TC2 将等待时间整数 WI 编码为 8 位但保留供将来使用的值“00”除外。 如果没有 TC2则默认值为 WI 10。
10.3 命令的结构和处理 10.3.1 原则
接口设备通过传输一个五字节的标头来启动每个命令该标头告诉卡要做什么。 在卡传输的过程字节的控制下命令处理继续在一个方向上传输可变数量的数据字节。 假定卡和接口设备先验地知道传输方向以便区分 ⎯ 输入数据传输的命令数据字节在处理时进入卡以及 ⎯ 输出数据传输的命令数据字节离开 卡同时处理。
10.3.2 命令头 头部由五个字节组成分别表示为 CLA、INS、P1、P2 和 P3。 CLA、INS、P1 和 P2 的值应 符合 ISO/IEC 7816-4 的规定。 ⎯ CLA 表示一类命令。 “FF”值无效为 PPSS 保留参见 6.3.1 和 9.2。 注意 ISO/IEC 7816-4 强制将“FF”作为 CLA 的无效值。 ⎯ INS 表示指令代码。 值“6X”和“9X”无效。 注意 ISO/IEC 7816-4 强制将“6X”和“9X”作为 INS 的无效值。 ⎯ P1 P2 表示指令参数例如完成指令代码的引用。 ⎯ P3 编码在命令期间传输的数据字节数表示为 D1 到 Dn。 • 在传出数据传输命令中P300 引入了来自卡的256 字节数据传输。 • 在传入数据传输命令中P300 不引入数据传输
10.3.3 过程字节 在将报头作为五个字符的字符串传输后接口设备应等待一个传送过程字节的字符。 过程字节分为三种见表 11。 ⎯ 如果值为 60则为 NULL 字节。 它不要求对数据传输采取任何行动。 接口设备应等待传送过程字节的字符。 ⎯ 如果值为 6X 或 9X除了 60它是一个 SW1 字节。 它不要求对数据传输采取任何行动。 接口设备应等待传送 SW2 字节的字符。 对 SW2 值没有限制。 注意 ISO/IEC 7816-4 强制将“60”作为 SW1 的无效值以及任何不同于“9X”和“6X”的值。 ⎯ 如果该值是 INS 的值除了值 6X 和 9X 之外它是一个 ACK 字节。 所有剩余的数据字节如果有任何字节剩余表示为 Di 到 Dn随后将被传输。 然后接口设备将等待一个传送过程字节的字符。 ⎯ 如果该值是“FF”与 INS 值的异或除了值“6X”和“9X”之外它是一个 ACK 字节。 只有下一个数据字节如果存在才被传输表示为 Di。 然后接口设备将等待一个传送过程字节的字符。 ⎯ 任何其他值均无效。 在每个程序字节卡可以通过 NULL 或 ACK 继续执行命令或者通过 SW1 SW2 完成命令或者通过变得无响应来表示不同意WT 将被超过 10.3.4 状态字节 状态字节 SW1 SW2 指示命令末尾的卡状态。 它们的值应符合 ISO/IEC 7816-4 中的规定。 注 ISO/IEC 7816-4 强制执行 SW1 SW2 的六个值的含义由以前的版本为 T0 指定 ISO/IEC 7816-3:1989 和 1997。 9000 命令正常完成 不支持“6E00”CLA 支持“6D00”CLA但 INS 未编程或无效 6B00 CLA INS 支持但 P1 P2 不正确 6700 CLA INS P1 P2 支持但 P3 不正确 不支持“6F00”命令且未给出精确诊断 根据定义命令在字符传送 SW2 的前沿后 12 个 etu 完成 11.3 块框架 11.3.1 总则 如图 17 所示一个块由两个或三个字段组成。 ⎯ 序言字段由节点地址字节、协议控制字节和长度字节组成。 ⎯ 信息字段由 0 到 254 个字节组成。 ⎯ 结语字段由一个或两个字节组成。 传输协议定义了三种类型的块。 ⎯ 信息块I-block用于传送应用层使用的信息。 此外它还传达了正面或负面的认可。 ⎯ 接收就绪块R 块用于传达肯定或否定确认。 它的信息字段应该不存在。 ⎯ 监控块S-block用于在接口设备和卡之间交换控制信息。 根据其控制功能其信息字段可能会出现。
注这种分离允许协议控制的设计和设备微代码的应用部分相对独立 11.3.2 序言字段 11.3.2.1 节点地址字节节点地址字节NAD允许识别块的源和预期目的地 当多个逻辑连接共存时它可以用来区分它们。 值“FF”无效。 它保留给 PPSS见 6.3.1 和 9.2。 位 1 到 3 是源节点地址表示为 SAD位 5 到 7 是目标节点地址表示为 DAD。 第 4 位和第 8 位已弃用。 卡应将它们设置为 00。接口设备应忽略它们。 注 ISO/IEC 7816-3 的前两个版本指定了第 4 位和第 8 位来控制触点 C6 的弃用参见 5.1.1。 当不使用寻址时SAD 和 DAD 的值应设置为 000。SAD 和 DAD 相同的任何其他 NAD 值保留供将来使用。 在接口设备传输的第一个块中NAD 应通过关联地址 SAD 和 DAD 来建立逻辑连接。 NAD 包含同一对地址 SAD 和 DAD 的后续块与同一逻辑连接相关联。 在信息交互过程中其他地址对SAD和DAD可能会建立其他逻辑连接。 注例如由接口设备传输的具有 SAD 值 x 和 DAD 值 y 的块以及卡传输的具有 SAD 值 y 和 DAD 值 x 的块属于表示为 (x, y) 的逻辑连接而块 由接口设备传输SAD 值为 vDAD 值为 w卡传输 SAD 值为 wDAD 值为 v 的块属于另一个逻辑连接 (v, w)。 11.3.2.2 协议控制字节 协议控制字节 (PCB) 传送控制传输所需的信息。 PCB 定义块是 I 块、R 块还是 S 块。 在每个 I 块中PCB 的位 8 设置为 0如图 18 所示。 ⎯ 位 7 编码表示为 N(S) 的发送序列号。 ⎯ 位 6 是更多数据位表示为 M 位。 ——第 5 位到第 1 位保留供将来使用应设置为 0。 11.4 协议参数 11.4.1 T1 的特定接口字节 指定了三个特定的接口字节T1 的第一个 TAT1 的第一个 TB 和 T1 的第一个 TC见 8.2.3。 它们用于将协议参数设置为非默认值。 11.4.2 信息字段大小 IFSC 是卡可以接收的块信息字段的最大大小。 如果存在T1 的第一个 TA 设置 IFSC 的初始值。 默认值为 32。 IFSD 是接口设备可以接收的块信息字段的最大大小。 IFSD 的初始值为 32。在传输协议开始时IFSC 和 IFSD 被初始化。 在传输协议中IFSC和IFSD可以通过S(IFS request)和S(IFS response)来调整其中INF由一个字节组成名称为IFS。 在任何情况下T1 的第一个 TA 和每个字节 IFS 应按如下方式编码。
⎯ 值“00”和“FF”保留供将来使用。 ⎯ 值 01 到 FE 编码数字 1 到 254。 注 1 本文档建议 IFS 值至少为“20”。 注 2 块大小是序言、信息和尾声字段中出现的字节总数。 最大块大小设置为 IFS 加四或五具体取决于尾声字段的大小。
11.4.3 等待时间 根据定义CWT 是块中两个连续字符的前沿之间的最大延迟参见图 21。 最小延迟是 CGT见 11.2。 注意 当长度存在潜在错误时CWT 可用于检测块的结尾 11.4.4 冗余代码 T1 的第一个 TC 的位 1 指示要使用的错误检测代码 ——CRC 如果位 1 被设置为 1 ——如果位 1 设置为 0则 LRC默认值。T1 的第一个 TC 的位 8 到 2 保留供将来使用应设置为 0。
11.5 数据链路层字符组件操作 在传输协议开始时接口设备有权传输。 异步字符总是分组在块中。 当卡或接口设备发送了一个块时它切换到接收模式。 当卡或接口设备根据长度字节中编码的字节数接收到一个块时它假定它有权传输。 11.6 数据链路层块组件操作 11.6.1 块符号 以下块用于传输协议的描述。 I块表示如下。 I(N(S), M) I-block 其中 N(S) 是发送序列号M 是更多数据位见 11.6.2.2 Na(S), Nb(S) 发送序列号 I-block 的索引 a 和 b 区分源 A 和 B R块表示如下。 R(N(R)) R-block 其中 N(R) 是预期 I-block S-block 的发送序号表示如下。 S(RESYNCH request) S-block 请求重新同步 S(RESYNCH response) S-block 确认重新同步 S(IFS request) S-block 提供信息字段的最大尺寸 S(IFS response) S-block acknowledging IFS S(ABORT request) S-block请求链中止 S(ABORT response) S-block 确认链中止 S(WTX request) S-block 请求等待时间延长 S(WTX response) S-block 确认等待时间延长 在 S(IFS…) 和 S(WTX…) 中INF 根据 11.6.2.3 中的规则 3 和 4 存在