[论文解读] Towards Human Computable Passwords
该论文提出了一种人类可计算的密码方案,用户通过在秘密映射上进行心算来认证,即使在多次泄露后也能保持强安全性。通过利用半可信计算机显示公开挑战,并使用一个对人类而言易于计算的函数 $ f: \mathbb{Z}_d^k \to \mathbb{Z}_d $,该方案确保统计敌手需要 $ \tilde{\Omega}(n^{s(f)}) $ 个挑战-响应对才能恢复秘密映射 $ \sigma $,其中安全参数 $ s(f) = \min\{k_1+1, (k_2+1)/2\} $,针对的是一类函数 $ f_{k_1,k_2} $。
An interesting challenge for the cryptography community is to design authentication protocols that are so simple that a human can execute them without relying on a fully trusted computer. We propose several candidate authentication protocols for a setting in which the human user can only receive assistance from a semi-trusted computer --- a computer that stores information and performs computations correctly but does not provide confidentiality. Our schemes use a semi-trusted computer to store and display public challenges $C_i\in[n]^k$. The human user memorizes a random secret mapping $σ:[n] ightarrow\mathbb{Z}_d$ and authenticates by computing responses $f(σ(C_i))$ to a sequence of public challenges where $f:\mathbb{Z}_d^k ightarrow\mathbb{Z}_d$ is a function that is easy for the human to evaluate. We prove that any statistical adversary needs to sample $m= ildeΩ(n^{s(f)})$ challenge-response pairs to recover $σ$, for a security parameter $s(f)$ that depends on two key properties of $f$. To obtain our results, we apply the general hypercontractivity theorem to lower bound the statistical dimension of the distribution over challenge-response pairs induced by $f$ and $σ$. Our lower bounds apply to arbitrary functions $f $ (not just to functions that are easy for a human to evaluate), and generalize recent results of Feldman et al. As an application, we propose a family of human computable password functions $f_{k_1,k_2}$ in which the user needs to perform $2k_1+2k_2+1$ primitive operations (e.g., adding two digits or remembering $σ(i)$), and we show that $s(f) = \min\{k_1+1, (k_2+1)/2\}$. For these schemes, we prove that forging passwords is equivalent to recovering the secret mapping. Thus, our human computable password schemes can maintain strong security guarantees even after an adversary has observed the user login to many different accounts.
研究动机与目标
- 解决设计可用且安全的密码管理方案的挑战,即使敌手观察到大量用户认证会话,方案仍保持安全。
- 开发一种协议,使用户仅通过心算即可完成认证,依赖半可信计算机提供挑战,但不依赖其保密性。
- 确保即使敌手观察到数百个挑战-响应对,该方案仍能维持强安全保证。
- 设计对人类而言简单的计算函数(例如模10的数位相加),同时支持形式化安全证明。
- 基于统计维数和超收缩性建立通用安全框架,分析恢复秘密映射 $ \sigma $ 的困难性。
提出的方法
- 用户记忆一个秘密映射 $ \sigma: [n] \to \mathbb{Z}_d $,其中 $ d = 10 $ 以符合人类熟悉度。
- 半可信计算机显示公开挑战 $ C_i \in [n]^k $,这些挑战可以是索引序列或图像。
- 用户使用人类可计算的函数 $ f: \mathbb{Z}_d^k \to \mathbb{Z}_d $ 计算响应 $ f(\sigma(C_i)) $,例如选择性地对秘密数位进行模10加法。
- 函数 $ f_{k_1,k_2} $ 的设计仅需 $ 2k_1 + 2k_2 + 1 $ 个基本操作(例如模10的数位加法),以支持高效的心算。
- 安全性通过挑战-响应分布的统计维数进行分析,利用一般超收缩性定理进行有界。
- 基于函数的结构特性推导出恢复 $ \sigma $ 所需的挑战-响应对数的下限,其中 $ s(f) = \min\{k_1+1, (k_2+1)/2\} $。
实验结果
研究问题
- RQ1如何设计一种密码方案,使用户仅通过心算即可完成认证,而无需依赖完全可信的计算机?
- RQ2敌手需要多少最少的挑战-响应对才能恢复秘密映射 $ \sigma $?这一数量如何依赖于函数 $ f $ ?
- RQ3能否构造一种人类可计算的函数 $ f $,使得伪造密码等价于恢复 $ \sigma $,即使在观察到大量认证过程后也成立?
- RQ4该方案的安全性如何随 $ f $ 的复杂度增长而变化?$ k_1 $ 和 $ k_2 $ 等属性在决定安全参数 $ s(f) $ 时起什么作用?
- RQ5能否利用超收缩性对挑战-响应分布的统计维数进行有界,以证明对统计敌手的强安全性?
主要发现
- 任何统计敌手都需要 $ \tilde{\Omega}(n^{s(f)}) $ 个挑战-响应对才能恢复秘密映射 $ \sigma $,其中 $ s(f) $ 是函数 $ f $ 结构的函数。
- 对于函数族 $ f_{k_1,k_2} $,安全参数为 $ s(f) = \min\{k_1+1, (k_2+1)/2\} $,确保即使在多次泄露后仍具有强安全性。
- 在该方案中,伪造密码在计算上等价于恢复 $ \sigma $,意味着不存在突破秘密映射的捷径攻击。
- 用户复习需求已量化:当 $ n = 100 $ 时,非常活跃的用户每年平均仅需额外 0.396 次复习,而使用频率较低的用户最多需 70.7 次,表明典型使用下的认知负荷极低。
- 即使每个账户有 $ \lambda = 10 $ 个挑战,安全性依然很强,因为即使观察到 100 多次认证,敌手对 $ \sigma $ 的不确定性仍保持很高。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。