0
Supondo que você esteja rastreando um usuário associando-o ao ID da sessão após o login:
Se você armazenar todo o estado do lado do cliente em um cookie assinado (mesmo que seja apenas o ID de login, por exemplo), corre o risco de os usuários agirem como outros usuários se suas chaves de assinatura forem comprometidas. Você pode mitigar isso até certo ponto usando uma chave de assinatura separada por usuário, mas agora você precisa usar um cookie para rastrear qual chave de assinatura um usuário está usando. Você também pode tentar usar um esquema temporal para assinar chaves (por exemplo, girá-las a cada 5 minutos), mas agora você está colocando a carga de assinatura em seu servidor para gerar novamente assinaturas de cookies a cada 5 minutos para todas as sessões.
É muito menos intenso computacionalmente, e provavelmente praticamente mais seguro, armazenar um valor de hash computacionalmente difícil como o identificador de sessão no cookie e associar esse valor de hash ao ID do usuário no lado do servidor - você só precisa gerar o hash uma vez e, em seguida, procurá-lo (o que é fácil) cada vez que uma solicitação da web chega.