security - 应用手动 AES 加密而不是使用 HTTPS

标签 security ssl https webserver aes

由于我的主机存在一些问题,我无法在我的服务器上使用 SSL 证书(我还没有准备好更改提供商),因此无法使用 HTTPS。该服务器将与几台客户端计算机通信,并将传输一些保密的数据。

简单地使用 AES 加密(发送前在客户端加密,处理前在服务器上解密)而不是 HTTPS 是否合理?

最佳答案

这取决于您的部署环境。

用您自己的网络浏览器使用的加密协议(protocol)替换 SSL/TLS(和 HTTPS)始终不是一个好主意,因为它依赖于不安全地交付的 JavaScript 代码(有关详细信息,请参见 this question on Security.SE,例如)。

如果客户端不是网络浏览器,您有更多可用选项。特别是,您可以实现消息级安全性而不是传输级安全性(这是 HTTPS 使用的)。

有许多尝试使用 HTTP 来标准化消息级安全性。例如:

也许更简单,如果您想重新使用现有工具,您可以使用 S/MIME 或 PGP(与处理电子邮件的方式相同)来加密 HTTP 消息实体。与 HTTPS 不同,这不会保护 URL 或 HTTP header ,但如果您不在其中放置任何敏感数据,这可能就足够了。

您自己使用“原始加密”越深入(例如,直接使用 AES),您就越有可能必须手动实现其他方面的安全措施(通常是验证远程方的身份并处理问题预共享 key )。

关于security - 应用手动 AES 加密而不是使用 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13568731/

相关文章:

c# - 安全软件许可证使用审计日志

javascript - 安全错误: Blocked a frame with origin from accessing a cross-origin frame

ios - Uber API 端点不适用于真实服务器域,但适用于沙箱

java - 每次使用 DES 加密 java 代码都会出现相同的错误

security - 当数据经过 URL 编码时,HTTP GET 的安全性如何?

android - 无效/自签名证书上类似浏览器的行为

ssl - 证书中包括哪些证书签名请求信息?

ruby-on-rails - Ruby 无法发送 SSL 请求,但 Curl 可以

android - 接受带有自签名证书的 HTTPS 连接

ios - 我可以提交带有自签名 SSL 证书的 iOS 应用程序吗?