日期:2023-01-24 阅读量:0次 所属栏目:应用电子技术
摘 要:当今Intranet 环境中的信息安全问题非常突出,而数字签名技术在保证数据的完整性、私有性和不可抵赖性方面起着极为重要的作用。结合工作实际经验,本文首先阐述了数字签名的基本概念,其次论述了数字签名的工作流程及其与加密技术的结合,最后介绍了数字签名技术在 Internet 上建立信息安全机制,可供同行参考。
关键词:数字签名;Internet ;Hash 签名;工作流程
前言:在网络环境下使用计算机,信息安全是一个非常突出的问题。数据加密是保护数据的最基本的方法。单纯数据加密技术只能防止非法用户获得真实数据,但不能解决否认或抵赖、伪造、篡改和冒充等安全问题。为了解决这类问题,产生了数字签名技术。数字签名包括加密、随机功能(指印或信息摘要)、数字化签字、经权威机构认可的证书(CA)。数字签名的算法很多,应用最为广泛的三种是:Hash 签名、DSS 签名、RSA 签名。
1 数字签名的基本概念
1.1 公钥密码体制
与单钥密码体制不同,公钥密码体制是一种非对称密码体制。使用公开密钥算法需要一对相互配套的密钥--公开密钥和秘密密钥。如果用公开密钥对数据进行加密,只有用对应的秘密密钥才能进行解密;如果用秘密密钥对数据进行加密,则只有用对应的公开密钥才能解密。在公钥密码体制中,首先接收方要公布他的公钥,发送方通过接收方所发布的公钥对所传输的明文进行加密,在接收端,接收方则通过与之配对的私钥对密文进行解密。因为这个私钥只有接收方才能知道,所以只有接收方才能够解密,这就保证了数据传输的安全性和可靠性。
1.2 数字摘要
数字摘要即对所要传输的报文用某种算法计算出最能体现这份报文特征的数来,一旦报文有变化,这个数就会随之而改变。数字摘要采用单向的Hash 函数,将需要加密的信息原文变换成128Bit 的密文,也叫数字指纹。不同的信息原文经过Hash 变换后所形成的密文是不同的,而相同的信息原文经Hash 变换而来的密文必定是相同的。因此,利用数字摘要,就可以验证经过网络传输的文件是否被篡改,从而保证了信息传输的完整性。
1.3 数字签名
对于所传输的报文,根据Hash 函数得到一个可以反映其特征的数字摘要,即数字指纹。报文发送方用自己的私钥对数字摘要进行加密,便形成发送方的数据签名,并把加密后的数字签名附加在要发送的原文后面发送给接收方。接收方对收到的报文根据同样的Hash 运算得到一个收文的数字摘要,再用发送方的公开密钥对报文附加的数字签名进行解密又得到报文原文的数字摘要,将收文数字摘要和原文数字摘要进行比较,两者相同的话,接收方就能确认该数字签名是发送方的。通过数字签名可以实现对原始报文的真实性和不可否认性。
1.4 数字信封
数字信封是用密码技术保证只有规定的收信人才能阅读信的内容。在网络上进行数据传输,信息发送方选择一个通信密钥对信息进行加密,再利用公钥加密算法对该通信密钥进行加密,那么被公钥加密算法加密的通信密钥部分就称之为数字信封。
发送方用接收方授予的公钥将这个通信密钥加密,然后传递给接收方,只有对应的接收方才有配套的私有密钥对其进行解密,而后得到通信密钥,利用这个通信密钥来对加密信息进行解密。这相当于把一把钥匙装在信封里给收件人,只有收件人才能打开这个信封,取出钥匙后再去开保险箱。而这个公钥加密算法在这里就相当于一个信封,故称之为数字信封。
2 数字签名的工作流程
数字签名是建立在公开密钥加密体制的基础上的,根据数字签名标准DSS,可分为以下几个步骤:(1)发送方选择合适的单向散列函数,产生报文的单向散列值。单向散列函数是一种根据数据报文计算出固定长度比特序列的方法。单向散列函数建立在压缩函数的想法上,它的安全性是它的单向性,常用的单向散列函数有MD5 和SHA 算法。MD5 以512 位分组处理输入文件,产生一个128 位散列值。SHS 规定了一种保证数字签名算法(DSA)安全所必须的安全散列算法(SHA)。当输入是长度小于264 位的消息时,SHA 产生160 位的消息摘要,然后将该摘要输入到用于计算该消息签名的DSA 中。由于是对散列而不是对文件进行签名,可大大改善处理效率。(2)发送方用自己的私人密钥对散列加密,即利用DSA 算法进行计算,产生数字签名。(3)将散列签名和报文一起发送给接收方。接收方用同样的单向散列函数(预先协商好的算法)产生报文的散列,然后用数字签名算法对散列进行运算,产生数字签名1,同时用公开密钥对签名的散列解密,产生数字签名2。若数字签名1=数字签名2,则签名得到验证。
3 数字签名技术与加密技术的结合
在实际应用中,如果信息是公开的,必须保证信息不被伪造(如:网页信息),则可利用数字签名技术来保证信息的完整性及不可伪造性。把公开密码学和数字签名结合起来,能够产生一个协议,这样可把签名的真实性和加密的安全性结合起来,先签名后加密,远比先加密后签名的安全性要高。
令发送方为Amy,接收方为Bob。PKA 和SKA 为Amy 的公共密钥和私有密钥,PKB 和SKB 为Bob 的公共密钥和私有密钥。签名过程如下:
(1) Amy 用DSA 算法和自己的私钥SKA 对消息M 计算,产生数字签名S;
(2)Amy 用Bob 的公共密钥PKB 对签名的消息(M+S)加密,然后发送给Bob:EPKB(M+S);
(3) Bob 用他的私钥SKB 才能解密,产生DSKB(EPKB(M+S))=M+S;
(4) Bob 用DSA 算法和Amy 的公钥PKA 对消息M 进行计算,产生一个数字签名X′,若X=X′,则签名有效。
4 Internet 上建立信息安全机制
SSL 通过使用公开密钥和对称密钥技术的有效结合达到信息的保密性,SSL 客户机和服务器之间的信息处理业务都采用在SSL握手过程中建立的密钥和算法进行加密,既有认证机构的保证,又实现了一次一密的随机加密,大大提高了加密强度,可有效地防止网络窃听。所采用的算法有DES、TripleDES、IDEA、RC2、RC4 等。
(1) SSL 支持认证机制,通信者的身份认证采用公开密钥系统,采用的算法有:RSA,DSS。(2)SSL 通信采用机密共享和Hash 函数组提供信息完整性服务,确保SSL 业务全部达到目的。SSL 通信还传送保证数据完整性的数据识别码(MAC Code),数据识别码采用MD5、SHA 算法。
利用SSL 技术对应用服务器和客户进行身份认证, 用加密技术对Web 服务器与用
户之间的传输数据加密。它包括用DES、RC4、IDEA 或专用密码算法进行传输加密,数据完整性校验和身份验证,安全的审计和记录等等,是整个安全管理和控制的前台。客户端为IE 浏览器,使用SSL 安全代理在浏览器和服务器端各设一个转接站,传输的数据先经过安全代理加解密后再进行传输。
5 结束语
综上所述,数字签名只是一种身份确认的方式,传统签名用手写识别,数字签名用密码确认,两者在交互中的作用并无区别。数字签名技术是信息安全领域的一项重要技术,是实现信息安全传输的重要手段之一,由于许多领域对数字签名技术提出了新的应用需求,在未来的信息领域中这一技术仍有着广阔的发展前景。
参考文献:
[1]张文丽.数字签名技术在信息安全中的应用[J].电脑学习,2008(5).
[2]曹雪虹,张宗橙. 信息论与编码[M]. 北京:清华大学出版社,2004:217-219. 本文链接:http://www.qk112.com/lwfw/jsjlw/yydzjs/232643.html