HTTP也可以传二进制数据,为什么还说HTTP 是明文传输?

bandaoyu 2018-11-08 01:17:40
1、为什么说HTTP 是明文传输?是不是明文不是取决于它传的数据内容有没有加密吗?

2、我把应用数据 用自己的应用层协议封装成二进制数据,封装时加密, 放到HTTP里面协议的 body里面,


这样不就是非明文传输了吗?


这样不就是说HTTP 既可以是明文传输,也可以非明文传输了吗?


本人一直在用TCP建立连接,传输数据用自己的私有协议传输,对HTTP不太了解,还望希望知友指点。
...全文
1256 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bandaoyu 2020-02-28
  • 打赏
  • 举报
回复
引用 9 楼 一见 的回复:
嗯嗯,又学到了
一见 2020-02-27
  • 打赏
  • 举报
回复
自己加密不能完全解决问题,公钥依赖证书,而证书需要权威机构签名背书(还需得到浏览器等客户端认可内置),自己签名的证书浏览器会提示不安全。HTTP不加密,传什么就是什么,像HTML\CSS等可随便看。
Ming0215 2019-10-23
  • 打赏
  • 举报
回复
引用 4 楼 ckc 的回复:
你理解的没错。 你自己加密,用http传输确实也比较安全,不过很难说一样安全,因为加密的方法差异很大。比如你自己加密,对方需要解密,双方需要预先约定密钥,这个就很麻烦,如果针对不特定人群发送数据,就没办法预先约定密钥。如果你可以预先约定密钥,那证书其实也可以自己提前做好下发,可以不用买外部的证书。
个人证书的麻烦点就是现在的浏览器访问会提示不安全,对用户是不友好的, 如果开发的是app什么的可能倒是不一样(没搞过) 其实对敏感信息也可以非对称加密的,比如RSA,这里举例网站: 1-服务器放一对密钥,客户端访问时返回公钥;(通过API或直接放html里) 2-客户端再生成一对密钥,然后将公钥发送到服务器临时保存(和当前用户会话绑定); 3-接下来获取或提交敏感信息就可以互相加解密了! 4-客户端发送数据到服务器时,用服务器的公钥加密,服务器收到用服务器的私钥解密! 5-服务器发送数据到客户端时,使用收到的客户端公钥加密,然后客户端收到后用生成的私钥解密! 不知道我描述得是否清除,感觉就有点像https一样了。 如果是网站的话还是无法完全加密的,比如你的基本代码,但是敏感数据还是可以实现加密的。 js的RSA密钥对生成和加解密网上很多插件!
bandaoyu 2018-11-13
  • 打赏
  • 举报
回复
引用 5 楼 hookee 的回复:
自己加密是在应用层次做的,有相应的工作量。安全涉及方方面面,不光是加密。 底层通过ssl/tls方式通信,CA证书里包含了密钥,用的算法等。
嗯嗯,回答精炼有用
bandaoyu 2018-11-13
  • 打赏
  • 举报
回复
引用 4 楼 ckc 的回复:
你理解的没错。

你自己加密,用http传输确实也比较安全,不过很难说一样安全,因为加密的方法差异很大。比如你自己加密,对方需要解密,双方需要预先约定密钥,这个就很麻烦,如果针对不特定人群发送数据,就没办法预先约定密钥。如果你可以预先约定密钥,那证书其实也可以自己提前做好下发,可以不用买外部的证书。
回答的不错
hookee 2018-11-12
  • 打赏
  • 举报
回复
自己加密是在应用层次做的,有相应的工作量。安全涉及方方面面,不光是加密。 底层通过ssl/tls方式通信,CA证书里包含了密钥,用的算法等。
ckc 2018-11-11
  • 打赏
  • 举报
回复
你理解的没错。

你自己加密,用http传输确实也比较安全,不过很难说一样安全,因为加密的方法差异很大。比如你自己加密,对方需要解密,双方需要预先约定密钥,这个就很麻烦,如果针对不特定人群发送数据,就没办法预先约定密钥。如果你可以预先约定密钥,那证书其实也可以自己提前做好下发,可以不用买外部的证书。
bandaoyu 2018-11-09
  • 打赏
  • 举报
回复
引用 2 楼 ckc 的回复:
所谓明文传输是说通讯本身不提供加密的功能。
你自己加密过的数据在这里也是当明文来看的,否则任何传输都不是明文传输了。就算不能传二进制数据我们也可以把二进制数据转化为字母数字来传输的。
另外如果这样也算加密传输的话那任何通讯都可以宣称自己可以加密传输,也可以压缩传输,也可以传输校验了。


嗦嘎,也就是说,说HTTP是明文传输说的是HTTP本身不会帮你加密你的数据,需要你自己加密,所以就有这样的隐患:
一些小萌新,将自己的数据(很多还是json文本数据)裸奔于网络上,容易被人抓到。

而HTTPs 会帮你加密,小萌新即使没有加密的意识,将自己的数据(很多还是json文本数据)裸奔到网络中,HTTPS也会给他打个码/穿个衣服,
被人抓包也不至于高清无码。

我理解的对吗?


另外有两个疑问:

1、我给我们自己的数据加密,用HTTP传输 是不是就和HTTPS 一样安全了?(毕竟HTTPS的ssl认证要收费)
2、HTTPS 的加密解密两端是如何约定和执行的?
ckc 2018-11-09
  • 打赏
  • 举报
回复
所谓明文传输是说通讯本身不提供加密的功能。 你自己加密过的数据在这里也是当明文来看的,否则任何传输都不是明文传输了。就算不能传二进制数据我们也可以把二进制数据转化为字母数字来传输的。 另外如果这样也算加密传输的话那任何通讯都可以宣称自己可以加密传输,也可以压缩传输,也可以传输校验了。
阿里二大爷 2018-11-09
  • 打赏
  • 举报
回复
Http只是一种通信协议,至于传输什么 那就是仁者见仁 智者见智了

5,655

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