CN110110518A - 口令强度评估方法、装置及计算机可读存储介质 - Google Patents
口令强度评估方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110110518A CN110110518A CN201910274077.0A CN201910274077A CN110110518A CN 110110518 A CN110110518 A CN 110110518A CN 201910274077 A CN201910274077 A CN 201910274077A CN 110110518 A CN110110518 A CN 110110518A
- Authority
- CN
- China
- Prior art keywords
- password
- virtual
- authentic
- probability
- leakage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012916 structural analysis Methods 0.000 claims abstract description 17
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000007476 Maximum Likelihood Methods 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 241000229175 Calotes Species 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种安全技术,揭露了一种口令强度评估方法,包括:收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率,对所述真实口令和虚拟口令进行结构分析,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型,随机生成一批口令,利用所述口令泄露概率模型,计算得到所述随机生成的一批口令的泄露概率,采用预设口令强度评估模型以及所述随机生成的一批口令的泄露概率,对用户输入的待评估口令进行口令强度值的估算。本发明还提出一种口令强度评估装置以及一种计算机可读存储介质。本发明实现了口令强度的精准评估。
Description
技术领域
本发明涉及安全技术领域,尤其涉及一种口令强度评估方法、装置及计算机可读存储介质。
背景技术
口令作为当前互联网应用最主要的安全认证方式之一,口令的强弱决定着用户账户和系统的安全。由于弱口令极易从加密文件中恢复出来,为了提示用户选择较强的口令,常用方法是引入口令强度值表(Strength Meter)。
目前,口令强度值的影响因素分为正向加分和负向加分两种,加分项有长度、数字、大小写字母、特殊符号等,每种因素赋予不同的权重,减分项有是否纯数字,是否纯字母,是否有重复符号等,且为每种因素赋予不同的权重,最后把两种因素的分数值进行简单加减运算得出口令的强度值,数值越大表示其强度越高。但是,这类评估工具的方法十分简单、参数较少,且仅通过口令字符的简单规则就得出口令强度值为“强”的口令是无法抵抗字典攻击的。
发明内容
本发明提供一种口令强度评估方法、装置及计算机可读存储介质,其主要目的在于当用户在进行口令强度评估时,给用户呈现出精准的评估结果。
为实现上述目的,本发明提供的口令强度评估方法,包括:
收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率,其中,所述真实口令包括字母、数字和/或者符号,以及所述虚拟口令包括纯字母、纯字母或者纯符号;
对所述真实口令和虚拟口令进行结构分析,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型;
随机生成一批口令,利用所述口令泄露概率模型,计算得到所述随机生成的一批口令的泄露概率;
采用预设口令强度评估模型,以及所述随机生成的一批口令的泄露概率,对用户输入的待评估口令进行口令强度值的估算。
可选地,所述预设概率模型为马尔可夫模型,以及所述收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率,包括:
利用所述真实口令和虚拟口令构建n-gram数据库;
从所述n-gram数据库中选择其中一个口令S,该口令S由字符序列{W1,W2…Wm}组成;
根据马尔可夫模型,利用所述口令S中前n-1个字符,估算该口令中第n个字符的概率为:
P(Wn|W1,…Wn-1)=P(Wn|Wn-i+1,…Wn-1);
得到所述口令S按照上述字符序列排列的概率为:
P(S)=P(W1W2…Wm)=P(W1)P(W2|W1)…P(Wm|Wm-i+1,…Wm-1),
其中,所述P(Wm|Wm-i+1,…Wm-1)指的是在字符串Wm-i+1,…Wm-1出现的情况下Wm出现的概率;
通过在大规模口令数量的基础上,采用极大似然估计求得所述口令S的泄露概率,所述口令S泄露概率表示为:
可选地,对所述真实口令和虚拟口令进行结构分析,包括:
通过统计所述真实口令和虚拟口令中包含的字母、数字和/或者符号的数量得到所述真实口令和虚拟口令的结构LmDnSi,其中,L表示字母,D表示数字,S表示符号,m、n、及i为自然数,分别表示所述真实口令和虚拟口令中字母、数字及符号的数量。
可选地,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型,包括:
根据上述每一个真实口令的结构,和对应的泄露概率,生成基础概率表;根据上述每一个虚拟口令的结构和对应的泄露概率,生成分段概率表;
利用下述公式形成所述口令泄露概率模型:
P(S)=P(S′)*P(Lm)*P(Dn)*P(Si),
其中,所述P(S′)的值取自所述基础概率表,以及所述P(Lm)、P(Dn)及P(SI)的值取至所述分段概率表。
可选地,所述口令强度评估模型公式为:
其中,α是待评估口令,Θ是所述随机生成的一批口令,n是随机生成的这批口令的数量,p(.)是口令的估算概率,CΔ是对待评估口令估算的猜测次数,即该口令强度值。
此外,为实现上述目的,本发明还提供一种口令强度评估装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的口令强度评估程序,所述口令强度评估程序被所述处理器执行时实现如下步骤:
收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率,其中,所述真实口令包括字母、数字和/或者符号,以及所述虚拟口令包括纯字母、纯字母或者纯符号;
对所述真实口令和虚拟口令进行结构分析,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型;
随机生成一批口令,利用所述口令泄露概率模型,计算得到所述随机生成的一批口令的泄露概率;
采用预设口令强度评估模型,以及所述随机生成的一批口令的泄露概率,对用户输入的待评估口令进行口令强度值的估算。
可选地,所述预设概率模型为马尔可夫模型,以及所述收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率,包括:
利用所述真实口令和虚拟口令构建n-gram数据库;
从所述n-gram数据库中选择其中一个口令S,该口令S由字符序列{W1,W2…Wm}组成;
根据马尔可夫模型,利用所述口令S中前n-1个字符,估算该口令中第n个字符的概率为:
P(Wn|W1,…Wn-1)=P(Wn|Wn-i+1,…Wn-1);
得到所述口令S按照上述字符序列排列的概率为:
P(S)=P(W1W2…Wm)=P(W1)P(W2|W1)…P(Wm|Wm-i+1,…Wm-1),
其中,所述P(Wm|Wm-i+1,…Wm-1)指的是在字符串Wm-i+1,…Wm-1出现的情况下Wm出现的概率;
通过在大规模口令数量的基础上,采用极大似然估计求得所述口令S的泄露概率,所述口令S泄露概率表示为:
可选地,对所述真实口令和虚拟口令进行结构分析,包括:
通过统计所述真实口令和虚拟口令中包含的字母、数字和/或者符号的数量得到所述真实口令和虚拟口令的结构LmDnSi,其中,L表示字母,D表示数字,S表示符号,m、n、及i为自然数,分别表示所述真实口令和虚拟口令中字母、数字及符号的数量。
可选地,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型,包括:
根据上述每一个真实口令的结构,和对应的泄露概率,生成基础概率表;
根据上述每一个虚拟口令的结构和对应的泄露概率,生成分段概率表;
利用下述公式形成所述口令泄露概率模型:
P(S)=P(S′)*P(Lm)*P(Dn)*P(Si),
其中,所述P(S′)的值取自所述基础概率表,以及所述P(Lm)、P(Dn)及P(Si)的值取至所述分段概率表。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有口令强度评估程序,所述口令强度评估程序可被一个或者多个处理器执行,以实现如上所述的口令强度评估方法的步骤。
本发明提出的口令强度评估方法、装置及计算机可读存储介质,在用户对一个口令进行强度评估时时,根据所述口令泄露概率模型计算出用户待评估口令的泄露概率,利用口令强度模型对用户待评估口令进行强度评估,从而可以给用户呈现出精准的评估结果。
附图说明
图1为本发明一实施例提供的口令强度评估方法的流程示意图;
图2为本发明一实施例提供的口令强度评估装置的内部结构示意图;
图3为本发明一实施例提供的口令强度评估装置中口令强度评估程序的模块示意图。
图4为本发明一实施例提供的口令强度评估方法中口令泄露概率模型生成过程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种口令强度评估方法。参照图1所示,为本发明一实施例提供的口令强度评估方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,口令强度评估方法包括:
S1、收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率。
本发明较佳实施例中,所述口令也称明文密码是指没有加密的文字或者字符串,一般人都能看懂的意思,属于密码学术语,一般可以简单地认为口令明文是有意义的字符或比特集,或通过某种公开的编码标准就能获得的消息。所述口令通常包含不同长度的阿拉伯数字、大小写字母、特殊符号集等。
本发明较佳实施例中,所述真实口令包括字母、数字和/或者符号,以及所述虚拟口令包括纯字母、纯字母或者纯符号。
本发明较佳实施例中,所述预设概率模型为马尔可夫模型。所述马尔可夫模型认为,口令中的字符与字符之间存在联系,通常知道了一条口令中的前几位字符,就可以预测该条口令中的下一位字符。因此,本发明可以利用n-gram的马尔可夫模型通过n-1长度的前缀字符串来估算口令中第n个字符的概率。
本发明较佳实施例利用所述收集网络泄露的真实口令和预设类型的虚拟口令构建n-gram数据库。
进一步地,本发明从所述n-gram数据库中选择其中一个口令S,假设该口令S由字符序列{W1,W2…Wm}组成,则在该口令S中,前n-1个字符出现的情况下,第n个字符出现的概率可以表示为:
P(Wn|W1,…Wn-1)=P(Wn|Wn-i+1,…Wn-1)。
因此,所述口令S按照上述字符序列排列的概率为:
P(S)=P(W1W2…Wm)=P(W1)P(W2|W1)…P(Wm|Wm-i+1,…Wm-1),
其中,所述P(Wm|Wm-i+1,…Wm-1)指的是在字符串Wm-i+1,…Wm-1出现的情况下Wm出现的概率。
通过在大规模口令数量的基础上,采用极大似然估计求得所述口令S的泄露概率,所述口令S泄露概率可以表示为:
因此,按照上述方法,可以计算出每一个真实口令以及虚拟口令的泄露概率。
S2、对所述真实口令和虚拟口令进行结构分析,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型。
本发明较佳实施例对所述网络泄露的真实口令进行结构分析,通过统计所述真实口令和虚拟口令中包含的字母、数字和/或者符号的数量得到所述真实口令和虚拟口令的结构LmDnSi,其中,L表示字母,D表示数字,S表示符号,m、n、及i为自然数,分别表示所述真实口令和虚拟口令中字母、数字及符号的数量。,例如,口令Abc1234^、qwe456&等就可以表示为L3D4S1(即3个字母、4个数字以及1个符号)的口令结构。
本发明较佳实施例根据上述计算出来的每一个真实口令的泄露概率,将所有具有相同口令结构的所述真实口令的概率取平均值操作,得到该种口令结构对应的概率。例如,根据平均值操作,可以得到L3D4S1这种口令结构的泄露概率为0.3,D6这种口令结构的泄露概率为0.7。
本发明较佳实施例中,所述平均值操作可以采取加权平均值算法。
进一步地,如上所述,本发明所述虚拟口令只包含字母、阿拉伯数字或者特殊符号,因此,利用上述的马尔可夫模型可以得到每一个虚拟口令的口令结构对应的概率。例如,6个纯数字组成虚拟口令中,口令123456的泄露概率为0.8,口令111111的泄露概率为0.2。
进一步地,本发明较佳实施例根据所述真实口令得到的口令结构对应的概率以及每一个虚拟口令得的口令结构对应的泄露概率,形成口令泄露概率模型。详细地,本发明根据上述每一个真实口令的结构,和对应的泄露概率,生成基础概率表,根据上述每一个虚拟口令的结构和对应的泄露概率,生成分段概率表ST,并利用下述公式形成所述口令泄露概率模型:
P(S)=P(S′)*P(Lm)*P(Dn)*P(Si),
其中,所述P(S′)的值取自所述基础概率表BT,以及所述P(Lm)、P(Dn)及P(Si)的值取至所述分段概率表ST。
如图4所示,对于口令abc1234^,利用本发明所述的口令概率模型公式可以得到其泄露概率为:
P(abc1234^)
=P(S→L3D4S1)*P(L3→abc)*P(D4→1234)*P(S1→^)
=0.3*0.7*0.6*0.1=0.0126。
S3、随机生成一批口令,利用所述口令泄露概率模型,计算得到所述随机生成一批口令的泄露概率。
本发明较佳实施例随机生成一批口令Password,并假设每一个随机生成的口令有N个字符组成,其中Si代表第i个字符,Qi代表所述字符出现概率。随机抽取包含N个字符S1,S2,…,SN的口令。其构成一个完整的口令S如下:
S=(S1,S2,…,SI,…,SN)
进一步地,本发明较佳实施例分析所述随机生成的口令的结构,并通过上述口令泄露概率模型,计算所述随机生成的一批口令中每一个口令的泄露概率。
S4、采用预设口令强度评估模型对用户输入待评估口令进行口令强度值的估算。
本发明较佳实施例中,所述预设口令强度评估模型可以为蒙特卡洛法。所述蒙特卡洛法又称为随机抽样法,是以统计理论和概率为基础的一种计算方法。所述蒙特卡洛法的主要思想是利用计算机上的随机数来表示系统元件的概率参数,同时在计算蒙特卡洛模拟机上模拟系统的实际运行情况,进行一段时间的观察,给出所求解的近似值即用估计值的标准差来表示。由于蒙特卡洛法的采样次数与系统的规模无关,所以不存在系统状态数与系统元件数的快速增长关系。
进一步地,本发明较佳实施例中,所述预设口令强度评估模型的公式如下所示:
其中α是待评估口令,Θ是随机生成的一批口令,n是随机生成的这批口令的数量,p(.)是口令的估算概率,CΔ是估算的猜测次数,即可看作该口令强度值。
本发明较佳实施例将上述随机口令泄露概率集合和所述用户待评估口令泄露概率输入到所述口令强度评估模型当中,计算得到所述用户待评估口令的口令猜测次数,猜测次数越多,口令强度越强,猜测次数越少,口令强度越弱。
发明还提供一种口令强度评估装置。参照图2所示,为本发明一实施例提供的口令强度评估装置的内部结构示意图。
在本实施例中,所述口令强度评估装置1可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。该口令强度评估装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是口令强度评估装置1的内部存储单元,例如该口令强度评估装置1的硬盘。存储器11在另一些实施例中也可以是口令强度评估装置1的外部存储设备,例如口令强度评估装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括口令强度评估装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于口令强度评估装置1的应用软件及各类数据,例如口令强度评估程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行口令强度评估程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在口令强度评估装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及口令强度评估程序01的口令强度评估装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对口令强度评估装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有口令强度评估程序01;处理器12执行存储器11中存储的口令强度评估程序01时实现如下步骤:
步骤一、收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率。
本发明较佳实施例中,所述口令也称明文密码是指没有加密的文字或者字符串,一般人都能看懂的意思,属于密码学术语,一般可以简单地认为口令明文是有意义的字符或比特集,或通过某种公开的编码标准就能获得的消息。所述口令通常包含不同长度的阿拉伯数字、大小写字母、特殊符号集等。
本发明较佳实施例中,所述真实口令包括字母、数字和/或者符号,以及所述虚拟口令包括纯字母、纯字母或者纯符号。
本发明较佳实施例中,所述预设概率模型为马尔可夫模型。所述马尔可夫模型认为,口令中的字符与字符之间存在联系,通常知道了一条口令中的前几位字符,就可以预测该条口令中的下一位字符。因此,本发明可以利用n-gram的马尔可夫模型通过n-1长度的前缀字符串来估算口令中第n个字符的概率。
本发明较佳实施例利用所述收集网络泄露的真实口令和预设类型的虚拟口令构建n-gram数据库。
进一步地,本发明从所述n-gram数据库中选择其中一个口令S,假设该口令S由字符序列{W1,W2…Wm}组成,则在该口令S中,前n-1个字符出现的情况下,第n个字符出现的概率可以表示为:
P(Wn|W1,…Wn-1)=P(Wn|Wn-i+1,…Wn-1)。
因此,所述口令S按照上述字符序列排列的概率为:
P(S)=P(W1W2…Wm)=P(W1)P(W2|W1)…P(Wm|Wm-i+1,…Wm-1),
其中所述P(Wm|Wm-i+1,…Wm-1)指的是在字符串Wm-i+1,…Wm-1出现的情况下Wm出现的概率。
通过在大规模口令数量的基础上,采用极大似然估计求得所述口令S的泄露概率,所述口令S泄露概率可以表示为:
因此,按照上述方法,可以计算出每一个真实口令以及虚拟口令的泄露概率。
步骤二、对所述真实口令和虚拟口令进行结构分析,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型。
本发明较佳实施例对所述网络泄露的真实口令进行结构分析,通过统计所述真实口令和虚拟口令中包含的字母、数字和/或者符号的数量得到所述真实口令和虚拟口令的结构LmDnSi,其中,L表示字母,D表示数字,S表示符号,m、n、及i为自然数,分别表示所述真实口令和虚拟口令中字母、数字及符号的数量。,例如,口令Abc1234^、qwe456&等就可以表示为L3D4S1(即3个字母、4个数字以及1个符号)的口令结构。
本发明较佳实施例根据上述计算出来的每一个真实口令的泄露概率,将所有具有相同口令结构的所述真实口令的概率取平均值操作,得到该种口令结构对应的概率。例如,根据平均值操作,可以得到L3D4S1这种口令结构的泄露概率为0.3,D6这种口令结构的泄露概率为0.7。
本发明较佳实施例中,所述平均值操作可以采取加权平均值算法。
进一步地,如上所述,本发明所述虚拟口令只包含字母、阿拉伯数字或者特殊符号,因此,利用上述的马尔可夫模型可以得到每一个虚拟口令的口令结构对应的概率。例如,6个纯数字组成虚拟口令中,口令123456的泄露概率为0.8,口令111111的泄露概率为0.2。
进一步地,本发明较佳实施例根据所述真实口令得到的口令结构对应的概率以及每一个虚拟口令得的口令结构对应的泄露概率,形成口令泄露概率模型。详细地,本发明根据上述每一个真实口令的结构,和对应的泄露概率,生成基础概率表,根据上述每一个虚拟口令的结构和对应的泄露概率,生成分段概率表ST,并利用下述公式形成所述口令泄露概率模型:
P(S)=P(S′)*P(Lm)*P(Dn)*P(Si),
其中,所述P(S′)的值取自所述基础概率表BT,以及所述P(Lm)、P(Dn)及P(Si)的值取至所述分段概率表ST。
如图4所示,对于口令abc1234^,利用本发明所述的口令概率模型公式可以得到其泄露概率为:
P(abc1234^)
=P(S→L3D4S1)*P(L3→abc)*P(D4→1234)*P(S1→^)
=0.3*0.7*0.6*0.1=0.0126。
步骤三、随机生成一批口令,利用所述口令泄露概率模型,计算得到所述随机生成一批口令的泄露概率。
本发明较佳实施例随机生成一批口令Password,并假设每一个随机生成的口令有N个字符组成,其中Si代表第i个字符,Qi代表所述字符出现概率。随机抽取包含N个字符S1,S2,…,SN的口令。其构成一个完整的口令S如下:
S=(S1,S2,…,SI,…,SN)
进一步地,本发明较佳实施例分析所述随机生成的口令的结构,并通过上述口令泄露概率模型,计算所述随机生成的一批口令中每一个口令的泄露概率。
步骤四、采用预设口令强度评估模型对用户输入待评估口令进行口令强度值的估算。
本发明较佳实施例中,所述预设口令强度评估模型可以为蒙特卡洛法。所述蒙特卡洛法又称为随机抽样法,是以统计理论和概率为基础的一种计算方法。所述蒙特卡洛法的主要思想是利用计算机上的随机数来表示系统元件的概率参数,同时在计算蒙特卡洛模拟机上模拟系统的实际运行情况,进行一段时间的观察,给出所求解的近似值即用估计值的标准差来表示。由于蒙特卡洛法的采样次数与系统的规模无关,所以不存在系统状态数与系统元件数的快速增长关系。
进一步地,本发明较佳实施例中,所述预设口令强度评估模型的公式如下所示:
其中α是待评估口令,Θ是随机生成的一批口令,n是随机生成的这批口令的数量,p(.)是口令的估算概率,CΔ是估算的猜测次数,即可看作该口令强度值。
本发明较佳实施例将上述随机口令泄露概率集合和所述用户待评估口令泄露概率输入到所述口令强度评估模型当中,计算得到所述用户待评估口令的口令猜测次数,猜测次数越多,口令强度越强,猜测次数越少,口令强度越弱。
可选地,在其他实施例中,口令强度评估程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述口令强度评估程序在口令强度评估装置中的执行过程。
例如,参照图3所示,为本发明口令强度评估装置一实施例中的口令强度评估程序的程序模块示意图,该实施例中,所述口令强度评估程序可以被分割为口令获取模块10、结构分析模块20、口令预设模块30以及强度评估模块40,示例性地:
所述口令获取模块10用于收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率,其中,所述真实口令包括字母、数字和/或者符号,以及所述虚拟口令包括纯字母、纯字母或者纯符号。
所述结构分析模块20用于:对所述真实口令和虚拟口令进行结构分析,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型。
所述口令预设模块30用于:随机生成一批口令,利用所述口令泄露概率模型,计算得到所述随机生成的一批口令的泄露概率。
所述强度评估40用于:采用预设口令强度评估模型,以及所述随机生成的一批口令的泄露概率,对用户输入的待评估口令进行口令强度值的估算。
上述口令获取模块10、结构分析模块20、口令预设模块30以及搜索强度评估模块40等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有口令强度评估程序,所述口令强度评估程序可被一个或多个处理器执行,以实现如下操作:
收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率,其中,所述真实口令包括字母、数字和/或者符号,以及所述虚拟口令包括纯字母、纯字母或者纯符号;
对所述真实口令和虚拟口令进行结构分析,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型;
随机生成一批口令,利用所述口令泄露概率模型,计算得到所述随机生成的一批口令的泄露概率;
采用预设口令强度评估模型,以及所述随机生成的一批口令的泄露概率,对用户输入的待评估口令进行口令强度值的估算。
本发明计算机可读存储介质具体实施方式与上述口令强度评估装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种口令强度评估方法,其特征在于,所述方法包括:
收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率,其中,所述真实口令包括字母、数字和/或者符号,以及所述虚拟口令包括纯字母、纯字母或者纯符号;
对所述真实口令和虚拟口令进行结构分析,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型;
随机生成一批口令,利用所述口令泄露概率模型,计算得到所述随机生成的一批口令的泄露概率;
采用预设口令强度评估模型,以及所述随机生成的一批口令的泄露概率,对用户输入的待评估口令进行口令强度值的估算。
2.如权利要求1所述的口令强度评估方法,其特征在于,所述预设概率模型为马尔可夫模型,以及所述收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率,包括:
利用所述真实口令和虚拟口令构建n-gram数据库;
从所述n-gram数据库中选择其中一个口令S,该口令S由字符序列{W1,W2...Wm}组成,n大于2,m大于2的正整数;
根据马尔可夫模型,利用所述口令S中前n-1个字符,估算该口令中第n个字符的概率:
P(Wn|W1,...Wn-1)=P(Wn|Wn-i+1,...Wn-1),i为小于n、m的正整数;
得到所述口令S按照上述字符序列排列的概率:
P(S)=P(W1W2...Wm)=P(W1)P(W2|W1)...P(Wm|Wm-i+1,...Wm-1),
其中所述P(Wm|Wm-i+1,...Wm-1)指的是在字符串Wm-i+1,...Wm-1出现的情况下Wm出现的概率;
通过在大规模口令数量的基础上,采用极大似然估计求得所述口令S的泄露概率,所述口令S泄露概率表示为:
3.如权利要求1或2所述的口令强度评估方法,其特征在于,对所述真实口令和虚拟口令进行结构分析,包括:
通过统计所述真实口令和虚拟口令中包含的字母、数字和/或者符号的数量得到所述真实口令和虚拟口令的结构LmDnSi,其中,L表示字母,D表示数字,S表示符号,m、n、及i为自然数,分别表示所述真实口令和虚拟口令中字母、数字及符号的数量。
4.如权利要求3所述的口令强度评估方法,其特征在于,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型,包括:
根据上述每一个真实口令的结构,和对应的泄露概率,生成基础概率表;
根据上述每一个虚拟口令的结构和对应的泄露概率,生成分段概率表;
利用下述公式形成所述口令泄露概率模型:
P(S)=P(S′)*P(Lm)*P(Dn)*P(Si),
其中,所述P(S′)的值取自所述基础概率表,以及所述P(Lm)、P(Dn)及P(Si)的值取至所述分段概率表。
5.如权利要求4所述的口令强度评估方法,其特征在于,所述口令强度评估模型公式为:
其中,α是待评估口令,Θ是所述随机生成的一批口令,n是随机生成的这批口令的数量,p(.)是口令的估算概率,CΔ是对待评估口令估算的猜测次数,即该口令强度值。
6.一种口令强度评估装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的口令强度评估程序,所述口令强度评估程序被所述处理器执行时实现如下步骤:
收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率,其中,所述真实口令包括字母、数字和/或者符号,以及所述虚拟口令包括纯字母、纯字母或者纯符号;
对所述真实口令和虚拟口令进行结构分析,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型;
随机生成一批口令,利用所述口令泄露概率模型,计算得到所述随机生成的一批口令的泄露概率;
采用预设口令强度评估模型,以及所述随机生成的一批口令的泄露概率,对用户输入的待评估口令进行口令强度值的估算。
7.如权利要求6所述的口令强度评估装置,其特征在于,所述预设概率模型为马尔可夫模型,以及所述收集网络泄露的真实口令以及预设类型的虚拟口令,通过预设概率模型估算所述真实口令以及虚拟口令的泄露概率,包括:
利用所述真实口令和虚拟口令构建n-gram数据库;
从所述n-gram数据库中选择其中一个口令S,该口令S由字符序列{W1,W2...Wm}组成,n大于2,m大于2的正整数;
根据马尔可夫模型,利用所述口令S中前n-1个字符,估算该口令中第n个字符的概率、为:
P(Wn|W1,...Wn-1)=P(Wn|Wn-i+1,...Wn-1);
得到所述口令S按照上述字符序列排列的概率:
P(S)=P(W1W2...Wm)=P(W1)P(W2|W1)...P(Wm|Wm-i+1,...Wm-1),i为小于n、m的正整数;
其中所述P(Wm|Wm-i+1,...Wm-1)指的是在字符串Wm-i+1,...Wm-1出现的情况下Wm出现的概率;
通过在大规模口令数量的基础上,采用极大似然估计求得所述口令S的泄露概率,所述口令S泄露概率表示为:
8.如权利要求6或7所述的口令强度评估装置,其特征在于,对所述真实口令和虚拟口令进行结构分析,包括:
通过统计所述真实口令和虚拟口令中包含的字母、数字和/或者符号的数量得到所述真实口令和虚拟口令的结构LmDnSi,其中,L表示字母,D表示数字,S表示符号,m、n、及i为自然数,分别表示所述真实口令和虚拟口令中字母、数字及符号的数量。
9.如权利要求8所述的口令强度评估装置,其特征在于,根据所述真实口令以及虚拟口令的结构以及泄露概率,形成口令泄露概率模型,包括:
根据上述每一个真实口令的结构,和对应的泄露概率,生成基础概率表;
根据上述每一个虚拟口令的结构和对应的泄露概率,生成分段概率表;
利用下述公式形成所述口令泄露概率模型:
P(S)=P(S′)*P(Lm)*P(Dn)*P(Si),
其中,所述P(S′)的值取自所述基础概率表,以及所述P(Lm)、P(Dn)及P(Si)的值取至所述分段概率表。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有口令强度评估程序,所述口令强度评估程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的口令强度评估方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910274077.0A CN110110518B (zh) | 2019-04-08 | 2019-04-08 | 口令强度评估方法、装置及计算机可读存储介质 |
PCT/CN2019/102812 WO2020206909A1 (zh) | 2019-04-08 | 2019-08-27 | 口令强度计算方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910274077.0A CN110110518B (zh) | 2019-04-08 | 2019-04-08 | 口令强度评估方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110110518A true CN110110518A (zh) | 2019-08-09 |
CN110110518B CN110110518B (zh) | 2024-01-19 |
Family
ID=67485258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910274077.0A Active CN110110518B (zh) | 2019-04-08 | 2019-04-08 | 口令强度评估方法、装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110110518B (zh) |
WO (1) | WO2020206909A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353147A (zh) * | 2020-03-11 | 2020-06-30 | 鹏城实验室 | 口令强度评估方法、装置、设备及可读存储介质 |
WO2020206909A1 (zh) * | 2019-04-08 | 2020-10-15 | 平安科技(深圳)有限公司 | 口令强度计算方法、装置及计算机可读存储介质 |
CN112257433A (zh) * | 2020-12-23 | 2021-01-22 | 四川大学 | 基于马尔可夫链和神经网络的口令字典生成方法和系统 |
CN113032765A (zh) * | 2021-04-29 | 2021-06-25 | 中国工商银行股份有限公司 | 一种口令认证方法、装置和设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114611091A (zh) * | 2022-01-13 | 2022-06-10 | 中国科学院信息工程研究所 | 基于图结构生成的口令安全评估方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122479A (zh) * | 2017-05-03 | 2017-09-01 | 西安交通大学 | 一种基于深度学习的用户密码猜测系统 |
CN107947921A (zh) * | 2017-11-22 | 2018-04-20 | 上海交通大学 | 基于递归神经网络和概率上下文无关文法的密码生成系统 |
CN109145582A (zh) * | 2018-06-05 | 2019-01-04 | 中国科学院信息工程研究所 | 一种基于字节对编码的密码猜测集生成方法、密码破解方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014068140A (ja) * | 2012-09-25 | 2014-04-17 | Sony Corp | 情報処理装置、情報処理方法及びプログラム |
CN106934275B (zh) * | 2017-01-22 | 2020-10-16 | 华东师范大学 | 一种基于个人信息的口令强度评测方法 |
CN108509790A (zh) * | 2018-03-14 | 2018-09-07 | 华东师范大学 | 一种基于群体的口令强度评估方法 |
CN110110518B (zh) * | 2019-04-08 | 2024-01-19 | 平安科技(深圳)有限公司 | 口令强度评估方法、装置及计算机可读存储介质 |
-
2019
- 2019-04-08 CN CN201910274077.0A patent/CN110110518B/zh active Active
- 2019-08-27 WO PCT/CN2019/102812 patent/WO2020206909A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122479A (zh) * | 2017-05-03 | 2017-09-01 | 西安交通大学 | 一种基于深度学习的用户密码猜测系统 |
CN107947921A (zh) * | 2017-11-22 | 2018-04-20 | 上海交通大学 | 基于递归神经网络和概率上下文无关文法的密码生成系统 |
CN109145582A (zh) * | 2018-06-05 | 2019-01-04 | 中国科学院信息工程研究所 | 一种基于字节对编码的密码猜测集生成方法、密码破解方法及装置 |
Non-Patent Citations (1)
Title |
---|
陈颖;狄宏;柳亚男;: "基于概率上下文无关文法的口令强度评估方法", 物联网技术, no. 04, pages 59 - 61 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020206909A1 (zh) * | 2019-04-08 | 2020-10-15 | 平安科技(深圳)有限公司 | 口令强度计算方法、装置及计算机可读存储介质 |
CN111353147A (zh) * | 2020-03-11 | 2020-06-30 | 鹏城实验室 | 口令强度评估方法、装置、设备及可读存储介质 |
CN112257433A (zh) * | 2020-12-23 | 2021-01-22 | 四川大学 | 基于马尔可夫链和神经网络的口令字典生成方法和系统 |
CN112257433B (zh) * | 2020-12-23 | 2021-05-14 | 四川大学 | 基于马尔可夫链和神经网络的口令字典生成方法和系统 |
CN113032765A (zh) * | 2021-04-29 | 2021-06-25 | 中国工商银行股份有限公司 | 一种口令认证方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2020206909A1 (zh) | 2020-10-15 |
CN110110518B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110110518A (zh) | 口令强度评估方法、装置及计算机可读存储介质 | |
CN110909548B (zh) | 中文命名实体识别方法、装置及计算机可读存储介质 | |
Shay et al. | Designing password policies for strength and usability | |
CN108595519A (zh) | 热点事件分类方法、装置及存储介质 | |
CN102006163B (zh) | 用户验证方法、装置及服务器 | |
US8973116B2 (en) | Pattern entropy password strength estimator | |
WO2017106669A1 (en) | Systems and methods evaluating password complexity and strength | |
TR201902908T4 (tr) | Yığın normalleştirme katmanları. | |
US9813409B2 (en) | Method of dynamically adapting a graphical password sequence by executing computer-executable instructions stored on a non-transitory computer-readable medium | |
US10169565B2 (en) | Method of dynamically adapting a secure graphical password sequence | |
CN113821622B (zh) | 基于人工智能的答案检索方法、装置、电子设备及介质 | |
CN113706322B (zh) | 基于数据分析的服务分发方法、装置、设备及存储介质 | |
US9542458B2 (en) | Systems and methods for processing and displaying user-generated content | |
CN103996011A (zh) | 一种保护密码输入安全的方法和装置 | |
CN103177204A (zh) | 密码信息提示方法及装置 | |
CN105897417A (zh) | 加密数据输入方法及装置 | |
CN110990811A (zh) | 一种身份认证方法及装置 | |
WO2019095568A1 (zh) | 企业简称生成方法、装置及存储介质 | |
CN103632070B (zh) | 用于支付系统的手写任意图形密码方法 | |
CN110472385A (zh) | 一种口令破解方法及装置 | |
CN107231330B (zh) | 一种密码确定、登录验证方法和设备 | |
CN116993861A (zh) | 图案生成方法、装置和电子设备 | |
CN113901821A (zh) | 一种实体命名识别方法、装置、设备及存储介质 | |
CN104715189B (zh) | 一种填表组件密码安全性提示的方法和装置 | |
CN103886244A (zh) | 一种用于智能终端开机系统的手写任意图形密码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |