現在、特定の情報を暗号化し、AES/CBC/PKCS5Padding暗号化を使用して128ビット秘密鍵サーバーに送信します。AESで暗号化されたトークンを使用する脆弱性がありますか?
このトークン内では
- パスワードのハッシュ(SHA-512と64バイトのランダムな塩)
- 期限
- を置く有効フラグ(ブール値)
- 作成日時スタンプ
サーバーは、秘密キーを使用してこの情報を暗号化し、クライアントに渡します。
クライアントは制限されたリソースを要求し、このトークンをサーバーに提示し、サーバーはそのトークンを復号し、内容を検証して制限されたリソースへのアクセスを提供します。
リソースの制限の可能性を避けるため、発行されたトークンに関する情報をサーバーに保存しないようにします。
私はセキュリティの専門家ではないため、潜在的な脆弱性を示す助けとなっていないか、またはこれがなぜ悪い考えであるのか非常に感謝しています。
が代わりにパスワードをパスすることが必要ですバージョンのハッシュ?ハッシュバージョンでは、PBKDF2、password_hash、bcryptなどのHAMC反復関数を意味します。このキーは、管理者アクセス権を持つアタッカーだけが知っていることに注意してください。 – zaph
良い点私たちがパスワードを渡す唯一の理由は、最初の認証で使用された最初のパスワードハッシュと同じコードで送信することですが、それを見ていきます。 – BrendanM
代わりにトークンにハッシュを保持し、フィードバックのためにトークンを受け取ったらハッシュを直接比較するように変更しました。パスワードハッシュは、sha-512と64バイトのランダムな塩を使用して行われます。 – BrendanM