PCEVA,PC绝对领域,探寻真正的电脑知识

标题: HTTPS只是单向加密么,也就是上传加密,下载不加密? [打印本页]

作者: haierccc    时间: 2015-10-5 17:47
标题: HTTPS只是单向加密么,也就是上传加密,下载不加密?
本帖最后由 haierccc 于 2015-10-5 17:53 编辑

在学习HTTPS的时候,说到WEB服务器要求使用公钥(证书),但客户端不强制使用公钥(证书)
这就是奇怪的地方
服务器端有公钥,客户端就可以用服务器端的公钥加密数据上传给web服务器
但客户端自己没有公钥,那岂不是web服务器发给客户端的数据,都没有加密啊
而且视频教程里面也说,从细节上说,也不是直接用公钥加密,而是2边其实是用DH算法得出对称密钥加密的
但DH算法需要双方的公钥/私钥作为参数代进去进行计算啊,客户端都没有公钥私钥,怎么用DH算法协商呢?难道直接用公钥加密?




作者: 世纪冰雷    时间: 2015-10-5 23:57
LZ没弄懂什么是HTTPS吧。。大侠请重头再来……算了 再给点提示吧 LZ研究得深了 却把最基本的忘了

作者: haierccc    时间: 2015-10-6 07:19
本帖最后由 haierccc 于 2015-10-6 08:24 编辑
世纪冰雷 发表于 2015-10-5 23:57
LZ没弄懂什么是HTTPS吧。。大侠请重头再来……算了 再给点提示吧 LZ研究得深了 却把最基本的忘了
...

是不是这样:
其实,客户端无论如何都需要生成自己的公钥/私钥,这样才能跟WEB服务器进行加密通讯
WEB服务器所谓的“客户端不需要证书”,指的是不需要客户端证明自己的身份,但其实还是需要客户端证书进行加密通信
换句话说,RSA 的2个功能:身份认证和加密,客户端只用到了后者,而WEB服务器端2者都用到了



作者: 世纪冰雷    时间: 2015-10-6 11:45
haierccc 发表于 2015-10-6 07:19
是不是这样:
其实,客户端无论如何都需要生成自己的公钥/私钥,这样才能跟WEB服务器进行加密通讯
WEB服务 ...

你弄清楚密钥是拿来干嘛的 这个问题就迎刃而解了

作者: haierccc    时间: 2015-10-6 15:07
就密钥本身而言,就是加密和解密用的
对称密钥的加密和揭秘用同一把,而RSA用公钥加密,私钥解密
身份认证是结合了哈希算法

作者: 世纪冰雷    时间: 2015-10-6 16:31
haierccc 发表于 2015-10-6 15:07
就密钥本身而言,就是加密和解密用的
对称密钥的加密和揭秘用同一把,而RSA用公钥加密,私钥解密
身份认证 ...

再给个关键字吧 隧道

作者: haierccc    时间: 2015-10-7 09:03
世纪冰雷 发表于 2015-10-6 16:31
再给个关键字吧 隧道

双方通过公钥加密,把HTTP数据流让入其中,形成SSL隧道

作者: 世纪冰雷    时间: 2015-10-7 11:03
haierccc 发表于 2015-10-7 09:03
双方通过公钥加密,把HTTP数据流让入其中,形成SSL隧道

既然已经形成隧道了 还有上传下载的区别么

作者: haierccc    时间: 2015-10-7 21:52
世纪冰雷 发表于 2015-10-7 11:03
既然已经形成隧道了 还有上传下载的区别么

这个隧道需要双方的公/私钥参与才能形成啊
就是不知道为啥不用另一方的私钥

作者: 世纪冰雷    时间: 2015-10-7 21:59
haierccc 发表于 2015-10-7 21:52
这个隧道需要双方的公/私钥参与才能形成啊
就是不知道为啥不用另一方的私钥
...

那你得研究的是密钥的交换了 详细的原理我也记不太清了 似乎是确实不需要的

