中國移動規範學習——4A技術要求(集中認證)

身份認證是實現網絡安全的重要機制之一,是安全系統中的第一道關卡,是賦予用戶訪問權限的依據。

用戶在訪問受保護的系統之前,首先經過身份認證系統識別身份,然後訪問控制器根據用戶的身份和授權,決定用戶是否能夠訪問某個資源。在開始訪問後,審計系統根據審計設置記錄用戶的請求和行爲,同時入侵檢測系統實時或非實時地檢測是否有入侵行爲。訪問控制和審計系統都要依賴於身份認證系統的提供的信息――用戶的身份。可見身份認證在安全系統中的地位極其重要,是最基本的安全服務,其它的安全服務都要依賴於它。一旦身份認證系統被攻破,那麼系統的所有安全措施將形同虛設。

大致上來講,身份認證可分爲用戶與主機間的認證、主機與主機之間的認證。本章主要涉及用戶與主機間的身份認證,主機與主機之間的認證在某種程度上可以轉換成用戶與主機間的身份認證。

用戶與主機之間的認證可以基於如下一個或幾個因素:

  • 用戶所知道的東西,如口令;
  • 用戶所擁有的東西,如智能卡、動態口令發生器等;
  • 用戶所具有的生物特徵,如指紋、聲紋、視網膜等。

在此基礎上,衍生出了衆多身份認證方式。在4A框架中,集中身份認證系統需要對目前已有的身份認證方式,及未來可能會有的身份認證方式均提供支持,方便管理員根據需要進行選擇。

身份認證方式

 

基於用戶名/口令的認證方式

基於用戶名/口令的認證方式是最常用的一種技術,也是現在中國移動中普遍使用的認證方式,無論是數據網中的系統管理、業務管理、辦公自動化系統還是遠程登錄,都是基於用戶名和口令的方式認證。

基於用戶名/口令的認證方式存在嚴重的安全問題,是攻擊者最容易攻擊的目標:

1. 它是一種單因素的認證,安全性僅依賴於口令,口令一旦泄露,用戶即可被冒充。

2. 爲記憶方便, 是用戶往往選擇簡單、容易被猜測的口令,如:與用戶名相同的口令、生日、單詞等。這往往成爲安全系統最薄弱的突破口。

3. 口令一般是經過加密後存放在口令文件中,如果口令文件被竊取,那麼就可以進行離線的字典式攻擊。這也是黑客最常用的手段之一。

關於網站安全的調查結果表明:超過80%的安全入侵是由於用戶選用了拙劣的口令而導致的。由此可以推斷,大部分的入侵可以通過選擇好的口令來阻止。

 

基於動態口令的認證方式

爲解決用戶名/口令泄漏引起的安全問題,研究人員提出了一次性口令機制的動態身份認證系統。每次登錄時的口令是隨機變化的,每個口令只能使用一次,徹底防止了各種竊聽、重放、假冒、猜測等攻擊方式,從而能夠保證用戶的安全。

動態口令的實現,一般是由用戶端的動態口令產生器和安全認證服務器兩部分組成,用戶端產生的口令與安全認證服務器保持一致,同步動態變化,而且口令無法預測和跟蹤。這就使得用戶口令既無法被竊取,而且又能解決常規口令頻繁變換所帶來的問題。

附錄三給出了基於手機短消息的動態口令產生系統。

動態口令系統應該滿足如下基本要求:

1. 必須是真正的雙因素認證。

2. PIN碼不能在網絡上傳輸。

3.儘量減少口令不同步的可能性。

 

基於智能卡的認證方式

智能卡具有硬件加密功能,有較高的安全性。每個用戶持有一張智能卡,智能卡存儲用戶個性化的祕密信息,同時在驗證服務器中也存放該祕密信息。進行認證時,用戶輸入PIN(個人身份識別碼),智能卡認證PIN,成功後,即可讀出智能卡中的祕密信息,進而利用該祕密信息與主機之間進行認證。

基於智能卡的認證方式是一種雙因素的認證方式(PIN+智能卡),即使PIN或智能卡被竊取,用戶仍不會被冒充。智能卡提供硬件保護措施和加密算法,可以利用這些功能加強安全性能,例如:可以把智能卡設置成用戶只能得到加密後的某個祕密信息,從而防止祕密信息的泄露。

基於智能卡的認證方式的缺點是:

1. 用戶需要隨時攜帶智能卡,如果智能卡丟失則無法登錄系統,很不方便;

2.某些智能卡需要在各終端增加額外的讀卡設備,增加了系統建設和維護的成本。新的智能卡改用USB接口,對此有所改善。

 

