一种基于用户信息检测的口令安全性评估方法及系统与流程

文档序号:14078443阅读:291来源:国知局
一种基于用户信息检测的口令安全性评估方法及系统与流程

本发明属于互联网技术领域,具体而言,涉及一种口令安全性评估方法和一种口令安全性评估系统。



背景技术:

在网络发展越来越发达的今天,用户的个人信息可以轻易的被第三方获取到,不再是隐私信息,这将严重威胁用户的账号安全。口令是进入用户帐号的“钥匙”,如果他人拿到了“钥匙”,用户帐号的安全则荡然无存,账号中的可能涉及的钱财、数据和隐私则完全暴露给他人。一些用户为了让口令更方便记忆,使用自己的生日、手机号、邮箱账号、名字拼音等个人相关信息设置口令,极容易被攻击者使用用户信息组成的字典表破解。

现有常见的评估用户口令强度的方法主要包括:通过常用弱口令字典,判断是否使用简单口令;或者判断用户是否使用了数字、字母、标点符号的组合口令。或者根据用户的相关的数字信息,例如qq号、手机号,判断是否使用个人信息做口令。

现有的弱口令检测技术只能基于弱口令字典,口令的组成方式和部分用户的纯数字信息进行检测。有些用户为了方便记忆在口令中使用多种个人信息来组合成口令,例如名字拼音组合、身份证的末尾数字、微信号、部分qq号、出生日期数字组合等多种信息组合而成的口令。这种由多种个人信息组合而成的口令,无法防止攻击者利用用户个人信息的字典进行爆破攻击,然而现有的弱口令检测技术不能认定该种口令为弱口令。



技术实现要素:

针对上述问题,本发明提出了一种基于用户信息的口令安全性评估方法和系统,以解决现有技术无法检测出用户利用自己身份信息,并通过对信息的裁剪和转换构造弱口令的问题。

为此目的,本发明提出了一种口令强度的检测方法,具体技术方案是:

一种口令安全性的评估方法,包括以下步骤:

1)获取等待测试的口令;

2)获取使用该待测试口令的用户信息集合,所述用户信息集合中包含所述用户的身份信息,包括身份证号码、qq号、微信号、邮箱账号、姓名、性别、出生日期、英文名等相关信息。

3)将获取的身份信息的文字信息转换为字母和数字,并根据身份信息中的数字和转换后的字母生成身份信息字典表,之后将身份信息字典表和从网络上收集的弱口令字典表合并成用于测试的测试字典集。

4)检测该待测试口令中是否包含有与所述测试字典集中的字符串匹配的字符串,如有匹配的字符串,则使用标记字符串标记该待测试口令中的匹配字符串。

5)根据标记结果确定待测口令中的身份信息和弱口令在待测口令中所占的比重来评估该待测口令的强度和安全性,根据公式计算出口令的安全度。

一种口令安全性的评估系统,包括:

待测口令获取模块,用以在系统中获取待测用户所要检测的口令。

获取用户身份信息模块,用于获取包括身份证号码、qq号、微信id、邮箱账号、姓名、性别、出生日期、英文名、账号名等相关信息。

用户信息处理模块,用于将获取的身份信息的文字信息转换为字母,并根据用户身份信息中的数字和转换后的字母生成身份信息字典表,最后与弱口令字典集合并形成最后的测试字典集。

口令检测模块,用于检测待测口令是否包含测试字典集的字符串,同时使用标记字符串定位出字符串在口令中的位置和长度。

口令强度评估模块,用于根据身份信息和弱口令在待测口令中所占的比重来判定该待测口令的强度和安全性。

与现有技术相比,本发明的积极效果为:

由于本发明增加了用户信息作为弱口令检测的主要特征,弥补了现有检测方式缺乏对用户基于个人信息而构造的口令的检测和评估功能。现如今,使用社会工程学对用户的定点攻击日益成为一种普遍的攻击手段,以用户信息构造的弱口令极易被黑客破解。本发明可以通过网站收集和用户个人提供的个人信息对口令评估,通过公式计算得到口令的强度,低强度和中强度的口令系统会提示用户修改口令。进而提高了用户密码的安全性,大大减少了黑客使用社会工程学对用户信息的窃取的可能性。

附图说明

图1是实施例中系统建立和部署总括示意图。

图2是实施例中系统获取待测用户的身份信息流程示意图。

图3是实施例中系统转换用户身份信息示意图。

