志在指尖
用双手敲打未来

数字签名技术(基本过程和原理)

数字签名技术

数字签名(也称为公钥数字签名)是一个数字字符串,只能由信息的发送者生成,他人不能伪造。这个数字串也是信息发送者发送的信息真实性的有效证明。它是一种验证数字信息的方法,类似于写在纸上的普通物理签名,但使用公钥加密领域的技术实现。一组数字签名通常定义两个互补的操作,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术和数字摘要技术的应用。
所谓数字签名,就是附加在数据单元上的一些数据,或者说是数据单元的密码变换。该数据或转换允许数据单元的接收者确认数据单元的来源和数据单元的完整性,并保护数据不被人(例如,接收者)伪造。它是一种以电子形式签署消息的方法,签署的消息可以通过通信网络传输。数字签名可以基于公钥密码系统和私钥密码系统获得,主要是基于公钥密码系统的数字签名。包括普通数字签名和特殊数字签名。常见的数字签名算法包括RSA、ElGamal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA、椭圆曲线数字签名算法和有限自动机数字签名算法。特殊数字签名包括盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,与具体应用环境密切相关。
2.数字签名技术
数字签名的特点:
1.消息识别:
接收者可以在消息上验证发送者的签名,确保消息是由发送者发送的,其他人不能伪造消息的签名。
2.消息的完整性:
接收方确信收到的数据与发送方发送的数据完全相同,没有被篡改。
3.不可否认:
发件人以后不能否认邮件的签名
数字签名技术大多基于散列摘要和非对称密钥加密系统。数字签名

数字签名技术基本过程和原理

