14

公開鍵認証を使用して Web サイトにサインインするためのログイン システムを実装しようとしています。これが実現可能かどうかはわかりません。

これは私がやろうとしていることです:-

  1. サインアップ中、ユーザーの公開鍵は Web サイトに保存されます。
  2. ユーザーが後でログインしようとすると、Web サイトはユーザーに対応する秘密鍵を要求します。
  3. 秘密鍵がサインアップ時にユーザーが提供した公開鍵と一致する場合、ユーザーは認証されます。

startsl.com などのサイトで、ユーザーの身元を確認するためにユーザーの秘密鍵を要求しているのを見てきました (添付のスクリーンショットを参照)。では、そのようなシステムを実装するには何が必要でしょうか?

秘密鍵を要求する Web サイトのスクリーンショット

4

1 に答える 1

6

流れを明確にするためだけに

  1. ユーザーは、従来のユーザー名とパスワードのペアを使用してサインアップします。また、少なくとも1つの公開鍵を入力するように求められます(他の公開鍵は、プロファイル管理パネルから後で追加できます)
  2. サーバーはユーザーの公開鍵を保存し、証明書でそのユーザーに関連付けます
  3. 次回クライアントが証明書を提示するリクエストを行うと(これはブラウザで処理されるため、ユーザーに対して透過的に行われます)、サーバー側のSSLエンジンは、クライアントを認識しているかどうかを確認し、認識しているかどうかを確認し、リクエストが処理されます。アプリケーションコードは、公開鍵とユーザーの間のリンクを知っているため、ユーザーを認証および承認します。クライアントが識別されない場合、サーバーはサインアップまたは手動ログインを許可するためにいくつかのページにリダイレクトする必要があります(おそらく新しい公開鍵を追加するため)
于 2012-04-07T16:27:53.453 に答える