来源:网络 作者:中国一卡通网 收编 发布时间:2010-06-08 15:55:34 字体:[大 中 小]
摘 要:本文以LEGIC的CPU卡应用方案——“卡中卡”为例,对CPU卡应用中的加密算法进行了综合性介绍,指出基于通用加密方法的CPU系统的安全 性也存在一定的安全隐患。建议CPU卡应用时选用通过安全认证(GP,EAL+),最好是采用AES加密方法的CPU卡技术;在COS的选择上,最好采用 具有通讯安全认证的系统,以及最好采用JAVA基础的COS,如JCOP等。
本文以LEGIC的CPU卡应用方案——“卡中卡”为例,对CPU卡应用中的加密算法进行了综合性介绍,指出基于通用加密方法的CPU系统的安全 性也存在一定的安全隐患。建议CPU卡应用时选用通过安全认证(GP,EAL+),最好是采用AES加密方法的CPU卡技术;在COS的选择上,最好采用 具有通讯安全认证的系统,以及最好采用JAVA基础的COS,如JCOP等。
端到端的安全性
在整个读卡的过程中,LEGIC提供的CPU卡应用方案,不单从最前端的卡片上为数据保密,到最终把读取的数据从读卡器发出去的过程中,都有非常严密的保护。图1是卡片到数据在空中的传输,到读卡器收集数据,到读卡器把数据传输的一个点对点的数据安全示意图。
图1
1、卡片内的数据保护
该CPU卡独有的MTSC(主令牌系统)是一个密钥管理系统。而每个令牌内都存有一个密钥基因。保护数据的密钥是由密钥基因加上卡 片的UID号,通过运算程式,在卡片初始化的过程中而产生的。所以卡片经过初始化后,就建立了“一卡一密”和“一扇一密”来保护扇段内的数据。采用的加密 方法,除了通用的DES、3DES、SHA-1之外,也有新的CPU卡应用中采用AES加密方法。由于系统提供的读头及CPU卡上应用程序,并支持在线更 新,安全保障有了保证。
系统不单对卡片内的数据作出保护,如应用需要的话,就连公开的序列号(UID)也可以进行加密保护。这样就可保证UID的唯一性,也同时增强安全性。
系统虽然应用了多样化密钥(DiversifyKey)的概念去保护卡内的数据,但每一种芯片卡的密钥运算程式都不一样。这对“黑 客”而言,破解一种芯片的密钥运算方法,不代表同时把其他种类的芯片一起解破,实际上,他又要从头开始。除了传统高安全的逻辑加密技术之外,写在CPU卡 内的数据不单只靠COS的密钥保护,同时也保护自己的数据,这样不只更安全,而且不会和其他应用发生冲突,这也是CPU卡应用上的独到之处。
2、读卡器和卡片之间的数据传输
所有读卡器和卡片在通讯开始时,都会通过一个鉴证程序来确保在读卡器前面的卡片是不是一张真正的CPU卡片,而非“克隆卡”。这样做的好处是,可以防止有人尝试盗取空中传输数据的企图。
读卡器和卡片之间的通讯是绝对不会把保护数据的密钥在空中传输,这是为了确保密钥的安全性。
所有数据的传输都可选用自有的加密方法,也可以选用市场上通用的DES、3DES或AES(只在AFS4096上实现)的加密方法。这样做的好处是,即使数据在传输中被盗取,也无法解开数据本身的内容。
所有数据的传输都可以加验证功能(CRCCheck),这样也确保了数据传输的稳定性以及可靠性。
3、读卡器的安全性
CPU卡的读卡器都有自动消除令牌功能,以配合读卡器一经非法打开,存储的令牌将自动消除。这相对用PSAM卡储存密钥要安全得多。因为万 一坐卡器或POS终端被盗,PSAM卡也会一起被盗。现时的PSAM卡技术和对应的DES算法被广泛应用,但它的安全性一直存在争论。其一,DES作为 lucifer算法的改进版本,但却从lucifer算法的密码长度128位,变成了56位。56位的密码应该不足以抵御穷举攻击。其二,DES内部结构 中至关重要的S盒的设计标准是保密的,无法确信真是安全。而密码相关信息存于芯片内部,安全性更好。
CPU卡的读卡器需接受相关令牌的授权才可对相关的卡片作出读写操作,无需进行密码的传递。授权卡是实物形式,可以授权及取回,从而减少管理风险。
4、读卡器到电脑通讯安全
读写器到电脑之间的通讯,还可以采用鉴证及加密来实现数据保护。其实现与无线接口的三次认证类似,不再详述。以上所有不同的安全功能,都在技术基层上增加了本身的复杂性,相对的也增加了技术本身的抗破解能力。
密码管理系统
密码管理一般包括密码生成、密码分散、密码传递,下面的密码管理是建设部的密码管理的介绍。
密钥卡中新密钥的产生主要有两类方式:即直接在密钥卡中产生新密钥;在其它安全设备中产生新密钥,然后装载到密钥卡中。产生新密钥 的数据,可以是码单、密钥种子等形式。码单实际上是密钥种子的一种形式,它将种子数据分成几部分,分别由不同的人控制,这样可以提高系统的安全性。
不同的应用密钥是根据加密算法进行分散运算取得的。经过从种子数据、到应用主密钥、地区分密钥、卡分散密钥等多层次逐级分散。 密钥分散的目的,即使某个子密钥泄露了,那也不会威胁管理主密钥的安全,因为无法从子密钥和分散数据推导出主密钥,从而提高了系统的安全性,降低了安全风 险和管理成本。
密码传输过程中,用传递密码来保护其安全性。
从密码管理系统的各环节不难看出,其管理复杂程序是很大的,而且主要依靠人或制度来管理。还要使用专用的加密机。例如商密管理条例 规定,泄露商用密码技术秘密、非法攻击商用密码或者利用商用密码,从事危害国家的安全和利益的活动,情节严重,构成犯罪的,依法追究刑事责任。
密码管理方法除了建设部用的加密机来管理密码外,还有采用物理化的密码管理方法。只要实物管理好令牌(实物卡),就能保护好系统的安全性。
主令牌系统
该CPU卡应用方案,对每个合作伙伴发出的令牌都是全世界唯一的。所以,从每一个令牌所产生的所有子令牌,也是全世界唯一的。每一 个令牌都可以生成256个子令牌,每个子令牌又可以生成256个子子令牌,依此类推,最多可生成12层深。这就是一个很大的主令牌系统,其结构如图2所 示。
图2
每一个子令牌可以编成3种不同功能的授权卡
IAM卡:用作初始化授权卡(IAM+:可以限制发卡的数量);
SAM卡:用作初始化应用系统;
GAM卡:通用授权卡,可生成下一级的子令牌。
2、每一个生成出来的子令牌的权限都是可以控制的
例如:这令牌能否再生成下一级的令牌;这令牌能否自我生成另一个同样的子令牌,这样整个令牌系统都在操控之中。
而且初始化卡片的令牌(IAM)和初始化读卡器的令牌(SAM)是分开两个不同的令牌,这可实现更高安全性。
卡中卡技术
在现有市场上的大部分非接触式技术,都是用逻辑加密技术,因绝大部份的非接卡本身不带CPU,所以加密的程序还是不及接触式的 CPU卡。而且,非接触式的卡可以不停地被尝试去读和试,这是有利于黑客不停地去尝试破解。虽然接触式的CPU卡比较安全,而且内存量要比逻辑加密卡要大 很多,但正常的损坏还是会发生。
这样,结合了CPU卡和非接触式卡的双界面卡,就产生了,如图3所示。
图3
因此,双界面技术,结合了射频技术和接触式技术的优势——内存大、灵活、非接触式以及安全性极高。
推荐文章
论坛热帖