《A Study of Probabilistic Password Models》(IEEE S&P 2014)——论文阅读

提出更高效的密码评估工具,将统计语言建模技术引入密码建模,系统评估各类概率密码模型性能,打破PCFGw的 "最优模型" 认知。

一、研究背景

当前研究存在两大关键问题:一是主流的 "猜测数图" 计算成本极高,且难以覆盖强密码信息;二是被广泛视为 **"最先进模型"**的概率上下文无关文法模型PCFG,未与全字符串马尔可夫模型等其他模型进行系统对比,且密码建模未充分借鉴统计语言建模领域的成熟技术(如平滑、归一化)。

二、概率密码模型

2.1 定义

概率密码模型是一个函数p: Γ→[0,1]。Γ为所有合法密码集合。需满足两个条件:一是所有密码的概率非负 ;二是所有密码的概率和为 1。若模型对每个合法密码均分配非零概率,则称为 "完整模型"。

2.2 分类

**全字符串模型:**不分割密码,密码有连贯性,直接对完整字符串建模,典型代表为马尔可夫链模型。

**基于模板的模型:**将密码按字符类别(分割为多个片段,独立计算每个片段的概率,再相乘得到密码总概率。典型代表为PCFG模型,需依赖外部字典实例化字母片段。

三、统计语言建模技术

引入统计语言建模技术 解决传统模型的稀疏性过拟合 以及概率归一化问题

3.1 全字符串马尔可夫模型优化

全字符串模型不分割密码,直接对完整字符串建模,核心为马尔可夫链模型

① 归一化方法:解决传统马尔可夫模型 "不同长度密码概率和为 1" 的不合理假设(实际密码长度集中在 6-10 位,占比 87%)。

  • **直接归一化:**将每个密码概率除以合法长度范围,假设长度分布均匀
  • 分布 - based 归一化:按训练集中各长度密码的占比调整概率(如训练集中 8 位密码占 25%,则所有 8 位密码概率均乘以 25%),但可能因训练 / 测试集长度差异导致过拟合;
  • 结束符号归一化:在每个密码后追加 "结束符号",通过学习 "字符→结束符号" 的转移概率,确保所有密码概率和为 1,同时修正 "前缀概率高于完整密码" 的问题(如 "passwor" 概率低于 "password"),与回溯结合时性能最优。

② 平滑技术:解决稀疏性与过拟合

高阶马尔可夫模型(如 5 阶)易因 "低频次字符序列计数为 0" 导致密码概率为 0(稀疏性),或因过度依赖训练集序列导致泛化差(过拟合)。论文引入两种核心平滑技术:

  • 加 δ 平滑(Add-δ):对所有字符序列的计数加 δ(取 δ=0.01),避免概率为 0,在高阶模型中性能优于 Good-Turing 平滑;
  • Good-Turing 平滑:基于 "出现 i 次的序列总概率≈出现 i+1 次的序列总概率",调整低频次序列计数(如出现 1 次的序列计数降为 0.22),但对高阶模型易加剧过拟合。

③阶数自适应:回溯模型(Backoff)平衡拟合与泛化

传统固定阶数马尔可夫模型存在 **"高阶拟合好但泛化差,低阶泛化好但拟合差"**的矛盾。研究引入 Katz 回溯模型,实现阶数的动态自适应。

高频序列用高阶:若某字符序列在训练集中出现频次高于设定阈值(如 10),用高阶模型(如 5 阶)计算下一个字符的概率,确保对常见组合的拟合精度。

低频序列退低阶:若序列频次低于阈值,自动退化为低阶模型(如 2 阶),避免因稀疏性导致概率失真。

概率归一化:对退阶后计算的概率进行归一化,确保同一序列的所有可能后续字符概率和为1.

3.2 对基于模板的模型进行优化

针对传统PCFG模型(基于模板的代表)依赖外部字典、泛化差的缺陷,论文提出两类优化方向:

① 模板概率分配优化 :传统PCFGw通过训练集计数获取模板概率(该模板出现次数 / 总密码数),论文提出 "用马尔可夫模型预测模板",基于字符类型序列的转移概率计算模板概率,提升泛化能力;

首先将模板转化为"字符类型序列"或"类型切换序列"(紧急炉类型变化点);

基于训练集中所有密码的类型序列,训练一个 "类型级马尔可夫链",,学习类型间的转移概率。eg:1 阶模型中,计算 "α后接β" 的概率P(β|α) = 训练集中 "α后接β" 的次数 / 训练集中 "α后接任意类型" 的总次数。

对于任意模板(无论是否在训练集中出现),通过类型级马尔可夫模型计算其类型序列的概率,作为模板概率。eg:模板α^2\β^1)的类型序列为ααβ,其概率为P(α|start) ×P(α|α) ×P(β|α)(start为起始符号)

