如何成功实施非接触CPU卡项目
文章出处:http://www.nexussmartsolutions.com 作者:中国一卡通网 收编 人气: 发表时间:2011年09月27日
引言
随着非接触IC卡技术在国内的逐步推广,非接触应用以其快捷方便的操作方式,日益深入人心,并逐渐成为公共交通、城市通卡建设的首选技术。
早期投入应用的非接触IC卡技术多为逻辑加密卡,比如最为著名的Philips公司(现NXP)的Mifare 1卡片。非接触逻辑加密卡技术以其低廉的成本,简明的交易流程,较简单的系统架构,迅速得到了用户的青睐,并得到了快速的应用和发展。据不完全统计,截至去年年底,国内各领域非接触逻辑加密卡的发卡量已经达到数亿张。
随着非接触逻辑加密卡不断应用的过程,非接触逻辑加密卡技术的不足之处也日益暴露,难以满足更高的安全性和更复杂的多应用的需求。因此,非接触CPU卡技术正成为一种技术上更新换代的选择。
一、 系统架构的变化改造
非接触CPU卡与非接触逻辑加密卡相比,拥有独立的CPU处理器和芯片操作系统,所以可以更灵活的支持各种不同的应用需求,更安全的设计交易流程。但同时,与非接触逻辑加密卡系统相比,非接触CPU卡的系统显得更为复杂,需要进行更多的系统改造,比如密钥管理、交易流程、PSAM卡以及卡片个人化等。
1.1 密钥管理和认证机制
众所周知,密钥管理系统(Key Management System),也简称KMS,是IC项目安全的核心。如何进行密钥的安全管理,贯穿着IC卡应用的整个生命周期。非接触逻辑加密卡的安全认证依赖于每个扇区独立的KEYA和KEYB的校验,可以通过扇区控制字对KEYA和KEYB的不同安全组合,实现扇区数据的读写安全控制。
图1-1 MIFARE I卡片扇区访问控制
由于KEYA和KEYB的校验机制,只能解决卡片对终端的认证,而无法解决终端对卡片的认证,即我们俗称的“伪卡”的风险,所以通常在采用非接触逻辑加密卡的时候,还会使用卡片认证码的机制。
而非接触CPU卡可以通过内外部认证的机制,以及像建设部定义的电子钱包的交易流程,高可靠的满足不同的业务流程对安全和密钥管理的需求。对电子钱包圈存可以使用圈存密钥,消费可以使用消费密钥,清算可以使用TAC密钥,更新数据可以使用卡片应用维护密钥,卡片个人化过程中可以使用卡片传输密钥、卡片主控密钥、应用主控密钥等,真正做到一钥一用。
实施非接触CPU卡项目,可以使用密钥版本的机制,即对于不同批次的用户卡,使用不同版本的密钥在系统中并存使用,达到密钥到期自然淘汰过渡的目的,逐步更替系统中所使用的密钥,防止系统长期使用带来的安全风险。
实施非接触CPU卡项目,还可以使用密钥索引的机制,即对于发行的用户卡,同时支持多组索引的密钥,假如当前使用的密钥被泄漏或存在安全隐患的时候,系统可以紧急激活另一组索引的密钥,而不用回收和更换用户手上的卡片。
因此,要成功实施非接触CPU卡项目,需要一个完善的密钥管理系统,能支持多种不同用途的密钥,并支持密钥版本和密钥索引的机制。
1.2 交易流程
非接触逻辑加密卡的交易流程比较简单,通过认证KEYA或者KEYB,达到操作的安全权限,然后就直接进行交易操作,增加或者减少钱包金额。
非接触CPU卡的交易分为圈存交易和消费交易等,不同的交易类型,拥有不同的交易流程和安全机制。在非接触CPU卡的交易中,交易数据与交易过程中的相互认证紧紧结合在了一起,使得交易更加安全和严谨。同时,非接触CPU卡也通过卡内自增的交易流水号以及卡片计算的交易TAC码保证了交易的唯一性和可追踪性。
图1-2 非接触CPU卡消费交易流程示例
1.3 PSAM卡
在非接触逻辑加密卡的系统中,PSAM卡主要使用卡片认证密钥和各扇区的KEYA、KEYB密钥来产生非接触逻辑加密卡操作所需要的各扇区的KEYA和KEYB认证码,交易信息不直接参与运算。
而在非接触CPU卡系统中,PSAM卡通常用来计算和校验消费交易过程中出现的MAC码,同时在计算的过程中,交易时间、交易金额、交易类型等交易信息也都参与运算,使得交易更安全更可靠。某些情况下,非接触CPU卡系统中的PSAM卡还可以用来支持安全报文更新数据时MAC的计算,以及交易TAC的验证。因此,与非接触逻辑加密卡系统相比,非接触CPU卡系统中的PSAM卡支持更广泛的功能,也更为灵活、安全和复杂。通常非接触CPU卡系统的PSAM卡还支持不同的密钥版本。
图1-3 建设部PSAM卡MAC1计算初始化指令
1.4 卡片个人化
非接触逻辑加密卡的个人化比较简单,主要包括数据和各扇区KEYA、KEYB的更新,在期间所有敏感数据包括KEYA和KEYB都是直接以明文的形式更新。
而非接触CPU卡的个人化通常可以分为卡片洗卡和卡片个人化两个独立的流程,前者创建卡片文件结构,后者更新个人化数据,并注入相应的密钥。在信息更新和密钥注入的过程中,通常都采用安全报文的方式,保证数据和密钥更新的正确性和安全性。而且密钥注入的次序和相互保护的依存关系,也充分体现了密钥的安全设计,比如卡片主控密钥通常被用来保护导入应用主控密钥,应用主控密钥通常被用来保护导入其他应用密钥,比如消费密钥等。
因此,要成功实施非接触CPU卡项目,必须和密钥管理系统配合,建立一套安全和完善的卡片个人化系统,并配备相应的HSM硬件加密机或者密钥母卡,来实现个人化流程中密钥的安全存储和运算。
二、 项目实施中注意事项
在非接触CPU卡的推广过程中,也发现了一些需要特别注意和着重解决的问题。
2.1 卡片与机具的兼容性测试
首当其冲的是卡片与机具的兼容性问题。虽然ISO和众多规范已经定义了非接触CPU卡和机具终端之间的电气特性和数据协议,但是到目前为止国内众多的非接触CPU卡项目的实施经验,无不显示出卡片与机具的兼容性是一个不容忽视的问题。同一种机具,可能会无法支持不同的卡商的卡片;同一个卡商的卡片,可能在这个机具上能正常交易,在另一个机具上就无法使用。甚至,同一张卡片,和同一个机具,做某一种交易能成功,做另一种交易就失败。究其原因,这里面有不同的卡片和机具提供商对规范的不同理解,也有一些是属于项目实施过程中的历史技术原因。
因此,要成功实施非接触CPU卡项目,大量的深入的全面的现场测试,是克服卡片和机具兼容性问题的不二法门。
2.2 多应用扩展和开放平台
采用非接触CPU卡的一个很重要的原因就是非接触CPU卡可以很好的支持多应用扩展,自定义不同的应用交易流程。在多应用扩展的设计阶段,如何尽量符合已有的规范,更开放的适应不同供应商,是非接触CPU卡项目能否长期顺利的推广的重要保障。封闭式的系统,历史已经证明,都往往是短命的,不成功的,无法大范围推广的失败者,这里面即涉及未来供应商的非充分竞争,也影响了供应商对相应产品开发和投入的长期信心。
2.3 安全性与交易速度的权衡
安全性和交易速度,是非接触CPU卡项目中老生常谈的两个问题,也几乎是每个非接触CPU卡项目不得不面对的问题。快捷的交易速度,是采用非接触IC卡技术的一个重要原因。但是,片面追求交易速度,甚至以牺牲安全性为代价,又是一个得不偿失的做法。因为,没有可靠的安全性,也就失去了采用IC卡技术尤其是非接触CPU卡技术的意义。而同时,安全性往往又必然要消耗一定的交易时间,降低了交易的速度。因此,对于安全性和交易速度这一对矛盾体,需要系统的设计者,根据实际的业务需要,好好的权衡和把握,找到两者的平衡点。
在考虑安全性和交易速度的同时,尤其在进行交易速度优化之后,特别需要进行全面的流程测试和异常交易测试,确保交易速度优化不会造成不同交易各个阶段的影响,甚至产生安全漏洞。这方面的教训,是有很多的。
结论
因此,要实施非接触CPU卡项目,多方面的考虑系统的实际需求和各种因素,充分做好系统改造的技术认证和规划设计,切实研究实施过程中的诸多技术问题,是项目成功的重要前提和保障。