作者: 维他命W    时间: 2015-10-7 22:19
在服务端和客户端试图建立安全通讯时,有三种情况:

1、服务端没有证书/或证书无效,无法建立安全连接,回到普通的 HTTP;
2、服务端证书有效,且客户端证书也有效,满足双向身份验证;
3、服务端证书有效,客户端无证书(或忽略证书),满足单向身份验证(客户端生成临时的随机公钥)。

撇开 1不谈……你的理解局限在 2,但是真实的公网 WEB环境,多数情况下,是 3。
作者: 维他命W    时间: 2015-10-7 22:42
补充一下~

当我们插上U盾,和银行进行业务交易;或者启动支付宝安全控件,和支付宝进行业务交易的时候;或者有些企业级VPN……进行的是 模式2 的双向身份验证。

但大多数不需要进行业务交易的网站,其实是不需要双向身份验证的,仅仅需要客户验证服务器的合法性就可以了……服务器并不在意客户端是否合法~
作者: shmwyd    时间: 2015-10-8 07:18
围观模式........
作者: Pale_Cheung    时间: 2015-10-8 09:31
haierccc 发表于 2015-10-6 07:19
是不是这样:
其实,客户端无论如何都需要生成自己的公钥/私钥,这样才能跟WEB服务器进行加密通讯
WEB服务 ...

要不要求客户端证书和加密没关系了。

客户端证书是来验证客户机的身份。和服务器证书一样,防止假冒者(man in middle)

安全要求高的环境里可以要求客户机出示证书来验证身份。验证身份后才有认证(比如用户名密码)


另外像 IKEv2 类型的vpn就可以用客户端证书来代替用户名密码认证。

作者: haierccc    时间: 2015-10-8 15:21
维他命W 发表于 2015-10-7 22:19
在服务端和客户端试图建立安全通讯时,有三种情况:

1、服务端没有证书/或证书无效,无法建立安全连接,回 ...

谢谢,关键就是这个“随机的公钥”
我感觉因为DH算法的存在,协商双方必然要有公私钥的

作者: Epic    时间: 2015-10-8 21:44
https://zh.wikipedia.org/zh/%E8% ... 5%E4%BA%A4%E6%8D%A2

作者: haierccc    时间: 2015-10-8 21:48
Epic 发表于 2015-10-8 21:44
https://zh.wikipedia.org/zh/%E8%BF%AA%E8%8F%B2%EF%BC%8D%E8%B5%AB%E5%B0%94%E6%9B%BC%E5%AF%86%E9%92%A5 ...

谢谢!

作者: 红色狂想    时间: 2015-11-8 19:11
证书加密SSL/TLS原理听着如绕口令看着如读天书,但自从看了度娘小明与小红的故事,一切迎刃而解了,原来如此简单。这里科普一下:http://zhidao.baidu.com/daily/view?id=6262
作者: bigww    时间: 2015-11-8 20:13
红色狂想 发表于 2015-11-8 19:11
证书加密SSL/TLS原理听着如绕口令看着如读天书,但自从看了度娘小明与小红的故事,一切迎刃而解了,原来如 ...

的确简单明了。。
突然想到晚上吃饭和老爸说的,大学教授未必能教的好小学生。。


作者: 红色狂想    时间: 2015-11-8 20:40
bigww 发表于 2015-11-8 20:13
的确简单明了。。
突然想到晚上吃饭和老爸说的,大学教授未必能教的好小学生。。

以后就这样给爹娘解释SSL/TLS的原理了
作者: bigww    时间: 2015-11-8 20:44
红色狂想 发表于 2015-11-8 20:40
以后就这样给爹娘解释SSL/TLS的原理了

果然科普员还是很重要的。






欢迎光临 PCEVA,PC绝对领域,探寻真正的电脑知识 (https://bbs.pceva.com.cn/) Powered by Discuz! X3.2