当前位置:首页 > 智能卡多应用安全机制研究 - - 毕业设计论文 - 图文
智能卡多应用安全机制研究 这种签名方式要求仲裁人必须高度的完善和安全,而且得到所有人的信任。见图4-3所示:
在公钥密码学中,密钥是由公开密钥和私有密钥组成的密钥对。数字签名就是用私有密钥进行加密,接收方用公开秘钥进行解密。由于公开密钥不能推算出私有密钥,所有公开密钥不会损害私有密钥的安全;公开密钥无需保密,可以公开传播而私有密钥必须保密。因此,当某人用私有密钥加密信息,能够用他的公开密钥正确解密,就可肯定该消息是某人签名的,这就是数字签名的基本原理。因为其他人的公开秘钥不可能正确解密该加密过的消息,其他人也不可能拥有该人的私有密钥而制造出该加密的消息。
在基于非对称密钥算法的数字签名应用中,原始信息经过非对称密钥加密,进行数据的私有性保护。将消息摘要进行私钥签名,生成签名信息,附加在加密信息后一起发送到接收方。接收方进行签名校验和信息的解密,比较摘要。具体工作过程见下图4-4所示 原始信息 摘要运算 私钥解密 签名信息 加密 加密 信息 签名信息 摘要运算 结果比较 解密 原始信息 公钥解密 签名信息 图4-4 基于非对称密钥的数字签名
4.2 智能卡的通信安全与保密
智能卡的通信安全与保密和个人身份鉴别一样,也属于智能卡的逻辑安全
范畴。而且通信安全与保密也是智能卡的安全特性中最为重要的一方面,因为无论一张卡使用的目的是什么,它必须与别的设备(或者读写设备,或者银行主机??)进行通信。同时也由于智能卡自身已具备了存储及计算的能力,完全可以将它看作是一台袖珍型的计算机,因此它也在卡类系统中第一次提供了端到端的安全控制。
从安全的角度考虑,就是要针对常见的攻击手段采取适当的技术防范措施,
22
智能卡多应用安全机制研究 以求达到保证智能卡与外部设备进行信息交换的过程有效性与合法性的目的。具体而言,即是要保证该交换过程的完整性、有效性、真实性和保密性。这里,完整性是指智能卡及系统必须能检测出在它们之间交换的信息是否被修改了,无论这种修改是无意的还是蓄意的;有效性是指卡和系统能把真正合法的信息与非法人员所发的欺骗信息(这种信息可能是他在以前所截听到的一些合法的交易信息)正确区分开,既能保证合法交易的进程,又能防止可能的诈骗行为;真实性是指智能卡和系统都必须有一种确证能力,能够确证它们各自所收到的信息都确实是真正由真实对方发出的信息,而且自己所发出的信息也确实是被真正的对方所接收到了;保密性则是指利用密码技术对信息进行加密处理,而防止非授权者窃取所交换的信息。满足这四种特性的要求是保证一个信息交换过程安全性的最基本条件,缺一不可。
首先是对完整性的保证。为了保证所交换的信息内容不被非法修改,对之进行鉴别是非常重要的,这种鉴别称为对报文内容的鉴别。一般方法是在所交换的信息报文内加入一个报头或报尾,称其为鉴别码。这个鉴别码是通过对报文进行的某种运算而得到的,它与报文的内容密切相关,报文的正确与否可以通过这个鉴别码来检验。鉴别码由报文发送方计算产生,并和报文一起经加密后提供给接收方,接收方在收到报文后,首先对之解密得到明文,然后用约定的算法计算出解密报文(明文)的鉴别码,再与收到报文中的鉴别码相比较,如果相等,则认为报文是正确的;否则就认为该报文在传输过程中已被修改过,接收方可以采取相应的措施,如拒绝接收或者报警等。在鉴别过程中,鉴别算法的设计是至关重要的,最简单的算法是计算累加和,即把所传输报文中的所有位全加起来作为该报文的鉴别码。比较理想的鉴别算法一般是与密码学相联系的。鉴别过程就取决于鉴别算法的密钥管理的安全性。目前常用的DES算法产生鉴别码。 关于信息交换过程的有效性,主要是为了防止对曾经发送过的或存储过的信息的再利用。例如在某次交易过程中的一条真实信息(假设是某人从银行账号内提取了一笔钱款),如果这一消息被非法截听者记录下来,他就可能一遍遍的从发该消息,如果不能进行报文的有效性的验证,那么该人银行账号内的存款将很快就被提光。由此可见,有效性本质上是对报文时间性的鉴别,即它必须能保证所传送的消息每一条都是唯一的,任何随后产生的重复消息都应当被认为是非法的。实现这种报文时间性鉴别的方法有很多种,常用的方法是每条消息在发送时都附加一个发送当时的日期和时间;或者可以在发送消息中加入一个记录消息个数的数;还可以在报文中加入一个随机数。总之,实现报文时间性鉴别的方法可以归为两大类:第一种方法是收发方预先约定一个时间变量,然后用它作为初始化向量对所发送的报文加密;第二种方法也是由收发双方预先约定一个时间变
23
智能卡多应用安全机制研究 量,然后在发送的每份报文中插入该时间变量,从而来保证报文的唯一性。采用这些时间性鉴别的方法,显然还能防止在传送过程中可能发生的对信息组顺序的改变。
至于真实性,指的是对报文发送方和接收方的鉴别,即对话的双方彼此都要对对方的真实性进行验证,这种验证称为“双向鉴别”。智能卡和主机之间的相互鉴别是消息认证和电子签名的基础,在智能卡技术中占有很重要的地位。
在完成双向鉴别之后,为了保证传输过程中信息的安全性,对每条信息也应该进行报文源的鉴别,否则将无法确定一个具体报文的发送者。例如,某非法截听者截收了一条由智能卡发往读写设备的报文,过后的某个时候,又把它插入到通信线路中,并改向传送给智能卡。这样,智能卡就将无法正确判断出该报文是否真是由接收设备所发送。为了解决这样的问题,一是可以在报文中加上发送者的标识号,另外也可以直接通过报文加密实现。方法如下:在智能卡与接收设备的通信过程中采用两个不同的密钥,智能卡所发送的信息用一个密钥加密,并在接收端用同样的密钥解密还原;而接收端则使用另一密钥加密它所发送的信息,然后再送给智能卡,由智能卡用相同的密钥还原信息。这样,只要双方都能正确还原出来对应的信息就可以证明所接收报文的真实性。
然后是交换过程中的保密性问题。在这方面主要利用密码技术对信息进行加密处理,以掩盖这是信息,使之成为不可理解,达到保密的目的。由于加密、解密是通信安全中最常用的密码技术,也是通信安全的基础之一,其地位极其重要,故在下章中专门进行讨论。
4.3 智能卡多应用的安全原理
4.3.1多应用智能卡系统安全模块
(1)卡操作系统模块:本模块主要是负责存储器的管理以及I/0通信等硬件相关的功能,并同时完成对上层程序的管理。卡操作系统负责为上层程序提供标准API,因此上层的程序并不需要直接操作硬件,从而实现应用和硬件的隔离以及应用和系统的分离。
(2)多文件系统模块:现在的智能卡主要是以文件系统的逻辑形式去维护数据,基于兼容性的考虑,本模型的数据存储是采用文件系统结构,并将单文件系统改为多文件系统。多文件系的统逻辑结构由不同行业自己专有文件系统和基本文件系统组成,每个文件系统的结构和单文件系统的结构相同。而且不同文件系统都有各自的根节点并且互不隶属。基本文件系统主要包含该卡的公共信息以及
24
智能卡多应用安全机制研究 基本文件系统自身的PIN 码和密钥,同时并保存卡上应用的注册信息。注册信息在创建应用时也写入基本文件系统的注册文件,是用来为终端提供应用选择的入口。行业专有文件系统负责保存各自的行业数据、密钥以及PIN 码信息。为了加大安全,多文件系统同时需要满足:所有的文件系统均可以共享基本文件系统的内容,但不同的文件系统之际严格透明也不能相互访问;文件系统的安全访问策略一致,但PIN码和密钥严格独立。
(3)基本处理逻辑模块:基于文件系统结构一致性考虑,将文件系统访问APDU命令接口规范化,进而实现统一的基本处理逻辑模块。它由3个子模块组成。其中文件服务模块负责完成不同行业通过标准APDU命令申请的文件服务。PIN 管理模块主要提供基本的PIN服务,完成基于密码的用户身份认证逻辑。密码服务模块负责密钥管理、基本加密算法服务以及基于密码的基本认证协议(外部实体认证卡内应用,卡内应用认证卡外实体)和通信信道数据加密服务。PIN 管理和密码服务模块是智能卡安全的核心。密码算法的选取要考虑智能卡硬件资源限制。不同应用共享文件处理逻辑模块并不会降低系统的安全性,因为系统安全性依赖于文件系统的独立和PIN密码、密钥的独立保密性,也就是不取决于处理流程的保密,而取决于数据的独立和密码的保密性。
(4)行业专有处理逻辑模块:不同行业服务会要求处理特殊的APDU命令,因此能在卡上动态的添加行业专有逻辑可提高系统的通用性。为了保证不同行业
25
行业1专有处理逻辑 行业2专有处理逻辑 基本处理逻辑 文件服务 PIN管理 密码服务 多文件系统 多文件系统 基本文件系统 行业1基本文件系统 行业1文件文件系统 系统 文件系统注册表 卡操作系统 卡操作系统 行业2行业2文件文件系统 系统 图4-5 多应用智能卡系统模型
共分享92篇相关文档