**优势:**即使测试集中出现训练集未见过的新模板,模型也能基于类型转移规律分配合理概率,避免 "零概率" 问题,泛化性显著优于传统计数方法。

② 片段实例化优化 :传统PCFGw依赖外部字典实例化字母片段(未在字典中的序列概率为 0),论文提出**"从训练集生成字典"** 或 "用马尔可夫模型计算片段概率"。 核心是**"从训练数据中学习片段概率"**并引入平滑技术,覆盖更多序列,如训练集字典使PCFGw破解率从 50% 提升至 75%。

从训练集生成字典:

  • 遍历训练集中所有密码,按模板片段的 "类型 + 长度" 拆分出所有片段,构建分类型、分长度的片段库。
  • 对于某一 "类型 + 长度" 的片段(eg:α^6),其下某具体片段(如 "passwd")的概率 = 该片段在训练集中的出现次数 / 训练集中该 "类型 + 长度" 的所有片段总次数。
  • 优势是完全基于用户真实密码片段,覆盖个性化组合;局限是对训练集中未出现的稀疏片段,仍分配概率 0,存在稀疏性问题。

用马尔可夫模型计算片段概率:

  • tb-co-mc 模型:模板概率用传统计数(co),片段实例化用马尔可夫(mc)。模板概率仍通过训练集计数计算。片段实例化时,对字母片段、数字片段分别训练对应长度的马尔可夫链,计算具体字符序列的概率。
  • tb-mc-mc 模型:模板概率与片段实例化都用马尔可夫(mc)。模板概率通过类型级马尔可夫模型计算,片段实例化用字符级马尔可夫模型,并引入 "加 δ 平滑",对未出现的片段分配极低但非零的概率,解决稀疏性问题。

四、新型密码评估工具:概率阈值图

针对传统 "猜测数图(Guess-Number Graphs)" 计算成本高、覆盖范围有限的缺陷,论文提出概率阈值图,作为 Type-1 研究(对比不同密码集相对强度)的核心评估工具。

4.1 介绍

以 "对数尺度的概率阈值" 为横轴(单位:2^{-x},x为横轴坐标),"概率高于该阈值的密码百分比" 为纵轴。图中某点(x,y)表示测试集中y%的密码,其概率不低于2^{-x}。

4.2 步骤

基于目标密码模型,计算测试集中每一条密码的概率。设定一系列概率阈值。对每个阈值统计测试集中概率高于该阈值的密码数量,计算占比。以阈值的对数为轴,占比为纵轴,画线。

五、总结

本研究通过提出新型评估工具、优化密码模型、开展大规模实验,为密码研究提供了更高效的方法论与技术框架,优化后的全字符串马尔可夫模型可替代PCFG成为新的主流模型,为后续密码强度评估、破解工具开发提供重要支撑。

相关推荐
Arong-tina9 小时前
【论文阅读—深度学习处理表格数据】ResNet-like & FT Transformer
论文阅读·深度学习·transformer
张较瘦_9 小时前
[论文阅读] 软件工程 | REST API模糊测试的“标准化革命”——WFC与WFD如何破解行业三大痛点
论文阅读
Vizio<15 小时前
《D (R,O) Grasp:跨机械手灵巧抓取的机器人 - 物体交互统一表示》论文解读
论文阅读·人工智能·机器人
Blockchain Learning1 天前
椭圆曲线的数学基础
golang·密码学
bylander1 天前
【论文阅读】Jet-Nemotron: 高效语言模型与后神经网络架构搜索
论文阅读·神经网络·语言模型
川川子溢1 天前
【论文阅读】Deepseek-VL:走向现实世界的视觉语言理解
论文阅读
张较瘦_1 天前
[论文阅读] 人工智能 + 软件工程 | 别让AI写的代码带“漏洞”!无触发投毒攻击的防御困境与启示
论文阅读·人工智能
Mr.Cheng.2 天前
【论文阅读】Neuro-Symbolic Integration Brings Causal and Reliable Reasoning Proofs
论文阅读
川川子溢2 天前
【论文阅读】DeepSeek-LV2:用于高级多模态理解的专家混合视觉语言模型
论文阅读·人工智能·语言模型