




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章 智能卡平安技术关键技术身份鉴别报文鉴别数据加密数字签名主要内容7.1 密钥管理系统7.2 智能卡的平安访问机制7.3 智能卡防拔插处置 7.4 智能卡的平安运用7.5 平安操作相关的根本命令7.1 密钥管理系统1. 何为密钥管理? 密钥管理是一门综合性的技术,它涉及密钥的产生、检验、分配、传送、保管和运用。2.密钥管理系统层次构造 根本思想:用密钥维护密钥用第i层的密钥Ki来维护第i+1层密钥Ki+1Ki本身也遭到第i1层密钥Ki-1的维护下层的密钥可按某种协议不断变化;密钥管理系统是动态变化的1三层密钥管理系统的构造2三层密钥管理系统的举例 设采用对称密码体制 主密钥在智能卡和读写器
2、中存放一样的主密钥 子密钥主密钥对某些指定的数据加密后生成子密钥主密钥子密钥会话密钥 如:每张卡的芯片制造商的标识码的序列号或运用序列号是不一样的,且都设置在IC卡内,因此可利用序列号进展加密生成子密钥; 会话密钥 用子密钥对可变数据进展加密,加密的结果即为会话密钥或过程密钥。一个会话密钥仅运用一次。 如:用子密钥对买卖时间或命令计数器进展加密生成会话密钥,这样即使是同一张卡,每次运用时的会话密钥就不同,或做不同的操作,会话密钥也不同。3. 主密钥的生成主密钥可由几个可信任的人彼此独立提出的数据组合成一个密钥,然后对随机数进展加密运算而获得,这样主密钥的生成和变化规律就很难估计。4. 主密钥的
3、下载IC卡中主密钥的下载主密钥下载是在专门设备上进展的,下载的环境是平安的;但要保证IC卡上的触点的信息不能被窃取,主密钥下载后,不能再读出,这由硬件熔丝和软件COS卡内操作系统来保证读写器中主密钥的下载读写器内部没有COS,不能保证主密钥不被读出,常采用平安存取模块SAM,密钥下载到SAM模块中,加密/解密算法也在SAM中进展。7.2 智能卡的平安访问机制1. 鉴别与核实2. 平安报文传送3. 文件访问的平安控制4. 数字签名/认证1. 鉴别与核实鉴别Authentication指的是对智能卡或者是读写设备的合法性的验证,即是如何断定一张智能卡或读写设备不是伪造的卡或读写设备的问题;核实ve
4、rify是指对智能卡的持有者的合法性的验证,也就是如何断定一个持卡人能否经过了合法的授权的问题。读写器鉴别IC卡的真伪内部认证读写器生成随机数N,并向卡发内部认证指令Internal Authentication, 将随机数送卡;卡对随机数N加密成密文M密钥已存在卡和读写器中,并将M送读写器;读写器将M解密成明文N1;读写器将明文N1和原随机数N比较,一样那么读写器以为卡是真的。IC卡鉴别读写器的真伪外部认证读写器向卡发生成随机数命令卡产生随机数N,并送读写器;读写器对随机数加密成密文M密钥已存在卡和读写器中;读写器向卡发外部认证命令External Authentication,并将密文M送
5、卡;卡将密文M解密成明文N1,并将明文N1和原随机数N比较,一样那么卡以为读写器是真的。鉴别核实方法验证个人识别号PINpersonal identification number;生物特征;下认识特征;PINPINPersonal Identification Number个人识别号是IC卡中的严密数据。功能:保证只需合法持卡人才干运用该卡或卡中的某一项或几项功能,以防止拾到该卡的人恶意运用或非法伪造。错误计数器:用以记录、限制PIN输入错误的次数PIN的类型全局PINGlobal PIN 处于系统的较高层次如主文件中,一旦因错误计数溢出等缘由自锁,也同时锁住运用该PIN的其他运用层次。部分
6、PINLocal PIN 处于某一详细运用层次中,一旦因错误计数溢出等缘由自锁,那么仅锁住该运用层次。 PIN功能简单汇总表功 能简单IC卡复杂IC卡 如CPU卡PIN无或有有PIN数量一个假设干个PIN位数较短较长/可自定义如18位十进制数PIN输入错误限制次数较少如3次较长/可自定义如115次全局/部分PIN否是可修改性等其他属性否是个人解锁码PUC 否是PUC: Personal Unblocking CodePIN明码识别 读卡器与卡间以明码传输,在IC卡内部完成PIN的鉴别用户终端机智能卡键入PIN发“持卡人认证”指令,并提交PIN码该PIN卡内所存密码?PIN是返回错误代码继续其他
7、操作否PIN密码识别生物识别生物识别技术就是依托人体的身体特征来进展身份验证的技术,例如语音、掌纹、面孔、虹膜、视网膜、骨架和指纹上述人体特征都具有终生不变的稳定性和人人不同的特定性,这决议了它们可以作为个人身份鉴定的可靠根据。其中指纹识别是最流行、最方便以及最可靠的个人身份认证方法之一。 GO指纹识别的特点具有独一性和稳定性防止记忆众多而又复杂的口令便于获取指纹样本,适用性强一个人的十指指纹皆不一样,可以方便地利用多个指纹构成多重口令,提高系统的平安性,同时并不添加设计负担指纹识别中运用的模板并非最初的指纹图,而是由图中提取的关键特征,这样减少了模板库的存储量,便于网络传输指纹在IC卡中的身
8、份识别指纹智能卡读卡器生物识别的缺陷需求较大的存储容量技术实现比较复杂费用较高7.2 智能卡的平安访问机制1. 鉴别与核实2. 平安报文传送3. 文件访问的平安控制4. 数字签名/认证2. 平安报文传送在信息交换过程中保证信息的完好性和严密性完好性:保证所交换的内容不被非法修正。利用MAC严密性:防止非授权者窃取所交换的信息。利用密码技术对信息加密处置2.1 完好性的保证采用报文鉴别为鉴别所交换的信息内容未被非法修正,在信息报文中参与报头/尾即鉴别码。由读卡器对报文内容进展某种运算得出鉴别码1。将鉴别码1和报文一同传输到智能卡,智能卡再用商定算法对报文进展运算得出鉴别码2,将两个鉴别码比较。相
9、等,接受不相等,拒收并报警鉴别码通常被简写为MACMessage Authentication Code,报文鉴别码鉴别算法DSA算法DES算法目前常用3DES算法目前常用1、鉴别算法DSA算法DSA decimal shift and add算法由Sievi1980年提出 1DSA算法在收发双方同时利用两个十位长的任选的十进制数b1和b2,作为密钥。将被鉴别的信息看成十进制数串,然后分组,十位一组。每次运算加法取一组,两个运算流并行进展,直到一切信息组运算终了。2DSA算法举例 用RXD表示对D循环右移X位,如D1234567890,那么R3D8901234567。 用SXD表示相加之和:
10、S3D R3DDmod1010。其中:R3D8901234567 D1234567890S3D = 0802457 假设信息M1583492637 52835869,鉴别码的计算如下:先将信息分成十位一组,最后一组缺乏十位时补0; 即:m1= 1583492637, m2= 5283586900;2. 任选密钥: b1= 5236179902, b2= 4893524771;3. 两个运算流同时运算。运算流1运算流2m1 1583492637m1 1583492637 b1 5236179902 b2 4893524771 R4p = 2539681967p = 6819672539q = 6
11、477017408 R5q = 1740864770 S4p = 9359354506 S5q= 8217882178 m2 5283586900 m2 5283586900 R8u = 4294140646u = 4642941406v = 3501469078 R2v= 7835014690 S8p = 8937082052 S2q = 1336483768 m3 m3 . 至此,两组信息组运算终了,得到两个十位长的十进制数,再组合一下,将它们按模1010相加。 S8p= 8937082052 S2q= 1336483768 0273565820鉴别码鉴别码2、鉴别算法DES算法以Time
12、COS/PK为例 规定MAC的长度为4个字节 ,引见MAC的生成方法:第一步:终端向智能卡发出一个Get Challenge命令,从智能卡回送的4字节随机数后缀以00 00 00 00,所得到的结果作为初始值。第二步:按照顺序将以下数据衔接在一同构成数据块:CLA,INS,P1,P2,Lc+4,Data注必需置CLA的后半字节为4; 在命令的数据域中假设存在包含明文或加密的数据 第三步:将该数据块分成8字节为单位的数据块,标号为D1,D2,D3等,最后的数据块有能够是1-8个字节。 第四步:假设最后的数据块长度是8字节的话,那么在其后加上16进制数字80 00 00 00 00 00 00 0
13、0,转到第五步。假设最后的数据块长度缺乏8字节的话,那么在其后加上16进制数字80,假设到达8字节长度,那么转入第五步;否那么在其后参与16进制数字0直到长度到达8字节。 第五步:对这些数据块运用相应的密钥进展加密。根据密钥的长度采用Single DES或Triple DES。 第六步:最终得到是从计算结果左侧获得的4字节长度的MAC。Single DES密钥产生MACTriple DES密钥产生MAC2.2 严密性保证加密/解密利用密码技术对信息进展加密处置,以掩盖真实信息,到达严密的目的。普通采用传统的DES算法或3DES算法DES算法 加密过程:C=EKDKEKM 解密过程:M=DKEK
14、DKC3DES算法 加密过程:C=EKLDKREKLM 解密过程:M=DKLEKRDKLC以TimeCOS/PK为例,引见数据加密/解密计算当传输报文中的某一部分重要的明文数据需求加密时,它将要被格式化成为以下方式的数据块:明文数据的长度LD ,不包括填充字符明文数据填充字符数据加密计算第一步:用LD表示明文数据的长度,在明文数据前加上LD产生的新数据块。第二步:将第一步中生成的数据块分解成8字节数据块,标号为D1,D2,D3等等。最后一个数据块的长度有能够缺乏8位。第三步:假设最后或独一的数据块长度等于8字节,转入第四步;假设缺乏8字节,在右边添加16进制数字80。假设长度已达8字节,转入第
15、四步;否那么,在其右边添加1字节16进制数字0直到长度到达8字节。 第四步:对每个数据块用相应的密钥进展加密。 第五步:计算终了后,一切加密后的数据块按照原顺序衔接在一同加密后的D1,加密后的D2,等等。并将结果数据块插入到命令数据域中。 用Single DES密钥进展数据加密的算法 用Triple DES密钥进展数据加密的算法数据解密计算第一步:将命令数据域中的数据块分解成8字节长的数据块,标号为D1,D2,D3,D4等等。第二步:对每个数据块运用与数据加密一样的密钥进展解密。第三步:计算终了后,一切解密后的数据块按照顺序解密后的D1,解密后的D2,等等链接在一同。数据块由LD,明文数据,填
16、充字符组成。第四步:由于LD表示明文数据的长度,因此,它被用来恢复明文数据。 用Single DES密钥进展数据解密的算法 用Triple DES密钥进展数据解密的算法2.3 TimeCOS/PK中的平安报文传送1、实现理念2、实现方式3、平安报文传送的命令情况4、运用举例1、实现理念完好性维护对传输的数据附加4字节MAC码,接纳方收到后首先进展校验,只需校验正确的数据才予以接受性维护对传输的数据进展DES加密,这样传输的就是密文,攻击者即使获得数据也没有意义性和完好性维护此种方式最平安,对传输的数据进展DES加密,后对传输的数据附加4字节MAC码,接纳方收到后首先进展校验,只需校验正确的数据
17、才予以接受2、实现方式 如对文件进展平安报文传送,只需在建立文件时改动文件类型字节高两位即可。b7b6b5b4b3b2b1b0线路保护方式00文件类型无10文件类型MAC线路保护11文件类型DES&MAC线路加密保护例如:某二进制文件文件类型为28,假设希望对该文件进展线路维护,那么在建立文件时将文件类型更改为: A80010 10001010 1000举例举例 如对密钥进展平安报文传送运用Write Key,Verify等,只需在安装密钥时改动密钥类型字节高两位即可。b7 b6 b5 b4 b3 b2 b1 b0线路保护方式00密钥类型无01密钥类型DES加密保护11密钥类型DES&MAC线
18、路加密保护例如:某密钥密钥类型为39,假设希望对该密钥进展线路加密维护,那么在安装该密钥时将密钥类型更改为: F90011 10011111 10013、平安报文传送的命令情况 情形1 没有数据送到卡中,也没有数据从卡中前往 不含平安报文的命令 含平安报文的命令注:CLA字节的低4字节必需是04 Lc=4 MAC的长度情形2 没有数据送到卡中,但有数据从卡中前往不含平安报文的命令含平安报文的命令注:CLA字节的低4字节必需是04;Lc=4 MAC的长度情形3 有数据送到卡中,但没有数据从卡中前往不含平安报文的命令含平安报文的命令注:CLA字节的低4字节必需是04情形4 有数据送到卡中,也有数据
19、从卡中前往不含平安报文的命令含平安报文的命令注:CLA字节的低4字节必需是044、运用举例命令:写二进制文件Update Binary维护密钥值:57415443484441544154696D65434F53条件:文件标识符=0003;文件主体空间=8字节建立时采用线路加密维护 DES&MAC 操作: 写二进制文件,写入数据:1122334455667788步骤1取4字节随机数,计算MAC用命令:00 84 00 00 04呼应:46 4E 84 AF 90 00步骤2写二进制文件,写入数据11 22 33 44 55 66 77 88命令:04 D6 83 00 14 68 7E 0F 8
20、3 F6 A9 85 80 C4 01 5C EB 8D 00 F3 8B 1C AB E2 B9阐明: 68 7E 0F 83 F6 A9 85 80 C4 01 5C EB 8D 00 F3 8B为运用维护密钥对数据08 11 22 33 44 55 66 77 88 80 00 00 00 00 00 00加密后的结果;1C AB E2 B9为运用维护密钥生成的4字节MAC码。呼应:90 007.2 智能卡的平安访问机制1. 鉴别与核实2. 平安报文传送3. 文件访问的平安控制4. 数字签名/认证3. 文件访问的平安控制1、平安形状2、平安属性3、运用实例1、平安形状是指卡当前所处的一种
21、平安级别卡的主控目录或者当前运用目录分别有16种不同的平安形状,对应0F的16个值以下情况能够影响到相应的平安形状卡片上电复位后 卡片中所记录的一切平安形状都被去除,这时卡片处于最低级别的平安形状 外部认证命令External Authentication PIN校验命令Verify Pin 在卡内,PIN和外部认证密钥都有本人的后续形状,一旦个人身份鉴别和外部认证经过,当前目录的平安形状便被设定为该PIN或者密钥的后续形状 正确选择DF后 执行Select File指令,正确选择MF或DF后,相应的平安存放器被复位为02、平安属性 是指对某个文件或者文件的一部分进展某种操作时必需到达的形状
22、有时称访问权限,是在文件创建时指定的。由一个形状区间来描画 每种文件的访问权限在建立文件Create File时用一个字节指定;每种密钥的访问权限在添加密钥Write Key时用一个字节指定文件类型访问权限MF/DF建立/擦除KEY文件增加KEY文件中的密钥使用/更改公钥/私钥文件使用/更改/读二进制文件读/写记录文件读/写普通钱包文件读&扣款/存款电子存折/电子钱包文件使用以TimeCOS/PK为例,文件和密钥主要存在如下访问权限假设当前平安形状存放器的值用V来表示访问权限为0Y时,表示需满足VY方可进展访问 例 如某文件读的权限为05 表示在对该文件进展读之前必需使MF的平安形状存放器的值
23、大于等于5访问权限为XY 时X不为0 表示需满足XVY方可进展访问 注:当XY时表示制止相应的操作 例1 如某文件写的权限为53表示对该文件进展写之前必需使当前目录的平安形状存放器的值为3、4或5 例2 某文件读权限为F0 ,写权限为F1 代表可恣意读取,写时必需满足当前目录的平安形状存放器的值大于等于1。 假设在对某文件进展读操作之前,要求必需先经过个人身份鉴别。一种可行的方法是: 将PIN的运用权限设为10,后续形状定为2,而文件的读权限定为22执行步骤卡上电复位,平安形状被去除满足PIN密钥的运用权限10,执行Verify Pin 指令,至此,平安形状V=2V=2满足文件的读权限22H,
24、允许对文件进展读操作3、运用实例预设环境MF下有4个二进制文件,其访问权限分别为F0、94、23和52MF下的KEY文件中有一个PIN密钥,其值为1122334455667788,后续形状为77操作在验证PIN前后分别对4个文件进展读操作平安属性访问权限分析EF1: F0EF2: 94EF3: 23 EF4: 52预期结果PIN验证后,平安形状变为7EF1:EF2: EF3:EF4:永远都满足,可恣意读写不可读写平安属性需属于2,5才可读写永远都不满足,制止读写平安属性需属于4,9才可读写不可读写可读写可读写实现步骤插卡,卡片上电无平安形状在MF下的KEY EF中添加PIN密钥建立4个EF文件
25、读取4个EF文件的内容选择MF文件平安形状变为0读取4个EF文件的内容验证PIN平安形状变为7读取4个EF文件的内容7.2 智能卡的平安访问机制1. 鉴别与核实2. 平安报文传送3. 文件访问的平安控制4. 数字签名/认证4. 数字签名/认证根本概念数字签名/认证的过程如何在智能卡中实现数字签名1、数字签名数字签名是建立在公钥体制根底上的一种效力数字签名必需保证以下3点:接纳者可以对报文发送者的签名进展认证发送者事后不能抵赖对报文的签名任何人都不能伪造其他人的签名数字签名的普经过程 “私钥加密签名,公钥解密验证 数字签名过程原文原文签名签名存在的问题要签名数据的大小是恣意的,最终签名的大小也是
26、恣意的。处理方法引入单向散列算法HASH2、HASH算法单向散列函数也称HASH函数,作用在一恣意长度的音讯M上,前往一个固定长度的散列值hh=HM设h的长度为mHASH函数具有如下的特性:给定M,很容易计算出h;给定h,根据h=HM,计算M很难;给定M,要找到另一音讯M并满足HM=HM很难两种典型的HASH算法MD5算法 可以产生128位的散列结果SHA算法 也叫做平安散列算法,可以产生160位的散列结果。3、数字签名/验证过程数字签名过程签名者经过HASH函数把原文变成固定大小签名者用私钥对散列结果加密,生成数字签名签名验证过程验证者获得原文和签名验证者经过HASH函数把原文变成固定大小验
27、证者将签名解密,并用解密结果和计算出的散列结果进展比较,假设一样,签名有效,否那么,验证失败,签名无效SKA是指发送方A的私钥,PKA是指与SKA相对应的A的公钥。提出问题如何得到签名者的公钥?4、数字/签名/公钥证书公钥证书:认证机构CA经过对一个包含身份信息和相应公钥的数据构造进展数字签名来捆绑用户的公钥和身份。这个数据构造被称为公钥证书证书验证包括如下内容:验证CA在证书上的签名证书有良好的完好性,即:证书上的数字签名证书在有效期内签名证书通常遵照X.509规范制成,必需含有以下信息:版本号:表示证书的版本序列号:由证书颁发者分配的证书的独一标识符签名密钥持有人的名字签名算法标识符:用于
28、阐明本证书所用的数字签名算法主体公钥信息证书的开场有效和终止日期提出问题如何将智能卡与数字签名联络起来?处理问题实现数字签名卡5、数字签名卡的优点CPU卡特有的硬件制造工艺可以抵御物理、电子、化学方法的攻击体积小,便于携带COS可以防止攻击者利用软件方式窃取卡内的信息存储在卡中的私钥绝对平安。自动锁定维护总之,CPU卡是存储私钥和数字证书的理想介质。6、数字签名卡的实现实现条件及要求智能卡支持某非对称密码算法RSA、ECC等智能卡文件系统中需有公钥文件和私钥文件以TimeCOS/PK为例阐明数字签名卡的实现过程TimeCOS/PK支持SHA-1算法和RSA算法可在卡内生成1024位RSA密钥对
29、 命令操作普通流程 相关指令相关指令7.3 智能卡防拔插处置假设智能卡正在对卡片的用户数据进展修正如执行创建文件指令,更新EF文件的内容等时,持卡人忽然将卡从读写器中拔出或移开,或者读写器由于某种缘由忽然掉电,都有能够呵斥数据更新操作中断,从而呵斥卡内用户数据出错。为了保证数据的完好性,COS本身应该具备处置这种突发事件的才干,也就是具有防拔插处置的才干。 掉电维护机制 在COS主程序中,首先要判别掉电标志位,假设标志位为0 x01,阐明上一条命令没有执行胜利,程序将首先恢复备份数据。将备份区清空,将掉电标识复位3种不测情况:1在步骤3之前发生断电 无影响2在步骤3-5之间发生断电 进入数据平
30、安写恢复流程3在步骤5之后发生断电 无影响数据备份举例数据备份举例数据备份格式例如 在创建文件的时候留出一定大小的区域,用来备份数据。备份项数数据地址数据长度数据内容数据地址数据长度数据内容1字节2字节1字节2字节1字节数据平安写恢复流程7.4 智能卡的平安运用 IC卡运用时,要与读写器相互确认,以防止伪卡或插错卡。运用过程:1. 插卡:读写器向卡加电,并发复位信号,令卡初始化,做好买卖预备,卡发出应对信号ATR;2. 读写器鉴别卡的真伪;3. 卡鉴别读写器的真伪;4. 检查卡能否列入黑名单;5. 鉴别持卡人的身份:通常采用密码比较的方法,即由持卡人输入密码,与卡内密码比较;6. 检查上次买卖
31、能否完成,未完成,卡应有自动恢复数据的功能;7. 根据运用需求进展买卖;8. 拔卡。7.5 平安操作相关的根本命令根本平安命令6.5.1 Verify PIN验证口令6.5.2 Unblock解锁口令6.5.3 Get Challenge取随机数6.5.4 External Authentication外部认证6.5.5 Internal Authentication内部认证7.5 平安操作相关的根本命令RSA算法相关命令6.5.6 Generate RSA Key生成公私钥对6.5.7 Data Compress数据紧缩6.6.5 Data Encrypt数据加密6.5.9 Data Dec
32、rypt数据解密6.5.10 Digital Signatures数字签名6.5.11 Signatures Verify签名验证7.5.1 Verify PIN验证口令1、命令功能描画用于校验命令数据域的口令密钥正确性。在满足口令密钥的运用权限时才可执行该命令。假设口令验证胜利,那么系统平安形状存放器的值被置成该密钥的后续形状,同时口令错误计数器被置成初始值假设验证错误,那么口令可试次数减1,假设口令已被锁死,那么不能再执行该命令。当口令长度为8字节时,可用Unblock命令对其进展解锁。2、命令报文格式代码长度byte值Hex描绘CLA100/04-INS120-P1100-P21XX口令
33、密钥标识号Lc102-08-DATA02-08XXXX外部输入的口令密钥Le-不存在阐明:密钥标识在Write Key时给出3、呼应报文数据不存在4、呼应报文形状码90 0063 CX 还剩X次可试时机当卡片回送63C0时,表示不能重试口令密钥,此时再运用Verify PIN命令时,将回送失败形状码6983认证方法锁死5、命令运用例如1预设环境 正确的PIN值为11 22 33 44 ,设其密钥标识号为01 ,错误计数器值为33 命令报文1: APDU:00 20 00 01 04 11 22 33 44 呼应报文1:90 00 错误计数器值:33 命令报文2 APDU:00 20 00 01
34、 04 11 22 33 33 呼应报文2:63 C2 错误计数器值:32 命令报文3 APDU:00 20 00 01 04 11 22 33 44 呼应报文3:90 00 错误计数器值:33 5、命令运用例如2 预设环境 正确的PIN值为11 22 33 44 ,设其密钥标识号为01 ,错误计数器值为33 命令报文1 APDU:00 20 00 01 04 11 22 33 44 呼应报文1:90 00 错误计数器值:33 命令报文2 APDU:00 20 00 01 04 11 22 33 33 呼应报文2:63 C2 错误计数器值:32 命令报文3 APDU:00 20 00 01 0
35、4 11 22 22 22 呼应报文3:63 C1 错误计数器值:31 命令报文4 APDU:00 20 00 01 04 11 11 11 11 呼应报文4:63 C0 错误计数器值:30 命令报文5 APDU:00 20 00 01 04 44 33 22 11 呼应报文5:69 83 错误计数器值:307.5.2 Unblock解锁口令1、命令功能描画用于解锁被锁定的8字节的口令只需满足该解锁口令运用条件且该解锁口令未被锁死时才干执行此命令,该命令不改动平安形状假设解锁口令核对胜利,那么新口令取代原有口令,且将口令错误计数器和解锁口令错误计数器恢复成原始值假设解锁口令失败,那么解锁口令可
36、再试次数减1,假设解锁口令锁死,解锁口令无法再被解锁。2、命令报文格式3、呼应报文数据不存在4、呼应报文形状码略代码长度byte值Hex描绘CLA180-INS12C-P1100-P21XX解锁口令密钥标识Lc110-DATA16XXXX8字节解锁口令+8字节新口令Le-不存在5、命令运用例如预设环境 某PIN密钥被锁,要求用密钥标识号为06的口令解锁密钥进展解锁新口令为01 02 03 04 05 06 07 08,解锁密钥运用权=0 xF0、更改权=0 xEF、错误计数器=0 x33、8字节解锁口令=11 22 33 44 55 66 77 88命令报文 APDU:80 2C 00 06
37、10 11 22 33 44 55 66 77 88 01 02 03 04 05 06 07 08呼应报文 90 007.5.3 Get Challenge取随机数1、命令功能描画恳求一个用于平安相关过程如平安报文的随机数2、命令报文格式代码长度byte 值Hex描绘CLA100-INS184-P1100-P2100-Lc1-不存在DATA16-不存在Le104-10要求卡片返回的随机数长度3、呼应报文数据随机数,长度为Le个字节4、呼应报文形状码略5、命令运用例如略7.5.4 Internal Authentication内部认证1、命令功能描画提供了利用接口设备发来的随机数和本身存储的相
38、关密钥进展数据认证的功能。在满足该密钥的运用条件时才干执行此命令 参看流程图2、内部认证过程内部认证是读卡器对卡片的认证,认证过程如以以下图所示:终端方向卡片产生1个8字节随机数RNDIFD送RNDIFD作内部认证用指定的DES加密密钥对随机数RNDIFD进展DES加密运算,产生鉴别数据D1。即:D1=DESK, RNDIFD送D1用与卡片DES加密密钥一样密钥对RNDIFD进展DES解密运算,产生D2,后比较D1和D2。即:1D2=DES-1K, RNDIFD2D1?=D23、命令报文格式代码长度byte值Hex描绘CLA100-INS188-P1100加密01解密02计算MACP21XXD
39、ES密钥标识号Lc1XX-DATAXXXX.XX认证数据Le100-阐明:P1=00表示进展加密运算,密钥类型是DES加密密钥 P1=01表示进展解密运算,密钥类型是DES解密密钥 P1=02表示进展MAC运算,密钥类型是DES&MAC密钥4、呼应报文数据相关认证数据,即DES运算的结果。5、呼应报文形状码略6、命令运用例如1预设环境 密钥标识号=01;密钥类型是DES加密密钥;运用权限=0 xF0;更改权限=0 xEF,16字节密钥为“57415443484441544154696D65434F53;读卡器产生的随机数为“1122334455667788命令报文APDU:00 88 00 0
40、1 08 11 22 33 44 55 66 77 88呼应报文 07 CB F6 15 E7 D7 2F 96 90 00DES加密结果BACK TO 鉴别鉴别7、命令运用例如2预设环境 密钥标识号=01; 密钥类型为DES解密密钥; 运用权限=0 xF0;更改权限=0 xEF, 16字节密钥为“57415443484441544154696D65434F53; 待解密数据为“07CBF615E7D72F96 命令报文 APDU:00 88 01 01 08 07 CB F6 15 E7 D7 2F 96呼应报文 11 22 33 44 55 66 77 88 90 008、命令运用例如3预
41、设环境 密钥标识号=01; 密钥类型为DES&MAC解密密钥; 运用权限=0 xF0;更改权限=0 xEF, 16字节密钥为“57415443484441544154696D65434F53; 待计算MAC数据=“1122334455667788 命令报文 APDU:00 88 02 01 08 11 22 33 44 55 66 77 88呼应报文 87 56 E2 85 90 00 阐明:“87 56 E2 85 是MAC计算结果,计算MAC的8字节初始值是“00000000000000007.5.5 External Authentication外部认证1、命令功能描画IC卡验证读卡器的
42、真伪在满足该外部认证密钥的运用权限且该密钥未被锁死时才可执行该命令将命令中的数据用指定外部认证密钥解密,然后与先前产生的随机数进展比较假设一致那么表示认证经过假设不一致那么认证失败 参看流程图2、外部认证过程外部认证是卡片对读卡器的认证,认证过程如下:终端方向卡片取8字节随机数产生1个8字节随机数RNDICC送随机数RNDICC用与卡片认证密钥一样密钥对RNDICC进展DES加密运算,产生D1,即:D1=DESK, RNDIFD送D1作外部认证用指定的外部认证密钥对D1进展DES解密运算,产生鉴别数据D2。 ,后比较D2和RNDICC 。即:1D2=DES-1K, RNDIFD2D2?= RN
43、DICC送比较结果SW1SW2,假设为9000,那么置平安状态存放器值为该密钥后续状态3、命令报文格式代码长度byte值Hex描绘CLA100-INS182-P1100-P21XX外部认证密钥标识号Lc18-DATA8XXXX8字节加密后的随机数Le- 阐明:假设认证经过,置平安形状存放器为该密钥规定的后续形状值,错误计数器恢复成初始值;假设认证失败,可再试错误数减1,且不改动平安形状存放器的值4、呼应报文数据不存在5、呼应报文形状码略6、命令运用例如预设环境 外部认证密钥标识号=01;运用权限=0 xF0;更改权限=0 xEF;错误计数器=0 x33;后续形状=11;16字节密钥为“5741
44、5443484441544154696D65434F53;BACK TO 鉴别鉴别 命令报文 步骤1取8字节随机数。APDU:00 84 00 00 08 呼应:D3 89 BF 67 45 B9 35 50 90 00 步骤2读卡器用与外部认证密钥一样的密钥“57 41 54 43 48 44 41 54 41 54 69 6D 65 43 4F 53对随机数进展加密,加密后的结果为C2 A8 5B 4B 13 40 25 21 步骤3读卡器将加密后的随机数送到卡中作外部认证 APDU:00 82 00 00 08 C2 A8 5B 4B 13 40 25 21 呼应:90 00 阐明:胜利
45、执行后置平安形状存放器值为该外部认证密钥的后续形状17.5.6 Generate RSA Key生成公私钥对1、命令功能描画该命令用于卡片自动生成模长为1024位的RSA密钥对,根据P1、P2参数的不同,决议私钥是回送出来还是存于由P2指定的私钥文件中2、命令报文格式代码 长度byte值Hex描绘CLA180-INS1CE-P1100-P21XX私钥文件标识符Lc-不存在DATA-不存在Le100- 阐明:P2=00时,私钥回送给终端,否那么,私钥存于由P1、P2指定的文件标识的私钥文件中。3、呼应报文数据公钥包括模数n和公开指数e假设P2=00时,呼应报文还包括私钥包括q,d modq-1、
46、p、d modp-1、q-1 mod p呼应报文将以TLV格式送出,T定义如下:THex 含义6E模数n65公开指数e70素数p71素数q50私钥指数d modq-151私钥指数d modp-149q-1 mod p4、呼应报文形状码略5、命令运用例如略7.5.7 Data Compress数据紧缩1、命令功能描画用平安散列算法SHA-1将数据紧缩为20个字节,用RSA签名或验证时运用2、命令报文格式代码长度byte值Hex描绘CLA180-INS1CC-P1P22XXXX见说明Lc1XX-DATAXXXXXX待压缩数据Le114- 阐明:假设数据总长度小于字节,直接对该数据进展紧缩;否那么以
47、64字节为一块反复执行此命令进展分块紧缩,紧缩结果由最后一块数据产生。3、呼应报文数据当进展单块数据紧缩时,呼应报文是20字节HASH结果当进展分块数据紧缩时,除对最后一块数据紧缩,卡片只回送90 00,并不前往紧缩结果,只需对最后一块数据进展紧缩时,卡片才前往紧缩结果。4、呼应报文形状码略5、命令运用例如1预设环境 对长度为64字节的数据0串进展紧缩,输入数据不需保管 命令报文 APDU:80 CC 40 40 40 DATADATA表示64个字节的0 呼应报文 C8 D7 D0 EF 0E ED FA 82 D2 EA 1A A5 92 84 5B 9A 6D 4B 02 B7 90 00
48、 6、命令运用例如2 预设环境: 对长度为16064+64+32字节的数据0串进展紧缩,将输入数据保管在卡内 命令报文1 APDU:80 CC 3F FF 40 DATA164个字节的0 呼应报文1:90 00 命令报文2 APDU:80 CC BF FF 40 DATA2 64个字节的0 呼应报文2:90 00 命令报文3 APDU:80 CC 80 A0 20 DATA3 32个字节的0 呼应报文3:97 97 ED F8 D0 EE D3 6B 1C F9 25 47 81 60 51 C8 AF 4E 45 EE 90 007.5.8 Data Encrypt数据加密1、命令功能描画用
49、非对称密码算法RSA的公钥对数据进展加密在满足该公钥文件的运用权限时才干执行此命令2、命令报文格式代码长度byte值Hex描绘CLA180-INS1C6-P1P22XX XX公钥文件标识符Lc1XX-DATAXXXXXX需要加密的数据Le180阐明:1P1P2=0000时,表示用卡内暂时公钥对数据进展加密。该暂时公钥由Data Compress命令分批送入。2在进展数据加密之前,COS会对加密数据进展编码,后对编码数据进展加密运算。编码数据EM=00|BT|PS|00|DBT=02,表示为数据加密。PS为不小于8字节的随机数D:待加密数据加密数据最大长度为117字节3、呼应报文数据由加密后的密
50、文组成4、呼应报文形状码略5、命令运用例如略7.5.9 Data Decrypt数据解密1、命令功能描画用非对称密码算法RSA的私钥对加密数据进展解密在满足该私钥文件的运用权限时才干执行此命令。2、命令报文格式代码长度byte 值Hex描绘CLA180-INS1C8-P1 P22XXXX私钥文件标识符Lc180-DATA128XXXX需解密的密文Le100-3、呼应报文数据由解密后的明文组成4、呼应报文形状码略5、命令运用例如略7.5.10 Digital Signatures数字签名1、命令功能描画用非对称密码算法RSA的私钥对数据进展签字在满足该私钥文件的运用权限时才干执行此命令2、命令报文格式代码长度byte值Hex描绘CLA180-INS1C2-P1 P22XXXX私钥文件标识符Lc1XX-DATAXXXXXX需要签字的数据Le180-阐明:Lc=00时,表示用卡中紧缩好的数据进展签名即先将须签字的数据用Data Compress命令进展紧缩3、呼应报文数据略4、呼应报文形状码略5、命令运用例如略7.5.11 S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版七年级历史上册教学计划(及进度表)
- 2025年中枢兴奋药项目合作计划书
- 络维护事故检讨书
- 楼宇评比业主委托书
- 异地恋情侣合约协议书
- 《国际市场营销》课件-第8章 国际市场分销渠道策略
- 车联网环境下车辆信息智能管理与维护方案设计
- 太阳能电池行业分析报告
- 建设项目可行性研究报告可概括为
- 人力资源行业区块链技术应用与实践
- 2024年广东省公务员《申论(省市级)》试题真题及答案
- (一模)2025届安徽省“江南十校”高三联考化学试卷(含官方答案)
- 高等教育数字化转型心得体会
- 2025年安徽财贸职业学院单招职业技能测试题库及答案1套
- 2025年安徽职业技术学院单招职业技能测试题库及答案1套
- 典范英语6-12玉米片硬币英文原文及重点短语和句子演示教学
- 日式保洁培训课件大全
- 2025年广东省深圳市高考语文一模试卷
- 2025年陕西工商职业学院单招职业技能测试题库学生专用
- 2025年福建省高职单招职业适应性测试题库及答案解析
- 自媒体运营实战教程(抖音版) 课件 第7章 短视频运营-自媒体中级
评论
0/150
提交评论