基於生物特徵的認證方式

生物測定技術根據人體自身的生物特徵來識別個人的身份。常見的生物特徵包括指紋、掌紋、虹膜、臉像、聲音、筆跡等。目前,有很多的生物測定技術可用於身份認證。這種認證方式以人體惟一的、可靠的、穩定的生物特徵爲依據,採用計算機的強大功能和網絡技術進行圖像處理和模式識別。

實際的應用還給基於生物特徵的身份認證系統提出了更多的要求,如:

  • 性能要求,所選擇的生物統計特徵能夠達到多高的識別率;
  • 對於資源的要求,識別的效率如何;
  • 可接受性,使用者在多大程度上願意接受所選擇的生物統計特徵系統;
  • 安全性能,系統是否能夠防止被攻擊;是否具有相關的、可信的研究背景作爲技術支持;
  • 提取的特徵容量、模板是否佔用較小的存儲空間;
  • 價格是否爲用戶所接受;
  • 是否具有較高的註冊和識別速度;
  • 是否具有非侵犯性。

遺憾的是,到目前爲止,還沒有任何一種單項生物特徵可以滿足上述全部要求。基於各種不同生物特徵的身份認證系統各有優缺點,分別適用於不同的範圍。

另外,每種生物特徵都有自己的適用範圍。比如,有些人的指紋無法提取特徵,患白內障的人虹膜會發生變化等。在對安全有嚴格要求的應用領域中,人們往往需要融合多種生物特徵來實現高精度的識別系統。數據融合是一種通過集成多知識源的信息和不同專家的意見以產生一個決策的方法,將數據融合方法用於身份認證,結合多種生理和行爲特徵進行身份認證,提高鑑別系統的精度和可靠性,這無疑是身份認證領域發展的必然趨勢。

 

基於數字證書的認證體系

數字證書是一段包含用戶身份信息、用戶公鑰信息以及身份驗證機構數字簽名的數據:

1. 身份驗證機構的數字簽名可以確保證書信息的真實性;

2. 用戶公鑰信息可以保證數字信息傳輸的完整性;

3. 用戶的數字簽名可以保證數字信息的不可否認性。

目前在網上傳輸信息時,普遍使用X.509 V3格式的數字證書。X.509標準在編排公共密鑰密碼格式方面已被廣爲接受。X.509證書已應用於許多網絡安全,其中包括IPSec(IP安全)、SSL、SET、S/MIME等。隨着《電子簽名法》的頒佈實施,基於PKI數字證書的數字簽名也將發揮越來越重要的作用。

數字證書是各類終端實體和最終用戶在網上進行信息交流及商務活動的身份證明,在電子交易的各個環節,交易的各方都需驗證對方數字證書的有效性,從而解決相互間的信任問題:

1. 在數字信息傳輸前,首先傳輸雙方互相交換證書,驗證彼此的身份;

2. 然後,發送方利用證書中的加密密鑰和簽名密鑰對要傳輸的數字信息進行加密和簽名,這就保證了只有合法的用戶才能接收該信息,同時保證了傳輸信息的機密性、真實性、完整性和不可否認性,

數字證書可以存放在計算機的硬盤、隨身軟盤、IC卡或CUP卡中。

用戶數字證書在計算機硬盤中存放時,使用方便,但存放證書的PC機必須受到安全保護,否則一旦被攻擊,證書就有可能被盜用。

使用軟盤保存證書,被竊取的可能性有所降低,但軟盤容易損壞。一旦損壞,證書將無法使用。

IC卡中存放證書是一種較爲廣泛的使用方式。因爲IC卡的成本較低,本身不易被損壞。但使用IC卡加密時,用戶的密鑰會出卡,造成安全隱患。

使用CUP卡存放證書時,用戶的證書等安全信息被加密存放在CUP卡中,無法被盜用。在進行加密的過程中,密鑰可以不出卡,安全級別最高,但相對來說,成本較高。

 

認證方式選擇

在選擇身份認證方式時,需要考慮如下原則:

i. 足夠安全。即認證方式不容易被模仿(包括認證憑證的複製、認證過程的重放)或攻擊(包括DOS攻擊)。

ii. 成本適當。安全和成本常常成反比,但是對於企業來說,既不能爲了降低成本而採用不安全的認證方式,也不能爲了片面追求安全而不顧成本,而是要針對不同價值的系統以及其中賬號權限的不同選擇不同的認證手段。

iii. 使用方便。所有東西都是給人用的,如果因爲使用不便而招致反感,則所有的安全措施都形同虛設。

iv. 提供開放的API接口,便於將認證方式集成到4A框架。

