.NET FrameworkがSHA1などのアルゴリズムを使用してViewStateを暗号化すると聞きました。 SHA1の暗号化アルゴリズムと解読アルゴリズムがViewStateを改ざんすることができますか?
悪意のあるユーザーがSHA1暗号アルゴリズムを研究していれば、そのアルゴリズムを理解し、解読アルゴリズムを開発すればviewstate改ざんの道が開けますか?またはSHA1または他のアルゴリズムは、暗号化と復号化に任意のランダムなトリックを使用しますか?ASP.net ViewStateの暗号化と復号化
答えて
暗号化は鍵を意味します。この鍵はサーバー上に保持され、クライアントがそれを見たことがない(他の大きなセキュリティ上の問題がない限り)。そのキーが分からなければ、暗号化されたビューステートを表示することさえできず、ほとんど変更しません。
暗号化がなくても、サーバーはビューステートのハッシュとサーバーだけが知っているキーを生成するように指示できます。そのキーを知らなければ、あなたはまだviewstateを読むことができますが、あなたはそれほど多くの努力なしには編集することができません。
フレームワークが使用する暗号化アルゴリズムやハッシングアルゴリズムが何であれ、改ざんを容易にするためには、十分に壊れている可能性があります。しかし、そうであれば、同じアルゴリズムが数十の場所で使用されるため、かなり早くそのことを知ることができます(よく知られた、よくテストされたアルゴリズムがあります)。
ショートバージョン:改ざんを防ぎたい場合は、正しく設定されていれば、ASP.netに組み込まれているものがうまく動作します。
暗号化と暗号化の違いは何ですか? – ishagoel
@ishagoel:エンコーディングにはキーは含まれておらず、簡単に元に戻せるように設計されています(Base64はエンコーディングの例であり、誰でもデコードして表示できます)。暗号化ではなく、正しい鍵を持っていれば元に戻すことができます。暗号化ハッシュはまったく別物です。それは可逆的ではないように設計されています*。ハッシュでできることのほとんどは、作成したデータを元に戻し、元のハッシュと比較することです。塩では、それは改ざんから守るためにかなりうまく機能します。 – cHao
@well説明!ありがとうございます。私はあなたの答えを受け入れました。 – ishagoel
- 1. Asp.net暗号化と復号化
- 2. 暗号化と復号化
- 3. RSA暗号化/復号化
- 4. AES暗号化/復号化
- 5. 暗号化/復号化soll
- 6. 復号化、暗号化
- 7. SWIFTの暗号化と復号化
- 8. ファイルの暗号化と復号化
- 9. DataTableオブジェクトの暗号化と復号化
- 10. ESAPIの暗号化と復号化
- 11. Md5ハッシュの暗号化と復号化
- 12. ファイルの復号化と暗号化
- 13. SQL Serverの暗号化と復号化
- 14. DES、RSAの暗号化と復号化
- 15. C++の暗号化と復号化
- 16. パスワードでの暗号化と復号化
- 17. C++暗号化と復号化のソースコード
- 18. 暗号化と復号化 - Javaの
- 19. PHPスイッチ:暗号化と復号化
- 20. PGP暗号化と復号化
- 21. シーザー暗号化と復号化C++
- 22. 暗号化と復号化Java Caesar Cipher
- 23. DES-ECB暗号化と復号化
- 24. 暗号ブロックチェーンの復号XOR「暗号化」
- 25. カスタム暗号化暗号化/復号化ストリーム
- 26. perlの暗号化、delphi7の復号化
- 27. AES256暗号化/復号化の速度
- 28. 別ファイルのXML暗号化/復号化
- 29. Muleコミュニティ版の暗号化/復号化
- 30. RSA暗号化/復号化の実装
SHA1はハッシュアルゴリズムです。非常に多くの場合、ビューステートが改ざんされていないことを確認するために使用できます(さらに、ハッシュにいくつかの秘密のサーバー側文字列が含まれている場合のみ)。 – cHao