华东师范大学:升级一卡通安全策略
作者: 华东师范大学信息化办公室
来源:《中国教育网络》
日期:2009-08-21 09:21:51
摘要:现阶段来说,在应用系统上下功夫是比较切实的做法。我们认为M1卡被破译并不意味着其将退出历史舞台,而是给这个市场提出一个新的安全课题。
M1卡破译后的安全性
M1卡破译后,校园一卡通系统的安全性是否真的不堪一击?校园卡还安全吗?校园卡中的钱还安全吗?校园卡用户顾虑重重。
先让我们来做一个假设,校园卡被破解之后到底能干什么?当校园卡密码破解后,如果没有加密,校园卡相应区域的数据就可以读取。这样,破解人员可以轻松地了解卡片的相关信息。但是,一般的应用系统都应该或者说肯定对这些信息,至少是敏感信息(比如钱包区)进行了加密处理。也就是说,如果信息加密,或者即使是部分加密,破解者也无法获取真实的卡片信息。
1.复制校园卡
如果信息被加密,校园卡的信息就无法识别,破解校园卡密码后,只有一件事情可以做,那就是复制大量的校园卡。如果复制的校园卡仅仅是消费卡或者说钱包卡,黑客能做的事情还是相当有限。校园一卡通系统对每次、每日的消费金额都有限制,这种交易金额的限制使复制的校园卡变成现存的利益很是有限。
2.修改校园卡
如果信息没被加密,校园卡的信息就可以识别,当然也就可以进行修改。比如,本来余额是100元钱的校园卡,可以将余额修改成1000元,10000元甚至更多。实际上,将被破译校园卡的余额修改成大金额,其意义不大,因为存在如下两个问题:
如前面所述,无法快速获利。
这种复制或修改的校园卡不可能长期使用。
一般的校园一卡通应用系统,都集成了数据自动清算功能,一旦消费数据上传到中心数据库,系统将自动进行清算。根据清算结果,发现异常卡,并将异常校园卡打入黑名单,发送到消费终端,限制其再次消费。
另外一点,如果要实施对校园卡的破译,并达到可操作的程度,需具备如下条件:
相当高的技术水平,不是一般的黑客和技术人员能做到的。
相当的设备成本,并非目前一般读写设备所能完成的。
相当的时间成本。
同时要达到对具体的系统完全有效,还需要对校园一卡通系统有关的技术细节做比较深入的分析和了解。
我们说,一个完善和完备的校园一卡通系统的安全性并不完全依赖于卡片,卡片只是整个系统中的一个环节。校园一卡通系统内部有一些特别的监控和防范措施,能有效监控和捕获系统外卡及卡金额异常等情况,有效提高整个系统的安全性。
我们认为最不安全的因素是忽视了M1卡的缺陷,有的甚至延用了原始密钥方法,没有去研发自己的安全密钥体系。
所以说,M1卡破译后,通过提高安全意识并进行技术改造,这样校园一卡通系统的安全就不如我们想象的那么可怕了。校园一卡通系统中的安全防范措施、技术和管理手段能提高系统的安全性,保证校园一卡通系统安全稳定地运行。
破译后的应对策略
在介绍应对策略之前,先介绍一下M1卡破译后业界的响应方案。RFID读取器厂商费格电子声称他们有办法提高Mifare系统安全性。他们通过将卡的序列号和其储存的数据进行连接,并用主程序加密数据,来提高克隆卡片的困难程度。这样一来,即使Mifare经典芯片的安全密钥被人知道了,数据也不是直接可读的。另一种方案来自NXP,即使用一个定制的密匙来给卡上储存的信息进行加密。每张卡将被加上惟一的密码。这种方法可以杜绝小偷破解一张卡后可以得到所有卡的密码,也就是我们常说的一卡一密。
为了确保校园一卡通系统安全稳定地运行,M1卡破译后,应采取积极的应对策略,主要从以下两个方面来考虑:技术手段和管理手段。
技术手段
1.门禁系统中采用指纹技术
M1卡被破译后,大多数门禁系统都将失去存在的意义。平时我们电影中看到不法分子复制一张卡,然后通过门禁,进入密室,只是觉得这是电影中的情景。现在看来,如果没有相应的防范措施,M1卡被破译后,很容易就能变成现实。在校园一卡通系统中,对于门禁,以前的做法是仅仅使用门禁卡,授权的校园卡可以打开门禁。M1卡被破译后,这样一种方式就存在很大的风险。万一授权的校园卡被非法复制,门禁系统就将失去意义。所以,对现有的门禁系统要进行改造,可使用门禁卡加指纹的方式,还可考虑与监控系统的联动。通过这些辅助的措施,可大大提高门禁系统的安全性。
2.消费金额控制
在校园一卡通系统中,系统通过对每张卡每次和每日交易金额的限制,来达到控制异常卡的消费。消费限额控制有两级:次消费限额和日消费限额。通过两次消费限额控制,可以控制用户每次和每日的交易额。对于复制卡/修改卡,每次和每日的消费额也同样受到消费限额的限制。
3.关键数据加校验码
在校园一卡通系统中,卡内的关键数据,比如说钱包区,可采用加校验码的方式提高其安全性。如果关键数据被非法修改,将不能通过读卡设备校验,卡将被拒绝使用。
4.通过消费明细发现异常卡
在校园一卡通系统中,每个用户的每笔消费和充值记录都有惟一的流水号和相应的逻辑关系,系统通过比较这些逻辑关系是否相符,可以发现每一张在用的校园卡是否异常。如果不法分子复制了一张校园卡,并进行消费,势必将与正常校园卡的流水号发生冲突,从而比较容易发现异常卡。
另外,在校园一卡通系统中,中心数据库中都记录着每个用户的消费明细、消费总额,充值明细、充值总额和余额,通过自动分析账目平衡情况,可以及时发现异常卡片。如果不法分子复制并修改了一张校园卡,一来我们有校验码,非法修改不能通过读卡设备的校验;二来我们的系统账目就会失去平衡,从而就很容易发现异常卡。
一旦发现异常卡,有两种处理办法,一是在校园卡管理平台滚动显示,以便校园卡管理人员及时发现问题;另外,自动挂失该卡,并产生黑名单发放到各终端,从而捕获异常卡,有效防止非法卡在系统中使用。
5.采用“一卡一密”
在校园一卡通系统中,校园卡采用一卡一密,并且是一区一密,卡密钥与卡片惟一序列号有关,将会给非法复制或修改者带来很大的时间成本。
通常的加密算法是:由出厂密钥(12个“f”)产生用户单位不同的发行密钥,然后由发行密钥产生各单位用户密钥,单位内部各用户密钥一致。这种加密算法会造成如下情况的发生:破译了校园内的一张校园卡,就知道了所有的校园卡的密钥。
M1卡破译后,可采取如下做法:由出厂密钥(12个“f”)产生用户单位不同的发行密钥,然后由发行密钥产生各单位用户密钥,各单位用户密钥与每张校园卡的全球惟一的序列号、消费应用子密钥以及扇区标识有关,这样单位内各用户的校园卡密钥各不相同,如图1所示。
在加密过程中,校园卡的每个扇区有两个访问密钥:KEYA和KEYB。当使用一卡一密的算法时,计算KEYA或者KEYB时,DES算法要使用当前校园卡系统主密钥作为DES算法的KEY使用,DES的输入加密数据因子分别包括:消费应用子密钥、当前用户卡的惟一序列号、访问扇区的扇区标识(扇区编号)。
由上述算法可以看出,实现一卡一密的关键因素是对每张不同的卡进行卡访问密钥计算时,使用了一个与每张卡惟一对应的卡序列号;而实现每个扇区的密钥都不同的关键因素是把每张卡的惟一序列号和要访问的扇区号一起进行密钥分散,所以每张卡的扇区访问密钥都不一样,从而提高了校园卡的访问安全性,使校园卡破解的可能性大大减低。
正是由于在校园一卡通系统中,可采取上述一些技术上的安全措施,一旦发现非法复制校园卡或对校园卡进行修改,一方面系统可以主动发现非法卡而拒绝使用,另一方面也可以通过数据跟踪找到相应的非法卡,并查找相应的责任人,从而保证校园一卡通系统的整体安全。
管理手段
俗话说“三分技术,七分管理”。管理手段到位,更能有效地防范。可采取了如下一些有效的管理办法:
1.加强用户对校园卡中心的管理,特别是安全保密工作,对校园一卡通系统内各服务器、工作站的登录及数据库密码的保密管理。有些管理人员习惯性地将密码写成一个文本文件,然后保存在电脑中,这种方法非常不可取。
2.加强有关产品技术资料的管理,防止技术资料的泄密。
3.保证校园一卡通系统网络的畅通,使系统数据能及时上传,从而保证系统及时地处理数据,一旦出现问题,能够得以及时发现。
前面介绍的通过流水号和账目平衡的方法发现异常卡,如果非法复制或修改的校园卡是在脱机情况下使用的,系统就无法发现这些异常卡。所以,一定要保证校园一卡通系统网络的畅通,尽量不要脱机使用。
4.注意用卡环境,有效避免卡信息被人看到,防止卡的信息被复制。
5.不要一次充太多的钱,这样即使丢失校园卡也不会造成太大损失。
6.规定单笔消费额度和一个工作日的消费额,有效规避风险。
世界上没有任何一种技术是不能被破解的,正如世界上没有一个保险柜或金库的门是打不开的一样。M1卡破译后,虽然给我们带来了问题,但也警醒了我们。
M1卡破译后,采用安全系数更高和应用更多特性的CPU卡是最好的选择。但是,大批量升级应用系统和更换卡片既需要很大的成本,也需要比较高的技术,是一个浩大的工程。
现阶段来说,在应用系统上下功夫是比较切实的做法。我们认为M1卡被破译并不意味着其将退出历史舞台,而是给这个市场提出一个新的安全课题。对校园一卡通系统来说,M1卡的破译,让我们更专注内部的监控和防范措施,更专注于其二次开发所采用的应用系统技术是否安全,以提高校园一卡通系统的整体安全性。
M1卡破译后,校园一卡通系统的安全性是否真的不堪一击?校园卡还安全吗?校园卡中的钱还安全吗?校园卡用户顾虑重重。
先让我们来做一个假设,校园卡被破解之后到底能干什么?当校园卡密码破解后,如果没有加密,校园卡相应区域的数据就可以读取。这样,破解人员可以轻松地了解卡片的相关信息。但是,一般的应用系统都应该或者说肯定对这些信息,至少是敏感信息(比如钱包区)进行了加密处理。也就是说,如果信息加密,或者即使是部分加密,破解者也无法获取真实的卡片信息。
1.复制校园卡
如果信息被加密,校园卡的信息就无法识别,破解校园卡密码后,只有一件事情可以做,那就是复制大量的校园卡。如果复制的校园卡仅仅是消费卡或者说钱包卡,黑客能做的事情还是相当有限。校园一卡通系统对每次、每日的消费金额都有限制,这种交易金额的限制使复制的校园卡变成现存的利益很是有限。
2.修改校园卡
如果信息没被加密,校园卡的信息就可以识别,当然也就可以进行修改。比如,本来余额是100元钱的校园卡,可以将余额修改成1000元,10000元甚至更多。实际上,将被破译校园卡的余额修改成大金额,其意义不大,因为存在如下两个问题:
如前面所述,无法快速获利。
这种复制或修改的校园卡不可能长期使用。
一般的校园一卡通应用系统,都集成了数据自动清算功能,一旦消费数据上传到中心数据库,系统将自动进行清算。根据清算结果,发现异常卡,并将异常校园卡打入黑名单,发送到消费终端,限制其再次消费。
另外一点,如果要实施对校园卡的破译,并达到可操作的程度,需具备如下条件:
相当高的技术水平,不是一般的黑客和技术人员能做到的。
相当的设备成本,并非目前一般读写设备所能完成的。
相当的时间成本。
同时要达到对具体的系统完全有效,还需要对校园一卡通系统有关的技术细节做比较深入的分析和了解。
我们说,一个完善和完备的校园一卡通系统的安全性并不完全依赖于卡片,卡片只是整个系统中的一个环节。校园一卡通系统内部有一些特别的监控和防范措施,能有效监控和捕获系统外卡及卡金额异常等情况,有效提高整个系统的安全性。
我们认为最不安全的因素是忽视了M1卡的缺陷,有的甚至延用了原始密钥方法,没有去研发自己的安全密钥体系。
所以说,M1卡破译后,通过提高安全意识并进行技术改造,这样校园一卡通系统的安全就不如我们想象的那么可怕了。校园一卡通系统中的安全防范措施、技术和管理手段能提高系统的安全性,保证校园一卡通系统安全稳定地运行。
破译后的应对策略
在介绍应对策略之前,先介绍一下M1卡破译后业界的响应方案。RFID读取器厂商费格电子声称他们有办法提高Mifare系统安全性。他们通过将卡的序列号和其储存的数据进行连接,并用主程序加密数据,来提高克隆卡片的困难程度。这样一来,即使Mifare经典芯片的安全密钥被人知道了,数据也不是直接可读的。另一种方案来自NXP,即使用一个定制的密匙来给卡上储存的信息进行加密。每张卡将被加上惟一的密码。这种方法可以杜绝小偷破解一张卡后可以得到所有卡的密码,也就是我们常说的一卡一密。
为了确保校园一卡通系统安全稳定地运行,M1卡破译后,应采取积极的应对策略,主要从以下两个方面来考虑:技术手段和管理手段。
技术手段
1.门禁系统中采用指纹技术
M1卡被破译后,大多数门禁系统都将失去存在的意义。平时我们电影中看到不法分子复制一张卡,然后通过门禁,进入密室,只是觉得这是电影中的情景。现在看来,如果没有相应的防范措施,M1卡被破译后,很容易就能变成现实。在校园一卡通系统中,对于门禁,以前的做法是仅仅使用门禁卡,授权的校园卡可以打开门禁。M1卡被破译后,这样一种方式就存在很大的风险。万一授权的校园卡被非法复制,门禁系统就将失去意义。所以,对现有的门禁系统要进行改造,可使用门禁卡加指纹的方式,还可考虑与监控系统的联动。通过这些辅助的措施,可大大提高门禁系统的安全性。
2.消费金额控制
在校园一卡通系统中,系统通过对每张卡每次和每日交易金额的限制,来达到控制异常卡的消费。消费限额控制有两级:次消费限额和日消费限额。通过两次消费限额控制,可以控制用户每次和每日的交易额。对于复制卡/修改卡,每次和每日的消费额也同样受到消费限额的限制。
3.关键数据加校验码
在校园一卡通系统中,卡内的关键数据,比如说钱包区,可采用加校验码的方式提高其安全性。如果关键数据被非法修改,将不能通过读卡设备校验,卡将被拒绝使用。
4.通过消费明细发现异常卡
在校园一卡通系统中,每个用户的每笔消费和充值记录都有惟一的流水号和相应的逻辑关系,系统通过比较这些逻辑关系是否相符,可以发现每一张在用的校园卡是否异常。如果不法分子复制了一张校园卡,并进行消费,势必将与正常校园卡的流水号发生冲突,从而比较容易发现异常卡。
另外,在校园一卡通系统中,中心数据库中都记录着每个用户的消费明细、消费总额,充值明细、充值总额和余额,通过自动分析账目平衡情况,可以及时发现异常卡片。如果不法分子复制并修改了一张校园卡,一来我们有校验码,非法修改不能通过读卡设备的校验;二来我们的系统账目就会失去平衡,从而就很容易发现异常卡。
一旦发现异常卡,有两种处理办法,一是在校园卡管理平台滚动显示,以便校园卡管理人员及时发现问题;另外,自动挂失该卡,并产生黑名单发放到各终端,从而捕获异常卡,有效防止非法卡在系统中使用。
5.采用“一卡一密”
在校园一卡通系统中,校园卡采用一卡一密,并且是一区一密,卡密钥与卡片惟一序列号有关,将会给非法复制或修改者带来很大的时间成本。
通常的加密算法是:由出厂密钥(12个“f”)产生用户单位不同的发行密钥,然后由发行密钥产生各单位用户密钥,单位内部各用户密钥一致。这种加密算法会造成如下情况的发生:破译了校园内的一张校园卡,就知道了所有的校园卡的密钥。
M1卡破译后,可采取如下做法:由出厂密钥(12个“f”)产生用户单位不同的发行密钥,然后由发行密钥产生各单位用户密钥,各单位用户密钥与每张校园卡的全球惟一的序列号、消费应用子密钥以及扇区标识有关,这样单位内各用户的校园卡密钥各不相同,如图1所示。
在加密过程中,校园卡的每个扇区有两个访问密钥:KEYA和KEYB。当使用一卡一密的算法时,计算KEYA或者KEYB时,DES算法要使用当前校园卡系统主密钥作为DES算法的KEY使用,DES的输入加密数据因子分别包括:消费应用子密钥、当前用户卡的惟一序列号、访问扇区的扇区标识(扇区编号)。
由上述算法可以看出,实现一卡一密的关键因素是对每张不同的卡进行卡访问密钥计算时,使用了一个与每张卡惟一对应的卡序列号;而实现每个扇区的密钥都不同的关键因素是把每张卡的惟一序列号和要访问的扇区号一起进行密钥分散,所以每张卡的扇区访问密钥都不一样,从而提高了校园卡的访问安全性,使校园卡破解的可能性大大减低。
正是由于在校园一卡通系统中,可采取上述一些技术上的安全措施,一旦发现非法复制校园卡或对校园卡进行修改,一方面系统可以主动发现非法卡而拒绝使用,另一方面也可以通过数据跟踪找到相应的非法卡,并查找相应的责任人,从而保证校园一卡通系统的整体安全。
管理手段
俗话说“三分技术,七分管理”。管理手段到位,更能有效地防范。可采取了如下一些有效的管理办法:
1.加强用户对校园卡中心的管理,特别是安全保密工作,对校园一卡通系统内各服务器、工作站的登录及数据库密码的保密管理。有些管理人员习惯性地将密码写成一个文本文件,然后保存在电脑中,这种方法非常不可取。
2.加强有关产品技术资料的管理,防止技术资料的泄密。
3.保证校园一卡通系统网络的畅通,使系统数据能及时上传,从而保证系统及时地处理数据,一旦出现问题,能够得以及时发现。
前面介绍的通过流水号和账目平衡的方法发现异常卡,如果非法复制或修改的校园卡是在脱机情况下使用的,系统就无法发现这些异常卡。所以,一定要保证校园一卡通系统网络的畅通,尽量不要脱机使用。
4.注意用卡环境,有效避免卡信息被人看到,防止卡的信息被复制。
5.不要一次充太多的钱,这样即使丢失校园卡也不会造成太大损失。
6.规定单笔消费额度和一个工作日的消费额,有效规避风险。
世界上没有任何一种技术是不能被破解的,正如世界上没有一个保险柜或金库的门是打不开的一样。M1卡破译后,虽然给我们带来了问题,但也警醒了我们。
M1卡破译后,采用安全系数更高和应用更多特性的CPU卡是最好的选择。但是,大批量升级应用系统和更换卡片既需要很大的成本,也需要比较高的技术,是一个浩大的工程。
现阶段来说,在应用系统上下功夫是比较切实的做法。我们认为M1卡被破译并不意味着其将退出历史舞台,而是给这个市场提出一个新的安全课题。对校园一卡通系统来说,M1卡的破译,让我们更专注内部的监控和防范措施,更专注于其二次开发所采用的应用系统技术是否安全,以提高校园一卡通系统的整体安全性。