CPU卡安全系统与逻辑加密卡系统的对比
众所周知,密钥管理系统(Key Management System),也简称KMS,是IC项目安全的核心。如何进行 密钥的安全管理,贯穿着IC卡应用的整个生命周期。
1、非接触CPU卡智能卡与非接触逻辑加密卡相比,拥有独立的CPU处理器和芯片操作系统,所以可以 更灵活的支持各种不同的应用需求,更安全的设计交易流程。但同时,与非接触逻辑加密卡系统相比,非 接触CPU卡智能卡的系统显得更为复杂,需要进行更多的系统改造,比如密钥管理、交易流程、PSAM卡以 及卡片个人化等。密钥通常分为充值密钥(ISAM卡),减值密钥(PSAM卡),外部认证密钥(SAM卡)和 全能密钥(ASAM卡)。
非接触 CPU卡智能卡可以通过内外部认证的机制,例如像建设部定义的电子钱包的交易流程,高可靠 的满足不同的业务流程对安全和密钥管理的需求。对电子钱包圈存可以使用圈存密钥,消费可以使用消费 密钥,清算可以使用TAC密钥,更新数据可以使用卡片应用维护密钥,卡片个人化过程中可以使用卡片传 输密钥、卡片主控密钥、应用主控密钥等,真正做到一钥一用。
CPU卡加密算法和随机数发生器与安装在CPU卡读写设备中的密钥认证卡(SAM卡)相互发送认证的随机数,可以实 现以下功能:
(1) 通过终端设备上SAM卡实现对卡的认证。
(2) CPU卡与终端设备上的SAM卡的相互认证,实现对卡终端的认证。
(3) 通过ISAM卡对CPU卡进行充值操作,实现安全的储值。
(4) 通过PSAM卡对CPU卡进行减值操作,实现安全的扣款。
(5) 在终端设备与CPU卡中传输的数据是加密传输。
(6) 通过对CPU卡发送给SAM卡的MAC1,SAM卡发送给CPU的MAC2和由CPU卡返回的TAC,可以实现数据传 输验证的计算。而MAC1、MAC2和TAC就是同一张CPU卡每次传输的过程中都是不同的,因此无法使用空中接 收的办法来破解CPU卡的密钥。
2、非接触逻辑加密卡的安全认证依赖于每个扇区独立的KEYA和KEYB的校验,可以通过扇区控制字对 KEYA和KEYB的不同安全组合,实现扇区数据的读写安全控制。非接触逻辑加密卡的个人化也比较简单,主 要包括数据和各扇区KEYA、KEYB的更新,在期间所有敏感数据包括KEYA和KEYB都是直接以明文的形式更新 。由于KEYA和KEYB的校验机制,只能解决卡片对终端的认证,而无法解决终端对卡片的认证,即我们俗称的 “伪卡”的风险。
非接触逻辑加密卡,即密钥就是一个预先设定的确定数,无论用什么方法计算密钥,最后就一定要和 原先写入的数一致,就可以对被保护的数据进行读写操作。因此无论是一卡一密的系统还是统一密码的系 统,经过破解就可以实现对非接触逻辑加密卡的解密。很多人认为只要是采用了一卡一密、实时在线系统 或非接触逻辑加密卡的ID号就能避免密钥被解密,其实,非接触逻辑加密卡被解密就意味着M1卡可以被复 制,使用在线系统尽可以避免被非法充值,但是不能保证非法消费,即复制一张一样ID号的M1卡,就可以 进行非法消费。现在的技术使用FPGA就可以完全复制。基于这个原理,M1的门禁卡也是不安全的。目前国 内80%的门禁产品均是采用原始IC卡的ID号或ID卡的ID号去做门禁卡,根本没有去进行加密认证或开发专 用的密钥,其安全隐患远远比Mifare卡的破解更危险,非法破解的人士只需采用的是专业的技术手段就可 以完成破解过程,导致目前国内大多数门禁产品都不具备安全性原因之一,是因为早期门禁产品的设计理 论是从国外引进过来的,国内大部分厂家长期以来延用国外做法,采用ID和IC卡的只读特性进行身份识别 使用,很少关注卡与机具间的加密认证,缺少钥匙体系的设计;而ID卡是很容易可复制的载体,导致所有 的门禁很容易几乎可以在瞬间被破解复制;这才是我们国内安防市场最大的灾难。