999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SASL框架下身份認證機制的研究

2015-12-26 03:57:20鄭之華
長春大學學報 2015年2期

基于SASL框架下身份認證機制的研究

鄭之華

(福建省湄洲灣職業技術學院自動化工程系,福建 莆田 351254)

摘要:在LDAP V3中身份認證過程是包含在綁定操作過程中的,綁定操作的功能是允許驗證信息在客戶端和服務端之間交換的,LDAP V3主要支持3種認證方式:匿名認證、基本認證、基于SASL認證。目前SASL定義的安全機制主要有:Anonymous、CRAM-MD5、DIGEST-MD5、External、Kerberos v4與v5等。在這里我們針對CRAM-MD5、DIGEST-MD5、External這三種安全機制進行分析和比較它們的各自優缺點。通過分析和比較為實際身份認證系統提供一個參考。

關鍵詞:SASL; CRAM-MD5; DIGEST-MD5; Extrernal

收稿日期:2014-11-11

作者簡介:鄭之華(1978-),女, 福建仙游人, 講師, 碩士,主要從事通信與信息系統方面的研究。

中圖分類號:TN918.91文獻標志碼:A

0引言

SASL(SimpleAuthenticanon and SecurityLayer)簡單認證和安全層,由RFC2222文件定義,是面向網絡協議提供輔助身份認證的一個通用框架,具有靈活一致的特點。它最初是為了對IMAP協議(Internet Mail Access Protocol 交互式郵件存取協議)提供強認證支持而設計的,隨之便發展為一種實現不同協議和認證系統間的交互的更為通用的框架[1]。不同的機制在實現過程中,其實現方式有所不同,目前SASL定義的安全機制主要有:Anonymous、CRAM-MD5、DIGEST-MD5、External、Kerberos v4與v5等。圖1說明了它們間的關系。

圖1 SASL機制

1基于SASL框架下三種安全機制的比較

在這里我們針對CRAM-MD5、DIGEST-MD5、External這三種安全機制進行分析和比較它們的各自優缺點。

圖2 CRAM-MD5機制的認證過程

1.1CRAM-MD5機制

CRAM的英文全稱為:Challenge-Response Authentication Mechanism即中文的質詢-響應鑒別機制,該機制在SASL中的名稱為“CRAM-MD5”,由RFC2195文件定義[2]。

CRAM-MD5機制的認證過程如圖2所示。

首先,服務器端向客戶端發出質詢報文。質詢報文主要包含一個由隨機數字、時間戳和服務器主機名組成的字符串,該非編碼字符串在語法上必須符合RFC 822文件在RFC 1939(Post Office Protocol-Version 3 郵局協議版本3)文件中關于時間戳對應于RFC 822定義的“msg-id”所描述的規定格式(如:,“process-ID”是一個過程名PID的十進制值,“clock”是一個系統時間的十進制值,“hostname”是一個正在運行POP3服務器的完全合格域名,尖括號是必須的),經過編碼后發送給客戶機。

摘要其次,客戶端收到質詢報文后記錄下該數據,并對質詢報文經計算生成,然后用一個包含用戶名,一個間隔和“摘要”的報文予以響應,摘要文本由KEYED-MD5算法計算出來,摘要中含有密鑰且為客戶端和服務器端雙方共享的密鑰,該共享的密鑰僅為客戶端和服務器端通訊雙方所知。

摘要最后,服務器接收到這個客戶機響應后,檢驗其中的。如果摘要正確,服務器應該確認該客戶端已通過認證,并作出適當的響應。否則,向客戶機發送一個鑒別失敗的消息。

KEYED-MD5計算公式為[3]:

H(K XOR opad,H(K XOR ipad,text));

公式參數說明如下:

1)H是一個將數據塊用一個基本的迭代壓縮函數來加密的散列函數;

2)K為密鑰,密鑰的長度可以是任意長度的,推薦的最小密鑰長度為64個字長(即512位);

3)XOR為異或操作;

4)ipad和opad分別為兩個事先定義的值,“i”、“o”標志內部與外部,ipad=字節0x36重復64次,opad=字節0x5c重復64次;

5)text為質詢報文的內容。

計算步驟為:

1) 在密鑰K后面添加多個0來創建一個字長為B的字符串。(例如,如果K的字長是20字節,B=64字節,則K后會加入44個字節的0x00);

2) 將上一步生成的B字長的字符串與ipad做異或運算;

3) 將質詢報文text填充至第二步計算出來的字符串中;

4) 將第三步產生的字符串用H散列函數進行運算;

5) 將第一步生成的B字長字符串與opad做異或運算;

6) 再將第四步運算的結果填充至第五步運算結果中;

7) 用H作用于第六步生成的數據流,輸出最終結果。

KEYED-MD5算法預先計算好共享密鑰的中間值(K XOR opad)、(K XOR ipad),并將這些中間結果存儲在服務器上,等到有需要驗證時候用來生成H散列函數的初始值。

1.2DIGEST-MD5機制

