《安全套接字》ppt课件_第1页
《安全套接字》ppt课件_第2页
《安全套接字》ppt课件_第3页
《安全套接字》ppt课件_第4页
《安全套接字》ppt课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网络编程的平安性欧阳宏基欧阳宏基主要内容1. 数字签名数字签名 公有密钥体制、私有密钥体制、公有密钥体制、私有密钥体制、 数字签名过程与算法、数字证书数字签名过程与算法、数字证书 与数字签名相关的与数字签名相关的Java API2. SSL平安套接字与平安套接字与JSSE根本运用根本运用数字签名数字签名数字签名Digital Signature:经过在数据单元上附:经过在数据单元上附加数据或者对数据进展转换,防止他人对传送的数据加数据或者对数据进展转换,防止他人对传送的数据进展破坏,从而使接纳者可以确认数据的来源和完好进展破坏,从而使接纳者可以确认数据的来源和完好性。性。基于公有密钥体制和私有

2、密钥体制都可以获得数字签名基于公有密钥体制和私有密钥体制都可以获得数字签名,绝大多数的数字签名是基于公钥密码体制的数字签名绝大多数的数字签名是基于公钥密码体制的数字签名。采用数字签名可以确保以下两点:采用数字签名可以确保以下两点:1信息是由签名者发送的。信息是由签名者发送的。2 信息自签发后到接纳者收到为止未曾做过任何修信息自签发后到接纳者收到为止未曾做过任何修正。正。一套数字签名通常定义两种互补的运算,一个用于签名一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。,另一个用于验证。私有密钥体制私有密钥加密系统运用独一的密钥即私有密钥进展加密和解密。该密私有密钥加密系统运用独一

3、的密钥即私有密钥进展加密和解密。该密钥必需为发送者和接纳者所共享。即,假设甲要向乙发一个加密邮件,甲钥必需为发送者和接纳者所共享。即,假设甲要向乙发一个加密邮件,甲需用一密钥将信息加密;乙收到邮件后,须用同样的密钥将信息解密。需用一密钥将信息加密;乙收到邮件后,须用同样的密钥将信息解密。私有密钥体制的缺陷:私有密钥体制的缺陷:1 一定要有一种平安的协议来保证密钥传送的可靠;一定要有一种平安的协议来保证密钥传送的可靠;2 有紧急的加密音讯需求发送时,能够因接纳方没有密钥而不能完成有紧急的加密音讯需求发送时,能够因接纳方没有密钥而不能完成传送;传送;3 假设要将音讯发给许多不同的团体,就需求与各个

4、团体对应,维护假设要将音讯发给许多不同的团体,就需求与各个团体对应,维护许多不同的密钥。许多不同的密钥。为抑制私有密钥加密系统的这些弱点,人们引进了公共密钥加密系统。为抑制私有密钥加密系统的这些弱点,人们引进了公共密钥加密系统。公有密钥体制1 鲍勃有两把钥匙,一鲍勃有两把钥匙,一把公钥,一把私钥把公钥,一把私钥2 鲍勃把公钥送给他的鲍勃把公钥送给他的小同伴,每人一把。小同伴,每人一把。公有密钥密码体制是现代密码学的最重要的发明和进展。在公有密钥体制中公有密钥密码体制是现代密码学的最重要的发明和进展。在公有密钥体制中有两种密钥:一种公钥,一种私钥,两者都可以用于加密和解密。有两种密钥:一种公钥,

5、一种私钥,两者都可以用于加密和解密。用公共密钥加密的信息只能用与之对应的私有密钥解开;而用私有密钥加密用公共密钥加密的信息只能用与之对应的私有密钥解开;而用私有密钥加密的信息,任何拥有与之对应的公共密钥的人均可解开这一点也是数字签的信息,任何拥有与之对应的公共密钥的人均可解开这一点也是数字签名的实现原理。因此,私有密钥总为个人保管而无须外传,公共密钥那名的实现原理。因此,私有密钥总为个人保管而无须外传,公共密钥那么可授权给他人运用而不会破坏平安性,公共密钥和私有密钥之间永远存么可授权给他人运用而不会破坏平安性,公共密钥和私有密钥之间永远存在着一对一的关系。在着一对一的关系。公钥密码体制3 苏珊

