欧贤 张婧
摘 要 随着信息技术和网络的发展,电子商业交易成为了商务活动的新模式,然而由于网络自身固有的脆弱和中国的网络信息技术起步比较晚使网络安全存在很多潜在的威胁。数字签名是保证网上传输的数据的安全和交易对方的身份确认的关键技术。本文分析了数字签名的原理以及关键算法,并给出了实际应用。
关键词 数字签名 hash函数 https协议
中图分类号:TP309 文献标识码:A
0引言
随着信息技术和经济的发展,电子商务、网上银行等一些网络业务迅速兴起。信息时代虽然给予我们无限的商机和便利,但是隐藏了巨大的安全危险。如何保证网络信息的真实性和完整性,就是目前网络信息安全最关注的问题。数字签名技术是实现身份认证的重要手段。可见,数字签名的前景越来越广阔,具有一定的研究价值。
1数字签名的基本原理
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
其原理如图1所示:
(1)对原始消息的正文进行散列处理生成消息的摘要。
(2)使用消息发送人的私钥对摘要进行加密而得到数字签名。
(3)将数字签名添加到原始消息。
(4)将附有数字签名的消息传送给接收方。
(5)接收方对收到的原始消息正文进行散列处理得到一个新的摘要。
(6)接收方使用发送方的公钥对数字签名解密恢复出消息摘要。
(7)这两个摘要相互对比,如果相同,说明原文件是完整的,在传输过程中没有被破坏。
2数字签名与hash函数
哈希(Hash)函数在中文中有很多译名,有些人根据Hash的英文原意译为“散列函数”或“杂凑函数”,有些人干脆把它音译为“哈希函数”。
Hash算法是把任意长度的输入数据经过算法压缩,输出一个尺寸小了很多的固定长度的数据,即哈希值。哈希算法具有以下特质:
(1)你无法反向执行哈希算法来恢复出哪怕是一点儿最初的明文。
(2)得到的摘要不会告诉你任何关于最初明文的信息。
(3)创建/发现哈希值为某个特定值的明文,这在计算上是不可行的。
(4)这使得攻击者无法在替换文件的同时确保哈希值仍然匹配。
3数字签名的应用
数字证书是用来唯一确认安全电子商务交易双方身份的工具,由于它由证书管理中心做了数字签名,因此,任何第三方都无法修改证书的内容。
比如https协议,是基于HTTP协议的一种对传输数据加密的协议。可以将其简要分解为:HTTP+SSL。当数据经过TCP协议封装之后,SSL会对数据包进行进一步的加密和封装,然后让加密之后的数据包经过HTTP协议的进一步封装之后走在公共信道之上,加密之后的数据包能保证即使数据包被第三方截取之后也不能看到数据包里面的明文。其过程如下:
(1)客户端发起HTTPS请求。用户在浏览器里输入一个https网址,然后连接到server的443端口。
(2)服务端的配置。采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。
(3)传送证书。这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。
(4)客户端解析证书。这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等。
(5)传送加密信息。这部分传送的是用证书加密后的随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。
(6)服务端解密信息。服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密。
(7)传输加密后的信息。这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。
(8)客户端解密信息。客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容。
4总结
数字签名技术提高了网络交易的安全性,有助于经济的推广和发展,但如何让数据签名更具可靠性,保密性和安全性,还需要我们进一步去研究。
参考文献
[1] 张先红.数字签名原理及技术[M].机械工业出版社,2004.
[2] 戚文静,刘学.网络安全原理与应用[M].北京:中国水利水电出版社,2005.
[3] 张凤.浅谈数字签名[J].硅谷,2010(05).
[4] 王振武.数字签名技术研究[J].辽宁师范大学学报(自然科学版),2004(04).
[5] 李程.数字签名技术综述[J].电脑知识与技术,2009,4,5(10).
[6] 黄为.基于数字签名技术的Intranet信息安全[J].电脑知识与技术,2009,9,25(5).