DIGEST-MD5機制英文全稱為:Using Digest Authentication as a SASL Mechanism(使用摘要身份驗證作為SASL機制)由RFC2831文件定義。DIGEST-MD5機制的認證過程共有三步如圖3所示。

圖3 DIGEST-MD5機制的認證過程

首先,服務器端向客戶端發送一個經過復雜計算長度不超過2048字節的質詢報文;

其次,客戶端收到服務器端發來的質詢報文后,回復一個經過復雜計算長度不超過4096字節的響應報文;

最后,服務器端對收到的響應值進行驗證,驗證通過后向客戶端發送一個驗證通過的報文,該報文的計算方法與第二步中的response參數值的計算方法相同。

質詢報文計算公式如下[4]:

digest-challenge=1#(realm | nonce | qop-options | stale | maxbuf | charset | algorithm | cipher-opts | auth-param)

響應報文計算公式如下:

digest-response=1#(username | realm | nonce | cnonce | nonce-count | qop | digest-uri | response | maxbuf | charset | cipher | authzid | auth-param)

我們重點研究第二步驟和第三步驟的參數值計算方法,第二步響應報文和第三步驗證通過報文的respons參數值具體計算公式如下:

response-value= HEX( KD ( HEX(H(A1)),

{ nonce-value, ":" nc-value, ":",

cnonce-value, ":", qop-value, ":", HEX(H(A2)) }))

默認的A1的值為:

A1 = { H( { username-value, ":", realm-value, ":", passwd } ),

":", nonce-value, ":", cnonce-value }

當客戶端響應報文中的authzid值有指定,那么A1的值為:

A1 = { H( { username-value, ":", realm-value, ":", passwd } ),

":", nonce-value, ":", cnonce-value, ":", authzid-value }

默認的A2的值為:

A2= { "AUTHENTICATE:", digest-uri-value }

當客戶端響應報文中的qop值為“auth-int”或“auth-conf”,那么A2的值為:

A2={"AUTHENTICATE:",digest-uri-value,":00000000000000000000000000000000"}

上述的response參數值計算公式中運算符號及函數說明如表1所示。

表1 運算符號及函數說明

從上述公式我們可以看出客戶端的響應報文與服務器端的驗證通過報文的response參數值為一個128位的MD5散列值,即32個16進制數。計算過程如下:

首先response參數值分別計算A1、A2的參數值,然后分別對A1、A2的值進行MD5處理后,再將所得到的MD5散列數變換為32個16進制數,其中A1值中含有用戶名及用戶密碼等信息;

接著將 "nonce-value", ":" ,"nc-value", ":"," cnonce-value", ":", "qop-value", ":"與A2計算后的值串聯起來形成一串字符串,再將A1計算后的值與之前得到的字符串串聯起來形成新的字符串,將得到的字符串與":"s字符串串聯成新的字符串后再進行MD5處理;

最后將得到的16個字節的MD5散列數變換為32個16進制數。

response參數值在計算過程中含有用戶名及用戶密碼,用來表明用戶為合法的用戶,若第二步驟與第三步驟的response參數值一樣,則說明用戶身份驗證成功。

1.3External機制

在SASL中和外部驗證機制有關的機制名稱為“External”,它的認證過程如圖4所示。

圖4 外部機制身份認證過程

1) 客戶端向服務器端發出一個含有用戶授權身份(采用UTF-8編碼)的初始響應;

2) 服務器端使用SASL外部的鑒別機制,對客戶端做授權身份的鑒別;

3) 外部機制驗證完畢,返回鑒別信息給服務器端;

4)如果服務器端鑒別出客戶端確實具有該授權身份,則返回給客戶端一個指示鑒別成功的報文,否則,返回給客戶端一個鑒別失敗的報文。

能夠提供這種外部的鑒別機制的系統有IPSec(Internet Protocol Security網際協議安全套件)、TLS。在客戶端協商使用外部驗證機制之前,客戶端發送空的字符串作為授權身份,那么授權身份從存在于外部授權系統中的授權證書中獲取。

2比較與總結

對于CRAM-MD機制我們需要注意的是KEYED-MD5算法預先計算好共享密鑰的中間值(K XOR opad、K XOR ipad)同樣需要保密,若存放中間值的服務器本身不夠安全,同樣保護不了共享密鑰,共享密鑰必須隨機選取(或使用強大的基于隨機種子的偽隨機生成方法),為了對付函數和密鑰所存在的潛在缺陷并降低泄漏密鑰帶來的危害,我們還需要周期性的更新共享密鑰,采用CRAM-MD5機制可以防止回放攻擊,不過它易受到主動攻擊(Active attack)。

對于External機制,其本身不提供任何安全保護,它容易受到客戶機假冒、服務器假冒攻擊,主動攻擊和竊聽攻擊,我們僅僅在外部驗證機制的安全性能有足夠的強度時使用它[1],另外使用外部驗證機制的時候,對于外部的授權證書我們還需要一筆不小的額外投入。