6、给鲍勃写信,写完后用鲍苏珊给鲍勃写信,写完后用鲍勃的公钥加密,到达严密的效果勃的公钥加密,到达严密的效果。4鲍勃收信后,用私钥解密,看鲍勃收信后,用私钥解密,看到信件内容。到信件内容。数字签名实现过程1鲍勃给苏珊回信,写完后用鲍勃给苏珊回信,写完后用Hash函数,生成信件的摘要函数,生成信件的摘要digest。2鲍勃运用私钥,对这个摘要加鲍勃运用私钥,对这个摘要加密,生成密,生成“数字签名数字签名signature。数字签名实现过程3鲍勃将这个签名,附在信件下鲍勃将这个签名,附在信件下面,一同发给苏珊。面,一同发给苏珊。4苏珊收信后,取下数字签名,用鲍苏珊收信后,取下数字签名,用鲍勃的公钥解密

7、,得到信件的摘要。由勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。此证明,这封信确实是鲍勃发出的。5苏珊再对信件本身运用苏珊再对信件本身运用Hash函数,函数,将得到的结果,与上一步得到的摘要将得到的结果,与上一步得到的摘要进展对比。假设两者一致,就证明这进展对比。假设两者一致,就证明这封信未被修正正。封信未被修正正。数字证书公钥是可以冒充的,那么如何该保证公钥的可靠性呢?公钥加密体系采取公钥是可以冒充的,那么如何该保证公钥的可靠性呢?公钥加密体系采取了一个方法,将公钥和公钥的主人信息联络在一同,再请一个大家都信得了一个方法,将公钥和公钥的主人信息联络在一同,再请一个大家都信

8、得过有信誉的、公正、权威机构确认,并加上这个权威机构的签名。这就构过有信誉的、公正、权威机构确认,并加上这个权威机构的签名。这就构成了证书。成了证书。1证书中心用本人的私钥,对鲍勃的公钥和一些相关信息一同加密,生成证书中心用本人的私钥,对鲍勃的公钥和一些相关信息一同加密,生成数字证数字证书书Digital Certificate。数字证书2鲍勃拿到数字证书以后,再给苏珊写信,鲍勃拿到数字证书以后,再给苏珊写信,只需在签名的同时,再附上数字证书就行了。只需在签名的同时,再附上数字证书就行了。3苏珊收信后,用苏珊收信后,用CA的公钥解开数字证书,的公钥解开数字证书,就可以拿到鲍勃真实的公钥,然后就

9、能证明就可以拿到鲍勃真实的公钥,然后就能证明数字签名数字签名能否是鲍勃签的。能否是鲍勃签的。数字证书的运用“数字证书的典型实例:利用数字证书的典型实例:利用 s协议在客户端和效协议在客户端和效力器之间通讯。力器之间通讯。1 客户端向效力器发起加密恳求。客户端向效力器发起加密恳求。2效力器用本人的私钥加密网页以后,效力器用本人的私钥加密网页以后,连同本身的数字证书,一同发送给客户端。连同本身的数字证书,一同发送给客户端。数字证书的运用3客户端阅读器的客户端阅读器的“证书管理器,有证书管理器,有“受信任的根证书颁受信任的根证书颁发机构列表。客户端会根据这张列表,查看解开数字证书的公钥发机构列表。客

10、户端会根据这张列表,查看解开数字证书的公钥能否在列表之内。阅读器能否在列表之内。阅读器“工具工具-“Internet选项选项-“内容内容数字证书的运用4假设数字证书记载的网址,与他正在阅读的网址不一致,就假设数字证书记载的网址,与他正在阅读的网址不一致,就阐明这张证书能够被冒用,阅读器会发出警告。阐明这张证书能够被冒用,阅读器会发出警告。数字证书的运用5假设这张数字证书不是由受信任的机构颁发的,阅读器会发出另一种警告假设这张数字证书不是由受信任的机构颁发的,阅读器会发出另一种警告。数字证书的运用6假设数字证书是可靠的,客户端就可以运用证书中的效力器公钥,对信息假设数字证书是可靠的,客户端就可以