根據這些原則,本要求認爲可以按照如下方式選擇認證方式:

1. 在網絡內部登錄時,考慮到內部網絡的安全性較強一些,初期可以採用用戶名/口令的登錄認證方式,基本滿足安全性要求並且簡單方便,結合單點登錄系統可以大大提高工作效率。

2. 在網絡外部登錄時,應該採用動態口令、數字證書等強認證方式。

3. 如果需要數字簽名、數據加密,數字證書認證方式具有天然的優勢,建議採用。

有時將兩種認證方式組合起來,可以起到互相彌補的作用。例如將指紋作爲數字證書的PIN碼,可以在保證證書安全的情況下免除用戶記憶PIN碼的煩惱,又可以獲得數字證書認證方式帶來的好處。

 

單點登錄(Single Sign-On,SSO)

在4A框架下,集中身份認證一個很重要的應用是實現SSO。

SSO雖然字面上說的是單點“登錄”,其實嚴格來說需要涵蓋兩個方面:

1. 一次登錄,到處通行。即用戶在SSO服務器上進行一次登錄後,在從SSO服務器登出前,訪問所有納入SSO管理範圍的應用系統、主機、網絡設備時均不需要再次手工登錄,而是由SSO系統帶爲登錄。

2. 一次登出,全部登出。即用戶如果從SSO服務器登出,則當前所有已經登錄的、被納入SSO管理範圍的應用系統、主機、網絡設備均同時登出。

就目前市場上的SSO產品來看,一般強調的都是“一次登錄,到處通行”,而“一次登出,全部登出”則比較難實現,產品選購時應該根據需要進行測試、選擇。

在中國移動的信息系統中,一個用戶每天要登錄到很多不同的系統和應用中。每個系統都有自己的認證過程,要求用戶輸入不同的用戶名、口令。用戶需要進入的系統越多,用戶出錯的概率和安全問題出現的可能性就越多。而SSO可以解決用戶記憶多個口令,登錄不同系統需要重複登錄的問題,不僅提高工作效率,而且通過在主賬號認證環節採用強認證技術、統一設置強從賬號密碼等措施增加安全性。

單點登錄要求

除了覆蓋上面說的登錄、登出兩個方面外,理想的SSO系統還應該能夠:

l 從用戶的視角看,雖然是在複雜的企業應用環境中,SSO不會影響到諸如業務過程,響應效率,網絡吞吐量等性能,並將互操作性方面的問題減至最少,任何事情都在順利工作。

l 當一個SSO系統被加入使用,遷移應該容易。所有的用戶能夠立即學會使用這個工具。

l 從管理員的角度看,計算和網絡環境在各個方面必須能被管理,而管理應該不引起額外的工作或安全漏洞。管理過程應該適合組織的結構和政策。這意味着權利和控制需要有一定的層次結構。

l 認證方法應能在分佈式的組織環境中得到全部的貫徹而不用付出額外的努力。所有的應用程序,無論新舊,可以不需要或只需很少的改動即可適應新的認證方式。

上面描述的其實是一個理想的狀態,而在實際應用中,要想完全達到是很困難的,但是SSO解決方案應該儘可能多地滿足上面的要求。

單點登錄系統模型

SSO系統模型主要有:以服務器爲中心的單點登錄,以客戶端爲中心的單點登錄和客戶/服務器模式的單點登錄。下面分別對這些模型進行分析比較。

<以服務器爲中心的單點登錄模型>

在以服務器爲中心的SSO模型中,所有的認證信息存儲在服務器上的中央數據庫中。當需要對用戶進行認證時,這個中心服務器需要與每個網絡設備,主機系統及應用服務器通信。這種通信需要中心SSO服務器與應用服務器集成,即在SSO服務器上開發應用系統的客戶代理。這種模型的結構如圖所示。

clip_image002

圖 以服務器爲中心的單點登錄模型

這種模型的登錄過程爲:

1. 用戶用主帳號登錄SSO服務器,並保持與SSO服務器的連接。

2. 用戶通過SSO服務器在客戶端展現的登錄界面,訪問應用系統、主機、網絡識別。

3. 訪問請求被SSO客戶端發送到SSO服務器,由SSO服務器將主帳號對應的從帳號,及訪問請求一起轉發給所請求的應用系統、主機、服務器。

4. 用戶從SSO服務器登出時,SSO服務器中斷所有通過SSO服務器中轉的連接,實現“一處登出,處處登出”,當然在應用服務器中也必須能夠對這種非正常退出進行處理,不能因此而造成資源不能正常釋放。

