亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于口令的攻擊分析與防御設計

        2018-10-17 01:47:52◆徐
        網(wǎng)絡安全技術與應用 2018年10期
        關鍵詞:服務器端哈希口令

        ◆徐 軍

        ?

        基于口令的攻擊分析與防御設計

        ◆徐 軍

        (山東理工大學計算機科學與技術學院 山東 255049)

        使用口令的目的是為了對用戶進行認證,防止各種攻擊及非法登錄行為。為了抵抗暴力攻擊、字典攻擊、彩虹表攻擊、中間假冒攻擊等手段,對口令認證的原理以及使用的關鍵技術進行了綜述分析,在此基礎之上,利用哈希技術、加鹽技術和慢哈希技術設計了一個簡單有效、易于編程實現(xiàn)的口令認證方案,方案計算量可調控,安全強度較高,能抵抗一般常見形式的網(wǎng)絡攻擊。

        口令認證;哈希;加鹽;慢哈希;攻擊

        0 引言

        口令認證是最常用的方法,我們無論登錄什么系統(tǒng)都要用到賬戶與密碼,現(xiàn)實中web系統(tǒng)面臨許多的威脅,而對口令的攻擊是手段和目的最直接的攻擊,取得口令即可實現(xiàn)入侵。同時,服務器端的口令數(shù)據(jù)庫也是網(wǎng)絡入侵的高價值目標。在編程實踐與相關教學中,看似簡單的口令技術,我們發(fā)現(xiàn)大量偏差的理解與錯誤的用法,本研究試圖對口令攻擊、防御技術給出系統(tǒng)化的、全面的分析,并提出口令加固的方法、方案,以提高口令認證的應用水平。

        1 口令認證形式與存儲

        一般,口令認證基于客戶機/服務器(C/S)模式??蛻舳颂峤毁~戶、口令,經(jīng)網(wǎng)絡傳輸至服務器端進行認證。主要的威脅關鍵點有兩個,一在網(wǎng)絡傳輸過程,要防止竊聽;二是服務器端口令的存儲,不能泄露口令的明文,甚至要在網(wǎng)站被入侵,口令被“拖庫”的情況下,也要保證口令不能被破解。

        務器端的口令數(shù)據(jù)庫不能存儲明文的口令,口令在服務器端的存儲形式?jīng)Q定了采用什么樣的安全技術與認證方案。將口令變換的技術稱為哈希技術。表1為服務器端常見的簡單存儲結構,只包含兩個字段:username 、passwordhashvalue,passwordhashvalue采用公開常規(guī)MD5工具計算得出,其對應的明文口令值為(“20180602”, “Dia-loutes”, “My love”)。

        表1 服務器端口令存儲結構

        2 口令認證方案的關鍵技術

        基于口令認證的關鍵技術主要包括哈希函數(shù)、口令加鹽技術公鑰密碼技術等,實際的認證方案是幾種技術的綜合運用。

        2.1 哈希函數(shù)技術

        哈希函數(shù)是一種人為設計性質特殊的函數(shù),一般用來實現(xiàn)保密、認證和消息完整性保護,也是安全認證協(xié)議、數(shù)字簽名算法的重要組成部分。

        Hash函數(shù)H具備以下幾個基本特性:

        (1)輸入x可以為任意長度;輸出數(shù)據(jù)串長度固定,128bit或256bit;

        (2)單向性,正向計算實現(xiàn)容易,即給定任何x,容易算出H(x);而反向計算實現(xiàn)困難,即給出一Hash值h,很難找出一特定輸入x,使h=H(x);

        (3)抗沖突碰撞性,即對于任意兩條消息x、y,使得H(x)=H(y)在計算上是不可行的;

        函數(shù)單向性決定了即使取得口令的哈希值也不可能從中恢復出口令, 因此能應對網(wǎng)絡竊聽,網(wǎng)站內部人員也看不能明文口令,能防止一般的字典攻擊和暴力破解(Dictionary and Brute Force Attacks)。

        ash函數(shù)安全性是不夠的,破解Hash的原理是,對于給出的一個y,反算出一個x來滿足y = H(x),因其直接計算是不可能的,目前一般采用查表法,即設計一個大型字典表,記錄下盡可能多的x與y的對應關系,直接查表匹配。

        瑞典的Philippe Oechslin在2003年提出了一種高效破解windows開機密碼的時空折中算法[1],這就是“彩虹表Rainbow”技術,主要針對破解Windows Xp開機認證的LM-HASH算法。根據(jù)這個原理,同樣可以用于破解SHA、MD5等算法。

        該算法的原理是預先計算得到一個較大的表,對于一個給定的hash值,在表內進行查找,破譯速度快,效率高。彩虹表的核心是精心設計的R函數(shù),該函數(shù)的定義域是hash函數(shù)的值域,值域是合理的輸入域,R函數(shù)使用哈希鏈方法計算各哈希值的與之對應值,并進行儲存,查表時根據(jù)哈希值從頭節(jié)點開始做H、R交替運算,直到某個hash值和給定hash值相等,或者找到尾節(jié)點,就會得到一個與用戶輸入等價的密碼。[2]提供了針對LM、NTLM、MD5、SHA1等常用算法的彩虹表下載。

        2.2 口令加鹽技術

        防御彩虹表攻擊,最好用的方法就是加鹽(salt)?!胞}”的實質就是一個具有一定長度的隨機數(shù)串,加鹽的結果使密碼更長,強度更高,使彩虹表逆推的難度也更大,使用攻擊手段進行撞庫時運算量更大,破解的難度更高。

        基本加鹽過程:

        圖1 口令加鹽過程

        加鹽算法后,服務器端的存儲結構變?yōu)楸?的形式:

        表2 加鹽哈希表

        這里,服務器端存儲的其實是H(password)+salt value。在登錄界面,客戶端程序要與服務器端協(xié)商一個鹽值數(shù)據(jù),同時與密碼的哈希值結合,傳輸給服務器端驗證,網(wǎng)絡信道傳輸?shù)氖莾热菔荋(password+salt)或者H(H(password)+salt),這樣,攻擊者即使通過彩虹表找到了特定hash值對應的密碼,也無法得到用戶輸入的密碼,甚至根本得不到密碼。如果攻擊者獲得鹽值以及其位置,破解時也需要對R函數(shù)重新設計修改,因此已有的彩虹表數(shù)據(jù)就會完全失去作用。

        存儲鹽值明文會降低安全性,實際編程時,一般要采取不同的加鹽方案。文獻[3]中采用了偽隨機數(shù)生成器的加鹽哈希算法,大大增強了口令認證安全性。

        如果知道加鹽的方式或鹽值泄露,攻擊者通過重新構造彩虹表或者暴力遍歷就能夠實現(xiàn)破解,所以加鹽技術方案需要遵循幾個基本原則:

        (1)靜態(tài)不變的salt、明文存儲的salt不能使用。

        (2)salt 要具有一定的安全長度。

        (3)salt最好是隨機的,由服務端的隨機函數(shù)生成。

        (4)服務器不能存儲用戶口令加鹽的hash結果。

        (5)salt庫和口令密碼庫盡量分離開存放。

        2.3 慢哈希技術

        加入干擾項后使攻擊者無法采用特定的查詢表和彩虹表快速破解大量哈希值,但是卻不能防止最原始的字典攻擊或暴力攻擊。攻擊者可在web前端大量嘗試各種密碼可能,在高速強大的計算能力面前,哈希函數(shù)顯得很脆弱,為了應對這種對密碼的字典攻擊或暴力攻擊,可以采取慢哈希技術。慢哈希技術的思想就是通過重新設計哈希函數(shù),把哈希函數(shù)變得很慢,讓字典攻擊和暴力攻擊者耗費大量的機器時間,將破解的代價變得不可接受;同時這種緩慢對單個用戶登錄又不會造成大的影響。

        圖2 慢哈希技術

        顯然,慢哈希算法也有著明顯的缺點,它在消耗對手計算資源的同時,也消耗自己的大量計算資源。如果遇到惡意用戶,發(fā)起大量的登錄請求,服務器端會造成資源被耗盡,不能提供正常服務。所以,上圖中的方案中,將慢哈希的計算放在了web前端。

        慢哈希函數(shù)的設計有很多方法,最簡單的方法就是對原哈希函數(shù)做循環(huán)計算,但我們一般提倡使用標準的慢哈希函數(shù),主要有PBKDF2或者Bcrypt。

        3 口令加固方案設計

        基于上述詳細分析,我們可以得出結論,如果在網(wǎng)絡應用編程中使用口令認證方式,至少應滿足如下條件:

        (1)口令不可以明文在網(wǎng)絡上傳輸,應該使用哈希函數(shù)。

        (2)即使被拖庫,也無法還原用戶密碼。

        (3)應該有能力應對暴力破解、字典攻擊。

        (4)應該有能力應對查表攻擊與彩虹表攻擊。

        (5)應該不占用過大的計算資源。

        (6)應該易于編程實現(xiàn)。

        3.1 方案設計

        因此,認證方案中應該包括的技術有哈希技術、加鹽技術,若欲達到一定的安全強度,則須考慮在web前端采用慢哈希技術,慢哈希的計算速度應該由服務器端來確定。

        假定:注冊階段已完成,此時,客戶端已擁有賬號與密碼;服務器端已建立起用戶密碼庫,存儲模式為(userid, password_hash),鹽值單獨存放,防止拖庫,存儲模式為(userid,salt_hash,cost),其中cost字段為慢哈希代價,用來指定客戶端的慢哈希速度,cost值越大,web端運行越慢。

        則登錄階段的協(xié)議描述為:

        (1)客戶端以userid發(fā)起登錄請求。

        (2)服務器端響應,生成一隨機鹽值salt=random(),h(salt)存儲,選定cost值,將cost、salt發(fā)送。

        (3)客戶端計算r= PBKDF2( PRE, Password, Salt, cost, LEN),發(fā)送。PRE為隨機函數(shù),LEN為輸出長度。

        (4)服務端收到r,與自己計算的PBKDF2 (password, salt, cost)比較,若相等,則存儲于password_hash字段,通過認證。若不相等則丟棄。

        3.2 方案分析

        此方案設計相當簡潔,只用到2 次交互,計算量取決于慢哈希速度,但計算量可控,能夠滿足上面提到的6個條件。

        在方案中采用了加鹽的hash技術,并且,鹽值由服務端隨機生成,且每次登錄都不會相同,所以能夠抵抗查表法、彩虹表法的攻擊。

        由于使用了PBKDF2慢哈希函數(shù),因此對暴力破解、字典攻擊有較好的效果。

        顯然,慢哈希會增大服務器的計算量,在這里我們采取了一種折中方案,也就是說,雙方的運算量由服務器決定,服務器可根據(jù)自己的網(wǎng)絡負載情況,選擇cost值,并且將此值發(fā)送web客戶端。cost值越大,運算量越大,速度越慢。

        幾種特殊情況:

        (1)假定攻擊者網(wǎng)絡監(jiān)聽,竊取了userid,然后實行假冒攻擊,但他無法對服務器發(fā)送來的cost、salt計算出r,即使他知道函數(shù)PBKDF2,也無法知道password。

        (2)因監(jiān)聽導致單個鹽值泄露,因為鹽值是隨機、一次性的,攻擊者構造彩虹表是困難的。

        (3)最壞的情況,服務器被拖庫,但攻擊者拿到的不是密碼明文、鹽值明文,而是哈希變換過的值,且密碼是經(jīng)過加鹽存儲的,破解難度很大。

        4 總結

        口令認證是目前普遍使用的方式,但口令方式并不是一種簡單的方式,方案越簡單,意味著越不安全;口令認證也不是一種廉價的方式,如果綜合考慮登錄、密碼更新協(xié)議,口令認證其實較復雜。因此設計方案時,須權衡安全級別與資源占用代價,盡可能堵住已知漏洞,正確選擇方案中的參數(shù),比如鹽值不能太短,哈希函數(shù)的位數(shù)等;靈活使用目前的密碼設計的關鍵技術,哈希技術、加鹽技術、慢哈希技術等,包括S/KEY一次一密等。本方案的安全性、資源占用均衡,易于編程實現(xiàn),能夠滿足一般的網(wǎng)絡應用系統(tǒng)的要求。

        [1]Oechslin P.Making a Faster Cryptanalytic Time-Memory Trade-Off. In: Boneh D. Advances in Cryptology - CRYPTO 2003. CRYPTO 2003. Lecture Notes in Computer Science, vol 2729. Springer, Berlin, Heidelberg.

        [2]http://www.freerainbowtables.com/en/tables/.

        [3]祁鑫,魏美榮,蔣文保.口令加密算法安全性分析與對比[J].網(wǎng)絡空間安全,2016.

        [4]韓霖,張燁青,金健宇,方丹丹.高校信息平臺用戶口令安全策略研究[J].信息安全研究,2016.

        [5] https://crackstation.net/.

        [6]鄧飛,朱瑩.基于口令的客戶端/服務器認證協(xié)議[J].計算機工程與應用,2015.

        [7]汪定等.一個強口令認證方案的攻擊與改進[J].計算機科學,2012.

        [8]王平,汪定,黃欣沂.口令安全研究進展[J].計算機研究與發(fā)展,2016.

        [9]于江,蘇錦海,張永福.基于Hash函數(shù)的強口令認證方案設計與分析[J].計算機應用,2009.

        山東省重點研發(fā)計劃項目(2016GGX101027)。

        猜你喜歡
        服務器端哈希口令
        高矮胖瘦
        口 令
        淺析異步通信層的架構在ASP.NET 程序中的應用
        成功(2018年10期)2018-03-26 02:56:14
        好玩的“反口令”游戲
        SNMP服務弱口令安全漏洞防范
        基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
        在Windows中安裝OpenVPN
        基于維度分解的哈希多維快速流分類算法
        計算機工程(2015年8期)2015-07-03 12:20:04
        基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗證算法
        計算機工程(2014年6期)2014-02-28 01:25:40
        一種基于Bigram二級哈希的中文索引結構
        国产成年无码久久久免费| 久久人妻av一区二区软件| 日韩乱码人妻无码中文字幕久久 | 伊人情人色综合网站 | 76少妇精品导航| 欧美日本国产亚洲网站免费一区二区| 99国语激情对白在线观看| 中国久久久一级特黄久久久| 欧美 国产 综合 欧美 视频| 日本一本久道| 人妻色中文字幕免费视频| 人妻一区二区三区av| 免费观看又色又爽又湿的视频 | 被暴雨淋湿爆乳少妇正在播放| 日韩av在线手机免费观看| 久久久久亚洲av成人网人人软件| 亚洲永久精品ww47| 国内精品91久久久久| 日韩一区二区三区熟女| 熟女少妇精品一区二区| 九九精品视频在线观看| av在线网站手机播放| 蜜桃一区二区三区视频网址| 久久精品免费观看国产| 久久精品国产免费观看99| 精品国产一区二区av麻豆不卡| 体验区试看120秒啪啪免费| 中文字幕乱码免费视频| 亚洲高清精品50路| 精品久久中文字幕系列| 女人张开腿让男桶喷水高潮| 亚洲欧美日韩国产一区| 亚洲一区二区三区在线更新| 丝袜美腿一区二区国产| 人人狠狠综合久久亚洲| 亚洲高清国产品国语在线观看| 亚洲伊人久久大香线蕉| 国产乱子伦农村xxxx| 國产AV天堂| 人妻秘书被社长浓厚接吻| 国产精品videossex国产高清|