HMAC令牌 - 检查逻辑

时间:2016-03-17 12:00:42

标签: security authentication hash hmac

我遇到需要提供身份验证的令牌的情况。我发现的常见HMAC程序是:

  1. 使用登录凭据获取一些密钥
  2. 创建消息,附加密钥和其他消息数据(按定义的顺序)
  3. 使用密钥哈希
  4. 传输消息,并包含消息中的值(未散列)
  5. 然后

    1. 收到消息
    2. 使用未散列值重建消息
    3. 使用密钥哈希
    4. 如果哈希值匹配,则表示信息正常。
    5. 我正在实施类似的东西 - 但我认为我不需要做一些这些步骤。我想知道:我的实现是否在逻辑中存在安全漏洞

      我的实施:

      1. 客户端要求服务器生成令牌 - 这需要登录凭据。
      2. 服务器创建一个令牌但不返回它(它保存在数据库中) - 它返回一个时间戳。
      3. 客户端根据时间戳,用户和其他数据生成消息。
      4. 客户端使用在此过程之外提供的密钥对令牌进行哈希处理。
      5. 客户端将令牌发送到服务器。
      6. 然后:

        1. 收到消息
        2. 如果该令牌在数据库中,则有效
        3. 我在取消消息重建时的理由是:生成令牌时发生的事情,客户端无法知道数据库中的令牌,除非知道如何生成令牌,这意味着他们进行了身份验证并拥有秘密键。

0 个答案:

没有答案