認證技術方法:
- 口令認證技術
- 智慧卡技術
- 基於生物特徵認證技術
- Kerberos技術
口令認證技術
口令認證是基於使用者所知道的秘密而進行的認證技術。
口令認證一般要求參與認證的雙方按照事先約定的規則,使用者發起服務請求,然後使用者被要求向服務實體提供使用者標識和使用者口令,服務實體驗證其正確性,若驗證透過,則允許使用者訪問。
設使用者A的標識為UA,口令為PA,服務方實體為B,則認證過程描述如下:
第一步,使用者A傳送訊息(UA,PA)到服務方B。
第二步,B收到(UA,PA)訊息後,檢查UA和PA的正確性。若正確,則透過使用者A的認證。
第三步,B回覆使用者A驗證結果訊息。
目前,服務方實體B通常會儲存使用者A的口令資訊。一般安全要求把口令進行加密變換後儲存,口令非明文傳輸。
口令認證的優點是簡單,易於實現
口令認證的不足是容易受到攻擊,主要攻擊方式有竊聽、重放、中間人攻擊、口令猜測等。要實現口令認證的安全,應至少滿足以下條件:
- 口令資訊要安全加密儲存:
- 口令資訊要安全傳輸:
- 口令認證協議要抵抗攻擊,符合安全協議設計要求:
- 口令選擇要求做到避免弱口令。
智慧卡技術
智慧卡是一種帶有儲存器和微處理器的積體電路卡,能夠安全儲存認證資訊,並具有一定的計算能力。智慧卡認證根據使用者所擁有的實物進行,智慧卡認證技術廣泛應用於社會的各個方面。
透過智慧卡來實現挑戰/響應認證。在挑戰/響應認證中,使用者會提供一張智慧卡,智慧卡會一直顯示一個隨時間而變化的數字,假如使用者試圖登入目標系統,則系統首先將對使用者進行認證,步驟如下:
- 使用者將自己的ID傳送到目標系統:
- 系統提示使用者輸入數字:
- 使用者從智慧卡上讀取數字:
- 使用者將數字傳送給系統:
- 系統用收到的數字對ID進行確認,如果ID有效,系統會生成一個數字並將其顯示給使用者,稱為挑戰:
- 使用者將上面的挑戰輸入智慧卡中:
- 智慧卡用這個輸入的值根據一定演算法計算出一個新的數字並顯示這個結果,該數字稱為應答;
- 使用者將應答輸入系統:
- 系統驗證應答是否正確,如果正確,使用者透過驗證並登入進入系統。
基於生物特徵認證技術
基於生物特徵認證就是利用人類生物特徵來進行驗證
- 指紋識別認證:指紋識別系統透過對獲取的人類使用者自身擁有的獨一無二的指紋特徵的鑑別結果,區分不同的人類使用者身份。
- 人臉識別認證:基於人的臉部特徵資訊進行身份識別的一種生物識別技術
- 視網膜識別認證:根據人眼視網膜中的血管分佈模式不同來鑑別不同人的身份
- 語音識別認證:是依靠人的聲音的頻率來判斷不同人的身份
Kerberos 認證技術
Kerberos 是一個網路認證協議
目標:是使用金鑰加密為客戶端/伺服器應用程式提供強身份認證,
技術原理:是利用對稱密碼技術,使用可信的第三方來為應用伺服器提供認證服務,並在使用者和伺服器之間建立安全通道。
Kerberos進行金鑰分配時使用AES、DES等對稱金鑰加密。
Kerberos系統涉及四個基本實體:
- Kerberos客戶機,使用者用來訪問伺服器裝置;
- AS(Auhentcation Server,認證伺服器),識別使用者身份並提供TGS會話金鑰;
- TGS(Ticket Granting Server,票據發放伺服器),為申請服務的使用者授予票據(Ticket)
- 應用伺服器(Application Server),為使用者提供服務的裝置或系統。
通常將AS和TGS統稱為金鑰分發中心KDC (Key Distribution Center)。
票據(Ticket)是用於安全的傳遞使用者身份所需要的資訊的集合,主要包括
- 客戶方 Principal
- 客戶方IP地址
- 時間戳(分發該Ticket的時間)
- Ticket的生存期
- 會話金鑰
KerberosV5認證協議主要由六步構成:
第一步,如圖所示,Kerberos客戶向認證伺服器AS申請票據TGT。
第二步,如圖所示,當認證伺服器AS收到 Kerberos客戶發來的訊息後,AS在認證資料庫檢查確認Kerberos客戶,產生一個會話金鑰,同時使用Kerberos客戶的秘密金鑰對會話金鑰加密,然後生成一個票據TGT,其中TGT由Kerberos客戶的實體名、地址、時間戳、限制時間、會話金鑰組成。AS生成TGT完畢後,把TGT傳送給Kerberos客戶
第三步,如圖所示,Kerberos客戶收到AS發來的TGT後,使用自己的秘密金鑰解密得到會話金鑰,然後利用解密的資訊重新構造認證請求單,向TGS傳送請求,申請訪問應用伺服器AP所需要的票據(Ticket)。
第四步,如圖所示,TGS使用其秘密金鑰對TGT進行解密,同時,使用 TGT中的會話金鑰對Kerberos客戶的請求認證單資訊進行解密,並將解密後的認證單資訊與TGT中資訊進行比較。然後,TGS生成新的會話金鑰以供Kerberos客戶和應用伺服器使用,並利用各自的秘密金鑰加密會話金鑰。最後,生成一個票據,其由Kerberos客戶的實體名、地址、時間戳、限制時間、會話金鑰組成,TGS生成TGT完畢後,把TGT傳送給Kerberos客戶
第五步,如圖所示,Kerberos客戶收到TGS的響應後,獲得與應用伺服器共享的會話金鑰。與此同時,Kerberos客戶生成一個新的用於訪問應用伺服器的認證單,並用與應用伺服器共享的會話金鑰加密,然後與TGS傳送來的票據-並傳送到應用伺服器。
Kerberos 協議中要求使用者經過AS和TGS兩重認證的優點主要有兩點。
- 可以顯著減少使用者金鑰的密文的暴露次數,這樣就可以減少攻擊者對有關使用者金鑰的密文的積累。
- Kerberos認證過程具有單點登入Single Sign On,SSO)的優點,只要使用者拿到了TGT並且該TGT沒有過期,那麼使用者就可以使用該TGT透過TGS完成到任一伺服器的認證過程而不必重新輸入密碼。
Kerberos 缺點:Kerberos認證系統要求解決主機節點時間同步問題和抵禦拒絕服務攻擊,如果某臺主機的時間被更改,那麼這臺主機就無法使用Kerberos認證協議了,如果伺服器的時間發生了錯誤,那麼整個Kerberos認證系統將會癱瘓。
公鑰基礎設施(PKI)技術
公鑰證書是將實體和一個公鑰繫結,並讓其他的實體能夠驗證這種繫結關係。
需要一個可信第三方來擔保實體的身份,這個第三方稱為認證機構,簡稱CA(Certification Authority)。
CA(Certification Authority)負責頒發證書,證書中含有實體名、公鑰以及實體的其他身份資訊。
PKI (Public Key Infrastructure)就是有關建立,管理、儲存、分發和撤銷公鑰證書所需要的硬體、軟體、人員、策略和過程的安全服務設施。
基於PKI的主要安全服務有身份認證、完整性保護、數字簽名、會話加密管理、金鑰恢復。
PKI涉及多個實體之間的協商和操作,主要實體包括CA認證中心、 RA註冊中心、終端實體 (End Entity)、客戶端、目錄伺服器。
PKI各實體的功能分別敘述如下:
CA認證中心(Certification Authority):證書授權機構,主要進行證書的頒發、廢止和更新; 認證機構負責簽發、管理和撤銷一組終端使用者的證書。
RA註冊中心(Registration Authority):證書登記權威機構,將公鑰和對應的證書持有者的身份及其他屬性聯絡起來,進行註冊和擔保:RA可以充當CA和它的終端使用者之間的中間實體,輔助CA完成其他絕大部分的證書處理功能。
目錄伺服器:CA通常使用一個目錄伺服器,提供證書管理和分發的服務。
終端實體(End Etity):指需要認證的物件,例如伺服器、印表機、Email 地址,使用者等。
客戶端(Client):指需要基於PKI安全服務的使用者,包括使用者、服務程序等。
單點登入
單點登入(Single Sign On)是指使用者訪問使用不同的系統時,只需要進行一次身份認證,就可以根據這次登入的認證身份訪問授權資源。
基於人機識別認證技術
基於人機識別認證利用計算機求解問題的困難性以區分計算機和人的操作,防止計算機程式惡意操作,如惡意註冊、暴力猜解口令等。基於人機識別認證技術通常稱為CAPTCHA(Completely Automated Public Turing test to tellComputers and Humans Apart)技術。
多因素認證技術
多因索認證技術使用多種鑑別資訊進行組合,以提開認證的安全強度。根據認證機制所依賴的鑑別資訊的多少,認證通常稱為雙因素認證或多因素認證。
基於行為的身份鑑別技術
基於行為的身份鑑別是根據使用者行為和風險大小而進行的身份鑑別技術。如透過分析使用者的基本資訊,獲取使用者個體畫像,進而動態監控使用者狀態以判定使用者身份,防止假冒使用者登入或者關鍵操作失誤
快速線上認證(FIDO)
Fast IDentity Online 簡稱 FIDO,FIDO使用標準公鑰加密技術來提供強身份驗證。FIDO的設計目標是保護使用者隱私,不提供跟蹤使用者的資訊,使用者生物識別資訊不離開使用者的裝置。FIDO的技術原理描述如下。
登記註冊
使用者建立新的公私鑰金鑰對。其中,私鑰保留在使用者端裝置中,只將公鑰註冊到線上服務。公鑰將傳送到線上服務並與使用者賬戶關聯。私和有關本地身份驗證方法的任何資訊(如生物識別測量或模板)水遠不會離開本地裝置。
登入使用
當用戶使用 FIDO進行登入線上服務的時候,線上服務提示要求使用者使用以前註冊的裝置登入,然後,使用者使用與註冊時相同的方法解鎖FIDO身份驗證器。使用者根據帳戶識別符號選擇正確的金鑰響應線上服務的挑戰,併發送簽名的質詢到線上服務。最後,線上服務使用存放的使用者公鑰和日誌來驗證使用者響應是否正確,若正確,則透過使用者認證,允許登入線上服務。
學習參考資料:
資訊保安工程師教程(第二版)
建群網培資訊保安工程師系列影片教程
資訊保安工程師5天修煉