11、运用证书中的效力器公钥,对信息进展加密,然后与效力器交换加密信息。进展加密,然后与效力器交换加密信息。数字签名算法在数字签名方面,运用比较广泛的是:在数字签名方面,运用比较广泛的是:RSA算法。算法。该方法的过程如下:该方法的过程如下:数字签名算法数字签名算法普通分为两个步骤:产生音讯摘要和生成数字签名。数字签名算法普通分为两个步骤:产生音讯摘要和生成数字签名。1 首先,系统根据一定的单向加密算法计算出音讯的音讯摘要。首先,系统根据一定的单向加密算法计算出音讯的音讯摘要。 运用单向散列函数运用单向散列函数Hash函数的目的是将恣意长度的音讯紧缩成为某一固定函数的目的是将恣意长度的音讯紧缩成为某

12、一固定长度的音讯摘要。长度的音讯摘要。模型为:模型为: h=HM 其中,其中,M是待加工的音讯,可以为恣意长度;是待加工的音讯,可以为恣意长度;H为单向散为单向散列算法,列算法,h作为生成的音讯摘要,具有固定的长度,并且和作为生成的音讯摘要,具有固定的长度,并且和M的长度无关。的长度无关。Hash函数需求函数需求H具有以下的单向性质:具有以下的单向性质:给定给定H和和M,很容易计算,很容易计算h;给定给定h和和H,很难计算,很难计算M,甚至得不到,甚至得不到M的任何音讯;的任何音讯;给定给定H,要找两个不同的,要找两个不同的M1和和M2,使得使得HM1= HM2在计算上是不可在计算上是不可行的

13、。行的。数字签名算法目前在密码学上曾经设计出了大量的单向散列函数,目前在密码学上曾经设计出了大量的单向散列函数,如:如:RabinHash方案、方案、MerkleHash方案、方案、NHash算法、算法、MD2算法、算法、MD4算法、算法、MD5算法和算法和SHA等。等。实践系统中用得最多的单向散列函数是:实践系统中用得最多的单向散列函数是:音讯摘要算法音讯摘要算法MD5Message Digest5平安散列算法平安散列算法SHASecurity Hash Algorithm。它们具有。它们具有类似的原理和实现方法。类似的原理和实现方法。 见源文件:见源文件:md5数字签名算法2 在产生签名阶

14、段,发送方将产生的音讯摘要在产生签名阶段,发送方将产生的音讯摘要HM用发用发方的私有密钥进展加密。方的私有密钥进展加密。 在验证签名阶段,接纳方也要进展以下的计算:在验证签名阶段,接纳方也要进展以下的计算:1 由音讯由音讯M利用单向散列函数产生音讯摘要利用单向散列函数产生音讯摘要HM; 2 将收到的音讯摘要将收到的音讯摘要HM用发送方公开密钥进展解密;用发送方公开密钥进展解密;3 两者进展比较,不一致那么发出否决音讯,否那么接受两者进展比较,不一致那么发出否决音讯,否那么接受信息。信息。相关的Java API-KeyPairGeneratorKeyPairGenerator 类用于生成公钥和私

15、钥对。密钥对生成器是运用类用于生成公钥和私钥对。密钥对生成器是运用 getInstance 工厂方法构造的。工厂方法构造的。 特定算法的密钥对生成器可以创建可以特定算法的密钥对生成器可以创建可以与此算法一同运用的公钥与此算法一同运用的公钥/私钥对。它还可以将特定于算法的参数与每个私钥对。它还可以将特定于算法的参数与每个生成的密钥关联。生成的密钥关联。 有两种生成密钥对的方式:与算法无关的方式和特定于算法的方式。有两种生成密钥对的方式:与算法无关的方式和特定于算法的方式。相关的Java API-KeyPair类类KeyPair是简单的密钥对公钥和私钥持有者。是简单的密钥对公钥和私钥持有者。它没有

16、加强任何平安性,另外初始化时应该将它当作它没有加强任何平安性,另外初始化时应该将它当作 PrivateKey 对待。对待。只需两个方法:只需两个方法:1 public PublicKey getPublic 前往对此密钥对的公钥。前往对此密钥对的公钥。2 public PrivateKey getPrivate 前往对此密钥对的私钥。前往对此密钥对的私钥。 相关的Java API-SignatureSignature 类用来为运用程序提供数字签名算法功能类用来为运用程序提供数字签名算法功能。数字签名用于确保数字数据的验证和完好性。数字签名用于确保数字数据的验证和完好性。 运用运用 Signat

