基于智能IC卡的网络数据安全保密系统
文章出处:http://www.nexussmartsolutions.com 作者: 人气: 发表时间:2012年03月04日
一、 系统组成
智能IC卡是一种内部具有存储和处理能力的集成电路卡。卡在响应外部激励时其本身能修改或建立数据。它由微处理器(MCU)、只读存储器(ROM)、随机存储器 (RAM)、电可擦除可编程存储器(EEPROM)、保密逻辑及输入输出单元组成。
智能IC卡实际上就是一个具有很高安全特性的单片机,它的操作系统称为COS,其主要功能是:
1、用户信息管理: 在EEPROM里管理和处理用户指定的文件。对文件系统的管理包括创建文件、选择文件、写文件、读文件和修改文件等
2、数据安全保护: 对文件系统中文件的读、写,都受预先定义的访问属性的保护。未经授权的文件读写操作不能进行。对文件的安全保护措施包括系统认证、PIN认证以及数据加密和解密。
3、卡和读卡器之间的通信管理: 卡的接收/发送给读卡器的信息具备了安全的防盗和防破坏能力。
智能IC卡网络数据安全保密系统是一个集智能IC卡技术、数据加密技术、数字签名技术以及计算机网络技术于一体的集成化系统。它充分利用了智能IC卡的安全特性,设计了多种安全保护措施,能够对应用系统中的网络数据进行最严密的保护。
智能IC卡网络数据安全保密系统由计算机网络数据库(应用系统)、读卡器、密钥卡、操作卡和卡操作接口组成。
1、 计算机网络数据库
计算机网络数据库是整个系统保护的对象。网络采用C/S结构。特殊数据库存放在网络中心的数据库服务器里,分布在各个地方的工作站可以向服务器请求数据查询、统计、更改和处理等服务。而在请求服务的同时,操作人员必须使用存有个人信息、访问权限的智能IC卡(定义为操作卡),服务器端经过对操作员的安全认证后,才能提供相应的服务。
2、 读卡器
智能IC卡读卡器是对IC卡进行读写操作的设备,它的基本功能是完成对卡的读写操作和进行数据处理。它可以是独立的设备,通过接口与计算机连接,也可以作为一个部件,嵌入到计算机系统中。它可以独立实现读写、显示、数据处理等功能,也可以与计算机或其它系统联合完成对卡的操作。把读卡器操作指令加载于应用系统程序中,即可实现主计算机对读卡器以及IC卡进行操作控制。
本系统设计的读卡器,其安全管理模块由可插拔的智能IC卡实现。这个卡定义为密钥卡,因为密钥卡中存储着系统的密钥。这样设计的特点是:读卡器的安全功能由密钥卡实现;保护密钥卡而达到保护读卡器的目的;只有在插入密钥卡的情况下,读卡器才能工作。
读卡器的其它组成部件包括卡座、通信接口、显示单元和按键及控制装置等。完成的任务主要有卡的认证、读写、信息处理存储、控制及通信等。
3、 密钥卡
密钥卡是本系统中安插在读卡器中的一个安全组件。它的第一个作用是对读卡器进行保护,是读卡器上的一个组成部分,读卡器上如果不插密钥卡,就不可能对卡进行操作;第二个作用是对操作卡进行合法性认证;第三个作用是记录操作卡的操作使用信息。
密钥卡内的公有文件包括:
STCF(安全测试控制文件) 描述本系统操作的安全保护文件。
ATR(复位应答文件) 对卡与外界通信进行描述,并指出卡的类型
SKF(密钥文件) 存放密钥文件
RSK(随机数文件) 存放随机数种子文件
4、 操作卡
操作卡保存有多种有关持卡人的基本信息。卡内除了设有与密钥卡公有文件相同的文件外,还设有以下几个文件:
基本信息文件 存储持卡人的基本信息。在发卡时,将持卡人信息记录在卡内。这些信息包括姓名、工作单位、卡号、卡编号、有效期限、操作权限和口令等。
操作记录文件:记录卡的使用操作情况。
权限控制文件:保存持卡人对数据或程序的操作权限。操作权限包括中心通卡、分中心通卡和站点卡
安全控制文件:保存卡的安全数据和定义卡的安全属性
5、 应用程序接口
本系统通过提供有限的卡操作命令实现与被保护的应用系统的连。这些命令包括选择文件、读卡、写卡、更改记录、更改口令和加密/解密等。
二、 系统的安全机制
1、 智能IC卡的安全特性
智能IC卡具有最严密的安全保密措施。它的安全性体现在从生产到销毁卡的整个生命周期中。
生产中的安全性:卡芯片是在非常严密的环境中生产的,生产中确保不会泄漏有关卡芯片的技术和工艺等资料。
传输中的安全性:卡从生产厂运输到销售商或开发商,最后到用户,整个运输过程中都用卡的传输密钥进行保护。卡在存放期间也使用同样的保护措施。
发行中的安全性:卡发行时写入发行者的密钥、特性描述以及持卡人的基本信息和个人认证码(PIN)
使用中的安全性:卡在使用的过程中要进行内部认证和外部认证,确保卡和读卡器都是合法的;还要进行PIN认证,以确保持卡人的合法性。
销毁中的安全性:智能IC卡可以多次发行使用,如果确定某张卡不再使用,要在安全的环境中将其销毁,以免外流被非法使用。
2、 系统的安全保护
系统认证:当应用系统启动时,系统向读卡器发出复位操作指令,通过读卡器对密钥卡上电,密钥卡以ART(answer to reset)的方式返回10个字节数字。这些字节是在密钥卡初始化时生成的,其中有3位标志位,依据密钥卡的类型写入不同的字母,系统会根据所接收的数据进行判断,确定密钥卡是否插在正确的位置并且是合法的。插入操作卡后,读卡器对它的操作主要由密钥卡进行。这个过程中,密钥卡首先判断有无操作卡插入,然后判断操作卡的标志位是否正确,最后判断操作卡的类型是否正确。系统认证确保所使用的操作卡和密钥卡是合法的,而且使用正确。
C/R认证:C/R认证是读卡器对操作卡的认证。当确认已经把操作卡正确地插入读卡器后,进行C/R认证。它是检查卡的合法性的一个过程。系统首先向密钥卡发出获得随机数命令,向它获取随机数,同时这些随机数在密钥卡中使用DES算法进行加密。系统得到随机数后,将它送到操作卡中加密,也使用DES算法,然后系统再将加密后的随机数送回密钥卡中与密钥卡中加密的随机数进行比较,如果两者相同,证明操作卡合法,密钥卡与用户卡匹配。反之,说明操作卡不合法。C/R认证能够进一步确保操作卡的合法性,拒绝非法操作卡的入侵,保证了系统的安全性。
PIN认证:C/R认证通过后,对操作卡的合法性没有怀疑。下一步进行PIN认证,首先持卡人从读卡器输入口令,然后由卡判别输入的口令是否和本身注册时的口令一致。如果一致,说明卡的使用者是合法的持卡人;否则,判定持卡人非法,拒绝对卡进一步的操作,同时给出提示,锁定应用系统,使操作者无法对应用系统进行操作,从而保护了应用系统的安全。
操作卡和密钥卡都需要通过PIN认证。每次开机时,使用密钥卡进行管理员PIN认证;每次操作时,使用操作卡只进行操作员PIN认证。
数据加密:由于所要保护的应用系统的数据都具有安全保密的要求,特别是在网络上传输数据时,如果不对数据进行加密,容易被第三方截获,会造成数据泄密或者非法篡改。所以在网络上传输的数据必须经过加密处理。本系统中使用的加密算法是DES。密钥分别保存在与每个站点以及服务器相连的读卡器密钥卡文件里。
支持数字签名技术:本系统支持数字签名技术。由于数字签名有不可伪造和不可否认的特性,因此在应用系统进行数据传输时,可以使用数字签名技术进行数据传递,在很大程度上提高系统的安全性和抗攻击能力。数字签名技术使用RSA算法。本系统在操作卡上设有密钥文件,保存持卡人的私钥、服务器端的公钥,在服务器上建立存放操作员公钥的数据库,用于实现数字签名。