关于SSL原理的详解


SSL原理详解

其实SSL从网上看到的资料很多了,但是发现还是没有将原理讲得特别清楚,尤其是对CA,433端口与80端口的数据传输原理,都没有说得很清楚。通过在网上找相关资料,写此博客也便以后自己回顾。
SSL主要解决的问题是什么?是解决防钓鱼网站,防中间人攻击。利用非对称加密,让客户端和服务端进行密码协商,然后用对称加密进行数据传输,以确保数据传输的安全性。那么怎么解决传输的中间人截取信息后伪造数据的问题就是SSL的原理。


一、SSL是什么?

SSL(Secure Sockets Layer 安全套接字协议)。传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。可分为两层:

应用层
SSL Handshake Protocol
SSL Record Protocol
TCP

1、SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密支持。 确保机密性、完整性
2、SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,该协议允许服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。握手协议是在应用程序的数据传输之前使用的。
3、警报协议(SSL Alert protocol)客户机和服务器发现错误时,向对方发送一个警报消息。如果是致命错误,则算法立即关闭SSL连接,双方还会先删除相关的会话号,密钥。每个警报消息共2个字节,第1个字节表示错误类型,如果是警报,则值为1,如果是致命错误,则值为2;第2个字节制定实际错误类型。

二、建立SSL通道过程

1.简化篇

客户端向跟服务端443端口说:哥们,建立一个安全连接吧,你在不在?
服务端回应说:在的,我有DES、AES、IDEA加密算法,你看用哪个?
客户端说:我们用DES吧,私钥是abc123;
服务器端说:收到,我们建立连接吧。
于是客户端利用DES算法将请求信息利用密钥abc123加密,向服务器端80端口发送请求;服务器端获取数据后,利用DES算法和密钥abc123解密,并将结果发回给客户端。由于私钥只有客户端和服务端知道,这样保证数据通信的安全性。

那么问题来了,怎么保证客户端和服务端商量算法和密钥的时候是安全的,不会被中间人获取后,伪造信息呢?

2.具体建立过程

Client GoodRouter BadRouter Server CA 申请证书,注册域名和公钥 CA利用CA的私钥加密Server(域名和公钥),由于GoodRouter和BadRouter只有CA的公钥, 没有私钥信息,所以无法篡改,只能老老实实转发 利用CA公钥解密,获得Server公钥 利用Server的公钥加密“Server, Client想和你建立个连接” “Server, Client想和你建立个连接” 我想篡改,但是我只有Server的公钥, “Server,Client想和你建立个连接”也是用公钥加密过的,只能转给Server 利用私钥解密,得到 Client想跟我建立连接的请求 利用私钥加密,“在的,我有DES、AES、IDEA加密算法,你看用哪个” 中间传输过程因为都是加密的,所以中间人无法篡改,我就忽略了 用Server的公钥加密“我们用DES吧,私钥是abc123” 用Server的私钥加密“收到,我们建立连接吧” DES算法和私钥abc123加密请求,将数据发送给服务端,获取数据 Client GoodRouter BadRouter Server CA

那么还有一个问题,CA的公钥是怎么下发给Client的呢,因为CA如果是通过网络下发的,都有可能有中间人(BadRouter)伪装自己是CA公司,将假证书下发给Client,这样Client的任何请求都可能以假证书的公钥加密,发给BadRouter,BadRouter将解密的信息再包装后发给Server,Server回的信息就都给了BadRouter,BadRouter把造假信息以Server的名义回给Client。这样信息就被劫持了,你的银行卡就被盗了。
那怎么解决,其实是通过操作系统来保证的。操作系统安装时就已经安装了公认安全的CA公司的数字证书,怎么找呢?看下面的截图
CA证书
所以如果安装的盗版操作系统,可能会被植入伪造的CA证书。具体操作可以看看我的另外一篇博客内网数字证书的生成与使用


总结

以上就是我总结的网上资料关于SSL的安全加密的过程,当然TCP协议握手属于比较基础的知识,就不在这里赘述了。简单的说整个过程就是建立在CA证书的签发机构的公信力之上,如果CA本身安全性无法保证,那整个安全通信的机制就瓦解了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值