非接触CPU卡安全系统与逻辑加密系统的比较

2018-04-18 10:05:51 诺塔斯智能科技 372

     密钥管理系统(Key Management System),也简称KMS,是IC项目安全的核心。如何进行密钥的安全管理,贯穿着IC卡应用的整个生命周期。最常见的是非接触CPU卡安全系统和逻辑加密系统,非接触逻辑加密卡的安全认证依赖于每个扇区独立的KEYA和KEYB的校验,可以通过扇区控制字对KEYA和KEYB的不同安全组合,实现扇区数据的读写安全控制。非接触逻辑加密卡的个人化也比较简单,主要包括数据和各扇区KEYA、KEYB的更新,在期间所有敏感数据包括KEYA和KEYB都是直接以明文的形式更新。

  由于KEYA和KEYB的校验机制,只能解决卡片对终端的认证,而无法解决终端对卡片的认证,即我们俗称的“伪卡”的风险。目前市面上使用的非接触逻辑加密卡的安全系数相对比较低,所以在很多项目中都在升级改造为非接触式CPU卡安全系统。

非接触CPU卡智能卡与非接触逻辑加密卡相比,拥有独立的CPU处理器和芯片操作系统,所以可以更灵活的支持各种不同的应用需求,更安全的设计交易流程。但同时,与非接触逻辑加密卡系统相比,非接触CPU卡智能卡的系统显得更为复杂,需要进行更多的系统改造,比如密钥管理、交易流程、PSAM卡以及卡片个人化等。密钥通常分为充值密钥(ISAM卡),减值密钥(PSAM卡),身份认证密钥(SAM卡)。

  非接触CPU卡智能卡可以通过内外部认证的机制,例如像建设部定义的电子钱包的交易流程,高可靠的满足不同的业务流程对安全和密钥管理的需求。对电子钱包圈存可以使用圈存密钥,消费可以使用消费密钥,清算可以使用TAC密钥,更新数据可以使用卡片应用维护密钥,卡片个人化过程中可以使用卡片传输密钥、卡片主控密钥、应用主控密钥等,真正做到一钥一用。

非接触式CPU卡

  非接触CPU卡加密算法和随机数发生器与安装在读写设备中的密钥认证卡(SAM卡)相互发送认证的随机数,可以实现以下功能:

  (1) 通过终端设备上SAM卡实现对卡的认证。

  (2) 非接触CPU卡与终端设备上的SAM卡的相互认证,实现对CPU卡读写器的认证。

  (3) 通过ISAM卡对非接触CPU卡进行充值操作,实现安全的储值。

  (4) 通过PSAM卡对非接触CPU卡进行减值操作,实现安全的扣款。

  (5) 在CPU卡读写器与非接触CPU卡中传输的数据是加密传输。

  (6) 通过对非接触CPU卡发送给SAM卡的随机数MAC1,SAM卡发送给非接触CPU的随机数MAC2和由非接触CPU卡返回的随机数TAC,可以实现数据传输验证的计算。而MAC1、MAC2和TAC就是同一张非接触CPU卡每次传输的过程中都是不同的,因此无法使用空中接收的办法来破解非接触CPU卡的密钥。

  3、非接触CPU卡智能卡,可以使用密钥版本的机制,即对于不同批次的用户卡,使用不同版本的密钥在系统中并存使用,达到密钥到期自然淘汰过渡的目的,逐步更替系统中所使用的密钥,防止系统长期使用带来的安全风险。非接触CPU卡智能卡,还可以使用密钥索引的机制,即对于发行的用户卡,同时支持多组索引的密钥,假如当前使用的密钥被泄漏或存在安全隐患的时候,系统可以紧急激活另一组索引的密钥,而不用回收和更换用户手上的卡片。

  非接触CPU卡智能卡系统中,PSAM卡通常用来计算和校验消费交易过程中出现的MAC码,同时在计算的过程中,交易时间、交易金额、交易类型等交易信息也都参与运算,使得交易更安全更可靠。某些情况下,非接触CPU卡智能卡系统中的PSAM卡还可以用来支持安全报文更新数据时MAC的计算,以及交易TAC的验证。因此,与非接触逻辑加密卡系统相比,非接触CPU卡智能卡系统中的PSAM卡支持更广泛的功能,也更为灵活、安全和复杂。通常非接触CPU卡智能卡系统的PSAM卡还支持不同的密钥版本。

  而非接触CPU卡智能卡的个人化通常可以分为卡片洗卡和卡片个人化两个独立的流程,前者创建卡片文件结构,后者更新个人化数据,并注入相应的密钥。在信息更新和密钥注入的过程中,通常都采用安全报文的方式,保证数据和密钥更新的正确性和安全性。而且密钥注入的次序和相互保护的依存关系,也充分体现了密钥的安全设计,比如卡片主控密钥通常被用来保护导入应用主控密钥,应用主控密钥通常被用来保护导入其他应用密钥,比如消费密钥等。

        M1卡即逻辑加密卡采用的是固定密码,而采用非接触CPU卡智能卡采用的是动态密码,并且是一用一密即同一张非接触CPU卡智能卡,每刷一次卡的认证密码都不相同,这种智能化的认证方式使得系统的安全性得到提高,特别是当交易双方在完成交易之后,收单方有可能擅自修改或伪造交易流水来达到获利目的,为了防止终端伪造交易流水,系统要求卡片能够产生由交易要素生成的交易验证码,在后台清算时来对交易的有效性进行验证。非接触式CPU卡则可以在交易结束时产生个交易验证码TAC,用来防止伪造交易。逻辑加密卡由于不具有运算能力,就不可能产生交易的验证码。

  所以,从安全性的角度来看, 从IC卡逻辑加密卡升级到CPU卡是一种必然的选择。