這種模型在Portal系統中採用較多,它的優點是提供了單一的登錄控制點,用戶對網絡資源的訪問控制可以通過SSO服務器一點實現,因此權限比較容易和訪問時間、訪問者所處網段等結合進行控制。通過防火牆策略配置等手段,規定只有來自SSO服務器的訪問纔是合法的,則可以避免繞過SSO服務器的非法訪問。

這種模型的缺點有:

1. 對外部主機上的應用支持比較困難,需要在外部主機上安裝代理程序;

2. 從發起連接請求到斷掉連接,用戶需要一直保持與SSO服務器的連接;

3. 爲防止出現單點故障,SSO服務器需要冗餘,要考慮負載均衡和備份;

4. 技術上比較複雜,需要爲端到端的集成進行定製開發。

 

<以客戶端爲中心的單點登錄模型>

以客戶端爲中心的SSO模型,與以服務器爲中心的SSO模型正好相反,認證信息不是存儲在一箇中央數據庫中,而是存放在用戶端的工作終端上。這種單點登錄模型如圖7.2所示。

clip_image002[5]

圖7.2 以客戶端爲中心的單點登錄模型

這種模型的登錄過程爲:

1. 在客戶端部署專門的SSO客戶端代理,支持所有應用。

2. 用戶先啓動SSO客戶端代理,用主帳號登錄SSO服務器。登錄成功後,SSO客戶端代理自動將主帳號對應的所有從帳號從SSO服務器下載到本地,然後斷開與SSO服務器的連接,SSO客戶端代理繼續運行,對客戶機進行監視。

3. 用戶在需要的時候啓動應用、主機、網絡設備客戶端,SSO客戶端代理能檢測到要求用戶輸入用戶名和口令的窗口,從本地從帳號表中取出對應的從帳號/密碼信息並自動填入認證窗口中,然後模擬用戶點擊,提交給服務器進行正常登錄。

4. 用戶從SSO客戶端代理登出時,SSO客戶端代理清除本地緩存的從賬號/密碼,但不中斷已經建立的連接。

這種模型的優點是不需要後端集成。典型的單點登錄代理應該支持大部分的應用。另外由於認證信息存放在本地終端上,用戶可以在任何時候訪問業務應用系統。

這種模型的缺點是:

1. 應用、主機、網絡設備仍然使用從賬號/密碼登錄,只不過由SSO客戶端代理代替用戶填寫從賬號/密碼而已。如果登錄過程沒有采用傳輸加密方案,從賬號/密碼可能被竊聽。解決的辦法就是採用傳輸加密方案。

2. 這種模型沒有集中的訪問控制點,在知道從賬號/密碼的情況下,用戶可以隨時將SSO客戶端停掉,直接用從賬號登錄。這樣有可能造成某些非授權的訪問。解決的辦法一方面是採用傳輸加密的手段防止從賬號被竊聽,一方面是由SSO賬號管理模塊定期強制更改從賬號密碼,儘量減少被盜用的可能。

3. 由於沒有集中的訪問控制點,很難對用戶進行細粒度的訪問控制,包括將權限與訪問時間、訪問者所處網段等結合進行控制等都無法實現。

 

<客戶/服務器模式的單點登錄模型>

這種模型是前面兩種模型的綜合,具有單一的訪問控制點並且由客戶端側的代理提供認證。模型如圖7.3所示。

clip_image002[7]

圖7.3 客戶/服務器單點登錄模型

在技術上,這種模型實現和維護的複雜性差不多是最大的。

這種模型的登錄過程爲:

1. 在客戶端部署專門的SSO客戶端代理,支持所有應用。

2. 用戶先啓動SSO客戶端代理,用主帳號登錄SSO服務器,主帳號驗證成功後SSO客戶端代理獲得一個一次性的登錄標識。

3. 用戶在需要的時候啓動應用、主機、網絡設備客戶端,發出連接請求。

4. SSO客戶端代理捕獲到連接請求,加上登錄標識一起加密發送給服務器。

5. 在服務器一側有兩種實現方法,一種是獨立網關方式,即在服務器前面部署服務器端SSO代理,捕獲到連接請求及登錄標識後,解密,將登錄標識轉發給SSO服務器,查出登錄標識對應的主帳號、從帳號,然後將從帳號及連接請求轉發給服務器,完成正常登錄;另一種是嵌入方式,即將服務器端SSO代理的功能以SSO API的形式集成到應用服務器中,實現上述通過登錄標識完成登錄的過程。網關方式比較適用於主機、網絡設備,嵌入式方式適用於應用系統。

