0

Web アプリの管理者を認証するためのログイン メカニズムを実装したいと考えています。しかし、私はsslを使用していないので、ユーザーがhtmlフォームを介してパスワードを送信することに頼ることはできません.

そこで、ワンタイムパスワードを使おうと思った(実は知らなかった、概念を再発明したところ、すでにそのようなものが存在することがわかった)。

私が欲しいのは、私の実装がどれほど安全かについてのあなたの意見です:

1) クライアントは、ランダムで一意のハッシュを要求します。サーバーはそのハッシュを生成し、それをセッション変数に格納して、ハッシュをクライアントに返します。

2) クライアントは、そのハッシュから、クライアントとサーバーだけが知っているカスタム アルゴリズムを使用してパスワードを取得します。そのパスワードはサーバーに送り返されます。

3)サーバーは同じことを行い、パスワードが一致するかどうかを確認します。一致する場合、ユーザーは認証されます。

これはまったくクラックできますか?

4

1 に答える 1

5

「彼とサーバーだけが知っているカスタム アルゴリズム」 . アルゴリズムが秘密であることにのみ依存しているため、これは設計上壊れています。

プロトコルの本質的な弱点は言うまでもなく、実装を (クライアント側の JavaScript などとして) 配布するとすぐに、それはもう秘密ではありません。

私の2セント:あなたが暗号の専門家でない限り、独自のソリューションを展開しないでください. 公開された、健全で実証済みのプロトコルに固執し、評判の良い実装のみを使用してください。

于 2014-02-22T00:53:25.853 に答える