有一個我經常使用的網上銀行網站,其認證用戶的方式是詢問他們的安全問題,并只輸入3個隨機字符的密碼。
我一直想知道他們是如何將用戶的密碼存盤在他們的系統中的,它肯定不是純文本?而且它不能被散列,因為每次登錄所需的字符都會改變。這背后的想法是什么?
uj5u.com熱心網友回復:
這類認證系統旨在提供對鍵盤記錄器/流量攔截的保護,其基礎是,如果登錄資訊被攔截,攻擊者只得到密碼的幾個字符,而不是全部。可悲的是,銀行業的許多部分仍在使用它們,而不是僅僅實施實際的MFA(盡管這似乎正在慢慢改善)。
你是對的,如果密碼是散列的,就不可能使用這種認證,然而這并不一定意味著它必須以純文本形式存盤。
假設他們實施得很好,密碼應該被加密存盤,而不是以純文本存盤。還可能存在分離的因素,因此存盤密碼的系統與用戶正在互動的前端分離,因此你可以有一個類似于以下的認證流程:
這樣一來,對前端的破壞就不會直接暴露用戶的密碼,而且你可以在認證微服務上實施控制(如日志和速率限制),以幫助識別和防止前端被破壞。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/315110.html
標籤:

