来源:中国一卡通网 作者:冯清枝 王志群 发布时间:2009-08-05 11:45:47 字体:[大 中 小]
摘 要:本文在简要地介绍智能卡的结构和原理的基础上,从安全防范的角度出发,深入地讨论了智能卡的安全机制、加密算法以及防范策略等。
0 引言
伴随信息识别技术的发展和社会对信息安全要求的日益提高,作为一种新型的信息存储媒体,智能卡应运而生。智能卡的研制和应用涉及微电子技术、计算机技术和信息安全技术等学科,其广泛应用于行业管理、网络通讯、医疗卫生、社会保险、公用事业、金融证券以及电子商务等方面,极大地提高了人们生活和工作的现代化程度,已经成为衡量一个国家科技发展水平的标志之一。智能卡是将具有存储、加密及数据处理能力的集成电路芯片镶嵌于塑料基片上制成的卡片,具有暂时或永久的数据存储能力,数据内容可供内部处理、判断或外部读取;具有逻辑和数学运算处理能力,用于芯片本身的处理需求以及识别、响应外部提供的信息,其外形与普通磁卡制成的信用卡十分相似,只是略厚一些。智能卡的硬件主要包括微处理器和存储器两部分,逻辑结构如图1 所示。
智能卡内部的微处理器一般采用8 位字长的中央处理器,当然更高位的微处理器也正在开始应用。微处理器的主要功能是接受外部设备发送的命令,对其进行分析后,根据需要控制对存储器的访问。访问时,微处理器向存储器提供要访问的数据单元地址和必要的参数,存储器则根据地址将对应的数据传输给微处理器,最后由微处理器对这些数据进行处理操作。此外,智能卡进行的各种运算(如加密运算) 也是由微处理器完成的。而控制和实现上述过程的是智能卡的操作系统COS。卡内的存储器容量一般都不是很大, 存储器通常是由只读存储器ROM、随机存储器RAM 和电擦除可编程存储器EEPROM组成。其中,ROM 中固化的是操作系统代码,其容量取决于所采用的微处理器;RAM 用于存放操作数据,容量通常不超过1KB ; EEPROM中则存储了智能卡的各种信息,如加密数据和应用文件等,容量通常介于2KB 到32KB 之间,这部分存储资源可供用户开发利用。
图1 智能卡的硬件结构
1 智能卡的安全机制
智能卡的优势主要体现在广阔的存储空间和可靠的安全机制等方面。其中安全机制可以归纳为:认证操作、存取权限控制和数据加密三个方面。
1.1.1 认证操作
认证操作包括持卡人的认证、卡的认证和终端的认证三个方面。持卡人的认证一般采用提交密码的方法,也就是由持卡人通过输入设备输入只有本人知晓的特殊字符串,然后由操作系统对其进行核对。卡的认证和终端的认证多采用某种加密算法,被认证方用事先约定的密码对随机数进行加密,由认证方解密后进行核对。
1.1.2 存取权限控制
存取权限控制主要是对涉及被保护存储区的操作进行权限限制,包括对用户资格、权限加以审查和限制,防止非法用户存取数据或合法用户越权存取数据等。每个被保护存储区都设置有读、写、擦除的操作存取权限值,当用户对存储区进行操作时,操作系统会对操作的合法性进行检验。如果允许本项操作,则用户正常进行操作;反之,如果本项操作受到限制,则要求用户提供相关参数。当用户不能提供正确的参数时,则此项操作被中止。
在智能卡系统中,信息存储的组织方式为文件形式。每一文件都有一个文件头,文件头的主要内容包括文件标志码、文件长度、文件起始地址、文件层次隶属和存取权限值等信息,其中存取权限值表明此文件所支持的操作。
在实际应用中,所有智能卡与读卡器等终端设备之间的传送信息都是经过加密处理的,以避免通信线路上的窃取和篡改。目前广泛流行的加密算法有对称加密算法、非对称加密算法等。理论证明,当对称加密算法采用的密钥长度为64 位时,如果对加密算法进行密钥搜索破译,采用一般的处理器,需要耗费数万年的时间;而要缩短时间,则需要耗费巨大的财力和物力。同时,为了确保安全,人们还对密钥采取了限制试探次数的方法,如果在给定次数的密钥输入过程中未能输入正确的密码,那么卡将进入死锁状态,不响应任何的用户操作,只有发行商才能恢复,这样可防止非法用户采用穷举法或猜测法试探出密码。
2 数据加密技术
加密技术是为了提高信息系统和通讯数据的安全性及保密性,防止秘密数据被外部破析而采取的技术手段。随着信息技术的发展,信息安全日益引起人们的关注。目前各国除了在法律上、管理上加强数据信息的安全保护以外,在技术上也从硬件和软件两个方面采取措施,推动物理防范技术和数据加密技术的不断发展。数据加密技术按照密钥的公开与否可以分为对称加密(DES) 算法和不对称加密(RSA) 算法两种。
在对称加密算法中,加密密钥和解密密钥是相同的,为了安全起见,密钥要定期地改变。对称加密算法速度快,所以广泛应用于处理大量数据信息的场合,其技术关键是保证密钥的安全。对称加密系统是迄今为止应用最广泛、最安全的加密系统,也是传统的分组密码学的典型代表。在对称加密算法设计中,人们采用散布和混乱两种技术来隐蔽信息,选取置换、移位和模2 加运算等来构成算法的基本单元,因而加密算法可以在任何普通计算机上实现。对称加密算法最引人注目的地方是它的算法和数据完全公开,以DES 算法的特点,理论上采用穷举法肯定可以找到所用的密钥,但是,以目前的计算机处理速度和费用还是无法做到的。此外,DES 发表近20 年来,无数专业人员已经对DES 的安全性做了大量的研究工作,迄今为止,还没有人确信它是可以攻破的。但是,DES 的一个令人担忧的问题是:传输密钥时容易被截获,从而对安全性构成威胁。
在不对称加密算法中,分别存在公钥和私钥,公钥公开,私钥保密。公钥和私钥具有一一对应的关系,用公钥加密的数据只有用私钥才能解开,其效率低于对称加密算法。数据发送方采用自己的私钥加密数据,接受方用发送方的公钥解密,由于私钥和公钥之间的严格对应性,使用其中一个密钥只能用另一个密钥来解密,从而保证了发送方不能抵赖发送过数据,完全模拟了现实生活中的签名。非对称加密算法是从一个著名的数学难题中产生的,即求两个大素数的乘积容易,而分解两个大素数的乘积困难,它属于NPI 类问题,至今还没有有效的解法。
RSA 算法本身在概念上很简单,它将明文作为数字处理,并进行特定的指数运算,加密、解密可以按照任意次序进行,并且多个加密、解密可以相互交换,这些特性使它成为一个非常理想的算法。但是,使用此算法对200 位十进制数和以200 位十进制数为指数的大数值数据进行运算时,普通计算机是很难胜任的,因此,RSA 的应用还极少见。尽管如此,它的更为可靠、有效的安全性为数据加密技术提供了发展的基础。
对持卡人、卡和终端设备之间的相互认证以及数据的加密均可采用上述两种加密算法中的一种。
3 智能卡的防范策略
尽管智能卡具有更大的信息存储容量和更高的信息安全性,但是某些行为人出于政治狂热、经济利益,或是智力挑战等目的,会采取多种方式对智能卡安全系统实施内部攻击或外部攻击。这些攻击可以表现为:持卡人可能尝试那些系统没有赋予他们权限的行为,或者使用设计者忽略的程序;恶意的或者缺少诚信的持卡人通过破析加密算法,获取和分析系统存储的信息以牟取暴利;智能卡发行部门的雇员或方案操作人员伺机复制、分析或盗取数据和硬件,或者对与他们有关系的人员给予特殊的权利和利益;伪卡犯罪团伙可能采用分析系统的办法获得权利,或者使用计算机系统建立虚假帐户或进行虚假交易;狂热的黑客热衷于破坏系统,这是所有攻击中最危险的攻击,但是,只有政府或国家金融系统可能会遭受这种攻击。只要动机足够强烈,加之足够的资源和时间,总是有攻击成功的机会,甚至最好的加密系统也会遭受“碰大运”式的冒险攻击,从而给智能卡系统的经营者和用户带来巨大损失。
为了进一步提高智能卡对各种攻击的抵御能力,需要采取以下策略来保证它的安全性:
(1) 在制造智能卡和卡芯时,必须着重强调制造过程的安全性。工厂的物理安全需要仔细地控制。制造商的身份号和序列号应当写入一次性可编程存储器中,用以锁存数据。此外,在离开生产车间时,需要对智能卡进行测试,测试合格后加注安全注册标识。
(2) 智能卡系统的安全性还体现在软件设计上。应当对照现有的国际标准和国内标准,规范制定智能卡软件安全规范;充分地分析和利用开发平台的安全特征,建立功能齐全的智能卡安全功能模块库,构造高效的智能卡安全集成系统,以满足高安全性要求的应用需求,对信息安全提供多方面的保护。软件系统的安全机制包括:引入安全管理员的机制,负责网络安全管理,并与系统管理员协同进行资源访问的管理;采用高强度的加密算法和一次一密的口令,保障通信传输的安全;提供数字签名的功能,检验数据的完整性,确保不可抵赖性;添加审计监控的功能,对非法访问行为给以预警告示。
(3) 数据安全是建立在密钥安全的基础上。密钥管理是保证数据安全的重要手段,密钥管理包括密钥生成和密钥发送两个环节。先进的密钥管理系统应当安全地产生智能卡读写及认证操作所需的各种密钥,并确保密钥生成与发送过程中的安全性和一致性,实现集中式的密钥管理。同时还必须配以严格的管理规章制度。
(4) 生物识别技术是利用人的生理特征和行为特征,如颜面、指纹、声纹、虹膜扫描和动力学签名等来识别个人的身份,是目前最为方便和安全的个人识别技术。生物识别技术包括特征提取、模型训练和模式识别等环节,在智能卡中存入用户的特征模式能够极大地提高其安全性,当对智能卡进行认证时,计算机能够精确地测定持卡人和卡上存储模式的匹配程度,从而有效地增强了智能卡的防伪能力。
(文/中国刑警学院刑事科学技术系,冯清枝 王志群)
推荐文章
论坛热帖