智能卡是IC卡(集成電路卡)的一種,按所嵌的芯片類型的不同,IC卡可分為三類:
1.存儲器卡:卡內的集成電路是可用電擦除的可編程只讀存儲器EEPROM,它僅具數據存儲功能,沒有數據處理能力;存儲卡本身無硬件加密功能,只在文件上加密,很容易被破解。
2.邏輯加密卡:卡內的集成電路包括加密邏輯電路和可編程只讀存儲器EEPROM,加密邏輯電路可在一定程度上保護卡和卡中數據的安全,但只是低層次防護,無法防止惡意攻擊。
3.智能卡(CPU卡)。
從功能上來說,智能卡的用途可歸為如下四點:
1.身份識別:運用內含微計算機系統對數據進行數學計算,確認其唯一性。
2.支付工具:內置計數器(counter)替代成貨幣、紅利點數、等,數字體的數據。
3.加密/解密:網絡迅速發展的情況下,電子商務的使用率亦大幅成長,部分廠商表示,網絡消費最重要的在于身份的真實性、資料的完整性、交易的不可否認以及合法性,藉由密碼機制如DES、RSA、MD5等,除可增加卡片的安全性外,還可采用離線作業,以降低網絡上的通訊成本。
4.信息:由于GSM行動電話的普及,SIM卡需求量大增,加速智能卡的技術發展,使得行動電話從原來單純的電話功能,延伸到今日的網絡聯機等功能。
使用智能卡身份驗證,是當前包括銀行(網銀轉帳、在線支付)、廣電(電視機頂盒)、稅務系統廣泛采用的一種安全認證體系。
智能卡的應用非常廣泛,本文介紹智能卡在計算機網絡中的應用,使用USB接口的智能卡結合了USB接口技術和智能卡技術、比傳統的智能卡設備更加方便、價格更加低廉、應用也比較方便。
智能卡主要在以下四個方面具有廣泛的應用:
1.網站身份驗證體系:對于一些放在Internet或局域網內的網站,有時候需要限制用戶訪問。傳統的方式采用用戶名、密碼進行身份驗證,但用戶名密碼很容易泄露。應用之一是采用硬件智能卡代替傳統的用戶名、密碼身份驗證體系。另外,有些網站后臺管理,仍然采用用戶名、密碼進行身份驗證。對于安全性要求高的、必須發布到Internet的網站,可以將網站的前臺發布供Internet用戶訪問,而網站的后臺采用智能卡身份驗證體系,以提高安全性。
2.計算機登錄:傳統的計算機登錄使用用戶名密碼,現在許多筆記本集成指紋驗證也是智能卡的一種應用。但對于大多數的辦公計算機來說,則沒有集成這一硬件功能,本文介紹將智能卡與Active Directory、證書結合,采用智能卡登錄計算機,提高系統的安全性。
3.VPN訪問企業內網:傳統的VPN采用用戶名密碼。如果密碼泄露,則整個內網可能就處于攻擊之下。為了提高安全性,可以用智能卡代替傳統的用戶名密碼,并且智能卡再丟失后可以通過“吊銷”的方式,注銷丟失的智能卡,防止被盜用。
4.移動設備、計算機數據安全防護:人們在U盤、活動硬盤、筆記本計算機、臺式機硬盤保存了重要的數據,如果一旦遺失,在損失硬件的前提下,重要的數據(相片、財務數據、設計文檔、源代碼)可能一同丟失。黃金有價,數據無價。如果避免在硬件損失的前提下,避免數據的丟失及泄露呢?采用智能卡將硬盤加密是其中的一種選擇。
使用智能卡訪問受保護的網站,主要可以有兩種方式實現。一種是使用“證書”方式,即將證書寫入智能卡,而訪問網站必須要驗證與網站服務器由同一證書頒發機構頒發的證書。如果是自己頒發證書或證書已過期,則不能訪問。二是修改網站代碼,在網站代碼中驗證智能卡硬件序列號,凡是不屬于或者不在訪問范圍之內的硬件,則不允許訪問。本文介紹使用第一種方式來實現。其指導思想如下:
1.配置一臺證書服務器用于身份驗證:可以使用Windows Server 2003/2008/2012等服務器,Windows服務器不需要升級到Active Directory,安裝“獨立證書服務器”即可。
2.配置Web服務器:為網站服務器申請證書(使用本節提供的證書服務器),修改Web服務器配置,要求“安全通道”并“要求客戶端證書”。
3.為訪問網站客戶端頒發智能卡:登錄證書服務器,申請證書,在申請證書時,將證書“寫”到智能卡。
4.客戶端訪問:在客戶端計算機安裝智能卡驅動程序,插入智能卡,登錄要訪問的網站服務器,在訪問網站時提示選擇證書。如果沒有證書則不能訪問。
證書服務器的安裝我們不做過多介紹,下面介紹主要步驟:
1.在Web服務器上,使用瀏覽器,登錄證書申請頁面,為Web服務器申請證書。申請證書之后,打開“Internet信息服務管理器”,為Web服務器綁定申請的證書,并修改Web服務器的配置,在“目錄安全性→編輯”中,打開“安全通信”對話框,選擇“要求安全通道(SSL)”,并選中“要求客戶端證書”,如圖1所示。
2.管理員在管理工作站上,安裝智能卡驅動程序,打開證書申請網頁,申請證書并將證書寫到智能卡中。在“高級證書申請”對話框中,在“姓名”后面輸入智能卡的使用單位,在“需要的證書類型”下拉列表中選擇“客戶端身份驗證證書”,在“CSP”列表中選擇與你的智能卡對應的選項,例如本例為“EnterSafe ePass2000Auto CSP v1.0”,然后單擊“提交”按鈕,提交申請,如圖2所示。
3.之后會彈出輸入智能卡的PIN碼,輸入設置的PIN碼,之后單擊“確定”按鈕。
4.在“證書己頒發”對話框,單擊“安裝此證書”鏈接,將證書寫入到智能卡。每次可以將證書寫入到一個“智能卡”,如果要為另一用戶準備智能卡,請插入新的智能卡,為用戶重新申請證書并完成寫卡操作。

