HTTPS-免费ssl证书-Nginx配置


HTTPS-免费ssl证书-Nginx配置

HTTPS-免费ssl证书-Nginx配置

一 Http和Https的区别

HTTP协议,英文全称是Hyper Text Transfer Protocol,是超文本传输协议

HTTPS协议,英文全称Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议

HTTPS 和 HTTP 的默认端口不同(44380)

HTTPS在 HTTP与 TCP 之间加入了一个加密/身份验证层,提供了身份验证与加密通讯

HTTP+ SSL / TLS,也就是在 http上又加了一层处理加密信息的模块,比 http安全,可防止数据在传输过程中被窃取、改变,确保数据的完整性

SSL(Secure Socket Layer,安全套接字层):1994年为 Netscape 所研发,SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。

TLS(Transport Layer Security,传输层安全):其前身是 SSL,它最初的几个版本(SSL 1.0、SSL 2.0、SSL 3.0)由网景公司开发,1999年从 3.1 开始被 IETF 标准化并改名,发展至今已经有 TLS 1.0、TLS 1.1、TLS 1.2 三个版本。SSL3.0和TLS1.0由于存在安全漏洞,已经很少被使用到。TLS 1.3 改动会比较大,目前还在草案阶段,目前使用最广泛的是TLS 1.1、TLS 1.2

1.1 HTTP不安全

HTTP 由于是明文传输,主要存在三大风险:窃听风险、篡改风险、冒充风险

1.1.1 窃听风险

中间人可以获取到通信内容,由于内容是明文,所以获取明文后有安全风险

1.1.2 篡改风险

中间人可以篡改报文内容后再发送给对方,风险极大。

1.1.3冒充风险

比如你以为是在和某宝通信,但实际上是在和一个钓鱼网站通信。

HTTPS 是为了解决这三大风险而存在的,接下来我们看看 HTTPS 到底解决了什么问题

1.2 HTTP向HTTPS的演变

HTTP 向 HTTPS 演化的过程

第一步:为了防止上述现象的发生,人们想到一个办法:对传输的信息加密(即使黑客截获,也无法破解)

对称加密,双方拥有相同的密钥,信息得到安全传输,但此种方式的缺点是:

(1)不同的客户端、服务器数量庞大,所以双方都需要维护大量的密钥,维护成本很高

(2)因每个客户端、服务器的安全级别不同,密钥极易泄露

第二步:既然使用对称加密时,密钥维护这么繁琐,那我们就用非对称加密试试

客户端用公钥对请求内容加密,服务器使用私钥对内容解密,反之亦然,但上述过程也存在缺点:

(1)公钥是公开的(也就是黑客也会有公钥),所以私钥加密的信息,如果被黑客截获,其可以使用公钥进行解密,获取其中的内容

第三步:非对称加密既然也有缺陷,那我们就将对称加密,非对称加密两者结合起来,取其精华、去其糟粕,发挥两者的各自的优势

(1)客户端说:(咱们后续回话采用对称加密吧,这是对称加密的算法和对称密钥)这段话用公钥进行加密,然后传给服务器

(2)服务器收到信息后,用私钥解密,提取出对称加密算法和对称密钥后,服务器说:(好的)对称密钥加密

(3)后续两者之间信息的传输就可以使用对称加密的方式了

遇到的问题:

(1)客户端如何获得公钥

(2)如何确认服务器是真实的而不是黑客

第四步:获取公钥与确认服务器身份

1、获取公钥

(1)提供一个下载公钥的地址,回话前让客户端去下载。(缺点:下载地址有可能是假的;客户端每次在回话前都先去下载公钥也很麻烦) (2)回话开始时,服务器把公钥发给客户端(缺点:黑客冒充服务器,发送给客户端假的公钥)

2、那有木有一种方式既可以安全的获取公钥,又能防止黑客冒充呢? 那就需要用到终极武器了:SSL 证书[申购]

服务器发送了一个SSL证书给客户端,SSL 证书中包含的具体内容有:

(1)证书的发布机构CA

(2)证书的有效期

(3)公钥

(4)证书所有者

(5)签名

3、客户端在接受到服务端发来的SSL证书时,会对证书的真伪进行校验,以浏览器为例说明如下:

(1)首先浏览器读取证书中的证书所有者、有效期等信息进行一一校验

(2)浏览器开始查找操作系统中已内置的受信任的证书发布机构CA,与服务器发来的证书中的颁发者CA比对,用于校验证书是否为合法机构颁发

(3)如果找不到,浏览器就会报错,说明服务器发来的证书是不可信任的。

(4)如果找到,那么浏览器就会从操作系统中取出 颁发者CA 的公钥,然后对服务器发来的证书里面的签名进行解密

(5)浏览器使用相同的hash算法计算出服务器发来的证书的hash值,将这个计算的hash值与证书中签名做对比

(6)对比结果一致,则证明服务器发来的证书合法,没有被冒充

(7)此时浏览器就可以读取证书中的公钥,用于后续加密了

4、所以通过发送SSL证书的形式,既解决了公钥获取问题,又解决了黑客冒充问题,一箭双雕,HTTPS加密过程也就此形成

所以相比HTTP,HTTPS 传输更加安全

(1) 所有信息都是加密传播,黑客无法窃听。

(2) 具有校验机制,一旦被篡改,通信双方会立刻发现。

(3) 配备身份证书,防止身份被冒充

二 HTTPS认证流程

HTTPS认证流程

三 ssl证书分类

SSL证书依据功能和品牌不同分类有所不同,但SSL证书作为国际通用的产品,最为重要的便是产品兼容性(即证书根预埋技术),因为他解决了网民登录网站的信任问题,网民可以通过SSL证书轻松识别网站的真实身份。SSL证书分为如下种类:

  • 域名型SSL证书(DV SSL)
  • 企业型SSL证书(OV SSL)
  • 增强型SSL证书(EV SSL)

域名型SSL证书(DV SSL)

只验证网站域名所有权的简易型SSL证书,此类证书仅能起到网站机密信息加密的作用,无法向用户证明网站的真实身份。适用于个人网站、小型组织或企业网站、各类加密应用(如数据库和即时通讯协议等)。

企业型 SSL 证书(OV SSL)

需要验证网站所有单位的真实身份的标准型SSL证书,需要购买者提交组织机构资料和单位授权信等在官方注册的凭证,不仅能起到网站机密信息加密的作用,而且能向用户证明网站的真实身份。所以,推荐在所有电子商务网站使用,因为电子商务需要的是在线信任和在线安全。

增强型 SSL 证书(EV SSL)

同样是基于SSL/TLS安全协议,都是用于网站的身份验证和信息在网上的传输加密,但验证流程更加具体详细,验证步骤更多,证书所绑定的网站就更加的可靠,可信,它跟普通SSL证书的区别也是明显的,证书上面会显示更多的信息,不仅仅是网站所属单位信息,还有公司地址等等;部署证书后,用户打开网站时,浏览器地址栏会显示绿色,在地址栏还会显示网站所属单位的名称,特别适合金融、保险、p2p、电商、网上支付等等行业

四 申请免费证书

各大平台都会提供免费ssl证书,一般一年,过期后收费,如阿里云,七牛云,腾讯云等

免费90天,到期可以继续免费申请的:https://www.sslforfree.com/(要注册,要翻墙)

详细查看原地址


文章作者: 祈安
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 祈安 !
评论
  目录