您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何用加密鎖實現WEB程序身份認證,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
精銳5 身份認證“組件”(Virbox WebServer),是一個運行在用戶計算機的本地 Web 服務(不需要訪問互聯網),提供 Web 接口訪問精銳5加密鎖,B/S 架構的 Web 應用只需在網頁代碼中嵌入調用接口(跨域訪問)的代碼即可訪問加密鎖、獲取加密鎖信息,實現身份認證功能。
不同于 COM 組件訪問加密鎖的方式,本產品提供的 Web 接口可用 JavaScript 調用,開發者不需要學習額外的技能即可完成功能集成,兼容市面主流的瀏覽器(IE、Chrome、360、Firefox 等)。
完善的接口文檔及組件、示例代碼,幫助開發者快速完成加密方案
加密鎖私鑰簽名后的認證數據具有不可偽造的特性,無論 B/S 服務端與客戶端通信使用 HTTPS 或 HTTP 協議,傳輸數據是明文或者密文,都不影響認證數據的安全性。
可以同時采用 用戶名、密碼 登錄認證的方式,對客戶端用戶進行賬號認證,與硬件加密鎖認證結合實現雙重認證
精銳5身份認證方案兼容主流瀏覽器
B/S 服務端:開發者 B/S 架構應用程序(網站)服務端,向用戶提供服務。
瀏覽器(客戶端):用戶通過瀏覽器訪問指定域名的網站,包括主流的瀏覽器:IE、Chrome、360安全瀏覽器、360極速瀏覽器、獵豹瀏覽器等。
Virbox WebServer:身份認證核心組件,提供訪問加密鎖的 Web 接口。
Virbox 用戶工具:訪問精銳5加密鎖、云鎖、軟鎖,提供抽象訪問鎖(含硬件鎖、云鎖、軟鎖)接口。
精銳5加密鎖:身份認證的物理介質,鎖內存有唯一的設備私鑰,提供不可偽造的設備簽名。每一把精銳5加密鎖在出廠前由鎖內安全芯片生成全球唯一密鑰和證書,硬件具有不可復制、密鑰不可導出的安全特性,讓偽造認證變得更加困難。
注意:Virbox WebServer 無法直接與精銳5加密鎖通信,需要通過 Virbox 用戶工具間接訪問加密鎖,所以在軟件運行環境部署時需要安裝 Virbox WebServer 和 Virbox 用戶工具(可以通過官網下載最新版本)。
精銳5 身份認證的加密方案以加密鎖設備唯一的私鑰不可篡改、不可克隆為基礎,使用加密鎖私鑰簽名、加密鎖公鑰驗簽的方式進行驗證。
B/S 服務端已保存發售的加密鎖信息(外殼號、芯片號、設備證書)
當某一臺客戶端通過瀏覽器網頁訪問 B/S 服務端時,服務端首先校驗客戶端的合法性。
服務端記錄客戶端會話GUID
根據會話GUID + 隨機數 + 當前的UTC時間組合生成驗證數據,使用 Hash 算法計算驗證數據的哈希結果,用于驗證客戶端的合法性。
服務端將校驗數據返回給客戶端,等待客戶端使用本地的加密鎖的私鑰對驗證數據的 Hash 結果進行簽名,并將加密鎖信息和驗證簽名結果返回給服務端。
服務端校驗加密鎖合法性。服務端檢查客戶端上傳的加密鎖信息(外殼號、芯片號)與數據庫內容對比是否一致,驗證加密鎖的合法性。
服務端校驗驗證數據的合法性。服務端在確認加密鎖合法后,使用加密鎖的設備公鑰驗簽私鑰簽名的合法性,只有當簽名結果與驗證數據完全一致時,表示當前客戶端的加密鎖有效。
用戶通過客戶端的瀏覽器網頁訪問 B/S 服務端某些業務功能,當 B/S 服務端需要驗證客戶端的合法性時,客戶端需要將服務端返回的數據交給本地的精銳5硬件鎖進行簽名,然后將簽名結果返回給服務端進行驗證。
客戶端通過 Virbox WebServer 接口獲取加密鎖信息(外殼號、芯片號、設備證書)。
客戶端通過 Virbox WebServer 接口對服務端返回的認證數據進行加密鎖私鑰簽名。
客戶端將加密鎖信息和加密鎖私鑰簽名后的數據一起發給服務端進行校驗審核。
在實現基礎方案的基礎上,B/S 服務端可以同時采用 用戶名、密碼 登錄認證的方式,對客戶端用戶進行賬號認證,與硬件加密鎖認證結合實現雙重認證。
當客戶端需要進行某些特殊操作時,進行加密鎖認證,認證通過后允許客戶端執行業務功能。
精銳5身份認證的安全性由加密方案和精銳5硬件加密鎖硬件兩方面保證。
從上文中可以了解到 Virbox 身份認證,由服務端針對每一個客戶端生成唯一、不可重放的認證數據,再通過網絡交給客戶端,客戶端使用加密鎖私鑰對認證數據進行簽名,最后客戶端再將認證提交給 B/S 服務端在服務端進行認證檢查。
認證數據的生成和簽名結果校驗在服務端完成,客戶端使用加密鎖私鑰簽名后的認證數據具有不可偽造的特性,無論 B/S 服務端與客戶端通信使用 HTTPS 或 HTTP 協議,傳輸數據是明文或者密文,都不影響認證數據的安全性。
開發者只需保證 B/S 服務端生成的認證數據以下兩個特點:
唯一性。每個客戶端應該具有唯一的認證數據。
抗重放。認證數據只有單次有效,過期作廢,驗證完畢即刻清除,防止數據被重復利用。
開發者參照示例(web_server_test.html)將調用 Virbox WebServer 的 JS 代碼集成到業務功能的網頁中,并根據業務流程在適當的情況下觸發相關接口調用即可。
我們向開發者提供 Virbox WebServer 和 用戶工具的安裝包,以及 Virbox WebServer 接口文檔、示例代碼(C#、Java)。獲取開發包請聯系 技術服務人員。
開發者需要參照示例程序完成以下工作:
B/S 服務端生成認證數據,調用標準密碼學接口實現公鑰驗簽功能。
B/S 服務端根據加密方案提供數據存儲和校驗邏輯。
服務端需要實現賬號密碼登錄功能和相關數據存儲。
服務端需要記錄正式發布的加密鎖信息
客戶端調用 Virbox WebServer 接口獲取加密鎖信息,提交給服務端。
服務端實現檢查客戶端加密鎖數據有效性檢查功能。
基本方案。
雙重驗證方案。
在用戶計算機需要安裝以下組件
Virbox 用戶工具,開發者可以通過官網下載最新版本。
身份認證組件(Virbox WebServer),聯系技術服務人員獲取最新發布版本。
在用戶計算機插入精銳5硬件鎖
使用瀏覽器打開測試用例(web_server_test.html),點擊 “查詢 WebServer 版本號” ,返回當前認證服務版本號,如果未返回結果或提示錯誤,請根據常見問題進行排查。
瀏覽器 | 是否支持 | 備注 |
---|---|---|
IE | 支持 | 支持版本:IE8、IE9、IE10、IE11 |
Edge | 支持 | |
Chrome | 支持 | |
QQ瀏覽器 | 支持 | |
Firefox | 支持 | HTTPS 需要將證書加入信任列表 |
360 | 支持 | 360極速瀏覽器、360安全瀏覽器 |
Virbox WebServer的協議必須要與 B/S 服務端保持一致,如果瀏覽器訪問域名使用 HTTPS 協議,在返回的頁面中集成調用 Virbox WebServer 接口,必須保證運行的 Virbox WebServer 也是 HTTPS,否則會在頁面代碼中集成的 JS 代碼調用接口會返回失敗;反之,如果瀏覽器訪問域名使用 HTTP 協議,用戶端部署的 Virbox WebServer 也需要設置為 HTTP 協議。
Virbox WebServer 目前支持 HTTPS 和 HTTP 兩種協議。當前版本服務運行期間只能選擇一種協議,服務默認配置為 HTTPS,開發者可以通過修改安裝目錄下的配置文件(websrv_config.ini),將 protocol=HTTPS 改為 protocol=HTTP,保存配置文件,并重啟 “VirboxWebServer”,配置即刻生效。
備注:Virbox WebServer 默認安裝目錄 C:\Program Files (x86)\senseshield\ss_web
Virbox WebServer 使用 HTTPS 協議自簽名證書,在安裝時將根證書添加至 Windows 證書管理 “受信任的根證書頒發機構”,所有使用 Windows 證書管理的瀏覽器(IE、Edge、Chrome、360)都能夠正常訪問 Web 接口,不會提示“錯誤的證書”。
Firefox(火狐瀏覽器) 并未使用 Windows 證書管理,當前版本需要用戶手動訪問 Virbox WebServer 提供 Web 接口,在提示“錯誤證書”時將證書添加至信任列表即可,否則在網頁中調用 JS 代碼接口跨域訪問時會返回失敗。
Virbox WebServer 設置 HTTP 協議,支持跨主機使用 IP 訪問。
Virbox WebServer 設置 HTTPS 協議,只支持使用 localhost 域名在本機訪問 Web 接口,不支持其他域名和跨主機使用 IP 訪問。
Virbox WebServer 設置 HTTPS 協議時,無論通過瀏覽器直接輸入接口地址,或者通過 JS 調用接口,首次需要建立 HTTPS 通道,校驗證書,造成請求處理時間較長,請耐心等待,但再次請求時耗時恢復與接口實際用時相當的時間。
更換瀏覽器首次訪問 Virbox WebServer 接口都會存在訪問慢的情況。
建議:1.開發者可在網頁中明確標識功能仍在后臺運行,請用戶稍后的提示信息;2.在不考慮安全性的情況下,可改用 HTTP 協議,則不存在首次請求返回慢問題。
以上就是如何用加密鎖實現WEB程序身份認證,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。