本篇文章給大家分享的是有關(guān)如何用加密鎖實(shí)現(xiàn)WEB程序身份認(rèn)證,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括安多網(wǎng)站建設(shè)、安多網(wǎng)站制作、安多網(wǎng)頁(yè)制作以及安多網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,安多網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到安多省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
精銳5 身份認(rèn)證“組件”(Virbox WebServer),是一個(gè)運(yùn)行在用戶計(jì)算機(jī)的本地 Web 服務(wù)(不需要訪問(wèn)互聯(lián)網(wǎng)),提供 Web 接口訪問(wèn)精銳5加密鎖,B/S 架構(gòu)的 Web 應(yīng)用只需在網(wǎng)頁(yè)代碼中嵌入調(diào)用接口(跨域訪問(wèn))的代碼即可訪問(wèn)加密鎖、獲取加密鎖信息,實(shí)現(xiàn)身份認(rèn)證功能。
不同于 COM 組件訪問(wèn)加密鎖的方式,本產(chǎn)品提供的 Web 接口可用 JavaScript 調(diào)用,開(kāi)發(fā)者不需要學(xué)習(xí)額外的技能即可完成功能集成,兼容市面主流的瀏覽器(IE、Chrome、360、Firefox 等)。
完善的接口文檔及組件、示例代碼,幫助開(kāi)發(fā)者快速完成加密方案
加密鎖私鑰簽名后的認(rèn)證數(shù)據(jù)具有不可偽造的特性,無(wú)論 B/S 服務(wù)端與客戶端通信使用 HTTPS 或 HTTP 協(xié)議,傳輸數(shù)據(jù)是明文或者密文,都不影響認(rèn)證數(shù)據(jù)的安全性。
可以同時(shí)采用 用戶名、密碼 登錄認(rèn)證的方式,對(duì)客戶端用戶進(jìn)行賬號(hào)認(rèn)證,與硬件加密鎖認(rèn)證結(jié)合實(shí)現(xiàn)雙重認(rèn)證
精銳5身份認(rèn)證方案兼容主流瀏覽器
B/S 服務(wù)端:開(kāi)發(fā)者 B/S 架構(gòu)應(yīng)用程序(網(wǎng)站)服務(wù)端,向用戶提供服務(wù)。
瀏覽器(客戶端):用戶通過(guò)瀏覽器訪問(wèn)指定域名的網(wǎng)站,包括主流的瀏覽器:IE、Chrome、360安全瀏覽器、360極速瀏覽器、獵豹瀏覽器等。
Virbox WebServer:身份認(rèn)證核心組件,提供訪問(wèn)加密鎖的 Web 接口。
Virbox 用戶工具:訪問(wèn)精銳5加密鎖、云鎖、軟鎖,提供抽象訪問(wèn)鎖(含硬件鎖、云鎖、軟鎖)接口。
精銳5加密鎖:身份認(rèn)證的物理介質(zhì),鎖內(nèi)存有唯一的設(shè)備私鑰,提供不可偽造的設(shè)備簽名。每一把精銳5加密鎖在出廠前由鎖內(nèi)安全芯片生成全球唯一密鑰和證書(shū),硬件具有不可復(fù)制、密鑰不可導(dǎo)出的安全特性,讓偽造認(rèn)證變得更加困難。
注意:Virbox WebServer 無(wú)法直接與精銳5加密鎖通信,需要通過(guò) Virbox 用戶工具間接訪問(wèn)加密鎖,所以在軟件運(yùn)行環(huán)境部署時(shí)需要安裝 Virbox WebServer 和 Virbox 用戶工具(可以通過(guò)官網(wǎng)下載最新版本)。
精銳5 身份認(rèn)證的加密方案以加密鎖設(shè)備唯一的私鑰不可篡改、不可克隆為基礎(chǔ),使用加密鎖私鑰簽名、加密鎖公鑰驗(yàn)簽的方式進(jìn)行驗(yàn)證。
B/S 服務(wù)端已保存發(fā)售的加密鎖信息(外殼號(hào)、芯片號(hào)、設(shè)備證書(shū))
當(dāng)某一臺(tái)客戶端通過(guò)瀏覽器網(wǎng)頁(yè)訪問(wèn) B/S 服務(wù)端時(shí),服務(wù)端首先校驗(yàn)客戶端的合法性。
服務(wù)端記錄客戶端會(huì)話GUID
根據(jù)會(huì)話GUID + 隨機(jī)數(shù) + 當(dāng)前的UTC時(shí)間組合生成驗(yàn)證數(shù)據(jù),使用 Hash 算法計(jì)算驗(yàn)證數(shù)據(jù)的哈希結(jié)果,用于驗(yàn)證客戶端的合法性。
服務(wù)端將校驗(yàn)數(shù)據(jù)返回給客戶端,等待客戶端使用本地的加密鎖的私鑰對(duì)驗(yàn)證數(shù)據(jù)的 Hash 結(jié)果進(jìn)行簽名,并將加密鎖信息和驗(yàn)證簽名結(jié)果返回給服務(wù)端。
服務(wù)端校驗(yàn)加密鎖合法性。服務(wù)端檢查客戶端上傳的加密鎖信息(外殼號(hào)、芯片號(hào))與數(shù)據(jù)庫(kù)內(nèi)容對(duì)比是否一致,驗(yàn)證加密鎖的合法性。
服務(wù)端校驗(yàn)驗(yàn)證數(shù)據(jù)的合法性。服務(wù)端在確認(rèn)加密鎖合法后,使用加密鎖的設(shè)備公鑰驗(yàn)簽私鑰簽名的合法性,只有當(dāng)簽名結(jié)果與驗(yàn)證數(shù)據(jù)完全一致時(shí),表示當(dāng)前客戶端的加密鎖有效。
用戶通過(guò)客戶端的瀏覽器網(wǎng)頁(yè)訪問(wèn) B/S 服務(wù)端某些業(yè)務(wù)功能,當(dāng) B/S 服務(wù)端需要驗(yàn)證客戶端的合法性時(shí),客戶端需要將服務(wù)端返回的數(shù)據(jù)交給本地的精銳5硬件鎖進(jìn)行簽名,然后將簽名結(jié)果返回給服務(wù)端進(jìn)行驗(yàn)證。
客戶端通過(guò) Virbox WebServer 接口獲取加密鎖信息(外殼號(hào)、芯片號(hào)、設(shè)備證書(shū))。
客戶端通過(guò) Virbox WebServer 接口對(duì)服務(wù)端返回的認(rèn)證數(shù)據(jù)進(jìn)行加密鎖私鑰簽名。
客戶端將加密鎖信息和加密鎖私鑰簽名后的數(shù)據(jù)一起發(fā)給服務(wù)端進(jìn)行校驗(yàn)審核。
在實(shí)現(xiàn)基礎(chǔ)方案的基礎(chǔ)上,B/S 服務(wù)端可以同時(shí)采用 用戶名、密碼 登錄認(rèn)證的方式,對(duì)客戶端用戶進(jìn)行賬號(hào)認(rèn)證,與硬件加密鎖認(rèn)證結(jié)合實(shí)現(xiàn)雙重認(rèn)證。
當(dāng)客戶端需要進(jìn)行某些特殊操作時(shí),進(jìn)行加密鎖認(rèn)證,認(rèn)證通過(guò)后允許客戶端執(zhí)行業(yè)務(wù)功能。
精銳5身份認(rèn)證的安全性由加密方案和精銳5硬件加密鎖硬件兩方面保證。
從上文中可以了解到 Virbox 身份認(rèn)證,由服務(wù)端針對(duì)每一個(gè)客戶端生成唯一、不可重放的認(rèn)證數(shù)據(jù),再通過(guò)網(wǎng)絡(luò)交給客戶端,客戶端使用加密鎖私鑰對(duì)認(rèn)證數(shù)據(jù)進(jìn)行簽名,最后客戶端再將認(rèn)證提交給 B/S 服務(wù)端在服務(wù)端進(jìn)行認(rèn)證檢查。
認(rèn)證數(shù)據(jù)的生成和簽名結(jié)果校驗(yàn)在服務(wù)端完成,客戶端使用加密鎖私鑰簽名后的認(rèn)證數(shù)據(jù)具有不可偽造的特性,無(wú)論 B/S 服務(wù)端與客戶端通信使用 HTTPS 或 HTTP 協(xié)議,傳輸數(shù)據(jù)是明文或者密文,都不影響認(rèn)證數(shù)據(jù)的安全性。
開(kāi)發(fā)者只需保證 B/S 服務(wù)端生成的認(rèn)證數(shù)據(jù)以下兩個(gè)特點(diǎn):
唯一性。每個(gè)客戶端應(yīng)該具有唯一的認(rèn)證數(shù)據(jù)。
抗重放。認(rèn)證數(shù)據(jù)只有單次有效,過(guò)期作廢,驗(yàn)證完畢即刻清除,防止數(shù)據(jù)被重復(fù)利用。
開(kāi)發(fā)者參照示例(web_server_test.html)將調(diào)用 Virbox WebServer 的 JS 代碼集成到業(yè)務(wù)功能的網(wǎng)頁(yè)中,并根據(jù)業(yè)務(wù)流程在適當(dāng)?shù)那闆r下觸發(fā)相關(guān)接口調(diào)用即可。
我們向開(kāi)發(fā)者提供 Virbox WebServer 和 用戶工具的安裝包,以及 Virbox WebServer 接口文檔、示例代碼(C#、Java)。獲取開(kāi)發(fā)包請(qǐng)聯(lián)系 技術(shù)服務(wù)人員。
開(kāi)發(fā)者需要參照示例程序完成以下工作:
B/S 服務(wù)端生成認(rèn)證數(shù)據(jù),調(diào)用標(biāo)準(zhǔn)密碼學(xué)接口實(shí)現(xiàn)公鑰驗(yàn)簽功能。
B/S 服務(wù)端根據(jù)加密方案提供數(shù)據(jù)存儲(chǔ)和校驗(yàn)邏輯。
服務(wù)端需要實(shí)現(xiàn)賬號(hào)密碼登錄功能和相關(guān)數(shù)據(jù)存儲(chǔ)。
服務(wù)端需要記錄正式發(fā)布的加密鎖信息
客戶端調(diào)用 Virbox WebServer 接口獲取加密鎖信息,提交給服務(wù)端。
服務(wù)端實(shí)現(xiàn)檢查客戶端加密鎖數(shù)據(jù)有效性檢查功能。
基本方案。
雙重驗(yàn)證方案。
在用戶計(jì)算機(jī)需要安裝以下組件
Virbox 用戶工具,開(kāi)發(fā)者可以通過(guò)官網(wǎng)下載最新版本。
身份認(rèn)證組件(Virbox WebServer),聯(lián)系技術(shù)服務(wù)人員獲取最新發(fā)布版本。
在用戶計(jì)算機(jī)插入精銳5硬件鎖
使用瀏覽器打開(kāi)測(cè)試用例(web_server_test.html),點(diǎn)擊 “查詢 WebServer 版本號(hào)” ,返回當(dāng)前認(rèn)證服務(wù)版本號(hào),如果未返回結(jié)果或提示錯(cuò)誤,請(qǐng)根據(jù)常見(jiàn)問(wèn)題進(jìn)行排查。
瀏覽器 | 是否支持 | 備注 |
---|---|---|
IE | 支持 | 支持版本:IE8、IE9、IE10、IE11 |
Edge | 支持 | |
Chrome | 支持 | |
QQ瀏覽器 | 支持 | |
Firefox | 支持 | HTTPS 需要將證書(shū)加入信任列表 |
360 | 支持 | 360極速瀏覽器、360安全瀏覽器 |
Virbox WebServer的協(xié)議必須要與 B/S 服務(wù)端保持一致,如果瀏覽器訪問(wèn)域名使用 HTTPS 協(xié)議,在返回的頁(yè)面中集成調(diào)用 Virbox WebServer 接口,必須保證運(yùn)行的 Virbox WebServer 也是 HTTPS,否則會(huì)在頁(yè)面代碼中集成的 JS 代碼調(diào)用接口會(huì)返回失?。环粗?,如果瀏覽器訪問(wèn)域名使用 HTTP 協(xié)議,用戶端部署的 Virbox WebServer 也需要設(shè)置為 HTTP 協(xié)議。
Virbox WebServer 目前支持 HTTPS 和 HTTP 兩種協(xié)議。當(dāng)前版本服務(wù)運(yùn)行期間只能選擇一種協(xié)議,服務(wù)默認(rèn)配置為 HTTPS,開(kāi)發(fā)者可以通過(guò)修改安裝目錄下的配置文件(websrv_config.ini),將 protocol=HTTPS 改為 protocol=HTTP,保存配置文件,并重啟 “VirboxWebServer”,配置即刻生效。
備注:Virbox WebServer 默認(rèn)安裝目錄 C:\Program Files (x86)\senseshield\ss_web
Virbox WebServer 使用 HTTPS 協(xié)議自簽名證書(shū),在安裝時(shí)將根證書(shū)添加至 Windows 證書(shū)管理 “受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”,所有使用 Windows 證書(shū)管理的瀏覽器(IE、Edge、Chrome、360)都能夠正常訪問(wèn) Web 接口,不會(huì)提示“錯(cuò)誤的證書(shū)”。
Firefox(火狐瀏覽器) 并未使用 Windows 證書(shū)管理,當(dāng)前版本需要用戶手動(dòng)訪問(wèn) Virbox WebServer 提供 Web 接口,在提示“錯(cuò)誤證書(shū)”時(shí)將證書(shū)添加至信任列表即可,否則在網(wǎng)頁(yè)中調(diào)用 JS 代碼接口跨域訪問(wèn)時(shí)會(huì)返回失敗。
Virbox WebServer 設(shè)置 HTTP 協(xié)議,支持跨主機(jī)使用 IP 訪問(wèn)。
Virbox WebServer 設(shè)置 HTTPS 協(xié)議,只支持使用 localhost 域名在本機(jī)訪問(wèn) Web 接口,不支持其他域名和跨主機(jī)使用 IP 訪問(wèn)。
Virbox WebServer 設(shè)置 HTTPS 協(xié)議時(shí),無(wú)論通過(guò)瀏覽器直接輸入接口地址,或者通過(guò) JS 調(diào)用接口,首次需要建立 HTTPS 通道,校驗(yàn)證書(shū),造成請(qǐng)求處理時(shí)間較長(zhǎng),請(qǐng)耐心等待,但再次請(qǐng)求時(shí)耗時(shí)恢復(fù)與接口實(shí)際用時(shí)相當(dāng)?shù)臅r(shí)間。
更換瀏覽器首次訪問(wèn) Virbox WebServer 接口都會(huì)存在訪問(wèn)慢的情況。
建議:1.開(kāi)發(fā)者可在網(wǎng)頁(yè)中明確標(biāo)識(shí)功能仍在后臺(tái)運(yùn)行,請(qǐng)用戶稍后的提示信息;2.在不考慮安全性的情況下,可改用 HTTP 協(xié)議,則不存在首次請(qǐng)求返回慢問(wèn)題。
以上就是如何用加密鎖實(shí)現(xiàn)WEB程序身份認(rèn)證,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:如何用加密鎖實(shí)現(xiàn)WEB程序身份認(rèn)證
路徑分享:http://chinadenli.net/article36/jsepsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站導(dǎo)航、商城網(wǎng)站、網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)