Password Hardening Based on Keystroke Dynamics
Password Hardening Based on Keystroke Dynamics
Fabian Monrose Michael K. Reiter Susanne Wetzel Bell Labs, Lucent Technologies Murray Hill, N J, USA {fabian, re iter, sgwetzel}@research, bell-labs, com
Abstract
我們提出了一種新的方法來提高密碼的安全性,即合法用戶的鍵入模式(例如,擊鍵的持續時間,擊鍵之間的延遲)與用戶的密碼相結合,生成一個強化密碼,該密碼比常規密碼更安全,可有效抵御在線和離線攻擊者。此外,我們的方案自動適應用戶鍵入模式的逐漸變化,同時在多個日志中保持相同的強化密碼,用于使用m文件加密或其他需要使用經驗數據和我們方案的原型實現的長期密鑰的應用,我們給出的證據表明,我們的方法是可行的m實踐,m方面的易用性,改進的安全性和性能。
1、Introduction
文本密碼是認證用戶到計算機的主要手段,因為引入了訪問控制,計算機系統密碼仍然是當今主要的用戶認證技術,盡管事實上,他們已經被證明是一個相當薄弱的機制,驗證用戶的研究表明,用戶往往選擇密碼,可以打破一個窮盡搜索一個相對較小的子集,所有可能的密碼。在一個對14000個Unix密碼的案例研究中,幾乎25%的密碼是通過從一個只有3×10°單詞的精心構建的“字典”中搜索單詞而找到的[10](另請參見[21,4,27,29])這種高成功率并不罕見,盡管事實上大約有2 x 10 TM 8字符密碼由數字和大小寫組成。
本文提出了一種通過在密碼中加入二進制信息來提高基于密碼的應用程序安全性的技術。具體地說,我們的技術是在輸入密碼時,根據口令字符和用戶的輸入模式生成一個強化的密碼。這個強化的密碼可以用于logm測試,或者用作文件加密、虛擬專用網絡訪問的加密密鑰,如果攻擊者獲取所有存儲系統信息以獲取密碼版本(在典型的Unix環境中,/etc/passwd文件的模擬版本),那么攻擊者將面臨一項更為困難的任務,以便比傳統密碼方案更容易地搜索強化密碼。此外,學習用戶文本密碼的攻擊者(例如。,通過觀察它(被-mg鍵入)必須像合法用戶一樣鍵入它才能登錄到受我們的方案保護的帳戶
要實現這一目標有幾個挑戰。第一種是識別用戶鍵入密碼時可靠重復(大約)的用戶鍵入模式的特征(例如,擊鍵之間的延遲或擊鍵的持續時間);第二種是在用戶鍵入密碼時使用這些特征同時生成正確的強化密碼,對用于生成或驗證強化密碼的系統改造進行限制的攻擊者應無法確定哪些功能與生成用戶強化密碼相關,因為重新顯示此改造可能會顯示與該密碼功能相關的字符的改造。例如,假設攻擊者了解到第一次和第二次擊鍵之間的延遲是用戶可理解地重復的特征,因此用于生成她的強化密碼,那么這可能會顯示關于文本密碼的第一個和第二個字符的信息,因為由于鍵盤動態,一些有向圖比其他有向圖更容易接受可靠的潛伏期重復。
我們的方法有效地隱藏了用戶的哪些特性與生成強化密碼相關的信息,即使是針對捕獲所有系統信息的攻擊者。同時,它采用了新的技術來對試圖窮盡搜索密碼空間的攻擊者施加額外的(乘法)工作因子。使用經驗數據,我們評估了這一工作因素以及合法用戶可以生成其硬密碼的可靠性。我們的經驗研究表明,各種參數的選擇既提高了安全性,又有足夠的易用性。我們的方案在實踐中非常有吸引力。
與其他認證程序(如指紋識別、視網膜或ins掃描)不同,我們的方法不受限制,可與現成的鍵盤配合使用。我們的方案一開始和“普通”密碼方案一樣安全,然后隨著時間的推移適應用戶的鍵入模式,用biometrm信息逐步強化密碼,而且,在完全能夠適應用戶鍵入模式逐漸變化的同時,我們的方案可以獨立地生成相同的強化密碼,盡管用戶的輸入模式發生了變化。因此,可以使用強化密碼來加密文件,而不需要在每個logm上使用新的強化密碼來解密和重新加密文件。
我們方案的主要限制是,如果用戶的輸入模式在連續輸入密碼時發生了實質性變化,則用戶可能無法生成密碼,她正確的強化密碼,因此,例如,可能無法登錄最常見的情況下,這可能發生的是,如果用戶試圖登錄的風格不同于她的常規鍵盤,whmh可以導致一個改變用戶的鍵入模式。在這種情況下,我們的方案最適合的應用是從筆記本電腦訪問虛擬專用網絡,筆記本電腦上的文件或磁盤加密提供了一個單一的、持久可用的鍵盤,用戶可以在whmh輸入密碼,這是重復生成強化密碼的理想情況。此外,隨著筆記本電腦失竊率的上升(例如,見[22]),這些應用程序對安全性的要求比傳統密碼更高。
2、Related work
使用擊鍵功能強化密碼的動機來自于多年的研究,這些研究證實了用戶擊鍵功能都是高度可重復的,并且在用戶之間是不同的(例如,[6、28、14、15、1、9、20、24])。先前的工作預計在用戶登錄過程中使用擊鍵信息(例如,[9]),實際上,實現這一點的產品今天正在市場上銷售(例如,參見http://www,biopass,word,corn/)所有這些先前的方案都通過在系統中存儲用戶擊鍵行為的模型來工作,然后將用戶在密碼輸入過程中的擊鍵行為與此模型進行比較,這樣雖然它們有助于抵御試圖直接登錄系統的在線攻擊者,它們不提供額外的保護,以防離線攻擊者捕獲與用戶身份驗證相關的系統信息,然后執行離線字典攻擊以查找密碼(例如,然后解密在密碼下加密的文件)。相反,合法用戶擊鍵行為的捕獲模型會將密碼泄露給此類攻擊者,如第1節所述。因此,我們的工作從兩個方面對這些方案進行了改進。首先,我們的方法是第一個針對onhne和officeme攻擊者提供更強安全性的方法。第二,我們的方案是第一個基于密碼和擊鍵動力學生成可重復密碼的方案,它比密碼本身更強大,并且可以用于除登錄以外的應用程序,例如文件加密。
whmh的唯一工作我們知道,先前提出的基于blometnc信息生成可重復密鑰的方案是[3]在該方案中,用戶攜帶包含(1)糾錯參數的便攜式存儲設備來解碼blometrlc的讀數(例如,一個Ins掃描)與該用戶的一個“規范”讀取的有限數量的錯誤,以及(il)該規范讀取的單向散列用于驗證目的。此外,他們進一步提出了一個方案,在whmh中,該用戶的規范blometrm讀取與密碼一起散列。然而,他們的技術,對于我們的目標是不合適的,因為存儲的糾錯參數,如果被捕獲,會向用戶揭示biometnc的規范形式的信息。出于這個原因,他們的方法需要一個具有次級熵的blometrm,例如,他們認為虹膜掃描提供了估計的173位熵,因此在暴露糾錯參數后的剩余熵(他們估計了147位剩余熵)對于他們的應用來說仍然足夠大。在我們的例子中,8個字符密碼的可測量擊鍵特征相對較少(在標準鍵盤上最多15個),實際上在我們的方案中,密碼的熵通常會支配擊鍵特征的熵。因此,將糾錯參數暴露在我們的設置中會大大減少擊鍵特征的可用熵,幾乎到了否定其效用的程度。此外,提出有關擊鍵特征的信息反過來可以,公開有關密碼本身的信息(如第1節所述)這使得在我們的設置中謹慎地利用擊鍵功能,而在他們的設置中,他們所考慮的生物特征被假定獨立于所選擇的密碼。
我們加固用戶密碼的方法在概念上與用戶logm的密碼“salting”相似salting是一種方法,在對密碼進行哈希運算并將結果與之前存儲的值[21,16]進行比較之前,在用戶密碼前面加上一個長度為s位的隨機數(“salt”),如果攻擊者無法訪問這些內容,則攻擊者的搜索空間將增加22倍。然而,正確的salt要么存儲在系統中,要么在logm時間通過窮舉搜索直觀地找到,本文提出的方案可以通過利用用戶的輸入特征確定部分或全部salt位來改進這種方法。此外,與salting相比,我們的方法的一個優點是,我們的方案可以有效地抵御在線攻擊者,該攻擊者學習合法用戶的密碼(例如,通過觀察用戶鍵入密碼),然后嘗試以該用戶的身份登錄。
最后,我們注意到,密碼安全方面的其他一些研究工作集中于檢測與密碼驗證相關的系統信息的未經授權的修改(例如,攻擊者使用其知道的密碼添加新帳戶,或更改現有帳戶的密碼)[13,12,8]這里我們不關注這種威脅模型,盡管我們的強化密碼可以直接與這些技術結合起來,以提供針對這種攻擊者的安全性。
3、Preliminaries
我們的方案產生的強化密碼有許多有效的用途,包括用戶日志、文件加密和對虛擬專用網絡的身份驗證。然而,為了增加公開性,在本文的其余部分中,我們重點討論用戶登錄目的的強化密碼的生成和使用,將我們的討論擴展到這些其他應用程序是很簡單的。我們假設一個擁有一組用戶帳戶的計算機系統對每個用戶帳戶的訪問權限是由一個登錄程序管理的,該程序要求用戶輸入帳戶名和密碼。使用用戶的輸入和用戶試圖訪問的帳戶a的一些存儲信息,logm程序接受或拒絕登錄a的嘗試。像今天的m計算機系統一樣,用戶在密碼字段中鍵入的字符是決定是否接受logm的一個因素。在本文的其余部分,我們用pwda表示登錄帳戶a時密碼字段的正確字符字符串。也就是說,pwda表示正確的文本密碼,就像當今計算機系統中通常使用的那樣。
在我們的體系結構中,輸入pwd~是必要的,但不足以訪問a。相反,logm程序將在密碼字段中輸入的字符與擊鍵功能結合起來,形成一個加固的密碼,用于測試登錄是否成功。帳戶a的正確加固密碼為hpwd~。登錄pro -克將無法生成hpwd ~如果不是pwd ~在密碼字段中輸入或者用戶的擊鍵力學往往差別很大從用戶到用戶(參見Sectmn 2),所以一般情況下,網絡攻擊者將時尚m他試圖登錄到一個因此,本文其余部分的安全分析將集中在offme攻擊者上。
任何滿足上述屬性的秘密共享方案都不足以滿足我們的技術要求,因為為了抵御非法攻擊者,如果猜出的密碼pwd~成功解密了表,共享的形式必須不容易泄露。在下面幾節中,我們將介紹我們的技術實例,使用兩種不同的共享方案我們的方案可以很容易地與鹽分結合起來,以進一步提高安全性一個自然的地方包括一個鹽是在hpwd A的驗證后剛剛重建它為例,當在logm期間生成hpwd時,在對其進行哈希運算并根據以前存儲的哈希值進行測試之前,可以預先為其添加一個salt。該salt可以像今天通常所做的那樣存儲,也可以不存儲,這樣系統就必須對其進行徹底搜索[16]在這種情況下,額外的salt會導致oifflme攻擊者必須克服的額外工作因素。
5、An instance using polynomials
在本節中,我們描述了Sectmn 4技術的一個實例,使用Shamir的秘密共享方案[25],在方案中,hpwd a通過選擇一個m-1次的隨機多項式來共享,使得fa(0)=hpwd,~共享是該多項式上的點。我們分兩步介紹方法m,首先描述一個更簡單的vanatmn,然后在第5.4節中對其進行擴展,以更安全地抵御離線攻擊。
?
總結
以上是生活随笔為你收集整理的Password Hardening Based on Keystroke Dynamics的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Arduino笔记】触摸传感器的使用
- 下一篇: 配置Dot1q终结子接口实现同设备VLA