6. 用戶從SSO服務器登出時,SSO服務器廢除原先頒發給用戶的登錄標識,SSO客戶端代理中斷所有連接,實現“一處登出,處處登出”,當然在應用服務器中也必須能夠對這種非正常退出進行處理,不能因此而造成資源不能正常釋放。

從上面的流程中,可以看到這種單點登錄方案具有單一的訪問控制點,並且由客戶端側的代理提供用戶認證信息。

與以服務器爲中心的SSO模型比較,這種模型對SSO服務器的負載壓力要小得多,也不需要開發衆多的端到端代理,便於集成主機和網絡設備。

與以客戶端爲中心的SSO模型相比較,這種模型因爲在服務器一側具有單一訪問控制點(服務器端SSO代理),不僅難以繞過,而且便於實現集中、細粒度的權限管理,另外由於不需要在客戶端/服務器之間傳遞從賬號/密碼,就安全性來說也比以客戶端爲中心的SSO模型高。

 

<模型選擇>

三種模型的優缺點在前面已經敘述,從目前市場上的SSO產品來看:

1. 採用以服務器爲中心的SSO模型的產品可能是最常見的,並且通常與Portal相結合,比較適用於集成B/S結構的應用,但是對C/S結構的應用比較難集成。如果只需要集成B/S結構的應用,可以選購。

2. 採用以客戶端爲中心的SSO模型的產品,在實施時基本上不需要對原有應用進行更改,對C/S結構的應用也能較好滿足。但是這種產品基本上也就只提供SSO功能而已,集中權限管理、集中身份認證等功能都很難做到。

目前採用客戶/服務器SSO模型的產品要比採用前兩種模型的產品少一些,但是這種模型是對前兩種模型的綜合,雖然實現相對複雜一些,但是兼有前面兩種模型的優點,因此應該在採購時應優先選擇。

 

單點登錄適用範圍

單點登錄在爲用戶帶來方便的同時,也可能產生某些潛在的安全隱患,一旦主賬號被攻破,將導致所有從賬號的泄漏:

1. 如果主賬號採用靜態的用戶名/密碼方式認證,則面臨竊聽、猜測、竊取等威脅。解決的辦法就是認證過程採用加密傳輸,並強制定期更換密碼。

2. 如果採用動態密碼,某些動態密碼產品在傳輸過程中明文傳輸保護口令,會造成隱患。解決的辦法就是在傳輸過程中不傳保護口令,或者傳輸過程加密。

3. 如果採用智能卡,則存在智能卡被竊取、複製的風險。解決的辦法一方面是採用防複製的智能卡產品,一方面採用真正雙因素認證的智能卡,即使智能卡遺失或遭複製,也還受到PIN碼的保護。

4. 如果採用生物認證,則需要考察產品的誤識別率,並且最好與其它認證方式結合使用。

5. 如果採用PKI數字證書,則證書存儲必須採用防複製的技術,否則無法保證安全。常見的防複製存儲手段是將證書存儲在加密的智能卡或USB Key裏,並且採用保護密碼防止因爲意外遺失而造成損失。加密智能卡或USB Key要求獲得國密辦認證。

除了在單點登錄中採用安全、可靠、難以仿冒的身份認證技術,還需要根據需要,適當限制單點登錄的應用範圍。並非所有應用系統、所有賬號均需要納入單點登錄,以下應用、賬號就不宜採用單點登錄:

1. 某些關鍵性應用,用戶雖然不多,但是一旦被攻破,將產生嚴重的安全問題。

2. 某些高權限賬號,也不宜納入單點登錄。

 

單點登錄與集中身份認證

實現安全登錄一個系統的基礎是身份的認證,對於目前存在的身份認證的方案來說,基本上每種解決方案都有一些利弊存在。如果在應用系統中普遍採用高強度認證技術,從投資、管理等角度來說顯然不合適。

解決的辦法就是在採用單點登錄以後,在主賬號認證階段可以採用集中的、高強度的認證技術,這樣既達到了提高安全性的目的,也降低了投資和管理成本。

在實施單點登錄後,單點登錄系統與授權系統緊密結合,用戶在登錄到信息系統時首先登錄到單點登錄系統,然後訪問他所授權的各種系統。這樣身份認集中在一點上:用戶用自己的主賬號登錄單點登錄服務器,在這一點上對用戶進行認證;以後登錄其它系統時,從賬號由單點登錄服務器自動向所登錄的服務器傳遞。

單點登錄的身份認證部分獨立於目前各系統、設備自身的認證機制,因此可以根據需要,對不同安全級別的賬號採用不同的認證方式,進行集中身份認證,然後將結果作用於實際的系統或設備。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章