0

我有一个在每个连接上都使用 SSL 的客户端-服务器模型。我已经使用 Java 和通用库对此进行了编程。关于 SSL 安全,我有两个问题:

1)以明文形式将密码从客户端发送到服务器是否被认为是安全的?服务器使用 BCrypt 对密码进行哈希处理并将其存储。我考虑过发送密码的未加盐哈希或密码的通知哈希,但它们真的比发送明文密码更安全吗?我对此表示怀疑。我不认为将密码作为加盐哈希发送是一个可行的选择,因为盐需要存储在客户端的某个地方或通过网络发送,因此我认为它不会使其本质上更安全以明文形式发送密码。由于 SSL,其他任何人都应该无法阅读它,对吧?

2) SSL 上的加密数据是否总是被加密为不同的字符串,如果是这样,你可以使用某个字符串的早期加密来获得相同的结果吗?澄清:

  • 如果您现在加密数据,几秒钟后,它会提供相同的密文吗?
  • 如果您使用加密“test”的密文,您是否可以稍后发送相同的密文让服务器相信客户端合法发送“test”?

在任何情况下,都应该假设我不想从我自己(客户端或服务器)的角度来处理这个问题,但我想从黑客/作弊者的角度来处理这个问题。

问候。

4

1 回答 1

2

我会以另一种方式回答这个问题。SSL 具有隐私性、完整性和身份验证功能。

  1. 隐私:没有人可以读取流量。
  2. 完整性:任何人都不能在不检测的情况下修改、注入、重放或截断流量。
  3. 身份验证:至少一个对等方可靠地向另一个对等方进行身份验证。

(1) 处理你的第一个问题。(2) 处理你的第二个问题。

于 2013-05-21T08:43:57.517 回答