图4是实施例中系统检测口令流程示意图。

具体实施方式

为了使本技术领域的人员更好的理解本发明实施例中的技术方案,并使得本发明的目的、特征和优点能够更加明显易懂,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。

本发明的主要目的为根据用户的身份信息,通过将身份信息转换,分解组合,模拟所有可能会使用的口令组合方式,判断用户所设置的口令是否包含用户的身份信息,同时结合现有的弱口令字典集,检测身份信息和弱口令在这个口令中的占比,从而确定待测口令是否为弱口令,以及该口令的安全强度大小。

在本发明中,设计了一种准确而方便的口令安全性评估系统,能够准确的评估用户设置口令的安全强度,所述系统包括如下:

本发明系统分为5个模块,分别是待测口令获取模块,获取用户身份信息模块,用户信息处理模块,口令检测模块,口令强度评估模块。

如图1所示,系统建立和部署总括示意图,包括:

在步骤100处,接收待测口令,接收的待测口令可以是用户在网页,app应用,桌面客户端等应用上使用的登录口令,支付口令或者在应用中进行相关隐私操作(隐私操作包含且不限于查看,修改隐私数据)验证口令等。待测口令不仅限于上述的口令,可以是任何需要测试的口令。

在步骤200处,获取用户的身份信息集合。为了更清楚地解释该步骤,参考图2来描述该步骤的一种可选的具体实施。

如图2所示,根据本发明设计的一个实施例的获取所述待测口令的用户的身份信息集合步骤的流程图。

在步骤201处,系统提供用户身份信息的个人信息输入入口,待测口令的用户可以在个人信息输入入口输入自己的相关信息。此处需要系统提示用户,在系统评估口令强度时需要收集用户的个人信息,以保证评估的准确度,同时说明系统在评估口令结束后会将个人信息清除,保证用户信息的安全。

在步骤202处,因为网站网页,桌面程序,手机app在为用户提供服务时,会收集用户的个人信息,口令评估系统可以从网站网页,桌面客户端,app存储的用户信息中导入数据,比如邮箱、用户昵称、qq号、微信名、生日、手机号等信息。

在步骤203处,系统将用户的个人信息传输到用户信息处理模块。

在步骤300处,系统的用户信息处理模块将存储的个人信息转换成意义相同的字母和数字字符串。可以通过图3来描述该步骤的具体实施样例。

如图3所示,系统将用户不同的信息根据信息的种类转换成不同的字母和数字组合。

在步骤301处,将用户的中文个人信息使用字母和数字替换。在本例中的一个实施例中文信息转换系统,输入昵称(tom小明),转换系统可以将昵称转换为tom、tomxiaoming、xiaoming、tomxm、xm。转换系统的实现方法为:

1)将汉字转换为拼音字母,或者英语单词格式(小明->xiaoming;微信名:天才_小明->genius/talent_xiaoming),对中文做分词处理,取出分词结果中的主语,名词,尝试使用词典将其翻译成英语单词,若不能翻译成英语单词,则使用拼音转换工具转换为拼音。

2)截取用户信息的拼音/英语单词首字母,截取方式可以为所有字的首字母;或者部分字的首字母,其余的不变(genius/talentxiaoming->gtxm,gtxiaom,gtxming……)。

在步骤302处,将用户的数字和字母个人信息按照一定的规则进行裁剪,得到大量的数字子串。

常见的裁剪方式有以下几种:

1)对身份证号码处理:取出出生年月日,取出后四位数字。

2)对手机号处理:将11位手机号以344,3332,443的方式拆分。例如(18888888888)

3)对出生年月日处理:年后两位+月日;月日;去零;去零月日。例如生日(19940123)可以转换为940123、0123、94123、123。

4)对邮箱处理:截取@之前的字母。

5)在步骤303处,收集尽可能多的弱口令,形成弱口令字典表。由于用户弱口令安全问题日益严重。网络上流传有大量的弱口令字典表,通过搜索引擎搜索可以找到大量的弱口令字典表。将下载下来的字典表做去重的处理后,存储成总的弱口令字典表。

在步骤304处,将用户裁剪之后的用户信息和收集到的弱口令、重新组合后,构成一个用于检测口令的测试字典集。

在对大量用户口令的研究分析之后,可以总结出以下的组合方式:

1.用户的口令通常使用的不同的信息的组合数是2-4种,所以需要从裁剪之后的子串和弱口令中随机取出2-4个子串进行组合。

