現(xiàn)在很多人都在使用網(wǎng)上銀行。為了保障網(wǎng)上銀行交易的安全性,銀行往往會給你一個U盤。在交易的時候,需要同時插入U盤和輸入密碼才能夠交易。密碼與U盤缺一不可。其實,這個U盤起的作用跟安全卡類似。通過某些手段,可以讓安全卡種包含有用戶的特定信息。而每個用戶又會有一個的個人識別碼。在進(jìn)行遠(yuǎn)程訪問的時候,根據(jù)這個的個人識別碼與安全卡中的個人身份信息,會生成一個口令。用戶就根據(jù)這個口令來訪問遠(yuǎn)程網(wǎng)絡(luò)??梢哉f,到目前為止,這個方案是最安全的認(rèn)證方案之一。
這說起來簡單,但是若要在企業(yè)中應(yīng)用,還是具有一定的難度。筆者今天就結(jié)合一個實際的案例,談?wù)劙踩ㄔ谄髽I(yè)中如何部署,以及部署過程中的注意點。
一、 安全卡的基本操作步驟
安全卡與個人識別碼結(jié)合會生成一個的安全密鑰。這個密鑰會有專門的安全卡服務(wù)器(有些人喜歡把它叫做令牌服務(wù)器)進(jìn)行確認(rèn)。其具體的操作步驟如下。
第一步:如果用戶要進(jìn)行遠(yuǎn)程連接,則必須先在自己的主機(jī)上發(fā)起一個遠(yuǎn)程連接的請求。如果用戶采用安全卡來保障遠(yuǎn)程連接安全性的話,則遠(yuǎn)程用戶必須先插入安全卡??荚嚧筇崾驹谡J(rèn)證過程中,客戶端會提示找不到安全卡。
第二步:生成一次性口令。當(dāng)用戶插入安全卡之后,客戶端會自動讀取安全卡中的用戶信息,并結(jié)合只有用戶知道的個人識別碼生成一個一次性口令。這個一次性口令的安全性如何,就要看不同廠商所采用的算法了。企業(yè)網(wǎng)絡(luò)管理員需要了解各種算法的優(yōu)缺點,并根據(jù)企業(yè)對于安全程度的要求不同,選擇合適的算法。
第三步:進(jìn)行身份驗證。當(dāng)遠(yuǎn)程連接客戶端提示用戶輸入口令后,遠(yuǎn)程用戶需要把這個一次性口令復(fù)制到口令對話框中。然后客戶端就會跟遠(yuǎn)程的服務(wù)器端進(jìn)行身份驗證。這里要注意,有些商業(yè)解決方案,把這個用戶輸入口令的步驟省掉了??蛻舳藭詣影堰@個口令復(fù)制到密碼對話框中,以減少用戶輸入的步驟。這就好像在登陸郵箱是是否需要保存用戶名與密碼一樣。雖然節(jié)省了操作時間,但是降低了安全保障。是否需要這個自動化操作,用戶與網(wǎng)絡(luò)管理員可以自行抉擇。
第四步:網(wǎng)絡(luò)接入服務(wù)器在收到口令之后,往往會把這個口令轉(zhuǎn)發(fā)給專業(yè)的安全卡服務(wù)器進(jìn)行身份驗證。安全服務(wù)器在收到網(wǎng)絡(luò)接入服務(wù)器轉(zhuǎn)發(fā)過來的口令之后,會使用客戶端相同的算法來驗證收到的口令。如果驗證通過,則安全卡服務(wù)器會告訴網(wǎng)絡(luò)接入服務(wù)器,其身份合法。并且會把這個賬戶所對應(yīng)的一些訪問權(quán)限等安全策略一并告知網(wǎng)絡(luò)接入服務(wù)器,以方便其對該用戶進(jìn)行訪問權(quán)限的控制。
這就是利用安全卡進(jìn)行身份驗證的四個基本步驟。從這個幾個步驟中,我們可以看到,網(wǎng)絡(luò)管理員基本上不用對這個過程進(jìn)行干預(yù)。網(wǎng)絡(luò)管理員的工作主要是事先的配置,如安全算法的選擇等等。
二、如何保障安全卡本身的安全
雖然說利用安全卡進(jìn)行身份驗證是到目前為止,最安全的認(rèn)證機(jī)制之一。但是,就安全卡本身來說,并不是很安全?,F(xiàn)在市場上常見的安全卡都是EEPROM(電可擦可編程只讀存儲器)芯片制成的,它斷電后數(shù)據(jù)不會丟失。EEPROM可以在電腦上或者專用設(shè)備上擦除已有信息,并進(jìn)行重新編程。這無疑使得安全卡可以被重復(fù)使用,降低企業(yè)安全卡應(yīng)用成本。但是,其也帶來了一些安全隱患。
電可擦可編程只讀存儲器是用戶可更改的只讀存儲器。用戶可以通過高于普通電壓的作用來擦除和重寫;而且,電可擦可編程只讀存儲器不需要從計算機(jī)中取出即可修改。也就是說,當(dāng)計算機(jī)在使用這個電可擦可編程只讀存儲器的時候,就可以進(jìn)行頻繁的重編程。所以,電可擦可編程只讀存儲器跟可重復(fù)刻錄光盤一樣,使用壽命是一個很重要的設(shè)計考慮參數(shù)。由于其可以重復(fù)使用,無疑減低了企業(yè)安全卡的硬件投資成本。但是,因為安全卡的內(nèi)容可以被讀取,并可以重新編程。為此,只要入侵者有這個設(shè)備,就可以復(fù)制安全卡中的信息。所以,雖然說安全卡信息拷貝需要有專業(yè)的工具,增加了一定的難度??墒?,仍然有可能會泄露。另外就是安全卡也不能夠避免監(jiān)守自盜的情況。如網(wǎng)絡(luò)管理員在把用戶信息錄制到安全卡中,完全可多錄制幾張。若網(wǎng)絡(luò)管理員對這個用戶有仇想陷害他,或者以后離職了,就可以利用手中復(fù)制的安全卡來進(jìn)行未經(jīng)授權(quán)的訪問。因為獲取用戶識別碼難度不大,再加上可以輕易取得安全卡的備份,那么一切就會變得很簡單了。
這就是安全卡機(jī)制中的一個的安全漏洞。也可以說是一個可以被攻擊的漏洞。
應(yīng)對措施:出于安全的需要,遠(yuǎn)程用戶需要對安全卡加強(qiáng)保護(hù),特別是不能夠外借給其他人。同時,網(wǎng)絡(luò)管理員也要加強(qiáng)對這些用戶的監(jiān)控。若發(fā)現(xiàn)用戶有試圖訪問未經(jīng)授權(quán)的資源時,就需要分析是否是因為安全卡信息泄露所造成的惡意訪問。另外,當(dāng)網(wǎng)絡(luò)管理員新上任之后,能夠?qū)υ械陌踩ㄅc用戶識別碼等信息進(jìn)行整理。在必要的時候,進(jìn)行一次更新,以防止上一任網(wǎng)絡(luò)管理員監(jiān)守自盜的行為。這些措施都可以有效的解決安全卡帶來的安全隱患。讓安全卡真正的安全起來。
三、 選擇合適的服務(wù)提供商
安全卡解決方案需要專業(yè)的軟件與服務(wù)器支持,所以,企業(yè)若想要采用安全卡來提高遠(yuǎn)程訪問安全性的話,往往需要購買其他公司的軟件與解決方案。故網(wǎng)絡(luò)管理員還需要根據(jù)自己公司的應(yīng)用背景,來選一個合適的解決方案。
在選型過程中,除了價格方面的考慮因素外,筆者認(rèn)為最重要的是要考慮一次性口令的生成機(jī)制。因為不同的生成機(jī)制其一次性口令的安全性是不同的。所以網(wǎng)絡(luò)管理員需要根據(jù)自己企業(yè)對于安全性的要求來進(jìn)行選型。常見的一次性口令算法有如下幾種,供網(wǎng)絡(luò)管理員選擇。
一是基于挑戰(zhàn)響應(yīng)的算法。若采用這種算法,在客戶端與服務(wù)器建立起會話之后,安全服務(wù)器會隨機(jī)生成一個字符串,并把這個字符串傳遞給客戶端。安全卡會根據(jù)存儲的信心以及收到的字符串根據(jù)某個函數(shù)進(jìn)行計算,并發(fā)計算結(jié)果返回給安全服務(wù)器。然后服務(wù)器會根據(jù)受到的結(jié)果進(jìn)行反向運算。如果運算的結(jié)果跟存儲在安全數(shù)據(jù)庫中的結(jié)果相同,則遠(yuǎn)程客戶的身份驗證將被通過,從而允許其進(jìn)行遠(yuǎn)程訪問。
二是基于時間算法。利用這種算法也可以生成一次性口令,并跟安全服務(wù)器同步。此時的安全卡往往會有一個LCD,用來顯示最新的口令。通常情況下,每隔幾分鐘安全卡就會重新計算一次口令;同時安全服務(wù)器也會重新進(jìn)行計算。這個口令是根據(jù)當(dāng)前的時間與安全卡中的信息結(jié)合進(jìn)行計算的。若要實現(xiàn)這個算法,其關(guān)鍵就是安全卡中的時間信息要跟安全服務(wù)器中的時間信息同步,否則的話,口令就無法與安全服務(wù)器同步。
三是一些基于生物特征的算法。一次性口令是根據(jù)安全卡中的用戶信息結(jié)合用戶識別碼進(jìn)行計算的。所以提高用戶識別碼的安全性,也可以提高這個解決方案的安全性。如果遠(yuǎn)程訪問也能夠向指紋鎖那樣,那么無疑其安全性就會很有保障。其實在基于安全卡的解決方案中,也可以利用指紋等生物特征來作為用戶識別碼。然后結(jié)合安全卡中的用戶信息來結(jié)算一次性口令。
在以上三種一次性口令計算方法中,第三種安全性。但是,企業(yè)若要采用這個方法的話,則必須要增添收集指紋等信息的設(shè)備。在終端,也需要增添相關(guān)的設(shè)備。為此,企業(yè)要增加不少的成本。所以沒有特別的需要,這種方法不是很經(jīng)濟(jì)。
筆者現(xiàn)在采用的是基于時間的算法。若安全卡頻繁的在電腦上插拔,會降低安全卡的壽命。而基于時間的算法,在安全卡上直接帶有LCD顯示屏可以顯示一次性口令。如此可以避免在電腦上插拔,可以提高使用壽命。
所以,網(wǎng)絡(luò)管理員需要根據(jù)自己企業(yè)的安全要求、投資成本等因素綜合考慮,然后選擇一個合理的解決方案。
這說起來簡單,但是若要在企業(yè)中應(yīng)用,還是具有一定的難度。筆者今天就結(jié)合一個實際的案例,談?wù)劙踩ㄔ谄髽I(yè)中如何部署,以及部署過程中的注意點。
一、 安全卡的基本操作步驟
安全卡與個人識別碼結(jié)合會生成一個的安全密鑰。這個密鑰會有專門的安全卡服務(wù)器(有些人喜歡把它叫做令牌服務(wù)器)進(jìn)行確認(rèn)。其具體的操作步驟如下。
第一步:如果用戶要進(jìn)行遠(yuǎn)程連接,則必須先在自己的主機(jī)上發(fā)起一個遠(yuǎn)程連接的請求。如果用戶采用安全卡來保障遠(yuǎn)程連接安全性的話,則遠(yuǎn)程用戶必須先插入安全卡??荚嚧筇崾驹谡J(rèn)證過程中,客戶端會提示找不到安全卡。
第二步:生成一次性口令。當(dāng)用戶插入安全卡之后,客戶端會自動讀取安全卡中的用戶信息,并結(jié)合只有用戶知道的個人識別碼生成一個一次性口令。這個一次性口令的安全性如何,就要看不同廠商所采用的算法了。企業(yè)網(wǎng)絡(luò)管理員需要了解各種算法的優(yōu)缺點,并根據(jù)企業(yè)對于安全程度的要求不同,選擇合適的算法。
第三步:進(jìn)行身份驗證。當(dāng)遠(yuǎn)程連接客戶端提示用戶輸入口令后,遠(yuǎn)程用戶需要把這個一次性口令復(fù)制到口令對話框中。然后客戶端就會跟遠(yuǎn)程的服務(wù)器端進(jìn)行身份驗證。這里要注意,有些商業(yè)解決方案,把這個用戶輸入口令的步驟省掉了??蛻舳藭詣影堰@個口令復(fù)制到密碼對話框中,以減少用戶輸入的步驟。這就好像在登陸郵箱是是否需要保存用戶名與密碼一樣。雖然節(jié)省了操作時間,但是降低了安全保障。是否需要這個自動化操作,用戶與網(wǎng)絡(luò)管理員可以自行抉擇。
第四步:網(wǎng)絡(luò)接入服務(wù)器在收到口令之后,往往會把這個口令轉(zhuǎn)發(fā)給專業(yè)的安全卡服務(wù)器進(jìn)行身份驗證。安全服務(wù)器在收到網(wǎng)絡(luò)接入服務(wù)器轉(zhuǎn)發(fā)過來的口令之后,會使用客戶端相同的算法來驗證收到的口令。如果驗證通過,則安全卡服務(wù)器會告訴網(wǎng)絡(luò)接入服務(wù)器,其身份合法。并且會把這個賬戶所對應(yīng)的一些訪問權(quán)限等安全策略一并告知網(wǎng)絡(luò)接入服務(wù)器,以方便其對該用戶進(jìn)行訪問權(quán)限的控制。
這就是利用安全卡進(jìn)行身份驗證的四個基本步驟。從這個幾個步驟中,我們可以看到,網(wǎng)絡(luò)管理員基本上不用對這個過程進(jìn)行干預(yù)。網(wǎng)絡(luò)管理員的工作主要是事先的配置,如安全算法的選擇等等。
二、如何保障安全卡本身的安全
雖然說利用安全卡進(jìn)行身份驗證是到目前為止,最安全的認(rèn)證機(jī)制之一。但是,就安全卡本身來說,并不是很安全?,F(xiàn)在市場上常見的安全卡都是EEPROM(電可擦可編程只讀存儲器)芯片制成的,它斷電后數(shù)據(jù)不會丟失。EEPROM可以在電腦上或者專用設(shè)備上擦除已有信息,并進(jìn)行重新編程。這無疑使得安全卡可以被重復(fù)使用,降低企業(yè)安全卡應(yīng)用成本。但是,其也帶來了一些安全隱患。
電可擦可編程只讀存儲器是用戶可更改的只讀存儲器。用戶可以通過高于普通電壓的作用來擦除和重寫;而且,電可擦可編程只讀存儲器不需要從計算機(jī)中取出即可修改。也就是說,當(dāng)計算機(jī)在使用這個電可擦可編程只讀存儲器的時候,就可以進(jìn)行頻繁的重編程。所以,電可擦可編程只讀存儲器跟可重復(fù)刻錄光盤一樣,使用壽命是一個很重要的設(shè)計考慮參數(shù)。由于其可以重復(fù)使用,無疑減低了企業(yè)安全卡的硬件投資成本。但是,因為安全卡的內(nèi)容可以被讀取,并可以重新編程。為此,只要入侵者有這個設(shè)備,就可以復(fù)制安全卡中的信息。所以,雖然說安全卡信息拷貝需要有專業(yè)的工具,增加了一定的難度??墒?,仍然有可能會泄露。另外就是安全卡也不能夠避免監(jiān)守自盜的情況。如網(wǎng)絡(luò)管理員在把用戶信息錄制到安全卡中,完全可多錄制幾張。若網(wǎng)絡(luò)管理員對這個用戶有仇想陷害他,或者以后離職了,就可以利用手中復(fù)制的安全卡來進(jìn)行未經(jīng)授權(quán)的訪問。因為獲取用戶識別碼難度不大,再加上可以輕易取得安全卡的備份,那么一切就會變得很簡單了。
這就是安全卡機(jī)制中的一個的安全漏洞。也可以說是一個可以被攻擊的漏洞。
應(yīng)對措施:出于安全的需要,遠(yuǎn)程用戶需要對安全卡加強(qiáng)保護(hù),特別是不能夠外借給其他人。同時,網(wǎng)絡(luò)管理員也要加強(qiáng)對這些用戶的監(jiān)控。若發(fā)現(xiàn)用戶有試圖訪問未經(jīng)授權(quán)的資源時,就需要分析是否是因為安全卡信息泄露所造成的惡意訪問。另外,當(dāng)網(wǎng)絡(luò)管理員新上任之后,能夠?qū)υ械陌踩ㄅc用戶識別碼等信息進(jìn)行整理。在必要的時候,進(jìn)行一次更新,以防止上一任網(wǎng)絡(luò)管理員監(jiān)守自盜的行為。這些措施都可以有效的解決安全卡帶來的安全隱患。讓安全卡真正的安全起來。
三、 選擇合適的服務(wù)提供商
安全卡解決方案需要專業(yè)的軟件與服務(wù)器支持,所以,企業(yè)若想要采用安全卡來提高遠(yuǎn)程訪問安全性的話,往往需要購買其他公司的軟件與解決方案。故網(wǎng)絡(luò)管理員還需要根據(jù)自己公司的應(yīng)用背景,來選一個合適的解決方案。
在選型過程中,除了價格方面的考慮因素外,筆者認(rèn)為最重要的是要考慮一次性口令的生成機(jī)制。因為不同的生成機(jī)制其一次性口令的安全性是不同的。所以網(wǎng)絡(luò)管理員需要根據(jù)自己企業(yè)對于安全性的要求來進(jìn)行選型。常見的一次性口令算法有如下幾種,供網(wǎng)絡(luò)管理員選擇。
一是基于挑戰(zhàn)響應(yīng)的算法。若采用這種算法,在客戶端與服務(wù)器建立起會話之后,安全服務(wù)器會隨機(jī)生成一個字符串,并把這個字符串傳遞給客戶端。安全卡會根據(jù)存儲的信心以及收到的字符串根據(jù)某個函數(shù)進(jìn)行計算,并發(fā)計算結(jié)果返回給安全服務(wù)器。然后服務(wù)器會根據(jù)受到的結(jié)果進(jìn)行反向運算。如果運算的結(jié)果跟存儲在安全數(shù)據(jù)庫中的結(jié)果相同,則遠(yuǎn)程客戶的身份驗證將被通過,從而允許其進(jìn)行遠(yuǎn)程訪問。
二是基于時間算法。利用這種算法也可以生成一次性口令,并跟安全服務(wù)器同步。此時的安全卡往往會有一個LCD,用來顯示最新的口令。通常情況下,每隔幾分鐘安全卡就會重新計算一次口令;同時安全服務(wù)器也會重新進(jìn)行計算。這個口令是根據(jù)當(dāng)前的時間與安全卡中的信息結(jié)合進(jìn)行計算的。若要實現(xiàn)這個算法,其關(guān)鍵就是安全卡中的時間信息要跟安全服務(wù)器中的時間信息同步,否則的話,口令就無法與安全服務(wù)器同步。
三是一些基于生物特征的算法。一次性口令是根據(jù)安全卡中的用戶信息結(jié)合用戶識別碼進(jìn)行計算的。所以提高用戶識別碼的安全性,也可以提高這個解決方案的安全性。如果遠(yuǎn)程訪問也能夠向指紋鎖那樣,那么無疑其安全性就會很有保障。其實在基于安全卡的解決方案中,也可以利用指紋等生物特征來作為用戶識別碼。然后結(jié)合安全卡中的用戶信息來結(jié)算一次性口令。
在以上三種一次性口令計算方法中,第三種安全性。但是,企業(yè)若要采用這個方法的話,則必須要增添收集指紋等信息的設(shè)備。在終端,也需要增添相關(guān)的設(shè)備。為此,企業(yè)要增加不少的成本。所以沒有特別的需要,這種方法不是很經(jīng)濟(jì)。
筆者現(xiàn)在采用的是基于時間的算法。若安全卡頻繁的在電腦上插拔,會降低安全卡的壽命。而基于時間的算法,在安全卡上直接帶有LCD顯示屏可以顯示一次性口令。如此可以避免在電腦上插拔,可以提高使用壽命。
所以,網(wǎng)絡(luò)管理員需要根據(jù)自己企業(yè)的安全要求、投資成本等因素綜合考慮,然后選擇一個合理的解決方案。

