刘振栋1安全基础设施和安全法规安全基础设施和安全法规刘振栋2名人说本章中国学者谢希仁当资源共享广泛用于政治、军事、经济以及科学各个领域,网络的用户来自社会各个阶层与部门时,大量在网络中传输的数据就需要保护刘振栋3本章重点和难点加密技术,DES和RSA算法数字摘要技术数字签名技术数字证书技术SSL标准的含义刘振栋4加密技术(1)加密技术基本概念信息加密技术,就是采用数学方法对原始信息进行再组织,使得加密后在网络上公开传输的内容对于非法接收者来说成为无意义的文字。发送方使用密钥将信息变成不同的、不可读的形式的过程叫做加密而对于合法的接收者,因其掌握正确的密钥,可以将加密后的信息还原成原来形式,这个过程叫做解密刘振栋5加密技术(2)原始信息叫做明文,加密后的信息叫做密文加密技术分为密钥和加密算法两个部分。密钥只能由通信双方掌握,而加密算法是可以公开的,也就是说密钥是加密技术的关键。在同一种加密算法下,密钥的位数越长,存在的密钥数越多,破译者破译越困难,加密系统就越牢固刘振栋6加密技术(3)加密技术的分类对称加密(SymmetricCryptography)对称加密技术中,信息的加密和解密都使用相同的钥匙,或者从一个钥匙可以推出另一个钥匙,因此对称密钥加密也叫做单钥加密非对称加密(AsymmetricCryptography)非对称加密技术又称为公开密钥加密、双密钥加密算法。所谓非对称,是指用于加密的密钥和用于解密的密钥是不一样的刘振栋7加密技术(4)对称加密技术存在着一些不足密钥使用一段时间后需要更换,而且加密方必须使用与传递加密文件不同的渠道把密钥传给解密方,如电话通知,软盘邮寄、派专人传送等方式,密钥在此过程中可能泄漏刘振栋8加密技术(5)对称加密技术存在着一些不足网络通信时,如果网内用户都使用相同的密钥,就失去了保密的意义。但如果网络任意两个用户都使用互不相同的密钥,则密钥量太大,难于管理难以进行身份认证。例如张三可以借用王五的身份给李四发信,也可以用张三自己的名义发信,但事后又不承认发过信息刘振栋9加密技术(6)在非对称加密体系中产生密钥的机制密钥通过一定的算法被分解为一对(即公开密钥和私有密钥),并且从其中一个钥匙无法推导出另一个钥匙。这对密钥中任何一把都可以作为公开密钥(加密密钥)广泛公开,登记在网络的密钥库(典型实例是认证中心CA)里,而另一把作为私有密钥(解密密钥)加以保存。刘振栋10加密技术(7)在非对称加密体系中加密通信的过程加密:任何人要与某个用户X通信,只要在公开的密钥库里查到用户X的加密钥匙,用此钥匙生成密文传给指定的用户X,如果没有与之对应的解密密钥,任何人都无法恢复明文。解密:用户X可以用只有自己知道的私钥对密文进行解密,生成明文,从而实现了数据的保密性。刘振栋11加密技术(8)非对称加密方式的优点是:(1)密码分配简单。公开密钥可以象电话号码一样,告诉每一个网络成员(2)密钥的保存量少。每个成员只需保存一个私人密钥,公钥可以公开公布,而且便于管理。(3)可以实现身份识别和数字签名刘振栋12加密技术(9)最著名的对称密钥加密算法是数据加密标准DES它是由IBM于20世纪70年代开发的,并于1977年被美国政府采用,作为商业和非保密信息加密标准。DES加密和解密的速度是非常快的有64位DES和128位DES.美国使用128位DES(又称三重DES),支持全美的电子商务活动刘振栋13加密技术(9)最著名的公钥加密算法是RSA算法RSA算法是Rivest、Shamir和Adleman于1978年在麻省理工学院研制出来的。其算法是建立在“大数分解和素数检测”的理论基础上的。到目前为止,无法找到一个有效的算法来分解两大素数之积。它的安全性是基于分解大整数的困难性。刘振栋14加密技术(10)为了保证RSA使用的安全性,其密钥的位数一直在增加。目前一般认为RSA需要1024位以上的字长才有安全保障。但是密钥长度的增加导致了其加密解密速度的降低,这对使用RSA的应用带来了很重的负担,对进行大量安全交易的电子商务更是如此,从而使其应用范围越来越受到限制。刘振栋15加密技术(11)结合DES和RSA用DES算法来加密相对较大的文件信息,而用RSA算法来加密DES的密钥。这样既利用了DES速度快的特点,又利用了RSA的特点来解决DES密钥分配难题。刘振栋16数字摘要(Digitaldigest)数字摘要方法也称安全Hash编码法(SecureHashAlgorithm,SHA)或MD5(MDStandardsforMessageDigest),它是由RonRivest所发明的。数字摘要对明文中若干重要元素进行某种交换运算得到一串128bit的密文。这串密文也称为数字指纹(Digitalprint),有固定的长度。不同的明文形成的密文摘要是不同的,而同样的明文其摘要必定是一致的,因此,这个摘要便可作为验证明文是否真身的证据了刘振栋17数字签名(1)数字签名(digitalsignature)传统的文件或书信的真伪鉴别方法是根据相关人员的亲笔签名或印章来判别,签名起到认证、核准和生效的作用。在电子商务/电子政务活动中,合同或文件是以电子文件的形式表现和传递的。在电子文件上,传统的手写签名和盖章都无法实现,必须依靠技术手段来替代。数字签名应运而生。刘振栋18数字签名(2)数字签名是公开密钥加密技术的一类应用,它通过密码技术对电子文档进行电子形式的签名,并非是书面签名的数字图像化。数字签名也称电子签名,是通过一个散列函数(Hash)对要传送的报文进行处理而得到的、用以认证报文来源并核实报文是否发生变化的一个字母数字串。刘振栋19数字签名(3)数字签名要解决否认、伪造、篡改、假冒等问题。数字签名具有如下功能:接收者能够核实发送者对报文的签名。发送者事后不能抵赖对报文的签名。接收者不能伪造对报文的签名。接受者不能对发送者的报文进行部分篡改。网络中的某一用户不能冒名另一用户作为发送者或接收者。刘振栋20数字签名工作原理明文信息摘要数字签名单向散列函数生成摘要加密过程发送方的私有密钥网络接收方发送方单向散列函数数字签名发送方的公有密钥信息摘要解密过程生成摘要密文信息摘要比较刘振栋21数字签名与手写签名区别首先,不同的文件上的手写签名是相同的,而不同文件上的数字签名是不同的。每个数字签名都与一个文件相联系,并且与该文件的内容有内在的联系,只能应用于这个文件,不能被截取下来用于其它文件。这样,数字签名比手写签名更难以复制和伪造。数字签名的安全性依赖于文件发送方私钥的安全。只要文件发送者的私钥是安全的,用它来签发的数字签名是可以信赖的。刘振栋22数字签名与手写签名区别手写签名往往是与被签文件物理上联系在一起,只能同时发送,而数字签名本身也是一个文件,因此它可以与被签文件一起发送,也可以分别发送。例如,当接受方接受到文件后如果要求验证签名,则可将数字签名发送过去,否则可以不发送。另外,具有手写签名的文件复制后一般没有原件所具有的效力。而对于数字签名的文件则不同。无论经过多少次复制,复制品与原件是一模一样的,具有的效力也是完全相同的,这更方便于文件的分发。刘振栋23数字签名与加密的区别(1)实现过程与使用的密钥都不相同。数字签名使用的是发送方的密钥对,发送方用自己的私有钥匙对数字摘要进行加密,接收方用发送方的公开密钥进行解密。数字签名是一个一对多的关系:任何拥有发送方公开钥匙的人都可以验证数字签名的正确性。数字签名是为了证实信息确实是由某个用户发送的,对网络中是否有人看到该消息并不关心。刘振栋24数字签名与加密的区别(2)实现过程与使用的密钥都不相同。数据加密使用的是接收方的密钥对,发送方用接收方的公开密钥进行加密,接收方用自己的私有钥匙进行解密。数据加密是一个多对一的关系:任何知道接收方公开钥匙的人都可以向接收方发送解密信息,只有拥有接收方私有密钥的人才能对信息解密。数据加密是为了保证信息确实是发给某个用户的刘振栋25数字证书(1)数字证书是由一个权威机构发行的,它使用电子手段来证实一个用户的身份和用户对网络资源访问的权限。在网上的电子交易中,如双方各自出示了自己的数字证书,并使用它来进行交易操作,则可以不必为对方身份的真伪而担心刘振栋26数字证书(2)数字证书的内部格式是由ITUX.509国际标准规定的,通常包含有:唯一标识证书所有者的名称唯一标识证书发布者的名称证书所有者的公开密钥证书发布者的数字签名证书的有效期及证书的序列号等。证书发布者一般称为证书管理机构(CA),它是贸易各方都信赖的机构。刘振栋27数字证书(3)数字证书有以下的作用:证明在电子商务或信息交换中参与者的身份;授权进入保密的信息资源库;提供网上发送信息的不可否认性的依据;验证网上交换信息的完整性。刘振栋28数字证书(4)数字证书有以下三种类型:(1)个人凭证(personaldigitalID):个人凭证仅仅为某一用户提供凭证,以帮助这一用户在网上进行安全交易操作。个人身份的数字凭证通常是安装在客户端的浏览器内的,并通过安全的电子邮件(S/MIME)来进行交易操作。(2)企业(服务器)凭证(serverID):通常为网络上的某个Web服务器的企业就可以利用具有凭证的Internet站点来进行安全电子交易。有凭证的Web服务器可以自动的将其与客户端Web浏览器通信的信息进行加密。(3)软件开发者凭证(developerID)刘振栋29数字证书(5)认证中心(CertificateAuthority)在电子交易中,为了保证交易的安全性、公正性,数字证书的认证不是靠交易双方自己来完成,而是由第三方来实现认证中心(CertificateAuthority)就是充当这种服务的角色刘振栋30数字证书(6)认证中心(CertificateAuthority)认证中心是一个负责发放和管理数字证书的权威机构通常采用多层次的分级结构。上级认证中心负责签发和管理下级认证中心的证书,最下一级的认证中心直接面向最终用户,并且下级CA中心的可靠性由上级CA来保证。刘振栋31数字证书(7)认证中心(CertificateAuthority)CACACACACACACACACA刘振栋32数字证书(8)认证中心主要有以下几个功能:(1)证书的颁发认证中心接收和认证下级认证中心和最终用户的数字证书的申请,将申请内容进行备案,并根据申请内容确定是否受理该数字证书的申请。若接受申请,则必须进一步确定向用户颁发何种类型的证书。新证书由认证中心签名后,送到目录服务器供用户查询和下载。为了确保查询信息的准确性和完整性,认证中心必须对所有返回给用户的应答信息进行签名。刘振栋33数字证书(9)(2)证书的更新认证中心可以定期更新所有用户的电子证书,或根据用户的申请对用户的证书进行更新,从而确保认证中心保存的证书是最新的和有效的刘振栋34数字证书(10)(3)证书的查询证书的查询分为证书申请查询和用户证书查询。证书的查询申请是认证中心根据用户的查询要求,返回当前用户证书申请的受理情况;用户证书查询是目录服务器根据用户的请求,返回用户所需的证书信息,这个过程是由目录服务器完成的刘振栋35数字证书(11)(4)证书的作废当用户的私钥由于泄密原因造成用户证书必须撤销时,由用户向认证中心提出撤销申请,认证中心根据用户的请求,确定是否将该证书作废;证书有一定的时效性,当证书过了有效期后,认证中心会自动将证书作废刘振栋36数字证书(12)(5)证书的归档证书过了有效期后就必须作废,但是作废并不是将证书简单的丢弃,而是进行归档。这样有些客户需要查询以前某个交易中使用的数字签名,就可以到作废的证书库里查找。因此,认证中心还应该具备管理作废证书和历史数据的功能。刘振栋37数字证书(13)(6)建立应用接