SSL保护TCP上任何应用协议; HTTP、FTP、SMTP、telnet通信,都是用SSL来保护HTTP的通信 SSL的优点在于它是与应用层协议无关的。 高层的应用协议透明地建立于SSL协议之上。 SSL协议在应用层之前就完成加密算法、通信密钥的协商以及服务器的认证工作。 在此之后应用层协议所传送的数据都会被加密。 —— SSL解决: 客户对服务器的身份认证; ——SSL服务器允许客户的浏览器使用标准公钥加密技术和CA的证书,确认服务器的合法性。 服务器对客户的身份认证; ——通过公钥技术和证书进行认证,也可通过用户名,password认证 建立服务器与客户之间安全的数据通道; ——SSL要求客户与服务器之间的所有发送数据都被发送端加密、接收端解密,还检查数据的完整性。 SSL:客户端发送:SSL版本号、密码设置、可实现的算法列表、随机数、服务器所需其他信息 服务端回应消息,确认版本号、加密算法和压缩算法 服务器发出服务器数字证书; 客户端的身份认证是可选的; 客户端生成预主密钥pre_master_secert,用服务器的公钥加密后返回服务器,服务器利用自己的私钥解密后得到会话密钥 若服务器要求客户认证,客户机会向服务器随加密的pre_master_secret一起发送签名的数据和客户自己的证书. 私钥加密pre-master-secret,执行一系列步骤生成master secret,否则会话终止 客户机与服务器使用master secret生成会话密钥,是对称密钥,用于加密和解密在SSL会话期间交换的信息,检验信息完整性. 过程: 1、 应用程序把应用数据提交给本地的SSL 2、 发送端的SSL根据需要: a) 使用指定压缩算法,压缩应用数据 b) 使用散列算法对压缩后的数据计算散列值; c) 把散列值和压缩数据一起用加密算法加密; 3、 密文通过网络传输给对方 接收方的SSL 用相同的加密算法对密文解密,获得明文; 用相同的散列算法对明文中的应用数据散列; 计算得到的散列值与明文中的散列值比较; |