DIGEST-MD5機制在CRAM-MD5機制的基礎上發展而來的,不僅提供了身份驗證,還支持在身份驗證成功后,通過談判建立安全層來執行完整性和機密性保護。完整性和機密性保護的密鑰都是基于前面所述的H(A1)產生的。雖然DIGEST-MD5機制相對于第三方認證系統(例如Kerberos或公共密鑰系統)來說不是一種強的身份認證機制。但它可被用來取代那些在安全性方面較弱的明文口令機制。與CRAM-MD5相比,DIGEST-MD5提供了對一定數量的攻擊提供重要的保護如:重放攻擊、在線字典攻擊、脫機字典攻擊、中間人攻擊、選擇明文攻擊、防止假冒服務器的欺騙等。在政務內網內,與互聯網網絡完全物理隔離,網絡相對安全下,不增加投資,我們可考慮選擇采用基于SASL框架下的DIGEST-MD5機制來進行身份認證。

參考文獻:

[1]J.Myers. Simple Authentication and Security Layer (SASL)[EB]. RFC2222,1997,10.

[2]J. Klensin,R. Catoe,P. Krumviede. IMAP/POP AUTHorize Extension for Simple Challenge/Response[EB]. RFC2195,1997,9.

[3]H. Krawczyk,M. Bellare,R. Canetti. HMAC: Keyed-Hashing for Message Authentication[EB]. RFC2104,1997,2.

[4]P. Leach,C. Newman. Using Digest Authentication as a SASL Mechanism[EB]. RFC2831,2000,5.

責任編輯:吳旭云

Research of Identity Authentication Mechanism Based on SASL Framework

ZHENG Zhihua

(College of Automation Engineering, Meizhouwan Vocational and Technical College, Putian 351254, China)

Abstract:Identity authentication process in LDAP V3 is contained in the binding operation process, which allows the verification information to exchange between the client end and the service end. LDAP V3 mainly supports three kinds of authentication methods: anonymous authentication, basic authentication and SASL-based authentication. At present, the security mechanism of SASL mainly includes Anonymous, CRAM-MD5, DIGEST-MD5, External, Kerberos v 4 and v 5. This paper, focusing on CRAM-MD5, DIGEST-MD5 and External, analyzes and compares their advantages and disadvantages, attempting to provide a reference for the actual identity authentication system.

Keywords:SASL; CRAM-MD5; DIGEST-MD5; External

主站蜘蛛池模板: 青青热久免费精品视频6| 国产精品美乳| 91精品国产91久无码网站| 国产精品尤物铁牛tv| 国产欧美自拍视频| 日韩一区精品视频一区二区| 国产日韩精品欧美一区灰| 国产在线自乱拍播放| 国产无码在线调教| 久久久久青草线综合超碰| 日本免费新一区视频| 久久综合丝袜日本网| 国产亚洲精品自在线| 噜噜噜久久| 国产在线日本| 日本高清有码人妻| 亚洲女同一区二区| 亚洲精品无码久久久久苍井空| 亚洲中久无码永久在线观看软件| 不卡无码h在线观看| 自慰网址在线观看| 亚洲一区二区在线无码| 嫩草在线视频| 午夜三级在线| 韩国v欧美v亚洲v日本v| 国产精品福利一区二区久久| 四虎国产精品永久一区| 欧美性色综合网| 一本一道波多野结衣一区二区 | 日韩中文字幕免费在线观看| 久久香蕉国产线看观看式| 国产福利小视频高清在线观看| 亚洲成年网站在线观看| 99久久精品国产麻豆婷婷| 77777亚洲午夜久久多人| 玖玖精品在线| 大香网伊人久久综合网2020| 亚洲专区一区二区在线观看| 亚洲综合亚洲国产尤物| 成人在线天堂| 欧美影院久久| 91福利在线观看视频| 精品撒尿视频一区二区三区| 国产成人亚洲欧美激情| 精品偷拍一区二区| 亚洲九九视频| 欧美激情成人网| 毛片最新网址| 国产激爽大片高清在线观看| 尤物特级无码毛片免费| 黄色网站不卡无码| 国产成人精品视频一区视频二区| 久久久久久久蜜桃| 国产精品免费入口视频| 国产日韩欧美在线播放| 欧美啪啪一区| 极品国产一区二区三区| 新SSS无码手机在线观看| 青青国产在线| 成人在线亚洲| 国产资源站| 亚洲一区二区三区麻豆| 天堂在线www网亚洲| 亚洲性影院| 日韩黄色在线| 视频二区中文无码| 亚洲国产高清精品线久久| 免费人成视网站在线不卡| 午夜毛片免费观看视频 | 日本一区二区不卡视频| 国产成年女人特黄特色大片免费| 欧美三级不卡在线观看视频| 国产亚洲精品97AA片在线播放| 99视频在线免费观看| 欧美日韩国产综合视频在线观看| 中文国产成人精品久久一| 久久久成年黄色视频| 欧美精品v| 免费观看无遮挡www的小视频| 麻豆a级片| 无码福利日韩神码福利片| 夜夜操狠狠操|