1、4442卡消费卡卡片规范4442卡消费卡卡片规范1 编写说明本规范对IC卡片的存储结构、安全措施、认证方法做出规定。2 IC结构及存储要求2.1 卡的结构介绍卡系统采用SLE4442的IC卡,特性如下:一、主要指标:?256字节EEPROM组织方式?32位保护存储器组成方式?3字节用户密码,密码错误计数:3次。?温度范围:070?至少10万次擦写?至少10年数据保存期?二、?存储区分配:三、保密特性:1.?密码核对正确前,全部数据均可读,如果有需要,可对数据进行适当加密。核对密码正确后可写入或修改数据。2.?三字节的用户密码,校验通过后,至卡下电一直有效。校验通过后密码本身可更改。?注意:密码
2、区另外编址,不在0256字节内。3.?密码出错计数器,初始值为3,密码核对出错1次,便减1,若计数器值为0,则卡自动锁死,数据只可读出,不可再进行更改也无法再进行密码核对;若不为零时,有一次密码核对正确,可恢复到初始值。4.?写保护区(前32个字节)的每一字节可单独进行写保护,进行写保护后,内容不可再更改(即固化数据)。5.?字节地址0x150x1A为用户代码(卡片序列号),SIEMENS公司可为大用户在此专设一个全球唯一代码,以便用户统一发行使用(所有的卡出厂后不可再修改)。6.?字节地址07出厂前已由厂家写好,不可更改。2.2 卡的认证密钥卡的认证采用卡片验证码和卡片读写口令校验的方式进行
3、。卡片验证码的产生和读写口令的产生,需要用到卡片认证工作密钥,我们称为AUK,AUK的保护密钥称为卡片认证主密钥AMK 。AMK存储在终端的安全设备当中,和PIK、MAK的主密钥分别存储。AUK的密文可以在POS签到时从公务采购卡POS中心获得。备注:AUK暂时定义和PIK一致2.3 卡用户卡格式字节地址0x200x27 存储IC卡卡号(BCD码存储);字节地址0x300x32存储卡效期(yyyymm格式BCD码); 字节地址0x33标识卡类型(保留未用);字节地址0x340x39 存储发卡时的卡面额,(BCD码金额不足12位左补零);字节地址0x400x47 存储发卡机构代码(ASC码);字
4、节地址0x4A存储认证算法标识(0为DES,6为3DES)字节地址 0x4F存放卡认证主密钥索引值(AMK_IDX,HEX码,取值0-255);字节地址0x500x57 存储验证码(MAC(卡号卡效期发卡机构代码)),BCD码存储;字节地址 0x580x5F 存放主机验证码,终端无需验证,只需读出按照终端规范上传即可。字节地址 0x600x6F 存放认证密钥密文(被AMK加密的AUK),BCD码存储;字节地址 0x600x8F 保留商户扩展,可写入会员号,持卡人姓名等要素;剩余字节地址保留未用;2.4 卡用户卡改写密码SLE4442卡片出厂缺省密码为HEX(FFFFFF),写入用户卡后,需改写
5、此密码。用户卡改写密码算法如下:取出卡片字节地址0x200x27的8字节卡号(卡片序列号),利用安全设备(如密码键盘),使用卡片认证密钥AUK,对卡号进行加密,所得8字节加密结果,取前3字节做为用户卡改写密码。2.5 用户卡认证过程终端对用户卡采用下述过程进行认证:1) 将卡号卡效期发卡机构代码共19字节内容,以AUK做为密钥,送入安全设备进行MAC运算,若结果与验证码不符,则提示“不受理此卡”;2) 将卡号以AUK做为密钥,送入安全设备进行DES加密,得到的8字节结果取前3字节做为卡片读写口令,如果验证读写口令失败,则提示“此卡无效”;附录A(规范性附录)POS终端MAC的算法POS终端采用
6、的加密方式,简述如下:a) 将欲发送给POS中心的消息中,从消息类型(MTI)到63域之间的部分构成MAC ELEMEMENT BLOCK (MAB)。b) 对MAB,按每8个字节做异或(不管信息中的字符格式),如果最后不满8个字节,则添加“0X00”。1示例 :MAB = M1 M2 M3 M4其中: M1 = MS11 MS12 MS13 MS14 MS15 MS16 MS17 MS18M2 = MS21 MS22 MS23 MS24 MS25 MS26 MS27 MS28M3 = MS31 MS32 MS33 MS34 MS35 MS36 MS37 MS38M4 = MS41 MS42
7、MS43 MS44 MS45 MS46 MS47 MS48按如下规则进行异或运算: MS11 MS12 MS13 MS14 MS15 MS16 MS17 MS18XOR) MS21 MS22 MS23 MS24 MS25 MS26 MS27 MS28-TEMP BLOCK1 = TM11 TM12 TM13 TM14 TM15 TM16 TM17 TM18然后,进行下一步的运算:TM11 TM12 TM13 TM14 TM15 TM16 TM17 TM18XOR) MS31 MS32 MS33 MS34 MS35 MS36 MS37 MS38-TEMP BLOCK2 = TM21 TM22 T
8、M23 TM24 TM25 TM26 TM27 TM28再进行下一步的运算:TM21 TM22 TM23 TM24 TM25 TM26 TM27 TM28XOR) MS41 MS42 MS43 MS44 MS45 MS46 MS47 MS48-RESULT BLOCK = TM31 TM32 TM33 TM34 TM35 TM36 TM37 TM38 c) 将异或运算后的最后8个字节(RESULT BLOCK)转换成16 个HEXDECIMAL:RESULT BLOCK = TM31 TM32 TM33 TM34 TM35 TM36 TM37 TM38 = TM311 TM312 TM321
9、TM322 TM331 TM332 TM341 TM342 | TM351 TM352 TM361 TM362 TM371 TM372 TM381 TM382d) 取前8 个字节用MAK加密:ENC BLOCK1 = eMAK(TM311 TM312 TM321 TM322 TM331 TM332 TM341 TM342) = EN11 EN12 EN13 EN14 EN15 EN16 EN17 EN18e) 将加密后的结果与后8 个字节异或:EN11 EN12 EN13 EN14 EN15 EN16 EN17 EN18XOR) TM351 TM352 TM361 TM362 TM371 TM
10、372 TM381 TM382-TEMP BLOCK= TE11 TE12 TE13 TE14 TE15 TE16 TE17 TE18f) 用异或的结果TEMP BLOCK 再进行一次单倍长密钥算法运算。ENC BLOCK2 = eMAK(TE11 TE12 TE13 TE14 TE15 TE16 TE17 TE18) = EN21 EN22 EN23 EN24 EN25 EN26 EN27 EN28g) 将运算后的结果(ENC BLOCK2)转换成16 个HEXDECIMAL:ENC BLOCK2 = EN21 EN22 EN23 EN24 EN25 EN26 EN27 EN28= EM211 EM212 EM221 EM222 EM231 EM232 EM241 EM242 | EM251 EM252 EM261 EM262 EM271 EM272 EM281 EM2822示例 :ENC RESULT= %H84, %H56, %HB1, %HCD, %H5A, %H3F, %H84, %H84转换成16 个HEXDECIMAL:“8456B1CD5A3F8484”h) 取前8个字节作为MAC值。取”8456B1CD”为MAC值。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1