0

bcryptとAESを使用してモバイルデバイスのログインメカニズムを実装しています。ユーザーはパスワードを使用してログインする必要があります。パスワードはbcryptでハッシュされ、データベース内のハッシュと比較されます。もちろん、ログイントランザクションはSSLを介して行われ、サーバーはSSLのみを提供するように構成されます。その部分はかなり簡単です。

ただし、ユーザーが毎回ログインする必要がないように、Cookieも保存する必要があります。Cookieは、24時間後にデバイスから自動的に削除されます。日時スタンプとbcryptハッシュで構成されるAES暗号化文字列を保存することを計画していました。AESの実装は、私が苦労しているところです。「.NETAES暗号化アルゴリズム機能の単純なラッパー」であるEncryptamajigを使用することを計画していましたが、まだ修正されていないこの問題が投稿されているのを目にしました。(問題は、キーとしてIVを生成するために同じ導出関数を使用することに関係しています)。

私の質問は、これは私がこのラッパーを使用することを妨げるはずの大きな問題ですか?(私の暗号化の知識は増えていますが、それでも比較的低いです。しかし、私が正しく理解していれば、これはWEPを非常に簡単に解読できるのと同じ問題に近いです)

そうである場合、.NetのAESクラスを使用するための最良/より良い方法はありますか?現在SOにある回答のほとんどは古いようで、AESクラスをまったく扱っていません。

4

1 に答える 1

2

IMO Cookieは、データベースの自動ログインテーブルに保存されているランダムトークンである必要があります。次に、ユーザーのパスワードを変更せずに、これらのトークンを無効にすることができます。

Rijndael.netでAESを使用する場合、ブロックサイズが128またはのいずれかの組み込みクラスの1つを使用しますAes。追加の速度が必要な場合は、他の実装のみを使用します(暗号クラスのビルドは遅いことがよくあります)。

于 2012-09-04T18:57:37.170 に答える