我想在 POST 请求中发送一些“私有(private)”数据。此数据放在正文中并通过 TLS 发送,因此它是加密的。
除了 TLS 加密之外,是否应该应用任何其他机制来保护该数据?
更新
为了不仅传输层加密而且应用层加密以保证 secret 性,正如 NinjaSecurity 目前建议的那样,我客户端使用私钥加密,服务器使用公钥解密。这种机制需要在服务器和客户端之间进行 key 交换,并且客户端必须能够执行非对称加密,这可能会有点痛苦,具体取决于客户端使用的语言。问题是:传输层加密足以确保 secret 性,还是数据可能会从传输层泄露到应用层?
谢谢, 伊万。
最佳答案
老实说,您真的不需要 TLS/SSL 之上的另一层。 SSL 的安全性已为安全证书确立,它成为全局标准是有原因的。确保传输层的安全足以挫败窃听者,任何对客户端或服务器有足够访问权限以破坏 TLS 的攻击者肯定能够检索任何应用层加密所使用的 key 。此外,如果没有现有的安全连接,您将无法向您的客户端(即 JavaScript)提供安全的加密代码;如果您不信任 TLS,您的客户如何信任您提供的代码?以及如何在不向客户的浏览器提供运行代码的情况下与他们建立安全连接?
关于api - 在 POST 中将数据安全地发送到 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35865391/