圖1 網站要求安全通道并要求客戶端證書

圖2 申請證書
5.客戶端使用。在客戶端計算機上,插入智能卡并安裝驅動程序,然后在瀏覽器以“https://Web服 務 器 IP或域名”的方式,打開Web服務器,會彈出“選擇數字證書”的對話框,查看并單擊“確定”按鈕,選擇數字證書。
注意:此證書必須為第上一步頒發的證書(即與Web服務器與綁定的證書是同一“證書服務器”頒發的證書),使用其他證書無效。隨后彈出輸入PIN的對話框,輸入PIN之后,打開網站。
6.如果在選擇數字證書對話框后,在列表中為空白,則表示證書無效,或者沒有插入智能卡,或者智能卡證書損壞,都不能訪問網站。
組建使用“智能卡”進行身份驗證的VPN網絡,其基礎是組建VPN網絡,但VPN客戶端身份驗證改為硬件“智能卡”。之所以不采用普通的用戶名、密碼,是因為普通的用戶名與密碼很容易泄漏。而采用智能卡進行身份驗證,其基本則是使用儲存在智能卡中的“證書”進行身份驗證。證書具有唯一性,并且可以與傳統身份驗證的用戶“綁定”,只是寫入到智能卡中的證書具有不可復制性。
如果要組建用“智能卡進行身份驗證”的VPN網絡,設計思想如下:
1.身份驗證采用Windows服務器中的“Active Directory”,并且安裝“企業證書服務器”,頒發證書時,證書與Active Directory用戶一一對應。
2.VPN服務器采用Windows Server集成的“路由和遠程訪問服務”,或者Microsoft“自家”的產品,例如ISA Server或Forefront TMG Server,這兩款防火墻產品都可以做VPN服務器,并且可以很好的與Active Directory進行集成。
3.在配置VPN服務器時(以 Forefront TMG 2010為例),選擇使用“可擴展的身份驗證協議(EAP),使用智能卡或其他證書”,取消其他選擇。
4.為了統一頒發證書,管理員使用證書申請Web頁中的“智能卡證書注冊站”,為每個用戶申請并頒發證書。
5.VPN客戶端,創建VPN客戶端連接,選擇“使用我的智能卡進”,在撥號VPN時,插入智能卡,輸入智能卡的PIN,完成撥號。需要注意,VPN客戶端要“信任”根證書頒發機構。
使用智能卡登錄計算機,實際上,大多數的配置步驟,與上一節“組建采用智能卡進行身份驗證的VPN網絡”是相同的,都需要Active Directory、企業 證書、使用智能卡證書注冊站為用戶注冊證書。可以這樣說,只要采用上節的方法與步驟,將Active Directory用戶證書寫入到智能卡中,加入到Active Directory的計算機,在登錄界面中,插入智能卡,即自動跳轉到登錄頁面,提示輸入用戶的PIN,即可登錄系統(登錄的用戶名是智能卡中寫入的證書對應的AD用戶名)。
計算機登錄采用Active Directory、企業證書服務器來實現。使用“智能卡注冊站”為每個用戶注冊證書(每個用戶對應一個智能卡),通過修改計算機的策略,由原來的用戶名身份驗證改為智能卡驗證。達到插卡訪問、拔卡鎖定計算機的目的和功能。
智能卡數據加密是基于Windows Vista操作系統開始支持的BitLocker驅動器加密實現,以達到對計算機的操作系統盤及數據盤加密、解密。當操作系統及硬件被非常侵入或修改時,必須要使用原加密的智能卡才能解密,達到保護數據的目的。
BitLocker驅動器加密是從Windows Vista操作系統開始提供的一個必不可少的安全功能,該功能幫助保護存儲在固定和可移動數據驅動器以及操作系統驅動器上的數據。BitLocker有助于防范“脫機攻擊”,即通過禁用或阻止已安裝的操作系統而展開的攻擊,或通過實際取走硬盤來單獨攻擊數據而展開的攻擊。對于固定和可移動數據驅動器,BitLocker幫助確保用戶只有在擁有所需密碼、智能卡憑據或者在擁有合適密鑰的計算機上使用受BitLocker保護的數據驅動器時才能夠在驅動器上讀取數據和將數據寫入到驅動器。
注意:BitLocker驅動器加密時,有多種方法可以驗證其身份,最簡單的是使用密碼,或者將解密密鑰保存于U盤中,或者將“智能卡”應用于BitLocker驅動器加密。幾種方式加密的取得的安全效果相同。但將“智能卡”用于BitLocker驅動器加密,可以在企業網絡中部署。在采用這種方式時,可以將加密密鑰保存在Active Directory,萬一加密的智能卡丟失時,可以在Active Directory中查找BitLocker恢復密鑰,以恢復被加密的數據,如果是其他方式,如果加密密碼遺忘并且沒有保存恢復密鑰,則加密的數據將不能被查看。
在企業中,為網絡中的計算機部署,或采用“智能卡”進行身份驗證,對用戶計算機采取BitLocker驅動器加密,保護數據的主要步驟如下。
1.配置Active Directory與企業證書服務器。
2.在企業證書服務器中,添加BitLocker驅動器加密功能,之后添加復制用于BitLocker模板,并修改證書模板用于BitLocker驅動器加密。
3.之后登錄證書申請頁面,為智能卡申請證書,證書模板選擇上一步中添加復制的模板,在“密鑰選項”中,選擇智能卡的CSP,之后申請證書,輸入智能卡PIN,將申請的證書安裝到智能卡中。
4.在要加密驅動器的計算機上,插入上一步寫入證書的智能卡,在“控制面板→所有控制面板項→BitLocker驅動器加密”中,選擇一個磁盤,例如E盤,單擊“啟用BitLocker”,在“BitLocker驅動器加密”對話框,選擇“使用智能卡解鎖驅動器”。
5.之后設置并保存恢復密鑰,最后開始加密選擇的驅動器。
6.當驅動器加密后,如果要查看或使用被加密的驅動器,可以在“資源管理器”,中,右擊加密的驅動器,在彈出的對話框中選擇“解鎖驅動器”。
7.在彈出的“此驅動器由BitLocker驅動器加密保護”對話框中,插入智能卡,單擊“解鎖”按鈕。如果選中了“從現在開始在此計算機上自動解鎖”,只要解鎖成功,以后在重新開機后會自動解鎖,只有當BitLocker驅動器加密檢測到硬件變動時,會自動鎖定此驅動器并需要再次解鎖。
8.在輸入智能卡的PIN后,開始解鎖。解鎖之后,顯示驅動器內容,并能正常讀寫。