如果不使用 https,能有什么方法完成安全传输么

2017-08-29 09:43:52 +08:00
 realfreesky
11286 次点击
所在节点    程序员
84 条回复
cctrv
2017-08-30 07:13:47 +08:00
要先定義「安全」
在 5 天內安全?在 3 年內安全?

RSA 之類的通信密文也可以通過暴力破解解密。

絕對安全就是脫離網絡。

相對安全有很多個辦法了,你要做對稱加密還是非對稱加密,多少位的加密,就是看你可以「相對安全」多久而已。
c4dfan
2017-08-30 08:15:05 +08:00
来个量子通信呗。。。。
外行瞎掺和。。。
(逃。。。
ryd994
2017-08-30 08:26:48 +08:00
@t6attack 实际加密通讯比单纯数据加密算法要复杂得多
数据加密是一环,密钥分发是一环,还有实现本身要抗旁通道分析,还有社工
所以这是一个工程整体,破了一个就全没意义了
防守比进攻难得多,因为进攻只要打通一条路就是成功
fox0001
2017-08-30 08:38:21 +08:00
@silencefent #41 哈哈,我也想到这个
ryd994
2017-08-30 08:52:25 +08:00
@silencefent zip 加密不过是 AES 而已,还是解决不了中间人,这是密钥分发阶段的问题。
@fox0001
torbrowserbridge
2017-08-30 08:57:47 +08:00
@wwqgtxx websocket 只能实现部分安全
tempdban
2017-08-30 09:11:34 +08:00
kcp 啊
tony1016
2017-08-30 09:25:12 +08:00
@paw 你可以看一下最新的 AEAD 的协议,基本很安全了
silencefent
2017-08-30 09:26:45 +08:00
@ryd994 “不过” “而已” 拜托先实现。广义来说,只要观察者存在,产生的密码都可能泄漏
hxndg
2017-08-30 09:39:37 +08:00
@cctrv Perfect forward secrecy help a lot.
And we are not talking about philosophy,his security should be same with others .
Sullivan
2017-08-30 10:07:37 +08:00
@ryd994 嗯 如果还用到了其他通讯方式 就没法保证
flynaj
2017-08-30 10:31:05 +08:00
ssh 就可以了,他说安全传输又又没有说 http
bfbd
2017-08-30 13:48:23 +08:00
HTTPS 只是通过浏览器内置秘钥完成了秘钥预分发而已。你可以通过微信、短信等任意渠道分发你自己的秘钥,然后加密通信,原理是一样的。
jininij
2017-08-30 13:59:55 +08:00
客户端信任证书,由证书签署公钥,用公私钥交换对称秘钥,用对称秘钥通讯。这是 https 的通讯系统。http 下,客户端信任证书,第一条都无法实现,更别说用 http 实现 https 了。
在不安全的网络中,两个完全不知道对面任何私密信息的节点,想相互建立安全通讯是绝对不可能的。
有三种可能,一,两个要通讯的节点知道一条秘密,其他人都不知道。二,两个节点都至少相信一个第三方。三,数据到达对方未被篡改的概率大于 50%。
在 http 下建立安全通讯是不可能的。
实际应用时考虑绝对安全没有意义,根据需求,实际需求中,做一下非对称加密交换秘钥,已经可以抵御非针对性的监听和中间人了。
hjc4869
2017-08-30 14:04:28 +08:00
客户端可以,网页不行
Coxxs
2017-08-30 14:11:03 +08:00
@lanwairen123 微信预置了服务器的公钥,公钥的安全通过 apk 包签名、代码混淆来尽量保证。
lanwairen123
2017-08-30 14:53:33 +08:00
@Coxxs 如果是这样的话公钥应该早就被人找出来了吧,我没找见网上有微信消息的解密方法公布呀
Coxxs
2017-08-30 16:53:27 +08:00
@lanwairen123 我说的安全是指避免公钥被篡改.. 公钥本身当然可以找到
kobe1941
2017-08-30 17:04:02 +08:00
这个像是面试的问题。。。
HTTPS 是应用层的加密协议,光应用层的加密协议还有其他的,而且除了应用层,比如传输层,网络层,数据链路层,各有各的加密方式,见这里
Williamp
2017-08-30 17:08:21 +08:00
@realfreesky I don't think there is any other safe way except https to achieve safe transmission. And @porrat TLS is newer version of SSL only. This resource https://www.clickssl.net/blog/an-easy-to-understand-guide-ssl-tls-https-ssl-certificate-and-https will help you undersatand both terms in deeper.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/386523

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX