|
|
1
7
总的来说这很好,我在多个应用中做过类似的事情。它不比会话id更容易受到重播攻击。通过使用SSL,您可以保护令牌不被泄漏,以便重播,就像使用会话id一样。 小建议:
|
|
|
2
0
|
|
|
3
-1
我认为这个协议很弱!
服务器密钥SK是这里最脆弱的部分。 如果有人能猜到或偷到它,他可以作为一个特定的用户登录。 因此,如果为每个会话和用户生成sk,那么为什么要生成hmac? 我认为你无论如何都会使用TLS,如果没有,一般认为你的协议因为重放攻击和窃听而被破坏! 如果为每个用户生成sk,但不是为每个会话生成sk,则它类似于256bit密码。 如果所有用户的sk都是相同的,那么只要有人破解256位,他就可以随心所欲地登录。他只要猜出身份证和出境日期就行了。 看一看 digest-authentication . 这是一个按请求的身份验证,由rfc2617指定。 它是安全的,可以在每次请求时使用nonce进行偿还攻击。 它是安全的窃听使用哈希。 它集成在HTTP中。 |