基于口令重用、字符跳变与分隔的口令强度评估方法转让专利
申请号 : CN202010625153.0
文献号 : CN111786796B
文献日 : 2021-10-12
发明人 : 董奇颖 , 贾春福 , 汪定 , 单轩 , 洪淑弘 , 段非
申请人 : 南开大学
摘要 :
权利要求 :
1.一种基于口令重用、字符跳变与分隔的口令强度评估方法,由字典构造模块、口令预处理模块、概率计算模块与强度反馈模块组成,具体包括下列步骤:A.在字典构造模块,选取与服务类型相契合的口令集S作为训练集,通过模糊匹配算法,构造字符转换字典及口令结构字典;
B.在口令预处理模块,将用户输入的口令,还原为基础口令片段并记录转换类型和口令结构;
C.在概率计算模块,通过神经网络计算基础口令片段的构造概率,结合字典记录的口令格式概率与字符转换概率,计算用户口令的构造概率;
D.在强度反馈模块,反馈给用户其口令的绝对强度与相对强度,同时提供给用户与其输入口令相似但更安全的候选口令;
步骤A具体执行如下操作:
A1.统计每个大写字母和基础字符在S中的出现频数,计算得到小写字母转换为大写字母的概率,以及基础字符保持不变的概率;基础字符包括小写字母和数字;
A2.将S中每条口令包含的大写字母转换为对应小写字母,得到新的数据集Slower;
A3.根据字符组成,将Slower划分为两个子数据集:集合Smatch由仅含基础字符且频数≥10的字符串构成,Sspecial由包含特殊字符的字符串构成;特殊字符包括除大写字母和基础字符外的ASCII字符;
A4.设置适当的置信度CR后执行模糊匹配算法,算法步骤为:选取Sspecial中的字符串str1,在Smatch中提取长度满足len(str2)≤len(str1)条件的字符串str2,构造待匹配集合Smatch′;
利用str1匹配Smatch′中的str2,即逐字符比较str1与str2;若str1与str2中的基础字符无法一一对应,认为匹配失败,str1左移一个字符,并再次尝试匹配str2;若str1中的特殊字符与str2中的基础字符相对应,认为暂时匹配成功;
对于暂时匹配成功的str1与str2,计算匹配率MR来判断模糊匹配是否成功,进而判断对应特殊字符是否为基础字符跳变所得,若 其中count为成功匹配的字符个数,则认为str1与str2模糊匹配失败,str1中的对应特殊字符为分隔符,反之则认为str1与str2模糊匹配成功,str1中的特殊字符是由str2中对应基础字符跳变所得;
A5.将模糊匹配成功,即认为是基础字符跳变所得的特殊字符,“反跳变”为对应的基础字符,并按照正则表达式[^B?(SnB)*Sn?$]的格式来记录口令结构,其中B代表基础字符,Sn代表被认为是分隔符的长度为n的特殊字符串;
A6.记录所有出现过的大写转换、字符跳变、字符分隔的情况并将相应的概率存储于字符转换字典;记录所有出现过的口令结构,并计算相应的概率存储于口令结构字典;
步骤B具体执行如下操作:
B1.将用户口令中的大写字母转换为对应的小写字母,并记录此次转换;
B2.利用A4所述算法,将转换后的口令在A3构造的Smatch中进行模糊匹配,将模糊匹配成功的特殊字符“反跳变”为对应基础字符,记录此时的口令结构以及进行的跳变转换;
B3.以模糊匹配失败的特殊字符为分隔符,将口令切割为若干基础字符片段,记录此时作为分隔符的特殊字符;
步骤C具体执行如下操作:
C1.利用A3构造的Smatch,训练长短期记忆网络LSTM,并以B3得到的基础字符片段作为LSTM的输入,计算基础字符片段对应构造概率;
C2.在A6构造的字符转换字典中查找B1记录的大写转换概率、B2中记录的字符跳变概率和B3中记录的字符分隔概率;
C3.在A6构造的口令结构字典中查找B2记录的口令结构对应概率;
C4.将上述概率连乘,得到用户输入口令的构造概率;
步骤D具体执行如下操作:
D1.将C4计算得到的口令构造概率作为口令绝对强度,反馈给用户;
D2.计算C4得到的口令构造概率与标杆口令构造概率之间的差值,将该差值作为口令的相对强度,反馈给用户;
D3.基于A6构造的字符转换字典,随机选择一种转换情况,对用户口令进行修改,从而生成若干条更安全的候选口令,供用户选择。
说明书 :
基于口令重用、字符跳变与分隔的口令强度评估方法
技术领域
背景技术
用口令,这些脆弱口令行为给网站和用户均带来了严重的安全隐患。
户。只有对口令强度反馈准确的PSM才能显著提高用户的口令强度,进而保护用户账户的安
全。
需将口令末尾添加数字或特殊字符,或者简单地将首字母大写就可以将原本的弱口令提升
为强口令。此类PSM远远落后于当下攻击者的真实水平,并无法帮助用户提高口令强度。因
[5] [6]
此,学者们提出了依据攻击难易程度设计PSM的新思路,基于攻击算法的Markov 、PCFG 、
[9] [4] [4]
RNN 、fuzzyPSM 应运而生。可惜的是,除fuzzyPSM 外,现有的基于攻击算法的PSM均默
认用户的口令是全新构造的,这显然不符合用户真实的口令使用习惯。
发明内容
的特殊字符与str2中的基础字符相对应,认为暂时匹配成功;
的字符个数),则认为str1与str2模糊匹配失败,str1中的对应特殊字符为分隔符,反之则
认为str1与str2模糊匹配成功,str1中的特殊字符是由str2中对应基础字符跳变所得;
符,Sn代表被认为是分隔符的长度为n的特殊字符串;
造概率;
令,供用户选择。
服了以往方案中缺少重要的转换、缺少概率计算等不足。
10
好的平衡。实验结果表明,本发明在评估中等强度的口令 (猜测数≥10 )效果最好,在相同
[4]
的实验环境下,本发明计算得到的覆盖率比fuzzyPSM 对应覆盖率平均高18.9%;比3阶
[5] [9]
Markov 对应覆盖率平均高 16.9%;比RNN 对应覆盖率平均高6.1%。同时,相比于其他
PSM算法模型,本发明的鲁棒性也是最好的。
极少步骤生成了与用户口令相似但足够安全的候选口令,进而帮助用户构造更安全的口
令。综合考虑到服务类型、经济价值以及口令策略等方面的不同,本发明也给出了不同场景
下的参数设置方法。
附图说明
术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
具体实施方式
对应基础字符的过程,称为“反跳变”。
且样本口令集中抽样得到口令β的概率等于该口令β的构造概率 P(β)。对于任意一条口令α,
其猜测数CΔ为
[8]
个强度排名结果之间的Spearman相关系数即为wspearman。 Maximilian与Markus 证实,
该指标可以很好的度量PSM的鲁棒性。
下:
口令结构字典记录了各种可能的口令结构以及对应的概率。
如,字符A出现的频数记录为n(A),字符a出现的频数记录为n(a)),计算出每个小写字母转换
为大写字母的概率 以及保持不变的概率
糊匹配算法对Sspecial中的每条口令尝试匹配。我们认为用户通常会对常用口令进行转换来
获取最终口令,故提取Sbasic中频数≥10的字符串,构建用于模糊匹配的数据集Smatch。
顺序,str1去匹配Smatch′中的每一条str2。逐字符比较str1 与str2,若str1与str2中的基础
字符无法一一对应,认为匹配失败,str1左移一个字符,并再次尝试匹配str2;若str1中的
特殊字符与str2中的基础字符相对应,认为暂时匹配成功。对于暂时匹配成功的str1与
str2,计算匹配率MR 来判断模糊匹配是否成功,即判断特殊字符是否可以通过基础字符跳
变得到。若 (count为匹配成功的字符个数),则认为str1与str2模糊
匹配失败,str1中的特殊字符为分隔符,反之认为str1中的特殊字符是由 str2中对应的基
础字符跳变得到。
Sn代表被认为是分隔符的长度为n的特殊字符串。重复上述过程,直至Sspecial中的所有字符
串均完成模糊匹配。
变换p→P,并将大写字母转换为对应的小写字母,得到字符串p@ssword####12,由于该字符
串包含特殊字符,故 p@ssword####12应当位于Sspecial集合中。在进行模糊匹配时,选取
str1= p@ssword####12,其长度len(str1)=14,此时在Smatch中满足len(str2)≤ len
(str1)条件的字符串str2构成了新的集合Smatch′= {123456,password,000012}。我们首先
使用str1=p@ssword####12去匹配 str2=123456。在第一轮匹配中,str1的第一个字符为
p,而str2的第一个字符为1,二者均为基础字符但不相同,说明第一轮匹配失败,因此将 p@
ssword####12左移一位更新为@ssword####12后进行第二轮匹配;在第二轮匹配中,str1
=@ssword####12,str2=123456,str1的第一个字符为特殊字符@,str2的第一个字符为1,
暂时认为@与1匹配成功,随后比较str1 与str2的第二个字符,由于s与2无法对应,故第二
轮匹配仍然失败。重复上述步骤,最终发现p@ssword####12与123456无法匹配成功。切换
str2为 Smatch′中第二条口令password,利用str1=p@ssword####12去配str2=password。
可以发现,除却字符@外,str2中的基础字符与str1相应位置的基础字符一一对应,可以认
为str1与str2暂时匹配成功,此时匹配率MR=7/8= 0.875>CR=0.5,这意味着str1成功
匹配str2,可认为p@ssword####12 中的@是由a跳变得到的,因此,记录跳变转换a→@,并将
str1中的@“反跳变”为a,更新str1。后续使用str1=password####12去匹配str2=
password,重复匹配步骤,最终发现str1=password####12无法与str2匹配成功。最后,我
们切换str2为Smatch′中的最后一条口令000012,在匹配过程中可以发现,当str1通过不断地
左移更新为str1=####12时,str1= ####12与str2=000012暂时匹配成功,然而二者之间
的匹配率MR=2/6忿 0.333<CR=0.5,这意味匹配失败。此时,Smatch′中的所有口令均已耗
尽, p@ssword####12中的片段####仍然无法匹配到可用的跳变转换,因此,该片段中的特
殊字符即可被认为是分隔符。在口令P@ssword####12上执行上述过程中记录的各种转换(p
→P,a→@)后得到的口令为p@ssword####12,因此P@ssword####12口令结构为BS4B。
量化。图3给出了口令预处理模块的流程分解示意图。
ssword####12,并在字符转换字典中查找获取对应大写概率P(p→P)。对转换后的字符串p@
ssword####12,尝试使用模糊匹配算法将其与符合要求的Smatch′进行匹配,记录字符跳变以
及字符分隔情况,并在字符转换字典中查找得到相应概率P(a→@)与P(####)。将匹配成功的特
殊字符转换为对应的基础字符,得到字符串password####12,并在口令结构字典中查找该
口令结构对应的概率 最后,以作为分隔符的####为基准,切割口令,得到基础字符
片段password与12。图4展示了对口令P@ssword####12进行预处理的过程。
下一个字符的概率,不断进行迭代运算,最后可得到基础字符片段的构造概率。利用口令预
处理模块得到的大写字母转换概率、字符跳变概率、字符分隔概率以及口令结构对应的概
率,结合神经网络输出的基础字符片段的构造概率,用户输入口令的构造概率即可通过上
述概率相乘得到。举例说明,口令P@ssword####12的构造概率为
强度反馈与相对强度反馈两方面,来向用户更直观地展示其口令强度。绝对强度反映口令
的实际强度,相对强度为实际强度与网站标杆口令强度的差值。作为标杆口令,pw1为口令
强度的底线,概率低于pw1的口令应当拒绝其通过;pw2为基本安全和相对安全的分界线;
pw3为相对安全和足够安全的分界线;pw4为系统预置的最强口令。网站管理者可根据实际
的应用需求设置标杆口令,基本设置原则如下:
4[10]
为4个月,那么攻击者进行大规模在线猜测的猜测数上限为 10 。因此大多数服务网站采
[11] [12]
用的可疑登录检测(suspicious login detection) 和账号锁定(l0ckout policies)
是有效的,足以抵挡大部分在线猜测攻击。可以认为pw1的强度为网站允许通过的口令强度
底线,只要用户设置的口令不在黑名单之内,均可达到这个强度。
而有显著的提升 。因此强度达到pw2的口令基本可以满足大多数网站对于口令长度和字
符类型的要求,也可以抵御大部分在线猜测攻击。
击,往往能达到10 甚至10 以上 。已有文献证明,攻击者实施宽度优先的离线猜测攻击
14[13][14] 6 14 [14]
的猜测数上限为10 ,同时实验发现大部分口令的猜测数处于[10 ,10 ]区间内 ,
14 14
故本发明设置pw3的猜测数≥10 。可以认为,猜测数≥10 的口令基本可以保护用户账户
的安全。
测数,以及不同猜测数对应的覆盖率。在这个实验中,我们发现本发明、 PCFG 、Markov 、
[9] [4] 20
RNN 以及fuzzyPSM 共五种效果较好的PSM内置算法,在猜测数为≥10 时覆盖率均达到
20
最高且保持稳定。因此可以认为猜测数≥10 的口令非常安全。
择和参考。上述措施可以保证生成的候选口令足够安全(强度不低于pw3),且便于用户记
忆。图6给出了强度反馈模块的流程示意图。
RNN 、fuzzyPSM 四种效果较好的算法、JtR 与HashCat 两种常见的口令破解工具,以
[7]
及本发明。我们使用Monte Carlo 方法计算测试集中每一条口令的猜测数。实验结果证
4
明,本发明在评测中等强度以上口令(猜测数≥10)时表现一直最佳,显著优于其他算法。
PCFG 、Markov 、fuzzyPSM 、zxcvbn 五种鲁棒性较好的算法,对测试集中频数大于10
的口令进行强度评测。计算算法输出的强度排序结果与理想强度排序的强度结果之间的
wspearman系数,实验结果表明,本发明输出的口令强度评价结果鲁棒性显著优于其他算
法。
服了以往方案中缺少重要的转换、缺少概率计算等不足。
10
好的平衡。实验结果表明,本发明在评估中等强度的口令(猜测数≥10 )时效果最好。在相
[4]
同的实验环境下,本发明计算得到的覆盖率比fuzzyPSM 对应覆盖率平均高18.9%;比3阶
[5] [9]
Markov 对应覆盖率平均高 16.9%;比RNN 对应覆盖率平均高6.1%。同时,相比于其他
PSM算法模型,本发明的鲁棒性也是最好的。
极少步骤生成了与用户口令相似但足够安全的候选口令,进而帮助用户构造更安全的口
令。综合考虑到服务类型、经济价值以及口令策略等方面的不同,本发明也给出了不同场景
下的参数设置方法。
术领域,均同理包括在本发明的专利保护范围内。
Proceedings of the SIGCHI Conference on Human Factors in Computing
Systems.2013: 2379‑2388.
of the 21st USENIX Security Symposium(USENIX Security 12).2012:65‑80.
IFIP International Conference on Dependable Systems and Networks(DSN).IEEE,
2016:595‑606.
and Privacy. IEEE,2009:391‑405.
on Computer and Communications Security.2015:158‑169.
Security.2018:1567‑1582.
Symposium(USENIX Security 16).2016:175‑191.
Large Installation System Administration(LISA14).2014:35‑52.
dependable and secure computing,2011,9(1):128‑141.
Proceedings of the 17th ACM conference on Computer and communications
security.2010:162‑175.
conference on Computer&communications security.2013:173‑186.