春のドキュメントは、私がクッキーに以下の情報を格納することによって実装されて覚えていることを述べている -春のセキュリティ認証管理の脆弱性
base64で(ユーザー名+ ":" + expirationTime + ":" + md5Hex(ユーザー名+ ":" + expirationTime + ":" パスワード+ ":" +キー))
私が持っている以下の混乱 -
使用する理由SHA-1またはSHA-2を使用する代わりに、MD5のような非安全なハッシュを使用して情報を消化します。このような小さな情報では、これらのパフォーマンスが大幅に低下するでしょうか?
この情報をネットワーク経由で送信する理由は何ですか?暗号化された安全な乱数のマップとこの情報をサーバーに保持して、マップキーのみをクッキーとして返すのはなぜでしょうか。 AFAIKこれはサーブレットAPIによって使用されるアプローチであり、より安全とみなされます。
SHA-2が壊れているとは思わないので、makeTokenSignature()をオーバーライドするのは良い方法です。どんな場合でも永続的なトークン・アプローチを使用する必要があるのだろうかと思います。 –
永続性のアプローチはずっと安全です。パスワードに関する情報を提供しないと、常に暗号化されたパスワードを送信する方が良いでしょう。 - しかし、この議論は理論的な傾向があります。 - とにかく、永続的なトークンアプローチが好きです。これは、このようなトークンを削除するなどの追加機能を有効にするためです。 – Ralph
永続的なトークンアプローチは明らかに優れていますが、基本的に署名として使用されているこのシナリオでMD5を使用することについて何が安全でないかはわかりません。ハッシュされたパスワードとMD5ハッシュを再現するキーの両方にアクセスする必要があります。 – sourcedelica