本文以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、读卡器到电脑通讯安全
读写器到电脑之间的通讯,还可以采用鉴证及加密来实现数据保护。其实现与无线接口的三次认证类似,不再详述。以上所有不同的安全功能,都在技术基层上增加了本身的复杂性,相对的也增加了技术本身的抗破解能力。
密码管理系统
密码管理一般包括密码生成、密码分散、密码传递,下面的密码管理是建设部的密码管理的介绍。
密钥卡中新密钥的产生主要有两类方式:即直接在密钥卡中产生新密钥;在其它安全设备中产生新密钥,然后装载到密钥卡中。产生新密钥的数据,可以是码单、密钥种子等形式。码单实际上是密钥种子的一种形式,它将种子数据分成几部分,分别由不同的人控制,这样可以提高系统的安全性。
不同的应用密钥是根据加密算法进行分散运算取得的。经过从种子数据、到应用主密钥、地区分密钥、卡分散密钥等多层次逐级分散。密钥分散的目的,即使某个子密钥泄露了,那也不会威胁管理主密钥的安全,因为无法从子密钥和分散数据推导出主密钥,从而提高了系统的安全性,降低了安全风险和管理成本。
[page]
密码传输过程中,用传递密码来保护其安全性。
从密码管理系统的各环节不难看出,其管理复杂程序是很大的,而且主要依靠人或制度来管理。还要使用专用的加密机。例如商密管理条例规定,泄露商用密码技术秘密、非法攻击商用密码或者利用商用密码,从事危害国家的安全和利益的活动,情节严重,构成犯罪的,依法追究刑事责任。
密码管理方法除了建设部用的加密机来管理密码外,还有采用物理化的密码管理方法。只要实物管理好令牌(实物卡),就能保护好系统的安全性。
主令牌系统
该CPU卡应用方案,对每个合作伙伴发出的令牌都是全世界唯一的。所以,从每一个令牌所产生的所有子令牌,也是全世界唯一的。每一个令牌都可以生成256个子令牌,每个子令牌又可以生成256个子子令牌,依此类推,最多可生成12层深。这就是一个很大的主令牌系统,其结构如图2所示。
图2
·每一个子令牌可以编成3种不同功能的授权卡
·IAM卡:用作初始化授权卡(IAM+:可以限制发卡的数量);
·SAM卡:用作初始化应用系统;
·GAM卡:通用授权卡,可生成下一级的子令牌。
每一个生成出来的子令牌的权限都是可以控制的。
例如:这令牌能否再生成下一级的令牌;这令牌能否自我生成另一个同样的子令牌,这样整个令牌系统都在操控之中。
而且初始化卡片的令牌(IAM)和初始化读卡器的令牌(SAM)是分开两个不同的令牌,这可实现更高安全性。
卡中卡技术
在现有市场上的大部分非接触式技术,都是用逻辑加密技术,因绝大部份的非接卡本身不带CPU,所以加密的程序还是不及接触式的CPU卡。而且,非接触式的卡可以不停地被尝试去读和试,这是有利于黑客不停地去尝试破解。虽然接触式的CPU卡比较安全,而且内存量要比逻辑加密卡要大很多,但正常的损坏还是会发生。
这样,结合了CPU卡和非接触式卡的双界面卡,就产生了,如图3所示。
图3
[page]
因此,双界面技术,结合了射频技术和接触式技术的优势——内存大、灵活、非接触式以及安全性极高。
CPU卡是当今市场上较为安全的技术,CPU卡的安全性取决于CPU内的COS(Chip/Card Operating System)。
该方案的卡中卡技术简单来说,就是把该方案芯片内的安全基制,以软件的形式模拟灌入到CPU卡中。就好像在CPU卡的内存内,建立了一个数据保险库一样。它不仅在双界面卡的基本安全性上又增加了独有的高安全的保护功能,而且还有非接触式的灵活性。目前,该安全软件是建立在JavaCOS上,包括Jcop版本2.2以上和G&D的SmartCafé’Expert——目前世界上最安全及常用的COS。当然,该安全软件经过简单修改就可灌进不同的CPU卡和COS之上。另外,卡中卡方案还可以在第三方双界面卡中通过“软件”方法植入“LEGIC卡”的方案;如图4所示。
图4
方便实现“一卡通”
该方案中所有卡片均采用动态内存分配技术,并采用独有的密码管理方法—主令牌管理MTSC,提供了一个包括卡片安全管理,读写和密码管理的一体解决方案。只要是该方案合作伙伴提供的读写设备,都支持这个安全规则。从而保证了高安全性。
卡片内存(在CPU卡中称文件)具有如图5所示动态分配特征。
基于此,可以方便实现一卡通,也可分步实施。后面系统可以共享共用数据,并不影响已有系统的应用。
卡中卡技术将CPU卡应用的安全性与密码管理技术结合起来了,定将会使CPU卡应用推广注入新的动力。
CPU卡的COS与卡安全性
根据信息安全产品强制性认证实施规则--智能卡COS产品要求,所有COS产品必须通过安全认证才可商用。从而说明,安全性对评价COS的重要性。国内主要的COS有复旦FMCOS2.0、东信和平的东信COS3.0、捷德starChina、握奇TimeCOS等。
卡COS是基于通用安全加密方法,因此加密方法仍是卡片安全的基石。该方案卡中卡采用基于JAVA的JCOP或SmartCaféExpert,选用的COS均有GP认证,它广泛应用于电子证照等安全要求最好的领域。
目前,国际上智能卡的应用已经进入了高峰发展时期,国内智能卡的应用也如火如荼。智能卡广泛应用于金融、社保、市民公交卡等各个方面。随着技术的不断进步,CPU卡将成为应用的重点,不要盲目认为CPU卡有个COS就认为安全性没有问题了,而是要根据实际情况,合理部署相应COS及应用。
上一篇:电路板设计的革命性技术:并行设计法
下一篇:嵌入式红外信息检测与无线传输控制系统设计
推荐阅读最新更新时间:2024-03-31 00:04