你知道如何成功实施非接触CPU卡项目吗?
文章出处:http://www.nexussmartsolutions.com 作者:中国一卡通网 人气: 发表时间:2010年01月20日
随着非接触IC卡技术在国内的逐步推广,非接触应用以其快捷方便的操作方式,开始逐步替代传统现金的支付方式,成为公共交通、城市通卡建设的首选技术。
目前,据统计,全国已经约有170多个大中城市都推出了城市一卡通项目,发卡量已超过1.5亿多张。在这些项目当中,大约95%以上使用的都是非接触逻辑加密卡,比如最为著名的Philips公司(现NXP)的Mifare 1卡片。早期,由于这种产品价格低廉,交易流程、系统价格均较为简单,从而受到了许多用户的青睐,对非接触IC卡的大规模市场应用推广也起到了功不可没的作用。
但是,随着非接触逻辑加密卡的不断应用以及市场上出现的对一卡多用的需求,非接触逻辑加密卡技术的不足之处也显示出它难以满足更高的安全性和更复杂的多应用的需求。为此,出于安全、互联互通等各方面的考虑,建设部从07年开始倡导和组织了关于《建设事业非接触式CPU卡芯片技术要求》以及《建设事业非接触式CPU卡COS技术要求》的编写制定工作,并在昆山、上海、合肥、江阴等地开始了第一批试点工作。因此,不难想象,随着今后建设部城市互联互通工作的进一步展开,比如许多现在新上的项目都已经开始应用非接触CPU卡,非接触CPU卡技术势必将会成为一种主流技术,从而在技术上实现对非接触逻辑加密卡的更新换代。
因此,本文将对如何成功实施非接触CPU卡项目,以及它与逻辑加密卡的不同之处做一简单对比陈述,主要涉及密钥管理、交易流程、PSAM卡、卡片个人化等各方面,并针对卡片与机具的兼容性、多应用的扩展、安全性与交易速度的权衡等问题进行简单说明。
一、系统架构的变化改造
非接触CPU卡与非接触逻辑加密卡相比,拥有独立的CPU处理器和芯片操作系统,所以可以更灵活的支持各种不同的应用需求,更安全的设计交易流程。但同时,与非接触逻辑加密卡系统相比,非接触CPU卡的系统显得更为复杂,需要进行更多的系统改造,比如密钥管理、交易流程、PSAM卡以及卡片个人化等。
1.1 密钥管理和认证机制
众所周知,密钥管理系统(Key Management System),也简称KMS,是IC卡项目安全的核心。如何进行密钥的安全管理,贯穿着IC卡应用的整个生命周期。
非接触逻辑加密卡的安全认证依赖于每个扇区独立的KEYA和KEYB的校验,可以通过扇区控制字对KEYA和KEYB的不同安全组合,实现对扇区数据的读写安全控制。
由于KEYA和KEYB的校验机制,只能解决卡片对终端的认证,而无法解决终端对卡片的认证,即我们俗称的“伪卡”的风险,所以通常在采用非接触逻辑加密卡的时候,还会使用卡片认证码的机制。
而非接触CPU卡可以通过内外部认证的机制,以及象建设部定义的电子钱包的交易流程,可靠地满足不同的业务流程对高安全和密钥管理的需求。对电子钱包圈存可以使用圈存密钥,消费可以使用消费密钥,清算可以使用TAC密钥,更新数据可以使用卡片应用维护密钥,卡片个人化过程中可以使用卡片传输密钥、卡片主控密钥、应用主控密钥等,真正做到一钥一用。
实施非接触CPU卡项目,可以使用密钥版本的机制,即对于不同批次的用户卡,使用不同版本的密钥在系统中并存使用,达到密钥到期自然淘汰过渡的目的,逐步更替系统中所使用的密钥,防止系统长期使用带来的安全风险。
实施非接触CPU卡项目,还可以使用密钥索引的机制,即对于发行的用户卡,同时支持多组索引的密钥,假如当前使用的密钥被泄漏或存在安全隐患的时候,系统可以紧急激活另一组索引的密钥,而不用回收和更换用户手上的卡片。
因此,要成功实施非接触CPU卡项目,需要一个完善的密钥管理系统,能支持多种不同用途的密钥,并支持密钥版本和密钥索引的机制。
1.2交易流程
非接触逻辑加密卡的交易流程比较简单,通过认证K E Y A或者KEYB,达到操作安全权限,就可以直接进行交易操作,增加或者减少钱包金额。非接触CPU卡的交易分为圈存交易和消费交易等,不同的交易类型,拥有不同的交易流程和安全机制。在非接触CPU卡的交易中,交易数据与交易过程中的相互认证紧紧结合在了一起,使得交易更加安全和严谨。同时,非接触CPU卡也通过卡内自增的交易流水号以及卡片计算的交易TAC码保证了交易的唯一性和可追踪性。
1.3 PSAM卡
在非接触逻辑加密卡的系统中,PSAM卡主要使用卡片认证密钥和各扇区的KEYA、KEYB密钥来产生非接触逻辑加密卡操作所需要的各扇区的KEYA和KEYB认证码,交易信息不直接参与运算。
而在非接触CPU卡系统中,PSAM卡通常用来计算和校验消费交易过程中出现的MAC码,同时在计算的过程中,交易时间、交易金额、交易类型等交易信息也都参与运算,使得交易更安全更可靠。某些情况下,非接触CPU卡系统中的PSAM卡还可以用来支持安全报文更新数据时MAC的计算,以及交易TAC的验证。因此,与非接触逻辑加密卡系统相比,非接触CPU卡系统中的PSAM卡支持更广泛的功能,也更为灵活、安全和复杂。通常非接触CPU卡系统的PSAM卡还支持不同的密钥版本。
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卡项目,多方面的考虑系统的实际需求和各种因素,充分做好系统改造的技术认证和规划设计,切实研究实施过程中的诸多技术问题,是项目成功实施的重要前提和保障。