1引言
为了确保数据传输的安全性,不得不采纳一系列的安全技能,如加密技能、数字签名、身份认证、密钥办理、防火墙、安全协议等。其间数字签名便是完结网上买卖安全的核心技能之一,它能够确保信息传输的保密性、数据交换的完整性、发送信息的不可否定性、买卖者身份的承认性等。
2数字签名的概念
数字签名在ISO7498—2规范中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的暗码改换,这种数据和改换答应数据单元的接纳者用以承认数据单元来历和数据单元的完整性,并维护数据,避免被人(例如接纳者)进行假造”。
数字签名要完结的功用是我们平常的手写签名要完结功用的扩展。平常在书面文件上签名的主要效果有两点,一是由于对自己的签名本人难以否定,从而承认了文件已被自己签署这一现实;二是由于自己的签名不易被他人仿照,从而承认了文件是真的这一现实。选用数字签名,也能完结这些功用:
(1)承认信息是由签名者发送的;
(2)承认信息自签名后到收到为止,未被修改正;
(3)签名者无法否定信息是由自己发送的。
数字签名的技能基础是公钥暗码技能,下面就先介绍公钥暗码技能的基本思维和RSA公钥暗码体系。
3公钥暗码技能
公钥暗码技能又称为非对称/Jn密技能。与之相对的是对称加密技能。对称加密技能是发送方和接纳方运用相同的密钥进行加密/解密,双方必须确保这个共同密钥的安全性。
其间加密改换运用的密钥和解密改换运用的密钥是完全相同的,此密钥必须以某种安全的办法告诉解密方。大家了解的DES加密规范便是一种对称加密技能。1976年,Diffie和Hellman在一篇名叫“NewDirectioninCryptography(暗码学的新方向)”一文中提出了一个新的思维,即:不只加密算法本身能够揭露,便是加密用的密钥本身也能够揭露。这便是公钥暗码体系。其间运用的密钥被分解为一对:一把公钥和一把私钥。只要私钥保密就能够了,公钥能够发到因特网(如网站的黄页)等揭露当地供他人查询和下载。
4数字签名的完结办法
建立在公钥暗码技能上的数字签名办法有许多,有RSA签名、DSA签名和椭圆曲线数字签名算法(ECDSA)等等。下面对RSA签名进行详细分析。
(1)发送方选用某种摘要算法从报文中生成一个128位的散列值(称为报文摘要);
(2)发送方用RSA算法和自己的私钥对这个散列值进行加密,产生一个摘要密文,这便是发送方的数字签名;
(3)将这个加密后的数字签名作为报文的附件和报文一起发送给接纳方:
(4)接纳方从接纳到的原始报文中选用相同的摘要算法计算出128位的散列值;
(5)报文的接纳方用RSA算法和发送方的公钥对报文附加的数字签名进行解密;
(6)假如两个散列值相同,那么接纳方就能承认报文是由发送方签名的。
最常用的摘要算法叫做MD5(MessageDigest5),它的作者R.L.
Rivest正是提出RSA公钥暗码体系中的R。MD5选用单向Hash函数将恣意长度的“字节串”改换成一个128位的散列值,而且它是一个不可逆的字符串改换算法,换言之,即便看到MD5的算法描绘和完结它的源代码,也无法将一个MD5的散列值改换回原始的字符串。这一个128位的散列值亦称为数字指纹,就像人的指纹相同,它就成为验证报文身份的“指纹”了。
数字签名是怎么完结与手写签名类同的功用的呢?假如报文在网络传输进程中被修改,接纳方收到此报文后,运用相同的摘要算法将计算出不同的报文摘要,这就确保了接纳方能够判别报文自签名后到收到为止,是否被修改正。假如发送方A想让接纳方误认为此报文是由发送方B签名发送的,由于发送方A不知道发送方B的私钥,所以接纳方用发送方B的公钥对发送方A加密的报文摘要进行解密时,也将得出不同的报文摘要,这就确保了接纳方能够判别报文是否是由指定的签名者发送。一起也能够看出,当两个散列值相一起,发送方B无法否定这个报文是他签名发送的。
在上述签名方案中,报文是以明文办法发生的。所以不具备保密功用。假如报文包含不能泄漏的信息,就需求先进行加密,然后再进行传送。具有保密机制的RSA签名的整个进程。
(1)发送方选择一个对称加密算法(比方DES)和一个对称密钥对报文进行加密;
(2)发送方用接纳方的公钥和RSA算法对第1步中的对称密钥进行加密,而且将加密后的对称密钥附加在密文中;
(3)发送方运用一个摘要算法从第2步的密文中得到报文摘要,然后用RSA算法和发送方的私钥对此报文摘要进行加密,这便是发送方的数字签名;
(4)将第3步得到的数字签名封装在第2步的密文后,并经过网络发送给接纳方;
(5)接纳方运用RSA算法和发送方的公钥对收到的数字签名进行解密,得到一个报文摘要;
(6)接纳方运用相同的摘要算法,从接纳到的报文密文中计算出一个报文摘要;
(7)假如第5步和第6步的报文摘要是相同的,就能够承认密文没有被篡改,而且是由指定的发送方签名发送的;
(8)接纳方运用RSA算法和接纳方的私钥解密出对称密钥;
(9)接纳方运用对称加密算法(比方DES)和对称密钥对密文解密,得到原始报文。
5数字签名在电子商务中的运用
下面用一个运用SET协议的例子来说明数字签名在电子商务中的效果。SET协议(SecureElectronicTransaction,安全电子买卖)是由VISA和MasterCard两大信用卡公司于1997年联合推出的规范。
SET主要针对用户、商家和银行之间经过信用卡支付的电子买卖类型而设计的,所以在下例中会出现三方:用户、网站和银行。对应的就有六把“钥匙”:用户公钥、用户私钥;网站公钥、网站私钥;银行公钥、银行私钥。
这个三方电子买卖的流程如下:
(1)用户将购物清单和用户银行账号和暗码进行数字签名提交给网站:
用户账号明文包含用户的银行账号和暗码。
(2)网站签名认证收到的购物清单:
(3)网站将网站申请密文和用户账号密文进行数字签名提交给银行:
网站申请明文包含购物清单金钱计算、网站账户和用户需付金额。
(4)银行签名认证收到的相应明文:
从上面的买卖进程可知,这个电子商务具有以下几个特点:
(1)网站无法得知用户的银行账号和暗码,只要银行能够看到用户的银行账号和暗码;
(2)银行无法从其他当地得到用户的银行账号和暗码的密文;
(3)由于数字签名技能的运用,从用户到网站到银行的数据,每一个发送端都无法否定;
(4)由于数字签名技能的运用,从用户到网站到银行的数据,均可确保未被篡改。
可见,这种办法已基本解决电子商务中三方进行安全买卖的要求,即便有“四方”、“五方”等更多方买卖,也能够按SET议类推完结。
6结语
数字签名还需求相关法令条文的支撑,所以需求引起立法机构对数字签名技能的注重,加速立法脚步,拟定相关法令,为数字签名技能提供法令上的支撑。

未经允许不得转载:IT技术网站 » 数字签名技术(基本过程和原理)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载