金融ic卡密钥管理系统设计方案内容摘要:

密钥、卡片维护密钥。 卡片主控密钥的控制可通过外部认证操作实现,也可通过安全报文的方式实现。 卡片维护密钥用于卡片 CDF 区域的应用维护,在卡片主控密钥的控制下装载和更 新。 卡片的管理者可在卡片维护密钥的控制下, 1. 安全更新记录文件。 2. 安 全更新二进制文件。 卡片维护密钥的控制通过安全报文的形式实现。 卡片公共信息文件存放卡片的公共信息,在卡片主控密钥的控制下创建,可自由读,可 在卡片维护密钥的控制下改写。 终端信息文件存入终端的信息,在卡片主控密钥的控制下创建,可自由读,可在卡片维 护密钥的控件下改写。 4. ADF 区域说明 在 PSAM 卡的 ADF(Application Data File)区域中,文件创建和密钥装载是在应用主控密 钥的控制下进行。 ADF 下的文件结构可由应用发行者自行确定,但必须存在应用主控密钥、应用维护密钥。 全国密钥管理中心应用 ADF 的文件结构还必须包括应用主工作密钥数据元、应用公共数据文件和终端应用交易序号数据元。 应用主控密钥是应用的控制密钥,在卡片主控密钥控制下写入。 发卡方必须在应用主控密钥的控制下: 1. 创建卡片 ADF 区域的文件。 2. 装载应用维护密钥、应用主工作密钥。 3. 更新应用主控密钥、应用维护密钥。 应用主控密钥的控制可通过外部认证操作实现,也可通过安全报文的方式实现。 应用维护密钥用于卡片 ADF 区域的应用维护,在应用主控密钥的控制下装载和更新。 卡片的管理者可在应用维护密钥的控制下, 1. 安全更新记录文件。 2. 安全更新二进制文件。 3. 进行应用解锁。 卡片维护密钥的控制通过安全报文的形式实现。 应用主工作密钥用于卡片的交易,在应用主控密钥的控制下装载和更新。 应用公共信息文件存放应用的公共信息,在应用主控密钥的控制下创建,可自由读,可 在卡片维护密钥的控制下改写。 终端应用交易序号长度 4 字节,用于终端的脱机交易,在消费交易 MAC2 验证通过的情况下由卡片操作系统改写。 终端应用交易序号只对本应用有效。 5. 基本命令 6. 选择文件( Select) SELECT 命令通过文件名或 AID 来选择 IC 卡中的 PSE、 DDF 或 ADF。 命令执行成功后, PSE、 DDF 或 ADF 的路径被设定。 应用到 AEF 的后续命令将采用 SFI 方式联系到所选定的 PSE、 DDF 或 ADF。 从 IC 卡的响应报文应由回送的 FCI 组成。 7. 读记录文件( Read Record) READ RECORD 命令用于读取记录文件中的内容。 IC 卡的响应由回送的记录数据组成。 8. 写记录文件( Update Record) UPDATE RECORD 命令用命令 APDU 中给定的数据更改指定的记录。 在使用当前记录地址时,该命令将在修改记录成功后重新设定记录指针。 在安全更新记录时,若安全报文连续三次出错,则永久 锁定应用。 9. 读二进制文件( Read Binary) READ BINARY 命令用于读取二进制文件的内容(或部分内容)。 10. 写二进制文件( Update Binary) UPDATE BINARY 命令用命令 APDU 中给定的数据修改 EF 文件中已有的数据。 11. 外部认证( External Authentication) EXTERNAL AUTHENTICATION 命令用于对卡片外部的安全认证。 计算的方法是利用 卡片中的卡片主控密钥或应用主控密钥,对卡片产生的随机数(使用 GET CHALLENGE 命令)和接口设备传输进来 的认证数据进行验证。 12. 取响应数据( Get Response) 当 APDU 不能用现有协议传输时, GET RESPONSE 命令提供了一种从 IC 卡向接口设 备传送 APDU(或 APDU 的一部分)的传输方法。 13. 取随机数( Get Challenge) GET CHALLENGE 命令用于从 IC 卡中获得一个 4 个字节的随机数。 该随机数服务于安 全过程(如安全报文),在使用随机数的命令执行后失效。 14. 扩展命令 为符合《中国金融集成电路( IC)卡规范( )》和《银行 IC 卡联合试点技术方案》 的安全控管要求, PSAM 卡必须支持 以下专用命令。 15. 写入密钥( Write Key) WRITE KEY 命令可向卡中装载密钥或更新卡中已存在的密钥。 本命令可支持 8 字节或 16 字节的密钥,密钥写入必须采用加密的方式,在主控密钥的控制下进行。 在密钥装载前必须用 GET CHANLLEGE 命令从 PSAM 卡取一个 4 字节的随机数。 16. 通用 DES 计算初始化( INIT_FOR_DESCRYPT) INIT_FOR_DESCRYPT 命令用来初始化通用密钥计算过程。 PSAM 卡将利用卡中指定 的密钥进行运算,产生一个临时密钥。 去处方式由指定的密钥类型、密钥分散级数 和密钥算法标识确定。 不支持计算临时密钥计算的密钥类型有: —— 主控密钥 —— 维护密钥 —— 消费密钥 双长度密钥产生双长度临时密钥的密钥类型有: —— PIN 解锁密钥 —— 用户卡应用维护密钥 双长度密钥左右异或产生单长度临时密钥的密钥类型有: —— 重装 PIN 密钥 双长度密钥产生双长度临时密钥,单长宽密钥产生单长度临时密钥的密钥类型有 —— MAC 密钥 —— 加密密钥 —— MAC、加密密钥 指定密钥经过几级处理由密钥分散级数和 LC确定,若二者不一致,则返回错误信息。 临时密钥在 PSAM 卡下电后自动消失,不允许读。 临时密钥产生后,与原密钥的属性一致。 17. 通用 DES 计算( DES Crypt) DES CRYPT 命令利用指定的密钥来进行运算。 待处理的数据块长度最少可支持 32 个 字节。 若一条命令无法传输所有的待处理数据,可分几条命令输入。 加密计算采用 ECB 模式,数据的填充在卡片外面进行,卡片只支持长度为 8 的整数倍数据的加密。 MAC 计算遵循《中国金融集成电路( IC)卡规范》,数据的填充在卡片外面进行,卡片只支持长度为 8 的整数倍数据的 MAC 计算。 DES CRYPT 命令必须在 INIT_FOR_DESCRYPT 命令成功执行后才能进行。 卡片状态在执行无后续块计算后,复原为通用 DES 计算初始化执行前的状态。 18.应用解锁( Application Unblock) APPLICATION UNBLOCK 命令用于恢复当前应用。 当命令成功完成后,对应用访问的限制将被取消,利用消费密钥校验 MAC2 的错误计数器将被重置。 如果应用解锁联系失败三次,卡将永久锁定此应用。 在 APPLICATION UNBLOCK 命令执行前必须执行 GET CHANLLENGE命令取得 4 字节的随机数。 19. MAC1 计算( INIT_SAM_FOR_PURCHASE) INIT_SAM_FOR_PURCHASE 命令可支持多级消费密钥分散机制,产生《中国金融集成电路( IC)卡规范》中定义的 MAC1。 根据银行 IC 卡试点技术方案,可以利用试点城市标识、成员行标识、卡片应用序列号、随机数和交易信息得到过程密钥,进而加密得到 MAC。 PSAM 卡产生脱机交易流程中 MAC1 的过程如下所示: 1. PSAM 在其内部用 GMPK(全国消费主密钥)对试点城市标识分散,得到二级消费主密钥 BMPK; 2. PSAM 在其内部用 BMPK 对成员行标识分散,得到三级消 费主密钥 MPK; 3. PSAM 在其内部用 MPK 对卡片应用序列号分散,得到卡片消费子密钥 DPK; 4. PSAM 在其内部用 DPK 对卡片传来的伪随机数、脱机交易序号、终端交易序号加密,得到过程密钥 SESPK,作为临时密钥存放在卡片中; 5. PSAM 在其内部用 SESPK对交易金额、交易类型标识、终端机编号、交易日期(终端)和交易时间(终端)加密得到 MAC1,将 MAC1 传送出去。 在此过程中,所有的中间结果只保留在卡片内部,外界无法得到。 只有进行本命令后,才允许进行 MAC 校验的命令。 参与处理的终端机标号和终端交易序号由卡片操作 系统从卡片中取得。 INIT_SAM_FOR_PURCHASE 命令可支持多级消费密钥分散机制,消费密钥的分散过程由 Lc 和消费密钥共同确定,如果二者不一致,则返回错误信息。 20.校验 MAC2( CREDIT_SAM_FOR_PURCHASE) CREDIT_SAM_FOR_PURCHASE 命令利用 INIT_SAM_FOR_PURCHASE 命令产生的过程密钥 SESPK 校验 MAC2,过程如下所示: 1. 检查 MAC2 尝试计数器,如 MAC2 未被锁定, PSAM 在其内部用 SESPK对交易金额加密得到 MAC2,与命令报文中的数 据进行比较; 2. 若命令支持成功, PSAM 卡将应用中的终端脱机消费交易序号加 1; 3. 若命令执行不成功, PSAM 卡将 MAC2 尝试计数器减 1,并回送状态码“ 63Cx”,这里“ x”是 MAC2 尝试计数器的新值; 4. 如果“ x”为零, PSAM 卡将锁定消费密钥所在的 ADF。 在此过程中,所有的中间结果只保留在卡片内部,外界无法得到。 CREDIT_SAM_FOR_PURCHASE 命令必须在 INIT_SAM_FOR_PURCHASE 命令成功执行后才能进行。 若 MAC2 尝试计数器为 0 的话,消费密钥所在的应用将被锁定,只能在应用维护密 钥的控制下应用解锁后使用。 应用下的 MAC2 错误计数器在应用下所有消费密钥 MAC2校验错误的情况下都要被减1。 卡片的状态在命令执行后将复原为 MAC1 校验前的状态。 四.密钥管理加密机 密钥管理加密机是用于密钥管理的硬件加密设备。 它可以通过硬件电路提供产生密钥所需的真随机数,在硬件上具有一定的防物理攻击能力,在软件上对密钥的生成、存放、备份和运算进行权限控制,并可采取一定策略进行审计。 由于硬件加密机具备了攻击防范能力,所以密钥可以在硬件加密机中以相对较低的成本安全地保持,而且所有密钥运算可在安全的物理环境中 完成。 如果没有加密机,密钥运算过程在未经保护的机器上实现,必然导致密钥在内存中以明文形式出现,在这种状况下为保护密钥安全所需的成本将远高于硬件加密机的成本。 如果在多台机器上进行密钥运算,密钥还需在机器之间进行传递,这也会明显降低安全性或增加安全成本。 采用加密机之后,密钥运算集中在加密机中进行,使密钥运算更为高效,而且在加密机之间传递密钥也相对容易些。 加密机可以减轻密钥管理员的责任,降低密钥管理工作的成本。 由于加密机本身提供了管理接口和监控接口,密钥可以在加密机中得到有效的管理。 密钥的生成、作废、替换等等工作都可以通过加密机接口提供,从而使密钥管理工作大为简化。 1. 主要功能 硬件加密机的主要功能有以下几种: 1. 硬件防攻击 2. 真随机数产生 3. 密钥生成 4. 密钥存放 5. 密钥备份与恢复 6. 密钥服务 7. 访问控制和安全审计 2. 外部接口 加密机与应用平台之间的交互为命令 —— 响应方式。 加密机保证单一通信通道上命令与响应的唯一对应性。 加密机在单一通信通道上并不缓存命令,也就是说,加密机并不保证在处理一条命令时可以接受。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。