浅谈数字签名技术的原理及应用
发布时间:2024-01-15 21:51:44 来源:文档文库
小
中
大
字号:
福建电脑 2010年第5期
浅谈数字签名技术的原理及应用
曲蕴慧 . 白新国2
(1、西安医学院公共课部计算机教研室陕西西安710021 2、西安西安工程大学计算机学院陕西西安710048)
【摘要】:文章从数字签名技术的概念与特点出发,分析了常见的几种数字签名技术的工作原理、特点及其实现算法。
最后对数字签名技术的发展方向及应用前景进行了探讨。
【关键词】:数字签名,信息安全,算法
数字签名的概念与特点 2.3基本算法
1.1概念 数字签名的算法很多,应用最为广泛的三种是:Hash签名、
所谓-.数字签名”就是附加在数据单元上的一些数据.或是 DSS签名和RSA签名 对数据单元所作的密码变换。这种数据或变换允许数据单元的 1、Hash签名
一
.
接收者用以确认数据单元的来源和数据单元的完整性并保护数 据,防止被人f例如接收者)进行伪造。基于公钥密码体制和私钥 密码体制都可以获得数字签名.目前主要是基于公钥密码体制 的数字签名。包括普通数字签名和特殊数字签名。”数字签名”是 目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作 性最强的一种电子签名方法。它采用了规范化的程序和科学化 的方法,用于鉴定签名人的身份以及对一项电子数据内容的认 可。它还能验证出文件的原文在传输过程中有无变动.确保传输 电子文件的完整性、真实性和不可抵赖性
Hash签名不属于强计算密集型算法,应用较广泛。它可以 降低服务器资源的消耗,减轻中央服务器的负荷。Hash的主要局 限是接收方必须持有用户密钥的副本以检验签名.因为双方都 知道生成签名的密钥,较容易攻破。存在伪造签名的可能。
2、DSS和RSA签名
DSS和RSA采用了公钥算法。不存在Hash的局限性。RSA 是最流行的一种加密标准.许多产品的内核中都有RSA的软件
和类库。早在Web飞速发展之前.RSA数据安全公司就负责数 字签名软件与Macintosh操作系统的集成,在Apple的协作软件
1.2特点 PowerTalk上还增加了签名拖放功能.用户只要把需要加密的数
数字签名是解决网络通信中特有安全问题的一种有效方 据拖到相应的图标上,就完成了电子形式的数字签名。与DSS 法,它能够实现电子文档的辨认和验证,在保证数锯的完整性、 私有性不可抵赖性方面起着极其重要的作用 为了实现网络环 境下的身份鉴别、数据完整性认证和抗否认的功能.数字签名应 满足以下要求:
(1)签名者发出签名的消息后就不能再否认自己所签发的 消息:
不同,RSA既可以用来加密数据,也可以用于身份认证。和Hash
签名相比.在公钥系统中.由于生成签名的密钥只存储于用户的 计算机中,安全系数大一些。 三.数字签名的实现 3.1用非对称加密算法和单向散列函数进行数字签名
(1)原理:此方法使用两个密钥(公开密钥和私有密钥)分别
(2)接收者能够确认或证实签名者的签名,但不能否认: 对数据进行加密和解密。如果用公开密钥对数据进行加密,只有 (3)任何人都不能伪造签名; 用对应的私有密钥才能进行解密:如果用私有密钥对数据进行 (4)第三方可以确认收发双方之间的消息传送,但不能伪造 加密,则只有用对应的公开密钥才能解密。 这一过程。这样当通信的双方关于签名的真伪发生争执时.可由 f2)签名和验证过程:①发送方首先用公开的单向散列函数 第三方来解决双方的争执 对报文进行~次变换.得到数字签名.然后利用私有密钥对数字 =.数字签名的原理及实现算法 签名进行加密后附在报文之后一同发出。②接收方用发送方的 2.1工作原理 公开密钥对数字签名进行解密变换,得到一个数字签名的明文。
数字签名采用了双重加密的方法来实现防伪、防赖。其原理 发送方的公钥是由一个可信赖的技术管理机构即验证机构f C 为: A)发布的。③接收方将得到的明文通过单向函数进行计算,同
(1)被发送文件用SHA编码加密产生128bit的数字摘要。 样得到一个数字签名。再将两个数字签名进行对比,如果相同, (2)发送方用自己的私用密钥对摘要再加密,这就形成了数 则证明签名有效.否则无效 字签名。 f3)特点:这种方法使任何拥有发送方公开密钥的人都可以
(3)将原文和加密的摘要同时传给对方。 验证数字签名的正确性。由于发送方私有密钥的保密性,使得接 (4)对方用发送方的公共密钥对摘要解密。同时对收到的文 收方既可以根据验证结果来拒收该报文.也能使其无法伪造报 件用SHA编码加密产生又一摘要 文签名及对报文进行修改。原因是数字签名是对整个报文进行
(5)将解密后的摘要和收到的文件在接收方重新加密产生 的.是一组代表报文特征的定长代码.同一个人对不同的报文将 的摘要相互对比。如两者一致。则说明传送过程中信息没有被破 产生不同的数字签名。这就解决了银行通过网络传送一张支票。 坏或篡改过。否则不然。 而接收方可能对支票数额进行改动的问题.也避免了发送方逃 2.2算法的基本要求 避责任的可能性
对于一个典型的数字签名体系而言.它必须包含两个个重 3.2用对称加密算法和仲裁者进行数字签名
f1)原理:此方法所用的加密密钥和解密密钥通常是相同 要的组成部分,即签名算法(Signature Algorithm)和验证算法
(Verification Algorithm)。
为了满足上述两点要求.数字签名体系必须满足两条基本 假设:A签名密钥是安全的。只有其拥有者才能使用:B使用签 名密钥是产生数字签名的唯一途径。
数字签名技术在具体工作时.首先发送方对信息施以数学 变换,所得的信息与原信息惟一对应:在接收方进行逆变换,得 到原始信息。只要数学变换方法优良,变换后的信息在传输中就 具有很强的安全性。很难被破译、篡改。这一个过程称为加密.对 应的反变换过程称为解密
的,即使不同也可以很容易地由其中的任意一个推导出另一个。 在此算法中,加、解密双方所用的密钥都要保守秘密。由于计算 速度快而广泛应用于对大量数据如文件的加密过程中.如RD4
和DES。
(2)签名和验证过程。仲裁者是可信的第三方T,他能同时 与发送方A和接收方B通信.而且他和发送方A共享一个密钥
K 1,和接收方B也共享另一个不同的密钥K2。①A用K l加 密他准备发送给B的消息,并把它传送给T。②T对消息进行
解密,和他收到A消息的声明,一起用K2加密,(下转第93页)