17、ure 对象签名数据或验证签名包括以下三对象签名数据或验证签名包括以下三个阶段:个阶段: 1 初始化:运用初始化:运用 初始化验证签名的公钥初始化验证签名的公钥initVerify方法,或运用方法,或运用 初始化签署签名的私钥初始化签署签名的私钥 initSignPrivateKey 和和 initSignPrivateKey, SecureRandom。 2 更新更新 :根据初始化类型,更新要签名或验证的:根据初始化类型,更新要签名或验证的字节。字节。 update 方法。方法。 3 签署或验证一切更新字节的签名。签署或验证一切更新字节的签名。sign 方法和方法和 verify 方法。方法

18、。 SSLSSLSecure Socket Layer,平安套接层,为,平安套接层,为Netscape所研发,利用所研发,利用数据加密数据加密Encryption技术,可确保数据在网络上之传输过程中不技术,可确保数据在网络上之传输过程中不会被截取及窃听。当前版本为会被截取及窃听。当前版本为3.0。它已被广泛地用于。它已被广泛地用于Web阅读器与效阅读器与效力器之间的身份认证和加密数据传输。力器之间的身份认证和加密数据传输。SSL协议位于协议位于TCP/IP协议与各种运用层协议之间,为数据通讯提供平安支协议与各种运用层协议之间,为数据通讯提供平安支持。持。SSL协议可分为两层:协议可分为两层:

19、SSL记录协议记录协议SSL Record Protocol:它建立在可靠的传输协议如:它建立在可靠的传输协议如TCP之上,为高层协议提供数据封装、紧缩、加密等根本功能的支之上,为高层协议提供数据封装、紧缩、加密等根本功能的支持。持。 SSL握手协议握手协议SSL Handshake Protocol:它建立在:它建立在SSL记录协议之记录协议之上,用于在实践的数据传输开场前,通讯双方进展身份认证、协商加上,用于在实践的数据传输开场前,通讯双方进展身份认证、协商加密算法、交换加密密钥等。密算法、交换加密密钥等。SSL的根本功能平安套接字是位于效力器上的一个加密系统,效力器与客户端进展平安通平安

20、套接字是位于效力器上的一个加密系统,效力器与客户端进展平安通讯,效力器端必需具备两样东西:讯,效力器端必需具备两样东西:密钥对密钥对 :包括一个公钥和一个私钥,用来对通讯数据进展加密和解密。:包括一个公钥和一个私钥,用来对通讯数据进展加密和解密。证书:用来进展身份确认。可以是自签证书或者颁发证书,自签证书用于证书:用来进展身份确认。可以是自签证书或者颁发证书,自签证书用于私有的私有的Web网络;颁发证书由认证中心网络;颁发证书由认证中心CA认证,用于公有认证,用于公有Web系统。系统。SSL提供三个功能:提供三个功能:SSL效力器鉴别:允许客户端证明效力器的身份。具有效力器鉴别:允许客户端证明

21、效力器的身份。具有SSL功能的阅读器功能的阅读器具有一个由具有一个由CA认证的证书列表,当阅读器与效力器进展商务活动时认证的证书列表,当阅读器与效力器进展商务活动时,阅读器就从效力器得到含有效力器公钥的证书。,阅读器就从效力器得到含有效力器公钥的证书。加密加密SSL会话:一切通讯数据都在发送发加密,接纳方解密,并且可以鉴会话:一切通讯数据都在发送发加密,接纳方解密,并且可以鉴别数据能否在通讯过程中被篡改。别数据能否在通讯过程中被篡改。SSL客户鉴别:允许效力器对客户身份进展鉴别。客户鉴别:允许效力器对客户身份进展鉴别。 这个信息对效力器来这个信息对效力器来说非常重要,例如银行要把财务数据发给客

22、户时,就必需检验接纳者说非常重要,例如银行要把财务数据发给客户时,就必需检验接纳者的身份。的身份。SSL的认证过程效力器端认证过程:效力器端认证过程:1 客户端向效力器端发送一个开场信息,以便开场一个新客户端向效力器端发送一个开场信息,以便开场一个新的会话衔接。的会话衔接。2 效力器根据客户的信息确定能否需求生成新的主密钥,效力器根据客户的信息确定能否需求生成新的主密钥,如需求那么效力器会在呼应开场信息时,包含生成主密钥所需如需求那么效力器会在呼应开场信息时,包含生成主密钥所需的信息。的信息。3 客户根据收到的效力器呼应信息,产生一个主密钥,并客户根据收到的效力器呼应信息,产生一个主密钥,并用效力器的公开密钥加密后传给效力器。用效

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论