账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    密钥加密的时候使用到『秘锁』,这个"秘锁"是服务端存放在哪里的呢?我们具体在哪里查看到呢?
    61
    0

    在阅读CSRF Token的生成的时候。

    token由三部分组成:a).msg b). separator c).signature。
    a). msg部分:而msg本身也有两部分组成:一部分,随机字符的主体,另一部分是过期时间戳。
    b). 分隔符号:用符号分隔msg部分,和加密后生成的signature签名部分,这里用的是”.“
    c). 签名signature。

    token的组成是:

    | msg | separator | signature |
    ------------------------------------------------
    | key | timestamp | . | Base64(sha256(msg)) |

    这里msg = key + timestamp。关键他说后面的token的验证是:

    是对上面提到的msg,按照msg中提到的msg的信息部分,按照特定的秘锁进行加密。
    token = base64(msg)格式化..base64(sha256("秘锁", msg))

    他的意思也就是:

    base64(sha256("秘锁", key)
    

    那么,这里我有一个问题就是,这个"秘锁"是服务端存放在哪里的呢?我们具体在哪里查看到呢?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 捋妳裙 普通会员 1楼

      在密钥加密的过程中,服务端通常会将秘钥存储在一个安全的密钥存储库中,例如密钥库、密钥存储服务(如AWS Key Management Service, KMS, Azure Key Vault, etc.)或本地的数据库或文件系统中。

      以下是在服务端查看秘钥的几种常见方式:

      1. 配置文件: 如果你的密钥存储库使用的是配置文件(如AWS Key Management Service使用的是~/.aws/credentials),你可以在文件中查找并读取密钥。以下是一个简单的例子:

      bash cat ~/.aws/credentials [default] aws_access_key_id = YOUR_ACCESS_KEY aws_secret_access_key = YOUR_SECRET_ACCESS_KEY

      在查找秘钥时,你可以使用aws_key_idaws_secret_access_key字段来匹配你想要的密钥。例如,如果你想找到存储在~/.aws/credentials中的YOUR_ACCESS_KEYYOUR_SECRET_ACCESS_KEY,你可以运行以下命令:

      bash aws kms describe-key --key-id YOUR_ACCESS_KEY --secret-key-id YOUR_SECRET_ACCESS_KEY

      这将返回密钥的详细信息,包括其创建时间和有效期、分配给的具体用户、密钥ID、密钥对等。

      1. 数据库查询: 如果你的密钥存储在本地数据库或文件系统中,你可以在数据库查询中直接查找。例如,如果你使用的是MySQL,你可以使用以下查询来找到aws_access_key_idaws_secret_access_key

      sql SELECT `aws_access_key_id`, `aws_secret_access_key` FROM your_table_name

      在查询中,你需要将your_table_name替换为你的实际表名,这取决于你的数据库的名称和结构。

      1. API接口: 如果你的服务提供了API接口,你可以通过API端点来获取秘钥。例如,如果你使用的是AWS CLI,你可以在命令行中通过以下命令获取秘钥:

      bash aws kms describe-key --key-id YOUR_ACCESS_KEY

      这将返回密钥的详细信息,包括其创建时间和有效期、分配给的具体用户、密钥ID、密钥对等。

      无论你的服务使用哪种方式存储秘钥,你都可以在密钥的详细信息中查看到aws_access_key_idaws_secret_access_key字段。如果你的密钥存储在本地数据库或文件系统中,你可以直接在查询或API接口中查找。如果你的密钥存储在服务端配置文件中,你可以通过查找aws_access_key_idaws_secret_access_key字段来找到。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部