我们经常会遇到页面被运营商插入小广告这种事情(数据被篡改),可想而知,HTTP是有多么不安全。
如何做到的?
答:只需要设定相应的DNS,做一个中间人攻击,再将修改后的数据返回。
那么:解决上面问题需要考虑哪些因素:
HTTPS的设计的时候就主要考虑了以上的主要因素:
数据加密 --传输内容进行混淆
非对称加密(也叫公钥加密)
对称加密(也叫密钥加密)
身份验证 --通信双方验证对方的身份真实性
数据完整性保护 --检测传输的内容是否被篡改或伪造
因此切换使用HTTPS,就可以防止页面被运营商篡改问题。
HTTPS概念如下:
简单用图表示:
安全HTTP的实现
数据完整性:
数字签名是只有信息发送者才能产生的别人无法伪造的一段文本,这段文本是对信息发送者发送信息真实性的一个有效证明,具有不可抵赖性。
报文的发送方从报文文本生成一个128位的散列值(或称为报文摘要活哈希值),发送方使用自己的私钥对这个摘要值进行加密来形成发送方的数字签名。
然后这个数字签名将作为报文的附件一起发送给报文的接收方。
报文的接收方首先从接收到的原始报文中计算出128位的散列值,再用发送方的公钥来对报文附加的数字签名进行解密。
如果两次得到的结果是一致的那么接收方可以确认该数字签名是发送方的,同时确认信息是真实的
HTTPS数据交互过程:
HTTP中没有加密机制,可以通过SSL(Secure Socket Layer 安全套接层)或TLS(Transport Layer Security 安全层传输协议)的组合使用,加密HTTP的通信内容。
SSL工作在OSI七层模型中的表示层,TCP/IP 四层模型的应用层。
SSL记录协议操作:
分段 将每个上层消息分解成不大于2^14(16384)位,然后有选择的进行压缩
添加MAC 在压缩数据的基础上计算MAC
加密 消息加上MAC用对称加密方法加密
添加SSL记录头 内容类型(8位),主版本(8位),副版本(8位),压缩长度(16位)
SSL握手过程:
SSL协议两个重要概念,SSL会话,SSL连接;
SSL连接是点到点的连接,而且每个连接都是瞬态的,每一个链接都与一个会话关联。
SSL会话是一个客户端和一个服务器之间的一种关联,会话由握手协议(Handshake Protocol)创建,所有会话都定义了一组密码安全参数,这些安全参数可以在多个连接之间共享,会话可以用来避免每一个链接需要进行的代价高昂的新的安全参数协商过程。
好的,今天的介绍先到这里了哈。
网友评论