如何在没有 SSL/TLS 的情况下加密数据客户端并在另一个客户端解密?
Posted
技术标签:
【中文标题】如何在没有 SSL/TLS 的情况下加密数据客户端并在另一个客户端解密?【英文标题】:How to encrypt data client side and decrypt on another client side without SSL/TLS? 【发布时间】:2020-02-26 20:07:51 【问题描述】:如果我有设备 A、设备 B 和服务器,我怎样才能在两个设备之间实现信息的安全传输?
我想在设备 A 上加密纯文本,将其发送到服务器,服务器会将其重新路由到设备 B,设备 B 将解密消息。我在网上没有找到很多这样的例子。我能够摆弄 Node 的 crypto
,但这对我来说没用,因为它是服务器端的。我正在使用套接字 io,任何会发送任何密钥的初始连接都是一个漏洞。我无法使用 HTTPS 或 WSS。
我有什么选择?
【问题讨论】:
你可能想看看this answer。它解释了一个名为 Libsodium 的库以及如何使用它 阅读一些密码学书籍,理解 TLS 的精髓,然后您可以借助当前的密码算法设计您的协议。对于javascript来说,有一个非常强大的工具browserify,加密功能已经用纯JS实现了,所以你可以用简单直接的方式与Node.JS加密模块进行通信。 【参考方案1】:我无法使用 HTTPS 或 WSS。
我有什么选择?
你有no other options,这将实际上是安全的。另见:Login without HTTPS: How to Secure?
【讨论】:
以上是关于如何在没有 SSL/TLS 的情况下加密数据客户端并在另一个客户端解密?的主要内容,如果未能解决你的问题,请参考以下文章
[翻译]在 Ubuntu 中使用 SSL/TLS 加密 FTP 连接