SSL协议运行的基点
篇一:SSL协议简介
SSL协议简介
SSL是由Netscape开发出来的一种在让可持有证书的浏览器软件(比如Internet Explorer、Netacpe Navigator)和WWW服务器(如Netscape的Netscape Enterprise Server 、ColdFusion Server等等)之间构造的安全通道中传输数据的协议,它运行在TCP/IP层之上、应用层之下(如图一),用TCP/IP代表高级协议在数据通信过程中允许一个支持SSL的
WWW服务器在支持SSL的客户端使协议本身获得信任、使客户端得到服务器的信任,从而在两台机器间建立一个可靠的加密传输连接。
SSL 服务器端验证 使用户获得服务器端的信息。支持SSL的客户端软件可以用标准的公共密钥算法验证服务器的证书和公开ID是否合法和是否已经被客户端信任的CA机构颁发了证书。这种确认在网上交易中,比如用户把信用卡号通过网络传输出去,希望了解接受服务器的身份信息这种活动中就得到体现。SSL 客户端验证 使服务器获得用户的个人信息。支持SSL的服
务器端软件可以用标准的公共密钥算法验证用户的证书和公开ID是否合法和是否已经被服务器端信任的CA机构颁发了证书。如果一家银行需要通过网络将客户的帐户信息传递出去,自然就需要检查接受端的身份信息。
一条加密的数据通道 将双方机器间传输的所有数据都以加密的形式传送,这样,就提供了非常高的可信任程度。
SSL协议包括两个子协议:SSL记录协议和SSL握手协议。前者定制了传输数据的格式。后者利用前者在支持SSL的客户端和服务器端之间建立安全传输通道之后提供一系列消息,用来实现:
● 在客户端验证服务器;
● 允许客户端和服务器选择双方都支持的加密算法、密钥算子
● 在服务器端验证客户(可选的)
● 用公钥加密算法产生"共享秘密"
● 建立加密SSL连接。
SSL 握手过程:
SSL协议同时使用对称密钥算法和公钥加密算法。前者在速度上比后者要快很多,但是后者可以实现更好的安全验证。一个SSL传输过程需要先握手:用公钥加密算法使服务器端在客户端得到验证,以后就可以使双方用商议成功的对称密钥来更快速的加密、解密数据。
过程描述如下:
1. 客户端向Server段发送客户端SSL版本号、加密算法设置、随机产生的数据和其他服务器需要用于跟客户端通讯的数据。
2. 服务器向客户端发送服务器的SSL版本号、加密算法设置、随机产生的数据和其他客户端需要用于跟服务器通讯的数据。另外,服务器还要发送自己的证书,如果客户端正在请求需要认证的信息,那么服务器同时也要请求获得客户端的证书。
3. 客户端用服务器发送的信息验证服务器身份。如果认证不成功,用户就将得到一个警告,然后加密数据连接将无法建立。如果成功,则继续下一步
4. 用户用握手过程至今产生的所有数据,创建连接所用的Premaster secret,用服务器的公钥加密(在第二步中传送的服务器证书中得到),传送给服务器。
5. 如果服务器也请求客户端验证,那么客户端将对另外一份不同于上次用于建立加密连接使用的数据进行签名。在这种情况下,客户端会把这次产生的加密数据和自己的证书同时传送给服务器用来产生Premaster Secret.
socket通信报文格式6. 如果服务器也请求客户端验证,服务器将试图验证客户端身份。如果客户端不能获得认证,连接将被中止。如果被成功认证,服务器用自己的私钥加密Premaster Secret,然后执行一系列步骤产生Master Secret.
7. 服务器和客户端同时产生Session Key,之后的所有数据传输都用对称密钥算法来交流数据。
8. 客户端向服务器发送信息说明以后的所有信息都将用Session Key加密。
至此,它会传送一个单独的信息标示客户端的握手部分已经宣告结束。
9. 服务器也向客户端发送信息说明以后的所有信息都将用Session Key加密。至此,它会传送一个单独的信息标示服务器端的握手部分已经宣告结束。
10. SSL握手过程就成功结束,一个SSL数据传送过程建立。客户端和服务器开始用Session Key加密、解密双方交互的所有数据。
一个SSL传输过程大致就是这样,但是很重要的一点不要忽略:利用证书在客户端和服务器端进行的身分验证过程。
一个支持SSL的客户端软件通过下列步骤认证服务器的身份:
1. 服务器端传送的证书中获得相关信息(在SSL中有函数支持,在程序中有相关例子);
2. 当天的时间是否在证书的合法期限内;
3. 签发证书的机关是否客户端信任的;
4. 签发证书的公钥是否符合签发者的数字签名
5. 证书中的服务器域名是否符合服务器自己真正的域名?
6. 服务器被验证成功,客户继续进行握手过程。
一个支持SSL的服务器通过下列步骤认证客户端的身份:
1. 客户端传送的证书中获得相关信息;
2. 用户的公钥是否符合用户的数字签名;
3. 当天的时间是否在证书的合法期限内;
4. 签发证书的机关是否服务器端信任的;
5. 用户的证书是否被列在服务器的LDAP里用户的信息中
6. 得到验证的用户是否仍然又权限访问请求的服务器资源
篇二:SSL协议、SET协议、HTTPS简介
SSL协议、SET协议、简介
朱先忠 整理
一、SSL协议简介
SSL是Secure Socket Layer的缩写,中文名为安全套接层协议层。使用该协议后,您提交的所有数据会首先加密后,再提交到网易邮箱,从而可以有效防止黑客盗取您的用户名、密码和通讯内容,保证了您个人内容的安全。
具体地说,SSL (Secure Socket Layer)
为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络
上之传输过程中不会被截取及窃听。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全
标准,但限制出境。只要3.0版本以上之I.E.或Netscape浏览器即可支持SSL。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论