01.HTTPS工作原理 - HTTPS工作原理 - 一、首先HTTP请求服务端生成证书,客户端对证书的有效期、合法性、域名是否与请求的域名一致、证书的公钥(RSA加密)等进行校验; - 二、客户端如果校验通过后,就根据证书的公钥的有效, 生成随机数,随机数使用公钥进行加密(RSA加密); - 三、消息体产生的后,对它的摘要进行MD5(或者SHA1)算法加密,此时就得到了RSA签名; - 四、发送给服务端,此时只有服务端(RSA私钥)能解密。 - 五、解密得到的随机数,再用AES加密,作为密钥(此时的密钥只有客户端和服务端知道)。
02.HTTPS代理作用 - HTTPS代理的作用是什么? - 代理作用:提高访问速度、Proxy可以起到防火墙的作用、通过代理服务器访问一些不能直接访问的网站、安全性得到提高
1.Https为何安全 1.1 Https=Http+Ssl - Https保证了我们数据传输的安全,Https=Http+Ssl - 之所以能保证安全主要的原理就是利用了非对称加密算法,平常用的对称加密算法之所以不安全,是因为双方是用统一的密匙进行加密解密的,只要双方任意一方泄漏了密匙,那么其他人就可以利用密匙解密数据。 - 非对称加密算法之所以能实现安全传输的核心精华就是:公钥加密的信息只能用私钥解开,私钥加密的信息只能被公钥解开。
1.2 非对称加密算法为什么安全 - 简述非对称加密算法为什么安全: - 服务端申请CA机构颁发的证书,则获取到了证书的公钥和私钥,私钥只有服务器端自己知道,而公钥可以告知其他人,如可以把公钥传给客户端,这样客户端通过服务端传来的公钥来加密自己传输的数据,而服务端利用私钥就可以解密这个数据了。由于客户端这个用公钥加密的数据只有私钥能解密,而这个私钥只有服务端有,所以数据传输就安全了。 - 上面只是简单说了一下非对称加密算法是如何保证数据安全的,实际上Https的工作过程远比这要复杂
2.为什么要用Https - 为什么要用HTTPS? - 通信使用明文(不加密),内容可能被窃听(抓包工具可以获取请求和响应内容) - 不验证通讯方的身分,任何人都坑你发送请求,不管对方是谁都返回相应 - 无法证明报文的完整性,可能会遭到篡改,即没有办法确认发出的请求/相应前后一致
3. Https如何加密 - Https如何加密? - 加密&证书 - 加密方法:非对称加密(非对称加密算法有两个密钥:公开密钥(public key)和私有密钥(private key);并且加密密钥和解密密钥是成对出现的) - 数字签名:数字签名技术就是对"非对称"和"数字摘要"两项技术的应用,它将摘要信息用发送者的私钥加密,与原文一起传送给接受者。接受者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原因产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输的过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。明文——>hash运算——>摘要——>私钥加密——>数字签名 - 数字证书:
01.什么是SSL证书 - Https协议中需要使用到SSL证书。SSL证书是一个二进制文件,里面包含经过认证的网站公钥和一些元数据,需要从经销商购买。 - 证书有很多类型,按认证级别分类: - 域名认证(DV=Domain Validation):最低级别的认证,可以确认申请人拥有这个域名 - 公司认证(OV=Organization Validation):确认域名所有人是哪家公司,证书里面包含公司的信息 - 扩展认证(EV=Extended Validation):最高级别认证,浏览器地址栏会显示公司名称。 - 按覆盖范围分类: - 单域名证书:只能用于单域名,foo.com证书不能用不www.foo.com - 通配符证书:可用于某个域名及所有一级子域名,比如*.foo.com的证书可用于foo.com,也可用于www.foo.com - 多域名证书:可用于多个域名,比如foo.com和bar.com
02.TLS/SSL的原理 - TLS/SSL的原理是什么? - SSL(Secure Sokcet Layer,安全套接字层) - TLS(Transport Layer Security,传输层安全协议)