gpt4 book ai didi

android - 安全网络传输的最佳实践

转载 作者:行者123 更新时间:2023-11-30 02:59:48 26 4
gpt4 key购买 nike

我正在为 Android 构建一个安全的消息传递应用程序,主要是作为一种学习体验。该应用程序将允许一个或多个人之间的加密通信,其中服务器将永远无法看到纯文本的消息内容。

下面是我的协议(protocol)示例,我想知道它是否合适或糟糕的做法,因为我只是在学习密码学最佳实践。

下面我们有客户A和B,A希望和B私下交流

  1. A 和 B 上线时与服务器握手
  2. 服务器向 A 和 B 发送其 RSA 公钥(RSA 2048 位定期更新)
  3. 客户端A和B各自生成一对 key ,加密他们的公钥并发送给服务器
  4. 客户端 A 打包消息、接收者 (B)、它的公钥、元数据和服务器公钥的散列 + 这个数据包
  5. 客户端使用服务器公钥加密所有这些并发送到服务器
  6. 服务器解密,读取收件人地址,校验hash,然后用B的公钥重新加密数据包发送
  7. B解密消息

我不确定这是否安全,双重加密的原因是让 MITM 攻击更难获得 A 或 B 的公钥,这样他们就可以错误地发送消息或拦截任何有值(value)的东西。

关于更好的方法或改进建议有什么意见吗?

最佳答案

我强烈建议您使用 HTTPS 等众所周知的、已开发且广泛使用的架构,并避免自己重新创建它。

可以使用自签名证书来实现它,或者购买一个作为保险。

更新:关于为什么应该避免编写已经编写并经过良好测试的密码学的非常好的阅读链接:Showcasing bad cryptography .

关于android - 安全网络传输的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22714577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com