In the past decade, billions of user passwords have been exposed to the dangerous threat of offline password cracking attacks. An offline attacker who has stolen the cryptographic hash of a user's password can check as many password guesses as s/he likes limited only by the resources that s/he is willing to invest to crack the password. Pepper and key-stretching are two techniques that have been proposed to deter an offline attacker by increasing guessing costs. Pepper ensures that the cost of rejecting an incorrect password guess is higher than the (expected) cost of verifying a correct password guess. This is useful because most of the offline attacker's guesses will be incorrect. Unfortunately, as we observe the traditional peppering defense seems to be incompatible with modern memory hard key-stretching algorithms such as Argon2 or Scrypt. We introduce an alternative to pepper which we call Cost-Asymmetric Memory Hard Password Authentication which benefits from the same cost-asymmetry as the classical peppering defense i.e., the cost of rejecting an incorrect password guess is larger than the expected cost to authenticate a correct password guess. When configured properly we prove that our mechanism can only reduce the percentage of user passwords that are cracked by a rational offline attacker whose goal is to maximize (expected) profit i.e., the total value of cracked passwords minus the total guessing costs. We evaluate the effectiveness of our mechanism on empirical password datasets against a rational offline attacker. Our empirical analysis shows that our mechanism can reduce significantly the percentage of user passwords that are cracked by a rational attacker by up to 10%.
翻译:在过去的十年中,数十亿用户密码暴露在离线密码破解攻击的危险性威胁之下。一个窃取用户密码密码的密码的离线攻击者可以检查许多密码猜测,因为S/他只喜欢被他愿意投资破解密码的资源所限制。辣椒和键盘拉伸是用来通过增加猜测成本来吓阻离线攻击者的两种技术。Pepper确保拒绝错误密码猜测的成本高于核查正确密码猜测的(预期)成本。这是有用的,因为大多数离线攻击者对用户密码的猜测是不正确的。不幸的是,我们观察传统的胡椒辩护似乎与现代记忆硬键拉伸算法不兼容,例如Argon2 或 Scrypt。我们称之为成本偏差内存硬密码校正密码校准的两种技术,这与古典催眠辩护一样,拒绝错误密码猜测的(预期的)成本比攻击总数要大。我们观察的离线用户逻辑分析的数值要大大低于预期的数值,因此,我们只能通过精确的精确的密码分析来测量我们的目标。 当我们能够大大降低总攻击率的精确地算值时,我们对用户的精确的精确的精确的精确的计算数据。