|
ePass 是一個通過 USB 接口與電腦相連接、內置 MD5-HASH 算法以及安全文件系統的功能類似 IC 卡的信息安全設備。外觀如下圖:
- 內置 MD5、HASH 算法。
- 密鑰置于ePass 中,運算也在 ePass 中完成,無法跟蹤。
- 用隨機數作運算輸入因子,128 位高速算法。
- 使用 USB
接口,即插即用、無設置及硬體衝突之憂。
- 存儲器可擴展 8K - 64K。
- 兩級密碼,管理員密碼(64位)和用戶 PIN 碼(32位)。
- 文件系統,兩級目錄,容量 8K byte,最大目錄數 127 個,最大文件數 1010 個,文件及目錄具有創建、刪除權限,文件具有讀、寫、加密權限。
- 硬體 ID 號唯一,且不可更改。
電子商務的興起,行業性網站(垂直網站)日益增多(多數採用會員制),網站上的訊息對於會員來說,是有商業價值的,得到後能有回報,服務提供商需要對客戶端的用戶的身份進行確認、權限進行限定。網站方面要能很方便地確認登錄的用戶的合法身份﹔用戶方面要確保其合法身份不能被他人盜用、複製、冒充,成本不能過高,而且要符合現實的使用情況(即隨時都可以上網登錄,不僅限於某一台電腦,不能在電腦中留下客戶訊息)。而傳統的身份認証方式不能滿足網站的現實應用需求(以下會論述)。為了保護網站的利益、其註冊會員的利益,急需一個即經濟又安全的身份認証方案,取代傳統身份認証方式。
現在威脅網路安全的因素有自然災害、人禍、事故、犯罪和非法使用等,常見的方式有:電腦病毒、訊息洩密、訊息篡改、非授權訪問和資源的錯誤使用。
為確保網路的安全,人們從四方面著手:
- 防火牆技術:主要是對外部網路訪問內部網路的行為進行控制,對合法用戶允許其進入內部網並僅限於進行合法操作,對未經授權的用戶限制其在防火牆之外。
- 身份確認技術和數字簽名技術:為確保網路連接的合法性,當用戶要同網上另一個用戶連接時,要對用戶的身份進行合法性驗証,以防止非法用戶的連接或欺騙。數字簽名技術則是防止通信雙方的任何一方對自己行為的否認,又可防止冒名頂替,從而保証數據發送、接收的雙方不可否認,以滿足網上交易的需求。
- 加密技術:主要是對網路上傳輸的任何數據進行保護。
- 漏洞掃描和入侵檢測技術:漏洞掃描就是對電腦系統或網路設備進行安全檢測,以便發現安全隱患或能被駭客利用的缺陷﹔而入侵檢測是一種主動型網路安全防護技術。
針對於防火牆、加密技術、漏洞掃瞄和入侵檢測技術,業界已經有很多產品方案並行成標準。因此我們在敘述我們的方案時,前提假設服務器端是安全的,即沒有駭客闖入偷取數據,沒有內部人員篡改數據,存儲在服務器上的數據不會流失。
每當客戶端有一次服務申請時,服務器先產生一個隨機串給客戶端,客戶端的 ePass
用此隨機數作運算的輸入返一個運算結果給服務器,服務器端作相同的計算。並把計算結果與客戶端上傳的結果相比較,全過程可簡單由以下關系式來表示:
ePass( S , K ) = Server (
S , K)
其中 S 代表由服務器提供的隨機字符串,而 K 則代表密鑰,ePass(S, K) 代表是插在客戶端的 ePass 所進行的運算,Server
( S , K) 代表提服務器程序的運算。而等式兩端的 K
並不在客戶端出現,也未直接在網上發送,這就保証了此認証方案的可行性。
驗証流程如下圖所示:
PIN 碼保護(可選部分):用戶可以利用 PIN 碼來保護自己的 ePass,防止被別人擅自使用。操作如信用卡,用戶可先輸入
PIN 碼,PIN 碼正確則可進行下一步操作。PIN 碼錯誤則拒絕。
- 取得序列號
序列號可以是任何字符串或數字(如在數據庫中的用戶的帳戶或是 ePass
的硬體 ID 號),可是用戶輸入的字符串,或是從 ePass
中特定的文件中讀出等。發送給服務器。
- 服務器發出驗証請求
當服務器接受到客戶機的序列號時,需要對序列號的真實性進行檢查。因此,服務器開始對客戶機的ePass 進行 MD5 哈希信息碼校驗。要進行
MD5
校驗,服務器需要傳遞給客戶機一個隨機數,並且服務器必須記住這個隨機數。
- 客戶機響應服務器驗証請求
將服務器傳來的隨機數傳給 ePass 並在 ePass 內部進行 MD5 哈希信息碼運算,從而得到 128 位的摘要。這個摘要返回到服務器端。
- 服務器判斷客戶機的響應
服務器接收到客戶機返回的摘要與序列號。根據序列號找到先前保存的隨機數,和後台數據庫中保存的用戶持有的 ePass
的硬體 ID,及
ePass 中 MD5
哈希訊息碼的內容。然後使用這些數據進行 MD5 哈希運算,得到一個 128 位的摘要。將這個摘要與客戶機返回的摘要進行比較。相同則認為用戶合法,否則非法。
身份驗証在網路安全中其這舉足輕重的作用,它是上網的第一步。
傳統比較常用的身份驗証方式一種是採用“密碼 + 用戶名”,一種是利用 IC
卡,還有一種是利用電腦的特徵碼(如 CPU 序列號、網卡序列號等)或者是人體特徵碼(如指紋、瞳孔視網膜等)來實現。其中第一種是最常用的驗証機制,對安全要求較高的喜歡後兩種。
“密碼 + 用戶名”:網路環境中,密碼很容易散播、泄漏。如密碼在傳輸過程中被截獲、使用者或無意或有意的透露,造成密碼很難控制。往往造成一個帳戶多人在使用局面。這就損害了網站的利益以及其合法註冊用戶的利益。
利用 IC 卡驗証:IC 卡的安全性較高,IC
卡晶片無法複製篡改以及 IC
卡技術成熟、有標準可遵循,使其在網路安全領域占有一席之地。但是如果把其應用到身份驗証方面,由於
IC
卡需要專用的讀取設備,成本居高不下,並且攜帶不變。無法大範圍普及。
利用電腦的特徵碼驗証:由於其管理複雜,靈活性較差,電腦硬體發生變化需重新計算特徵碼申請授權,客戶不能隨便利用一台電腦登陸,對於經常外出的用戶就不是很方便。現在僅限於特殊的應用方面。
利用人體特徵碼驗証:這方面比較成熟的技術是指紋識別、視網膜識別技術。但是都需要專門的讀取錄入設備,對最終的使用者來說成本較高,讀取設備不便攜帶。使用僅限於安全性要求極高的場合,對於商業網站是無法普及應用。
ePass 認証方式:由於 ePass
本身是一個獨立小巧的數字設備,而又無需專用的讀寫設備。驗証過程中,密鑰不在網路中傳播,增加了安全性。攜帶方便、成本較低,將來會在網路中廣泛使用。
提供客戶端的驅動程序以及與 IE 結合使用的 ActiveX 控件。服務器端提供實現 MD5-HASH 算法的 C
語言源程序代碼及 Win32 動態鏈接庫調用接口及示例源程序。
|