版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(金融保险)中国金融IC卡试点PSAM卡应用规范V20XX年XX月峯年的企业咨询咸问经验.经过实战验证可以藩地执行的卓越萱理方案.值得您下载拥有中国金融 IC 卡试点 PSAM 卡应用规范( V2.0 讨论稿)二零零六年八月目录壹 . 文件结构 11. 文件结构 12.MF 区域说明 13.ADF 区域说明 3二 . 基本命令 51. 选择文件( SELECT) 52. 读记录文件( READ RECORD)83.写记录文件( UPDATERECORD) 94.读二进制文件( READ BINARY )115.写二进制文件( U PDATEBINARY )126.外部认证( EXTERNALA
2、 UTHENTICATION )147.取响应数据( GETRESPONSE) 158.取随机数( GETCHALLENGE )16三 . 扩展命令 171.写入密钥( W RITEKEY) 172. 批量更新密钥初始化( INITBATCH U PDATE) 193. 批量更新消费主密钥( BATCH UPDATEGMPK )204.通用 DES计算初始化(INIT_FOR_DESCRYPT ) 225.通用 DES计算(DESCRYPT) 246.应用解锁( APPLICATION U NBLOCK )277.MAC1 计算( INIT_SAM_FOR_PURCHASE ) 298.校验
3、MAC2 (CREDIT_SAM_FOR_PURCHASE )32四 . 应用流程 341. 全国密钥管理中心洗卡 342. 消费交易流程 35五 . 安全特性 371. 密钥装载 372. 密钥访问 373. 密钥属性 384. 加密算法描述 39六 . 状态码 41附录A命令清单43附录 B 卡片中的基本数据文件 44文件结构PSAM 卡用于商户 POS 、网点终端、直联终端等端末设备上,负责机具的 安全控管。 PSAM 卡具有壹定的通用性。经过个人化处理的 PSAM 卡能在不同 的机具上使用。PSAM 卡支持多级发卡的机制,各级发卡方在卡片主控密钥和应用主控密 钥的控制下创建文件和装载密
4、钥。1. 文件结构PSAM 卡文件结构符合 ISO/IEC7816 4。 本条款描述了符合本规范的应用文件结构, 这些应用被定义为支付系统应用(PSA)。符合ISO/IEC7816 4,但不符合本规范的其他应用也可出当下 PSA 上,且能够使用本规范中定义的命令进行操作。PSAM卡中PSA的路径能够通过明确选择支付系统环境(PSE)来激活。PSAM 卡文件结构如下图所示:图 1PSAM 卡文件结构2. MF 区域说明在 PSAM 卡的 MF 区域中,文件创建和密钥装载是在卡片主控密钥的控制 下进行。1)DIR 目录数据文件DIR目录数据文件的说明参考中国金融集成电路(IC)卡规范,但DIR目录
5、数据文件的入口地址必须包括全国密钥管理总中心应用 ADF2) 卡片主控密钥卡片主控密钥是卡片的控制密钥, 由卡片生产商写入, 由发卡方替换为发卡 方的卡片主控密钥。 卡片主控密钥的更新在自身的控制下进行。 发卡方必须在卡 片主控密钥的控制下,创建卡片 MF 区域的文件;装载卡片维护密钥、应用主控密钥;更新卡片主控密钥、卡片维护密钥。卡片主控密钥的控制可通过外部认证操作实现, 也可通过安全报文的方式实 现。3) 卡片维护密钥卡片维护密钥用于卡片 MF 区域的应用维护, 在卡片主控密钥的控制下装载 和更新。卡片的管理者可在卡片维护密钥的控制下,安全更新记录文件; 安全更新二进制文件。卡片维护密钥的
6、控制通过安全报文的形式实现。4) 卡片公共信息文件卡片公共信息文件存放卡片的公共信息, 在卡片主控密钥的控制下创建, 可 自由读,可在卡片维护密钥的控制下改写。5) 终端信息文件终端信息文件存放终端的信息, 在卡片主控密钥的控制下创建, 可自由读, 可在 卡片维护密钥的控制下改写3. ADF 区域说明在 PSAM 卡的 ADF( ApplicationDataFile )区域中,文件创建和密钥装载 是在应用主控密钥的控制下进行。 ADF 下的文件结构可由应用发行者自行确定。 全国密钥管理中心应用 ADF 的文件结构必须包括应用主控密钥、 应用维护密钥、 应用主工作密钥数据元、应用公共数据文件和
7、终端应用交易序号数据元。1) 应用主控密钥应用主控密钥是应用的控制密钥, 在卡片主控密钥控制下写入。 发卡方必须 在应用主控密钥的控制下,装载应用维护密钥、应用主工作密钥; 更新应用主控密钥、应用维护密钥。应用主控密钥的控制可通过外部认证操作实现, 也可通过安全报文的方式实 现。2) 应用维护密钥应用维护密钥用于卡片 ADF 区域的应用维护,在应用主控密钥的控制下装 载和更新。卡片的管理者可在应用维护密钥的控制下,安全更新记录文件;安全更新二进制文件; 进行应用解锁。卡片维护密钥的控制通过安全报文的形式实现。3) 应用主工作密钥应用主工作密钥用于卡片的交易,在应用主控密钥的控制下装载。4) 应
8、用公共信息文件应用公共信息文件存放应用的公共信息, 在应用主控密钥的控制下创建, 可 自由读,可在应用维护密钥的控制下改写。5) 终端应用交易序号数据元终端应用交易序号长度 4 字节,用于终端的脱机交易,在消费交易 MAC2 验证通过的情况下由卡片操作系统改写。终端应用交易序号只对本应用有效。二. 基本命令1.选择文件(Select )1)定义和范围SELECT命令通过文件名或 AID来选择IC卡中的PSE、DDF或ADF。命令执行成功后,PSE、DDF或ADF的路径被设定。应用到AEF的后续命令将采用SFI方式联系到所选定的PSE、DDF或ADF 从IC卡的响应报文应由回送的FCI组成。2)
9、命令报文SELECTFILE命令报文见表2- 1。代码值CLAOOhINSA4hP1引用控制参数(见表2 2)P200h :第壹个或仅有壹个02h :下壹个Lc05h 10hData文件名Le00h表2- 1SELECT命令报文表b8 b7 b6 b5 b4 b3 b2 bl含义i-丁-二一二 J 8S3通过文件名选择表2-2SELECT命令引用控制参数3)命令报文数据域命令报文数据域应包括所选择的 PSE名、DF名或AID4)响应报文数据域响应报文中数据域应包括所选择的 PSE、DDF或ADF的FCI。表2 3到 表2 5规定了此定义所用的标志。本规范不规定 FCI中回送的附加附加标志表2
10、3定义了成功选择PSE后回送的FCI:标志值存在万式6FFCI模板M84DF名MA5FCI专用数据M88:目录基本文件的SFIM表2 3SELECTPSE的响应报文(FCI)表2 4定义了成功选择DDF后回送的FCI:标志值存在万式6FFCI模板M84DF名MA5FCI专用数据M88:目录基本文件的SFIM表2 4SELECTDDF的响应报文(FCI)表2 5定义了成功选择ADF后回送的FCI:标志值存在万式6FFCI模板M84DF名MA5FCI专用数据M9F0C发卡方自定义数据的FCIO表2 5SELECTADF的响应报文(FCI)2. 读记录文件(ReadRecord )1) 定义和范围R
11、EADRECORD命令用于读取记录文件中内容。IC卡的响应由回送的记录数据组成。2) 命令报文READRECORD命令报文见表2 6。b8b7b6b5b4b3b2bl含义XXXXSFIP1为记录的序号代码值CLA00hINSB2hP1记录的序号P2引用控制参数(见表2 7)Lc不存在;Data不存在;Le00h表2 6READRECORD命令报文表2 7READRECORD命令引用控制参数3) 命令报文数据域命令报文数据域不存在。4) 响应报文数据域所有执行成功的READRECORD命令响应报文数据域由读取的记录组成。3.写记录文件(UpdateRecord )1) 定义和范围UPDATERE
12、CORD命令用命令APDU中给定的数据更改指定的记录 在使用当前记录地址时,该命令将在修改记录成功后重新设定记录指针 在安全更新记录时,若安全报文连续三次出错,则永久锁定应用。2) 命令报文UPDATERECORD命令报文见表2 8。代码值CLA00h 或 04hINSDChP1P1=00h :表示当前记录P1 00h :指定的记录号P2见表2 8Lc后续数据域长度Data输入数据Le不存在表2 8UPDATERECORD命令报文含义blb2b3b4b5b8 b7 b6SFI0 第壹个记录=!:.iiH最后壹个记录上壹个记录00 记录号在P1中给出 u uu :,! .= := * .= .=
13、 *.” 二= FTjTTTym 3TmTTT rxmyjm 3JdJHT3 一-:4 FrJ lTiJTmiF.zsk 乙一-二 32r-lsJTMM.二7 二27TJJlFh.-J -二 7JF3J-U7F3J 二二 7 F3JJZ EIJJ 二m 二MmH一二-TTF im J4tl,tinmTm 曲垂 ! b6b5b4b3b2b1读取模式:用SFI方式含义100XRFU (如果 b8 = 1)SFI (取值范围21 30)READBINARY 命令报文见表 2 10代码值CLA00hINSB0hP1见表2 11P2从文件中读取的第壹个字节的偏移地址Lc不存在Data不存在Le00表2
14、10READBINARY 命令报文表2 11READBINARY 命令引用控制参数3) 命令报文数据域命令报文数据域不存在4) 响应报文数据域当Le的值为0时,只要文件的最大长度在 256 (短长度)或65536 (扩展 长度)之内,则其全部字节将被读出5.写二进制文件(UpdateBinary )1) 定义和范围UPDATEBINARY命令用命令APDU中给定的数据修改EF文件中已有的数 据。2) 命令报文UPDATEBINARY 命令报文见表2 12。b8 b7 b6 b5 b4 b3 b2 bl含义X普1EitujH: i:s=il读取模式:用SFI方式RFU (如果 b8 = 1)SF
15、I (取值范围21 30)代码值CLAOOh 或 04hINSD6hP1见表2 13P2要修改的第壹个字节的偏移地址Lc后续数据域的长度Data修改用的数据Le不存在表 2 12UPDATEBINARY 命令报文表2 13UPDATEBINARY 命令引用控制参数3) 命令报文数据域命令报文数据域包括更新原有数据的新数据。使用安全报文时,命令报文的数据域中应包括MAC。MAC是由卡片维护密钥或应用维护密钥对更新原有 数据的新数据计算而得到的。4) 响应报文数据域响应报文数据域不存在6. 外部认证(ExternalAuthentication1) 定义和范围EXTERNALAUTHENTICAT
16、ION 命令用于对卡片外部的安全认证。计算的方法是利用卡片中的卡片主控密钥或应用主控密钥,对卡片产生的随机数(使用GETCHALLENGE命令)和接口设备传输进来的认证数据进行验证。2) 命令报文EXTERNALAUTHENTICATION 命令报文见表 2 14代码值CLA00hINS82hP100hP200hLc08hData发卡方认证数据Le不存在表 2 14EXTERNALAUTHENTICATION 命令报文3) 命令报文数据域命令报文数据域中包含8字节的加密数据,该数据是用主控密钥对此命令 前壹条命令“ GETCHALLENGE ”命令获得的随机数后缀“ 00000000 ”之后做
17、 3DES加密运算产生的。4) 响应报文数据域响应报文数据域不存在7. 取响应数据(GetResponse )1) 定义和范围当APDU不能用现有协议传输时,GETRESPONSE命令提供了壹种从IC卡向接口设备传送APDU (或APDU的壹部分)的传输方法。2) 命令报文GETRESPONSE命令报文见表2 15代码值CLA00hINSC0hP100hP200hLc不存在Data不存在Le期望数据的最大长度表2 15GETRESPONSE命令报文3) 命令报文数据域命令报文数据域不存在4) 响应报文数据域响应报文数据域的长度由Le的值决定。如果Le的值为0,在后续数据有效时,IC卡必须回送状
18、态码 6Cxx ,否则 6F00 08.取随机数(GetChallenge )1) 定义和范围GETCHALLENGE命令用于从IC卡中获得壹个4个字节的随机数。该随机数服务于安全过程(如安全报文),在使用随机数的命令执行后失效。2) 命令报文GETCHALLENGE命令报文见表2 16代码值CLAOOhINS84hP100hP200hLc不存在Data不存在Le04h表 2 16GETCHALLENGE 命令报文3) 命令报文数据域命令报文数据域不存在4) 响应报文数据域IC卡产生的随机数,长度为4字节三. 扩展命令为符合中国金融集成电路(IC)卡规范(V1.0 )和银行IC卡联合试 点技术
19、方案的安全控管要求,PSAM卡必须支持以下专用命令。1. 写入密钥(WriteKey )1) 定义和范围WRITEKEY命令可向卡中装载密钥或更新卡中已存在的密钥。本命令可支持8字节或16字节的密钥,密钥写入必须采用加密的方式,在主控密钥的控制下进 行。在密钥装载前必须用GETCHANLLEGE命令从PSAM卡取壹个4字节的随 机数。2) 命令报文WRITEKEY命令报文见表3 1代码值CLA84hINSD4hP100hP200hLc14h 或 1ChData加密后的密钥信息、MACLe不存在表3 1WRITEKEY命令报文3)命令报文数据域命令报文数据域包括要装载的密钥密文信息和 MAC 。
20、 密钥密文信息是用主控密钥对以下数据加密(按所列顺序)产生的: 密钥用途密钥版本密钥算法标识密钥值MAC 是用主控密钥对下数据进行 MAC 计算(按所列顺序)产生的: CLAINSP1P2 Lc密钥密文信息加密和MAC计算的方法遵循中国金融集成电路(IC)卡规范。装载8字节的单长度密钥时,数据长度为 14h ;装载16 字节的双长度密钥 时,数据长度为 1Ch 。4)响应报文数据域响应报文数据域不存在2.批量更新密钥初始化(InitBatchUpdate )1) 定义和范围InitBatchUpdate 命令用于从IC卡中获得壹个4个字节的随机因子。该随 机因子服务于批量更新消费主密钥指令的安
21、全过程(如安全报文),在使用批量 更新消费主密钥指令的命令执行后失效。2) 命令报文GETCHALLENGE命令报文见表2 16代码值CLAOOhINS85hP100hP200hLc不存在Data不存在Le13h表 2 16InitBatchUpdate命令报文3) 命令报文数据域命令报文数据域不存在。4) 响应报文数据域此命令执行成功的响应报文数据域见表。如果命令执行不成功,则只在响应报文中回送SW1和SW2说明长度(字节)PSAM序列号10密钥索引号(GMPK )1有效期4随机因子43.批量更新消费主密钥(BatchUpdateGMPK )1)定义和范围BatchUpdateGMPK 命令
22、可向卡中更新卡中已存在的消费密钥。本命令只支持16字节的密钥,密钥写入必须采用加密的方式,在主控密钥的控制下进行。在密钥更新前必须用InitBatchUpdate 命令从PSAM卡取壹个4字节的随 机数。2)命令报文BatchUpdateGMPK 命令报文见表 3 1。代码值CLA84hINSD5hP100hP200hLc10+ (N*18h )Data见说明Le不存在表 3 1BatchUpdateGMPK 命令报文3)命令报文数据域加密和MAC计算的方法遵循中国金融集成电路(IC)卡规范。装载16字节的双长度密钥时,数据长度为18h。说明长度(字节)已发送更新密钥指令数量(N)1新的密钥索
23、引号(GMPK)1有效期4GMPKCRYPTOGRAPHN*18hMAC44)响应报文数据域响应报文数据域不存在4. 通用 DES 计算初始化( INIT_FOR_DESCRYPT )1) 定义和范围INIT_FOR_DESCRYPT 命令用来初始化通用密钥计算过程。 PSAM 卡将利 用卡中指定的密钥进行运算,产生壹个临时密钥。运算方式由指定的密钥类型、 密钥分散级数和密钥算法标识确定。不支持计算临时密钥计算的密钥类型有:主控密钥维护密钥消费密钥双长度密钥产生双长度临时密钥的密钥类型有: PIN 解锁密钥用户卡应用维护密钥双长度密钥左右异或产生单长度临时密钥的密钥类型有:重装 PIN 密钥双
24、长度密钥产生双长度临时密钥, 单长度密钥产生单长度临时密钥的密钥类型有: MAC 密钥加密密钥MAC 、加密密钥指定密钥经过几级处理由密钥分散级数和 Lc 确定,若二者不壹致,则返回 错误信息。临时密钥在PSAM卡下电后自动消失,不允许读 临时密钥产生后,和原密钥的属性壹致。2) 命令报文INIT_FOR_DESCRYPT 命令报文见表 3 2。代码值CLA80hINS1AhP1密钥用途P2密钥版本Lc待处理数据的长度Data待处理的数据Le无表 3 3INIT_FOR_DESCRYPT 命令报文3) 命令报文数据域命令报文数据域包括待处理的输入数据。数据长度为8的整数倍,长度也能够为0。密钥
25、类型取密钥用途的低5位,密钥分散级数取密钥用途的高 3位,如待处理的输入数据包括多级的分散因子,按最后壹次分散因子在前、最 先壹次分散因子在后的顺序输入。4) 响应报文数据域响应报文数据域不存在。5. 通用 DES 计算(DESCrypt )1) 定义和范围DESCRYPT命令利用指定的密钥来进行运算。若壹条命令无法传输所有的待处 理数据,可分几条命令输入。加密计算采用ECB模式,数据的填充在卡片外面进行,卡片只支持长度为8的整数倍数据的加密。MAC计算遵循中国金融集成电路(IC)卡规范,数据的填充在卡片外 面进行,卡片只支持长度为8的整数倍数据的MAC计算。DESCRYPT 命令必须在INI
26、T_FOR_DESCRYPT命令成功执行后才能进 行。卡片状态在执行无后续块计算后,复原为通用 DES计算初始化执行前的状 态02) 命令报文DESCRYPT命令报文见表3 3代码值CLA80hINSFahP1见表3 4P200hLc要加密的数据长度Data要加密的数据Le不存在表3 3DESCRYPT命令报文b8b7b6b5b4b3b2b1含义表3-4DESCRYPT命令弓I用控制参数P1值计算模式如下:0,无后续块加密1,最后壹块MAC计算2,有后续块加密3,下壹块MAC计算5,唯壹壹块 MAC计算7,第壹块MAC计算其他,保留3) 命令报文数据域命令报文数据域包括要加密的数据。加密数据的
27、长度为8的整数倍。在P1的b3位为1时,待处理数据的前8个字节为MAC计算的初始值。4) 响应报文数据域在P1的bl位为0时,响应报文数据域包括加密结果,数据长度是8的整 数倍在 P1 的 b1 位为 1 ,且 P1 的 b2 位为 0 时,响应报文数据域包括 4 字节的MAC 。6.应用解锁(ApplicationUnblock1) 定义和范围APPLICATIONUNBLOCK 命令用于恢复当前应用。当命令成功完成后,对应用访问的限制将被取消,利用消费密钥校验 MAC2的错误计数器将被重置。如果应用解锁连续失败三次,卡将永久锁定此应用。在APPLICATIONUNBLOCK 命令执行前必须
28、执行 GETCHANLLENGE命 令取得4字节的随机数。2) 命令报文APPLICATIONUNBLOCK 命令报文见表 3 5代码值CLA84hINS18hP100P200Lc数据字节数Data报文鉴别代码数据元Le不存在表 3 5APPLICATIONUNBLOCK 命令报文3) 命令报文数据域命令报文数据域包括报文鉴别代码,由应用维护密钥对以下数据(按所列顺序)进行MAC计算而得到的:CLAINSP1P2 LcIC)卡规范。MAC 计算的方式参见中国金融集成电路(4)响应报文数据域响应报文数据域不存在。7. MAC1 计算( INIT_SAM_FOR_PURCHASE )1)定义和范围
29、INIT_SAM_FOR_PURCHASE 命令可支持多级消费密钥分散机制, 产生中 国金融集成电路(IC)卡规范中定义的MAC1。根据银行IC卡试点技术方案, 能够利用试点城市标识、 成员行标识、 卡片应用序列号、 随机数和交易信息得到 过程密钥,进而加密得到 MAC 。 PSAM 卡产生脱机交易流程中 MAC1 的过程 如下所示:PSAM在其内部用GMPK (全国消费主密钥)对试点城市标识分散,得到二级消费主密钥 BMPK;PSAM 在其内部用 BMPK 对成员行标识分散,得到成员行消费主密钥MPK;PSAM 在其内部用 MPK 对卡片应用序列号分散,得到卡片消费子密钥DPK;PSAM 在
30、其内部用 DPK 对卡片传来的伪随机数、脱机交易序号、终端 交易序号加密,得到过程密钥 SESPK作为临时密钥存放在卡中;PSAM在其内部用SESPK对交易金额、交易类型标识、终端机编号、 交易日期(终端)和交易时间(终端)加密得到 MAC1 ,将 MAC1 传 送出去。在此过程中, 所有的中间结果只保留在卡片内部, 外界无法得到。 只有进行 本命令后,才允许进行 MAC2 校验的命令。参和处理的终端机编号和终端交易序号由卡片操作系统从卡片中取得INIT_SAM_FOR_PURCHASE 命令可支持多级消费密钥分散机制,消费密 钥的分散过程由Lc和消费密钥共同确定,如果二者不壹致,则返回错误信
31、息2)命令报文INIT_SAM_FOR_PURCHASE 命令报文见表 3 6。代码值CLA80hINS70hP100hP200hLc14h + 8 XN (N = 1,2,3)Data要处理的数据Le08表 3 6INIT_SAM_FOR_PURCHASE 命令报文3)命令报文数据域命令报文数据域包括的数据以下列顺序排列:用户卡随机数,4字节用户卡交易序号,2字节交易金额,4字节交易类型标识,1字节交易日期(终端),4字节交易时间(终端),3字节消费密钥版本号,1字节消费密钥算法标识,1字节 用户卡应用序列号,8字节成员银行标识, 8 字节 试点城市标识, 8 字节4)响应报文数据域响应报文
32、数据域包括以下数据(按顺序返回):4 字节的终端脱机交易序号 4 字节的 MAC18. 校验 MAC2 (CREDIT_SAM_FOR_PURCHASE )1) 定义和范围CREDIT_SAM_FOR_PURCHASE 命令禾U用 INIT_SAM_FOR_PURCHASE命令产生的过程密钥SESPKP校验MAC2,过程如下所示:检查MAC2尝试计数器,如MAC2未被锁定,PSAM在其内部用SESPK 对交易金额加密得到MAC2,和命令报文中的数据进行比较;若命令执行成功,PSAM卡将应用中的终端脱机消费交易序号加 1 ; 如命令执行不成功,PSAM卡将MAC2尝试计数器减1,且回送状态 码6
33、3Cx ,这里x是MAC2尝试计数器的新值;如果x 为零,PSAM卡将锁定消费密钥所在的 ADF。在此过程中,所有的中间结果只保留在卡片内部,外界无法得到。CREDIT_SAM_FOR_PURCHASE 命 令 必 须 在 INIT_SAM_FOR_PURCHASE命令成功执行后才能进行。若MAC2尝试计数器为0的话,消费密钥所在的应用将被锁定,只能在应 用维护密钥的控制下应用解锁后使用。应用下的MAC2错误计数器在应用下所有消费密钥 MAC2校验错误的情况 下都要被减1。卡片的状态在命令执行后将复原为 MAC1校验前的状态。2) 命令报文CREDIT_SAM_FOR_PURCHASE 命令报
34、文见表 3 7。代码值CLA80hINS72hP100hP200hLc04hDataMAC2Le不存在表 3 7CREDIT_SAM_F0R_PURCHASE 命令报文3) 命令报文数据域命令报文数据域包括4字节的MAC24) 响应报文数据域响应报文数据域不存在。四. 应用流程1. 全国密钥管理中心洗卡GMPK 是整个系统的根密钥,如果壹旦被盗取或被非法使用,就可能会伪 造出大量的假卡,所有的银行 IC 卡将不得不停止使用,从而带来政治、经济上 的重大损失。所以,从安全的角度来说,全国所有的 PSAM 卡必须在全国密钥 管理总中心统壹安全装载 GMPK 。除了全国密钥管理总中心外,任何其他个人
35、 和组织无法得到 GMPK 的明文,也无法通过 PSAM 卡来利用 GMPK 进行非法 的密钥运算。各个成员行能够向通过二级密钥管理中心申报所需 PSAM 卡的数 量,由全国密钥管理总中心按需求量统壹洗卡。全国密钥管理总中心从生产商处得到壹批 PSAM 卡,卡片已经过预个人化 处理,卡片 MF 区域和全国密钥管理总中心 ADF 区域下的文件已由厂商建好, 生产商密钥(卡片主控密钥)也已装载。在 IC 卡生产商将这壹批 IC 卡交给全国 密钥管理总中心的同时, 存放生产商密钥的生产商母卡也要交给全国密钥管理总 中心。全国密钥管理总中心在接到这批卡之后,用生产商母卡中的生产商密钥 kMprd 来鉴
36、别每壹张 IC 卡。鉴别通过后, 全国密钥管理总中心将用自己产生的 密钥 kIctlR ,来替换卡上的生产商密钥 kMprd ,成为卡上的卡片主控密钥。kIctlR 是全国密钥管理总中心随机产生或采用其他方法产生的, 被加密导入 后作为这壹批 PSAM 卡的主控密钥,控制 MF 区域下文件创建和密钥更新。具体的全国密钥管理总中心必须在卡片主控密钥的控制下装载和更新密钥过程如下所示:在生产商密钥(卡片主控密钥)的控制下,更新卡片主控密钥在卡片主控密钥的控制下,装载卡片维护密钥在卡片维护密钥的控制,安全更新卡片 MF 区域的文件在卡片主控密钥的控制下,装载应用主控密钥在应用主控密钥的控制下,装载应
37、用维护密钥在应用主控密钥的控制下,装载应用主工作密钥在应用维护密钥的控制下,安全更新卡片 ADF 区域的文件2. 消费交易流程金融终端利用 PSAM 卡进行消费交易的处理流程如下图所示:44=读取终端信息文件发出终端机编号J选择全国密钥管理总中 心ADF发出消费密钥索引发出发卡方标识、应用 序列号等信息选择用户卡ED/EP应用发出随机数、用户卡交 易序号、密钥版本、算 法标识消费初始化MAC计算发出MAC、终端脱机交 易序号IF发出MAC2消费MAC校 验发出校验结果IC卡终端PSA卡图2消费交易流程图五 . 安全特性1. 密钥装载密钥装载采用安全报文的方式,利用 WRITEKEY 命令来进行
38、。安全报文产 生的方式参见命令的说明。密钥装载的控制过程如下:卡片主控密钥在卡片主控密钥的控制下更新;卡片维护密钥在卡片主控密钥的控制下装载和更新;应用主控密钥在卡片主控密钥的控制下装载;应用主控密钥在应用主控密钥的控制下更新;应用维护密钥在应用主控密钥的控制下装载和更新;应用主工作密钥在应用主控密钥的控制下装载和更新。2. 密钥访问密钥不允许直接读;密钥必须在主控密钥的控制下更新;消费密钥不能被外界直接访问, 只能接受内部操作系统发来的进行 MAC 计算的指令,按照指定的流程计算出 MAC ; 计算临时密钥产生的结果只保留在卡片内部,不能被外界直接访问。3. 密钥属性密钥的使用都有壹定的限制
39、,必须满足密钥属性的要求。 密钥属性应包括以下几项:1) 密钥用途:密钥用途长度为 1 字节,低 5 位为密钥类型, 高 3 位为密钥分散级数。 密钥类型约定如下: 0,主控密钥 1,维护密钥 2,消费密钥 3,PIN 解锁密钥 4,重装 PIN 密钥 5,用户卡应用维护密钥 6,MAC 密钥 7,加密密钥 8, MAC 、加密密钥 9 31 ,保留2) 密钥算法标识密钥算法标识指定了密钥所支持加密算法, 长度 1 字节。密钥算法标识约定如下: 0, 3DES1,DES 2 255 ,保留3) 密钥版本密钥版本指定某种类型密钥的标识, 长度 1 字节。对消费密钥来说, 密钥版 本是用于消费交易
40、密钥选择过程中的密钥版本号, 而对于其他密钥来说, 密钥版 本是密钥标识。对于主控密钥的版本为 0x00 ;对于保护卡片中的基本数据文件的应用密钥 的版本是 0x01 。4. 加密算法描述1) DES 算法DES 算法遵循国际标准,加密模式采用 ECB 模式。利用加密密钥对8字节块的输入数据Xi, X2, X3加密,得到8字节块的 输出数据丫1, 丫2 , 丫3。其中,丫1 = DES (加密密钥)Xi2) 3DES 算法3DES算法是指使用双长度(16字节)密钥K=( Kl|Kr)将8字节明文 数据块加密成密文数据块,如下所示:丫= DES(Kl)DES-1 (Kr)DES(KlX)解密的方
41、式如下:X = DES-1 (Kl)DES(Kr)DES-1 (KlY)3) 密钥分散算法简称Diversify,是指将壹个双长度的密钥 MK ,对分散数据进行处理,推导出壹个双长度的密钥 DK 推导 DK 左半部分的方法是:将分散数据的最右 16 个数字作为输入数据;将 MK 作为加密密钥;用 MK 对输入数据进行 3DEA 运算。推导 DK 右半部分的方法是:将分散数据的最右 16 个数字求反,作为输入数据;将 MK 作为加密密钥;用 MK 对输入数据进行 3DEA 运算。六.状态码命令返回的状态码如下所示:状态号返回状态码性质错误解释OOh9000正常成功执行01h6200警告信息未提供02h6281警告回送数据可能出错03h6282警告文件长度小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年国际贸易规则与政策实务测试题
- 2026年电力工程电力设备维护保养标准化试题库
- 2026年注册会计师税法计算题库
- 2026年汽车维修技师认证题库含汽车电路与发动机知识
- 2026年医学基础理论知识与病例分析题库
- 2025年基金管理团队笔试题答案
- 2025年小学音乐面试笔试题目及答案
- 2025年常州一中国际班面试题库及答案
- 2025年测试开发笔试题目大全及答案
- 2025年服务中心咨询员面试题库及答案
- 规划设计定点服务机构采购项目方案投标文件(技术方案)
- 2024北师大版七年级生物下册期末复习全册考点背诵提纲
- 冷冻肉类管理办法
- 房建工程项目进度管理
- 中医护理不良事件分析与改进
- 麻醉镇痛泵术后护理规范
- 爆炸危险环境电力装置设计规范2025年
- 基于用户需求的品牌视觉识别系统品牌视觉识别系统创新-洞察阐释
- 多付款协议书范本
- 护理人员职业暴露处理规范流程
- 七氟丙烷气体灭火系统安装施工方案
评论
0/150
提交评论