来源:中国智能卡网 作者:付靖 发布时间:2009-03-11 09:06:19 字体:[大 中 小]
摘 要:近日,学者Flavio D. Garcia宣布MIFARE class的安全性存在薄弱环节,在他的研究室里,通过研究读写器和卡之间的通信数据,找到了这种卡的加密算法和认证通信的协议,并有两种方法可以得到MIFARE class逻辑加密卡的分区密码。
近来广为讨论的话题,就是MIFARE系列的逻辑加密卡可以被破解和复制一事,因国内发行的这种卡,估计有几亿张在投入使用,它的安全性涉及到众多的运营单位和持卡人的利益。近日,学者Flavio D. Garcia宣布MIFARE class的安全性存在薄弱环节,在他的研究室里,通过研究读写器和卡之间的通信数据,找到了这种卡的加密算法和认证通信的协议,并有两种方法可以得到MIFARE class逻辑加密卡的分区密码。
第一种方法是假设MIFAREclass的密码通信串,最多通过4096次组合的认证试验,就可以获得认证通过,反向会滚就可以推算出密码,获取一个认证密码一般需要4至8小时。
第二种方法是在可以真实的认证过程中,获取通信数据,经过40毫秒的计算,仅消耗8M的存储单元,就可以得到认证密码。
根据这种结论,在这两种方法中,第二种方法只要在真实环境下,一个具备8M存储以上的微处理器的读写侦听装置,就可以轻易的取得卡片的应用密码,成本代价是相当低的。在非接触卡的应用环境中,我们经常可以看见持卡人将装有卡片的手袋接近读写器,就完成了卡片的使用,假设手袋中有一个这样的侦听装置,后果是不得而知的。
第一种破解方式对于攻击者是安全的,其代价就是一个密码的破解需要8小时,一个基本应用需要4-8个左右的密码支持,也就是大约在2-3天的时间内,可以得到一张卡片的所有应用密码。相对最终利益这个成本对攻击者来说,仍然是值得的。
目前在国内重大应用系统中(如城市一卡通),还没有发现有MIFARE class的逻辑加密卡的密码被破解的报导,这并不能证明MIFARE class没有受到过攻击,因为在上千万的数据处理系统中发现个别非法应用往往需要一段时间,学者Flavio D. Garcia的论文,应该得到充分的重视,并准备必要的应对措施。
学者Flavio D. Garcia的论文,没有涉及非接触的CPU卡,这是因为在CPU的认证中,参与通信交换的不是密码,而是被公开算法加密后的数据,攻破CPU卡的关键在于能破解公开算法的密钥,因此,在目前的状况下,可以认为CPU卡的安全性是远高于逻辑加密卡的。
学者Flavio D. Garcia的论文所论述的方法,只是可以破解一张MIFARE class的逻辑加密卡的密码,还不至于可以破坏一个设计完备的IC卡应用系统。因此,过于的惊慌和恐惧也是没有必要的。
在一个完备的IC收费系统和应用系统中,都采用了全球唯一的不可改写的物理卡号作为卡片唯一的系统标识,即使破解所有密码,也不能实现复制卡片;在一个完备的IC卡收费系统和应用系统中,都采用了一卡一密钥方式,即使破解一张卡的所有密码,也不能影响到绝大多数的持卡人;要实现自制系统内卡片,必须在破解多张卡片的基础上,继续破解一卡一密钥制的根密钥;而完备系统的密钥系统也都采用公开算法来分散密码,破解根密钥需要更长的时间周期。
学者Flavio D. Garcia的论文所论述的方法,对目前一个完备的IC卡收费系统和应用系统来说,就是突破了系统外充值控制的所有方法,即使采取在线充值的控制,也不能用这种方法非法得到充值所需要的密码。而完备的IC卡收费系统和应用系统对系统外充值的事后处理应该是敏捷的,可以在第2个工作日发现,并将该卡片置于监视之中。
学者Flavio D. Garcia的论文所论述的方法,对没有遵从上述原则的系统而言,确实是致命的。可能造成复制卡片,系统外发行伪卡,系统外充值等,一旦形成不可追朔局面,系统将无法运作。目前,在我国的实际情况下,可能会影响到众多小型的应用场所,例如:饭堂、会馆、小区等,这也需要政府给予支持和重视。
对于我国的城市公交收费、城市一卡通、高速公路收费、地铁储值卡等重大IC卡应用系统,特别是采用了MIFARE class逻辑加密卡的系统,建议采取以下措施,以防备这种不安全因素所带来的影响:
1、进行实时交易数据上传,实时分析处理非正常充值数据,立即采用黑名单实时下达到终端设备;
2、将读写终端的黑名单容量扩大到20万以上,可以实时进行增量更新;
3、建立以GPRS为主的无线通信方式,保证数据的实时性;
对于新上项目,建议慎重采用MIFARE class的逻辑加密卡,综合卡片成本、系统性能统一的原则;鼓励采用智能CPU卡作为支付媒介。对于已运行的IC卡系统,可以逐步吸收CPU卡,逐步取代MIFARE class的逻辑加密卡,从非记名向记名过渡,固定密钥系统向动态密钥系统发展,做到完全不受逻辑加密卡密码风险的影响。
总之,一个完善和完备的收费系统和应用系统,其安全性并不完全依赖于卡片,在银行系统中使用的磁卡就能轻易复制;在地铁中使用的ULTRA LIGHT的单程票,就是一张存储卡,也是可以复制的,读写没有密码控制,虽然也是 MIFARE 家族的成员,学者Flavio D. Garcia的论文的方法根本影响不到;它们使用的安全性和可靠性完全取决于应用系统的安全性设计。