【问题标题】:Should we encrypt data on our own if using SSL?如果使用 SSL,我们应该自己加密数据吗?
【发布时间】:2017-04-11 21:47:30
【问题描述】:

当我们通过 SSL 传输数据时,我们非常确定这些数据不会被操纵或读取。但是我已经看到客户端上安装了一些程序,它们可以打开 SSL 数据包并显示它们。所以用户会注意到我们正在发送什么以及发送到哪个端点。然后,用户可以重复一个请求,这可能会导致一些问题。

那么我们是否应该自己加密数据以加强此过程,或者没有必要?我们可以依靠 SSL 来保证安全性,还是应该给它加点糖?

【问题讨论】:

  • 除非其证书受信任并且被应用程序接受或被这些应用程序错误地忽略,否则此类程序不会成功。如果任一加密算法是安全的并且系统中没有其他漏洞,则加密优于加密是没有意义的。
  • 将数据发送到客户端设备的全部目的是为了读取数据。如果您添加另一个加密层,您将如何解密客户端设备上的数据?任何可以看到未加密 SSL 流的用户不会也看到这个额外的解密吗?如果您不信任客户端机器与该数据,请不要发送它 - 这是他们的机器,如果他们愿意,他们会读取数据。

标签: ssl encryption https


【解决方案1】:

OpenSSL 提供两种形式的安全性:

  • 通过第三方进行的身份验证保证您正在与预期的服务器通信。
  • 加密保证您在两方(即客户端和服务器)之间传输的数据(理想情况下)不会被解密和理解。

如果您可以使用数据包分析器(例如 tcpdump 或 wireshark)看到您的客户端发送的内容,那么这可能意味着您的客户端没有发送加密数据包并且没有使用 SSL。

如果您安装了 openssl,您可以在跟踪数据包时使用以下命令测试服务器:

openssl s_client -connect my.server.com:443

请注意,我假设 SSL 连接是在端口 443 (https) 上建立的。

然后您可以通过在命令行中输入数据来将数据发送到服务器,这应该是加密的。如果您正在处理 Web 服务器,则可以键入 GET 命令,它应该返回网页。当然,接收/发送的数据在终端上是解密的,但应该在通过wireshark/tcpdump观察到的数据包中加密。

【讨论】:

  • 我确定我是通过 https 连接的,但是一些程序,如 Fiddler、Android 上的数据包捕获,......他们在您的设备上安装了一个证书,然后可以打开 https 数据。不仅是我的主机,而且对于大多数使用 https 的网站,我都可以看到从我的设备发送的数据!
  • SSL 提供 三种 形式的安全性。
  • @user207421 对,我猜你的意思是除了机密性之外,它还保证数据完整性。没想到这个……ibm.com/support/knowledgecenter/en/SSFKSJ_7.1.0/com.ibm.mq.doc/…
猜你喜欢
  • 2011-07-04
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
  • 2017-08-30
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 2010-12-28
相关资源
最近更新 更多