分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

关于HTTPS的使用简介

发布时间:2023-09-06 01:06责任编辑:傅花花关键词:暂无标签

HTTPS概述

HTTPS 可以认为是 HTTP + TLS。TLS 是传输层加密协议,它的前身是 SSL 协议,最早由netscape公司发布,后改名为 TLS。如果没有特别说明,SSL 和 TLS 说的都是同一个协议。

通信过程

1).浏览器将自己支持的一套加密规则发送给网站。2).网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。3).获得网站证书之后浏览器要做以下工作:4) 验证证书的合法性,如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。5) 如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。6) 使用约定好的HASH计算握手消息,并使用生成的随机数密码对消息进行加密,最后将之前生成的所有信息发送给网站。 ??7).网站接收浏览器发来的数据之后要做以下的操作:8) 使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。9) 使用密码加密一段握手消息,发送给浏览器。10).浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密。

关键概念:

CA (Certificate Authority):认证权威或者认证中心,主要用途是为用户发放数字证书。认证中心(CA)的功能有:证书发放、证书更新、证书撤销和证书验证。秘钥协商:浏览器和服务器每次新建会话时都使用非对称密钥交换算法协商出对称密钥,使用这些对称密钥完成应用数据的加解密和验证,整个会话过程中的密钥只在内存中生成和保存,而且每个会话的对称密钥都不相同(除非会话复用),中间者无法窃取。常见的密钥交换算法有 RSA,ECDHE,DH,DHE 等算法。它们的特性如下:RSA:算法实现简单,诞生于 1977 年,历史悠久,经过了长时间的破解测试,安全性高。缺点就是需要比较大的素数(目前常用的是 2048 位)来保证安全强度,很消耗 CPU 运算资源。RSA 是目前唯一一个既能用于密钥交换又能用于证书签名的算法。DH:diffie-hellman 密钥交换算法,诞生时间比较早(1977 年),但是 1999 年才公开。缺点是比较消耗 CPU 性能。ECDHE:使用椭圆曲线(ECC)的 DH 算法,优点是能用较小的素数(256 位)实现 RSA 相同的安全等级。缺点是算法实现复杂,用于密钥交换的历史不长,没有经过长时间的安全攻击测试。ECDH:不支持 PFS,安全性低,同时无法实现 false start。DHE:不支持 ECC。非常消耗 CPU 资源。对称加密:使用秘钥协商获取到的对称秘钥加密通信。数字证书: ???a、身份授权。确保浏览器访问的网站是经过 CA 验证的可信任的网站。 ???b、分发公钥。每个数字证书都包含了注册者生成的公钥。在 SSL 握手时会通过 certificate 消息传输给客户端。

证书

根证书:用于验证CA机构的身份。网站证书:用于验证网站身份。验证过程为从证书链从下往上找到根证书,然后通过根证书 逐级向下验证证书的真实性。

nginx配置

server { ???listen ??????80; ???server_name ?www.acme.com; ???location / { ???????rewrite ^/(.*) https://www.acme.com/$1 permanent; ???}}server { ???listen ???443 ssl; ???server_name ?www.acme.com; ???ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ???ssl_certificate ????/home/nginx/cer/acme.com.crt; ???ssl_certificate_key /home/nginx/cer/device.key; ???ssl_session_cache ???shared:SSL:1m; ???ssl_session_timeout ?1440m; ???ssl_ciphers HIGH:!aNULL:!MD5; ???ssl_prefer_server_ciphers ?on; ???access_log ?logs/www.acme.com.access.log ?main; ???error_log ?logs/www.acme.com.error.log ?debug; ???location / { ???????????proxy_pass http://192.168.198.132:8080; ???}}

使用脚本

参考download目录下:HTTPS-Turorial-Package.rar

关于HTTPS的使用简介

原文地址:http://www.cnblogs.com/liushuncheng/p/7428517.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved