第6章认证与数字签名6.1信息认证技术6.2数字签名6.3数字证书6.4公钥基础设施(PKI)6.1信息认证技术6.1.1信息认证技术简介1.数字摘要(报文摘要)2.数字信封3.数字签名4.数字时间戳5.数字证书6.1.2报文摘要信息的完整性和认证是指信息的接受者能够检验收到的消息是否真实。检验的内容包括:消息的来源、消息的内容是否被篡改、消息是否被重放。消息的完整性经常通过散列技术来实现。6.1.2.1散列函数的用途1.验证数据的完整性2.用户认证6.1.2.2散列函数的要求6.1.2.3报文摘要算法1.安全散列算法2.MDx散列算法6.2数字签名6.2.1数字签名基本概念数字签名就是通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。用这个字符串来代替书写签名或印章,起到与书写签名或印章同样的法律效用。国际社会已开始制定相应的法律、法规,把数字签名作为执法的依据。其使用方式是:报文的发送方从报文文本中生成一个128位或160位的单向散列值(或报文摘要),并用自己的私有密钥对这个散列值进行加密,形成发送方的数字签名,然后,将这个数字签名作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收到的原始报文中计算出散列值(或报文摘要),接着再用发送方的公开密钥来对报文附加的数字签名进行解密,如果这两个散列值相同,那么接收方就能确认该数字签名是发送方的。通过数字签名能够实现对原始报文鉴别与验证,保证报文的完整性、权威性和发送者对所发报文的不可抵赖性。数字签名机制提供了一种鉴别方法,普遍用于银行、电子贸易等,以解决伪造、抵赖、冒充、篡改等问题。数字签名与数据加密完全独立。数据可以既签名又加密,只签名,只加密,当然,也可以既不签名也不加密。1.数字签名应具有的性质2.数字签名的设计要求3.数字签名分类6.2.2数字签名算法1.Hash签名2.RSA签名3.DSS签名6.3数字证书6.3.1什么是数字证书数字证书就是互联网通信中标志通信各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个权威机构——CA机构,又称为证书授权(CertificateAuthority)中心发行的,CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。CA也拥有一个证书(内含公钥)和私钥。网上的公众用户通过验如果用户想得到一份属于自己的证书,他应先向CA提出申请。在CA判明申请者的身份后,便为他分配一个公钥,并且CA将该公钥与申请者的身份信息绑在一起,为之签字后便形成证书发给申请者。如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。人们可以在网上用它来识别对方的身份。6.3.2为什么要用数字证书因而Internet电子商务系统必须保证具有十分可靠的安全保密技术。也就是说,必须保证网络安全的四大要素,即信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性。我们可以使用数字证书,通过运用对称和非对称密码体制等密码技术建立起一套严密的身份认证系统,从而保证:信息除发送方和接收方外不被其他人窃取;信息在传输过程中不被篡改;发送方能够通过数字证书来确认接收方的身份;发送方对于自己的信息不能抵赖。用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。6.3.3证书与证书授权中心CA机构作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。CA是整个网上电子交易安全的关键环节。它主要负责产生、分配并管理所有参与网上交易的实体所需的身份认证数字证书。每一份数字证书都与上一级的数字签名证书相关联,最终通过安全链追溯到一个已知的并被广泛认为是安全、权威、足以信赖的机构——根认证中心(根CA)。认证中心为了实现其功能,主要由以下三部分组成。(1)注册服务器:通过WebServer建立的站点,可为客户提供每日24小时的服务。因此客户可在自己方便的时候在网上提出证书申请和填写相应的证书申请表,免去了排队等候等烦恼。(2)证书申请受理和审核机构:负责证书的申请和审核。它的主要功能是接受客户证书申请并进行审核。(3)认证中心服务器:是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表(CRL)的生成和处理等服务。6.3.4数字证书的工作流程现有持证人甲向持证人乙传送数字信息,为了保证信息传送的真实性、完整性和不可否认性,需要对要传送的信息进行数字加密和数字签名,其传送过程如下。(1)甲准备好要传送的数字信息(明文)。(2)甲对数字信息进行哈希(hash)运算,得到一个信息摘要。(3)甲用自己的私钥(SK)对信息摘要进行加密得到甲的数字签名,并将其附在数字信息上。(4)甲随机产生一个加密密钥(如DES密钥),并用此密钥对要发送的信息进行加密,形成密文。(5)甲用乙的公钥(PK)对刚才随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给乙。(6)乙收到甲传送过来的密文和加过密的DES密钥,先用自己的私钥(SK)对加密的DES密钥进行解密,得到DES密钥。(7)乙用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。(8)乙用甲的公钥(PK)对甲的数字签名进行解密,得到信息摘要。乙用相同的hash算法对收到的明文再进行一次hash运算,得到一个新的信息摘要。(9)乙将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。6.3.5数字证书的应用1.网上交易2.网上办公3.网上招标4.网上报税5.安全电子邮件6.4公钥基础设施(PKI)PKI技术采用证书管理公钥,通过第三方的可信任机构—认证中心CA(CertificateAuthority),把用户的公钥和用户的其他标识信息(如名称、E-mail、身份证号等)捆绑在一起,在Internet上验证用户的身份。目前,通用的办法是采用建立在PKI基础之上的数字证书,通过把要传输的数字信息进行加密和签名,保证信息传输的机密性、真实性、完整性和不可否认性,从而保证信息的安全传输。6.4.1PKI基础PKI就是利用公开密钥理论和技术建立的提供安全服务的基础设施。PKI基础设施把公钥密码和对称密码结合起来,在Internet网上实现密钥的自动管理,保证网上数据的安全传输。PKI(PublicKeyInfrastructure,公钥基础设施)就是提供公钥加密和数字签名服务的系统,目的是为了管理密钥和证书,保证网上数字信息传输的机密性、真实性、完整性和不可否认性。6.4.2PKI密码算法及应用1.单钥密码算法(加密)2.双钥密码算法(加密、签名)3.公开密钥数字签名算法(签名)6.4.3密钥对的用法用于加密的密钥对:用公钥加密,用私钥解密。用于签名的密钥对:用私钥签名,用公钥验证。6.4.4PKI的基本组成1.认证机关(CA)2.数字证书库3.密钥备份及恢复系统4.证书作废系统5.应用接口6.4.5PKI的应用前景PKI技术可运用于众多领域,其中包括:虚拟专用网络(VPN)、安全电子邮件、Web交互安全及倍受瞩目的电子商务安全领域。