web-dev-qa-db-ja.com

html5の「keygen」要素を使用すると、どのような便利なことができますか?

html5仕様に新しい* keygen要素 があります。 Internet ExplorerとSafariを除く主要なブラウザでサポートされています。

これは次のようになります。

<form action="processkey.cgi" method="post" enctype="multipart/form-data">
 <p><keygen name="key"></p>
 <p><input type=submit value="Submit key..."></p>
</form>

enter image description here

現在の実装では、RSAのみをkeytype属性としてサポートしています。

さて、私の質問ですが、それを使って何ができるのでしょうか?何のために?

*: あんまり

30
Stefano Palazzo

明らかな使用法はクライアント認証です。パスフレーズやスマートカードと組み合わせてセキュリティを向上させたり、パスワードを入力するための便利な代替手段として使用できます。

WebIDシングルサインオンプロトコル は、このコンテキストでは興味深い提案です。

クライアント証明書の主な問題は、ブラウザにバインドされていることです。したがって、別のコンピューターを使用している場合は、予防策を講じない限り、コンピューターにアクセスできません。

9

セッションの乗っ取りを軽減するために使用できると思います。サーバーはクライアントを認証し、クライアントからの入力を受け取る前に、クライアントでチェックを実行できます。仕様では、公開鍵とチャレンジを生成することもできます。重要な情報をフォームで送信する前に、サーバーを再認証できると便利です。

4
this.josh

この要素の目的は、ユーザーを認証する安全な方法を提供することです。タグは、フォームのキーペアジェネレータフィールドを指定します。詳細はこちら http://www.w3schools.com/html/html5_form_elements.asp

3
pussolini