defuse / php-encryption是否适合用于网络加密?

时间:2016-07-25 15:48:42

标签: php encryption

我目前正在管理两台拥有共享密钥的服务器。

我希望能够以某种方式在服务器之间发送数据,即使有人正在中间监听,只有在有人拥有密钥时才会读取数据。 我的要求是:

  • 加密
  • 验证

但是:

  • 新鲜度:以便截取的旧加密数据 如果现在由其他人传播,则不接受过去。

我想知道defuse/php-encryption是否适用于此方案,因为它提供加密和身份验证。 我还看了一下libsodium,但如果可能的话,我想远离PECL。

谢谢。

1 个答案:

答案 0 :(得分:1)

我建议你使用现有的密码套件,它可以“保护”双方之间的整个连接。然后,在任何情况下,使用数字证书 (它们可以是自签名的......)来保护连接。 (使用“共享机密”, a.k.a。“密码。”)

  • TLS (SSL的后继者)由HTTPS安全网站使用。 (请务必使用此协议的当前版本!)
  • VPN (如“OpenVPN”或“IPSec”)在两个子网之间提供“安全路由器”。这种策略的优点是双方不必做任何以获得安全可靠的连接:它只是那里。
  • SSH 也可以进行“隧道传输”,但实际上不安全地传递数据非常容易(恕我直言),它确实没有提供身份验证。

这些密码套件将为您提供三个非常重要的保证:

  1. 任何其他方都无法理解数据。
  2. 中间没有“男人”。各方可以确定与他们正在沟通的对象。
  3. 收到的邮件被称为“发件人发送的邮件。”
  4. -secure中的任何都没有在双方之间传递“带外”。
  5. ......然而,它们完全“在后台”运行,就像您在连接到安全网站时经常看到TLS一样。 “它安全,'它只是工作。'”非常重要的是你的方案对授权用户不显眼。