国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

USBKEY用于網(wǎng)絡(luò)信息系統(tǒng)身份認(rèn)證研究

2013-08-06 15:26張小波陳軍勝白曉明張俊石吉寶
城市勘測 2013年4期
關(guān)鍵詞:用戶名服務(wù)器端哈希

張小波,陳軍勝,白曉明,張俊,石吉寶

(成都市勘察測繪研究院,四川成都 610081)

1 引言

USBKEY是一種USB接口的硬件設(shè)備,具有唯一編號(hào),它內(nèi)置單片機(jī)或智能卡芯片,有一定的存儲(chǔ)空間,可用于存儲(chǔ)用戶的密鑰及數(shù)字證書,利用USBKEY內(nèi)置的公鑰算法(如HMAC-MD5算法)可實(shí)現(xiàn)對(duì)用戶身份的認(rèn)證。由于用戶密鑰保存在USBKEY中,理論上使用任何方式都無法讀取,因此保證了用戶認(rèn)證的安全性。

2 USBKEY身份認(rèn)證過程

USBKEY用于身份認(rèn)證,首先需要進(jìn)行USBKEY的注冊(cè),在USBKEY中寫入用戶名信息,并在數(shù)據(jù)庫中記錄用戶名、USBKEY的序列號(hào)等。

圖1 USBKEY驗(yàn)證過程

USBKEY的驗(yàn)證過程如下:服務(wù)器端產(chǎn)生一個(gè)隨機(jī)數(shù),將隨機(jī)數(shù)發(fā)送給客戶端,客戶端的USBKEY利用此隨機(jī)數(shù)和存儲(chǔ)的密鑰文件通過硬件加密引擎進(jìn)行計(jì)算,得到運(yùn)算結(jié)果并發(fā)送給服務(wù)器;服務(wù)器端根據(jù)用戶信息和隨機(jī)數(shù)用加密引擎進(jìn)行計(jì)算,得到運(yùn)算結(jié)果,與客戶端發(fā)送的結(jié)果進(jìn)行比較,若結(jié)果一致則通過驗(yàn)證。

3 USBKEY注冊(cè)及驗(yàn)證演示

下面是以北京飛天誠信的ePass1000ND制作的一個(gè)基于ASP.NET的網(wǎng)絡(luò)信息系統(tǒng)身份認(rèn)證演示。

系統(tǒng)部署后,首先需要進(jìn)行USBKEY注冊(cè),在客戶機(jī)插入 USBKEY,輸入一個(gè)密鑰,然后點(diǎn)擊“USBKEY授權(quán)”,將密鑰加密處理后寫入U(xiǎn)SBKEY。

在USBKEY驗(yàn)證時(shí),需要輸入待驗(yàn)證的密鑰,然后點(diǎn)擊“USBKEY驗(yàn)證”,若用戶輸入的密鑰正確,則驗(yàn)證成功,否則驗(yàn)證失敗。

圖2 USBKEY注冊(cè)及驗(yàn)證演示

4 核心代碼

4.1 客戶端控件

客戶端讀寫USBKEY是利用USBKEY廠家提供的ACTIVEX控件進(jìn)行的,需要在ASPX頁面的<body>段添加一個(gè)ACTIVEX對(duì)象,對(duì)象名為“epass”:

4.2 USBKEY注冊(cè)

USBKEY的注冊(cè)需要在用戶數(shù)據(jù)庫中寫入用戶賬號(hào)密碼信息及用戶名與USBKEY對(duì)應(yīng)關(guān)系,在USBKEY中寫入密鑰等,USBKEY寫入密鑰的核心代碼如下:

4.3 USBKEY驗(yàn)證

USBKEY驗(yàn)證的實(shí)質(zhì)是驗(yàn)證服務(wù)器端存儲(chǔ)的密鑰與USBKEY中存儲(chǔ)的密鑰是否一致,為安全起見,在驗(yàn)證時(shí)并不是直接用密鑰進(jìn)行比對(duì),而是分別將密鑰與一組隨機(jī)數(shù)進(jìn)行不可逆的哈希運(yùn)算,比較哈希運(yùn)算的結(jié)果是否一致即可。USBKEY驗(yàn)證需要服務(wù)器與客戶端交互,服務(wù)器端生成隨機(jī)數(shù),利用隨機(jī)數(shù)和密鑰進(jìn)行哈希運(yùn)算,得到結(jié)果1;客戶端的USBKEY利用此隨機(jī)數(shù)和內(nèi)部存儲(chǔ)的密鑰進(jìn)行哈希運(yùn)算,得到結(jié)果2;服務(wù)器端將結(jié)果1和結(jié)果2進(jìn)行對(duì)比,若一致則驗(yàn)證成果,否則失敗。

(1)生成隨機(jī)數(shù)

(3)服務(wù)器端哈希運(yùn)算及驗(yàn)證

5 結(jié)語

以上是USBKEY用于網(wǎng)絡(luò)信息系統(tǒng)身份認(rèn)證的最簡演示,在實(shí)際運(yùn)用時(shí),可以采取以下一些方法,進(jìn)一步提高網(wǎng)絡(luò)系統(tǒng)身份認(rèn)證的安全性:

(1)用戶名與USBKEY的序列號(hào)綁定:由于每個(gè)USBKEY都有一個(gè)不可更改的唯一序列號(hào),因此實(shí)際上是將用戶名與USBKEY硬件綁定了,用戶只要保管好自己的USBKEY就可以防止他人以本人身份登錄;

(2)寫入U(xiǎn)SBKEY的密鑰二次加密:一般以用戶名或密碼作為密鑰,經(jīng)加密后寫入U(xiǎn)SBKEY。雖然密鑰文件在USBKEY中對(duì)用戶是不可見的,但是由于用戶名或者密碼本身仍然有泄露風(fēng)險(xiǎn),因此可以自定義特定算法,對(duì)密鑰進(jìn)行二次加密后再寫入U(xiǎn)SBKEY,這樣即使非法用戶盜取了用戶名、密碼仍然無法復(fù)制USBKEY;

(3)啟用USBKEY自身的權(quán)限系統(tǒng):在寫入密鑰散列計(jì)算后得到的兩個(gè)文件時(shí),可以對(duì)這兩個(gè)文件的權(quán)限設(shè)置為需要用戶PIN碼驗(yàn)證,由于用戶PIN碼是USBKEY的使用者自行設(shè)置的,只與USBKEY硬件有關(guān),與身份認(rèn)證系統(tǒng)無關(guān),且PIN碼累計(jì)輸錯(cuò)一定次數(shù)后USBKEY將會(huì)自動(dòng)鎖定無法使用,采用此種方法可以顯著提高安全性。

[1]周廣輝.USBKEY用戶認(rèn)證平臺(tái)的研究和實(shí)現(xiàn)[J].信息安全與通信保密,2009(9):113~118.

[2]馬偉強(qiáng).我國網(wǎng)上銀行身份認(rèn)證技術(shù)分析[J].計(jì)算機(jī)安全,2012(3):50~52.

[3]北京飛天誠信科技有限公司.ePass1000ND開發(fā)文檔[R].

猜你喜歡
用戶名服務(wù)器端哈希
《護(hù)士進(jìn)修雜志》投稿程序
《護(hù)士進(jìn)修雜志》投稿程序
Linux環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設(shè)計(jì)
文件哈希值處理一條龍
《護(hù)士進(jìn)修雜志》投稿程序
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
機(jī)智的快遞員
基于Qt的安全即時(shí)通訊軟件服務(wù)器端設(shè)計(jì)
基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
巧用哈希數(shù)值傳遞文件