新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > USB安全鑰功能擴展與優(yōu)化設計

USB安全鑰功能擴展與優(yōu)化設計

作者: 時間:2009-04-09 來源:網(wǎng)絡 收藏

1 鑰的完整

本文引用地址:http://2s4d.com/article/173794.htm

鑰最早基于的熱插拔、速度以及硬件等優(yōu)勢,結合加密算法,用于辦公文件、軟件等的存儲和加密。但USB鑰的用武之地遠不止這些,與網(wǎng)絡技術結合,用于時下最時尚的電子商務中,才使其大顯神通。USB安全鑰結合傳統(tǒng)的電子商務核心技術和新興的USB技術,用于實現(xiàn)電子商務中的關鍵技術――身份識別,在未來電子商務領域具有廣闊的應用前景。USB安全鑰集數(shù)據(jù)加密和數(shù)據(jù)存儲兩大于一體,推動了電子商務的發(fā)展。

傳統(tǒng)的電子商務或是網(wǎng)絡email等的身份認證基本上是通過兩種方式來實現(xiàn)的。一種是密碼機制,雙方約定好規(guī)則。這是目前最為普遍的方式,但是這種方式的嚴重缺點顯而易見。密碼作為最重要的信息,在網(wǎng)絡上傳輸,很容易被黑客攻擊截獲,經常發(fā)生密碼被盜。第二種方式是通過第三方的認證,雙方共同信任第三方公司提供的信息,從而進行交易。微軟在.NET計劃中推出的認證服務器就提供這種服務。但是,信譽度建立在第三方上,便會受到第三方的制約,掏錢不說,還要擔心第三方是否會倒閉。USB安全鑰解決了這兩種方式無法解決的問題。

完整的USB安全鑰系統(tǒng)由三部分組成:安全鑰端,采用Motorola公司帶USB接口的8位MC68HC908JB8構成;PC端,由任何一臺可接入網(wǎng)絡的PC構成,并安裝PC端的用戶身份認證軟件;Server端,任何一臺網(wǎng)絡服務器安裝用于身份認證的Server端軟件。

USB安全鑰系統(tǒng)結構體系及流程如圖1所示,列出了九個步驟,描述了USB安全鑰從插入PC到完成一次身份識別的完整流程。

需要強調的是,在上述步驟中,PC僅僅起一個Media(媒介)的作用。任何重要的數(shù)據(jù)都沒有經過PC,在網(wǎng)絡上傳輸?shù)膬H僅是8個字節(jié)的隨機數(shù)(它只在Server服務器和安全鑰端有意義,只對特定的加密算法和密鑰有意義),被黑客截取也不會有問題。這8個字節(jié)的隨機數(shù)由網(wǎng)絡Server產生,經由PC傳遞給USB安全鑰加密;加密后的隨機數(shù)再由PC不加任何改變地傳遞給Server;Server去調用解密算法解開加密的隨機數(shù),與原來未加密的隨機數(shù)比較,如果相同則說明USB安全鑰的持有者身份合理。整個身份認證也告結束。這里,USB安全鑰體現(xiàn)出兩大優(yōu)點:(1)沒有任何重要的個人信息在網(wǎng)上傳遞,保證了安全性;(2)Server由網(wǎng)絡商自己維護,安全鑰由用戶攜有,雙方的認證沒有依靠第三方,快捷、安全、信譽度高。當然,USB安全鑰還有其他很多優(yōu)點,例如可以在PC上熱插拔,可以在任何一臺支持USB的PC上工作(現(xiàn)在幾乎所有的PC都應該支持USB)等。

2 USB安全鑰的技術細節(jié)

USB安全鑰技術,從上可以分為三個模塊:Server端的網(wǎng)絡通訊和加密算法、PC端的和網(wǎng)絡通訊、安全鑰端的和加密算法設計。涉及到的計算機技術包括Socket網(wǎng)絡編程技術、設計技術和加密算法技術??梢哉f整個設計內容龐雜,技術難度高。因此,設計時就需細化,一步步完成單個功能,再進行聯(lián)調,將單個模塊融合成完整的USB安全鑰。

后期的功能設計也是針對三個模塊,應用三大技術完成。主要是:服務器(Server)端DES加密算法的研究,設計加密算法的,提供給客戶最簡單的API;PC和安全鑰端驅動程序的研究,實現(xiàn)PC端友好的程序界面,動態(tài)在線修改存儲在安全鑰內的用戶產品信息。本文將詳細介紹的設計方法,從而揭示USB安全鑰的技術細節(jié)。

2.1 如何設計Server端加密算法及其DLL

密碼算法(Algorithm)就是指加密函數(shù)(Encryption)和解密函數(shù)(Decryption)。有加密函數(shù),那么必然有一套與它對應的解密函數(shù)?,F(xiàn)代密碼學用密鑰技術解決了保密性不夠的問題。密鑰用K表示。K的取值范圍叫做密鑰空間??梢杂萌缦率阶觼肀硎炯用芎徒饷芎瘮?shù)之間的關系:

DK(EK(M))=M

其中,E為加密函數(shù),D為解密函數(shù),M為被加密的原文。有一個重要的結論:所有算法的安全性都基于密鑰的安全性,而不是算法細節(jié)的安全性。這就是說,算法可以公開,只要密鑰是保密的,則這個算法就是安全的。簡單地說,密鑰就是與密文疊加在一起的一組數(shù)。

作為ANSI的數(shù)據(jù)加密算法和ISO的DEA-1,成為世界范圍內的標準已經20多年。就目前密碼學的發(fā)展情況來說,DES的安全性還是能夠滿足用戶需求的。由于完整的DES算法相當復雜,這里僅簡單介紹算法的結構。

DES是分組加密算法,以64位為一組對明文進行分組,然后進行加密和解密。加密和解密的算法相同,只是密鑰的編排不同。密鑰長度為56位,通常是64位,但是每字節(jié)第8位都用來作為奇偶校驗位,因此實際上只有56位。DES共有16輪,即對同一組明文結合密鑰進行16輪相同的加密過程,最終達到加密要求。

具體到每一輪的加密過程是這樣的:每一輪中,密鑰位移位,然后從密鑰中選出48位。數(shù)據(jù)的32位右半部分數(shù)據(jù)成48位,與密鑰結合。然后再將這48位數(shù)據(jù)變換為32位,并與數(shù)據(jù)的32位左半部分相與后作為新的32位右半部分。而32位左半部分基本不變。最后,左右各32位數(shù)組合在一起便構成了一輪加密后的64位密文。重復同樣運算16次,便完成了加密/解密功能[4]。


上一頁 1 2 3 4 下一頁

評論


相關推薦

技術專區(qū)

關閉