1、道自ICS 35.220.10 L 64 和国国家标准11: _,.、中华人民GB/T 29271.2-2012月SO/IEC24727-2: 2008 识别卡集成电路卡编程接口第2部分:通用卡接口Identification cards-Integrated circuit card programming interfaces-一Part 2: Generic card interface 2013回06-01实施(ISO/IEC 24727-2:2008 ,IDT) 2012-12-31发布发布中华人民共和国国家质量监督检验检夜总局中国国家标准化管理委员会-2Zz-ih 飞们几J协切/记
2、喝与wyh GB/T 29271.2-20 12/ISO/IEC 24727-2: 2008 目次前言.皿引言.N 1 范围-2 规范性引用文件-3 术语和定义4 缩略语.2 5 用于互操作的结构.2 5. 1 用于互操作的命令-响应对.2 5.2 用于互操作的卡片状态5.3 用于互操作的状态字.7 5.4 用于互操作的数据结构.9 5.5 用于互操作的卡端应用. . 10 6 能力描述.6.1 卡片能力描述(CCD).6.2 应用能力描述(ACD). 12 6.3 程序元素. 12 6.4 能力描述的值的确定.13 附录A(资料性附录)GCI中的密码信息应用轮廓.15 附录B(资料性附录)轮
3、廓A示例.17 附录C(规范性附录卡端应用服务描述的密码信息应用.27 附录D(资料性附录)卡端应用服务描述中密码信息应用示例.33 附录E(资料性附录)DID检索.40I GB/T 29271.2-20 12/ISO/IEC 24727-2: 2008 前GB/T 29271(识别卡集成电路卡编程接口分为以下6个部分z一一第1部分z体系结构;一一第2部分z通用卡接口z一第3部分:应用接口z第4部分z应用编程接口CAPD管理z第5部分z测试规程;第6部分z实现互操作的鉴别协议的注册管理规程。本部分为GB/T29271的第2部分。本部分按照GB/T1. 1-2009给出的规则起草。本部分使用翻译
4、法等同采用ISO/IEC24727-2: 2008O)。除了表7的状态字外,以后可能会定义更多的状态字。为了GBjT29271各部分的一致性,处理结果不能在上表中找到的都分别用6FOO和OFOO响应.8 GB/T 29271.2-20 12/ISO/IEC 24727-2: 2008 SW1以0、气、2、3、吨、5、7、鸣,, A、B、C, D、E开头的所有状态字均被GB/T 29271定义或被ISO/IECJTC1/SC17保留供将来使用。SW1以F开头的状态字为私有状态字。5.4 用于互操作的数据结构用于互操作的数据结构应以文件或BER-TLV数据对象来执行。这些文件和BER-TLV数据对
5、象在ISO/IEC7816-4中定义。GCI通过GETDATA和PUTDATA命令来管理数据对象。卡端应用也拥有并管理数据对象。EF或TLV结构中的数据对象的安全属性包含在EF的FCP中。每一个卡端应用是通过ISO/IEC7816-4中的应用标识符来识别的。表8至表13描述了GCI所涉及到的模板和标签。GB/T 29271的后续部分中包括了更多的模板和数据对象。表8互操作数据对象模板符号标签描述标签类别FCP 62 数据文件控制参数模板应用AT A4 用于鉴别的控制引用模板CCT 84 用于密码校验的控制引用模板环境通用DST B6 用于数字签名的控制引用模板特定上下文管理安全环境和执行安全操
6、作命令CT 88 机密性的控制引用模板HT AA 晗希模板表9互操作数据对象FCP模板符号标签描述SIZE 80 文件中除去结构信息的数据字节数ALLOC 81 分配给EF或DF的包括结构信息的字节数FDB 82 文件描述符字节(1字节FID 83 文件标识符DFNAME 84 DF名称,通常为AIDFlD-ACD 81 包括一个扩展的文件控制信息的EF标识符SEC-EXP AB 扩展格式的安全属性模板SEC-COM 8C 压缩格式的安全属性SEC-DO AO 数据对象安全属性模板表9中,如果有FID-ACD(tag87),则应为包含卡端应用能力描述的EF的文件标识符。9 GB/T 29271
7、.2-2012月SO/IEC24727-2 :2008 表10鉴别控制引用模摄(AT)中的互操作数据对象符号标签描述CM-REF 80 密码机制引用SEC-KEY /PuKR 83 保密密钥或公钥引用SES-KEY/PrKR 84 过程密钥或私钥引用表11密码校验和控制引用撞撞(CCT)中的互操作数据对象符号标签捕述CM-REF 80 密码机制引用SEC-KEY 83 保密密钥引用SES-KEY 84 过程密钥引用一一一一表12数字签名控制引用模根(DST)中的互操作数据对象符号标签描述CM-REF 80 密码机制寻|用PuKR 83 公钥引用PrK.R 84 私钥引用表13机密性控制引用模板
8、(CT)中的互操作数据对象符辛标签描述CM-REF 80 密码机制引用SEC-KEY/PuKR 8 公钥或私钥引用SES-KEY /PrKR 84 过程密钥或私钥引用一二一其他数据对象,尤其是关于安全报文传输的数据对象在GB/T29271的其他部分定义。5.5 用于互操作的卡端应用5.5.1 阿尔法卡端应用应用标识符为E828 81 Cl17 02的卡端应用为阿尔法卡端应用。在GCI或SAL层应存在阿尔法卡端应用并且能够被选择。阿尔法卡端应用应包括ISO/IEC7816-4中定义的象卡、文件、卡端应用管理信息等独立于应用的卡片信息。5.5.2 密码信息应用密码信息应用在ISO/IEC7816-
9、15中定义。如果CCD中指示了密码信息应用,则密码信息应用应能在GCI中选择。10 G/T 29271.2-2012月SO/IEC247272:2008 附录B中描述了一个ISO/IEC7816-15中定义的密码信息应用的例子。6 能力描述包括卡能力描述(CCD)和应用能力描述(ACD)两种类型。当GCI检索能力描述时,应在标签为7F62的数据字段下检索卡片能力描述,在标签为7F63的数据字段下检索应用能力描述。6. 1 卡片能力描述(CCD)阿尔法卡端应用应支持数据对象(标签7F62)的检索。表14列出了CCD中可能出现的数据对象。这些数据对象适用于所有符合ISO/IEC24727的应用,并
10、可能包括卡上现有应用的列表以及卡片私有命令与表2列出的命令的映射。表14CCD中的数据对象(7F62)符手标签描述必选/可选值说明PRO 80 该CCD符合的本部分的轮廓必选 00 由卡提供SAID AO 卡端应用的应用标识符标签为4F的数据可以用来自卡的信息由序列可选对象的串联ISO/IEC 24727-2实现来结构化LANG Al 程序元素描述模板,见表16中定义的数据可以用来自卡的信息由可选6.3 对象ISO/IEC 24727-2实现来结构化LANG-URL 5F50 转换代码的URL可选CIA-PROFILES 81 GCI中呈现的CIA轮廓位i置1表示轮廓i存在。可选位串位1表示按
11、附录A中的轮廓,其他位为RFUCIA-位i置1表示轮廓将由PROFILES 82 GCI中呈现的CIA轮廓可选位串ISO/IEC 24727-2实现产-ATOMATIC 生,位1表示按附录A中的轮廓。其他位为RFUDIGITAL-SIGNATRUE 5F3D 程序元素的数字签名可选数字签名块数据数字签名的密钥设施不ON-CODE 信息对象在本标准范围内IF-PROFILE 83 ISO/IEC 24727-3接口的由卡片提供,如果存在,轮廓可选 00 卡片则支持ISO/IEC 24727-3接口本部分规定了ISO/IEC7816-15中的密码信息应用的轮廓。这些密码信息应用数据应存在于阿尔法卡
12、端应用和密码信息应用中,轮廓定义参见附录A.示例参见附录B。11 GB/T 29271.2-2012月SO/IEC24727-2: 2008 6.2 应用能力描述(ACD)每一个包括阿尔法卡端应用的卡端应用可以在ACD数据对象(7F63)中被描述。表15列出了ACD中可能用到的数据对象,这些数据对象包含和卡端应用有关的信息。卡端应用服务描述的密码信息应用见附录C,卡端应用服务描述中密码信息应用示例参见附录Do表15ACD数据对象(7F63)符号标签描述必选/值说明可选LANG A1 程序元素描述模板,可选表16中定义的数据对象由卡端应用或lSO/详见6.3IEC 24727-2实现提供LANG
13、-URL 5F50 转换代码的URL可选数据对象值字段是DER编SERVICE-卡端应用支持的服码的CIAlnfo值后随DER 7F66 可选编码的ISO/IEC7816-15 DISCRIPTION 务的描述CIOChoice值的串联,如附录C中所描述。SERVICE-URL的值是包含DER编码 7F67 卡端应用支持的服可选的ISO/IEC7816-15 CIO-DESCRIPTION -LOCATION 务的描述的URLChoice值的资源的位置,如附录C中所描述。DIGITAL-程序元素的数字签数字签名的密钥设施SIGNATURE 5F3D 可选数字签名块数据对象-ON应用名称或应用m
14、应存在且不能为空值F值将被忽略数据对象属性用空值直接选择后对象值应存在,值将被忽略DSI 公共对象属性标记DSI名称公共数据容器对象属性应用名称或应用ID应存在且不能为空值E值将被忽略卡端应用中DSI的人口地址、在数据对象属性iso7816DO. relative. path 该位置对数据的第一个字节的偏移、以字节计的数据的长度28 GBjT 29271.2-2012jISOjIEC 24727-2:2008 C. 4 ISOjIEC 24727差异特征每个卡端应用的差异特征是被ISO/IEC7816-15 authObjects组件在卡端应用服务描述为包含确切的鉴别信息对象。这些鉴别信息对象
15、描述了所有经过卡端应用识别的差异特征并非是鉴别状态变量在访问规则中出现的差异特征。ISO/IEC 7816-15鉴别信息对象的公共对象属性的lable属性是ISO/IEC24727差异特征的名称。ISO/IEC 7816-15鉴别信息对象的访问控制规则accessControlRules属性用上面表C.1中描述的访问模式字节的映射。ISO/IEC 7816-15公共对象属性的authld是可选的,如果存在,应包括用于鉴别差异特征的值。ISO/IEC 7816-15公共鉴别对象属性的authId是服务描述中唯一的标识,用于交叉引用其他信息对象的属性。ISO/IEC 7816-15公共鉴别对象属性
16、的authReference属性是安全环境和访问规则的关键数据。鉴别信息对象的具体类型CIO属性中的path属性如果存在,则这个标记和差异特征有关。ISO/IEC 24727差异特征的检索参见附录E。表C.2列出了ISO/IEC7816-15差异特征编码。表C.2lSOjIEC 7816-15差异特征编码差异特征属性描述-一公共对象属性标记差异特征名称访问控制规则差异特征的访问控制列表鉴别lDcialr巾支持算法列表数据字段的值公共鉴别对象属性鉴别E卡端应用差异特征的唯一标识符鉴别信息差异特征的关键数据鉴别对象属性鉴别差异特征的参数的描述C.5 ISOjIEC 24727卡端应用服务和功能在I
17、SO/IEC7816-15包括数据容器信息对象串的数据容器对象元素的服务描述中描述了ISO/IEC24727卡端应用服务,服务编码见表C.3。第一个数据容器信息对象描述了服务,后续数据容器信息对象是可选的,如果存在,则每一个都描述一个服务的功能。ISO/IEC 7816-15数据容器信息对象串中第一个数据容器信息对象的公共对象属性的label属性是卡片服务的名称。ISO/IEC 7816-15数据容器信息对象串中第一个数据容器信息对象的公共对象属性的accessCon-29 G/T 29271.2-2012/ISO/IEC 24727毛:2008trolRules属性包括一个ISO/IEC24
18、727服务,这个服务描述了访问控制列表和表C.4中所映射的服务。ISO/IEC 7816-15数据容器信息对象串中第一个数据容器信息对象的公共对象属性的iD属性包括一个自由形态的服务描述。ISO/IEC 7816-15数据容器信息对象串中的每一个数据容器信息对象包括描述ISO/IEC24727第一个数据容器信息对象所描述的功能的服务。ISO/IEC 7816-15描述功能的数据容器信息对象公共对象属性的label属性是对应功能的名称。间接选择代表数据字段和类型属性描述了一个DSI.路径是标识卡端应用的地址可执行代码,例如:可执行代码可以是ISO/IEC20060单元,MULTOS卡或JAVA卡
19、的applet。如果一个服务或功能没有在ISO/IEC7816-15数据容器对象中定义,那么对应的访问条件被设置为Never。表C.3服务的编码Il 务属性描述公共对象属性标记服务名称(根据ISO/IEC24727-3) 访问控制规则服务中的访问规则,其目标是与服务相关的访问控制列表公共数据容器对象RFU 应用名称或应用OID应存在且不能为空,值将被忽略数据对象属性对象值间接选择的对象值是执行卡端应用的服务可执行代码或为空功能公共数据属性标记操作名称(根据ISO/IEC24727.剖,见表C.4中的映射访问控制规则服务中的访问规则,其目标是卡端应用公共数据容器对象属性RFU 应用名称或应用OI
20、D应存在且不能|为空,值将被忽略| 数据对象属性数据值间接选择的对象值是执行卡端应用|的服务可执行代码或为空| 30 GB/T 29271.2-20 12/ISO/IEC 24727.2: 2008 C.6 访问模式字节的功能映射表C.4ISO/IEC 24727-3操作映射到自O/IEC7816-15公共对象属性的标记IS0月EC24727-3操作公共对象属性的标记(必选ACLList ACL_LIST ACLModify ACL_MODIFY CardApplicationEndSession CA_END_SESSION CardApplicationStartSession CA_ST
21、ART_SESSION CardApplicationDisconnect CA_DIS4巳ONNECTCardApplicationConnect CA_CONNECT CardApplicationCreate CA CREATE CardApplicatonDelete CA DELETE CardApplicatonServiceCreate CA_SERVlCE_CREATE CardApplicationServiceLoad CA_SERVICE_LOAD CardApplicationServiceDelete CA SERVlCE DELETE CardApplication
22、List CA LIST CardApplicationServiceList CA_SERVlCE_LIST CardApplicationServiceDescribe CA_SERVICE_DESCRIBE ExecuteAction EXECUTE_ACTION 卜DataSetCreate DS_CREAE DataSetDelete DS DELETE DataSetSelect DS SELECT DataSetList DS LIST DSICreate DSI一CREATEDSIDelete DSI_DELETE DSIList DSI L脑TDSIWrite DSLWRIT
23、E DSIRead DSI READ DIDList DID LIST DIDCreate DID CREAl亚DIDDelete DID_DELETE DIDUpdate DID UPDATE 31 GB/T 29271.2-2012月SO/IEC24727-2:2008 表C.4(续ISO/IEC 24727-3操作公共对象属性的标记(必选)DIDGet DID GET DIDAuthenticate DID_AUTHENTICATE Encipher ENCIPHER Decipher DECIPHER GetRandom GET_RANOOM Hash HASH Sign SIGN V
24、erifySignature VERIFY SIGNATURE VerifyCertificate VERIFY_CERTllnCATE 32 GB/T 29271.2-2012/ISO/IEC 24727-2: 2008 附录D资料性附录)卡端应用服务描述中密码信息应用示例 -SEQUENCE一cardInfo -SEQUENCE一version 2, serialNumber 0102030405060708H, manufacturerID 41434d45 H -ACME一,label 506572736f6e616c2044617461205661756c74H 一PersonalD
25、ata Vault一,cardflags 60日,supportedAlgorithms - SEQUENCE OF一 -SEQUENCE一reference 1, algorithm 16, supportedOperations 02日,。bjId1 3 14 3 2 26 , algRef 1 , -SEQUENCE一reference 2, algori thm 272, supportedOperations Oc日,objId l 3 36 3 11, algRef 2 -SEQUENCE一, H5-nu咱ARM 4 QJ qu n4 ORd -3 +L叮牛al br) uie川L
26、Uf句胆emd23 che-u ntt1 eirf rr。deeopIR 俨4qdp-4Jqdelub- rasoa , issuerId 4b61726d61204c6f6f70日一KarmaLoop一,holderId 53616c6c7920477265656eH一SallyGreen一,lastUpdate generalizedTime 31393835313130363231303632372e335aH 一19851106210627.3Z一,preferredLanguage 4573706572616e746fH一Esperanto一 , cioChoice - SEQUEN
27、CE OF一33 GB/T 29271.2-2012月SO/IEC24727-2 :2008 34 , dataContainerObjects objects 一SEQUENCEOF一iso7816DO -SEQUENCE一cornmonObjectAttributes -SEQUENCE一label 436c6f7468696e672053697a6573日一ClothingSizes一,accessControlRules - SEQUENCE OF一-SEQUENCE一accessMode 0000 b -READ一,securi tyCondi tion authId 01日 , -
28、SEQUENCE一accessMode OOOOb-WRITE一,securityCondition authId 03H classAttributes -SEQUENCE一applicationName OOH typeAttributes indirect path -SEQUENCE一type efidOrPath H iso7816DO -SEQUENCE一 , cornmonObjectAttributes -SEQUENCE一label 4861742053697a65日一HatSize一classAttributes -SEQUENCE一applicationName OOH
29、typeAttributes indirect path -SEQUENCE一type tagRef -SEQUENCE一tag cl H length 4 iso7816DO -SEQUENCE一cornmonObj ectAttributes -SEQUENCE一label 536f636b2053697a65 H - Sock Size一classAttributes -SEQUENCE一applicationName OOH GB/T 29271.2-2012月SO/IEC24727-2 :2008 typeAttributes indirect path -SEQUENCE一type
30、 tagRef -SEQUENCE一tag cl日index 4, length 4 authObj eots obj ects SEQUENCE OF一pwd - SEQUENCE - , commonObjE;ctAttributes -SEQUENCE一label S3616c6c792047726S656e202d20S0494eH 干SallyGreen -P工N一,authld 01日classAttributes 一SEQUENCE-auth工d81 ,H. authReference 128, seIdentlfier 2 typeAttributes -SEQUENCE一pw
31、dflags 0000 1000b, pwdType 0, minLength 4, stcredLength 4, maxLength 8, pwdReference 129, padChar 00 H, path 一SEQUENCE一type efldOrPath ,.延authObj ects obj ects - SEQUENCE OF一pwd 一SEQUENCE一commonObjectAttributes -SEQUENCE一label 53616c6c7920477265656e202d2050S54bH 一SallyGreen-PUK一,authld 01 H classAtt
32、rlbutes -SEQUENCE一35 GB/T 29271.2-2012月SO/IEC24727-2 :2008 36 authld 82日,authReference 129, seldentifier 2 typeAttributes -SEQUENCE一pwdFlags 00101100b, pwdType 0, minLength 8, storedLength 8, maxLength 8, pwdReference 130, padChar 00日,path -SEQUENCE一type efidOrPath H authObj ects obj ects - SEQUENCE
33、 OF一authKey -SEQUENCE一, commonObjectAttributes -SEQUENCE一label 53616c6c7920477265656e202d20536563726574204b6579H 一SallyGreen - Secret Key一,authld 02 H classAttributes -SEQUENCE一authld 03日,authReference 3, seldentifier 2 typeAttributes -SEQUENCE一derivedKey FALSE, authKeyld H dataContainerObjects obje
34、cts - SEQUENCE OF一iso7816DO -SEQUENCE一commonObjectAttributes -SEQUENCE一label 436f6e6e656374696f6e2053657276696365H 一ConnectionService一,accessControlRules - SEQUENCE OF一 -SEQUENCE一GB/T 29271.2-2012月SO/IEC24727-2:2008 accessMode 0000 b - ACL LIST and ACL MODIFY一,securityCondition always NULL classAttr
35、ibutes -SEQUENCE一applicationName OOH typeAttributes indirect path -SEQUENCE一type efidOrPath ., H dataContainerObjects objects - SEQUENCE OF一is07816DO -SEQUENCE一commonQbjectAttributes - SEQUENCE , , lab1 436172642d4170706c69636174696f6e2053657276696365H 一Card咛ApplicationServie一,accessControlRules - S
36、EQU8NCE OF -SEQUENCE一accessMode 0000 b - ACL LIST -, securi tyCondi tion always NULL classAttributes -SEQUENCE一app1icationName OOH typeAttrlbui二esindirect path - SEQUENCE type efidorPath H dataContainerObjects objects - SEQUENCE OF一is07816DO -SEQUENCE一commonObjectAttributes -SEQUENCE一label 4e616d656
37、420446174612053657276696365H 一NamedData Service一,accessControlRules - SEQUENCE OF一 -SEQUENCE一accessMode cO日-ACL LIST and ACL MODIFY一,securi tyCondi tion authId 03 H 37 G/T 29271.2-2012月SO/IEC24727-2 :2008 38 classAttributes -SEQUENCE一applicationName OOH , , typeAttrlbutes indirect path -SEQUENCE一typ
38、e efidOrPath H iso7816DO -SEQUENCE一commonObj ectAttributes -SEQUENCE一label 4453495f52454144H一DSIREAD一,accessControlRuls - SEQUENCE OF一 - SEQUENCE -accessMode 0000 0000 0000 0000 0000 0000 b - DSI READ一,securityCondition authld 01 H classAttributes -SEQUENCE一applicationName OOH , , typeAttributes ind
39、irect path -SEQUENCE一type efidOrPath ,日iso7816DO -SEQUENCE一commonObjectAttributes -SEQUENCE一label 4453495f5752495445H一DSIWRITE一,accessControlRules - SEQUENCE OF一 -SEQUENCE一accessMode 0000 0000 0000 0000 0000 0000 b一DSIWRITE一,securi tyCondi tion authld 03 H classAttributes -SEQUENCE一applicationName 0
40、0日typeAttributes indirect path -SEQUENCE一type efidOrPath H-一GB/T 29271.2-2012月SO/IEC24727-2: 2008 , secretKeys obj ects - SEQUENCE OF一genericSecretKey -SEQUENCE一commonObjectAttributes -SEQUENCE一label 534b2d31H一SK-1 classAttributes -SEQUENCE一iD 77H, usage 0000 b, native TRUE, accessFlags 1001b, keyRe
41、ference 1 subClassAttributes -SEQUENCE一keyLen 64 typeAttributes - SEQUENCE keyType 1 3 36 3 4 32 1 , keyAttr 01001101b 39 GB/T 29271.2-2012月SO/IEC24727-2 :2008 附录E(资料性附录)DID撞索差异特征(DID)的结构取决于所用的鉴别协议,鉴别协议确定后才能确定标记和匹配的结构。因此,解析应用能力描述的服务描述时,首先应检验鉴别协议的校验值。在流程中示出的鉴别协议值的检索机制以解析鉴别对象选择开始。首先,鉴别对象选择中的类型属性应确定,如果
42、类型属性是口令属性或生物特征属性,那么鉴别协议应该是PIN校验或生物特征识别协议。如果类型属性是外部鉴别对象属性,则应检查选择了哪种外部鉴别对象属性z一一如果使用基本鉴别属性(CertBasedAuthenticationAttributes),那么应该用非对称外部鉴别协议。一如果使用密钥鉴别属性(AuthKeyAttributes),那么除非与对象标识符(objId)有关,应该用对称外部鉴别协议,否则,CIAInfo的相应算法将被用来检索对象标识符(objId)。如果这个非DER-TLV编码的对象标识符(objId)值以10 24727 3开头,那么这个值将被直接用于确定鉴别协议。鉴别协议值
43、的检索流程见图E.l。40 GB/T 2927 1.2-2012/ISO/IEC 24727-2:2008 PasswordA耐ibutesBiometricAttribut田ExternalAuthObjectAttributes Investigate ExtemalAuthObj四tAttribut,白Cer但由edAuthenti田tionAttributes DlD.au艘军砸由:oh=Asym血债cEx部rnalA磁坠峭啤e(A.4)AuthKey Attributes AuthKeyAttrib皿esOIDm放量P栅脚曲4如蹦蹦cEx阳刚峭棚ili倒时A.6retri四ekey with CommonKeyA伽ibut盹iD=AuthKey Attributes.authKeyld retreve Algori也mlnfoout ofCIAlnfo wi由AlgorithmlnfoalgRef=CommonKeyA伽ibut田algRefAlgori由mlnfo.ot喝ldstar臼with1 0 24727 3 DID.ll铺胁密制oL-A均由她血lnt