接口测试理论(3)--HTTPS协议
HTTPS
HTTPS是HTTP协议+SSL/TLS(Secure Sockets Layer/Transport Layer Security )认证,是一个基于安全套接字的 超文本传输协议
HTTP与HTTPS的区别
HTTP 的 URL 以 http:// 开头,而 HTTPS 的 URL 以 https:// 开头
HTTP协议是超文本传输协议,而HTTPS只是多了一个SSL/TLS认证。
HTTP 无需证书,而 HTTPS 需要认证证书
HTTP 无需加密,而 HTTPS 对传输的数据进行加密
HTTP 是不安全的,而 HTTPS 是安全的
HTTP 免费,HTTPS收费
HTTP 标准端口是 80 ,而 HTTPS 的标准端口是 443
【SSL/TLS认证,是通过一个Ca证书完成的,这个证书可以在本地生成,也可以申请。 但是在本地生成的证书,需要客户端信任才能访问。】
申请证书: 向权威机构申请证书
密码基础概念:
明文:直接能看懂的文本内容
密文:经过加密后的内容
加密:对数据进行处理,使数据被外部人员无法理解,但是自己人能够理解。
加密算法:对数据加密时,所采用的相关计算方法。
密钥:加密数据和解密数据时,使用的一个字符串,这个字符串起到钥匙的作用。
签名:使用一种超运算加密算法,如MD5,SHA256算法对数据进行运算,形成摘要,然后截取一部分摘要得到的字符 串就是签名。签名的作用是确保数据没有被篡改。
对称加密:
加密和解密过程完全对称的加密。
典型的对称加密算法是:DES,3DES加密算法。
特点:1. 加密解密完全对称,加密时使用的密钥和解密时使用的密钥是同一个密钥 2.性能好,速度快
要保证对称加密的安全,需要确保对称加密的密钥不被泄露,可以通过线下的手段来传递密钥,这样就不会被泄露 了。
银行:U盾,加密狗。
在互联网中,尤其是电商,由于不可能通过线下的手段来传递密钥,所以只能通过线上来传输密钥。
非对称加密:
加密和解密过程不对称的加密。
非对称加密算法有:RSA加密算法
非对称加密算法中,把密钥分成了公钥和私钥。其中公钥是指公开的密钥,私钥是指不公开的密钥。
使用非对称加密算法加密数据的过程中:
公钥加密的数据,只能用私钥解密。
私钥加密的数据,只能用公钥解密。
特点:
因为加解密不完全对称,所以恶意攻击者不能获取全部信息,更能保证数据的安全性
性能比对称加密差
作用:一般用公钥加密客户端生成要用的对称加密算法中的密钥,保证对称加密的密钥不被公开。
非对称加密虽然在一定程度上保证了数据的安全,但是由于黑客可以模拟服务器,进行攻击,所以它也并不安全。
SSL/TLS认证:
SSL认证是一个非常复杂的过程,主要可以认为分成以下几个步骤完成:
客户端发送请求,要与服务器建立HTTPS连接
服务器返回SSL证书和加密算法给客户端
浏览器根据内置的SSL证书验证权威结构来验证SSL证书是否合法、有效
浏览器内部使用对称加密算法生成一个密钥,用于加密传输数据
浏览器使用SSL证书中的公钥即为Pa,加密对称加密算法生成的密钥记为Ra,得到一个Pa(Ra)加密过后的字符 串,然后把它发送给服务器
服务器使用私钥解密Pa(Ra)加密过后的字符串,得到Ra
后期,客户端和服务器都使用Ra加密数据,保证数据的安全性。
SSL证书是服务器提前申请的
服务器先使用非对称加密算法,生成公钥Pa和私钥Pb
服务器使用公钥Pa像权威结构申请SSL证书,权威结构验证后,返回SSL证书 SSL证书
内容包括:服务器相关信息、服务器公钥、以及这些信息的签名