第5章数字签名技术第5章数字签名技术5.1数字签名概述5.2数字签名原理5.3数字签名的技术实现方法5.4几种常用的数字签名技术5.5数字签名的应用实例实训六数字签名技术在Foxmail邮件中的应用第5章数字签名技术5.1数字签名概述5.1.1什么是数字签名(DigitalSignature)在电子文件上,传统的手写签名和盖章是无法进行的,这就必须依靠相应技术手段来替代。能够在电子文件中识别双方交易人的真实身份,保证交易的安全性、真实性以及不可抵赖性,起到与手写签名或者盖章同等作用的电子技术手段,称为电子签名。实现电子签名的技术手段有很多种,目前比较成熟的技术是“数字签名”。目前提到电子签名,一般都是指“数字签名”。数字签名是一个基于密码学的概念,它采用特定的技术手段,对数据电文打上特定的标记信息,此标记信息作为数据电文的发送人的标志,并且表明发送人认可该数据电文的内容。第5章数字签名技术5.1.2数字签名的作用数字签名机制作为保障网络信息安全的手段之一,可以解决伪造、抵赖、冒充和篡改等问题。(1)防冒充(防伪造):其他人不能伪造对消息的签名,因为私钥只有签名者自己知道。防止接收方伪造一份报文,声称来自于发送方。(2)可鉴别身份:因为私钥只有签名者自己知道,所以可鉴定签名者身份。(3)防篡改(保证信息的完整性):保证数据在传输过程中不被非法篡改。第5章数字签名技术(4)防抵赖(不可否认,保证数据有效性):数字签名可以鉴别身份,不可能冒充伪造,那么,只要保存好签名的报文,就好似保存好了手工签署的合同文本,也就是保留了证据,签名者就无法抵赖。以上是签名者不能抵赖,那如果接收者确已收到对方的签名报文,却抵赖没有收到呢?要防止接收者的抵赖,在数字签名体制中,要求接收者返回一个自己签名的表示收到的报文,给对方或者是第三方,或者引入第三方机制。如此操作,双方均不可抵赖。(5)防重放:在数字签名中,如果采用了对签名报文添加流水号、时戳等技术,可以防止重放攻击。第5章数字签名技术(6)机密性(保密性):数据在传输过程中,不被非授权者偷看,采用加密技术实现数据保密。由以上对比可知,数字签名比手工签字更具优越性。特别是在网络应用中,数字签名是进行身份鉴别与网上安全交易的通用实施技术。当然,网络环境还有很多其他威胁,要由其他专门技术解决,如防火墙技术、反病毒技术、入侵检测技术等。第5章数字签名技术5.2数字签名原理5.2.1数字签名算法分析数字签名技术的基础是加密技术,通过加密技术实现网络电子交易的安全性。在密码学中,密码的本质是某种算法,由密码算法算出一个密钥(Key),然后使用该密钥对交易双方传送的数据加密。该数据通称为“报文”,未加密之前称为“明文”,加密之后称为“密文”。没有密钥,密文是不可读的。所有加密算法的本身都是公开的,属于纯数学的范畴,本章不作过多讨论;密码学只关注密钥管理的问题,因为加密通信的安全性只与密钥有关,这是重点。数字签名技术涉及的主要算法有对称加密算法、非对称加密算法和Hash算法。第5章数字签名技术1.对称加密算法对称加密算法对数据本身的加密能力足够强大,而且已经在政府机关和商业机构内部得到了广泛应用,但对称加密算法也存在以下一些问题:(1)对称加密算法加密和解密的密钥是相同的。(2)必须事先传递密钥,而密钥传递过程中极易被窃取。使用常规手段无法规避这种高风险。(3)密钥管理困难:假设有n方两两通信,如采用一把密钥,则密钥一旦被盗,将导致整个加密系统崩溃;如采用不同密钥,则密钥数等于n×(n-1)/2,意味着100个人两两通信,则每人要保管4950个密钥!这使密钥管理成为几乎不可能实现的任务。(4)由于密钥共享,因此无法实现不可否认和身份验证。第5章数字签名技术2.非对称加密算法非对称加密算法中通信的双方加密密钥和解密密钥是不相同的,分别称为公钥和私钥。公钥可以发到Internet等公开地方供别人查询和下载,而私钥只有用户私人持有且无法读出(包括用户自己)。每一对公钥和私钥都具有以下的特点:(1)这两个密钥完全不相同且不能相互推导。(2)用私钥加密的数据只有用对应的公钥才能解开。(3)用公钥加密的数据只有用对应的私...