DIGEST認(rèn)證面臨的密碼存儲(chǔ)問題

? ? ? ? 近期在實(shí)現(xiàn)HTTP和SIP DIGEST認(rèn)證蓖议,對(duì)用戶登錄時(shí)密碼的傳輸與存儲(chǔ)問題有了疑問與思考。

? ? ? ? 根據(jù)之前的開發(fā)經(jīng)驗(yàn)讥蟆,密碼肯定是不能直接明文存儲(chǔ)在數(shù)據(jù)庫中的勒虾,一旦數(shù)據(jù)庫被攻破,不僅本網(wǎng)站的用戶信息面臨危險(xiǎn)瘸彤,根據(jù)用戶設(shè)置密碼的慣性修然,可能會(huì)導(dǎo)致用戶很多關(guān)聯(lián)網(wǎng)站的信息也被竊取。為此常用的做法就是使用SALT + HASH的方法质况,至于HASH算法的話常用的就是MD5/SHA256/SHA512愕宋,但是當(dāng)使用DIGEST認(rèn)證時(shí),問題就出現(xiàn)了:

? ? DIGEST認(rèn)證主要是采用服務(wù)器端和客戶端生成的隨機(jī)碼以及一些額外信息和密碼做MD5摘要结榄,最終由終端生成response中贝,傳遞到服務(wù)器,服務(wù)器再同樣根據(jù)隨機(jī)碼等信息以及密碼進(jìn)行MD5摘要臼朗,和客戶端生成結(jié)果進(jìn)行比較雄妥,從而完成密碼校驗(yàn)(詳情可參照RFC 2617)。

? ? 根據(jù)上面的描述依溯,也許有人已經(jīng)想到老厌,關(guān)鍵問題就是:服務(wù)器完成DIGEST認(rèn)證時(shí)需要與客戶端的密碼一致。但是如果服務(wù)端不存明文密碼黎炉,而是采用SALT+HASH的方式存儲(chǔ)密碼枝秤,該如何實(shí)現(xiàn)呢?初步的解決思路有兩個(gè):

? ? 1. 將SALT通知客戶端慷嗜,客戶端采用相同的HASH算法進(jìn)行密碼摘要后淀弹,使用結(jié)果作為DIGEST認(rèn)證的密碼,在進(jìn)行DIGEST RESPONSE計(jì)算庆械。

? ? 2. 服務(wù)器不使用不可逆的HASH算法存儲(chǔ)密碼薇溃,而是采用對(duì)稱加密的方式,對(duì)稱加密密鑰隨機(jī)生成缭乘,并與用戶名沐序、密碼分表或分庫存儲(chǔ),從而保證安全性堕绩。

個(gè)人選擇方法2策幼,下面談一談方法一的缺陷

? -- 將存儲(chǔ)密鑰用的SALT通知到客戶端本身就是很不安全的行為,如SALT被截獲就大大增加了別人破解密碼的可能性

?-- 其次奴紧,由于這次做的產(chǎn)品本身屬于標(biāo)準(zhǔn)化產(chǎn)品特姐,登陸過程需支持標(biāo)準(zhǔn)DIGEST方式,無法限制其他客戶端的行為黍氮,如采用此方式唐含,必然在標(biāo)準(zhǔn)化測(cè)試與對(duì)接時(shí)面臨問題浅浮。

為此權(quán)衡再三,還是覺得使用方法2較為可靠一些捷枯,不知各位有沒有什么別的好想法滚秩?

其實(shí)就協(xié)議來看,DIGEST認(rèn)證本身就不是太安全铜靶,也很容通過字典攻擊等常見MD5破解方式完成密碼破解叔遂。為此為保證傳輸密碼安全,還是需要使用TLS争剿。

PS: 其實(shí)DIGEST認(rèn)證個(gè)人感覺在HTTP協(xié)議中用途并不廣已艰,有印象的只有以前路由器的登陸使用了該方式,SIP中DIGEST登陸貌似倒是挺多的蚕苇,但好像也逐漸被AKA認(rèn)證所取代哩掺,后續(xù)還是有必要分析一下SIP AKA和HTTP中的密碼傳輸與存儲(chǔ)問題進(jìn)一步研究一番。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涩笤,一起剝皮案震驚了整個(gè)濱河市嚼吞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蹬碧,老刑警劉巖舱禽,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異恩沽,居然都是意外死亡誊稚,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門罗心,熙熙樓的掌柜王于貴愁眉苦臉地迎上來里伯,“玉大人,你說我怎么就攤上這事渤闷〖参停” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵飒箭,是天一觀的道長(zhǎng)狼电。 經(jīng)常有香客問我,道長(zhǎng)补憾,這世上最難降的妖魔是什么漫萄? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮盈匾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘毕骡。我一直安慰自己削饵,他們只是感情好岩瘦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著窿撬,像睡著了一般启昧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上劈伴,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天密末,我揣著相機(jī)與錄音,去河邊找鬼跛璧。 笑死严里,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的追城。 我是一名探鬼主播刹碾,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼座柱!你這毒婦竟也來了迷帜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤色洞,失蹤者是張志新(化名)和其女友劉穎戏锹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體火诸,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锦针,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惭蹂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伞插。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖盾碗,靈堂內(nèi)的尸體忽然破棺而出媚污,到底是詐尸還是另有隱情,我是刑警寧澤廷雅,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布耗美,位于F島的核電站,受9級(jí)特大地震影響航缀,放射性物質(zhì)發(fā)生泄漏商架。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一芥玉、第九天 我趴在偏房一處隱蔽的房頂上張望蛇摸。 院中可真熱鬧,春花似錦灿巧、人聲如沸赶袄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饿肺。三九已至蒋困,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敬辣,已是汗流浹背雪标。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留溉跃,地道東北人村刨。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像喊积,于是被迫代替她去往敵國(guó)和親烹困。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容