htm5新增的表單元素keygen標籤的用法和屬性介紹

來源:互聯網
上載者:User
htm5新增的表單元素keygen標籤的用法和屬性介紹,本篇文章主要為大家介紹了html5 keygen標籤的定義用法及其屬性的描述,還有關於html5 keygen標籤的優缺點說明

html5 keygen標籤的定義和用法:

<keygen> 標籤規定用於表單的金鑰組產生器欄位。

當提交表單時,私密金鑰儲存在本地,公開金鑰發送到伺服器。

HTML5 <keygen> 標籤執行個體:

帶有 keygen 欄位的表單:

<form action="demo_keygen.asp" method="get">Username: <input type="text" name="usr_name" />Encryption: <keygen name="security" /><input type="submit" /></form>

html5 keygen標籤的屬性:

html5 keygen標籤的優缺點介紹:

首先<keygen>標籤會產生一個公開金鑰和私密金鑰,私密金鑰會存放在使用者本地,而公開金鑰則會發送到伺服器。那麼<keygen>標籤產生的公開金鑰/私密金鑰是用來做什麼用的呢?很多朋友在看到公開金鑰/私密金鑰的時候,應該就會想到了非對稱式加密。沒錯,<keygen>標籤在這裡起到的作用也是一樣。

<keygen>標籤所期望的是在收到SPKAC(SignedPublicKeyAndChallenge)排列後,伺服器會產生一個用戶端認證(Client Certificate),然後返回到瀏覽器讓使用者去下載儲存到本地。之後,使用者在需要驗證的時候,使用本機存放區的私密金鑰和認證後通過TLS/SSL安全傳輸協議到服務端做驗證。

以下是使用<keygen>標籤的優點:

  1. 一個是可以提高驗證時的安全性;

  2. 同時如果是作為用戶端認證來使用,可以提高對MITM攻擊的防禦力度;

  3. keygen標籤是跨越瀏覽器實現的,實現起來非常容易;

  4. 另外就是可以不用考慮作業系統的管理員權限問題。例如作業系統對不同使用者佈建了不同的瀏覽器許可權,IE或者其他瀏覽器可以在設定裡面禁用key的產生,這種情況下,可以通過keygen標籤來產生和使用沒有誤差的用戶端認證。

<keygen>標籤的不足之處也有很多:(比如下面的十種)

  1. 認證(Certificates)在不同的系統裡不是容易方便的(但是對於某些系統,這又是一個優勢)。

  2. 沒有在一個標準的位置儲存私密金鑰。

  3. 在html頁面看到<keygen>標籤產生的內容總是讓人困惑和難以理解。

  4. <keygen>標籤會讓使用者從一個列表裡選擇適當的key,但是大多數使用者不知道該如何選擇。

  5. 很多使用者並不清楚是否該根據提示下載認證(Certificate)。

  6. <keygen>標籤不提供一個能管理憑證讓其失效的機制。

  7. 沒有標準的key長度或者hash來實現瀏覽器無關性。

  8. 不支援演算法(RSA, DSA, ECC等)。

  9. key的大小選擇只能來源於<keygen>標籤產生的表單內容,而不是使用者可以選擇的。

  10. 簽名只能基於MD5,而不能使用其他的密碼編譯演算法。

瀏覽器支援

所有主流瀏覽器都支援 <keygen> 標籤,除了 Internet Explorer 和 Safari。

【相關推薦】

html標籤legend的具體用法你知道嗎?legend標籤的屬性和使用方法詳解

html map標籤是什嗎?html map標籤的結構及具體使用方法詳解

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.