我最近偶然发现了有关保护Web API端点的this文章。
如果我使用SSL,加密标题中的用户字符串是否有任何好处?如果我将用户密钥(Id)包含为明文而不是密文,会有什么风险?
答案 0 :(得分:1)
TLS是传输级安全性。即在数据到达传输之前和之后,数据不受TLS保护。如果您的数据是长期的和/或除了在传输会话期间使用它们之外将它们保留在其他地方,那么保持它们加密可能是有意义的(然后在可能的情况下将它们加密传输)。如果您的数据生命周期很短并且数据仅在传输会话期间有意义,那么加密除TLS之外的数据没有多大意义。
答案 1 :(得分:1)
该文章的作者基本上将用户标识符和用户秘密的概念组合到单个加密令牌中。如果您选择以明文方式发送用户标识符,则该用户标识符必须保密(就像令牌必须保密)。只要保持这种保密性,使用令牌就没有优势。
请注意,此系统似乎不太安全。如果攻击者可以猜出有效的用户标识符,那么他们就可以生成有效的令牌。作者基本上使用RSA作为美化哈希函数。我建议你寻找另一个参考。