<keygen> …… フォーム送信時にキーを発行する HTML5で追加
<keygen>タグは、key generatorの略で、フォーム送信時にキーを発行して暗号化する際に使用します。
キーが発行される場合には、秘密キーと公開キーがペアで発行されます。 秘密キーはローカル環境に保存され、公開キーはサーバーに送信されます。 この仕組みにより、クライアント認証がより確実となり、情報送信の安全性が高まるでしょう。
尚、keytype属性では、暗号化の種類を指定することができますが、HTML5の仕様ではブラウザがサポートするべき暗号方式は決められていません。 ブラウザによっては、どの暗号方式もサポートされていないこともありえます。
keytype属性で指定できる可能性のある値としては、rsaなどが挙げられます。 RSAとは、公開鍵暗号方式の標準として普及している暗号アルゴリズムの名称です。 RSAでは、巨大な数の素因数分解が困難なことを利用してデータを暗号化します。
■HTML4.01からHTML5へのバージョンアップによる変更点
keygen要素は、HTML5から新たに追加された要素です。
■属性
autofocus属性
オートフォーカスする
challenge属性
送信されるキーと一緒にパッケージする値を指定する
disabled属性
キーを操作不能にする
form属性
<form>要素と関連付ける
keytype属性
暗号化の種類を指定する(rsaなど、指定できる値はブラウザによる)
name属性
キーに名前を付ける
オートフォーカスする
challenge属性
送信されるキーと一緒にパッケージする値を指定する
disabled属性
キーを操作不能にする
form属性
<form>要素と関連付ける
keytype属性
暗号化の種類を指定する(rsaなど、指定できる値はブラウザによる)
name属性
キーに名前を付ける
■使用例
HTMLソース
<form action="processkey.cgi" method="post" enctype="multipart/form-data">
<p><keygen name="key"></p>
<p><input type=submit value="キーを送信する"></p>
</form>
<form action="processkey.cgi" method="post" enctype="multipart/form-data">
<p><keygen name="key"></p>
<p><input type=submit value="キーを送信する"></p>
</form>
↓↓↓
ブラウザ上の表示