2015-06-18 76 views
0

我的老闆給了我一張空白支票,以便開發一個極其安全的登錄表單。我一直在研究如何使用用戶名,密碼和驗證碼來做到這一點。這個問題涉及到密碼輸入。我相信這樣做是實現虛擬鍵盤的最佳方式如何實現安全登錄表單的虛擬鍵盤?

虛擬鍵盤 其餘發送到前端有10號的數組,該數組中的每個數字表示爲將要呈現在關鍵的位置風景。用戶將使用此生成的鍵盤鍵入他的密碼,然後按Login。發佈請求會將在虛擬鍵盤中按下的鍵的位置發送到後端。後端將把位置與實際引腳使用數字相匹配。

我的問題:

  1. 這是實現此組件的正確方法,我失去的東西嗎?
  2. 有沒有人有這樣的經驗來分享一些有關良好實踐,鏈接或任何技術知識的知識?

也許不是一個確切的問題,但我認爲這可能有助於瞭解這個組件在銀行應用程序中非常常用的知識。

注意:顯然,所有請求和響應都會與令牌一起使用以確保安全。

+0

您可能想要通過CertiVox查看M-Pin。這是一個LOA 3解決方案,可以擺脫您存儲憑據的需要,在JavaScript中使用PIN提供2FA,因此無需插件,並正在被益百利,NTT和其他公司使用。它也是開源的,還有一個社區增加。 –

+0

注意:完全披露我是CertiVox的首席洗瓶機。 –

回答

1

這會損害最簡單的通用鍵盤記錄木馬,但它不能阻止:

一個。更復雜的現代木馬程序,例如,在登錄頁面上每次點擊時對鼠標下的內容進行迷你屏幕截圖,特別是默認虛擬鍵盤;

b。任何關心你的網站的東西都可以專門針對它並解決你的代碼。

最終你不能贏得客戶端木馬(man-in-the-browser)攻擊。攻擊者的代碼是從更高級別的特權開始工作的,而不是你可以做的任何事情來防禦,攻擊者可以解決問題。

充其量你可以讓它變得更加惱人,而不是對攻擊者來說是值得的。這很容易成爲軍備競賽。但是,您採取的任何措施都會傷害您網站的可用性和可訪問性。對於大多數網站來說,虛擬鍵盤所提供的有限保護遠遠超出了客戶的不便。

+0

我同意你的看法,而且這對密碼管理員也不太合適。爲了防止密碼被鍵盤記錄器竊取,您可能會削弱所使用的密碼,這是一個更大的風險。 – haxim