简述http/https加密和认证方式
2017-07-17 08:41
1241 查看
加密
• 共享/对称密钥加密:客户端和服务端使用相同的密钥加密,缺陷:发送密钥有被窃听的风险,但不发送,对方就不能解密。如果密钥能够安全发送,那么数据也能安全送达,就无需加密。
• 公开密钥加密:非对称加密,一把私钥,一把公钥,成对。首先,发送公钥给加密方,发送密文一方使用对方的公钥进行加密,对方收到密文后,使用自己的私钥进行解密。
• 混合加密:使用公开密钥加密方式传递共享密钥,再使用共享密钥加密传递的数据
证书的正确性:CA(数字认证机构)颁发的公开密钥证书
• 服务器把自己的公钥登录至CA进行认证;
• CA机构使用自己的私钥给服务器的公钥署数字签名并颁发公钥证书;
• 客户端拿到服务器的公钥证书后,使用数字证书认证机构的公开密钥(事先植入到浏览器客户端),向数字证书认证机构验证公钥证书上的数字签名,以确认服务器的公开密钥的真实性;
• 使用服务器的公开密钥对报文加密并发送
服务器使用自己的私有密钥进行解密
SSL/TLS握手协议:
• 客户端给出协议版本号,一个随机数(client random),以及客户端支持的加密方式;
• 服务端确认双方使用的加密方式,并给出数字证书,以及一个服务器生成的随机数(server random);
• 客户端确认证书有效,然后生成一个新的随机数(premaster secret),并使用数字证书的公钥加密这个随机数,发送给服务端;
• 服务端使用自己的私钥,获得客户端发送的随机数(premaster secret);
• 客户端和服务端,根据约定的加密方式,使用前面的三个随机数,生成一个对话密钥(session key),及共享密钥,然后使用该密钥加密整个数据交互过程。
• 共享/对称密钥加密:客户端和服务端使用相同的密钥加密,缺陷:发送密钥有被窃听的风险,但不发送,对方就不能解密。如果密钥能够安全发送,那么数据也能安全送达,就无需加密。
• 公开密钥加密:非对称加密,一把私钥,一把公钥,成对。首先,发送公钥给加密方,发送密文一方使用对方的公钥进行加密,对方收到密文后,使用自己的私钥进行解密。
• 混合加密:使用公开密钥加密方式传递共享密钥,再使用共享密钥加密传递的数据
证书的正确性:CA(数字认证机构)颁发的公开密钥证书
• 服务器把自己的公钥登录至CA进行认证;
• CA机构使用自己的私钥给服务器的公钥署数字签名并颁发公钥证书;
• 客户端拿到服务器的公钥证书后,使用数字证书认证机构的公开密钥(事先植入到浏览器客户端),向数字证书认证机构验证公钥证书上的数字签名,以确认服务器的公开密钥的真实性;
• 使用服务器的公开密钥对报文加密并发送
服务器使用自己的私有密钥进行解密
SSL/TLS握手协议:
• 客户端给出协议版本号,一个随机数(client random),以及客户端支持的加密方式;
• 服务端确认双方使用的加密方式,并给出数字证书,以及一个服务器生成的随机数(server random);
• 客户端确认证书有效,然后生成一个新的随机数(premaster secret),并使用数字证书的公钥加密这个随机数,发送给服务端;
• 服务端使用自己的私钥,获得客户端发送的随机数(premaster secret);
• 客户端和服务端,根据约定的加密方式,使用前面的三个随机数,生成一个对话密钥(session key),及共享密钥,然后使用该密钥加密整个数据交互过程。
相关文章推荐
- 从http到https简介,tomcat和nginx的https配置,单向认证和双向认证简介,对称加密和非对称加密简介,RSA算法简介
- 第7章 确保Web安全的HTTPS (2)HTTP + 加密 + 认证 + 完整性保护 = HTTPS
- HTTP认证方式与https简介
- 对加密方式(公钥私钥)的形象理解(以http和https为例)
- 将CAS https认证的方式改为http
- 将CAS的HTTPS认证方式改为HTTP
- http和https解释/加密的方式RAS/AES/has散列算法/ssh加密/MD5
- http和https的加密方式
- 【SSO-CAS】将CAS https认证的方式改为http
- http请求通常的加密认证方式
- 【SSO-CAS】将CAS https认证的方式改为http
- HTTP认证与https简介
- HTTP认证方式
- 项目登陆使用https,其他使用http的方式一点尝试
- git之https或http方式设置记住用户名和密码的方法
- 简述HTTP 协议接收Message Body的方式
- 获取URL列表,设置代理请求URL,https的加密方式处理
- Nginx配置同一个域名同时支持http与https两种方式访问
- android httpClient 支持HTTPS的访问方式
- nginx配置ssl加密(单双向认证、部分https)