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

主站蜘蛛池模板: 亚洲无码高清视频在线观看| 狠狠色丁香婷婷| 欧美精品二区| 一级毛片在线播放| 欧美中文字幕在线播放| 精品丝袜美腿国产一区| 成人免费午夜视频| 午夜激情婷婷| 国产精品久久自在自2021| 99在线国产| 婷婷亚洲综合五月天在线| 欧美另类精品一区二区三区| 国产精品污污在线观看网站| 玩两个丰满老熟女久久网| 538精品在线观看| 中文字幕在线看视频一区二区三区| 亚洲国产黄色| 天天摸夜夜操| 秘书高跟黑色丝袜国产91在线| 成人中文字幕在线| 国产日本欧美亚洲精品视| 免费国产高清视频| 久久人人妻人人爽人人卡片av| 国产日韩精品欧美一区灰| 日韩精品成人在线| 国内精品久久久久久久久久影视 | 欧美亚洲中文精品三区| 欧美一级黄色影院| 精品国产成人高清在线| 欧美不卡视频一区发布| 高清色本在线www| 亚洲午夜天堂| 青青国产视频| 中文字幕在线观| 蜜臀AVWWW国产天堂| 亚洲综合天堂网| 91麻豆久久久| 中文字幕久久波多野结衣 | 九九久久精品免费观看| 国产69囗曝护士吞精在线视频| 四虎亚洲精品| 亚洲第一成人在线| 亚洲性影院| 久久美女精品| 熟妇丰满人妻av无码区| 成年人久久黄色网站| 国产成人精品视频一区二区电影| 女人av社区男人的天堂| 国产精品女在线观看| 欧美亚洲激情| 国产精品色婷婷在线观看| 伊人久久综在合线亚洲91| 午夜福利在线观看入口| 东京热av无码电影一区二区| 免费观看欧美性一级| 亚洲欧美不卡视频| 欧美一区二区三区国产精品| 欧美精品黑人粗大| 欧美在线导航| 亚洲综合极品香蕉久久网| 综合久久五月天| 人妻丰满熟妇啪啪| 精品国产Av电影无码久久久| 欧美天堂在线| 国产一区二区免费播放| 午夜日韩久久影院| 久久永久视频| 女同久久精品国产99国| 第一区免费在线观看| 黄色成年视频| 九色视频一区| 亚洲国产成人无码AV在线影院L| 亚洲人成网站在线观看播放不卡| 99久久国产自偷自偷免费一区| 国产免费久久精品99re丫丫一| 久久窝窝国产精品午夜看片| 国产永久在线视频| 老汉色老汉首页a亚洲| jizz国产视频| 操国产美女| 五月激情婷婷综合| 91久久青青草原精品国产|