2.组合的口令中通常以字母开头,以数字结尾,数字组合出现的次数在1-2次。若生成的子串过多,可以根据规律设置组合方式,减少计算量。

在步骤400处,系统将待测口令和生成的字典表做动态匹配,检测字典集中的字符串是否存在于所述待测口令中。即检测该待测口令是否是用户利用与自己身份信息和弱口令构成口令。

为了更清楚地解释该步骤,参考图4来描述该步骤的一种可选的具体实施。

在步骤401处,根据本发明的一个实施例,将口令和字典集作为字符串输入并且使用一个滑动窗口来进行标记。

在步骤402处,对口令的检测是通过维护一个动态窗口从口令的头部滑到尾部。窗口的初始大小为2,如果该动态窗口覆盖的子串匹配了字典集中的某个字符串,就将窗口大小增加1,然后尝试在增大后的窗口中继续匹配。如果发现匹配,则进一步扩大窗口大小直到发现不匹配,即匹配结果作为匹配口令子段。发现不匹配后将窗口大小重置为2,然后从不匹配的位置重新开始滑动窗口。同时维护了一个与口令相同的标记字符串,用来记录字典集中的每个匹配口令子段的长度。在完成对目标口令从头到尾整个滑动过程之后,即可完成对整个口令的检测。比如对于出生于1988年3月14日,名叫curry的用户口令是“curry314@@1234”,在完成窗口滑动之后,标记字符串为[5,5,5,5,5,3,3,3,0,0,4,4,4,4],字符串中前五个元素{5,5,5,5,5}表示口令的前五个元素匹配了特定的个人信息(在本例中是姓名curry),紧跟的三个元素{3,3,3}表示了口令中接下来的3个字符的个人信息(生日),之后的两个元素{0,0}则说明这两个字符不匹配用户的个人信息,最后的1234为弱口令,标记为{4,4,4,4}。标记的数字与匹配元素个数相同是为了方便之后的公式计算。当计算公式时会需要知道个人信息和弱口令的组合数,根据标记字符串的数字,从该数字出现的地方往后选取相应数值的字符,则完成一次匹配字符的选择,同时组合数加一。比如标记结果为[5,5,5,5,5,3,3,3,0,0,4,4,4,4],当取到第一个5时,程序会往后走5位(包括第一个5),然后取下一个值3,往后走3位,以此类推。

在步骤500处,系统将根据上一步找出字符串的评估待测口令的安全性。为了评估口令的安全性。提出一种可以准确系统地衡量用户个人信息在口令构造中造成影响的方法——eval。eval方法的值域为[0,1],值越接近1说明用户个人信息和弱口令在口令构造中所起的影响越大,值越接近0说明越没有影响,值为1说明整个口令均由个人信息和弱口令构成。eval的值反映了个人信息和弱口令在口令中的影响。根据标记字符串中记录的值便用来计算eval的值。计算公式如下

其中,

公式中的n表示标记字符串中0的个数,即非个人信息和弱口令的字符个数,t是口令串中采用的字符组合种类数目,在例子中为4种,即使用了curry,314,@@,1234四种字符组合,n为口令的总长度。

根据例子的标记字符串为[5,5,5,5,5,3,3,3,0,0,4,4,4,4],使用计算其安全度为:

口令的安全度为0.401,该口令虽然由多种字符串组成,但这4种字符串其中3种是由个人信息和弱口令组成,仍然存在攻击者使用字典表恶意爆破的可能性,说明该口令仍然存在安全问题。系统根据eval求出的值在[0,1]的区间作出口令安全性的评估,值在[0,0.3]之间的口令评估为弱口令,这类口令攻击者极易使用用户信息和弱口令的字典爆破,值在[0.3,0.6]之间的口令评估为中等安全的口令,这类口令攻击者需要对用户信息做进一步的处理,得到更多的用户信息字符串,同时爆破的时间更长,但仍然可以被爆破。值在[0.6,1]之间的口令评估为强口令,这类口令中用户信息和弱口令只在口令中占小部分,具有较强的抗爆破能力,攻击者在有限的时间内无法对该类的口令爆破。

最后所应说明的是,以上实施案例仅用以说明本发明的技术方案而非限制,尽管使用事例对本发明进行了详细说明,本领域的技术人员应当理解,可对本发明的技术方案进行修改或者等价替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1