https
https全称Hyper Text Transfer Protocol over Secure Socket Layer,简短点说就是HTTP over SSL。从名词看,他的意思是建立在SSL层之上的HTTP协议,也就是在传输层(TCP)协议和应用层HTTP协议之间加入了一个安全层,使得原本有意义的数据经过加密后传输,保障了用户数据的安全。
HTTPS协议中,使用了SSL传输层和数字证书,从而实现了以下两个功能:
1、由于使用了SSL,建立了信息传输的安全通道,保障了数据的安全,使得客户端和服务端之间可以传输一些敏感信息,如银行交易信息。
2、由于HTTPS协议要求服务器提供数字证书,通过数字证书可以确认网站的真实性,使用了HTTPS的网站,用户会在地址栏中看到一把锁,可以查看网站的认证信息。这里涉及到数字证书的使用原理,下面会详细介绍。
针对上述两个功能,HTTPS采用了以下逻辑进行实现:
1、认证网站的真实性:用户打开HTTPS支持的网站时,服务器向用户提供数字证书。证书上记录了服务器的身份信息,以及后续SSL层需要使用的密钥的公钥,证书上的信息经认证机构通过数字签名的手段标识,浏览器中提前有安装认证机构的根证书,这个证书可以用来验证服务器发来证书的签名的真实性。
2、客户端得到网站的公钥:该公钥同时放在数字证书中,客户端在获取证书的同时获取到公钥,同时保证了公钥的真实性。由该公钥加密的数据只有服务器的私钥可以解读,保障了数据传输的安全。
3、客户端随机生成一个密钥,用于后续页面数据传输时的加密,通过上一步的公钥加密后发给服务器。(这一步需要详细说明一下:A、注意这里产生的密钥是一个对称加密的密钥,和服务器提供的公钥原理不同,服务器的公钥的在传完这个密钥之后,就基本功成身退了。B、SSL实际操作过程中,客户端发送给服务器的不是完整的密钥,完整的密钥是客户端服务器根据这个密钥组装出来的。)
4、通过上一步双方约定了密钥,开始使用密钥加密传输。
以上几个步骤中,使用了多种安全技术,下面会一一解释,主要有:
1、数字证书的概念和实现原理,为什么数字证书可以被上一级证书认证,这里涉及数字签名。数字签名的实现又涉及摘要算法和非对称加密。
2
https全称Hyper Text Transfer Protocol over Secure Socket Layer,简短点说就是HTTP over SSL。从名词看,他的意思是建立在SSL层之上的HTTP协议,也就是在传输层(TCP)协议和应用层HTTP协议之间加入了一个安全层,使得原本有意义的数据经过加密后传输,保障了用户数据的安全。
HTTPS协议中,使用了SSL传输层和数字证书,从而实现了以下两个功能:
1、由于使用了SSL,建立了信息传输的安全通道,保障了数据的安全,使得客户端和服务端之间可以传输一些敏感信息,如银行交易信息。
2、由于HTTPS协议要求服务器提供数字证书,通过数字证书可以确认网站的真实性,使用了HTTPS的网站,用户会在地址栏中看到一把锁,可以查看网站的认证信息。这里涉及到数字证书的使用原理,下面会详细介绍。
针对上述两个功能,HTTPS采用了以下逻辑进行实现:
1、认证网站的真实性:用户打开HTTPS支持的网站时,服务器向用户提供数字证书。证书上记录了服务器的身份信息,以及后续SSL层需要使用的密钥的公钥,证书上的信息经认证机构通过数字签名的手段标识,浏览器中提前有安装认证机构的根证书,这个证书可以用来验证服务器发来证书的签名的真实性。
2、客户端得到网站的公钥:该公钥同时放在数字证书中,客户端在获取证书的同时获取到公钥,同时保证了公钥的真实性。由该公钥加密的数据只有服务器的私钥可以解读,保障了数据传输的安全。
3、客户端随机生成一个密钥,用于后续页面数据传输时的加密,通过上一步的公钥加密后发给服务器。(这一步需要详细说明一下:A、注意这里产生的密钥是一个对称加密的密钥,和服务器提供的公钥原理不同,服务器的公钥的在传完这个密钥之后,就基本功成身退了。B、SSL实际操作过程中,客户端发送给服务器的不是完整的密钥,完整的密钥是客户端服务器根据这个密钥组装出来的。)
4、通过上一步双方约定了密钥,开始使用密钥加密传输。
以上几个步骤中,使用了多种安全技术,下面会一一解释,主要有:
1、数字证书的概念和实现原理,为什么数字证书可以被上一级证书认证,这里涉及数字签名。数字签名的实现又涉及摘要算法和非对称加密。
2