SSL安全协议笔记记录


cerbot笔记参考简书的 杭州七木科技文章.

对称加密与非对称加密

  • 对称加密,只存在一个秘钥,一个明文用秘钥进行异或操作以后,得到一个密文,密文用秘钥又异或操作后,就可以得到明文。
  • 非对称加密,会存在公钥(公开的)和私钥,在用公钥加密后的密文,只有用私钥才能解密,私钥加密后的密文,只有公钥才能解密。可以加密文件,和身份验证(用私钥加密)。

PKI公钥基础设施

  • 负责公信,发证书的CA机构
    证书订阅人在登记机构进行身份登记(证书签名申请request certificate issuance, CSR),登记机构再通过CSR发消息给CA,CA中心通过后,会生成公钥和私钥,公钥在CA证书保存,给回用户。订阅人拿到回部署到nginx中(web服务器),浏览器访问站点,会请求服务器证书,服务器会把CERT的公钥证书发回给浏览器,浏览器要去验证证书是否有效的,就会去CRL服务器查询,CRL是CA把过期证书放入的服务器,但是链条形式的,性能很差。所以就出现OCSP响应程序,能以一个证书去查询是否过期,OCSP性能不高,nginx有OCSP开关,可以主动去OCSP查询证书是否有效。客户端直接就能得到证书是否有效。

证书类型

  • 域名验证(domain validated,DV)证书
    只会验证域名是否正确,大部分免费
  • 组织验证(organization validated,OV)证书
    验证填写的机构和机构是否正确,价格远高于DV
  • 扩展验证(extended validated,EV)证书
    比OV做更严格的验证,大部分浏览器友好地在网址栏显示填写的公司名称

所有站点的主证书会以三级证书的形式,(DigiCert Global Root CA)根证书,(Encryption Everywhere DV TLS CA - G1)二级证书,(www.taohui.pub)主证书,根证书的验证严格验证,操作系统每一年才更新一次根证书,操作系统验证的是根证书,浏览器主要获取二级证书和主证书。

TLS通讯过程

验证身份 达成安全套件共识 传递秘钥 加密通信

  1. 浏览器向服务器发送client hello,不同浏览器所支持的安全套件和加密算法都不同,是为了告诉服务器我支持什么算法。
  2. Server Hello nginx会通过会的算法的列表,选择最喜欢的加密套件发送给客户端。
  3. 会把公钥证书server Certificates发送给客户端, 是包含证书链,找根证书库验证证书是否有效。
  4. 服务器会发server hello done,但完全套件选择了椭圆曲线算法,在3 4步之间会发送椭圆曲线算法的参数,方便第六步生成最终加密的秘钥。
  5. 客户端也要根据椭圆曲线的参数,生成自己的私钥,把公钥发给服务器。服务器有了私钥,再把公钥给回客户端。
  6. 服务器可根据自己的私钥和客户端的公钥共同生成双方加密的秘钥key generation,客户端可根据自己的私钥和服务端的公钥共同生成双方加密的秘钥key generation,而双方生成的秘钥是一样的,这由非对称加密保证DHCE。
  7. 最后通过最后的秘钥进行通信。
    小文件用的是非对称加密算法RSA 大文件用对称加密算法AES
    小文件多优化椭圆曲线算法 大文件考研AES 密码强度降低

certbot获取免费https

certbot官方网站
https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx

HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS:全称:Hyper Text Transfer Protocol over Secure Socket Layer,则是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
Https使用的是443端口

在Ubuntu上进行设置

在安装好certbot后,可执行以下命令:
certbot --nginx --nginx-server-root=/usr/local/openresty/nginx/conf/ -d www.xxxxx.com
这样就会去获取证书,然后部署到openresty的nginx中,接着给你两个选择,一个不要重定向(No redirect),另一个做重定向(Redirect)。有了https站点后,会希望所有明文显示不安全的流量全部用301和302重定向协议,转到https站点。那么继续访问http站点还是可以的。

certbot在nginx.conf中的工作

在http中多添加5行,打开443,公钥和私钥证书也会放置好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值