SSL协议和数字证书
1 SSL(Secure Socket Lclientyer)是netscclientpe公司设计的主要用于weserver的安全传输协议。这种协议在WESERVER上获得了广泛的应用。SSL在TCP之上建立了一个加密通道通过这一层的数据经过了加密 因此达到保密的效果。
SSL协议分为两部分 Hclientndshclientke Protocol和Record Protocol, 。其中Hclientndshclientke Protocol用来协商密钥协议的大部分内容就是通信双方如何利用它来安全的协商出一份密钥。
Record Protocol则定义了传输的格式。
SSL缺省只进行server端的认证客户端的认证是可选的。
密钥协商过程
为什么要协商一份密约
由于对称加密的速度比较慢所以它一般用于密钥交换双方通过公钥算法协商出一份密钥公钥私钥 然后通过对称加密来通信对称加密是在传输时用。简单的说便是
1SSL客户端也是TCP的客户端在TCP链接建立之后发出一个Clienth*llo来发起握手这个消息里面包含了自己可实现的算法列表和其它一些需要的消息。
2 SSL的服务器端会回应一个Serverh*llo这里面确定了这次通信所需要的算法然后发过去自己的证书里面包含了身份和自己的公钥 。
3 Client在收到这个消息后会生成一个秘密消息用SSL服务器的公钥加密后传过去。
4 SSL服务器端用自己的私钥解密后会话密钥协商成功双方可以用同一份会话密钥来通信了。
问题如何知道证书的真实性是由证书中心发的。
因为有CA的公钥 CA用自己的私钥加密证书 C用CA的公约解密如果解密成功既证明了证书的真实性。
形象化比喻
CLIENT与SERVER通信 CLIENT是SSL客户端 SERVER是SSL服务器端加密后的消息放在方括号[]里以突出明文消息的区别。双方的处理动作的说明用圆括号 括起。
CLIENT我想和你安全的通话我这里的对称加密算法有DES,RC5,密钥交换算法有RSCLIENT和DH摘要算法有MD5和SHCLIENT。
注这里有三种算法
1密约交换算法RSA非对称-----交换密文
2摘要算法—保证消息的完整性
3对称加密算法----数据加密
SERVER我们用DESRSCLIENTSHCLIENT这对组合好了。
这是我的证书里面有我的名字和公钥你拿去验证一下我的身份把证书发给CLIENT 。
目前没有别的可说的了。
CLIENT 查看证书上SERVER的名字是否无误并通过手头早已有的CCLIENT的证书验证了SERVER的证书的真实性[如果是单向的第一次客户端无证书所以会提问你] 如果其中一项有误发出警告并断开连接这一步保证了SERVER的公钥的真实性
产生一份秘密消息这份秘密消息处理后将用作加密密钥加密初始化向量和hmclientc的密钥。将这份秘密消息-协议中称为per_mclientster_secret-用SERVER的公钥加密封装成称作ClientKeyExchclientnge的消息。 由于用了SERVER的公钥保证了第三方无法窃听
我生成了一份秘密消息并用你的公钥加密了给你把
ClientKeyExchclientnge发给SERVER [此时他人获取秘密消息也无用因为只有server才能解开]
注意下面我就要用加密的办法给你发消息了
将秘密消息进行处理生成加密密钥加密初始化向量和hmclientc的密钥[此时他人获取公钥也无用 因为她不知道秘密消息内容]
[我说完了]
SERVER 用自己的私钥将ClientKeyExchclientnge中的秘密消息解密出来然后将秘密消息进行处理生成加密密钥加密初始化向量和hmclientc的密钥这时双方已经安全的协商出一套加密办法了
注意我也要开始用加密的办法给你发消息了
[我说完了]
CLIENT: [我的秘密是. . . ]
SERVER: [其它人不会听到的. . . ]
双向认证SSL协议的具体过程
①浏览器发送一个连接请求给安全服务器。
②服务器将自己的证书 以及同证书相关的信息发送给客户浏览器。
③客户浏览器检查服务器送过来的证书是否是由自己信赖的CA中心所签发的。如果是就继续执行协议如果不是客户浏览器就给客户一个警告消息警告客户这个证书不是可以信赖的询问客户是否需要继续。
④接着客户浏览器比较证书里的消息例如域名和公钥与服务器刚刚发送的相关消息是否一致如果是一致的客户浏览器认可这个服务器的合法身份。⑤服务器要求客户发送客户自己的证书。收到后服务器验证客户的证书如果没有通过验证拒绝连接如果通过验证服务器获得用户的公钥。⑥客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。
⑦服务器从客户发送过来的密码方案中选择一种加密程度最高的密码方案用客户的公钥加过密后通知浏览器。
⑧浏览器针对这个密码方案选择一个通话密钥接着用服务器的公钥加过密后发送给服务器。
⑨服务器接收到浏览器送过来的消息用自己的私钥解密获得通话密钥。⑩服务器、浏览器接下来的通讯都是用对称密码方案对称密钥是加过密的。单向认证SSL协议不需要客户拥有CA证书具体的过程相对于上面的步骤只需将服务器端验证客户证书的过程去掉以及在协商对称密码方案对称通话密钥时服务器发送给客户的是没有加过密的这并不影响SSL过程的安全性密码方案。 这样双方具体的通讯内容就是加过密的数据如果有第三方攻击获得的只是加密的数据第三方要获得有用的信息就需要对加密的数据进行解密这时候的安全就依赖于密码方案的安全。而幸运的是 目前所用的密码方案只要通讯密钥长度足够的长就足够的安全。这也是我们强调要求使用128位加密通讯的原因。
数字证书
什么是数字证书
是由证书签证机关CA签发的对用户的公钥的认证。
证书的内容应包括CA的信息、用户信息、用户公钥及CA签发时间及有效期等内容。 目前国际上对证书的格式及认证方法遵从X.509体系标准。
数字证书又称为数字标识Digital Certificate Digital ID 。它提供了一种在Internet上身份验证的方式是用来标志和证明网络通信双方身份的数字信息文件与司机驾照或日常生活中的身份证相似。在网上进行电子商务活动时交易双方需要使用数字证书来表明自己的身份并使用数字证书来进行有关的交易操作。通俗地讲数字证书就是个人或单位在Internet的身份证。数字证书主要包括三方面的内容证书所有者的信息、证书所有者的公开密钥和证书颁发机构的签名。
证书里包含了什么
一个标准的X.509数字证书包含以下一些内容
证书的版本信息
证书的序列号每个证书都有一个唯一的证书序列号
证书所使用的签名算法
证书的发行机构名称命名规则一般采用X.500格式
证书的有效期现在通用的证书一般采用UTC时间格式它的计时范围为1950-2049;
证书所有人的名称命名规则一般采用X.500格式
证书所有人的公开密钥
证书发行者对证书的签名。
数字证书能解决什么问题
在使用数字证书的过程中应用公开密钥加密技术建立起一套严密的身份认证系统它能够保证
保密性通过使用发件人的数字证书对电子邮件加密只有收件人才能阅读加密的邮件这样保证在Internet上传递的电子邮件信息不会被他人窃取 即使发错邮件收件人由于无法解密而不能够看到邮件内容。
完整性利用发件人数字证书在传送前对电子邮件进行数字签名不仅可确定发件人身份而且可以判断发送的信息在传递的过程中是否被篡改过。
身份认证在Internet上传递电子邮件的双方互相不能见面所以必须有方法
确定对方的身份。利用发件人数字证书在传送前对电子邮件进行数字签名即可确定发件人身份而不是他人冒充的。
不可否认性发件人的数字证书只有发件人唯一拥有故发件人利用其数字证书在传送前对电子邮件进行数字签名后发件人就无法否认发送过此电子邮件。数字证书的原理是什么
数字证书采用PKI Public Key Infrastructure公开密钥基础架构技术利用一对互相匹配的密钥进行加密和解密。
A加密和认证
首先我们需要区分加密和认证这两个基本概念。
加密是将数据资料加密使得非法用户即使取得加密过的资料也无法获取正确的资料内容所以数据加密可以保护数据防止监听攻击。其重点在于数据的安全性。
身份认证是用来判断某个身份的真实性确认身份后系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。两者的侧重点是不同的
B公钥和私钥
其次我们还要了解公钥和私钥的概念和作用。
在现代密码体制中加密和解密是采用不同的密钥公开密钥 也就是非对称密钥密码系统每个通信方均需要两个密钥即公钥和私钥这两把密钥可以互为加解密。公钥是公开的不需要保密而私钥是由个人自己持有并且必须妥善保管和注意保密。
公钥私钥的原则
1.一个公钥对应一个私钥。
2.密钥对中让大家都知道的是公钥不告诉大家只有自己知道的是私
钥。
3.如果用其中一个密钥加密数据则只有对应的那个密钥才可以解密。
4.如果用其中一个密钥可以进行解密数据则该数据必然是对应的那个密钥
进行的加密。
非对称密钥密码的主要应用就是公钥加密和公钥认证而公钥加密的过程和公钥认证的过程是不一样的下面我就详细讲解一下两者的区别。
C基于公开密钥的加密过程加密
比如有两个用户Alice和Bob Alice想把一段明文通过双钥加密的技术发送给Bob Bob有一对公钥和私钥那么加密解密的过程如下
1. Bob将他的公开密钥传送给Alice。
2. Alice用Bob的公开密钥加密她的消息然后传送给Bob。
3. Bob用他的私人密钥解密Alice的消息。
发送方使用接受方的公钥进行加密接受方用自己的私钥进行解密――实现通信的保密。
D基于公开密钥的认证过程身份鉴别
身份认证和加密就不同了主要用户鉴别用户的真伪。这里我们只要能够鉴别一个用户的私钥是正确的就可以鉴别这个用户的真伪。
还是Alice和Bob这两个用户 Alice想让Bob知道自己是真实的Alice而不是假冒的 因此Alice只要使用公钥密码学对文件签名发送给Bob Bob使用Alice的公钥对文件进行解密如果可以解密成功则证明Alice的私钥是正确的 因而就完成了对Alice的身份鉴别。整个身份认证的过程如下
1. Alice用她的私人密钥对文件加密从而对文件签名。
2. Alice将签名的文件传送给Bob。
3. Bob用Alice的公钥解密文件从而验证签名。
发送方使用自己的私钥加密接受方用发送方的公钥进行解密。
身份鉴别与加密
发送方使用自己的私钥对明文加密然后用接受方的公钥进行加密。
接受方使用自己的私钥解密然后使用发送方的公钥解密。
两次加密两次解密。
数字证书采用公钥体制即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥私钥 用它进行解密和签名同时设定一把公共密钥公钥并由本人公开为一组用户所共享用于加密和验证签名。当发送一份保密文件时发送方使用接收方的公钥对数据加密而接收方则使用自己的私钥解密这样信息就可以安全无误地到达目的地了。数字证书的应用
现有持证人甲向持证人乙传送数字信息为了保证信息传送的真实性、完整性和不可否认性需要对要传送的信息进行数字加密和数字签名其传送过程如下
1 甲准备好要传送的数字信息明文 。
2 甲对数字信息进行哈希hash运算得到一个信息摘要。
3 甲用自己的私钥SK对信息摘要进行加密得到甲的数字签名并将其附在数字信息上。
4 甲随机产生一个加密密钥DES密钥 并用此密钥对要发送的信息进行加密形成密文。
5 甲用乙的公钥PK对刚才随机产生的加密密钥进行加密将加密后的DES密钥连同密文一起传送给乙。
6 乙收到甲传送过来的密文和加过密的DES密钥先用自己的私钥SK对加密的DES密钥进行解密得到DES密钥。
7 乙然后用DES密钥对收到的密文进行解密得到明文的数字信息然后将DES密钥抛弃即DES密钥作废 。
8 乙用甲的公钥PK对甲的数字签名进行解密得到信息摘要附件 。
9 乙用相同的hash算法对收到的明文再进行一次hash运算得到一个新的信息摘要。
10乙将收到的信息摘要和新产生的信息摘要进行比较如果一致说明收到
的信息没有被修改过。
在5处用到的PK是否来自乙所持有的的数字证书若是从何处得到该数字证书关于此过程的加密解密是怎样实现
如何获得通讯对方的公钥并且相信此公钥是由某个身份确定的人拥有的这就要用到电子证书。 电子证书是由大家共同信任的第三方---认证中心
Certificate Authority CA来颁发的有某人的身份信息、公钥和CA的数字签名。任何一个信任CA的通讯一方都可以通过验证对方电子证书上的CA数字签名来建立起和对方的信任并且获得对方的公钥以备使用。
数字证书的使用
每一个用户有一个各不相同的名字一个可信的证书认证中心CA给每个用户分配一个唯一的名字并签发一个包含名字和用户公开密钥的证书。
如果甲想和乙通信他首先必须从数据库中取得乙的证书然后对它进行验证。如果他们使用相同的CA事情就很简单。 甲只需验证乙证书上CA的签名如果他们使用不同的CA 问题就复杂了。 甲必须从CA的树形结构底部开始从底层CA往上层CA查询一直追踪到同一个CA为止找出共同的信任CA。
证书可以存储在网络中的数据库中。用户可以利用网络彼此交换证书。当证书撤销后它将从证书目录中删除然而签发此证书的CA仍保留此证书的副本 以备日后解决可能引起的纠纷。
如果用户的密钥或CA的密钥被破坏从而导致证书的撤销。每一个CA必须保留一个已经撤销但还没有过期的证书废止列表CRL 。当甲收到一个新证书时首先应该从证书废止列表CRL中检查证书是否已经被撤销。
数字证书由谁来颁发如何颁发
数字证书是由认证中心颁发的。
认证中心是一家能向用户签发数字证书以确认用户身份的管理机构。为了防止数字凭证的伪造认证中心的公共密钥必须是可靠的认证中心必须公布其公共密钥或由更高级别的认证中心提供一个电子凭证来证明其公共密钥的有效性后一种方法导致了多级别认证中心的出现。
数字证书颁发过程如下用户首先产生自己的密钥对并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后将执行一些必要的步骤以确信请求确实由用户发送而来然后认证中心将发给用户一个数字证书该证书内包含用户的个人信息和他的公钥信息同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。
消息摘要
某些人可能会篡改或替换其原始消息一种保证消息完整性的方法是同时发一个其消息的简单摘要与消息本身比对如果相符则消息正确。
数字签名
不可抵赖和身份确认
证书
是由证书签证机关CA签发的对用户的公钥的认证。
证书的内容证书机构
证书链
建立顶级CA
tmhhost怎么样?tmhhost正在搞暑假大促销活动,全部是高端线路VPS,现在直接季付8折优惠,活动截止时间是8月31日。可选机房及线路有美国洛杉矶cn2 gia+200G高防、洛杉矶三网CN2 GIA、洛杉矶CERA机房CN2 GIA,日本软银(100M带宽)、香港BGP直连200M带宽、香港三网CN2 GIA、韩国双向CN2。点击进入:tmhhost官方网站地址tmhhost优惠码:Tm...
Hostkey.com成立于2007年的荷兰公司,主要运营服务器出租与托管,其次是VPS、域名、域名证书,各种软件授权等。hostkey当前运作荷兰阿姆斯特丹、俄罗斯莫斯科、美国纽约等数据中心。支持Paypal,信用卡,Webmoney,以及支付宝等付款方式。禁止VPN,代理,Tor,网络诈骗,儿童色情,Spam,网络扫描,俄罗斯色情,俄罗斯电影,俄罗斯MP3,俄罗斯Trackers,以及俄罗斯法...
ParkInHost主机商是首次介绍到的主机商,这个商家是2013年的印度主机商,隶属于印度DiggDigital公司,主营业务有俄罗斯、荷兰、德国等机房的抗投诉虚拟主机、VPS主机和独立服务器。也看到商家的数据中心还有中国香港和美国、法国等,不过香港机房肯定不是直连的。根据曾经对于抗投诉外贸主机的了解,虽然ParkInHost以无视DMCA的抗投诉VPS和抗投诉服务器,但是,我们还是要做好数据备...