烧瓶密钥长度
Flask secret key length
可以在 python flask 应用程序中使用的最大密钥大小是多少?我在网上看到的所有示例,包括 http://flask.pocoo.org/docs/0.12/quickstart/#sessions 似乎都建议使用 192 位密钥,但我想知道是否可以使用 256 位密钥。
我相信你可以随心所欲地制作密钥,但在宏伟的计划中,安全强度仍然是主观的。您的应用不会比其他应用更安全。
我会坚持使用默认的推荐值。一定有推荐的理由。
是的,32 字节的密钥大小是可能的。
但是,来自Applied Criptography:
Longer key lengths are better, but only up to a point. AES will have
128-bit, 192-bit, and 256-bit key lengths. This is far longer than
needed for the foreseeable future. In fact, we cannot even imagine a
world where 256-bit brute force searches are possible. It requires
some fundamental breakthroughs in physics and our understanding of the
universe.
所以按照文档:大小为 24 字节并随机生成它应该没问题。
另外,看看Is it possible to break a 128-bit key?。这将使您了解破解 128 位密钥需要多长时间。
Flask 使用 itsdangerous.Signer
进行会话数据签名,签名中使用的密钥不是您在 SECRET_KEY
配置选项中提供的密钥,而是 is derived with an HKDF.
默认情况下,Flask uses HMAC-SHA1 作为 HKDF 算法,你只能得到 160 位的签名密钥,SECRET_KEY
的长度没有区别。为了得到256位的session签名密钥,你可以扩展flask.sessions.SecureCookieSessionInterface
,把digest_method
改成SHA256,当然你还需要一个很长的随机数SECRET_KEY
足够的熵。
可以在 python flask 应用程序中使用的最大密钥大小是多少?我在网上看到的所有示例,包括 http://flask.pocoo.org/docs/0.12/quickstart/#sessions 似乎都建议使用 192 位密钥,但我想知道是否可以使用 256 位密钥。
我相信你可以随心所欲地制作密钥,但在宏伟的计划中,安全强度仍然是主观的。您的应用不会比其他应用更安全。
我会坚持使用默认的推荐值。一定有推荐的理由。
是的,32 字节的密钥大小是可能的。
但是,来自Applied Criptography:
Longer key lengths are better, but only up to a point. AES will have 128-bit, 192-bit, and 256-bit key lengths. This is far longer than needed for the foreseeable future. In fact, we cannot even imagine a world where 256-bit brute force searches are possible. It requires some fundamental breakthroughs in physics and our understanding of the universe.
所以按照文档:大小为 24 字节并随机生成它应该没问题。
另外,看看Is it possible to break a 128-bit key?。这将使您了解破解 128 位密钥需要多长时间。
Flask 使用 itsdangerous.Signer
进行会话数据签名,签名中使用的密钥不是您在 SECRET_KEY
配置选项中提供的密钥,而是 is derived with an HKDF.
默认情况下,Flask uses HMAC-SHA1 作为 HKDF 算法,你只能得到 160 位的签名密钥,SECRET_KEY
的长度没有区别。为了得到256位的session签名密钥,你可以扩展flask.sessions.SecureCookieSessionInterface
,把digest_method
改成SHA256,当然你还需要一个很长的随机数SECRET_KEY
足够的熵。