我所在的开发团队正在尝试开发一种在服务器和移动设备之间交换敏感数据的安全方法。
我们提出了以下算法:
设备生成 RSA 私钥,并将公钥发送给服务器。
服务器生成用户唯一的 AES 密钥,并使用 RSA 公钥对其进行加密并将其发送回设备。
设备获取 AES 密钥。使用它来加密密码和用户名并将其发送到服务器。
服务器解密用户名和密码。如果匹配,则 AES 密钥用于安全通信 X 时间或直到注销。否则,必须重新启动该过程。
它足够安全吗?有没有可以改进的方法?有哪些故障?
编辑:阅读评论后,什么是更安全的选择,为什么?
Edit2:好的,我明白了。我不会使用我自己的实现,会发现一些已经尝试和证明的东西。