网站转移码,广点通投放平台登录,企业网站系统,微信小程序登陆wordpress后台首先说一下几个概念#xff1a;对称加密、非对称加密
对称加密#xff1a; 客户端和服务端使用同一个秘钥#xff0c;分两种情况#xff1a; 1、所有的客户端和服务端使用同一个秘钥#xff0c;这个秘钥被泄漏后数据不再安全 2、每个客户端生成一个秘钥对称加密、非对称加密
对称加密 客户端和服务端使用同一个秘钥分两种情况 1、所有的客户端和服务端使用同一个秘钥这个秘钥被泄漏后数据不再安全 2、每个客户端生成一个秘钥如果客户端比较多这样在服务端就有很多个秘钥对服务端造成压力
非对称加密 1、客户端和服务端使用不同的秘钥服务端生成私钥和公钥在客户端请求服务端建立连接时 服务端将公钥发给客户端私钥只在服务端保存 2、私钥加密的公钥可以解密公钥加密的私钥可以解密公钥加密的公钥不能解密私钥加密的私钥不能解密 公钥和私钥从哪里来在服务端通过openSSL生成私钥然后通过私钥再生成公钥这样保证了私钥和公钥的关联
三次握手和四次握手 客户端和服务端成功建立连接的过程叫做三次握手建立连接之后客户端需要验证证书的合法性、生成 session secret 用于数据传输的对称加密等具体步骤参考 HTTPS四次握手的过程-转载 - 知乎
Https的实现原理 https的过程分为证书验证和数据传输阶段具体交互过程如下在证书验证阶段采用非对称加密数据传输阶段采用对称加密因为对称加密的效率高于非对称加密 https是长链接四次握手(证书验证)成功后就可以进行数据的传输了 证书验证阶段 客户端向服务端发起请求时服务端会返回一个证书证书里面就包含了公钥客户端验证证书是否合法如不合法则会出现下面类似的提示如果要继续访问也是可以的 数据传输阶段 1、当客户端验证证书合法则生成一个随机数 2、通过公钥加密随机数把加密后的随机数发给服务端 3、服务端通过私钥对随机数解密通过这个随机数构造对称加密算法使用算法加密数据后返回
什么样的证书才是合法的 只有CA认证的权威机构颁发 的证书才认为是合法证书这样就避免了“中间人攻击”问题 中间人攻击是在客户端和服务端之间穿件一个伪服务客户端从这个伪服务中获取公钥、收发数据等这个伪服务从真正的服务器上获得公钥和收发数据 因为伪服务不是一个CA认证的机构它生成的证书就是一个无效证书只有真正的服务器的证书才是有效的
证书的验证 一个证书通常包含以下信息颁发者机构、有效期、公钥、所有者、签名算法、指纹等 1、每份签发证书都可以根据验证链查找对应的根证书操作系统、浏览器会在本地存储权威机构的根证书利用本地根证书完成对应机构签发证书的验证 2、与 CA 服务器校验判断证书是否被篡改 3、通过 CRL和 OCSP验证判断证书是否已吊销 以上都满足的情况下才认为证书是合法的