簡體   English   中英

使用隨機數傳輸哈希憑證時,防止哈希破解的保護措施

[英]Protection measures against hash cracking when transmitting hashed credentials using a nonce

我需要使用api密鑰對用戶進行身份驗證,但是顯然,在將其處理給用戶之前,我需要檢查其憑據。 我認為流程需要這樣:

客戶端->服務器:GET / user?username = fred

服務器->客戶端:nonce = XYXY

客戶端->服務器:POST / login?hashval = {hash(用戶名+密碼+隨機數)}&nonce = XYXY&username = fred

服務器將hash(username + passwordFromDB + nonce)的結果與hashval進行比較,如果相等,則使用API​​密鑰進行響應

但是,如果有人竊聽了連接,盡管它無法直接發現我用戶的密碼,因為它已經知道用戶名和隨機數,如果密碼足夠簡單,那么中間人就可以通過嘗試所有通用的密碼值來匹配我的哈希。(蠻力攻擊)

我知道通過HTTPS進行連接並使用強密碼可以確保此過程的安全,但是還有其他建議或方法可以使此過程更安全嗎?

謝謝

這基本上是摘要訪問身份驗證的一種形式,因此具有相同的局限性。

由於所有用於計算哈希的詳細信息都與哈希一起發送,因此攻擊者唯一需要“撤消”的就是密碼。 如果那很弱,那么彩虹桌或蠻力攻擊可能會使其破裂。 延遲攻擊者的唯一方法是擁有一個非常長且很強的密碼。

但是,由於您正在使用API​​密鑰進行服務身份驗證,因此,作為中間人攻擊者,我將讓您使用密碼進行身份驗證,然后僅從響應中獲取API密鑰。 我假設您使用API​​密鑰對其余請求進行身份驗證(就像會話cookie對Web應用程序所做的一樣)?

當然,還有其他各種保護服務安全的方法 ,具體取決於您在做什么,但是實際上使服務安全意味着您使用自己提到的HTTPS。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM