再回首之Nginx(十) HTTPS服务


引言

大家应该对Https并不陌生吧。目前苹果后端api的接入、小程序跟后端的交互都要求基于https服务。

Ozan记录生活!


HTTPS服务科普

为什么需要https?
原因:http不安全
1.传输数据被中间人盗用、信息泄露。
2.数据内容劫持、篡改

https协议的实现
对传输内容进行加密以及身份验证。

  • Https协议原理

  • Https优势劣势

对称加密和非对称加密

对称加密
非对称加密

公钥负责加密,私钥负责解密。

Https加密协议原理

同时使用了对称加密和非对称加密。

首先当用户端发起SSL连接时,它进行的是非对称加密。非对称加密将公钥发送给客户端以后,客户端然后再用对应的公钥来加密对称加密的密码,然后再利用对称加密的算法来进行数据的传输。

Https为什么要同时选择对称加密及非对称加密呢?
这与非对称加密、对称加密的优劣势有关系。非对称加密往往对于连接要求更高,服务端总要发送一段公钥给客户端。如果多次连接的情况下,对性能是有损耗的,而对称加密对性能来说就非常简单。所以在第一次安全验证之后,完全可以用到对称加密进行加密就可以了。

https对于中间人的劫持是怎样防范的呢?
现在的中间人的劫持手段是非常高明的,它既可以伪装客户端进行劫持,也可以伪装服务端对客户端的数据进行劫持。也就是说它可以在https协议进行握手的时候,完全可以对从客户端向服务端发的数据包进行劫持伪装,并且在服务端发送给客户端的时候也能伪装客户端进行劫持。

中间人伪造客户端和服务端

如果是这样的情况,https是解决不了中间人劫持的技术的。那就需要用到https的ca证书。

服务端之前是向客户端发送的公钥,对于https呢,发送给客户端的是ca签名证书。
有了这个ca签名过后的证书,中间人劫持的作用就没有了,因为客户端会另外对ca签名的证书进行校验,ca签名证书里包含了对应的公钥。

这个签名证书是服务端之前就已经和第三方机构进行了对应的签名和授权。那么客户端在真正进行连接的时候呢,还需要一次校验。中间人劫持的方式就无法实现了。

CA证书的作用

生成密钥和CA证书

#openssl version

#nginx -V
  • 步骤一、生成key密钥
  • 步骤二、生成证书签名请求文件(csr文件)
  • 步骤三、生成证书签名文件(CA证书)

实战构建一个满足苹果要求的HTTPS后台服务

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 专题一,主要介绍HTTPS建立安全链接的原理,包括非对称加密、对称加密、CA认证等知识,还包括对一些业界常用算法的...
    有何不可12317阅读 308评论 0 0
  • PKI 基础知识 (摘自Microsoft Windows 2000 Server白皮书,2000年7月5日发布)...
    right_33cb阅读 982评论 0 1
  • 原文地址 http://blog.csdn.net/u012409247/article/details/4985...
    0fbf551ff6fb阅读 3,580评论 0 13
  • 原文链接:http://blog.jobbole.com/86660/ 1 前言 百度已经于近日上线了全站 HTT...
    xlhzj阅读 1,121评论 0 2
  • HTTPS介绍 超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩...
    齐滇大圣阅读 8,991评论 8 96