加密签名的计数器作为会话标识符

问题描述

According to OWASP:会话标识符必须唯一。它们还必须不可预测以减轻猜测攻击,并且必须足够长以减轻暴力攻击。

但是,如果标识符经过加密签名并存储在正确保护的cookie中,该怎么办?然后,一个简单的计数器可能就是标识符。那将确保唯一性。但是签名会减轻这些攻击吗?

我问,因为随机标识符的生成似乎为漏洞和悬挂系统留下了可能性(必须生成标识符,直到找到唯一的标识符为止)。这种方法似乎消除了两者。

我知道这些担忧不太可能发生。

解决方法

听起来您基本上是在使用加密算法作为随机数生成器。这样做本质上没有什么错,但是大多数人通过使用全局唯一标识符(GUID)来解决此问题,并且只需选择一个足够长的时间就不会担心发生碰撞的可能性。