最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【安全科普】AD域安全協(xié)議(二)NTLM

2021-09-27 10:39 作者:北京中安網(wǎng)星  | 我要投稿

在Kerberos出現(xiàn)之前,NTLM被廣泛應(yīng)用于工作組和域環(huán)境,是更早的用于對用戶進(jìn)行身份驗證的協(xié)議。

相比于Kerberos,NTLM的認(rèn)證原理比較簡單,主要通過對比客戶端和服務(wù)端加密后的數(shù)據(jù),判斷其是否一致,以確定用戶身份。

如果用做菜來比喻,那么被加密的數(shù)據(jù)就是“原材料”,加密密鑰就是“秘方”,原理就是“用不同的秘方做出來的菜味道不一樣”。當(dāng)秘方只有客戶端和服務(wù)端知道,服務(wù)端確定用戶身份時,只需要用該秘方和客戶端做同一盤菜,對比兩盤菜的味道,如果一樣,那就是真實的客戶端。

目前NTLM有兩個版本,分別是NTLMv1和NTLMv2,他們間最主要的區(qū)別體現(xiàn)在被加密數(shù)據(jù)的長度上,也就是“原材料”的種類。在v1版本中數(shù)據(jù)長度是8位,而v2版本中增加到16位。

v2版本相較于v1安全性更高,在網(wǎng)絡(luò)中應(yīng)用較多。因此,本篇文章中,我們將基于NTLMv2的認(rèn)證原理,詳細(xì)介紹“客戶端登錄”、“訪問服務(wù)器資源”和“域環(huán)境下申請服務(wù)”這三種情況的認(rèn)證過程。

客戶端登錄

回憶我們平常登錄電腦的過程,輸好密碼后就直接跳轉(zhuǎn)到了桌面,整個過程不過一兩秒鐘。但其實在這短暫的兩秒中,電腦內(nèi)部發(fā)生了多重“反應(yīng)”,從而實現(xiàn)對我們身份的驗證。

首先,我們輸入的密碼會被交給Lsass進(jìn)程,這個進(jìn)程對明文密碼進(jìn)行加工,生成唯一的密碼哈希。

然后,Lsass進(jìn)程將從本地內(nèi)存中,找到該用戶賬戶對應(yīng)的密碼哈希。

最后再比較兩者,如果相同,證明該用戶的身份是真實的,則允許登錄。

這之中有個關(guān)鍵點:原本存在于本地內(nèi)存中的密碼哈希,是從何而來的呢?

原理是這樣的,這個值早在用戶注冊時,就由Lsass存儲在系統(tǒng)中了。這樣做的目的,就是為了在系統(tǒng)重啟時,快速幫助驗證用戶身份,保障用戶數(shù)據(jù)安全。

訪問服務(wù)器資源

在開放網(wǎng)絡(luò)環(huán)境下,用戶要訪問服務(wù)器資源,就需要向服務(wù)器提交申請。在NTLM認(rèn)證過程中,服務(wù)器接到申請后,除了驗證用戶身份,還要判斷該用戶是否有使用資源的權(quán)限、自己是否有能力提供服務(wù)等。

接下來我們說說這個過程。

同本地賬戶類似,用戶在訪問服務(wù)器之前,也需要先在服務(wù)器中存有自己的賬號,以便在身份驗證時進(jìn)行信息對比。

首先用戶注冊一個賬號,該賬號密碼以哈希形式存儲在服務(wù)器中,形成只有用戶和服務(wù)器知道的“秘方”。

用戶請求訪問服務(wù)時,先將自己的用戶名提供給服務(wù)器,并且附上想要訪問的服務(wù)內(nèi)容。

服務(wù)端接收到請求后,先檢查該用戶是不是有資格訪問服務(wù),也就是查找該用戶是否存在于數(shù)據(jù)庫中;如果存在,再進(jìn)一步確認(rèn)自己是否能滿足請求。

如果該用戶確實存在,服務(wù)器就會發(fā)送一個隨機(jī)數(shù)給客戶端,叫用戶做“一道菜”來證明自己不是偽冒的,這個隨機(jī)數(shù)就是“原材料“。這時候,伴隨著“原材料”一起發(fā)送給客戶端的,還有它能提供的服務(wù)列表。

客戶端收到數(shù)據(jù)后,將隨機(jī)數(shù)取出,用自己的密鑰哈希加工,得到色香味唯一的菜肴。然后將“做好的菜”和原料以及自己的用戶名放在一起,組成身份驗證包,再次發(fā)給服務(wù)端。

服務(wù)端從自己的數(shù)據(jù)庫中找到該用戶的“秘方”,使用同樣的“原材料”——隨機(jī)數(shù)做菜。然后比較兩道菜,如果相同,則認(rèn)為用戶身份真實,就可以響應(yīng)其請求了。


域環(huán)境下申請服務(wù)時,NTLM的認(rèn)證過程和第二種情況基本一樣,只是在最后驗證用戶身份時,并不是由服務(wù)器來進(jìn)行,而是域控。

這是為什么呢?

在AD域安全管理系列科普文章中,我們提到,AD域內(nèi)所有賬戶信息都存儲在域控上。這說明,域環(huán)境下的服務(wù)器上并沒有用戶“秘方”,“秘方”只存在于域控上。

所以服務(wù)器接收到身份驗證包后,會將它轉(zhuǎn)發(fā)給域控,由域控來進(jìn)行驗證。

域控在數(shù)據(jù)庫中找到該用戶對應(yīng)的密碼哈希,同樣加工該隨機(jī)數(shù),得到加密后的值。將這個值與客戶端加密的值進(jìn)行比較,最后把結(jié)果返回給服務(wù)器。

# 結(jié)語 #

由上可見,無論哪種情況下,NTLM在認(rèn)證過程中,都沒有在網(wǎng)絡(luò)上單獨傳遞密碼,這減少了密碼泄露的可能,提高了系統(tǒng)安全性。

但NTLM的認(rèn)證方式也不是絕對安全的,基于密碼哈希的認(rèn)證方式,讓攻擊者在不需要獲取明文密碼的情況下,也能直接傳遞密碼哈希通過認(rèn)證。有的攻擊者甚至將客戶端發(fā)送給服務(wù)器的驗證信息截獲,用來進(jìn)行明文爆破或NTLM中繼攻擊。

為了防范這樣的威脅,我們需要選擇安全性更高的認(rèn)證協(xié)議或采取專門的安全運(yùn)營方案。

以上就是我們給大家介紹的NTLM協(xié)議的全部內(nèi)容,下一篇文章中,我們將繼續(xù)為大家介紹LDAP協(xié)議。

【安全科普】AD域安全協(xié)議(二)NTLM的評論 (共 條)

分享到微博請遵守國家法律
东山县| 南郑县| 建瓯市| 同江市| 湛江市| 凤庆县| 明光市| 滁州市| 徐闻县| 长寿区| 乾安县| 翁牛特旗| 兰溪市| 金华市| 安仁县| 微博| 来凤县| 和政县| 泰兴市| 内丘县| 芜湖市| 江口县| 高雄市| 沽源县| 常熟市| 彰化市| 海安县| 青龙| 新宾| 巨鹿县| 闵行区| 清苑县| 余姚市| 桐柏县| 黄陵县| 砀山县| 荔波县| 大安市| 清河县| 青海省| 祁东县|