CN105279424A - 一种图形密码强度识别方法与装置 - Google Patents
一种图形密码强度识别方法与装置 Download PDFInfo
- Publication number
- CN105279424A CN105279424A CN201510730668.6A CN201510730668A CN105279424A CN 105279424 A CN105279424 A CN 105279424A CN 201510730668 A CN201510730668 A CN 201510730668A CN 105279424 A CN105279424 A CN 105279424A
- Authority
- CN
- China
- Prior art keywords
- graphical passwords
- sequence
- intensity
- passwords
- graphical
- 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
Classifications
-
- 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
-
- 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/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
- Collating Specific Patterns (AREA)
Abstract
本发明涉及密码信息处理技术领域,特别涉及一种图形密码强度识别方法与装置。本发明公开了一种图形密码强度识别方法,包括如下步骤:首先,将用户所划的图形密码,转换为由点集组成的一个一维序列;其次,对序列化后的数据在其具有的至少两个密码强度特征下,计算其密码强度特征值;然后,定义图形密码强度特征值分别对应的加权值,并进行加权求和算出图形密码的强度。本发明还公开了一种基于上述方法的图形密码强度识别装置。本发明能够有效评估识别出用户设置的图形密码的强度,当用户设置过于简单的图形密码时给予提示或警告,以保护用户的信息安全。
Description
技术领域
本发明属于密码信息处理技术领域,具体地涉及一种图形密码强度识别方法与装置。
背景技术
密码强度自动识别在信息安全上有重要的作用,在用户注册帐号并设置密码时,需要密码强度识别模块对用户所设置密码的强度进行识别和提示,禁止用户设置过于简单的密码,以提高用户的帐户安全。现阶段的对于文本密码的密码强度识别已广泛应用,如公开专利:CN103177204A,其是根据用户输入的文本密码长度和其中数字、字母、大小写、特殊符号组合情况,识别评估用户密码强度,并进行强、中、弱之类的提示。
然而,在当今移动互联网时代,文本密码开始更多的被图形密码取代。特别是在手机上,人们已广泛使用九宫格的图形密码,通过对屏幕上的点进行画线连接实现密码设置或输入。图形密码优点是易于用户记忆且易于输入,但是简单的图形密码极容易被他人轻易偷看或暴力破解,因此图形密码也需要进行密码强度识别。在公开专利:CN104335217A中公开了一种将图形密码分段比较的强度估计方法,但由于现代图形密码要求一次密码输入过程中需要连续画线,因此没有明显的分段,就难以使用该方法进行有效的强度估计。
发明内容
本发明的目的在于为解决上述问题而提供一种利用图形密码整体特征的强度进行计算,能够有效评估识别出用户设置的图形密码强度的图形密码强度识别方法与装置。
为此,本发明公开了一种图形密码强度识别方法,包括如下步骤:
S11,图形密码序列转换:将用户所划的图形密码,转换为由点集组成的一个一维序列;
S12,图形密码强度特征值计算:对序列化后的数据在其具有的至少两个密码强度特征下,计算其密码强度特征值;
S13,定义图形密码强度特征值分别对应的加权值,并进行加权求和算出图形密码的强度。
进一步的,还包括步骤S14:判断图形密码强度是否达到要求,如果否,则进行警告或提示。
进一步的,所述图形密码强度特征包括长连点数M1、拐点数M2、长度M3、正交叉数M4、跨跃数M5和斜交叉数M6的至少任意两个。
更进一步的,所述步骤S11中,图形密码序列为{P1,P2,……,PN}。
更进一步的,所述长连点数M1和拐点数M2的计算方法具体如下:
S21,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1,Pk+2三个点,k初始值为1,M1和M2初始值为0;
S22,判断Pk,Pk+1,Pk+2三个点的第一维坐标序列ik,ik+1,ik+2是否为连续序列,并且第二维坐标序列jk=jk+1=jk+2,如果是,则M1加1,进入步骤S25;如果否则进入步骤S23;
S23,判断Pk,Pk+1,Pk+2三个点的第二维坐标序列jk,jk+1,jk+2是否为连续序列,并且ik=ik+1=ik+2,或Pk,Pk+1,Pk+2三个点的第二维坐标序列jk,jk+1,jk+2是否为连续序列,并且第一维坐标序列ik,ik+1,ik+2也是连续序列,如果是,则M1加1进入步骤S25,如果否,则不对M1进行处理,进入S24;
S24,三个点不是长连点,则必然是拐点,M2加1,进入S25;
S25,判断k+2是否大于N,如果否,则k自增1,返回步骤S21循环;如果是,则结束计算,得到该图形密码的长连点数M1和拐点数M2的值。
进一步的,所述长度M3的计算方法具体为:获取图形密码序列{P1,P2,……,PN}的N值,并将其赋值给M3。
进一步的,所述正交叉数M4的计算方法具体如下:
S31,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1两个点,k初始值为1,M4初始值为0;
S32,判断是否Pk,Pk+1两个点的第一维坐标序列|ik-ik+1|=1并且第二维坐标序列|jk-jk+1|=1;如果是则进入步骤S33,如果否,则进入步骤S34;
S33,将一维坐标交换,得到一个新的子序列P(ik+1,jk),P(ik,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,jk+1)或P(ik,jk+1),P(ik+1,jk)这个子序列,如果是,则M4加1,进入步骤S34;如果否,则不对M4进行处理,进入步骤S34;
S34,判断k+1是否大于N,如果否,则k自增1,返回步骤S31循环;如果是,则结束计算,将M4除以2,得到最终M4值。
进一步的,所述跨跃数M5和斜交叉数M6的计算方法具体如下:
S41,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1两个点,k初始值为1,M5和M6的初始值为0;
S42,判断是否满足下列三个条件之一Pk,Pk+1两个点的第一维坐标序列|ik-ik+1|=2且第二维坐标序列|jk-jk+1|=0或者|ik-ik+1|=0且|jk-jk+1|=2或者|ik-ik+1|=2且|jk-jk+1|=2,如果否,则进入步骤S44,如果是,则进入步骤S43;
S43,如果|ik-ik+1|=2,取ip=(ik+ik+1)/2,否则取ip=ik;如果|jk-jk+1|=2,取jp=(jk+jk+1)/2,否则取jp=jk,判断图形密码序列{P1,P2,……,PN}是否存在点P(ip,jp),如果是,则M5加1,进入步骤S48;如果否,则不对M5做处理,进入步骤S44;
S44,判断是否满足下列条件之一:|ik-ik+1|=2且|jk-jk+1|=1或|ik-ik+1|=1且|jk-jk+1|=2,如果否,则进入步骤S48;如果是,则进入步骤S45;
S45,将一维坐标交换,得到一个新的子序列P(ik+1,jk),P(ik,jk+1)判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,jk+1)或P(ik,jk+1),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S46;
S46,在P(ik+1,jk),P(ik,jk+1)中,如果|ik-ik+1|=2且|jk-jk+1|=1,则将ik,ik+1中较大的一个设为2,形成新的序列P(ik+1,jk),P(1,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(2,jk+1)或P(2,jk+1),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S47;如果|ik-ik+1|=1,|jk-jk+1|=2,则将jk,jk+1中较大的一个设为2,形成新的序列P(ik+1,2),P(ik,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,2),P(ik,jk+1)或P(ik,jk+1),P(ik+1,2)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S47;
S47,在P(ik+1,jk),P(ik,jk+1)中,如果|ik-ik+1|=2且|jk-jk+1|=1,则将ik,ik+1中较小的一个设为2,形成新的序列P(2,jk),P(ik,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(2,jk),P(ik,jk+1)或P(ik,jk+1),P(2,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S48;如果|ik-ik+1|=1且|jk-jk+1|=2,则将jk,jk+1中较小的一个设为2,形成新的序列P(ik+1,jk),P(ik,2),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,2)或P(ik,2),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S48;
S48,判断k+1是否大于N,如果否,则k自增1,返回步骤S41循环;如果是,则结束计算,得到该图形密码的M5、M6值。
本发明还公开了一种图形密码强度识别装置,其特征在于,包括:
图形密码序列转换模块,用于将用户所划的图形密码,转换为由点集组成的一个一维序列;
图形密码强度特征值计算模块,用于对序列化后的数据在其具有的至少两个密码强度特征下,计算其密码强度特征值;
图形密码强度计算模块,用于定义图形密码强度特征值分别对应的加权值,并进行加权求和算出图形密码的强度。
进一步的,还包括警告提示模块,用于判断图形密码强度是否达到要求,如果否,则进行警告或提示。
更进一步的,所述图形密码强度特征值计算模块包括长连点数M1和拐点数M2计算模块、跨跃数M5与斜交叉数M6计算模块、正交叉数M4计算模块和长度M3计算模块。
本发明的有益技术效果:
本发明利用图形密码整体特征的强度估算密码强度,从图形密码的划线序列中计算出密码的长连点数、拐点数、长度、正交叉数、跨跃数、斜交叉数6个特征值,并对这6个特征值进行加权求和,根据加权和的结果表征图形密码的强度,能够有效评估识别出用户设置的图形密码的强度,当用户设置过于简单的图形密码时给予提示或警告,以保护用户的信息安全。
附图说明
图1为本发明实施例的方法流程图;
图2为本发明实施例的图形坐标定义示意图;
图3为本发明实施例的第一图形密码图;
图4为本发明实施例的正交叉数计算示意图;
图5为本发明实施例的跨跃数计算示意图;
图6为本发明实施例的斜交叉数计算示意图;
图7为本发明实施例的第二图形密码图;
图8为本发明实施例的第三图形密码图。
具体实施方式
现结合附图和具体实施方式对本发明进一步说明。
在当今移动互联网时代,文本密码开始更多地被图形密码取代。特别是在手机上,人们已广泛使用九宫格的图形密码,其通过对屏幕上的点进行连续画线连接实现密码设置或输入,下面将以九宫格的图形密码来详细说明本发明。
如图1所示,一种图形密码强度识别方法,包括如下步骤:
S11,图形密码序列转换:将用户所划的图形密码,转换为由点集组成的一个一维序列,具体方法为:
对九宫格的图形点进行坐标定义,如图2所示,每个点用一个P(i,j)坐标表示,第一维坐标i=1,2,3代表行数从上到下依次分为三行,同一行i相同,从上到下行递增;第二维坐标j=1,2,3代表列数,从左到右分为三列,同一列j相同,从左到右递增。由于图形密码是依次画过节点的图形,因此可用所有依次经过的节点坐标编号,按划线顺序形成一个一维坐标序列来表示一个图形密码:{P1,P2,……,PN},N≤9。例如,图3的图形密码,有填充的点为密码开始的起点,则该图形密码序列化之后的序列为:{P(1,2),P(2,2),P(3,2),P(2,1),P(2,3)}。
S12,图形密码强度特征值计算:对序列化后的数据在其具有的至少两个密码强度特征下,计算其密码强度特征值,包括长连点数M1、拐点数M2、长度M3、正交叉数M4、跨跃数M5和斜交叉数M6这六个特征值。具体方法为:
一.计算长连点数M1和拐点数M2
长连点是指在横、竖、或45度斜向连续画过三个点,拐点是指笔划方向与上一个笔划方向不同的点,长连点数M1和拐点数M2的计算步骤为:
S20:初始化M1、M2=0,初始化k=1。
S21,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1,Pk+2三个点。
S22,判断Pk,Pk+1,Pk+2三个点的第一维坐标序列ik,ik+1,ik+2是否为“1,2,3”或“3,2,1”连续序列,并且jk=jk+1=jk+2,如果是,则M1加1,进入步骤S25;如果否则进入步骤S23。
S23,判断Pk,Pk+1,Pk+2三个点的第二维坐标序列jk,jk+1,jk+2是否为“1,2,3”或“3,2,1”连续序列,并且ik=ik+1=ik+2,或Pk,Pk+1,Pk+2三个点的第二维坐标序列jk,jk+1,jk+2是否为“1,2,3”或“3,2,1”连续序列,并且第一维坐标序列ik,ik+1,ik+2也是“1,2,3”或“3,2,1”连续序列。如果是,则M1加1进入步骤S25,如果否,则不对M1进行处理,进入S24。
S24,三个点不是长连点,则必然是拐点,M2加1,进入S25。
S25,判断k+2是否大于N,如果否,则k自增1,返回步骤S21进行循环;如果是,则结束计算,得到该图形密码的长连点数M1和拐点数M2的值。
二.计算图形密码长度M3
长度M3是指图形密码总经过点数,长度M3的计算方法具体为:获取图形密码序列{P1,P2,……,PN}的N值,并将其赋值给M3,即得到图形密码长度M3。
三.计算正交叉数M4
正交叉是指在间距为1的矩形区域内出现划线交叉的个数,图4中,虚线圆圈所示的即为正交叉,正交叉数M4的计算步骤为:
S30:初始化M4=0,初始化k=1。
S31,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1两个点。
S32,判断是否|ik-ik+1|=1并且|jk-jk+1|=1;如果是则进入步骤S33,如果否,则进入步骤S34;
S33,将一维坐标交换,得到一个新的子序列P(ik+1,jk),P(ik,jk+1)。判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,jk+1)或P(ik,jk+1),P(ik+1,jk)这个子序列,如果是,则M4加1,进入步骤S34;如果否,则不对M4进行处理,进入步骤S34。
S34,判断k+1是否大于N,如果否,则k自增1,返回步骤S31循环;如果是,则结束计算,由于每一个正交叉被计数两次,因此还需要将M4除以2,得到最终M4值。
四.计算跨跃数M5和斜交叉数M6
由于九宫格图形密码限制一个点只能被线选择一次,因此当图形密码划线第二次经过该点时,该点被跨跃不被选择,图5虚线圆圈所示的点即为跨越点,统计所有点被跨跃的次数即为M5。在长宽为2:1或1:2的矩形中出现的划线交叉点数为斜交叉数,图6中虚线椭圆所示的划线交叉即为斜交叉,统计所有斜交叉数个数即为M6。具体步骤为:
S40:初始化M5、M6=0,初始化k=1。
S41,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1两个点,k初始值为1。
S42,判断是否满足下列三个条件之一|ik-ik+1|=2且|jk-jk+1|=0或者|ik-ik+1|=0且|jk-jk+1|=2或者|ik-ik+1|=2且|jk-jk+1|=2,如果否,则进入步骤S44,如果是,则进入步骤S43。
S43,如果|ik-ik+1|=2,取ip=(ik+ik+1)/2,否则取ip=ik;如果|jk-jk+1|=2,取jp=(jk+jk+1)/2,否则取jp=jk,判断图形密码序列{P1,P2,……,PN}是否存在点P(ip,jp),如果是,则M5加1,进入步骤S48;如果否,则不对M5做处理,进入步骤S44。
S44,判断是否满足下列条件之一:|ik-ik+1|=2且|jk-jk+1|=1或|ik-ik+1|=1且|jk-jk+1|=2,如果否,则进入步骤S48;如果是,则进入步骤S45。
S45,将一维坐标交换,得到一个新的子序列P(ik+1,jk),P(ik,jk+1)判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,jk+1)或P(ik,jk+1),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S46。
S46,在P(ik+1,jk),P(ik,jk+1)中,如果|ik-ik+1|=2且|jk-jk+1|=1,则将ik,ik+1中较大的一个设为2,形成新的序列P(ik+1,jk),P(1,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(2,jk+1)或P(2,jk+1),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S47;如果|ik-ik+1|=1,|jk-jk+1|=2,则将jk,jk+1中较大的一个设为2,形成新的序列P(ik+1,2),P(ik,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,2),P(ik,jk+1)或P(ik,jk+1),P(ik+1,2)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S47。
S47,在P(ik+1,jk),P(ik,jk+1)中,如果|ik-ik+1|=2且|jk-jk+1|=1,则将ik,ik+1中较小的一个设为2,形成新的序列P(2,jk),P(ik,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(2,jk),P(ik,jk+1)或P(ik,jk+1),P(2,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S48;如果|ik-ik+1|=1且|jk-jk+1|=2,则将jk,jk+1中较小的一个设为2,形成新的序列P(ik+1,jk),P(ik,2),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,2)或P(ik,2),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S48。
S48,判断k+1是否大于N,如果否,则k自增1,返回步骤S41循环;如果是,则结束计算,得到该图形密码的M5、M6值。
S13,定义图形密码强度特征值分别对应的加权值,并进行加权求和算出图形密码的强度。
具体的,图形长连的情况会造成图形密码过于简单,易被偷取或破解,因此是密码强度的一个负面影响因素,定义其加权值W1=-1。
拐点能增加图形密码的变化程度,变化越大密码强度越强,对于密码强度是一个正面的影响因素,定义其加权值W2=1。
长度越长则图形密码越复杂,长度对于图形密码强度是一个正面影响因素,定义其加权值W3=1.5。
正交叉越多,密码越复杂,越难以他人被偷看和记忆,因此对于图形密码强度是一个正面影响因素,定义其加权值W4=2。
跨跃数和斜交叉数能增加图形密码的复杂程度,对于密码强度是一个正面的影响因素,定义其加权值W5=3,W6=2.5。
则图形密码的强度值Q=M1×W1+M2×W2+M3×W3+M4×W4+M5×W5+M6×W6。Q值越大,则密码强度越强,Q越小密码强度越小,越容易被破解。
进一步的,还包括步骤S14:判断图形密码强度Q是否达到要求,如果否,则进行警告或提示,如输出“您所设置的密码过于简单,请重新设置”文字提醒用户,以保护用户的信息安全。
本发明还公开了一种基于上述方法的图形密码强度识别装置,包括:
图形密码序列转换模块,用于将用户所划的图形密码,转换为由点集组成的一个一维序列。
图形密码强度特征值计算模块,用于对序列化后的数据在其具有的至少两个密码强度特征下,计算其密码强度特征值。
具体的,图形密码强度特征值计算模块包括长连点数M1和拐点数M2计算模块、跨跃数M5与斜交叉数M6计算模块、正交叉数M4计算模块和长度M3计算模块。
长连点数M1和拐点数M2计算模块用于具体执行如下步骤:
S20:初始化M1、M2=0,初始化k=1。
S21,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1,Pk+2三个点。
S22,判断Pk,Pk+1,Pk+2三个点的第一维坐标序列ik,ik+1,ik+2是否为“1,2,3”或“3,2,1”连续序列,并且jk=jk+1=jk+2,如果是,则M1加1,进入步骤S25;如果否则进入步骤S23。
S23,判断Pk,Pk+1,Pk+2三个点的第二维坐标序列jk,jk+1,jk+2是否为“1,2,3”或“3,2,1”连续序列,并且ik=ik+1=ik+2,或Pk,Pk+1,Pk+2三个点的第二维坐标序列jk,jk+1,jk+2是否为“1,2,3”或“3,2,1”连续序列,并且第一维坐标序列ik,ik+1,ik+2也是“1,2,3”或“3,2,1”连续序列。如果是,则M1加1进入步骤S25,如果否,则不对M1进行处理,进入S24。
S24,三个点不是长连点,则必然是拐点,M2加1,进入S25。
S25,判断k+2是否大于N,如果否,则k自增1,返回步骤S21进行循环;如果是,则结束计算,得到该图形密码的长连点数M1和拐点数M2的值。
长度M3计算模块用于获取图形密码序列{P1,P2,……,PN}的N值,并将其赋值给M3。
正交叉数M4计算模块用于具体执行如下步骤:
S30:初始化M4=0,初始化k=1。
S31,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1两个点。
S32,判断是否|ik-ik+1|=1并且|jk-jk+1|=1;如果是则进入步骤S33,如果否,则进入步骤S34;
S33,将一维坐标交换,得到一个新的子序列P(ik+1,jk),P(ik,jk+1)。判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,jk+1)或P(ik,jk+1),P(ik+1,jk)这个子序列,如果是,则M4加1,进入步骤S34;如果否,则不对M4进行处理,进入步骤S34。
S34,判断k+1是否大于N,如果否,则k自增1,返回步骤S31循环;如果是,则结束计算,由于每一个正交叉被计数两次,因此还需要将M4除以2,得到最终M4值。
跨跃数M5与斜交叉数M6计算模块用于具体执行如下步骤:
S40:初始化M5、M6=0,初始化k=1。
S41,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1两个点,k初始值为1。
S42,判断是否满足下列三个条件之一|ik-ik+1|=2且|jk-jk+1|=0或者|ik-ik+1|=0且|jk-jk+1|=2或者|ik-ik+1|=2且|jk-jk+1|=2,如果否,则进入步骤S44,如果是,则进入步骤S43。
S43,如果|ik-ik+1|=2,取ip=(ik+ik+1)/2,否则取ip=ik;如果|jk-jk+1|=2,取jp=(jk+jk+1)/2,否则取jp=jk,判断图形密码序列{P1,P2,……,PN}是否存在点P(ip,jp),如果是,则M5加1,进入步骤S48;如果否,则不对M5做处理,进入步骤S44。
S44,判断是否满足下列条件之一:|ik-ik+1|=2且|jk-jk+1|=1或|ik-ik+1|=1且|jk-jk+1|=2,如果否,则进入步骤S48;如果是,则进入步骤S45。
S45,将一维坐标交换,得到一个新的子序列P(ik+1,jk),P(ik,jk+1)判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,jk+1)或P(ik,jk+1),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S46。
S46,在P(ik+1,jk),P(ik,jk+1)中,如果|ik-ik+1|=2且|jk-jk+1|=1,则将ik,ik+1中较大的一个设为2,形成新的序列P(ik+1,jk),P(1,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(2,jk+1)或P(2,jk+1),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S47;如果|ik-ik+1|=1,|jk-jk+1|=2,则将jk,jk+1中较大的一个设为2,形成新的序列P(ik+1,2),P(ik,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,2),P(ik,jk+1)或P(ik,jk+1),P(ik+1,2)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S47。
S47,在P(ik+1,jk),P(ik,jk+1)中,如果|ik-ik+1|=2且|jk-jk+1|=1,则将ik,ik+1中较小的一个设为2,形成新的序列P(2,jk),P(ik,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(2,jk),P(ik,jk+1)或P(ik,jk+1),P(2,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S48;如果|ik-ik+1|=1且|jk-jk+1|=2,则将jk,jk+1中较小的一个设为2,形成新的序列P(ik+1,jk),P(ik,2),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,2)或P(ik,2),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S48。
S48,判断k+1是否大于N,如果否,则k自增1,返回步骤S41循环;如果是,则结束计算,得到该图形密码的M5、M6值。
图形密码强度计算模块,用于定义图形密码强度特征值分别对应的加权值,并进行加权求和算出图形密码的强度。
进一步的,本装置还包括警告提示模块,用于判断图形密码强度是否达到要求,如果否,则进行警告或提示,如显示“您所设置的密码过于简单,请重新设置”文字提醒用户,以保护用户的信息安全。
下面将通过对图7和图8的图形密码强度的计算识别,来验证上述方法是否能有效评估识别出用户所示的图形密码的强度。
对图7的图形密码强度计算:
密码序列变换,得到{P(1,2),P(2,1),P(1,1),P(2,2),P(3,3),P(3,2),P(2,3),P(3,1)}序列。
计算长连点数M1和拐点数M2。经过循环计算,序列中P(1,1),P(2,2),P(3,3)这个子序列符合Pk,Pk+1,Pk+2三个点的第二维坐标序列jk,jk+1,jk+2为“1,2,3”或“3,2,1”连续序列,并且第一维坐标序列ik,ik+1,ik+2也是“1,2,3”或“3,2,1”连续序列,因此长连点数M1=1;其余为拐点数M2=5。
计算密码长度M3=8。
计算正交叉数M4。P(1,2),P(2,1)的第一维坐标交换后变成P(2,2),P(1,1),在密码序列中存在P(1,1),P(2,2)这个序列,因此M4=1。同理经过循环计算可发现其它正交叉点,最终得到M4=2。
计算跨跃数M5和斜交叉数M6。经过循环计算,没有满足|ik-ik+1|=2且|jk-jk+1|=0或者|ik-ik+1|=0且|jk-jk+1|=2或者|ik-ik+1|=2且|jk-jk+1|=2的点对,因此跨跃数M5=0。P(2,3),P(3,1)子序列满足|ik-ik+1|=1,|jk-jk+1|=2的条件,交换其一维坐标,得到P(3,3),P(2,1);然后将jk和jk+1中较大的一个设为2,得到P(3,2),P(2,1);发现原序列中不存在P(3,2),P(2,1),继续执行步骤,对P(3,3),P(2,1)将jk和jk+1中较小的一个设为2,得到P(3,3),P(2,2),原序列中存在P(2,2),P(3,3)这一子序列,因此M6=1;同理经过循环计算没有发现其它斜交叉点,最终得到M6=1;
计算图形密码强度Q=1×-1+5×1+8×1.5+2×2+0×3+1×2.5=22.5。
对图8的图形密码强度计算:
密码序列变换,得到{P(1,1),P(2,2),P(2,3),P(3,3),P(3,2),P(3,1)}。
计算长连点数M1和拐点数M2。经过循环计算,序列中P(3,3),P(3,2),P(3,1)这个子序列符合Pk,Pk+1,Pk+2三个点的第二维坐标序列jk,jk+1,jk+2为“1,2,3”或“3,2,1”连续序列,并且第一维坐标序列ik=ik+1=ik+2。因此长连点数M1=1;其余为拐点数M2=3。
计算密码长度M3=6。
计算正交叉数M4。经过循环计算没有发现正交叉点,最终得到M4=0;
计算跨跃数M5和斜交叉数M6。经过循环计算,没有发现满足条件的点,因此M5=M6=0。
计算图形密码强度Q=1×-1+3×1+6×1.5+0×2+0×3+0×2.5=11。
根据Q值可以自动检测出:图7的密码强度>图8的密码强度。从图7和图8也可以看出,图7的图形密码比图8的图形密码复杂,因此密码强度也较大,由此可以看出本发明通过计算六种特征加权得到的Q值的大小,符合人对图形密码复杂度的直观认识,可根据Q值大小有效评估识别出用户设置的图形密码的强度,当用户设置过于简单的图形密码时给予提示或警告,以保护用户的信息安全。
其它类型的图形密码的强度可以根据上述的方法,相应地对具体参数进行修改,即可计算得到。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (11)
1.一种图形密码强度识别方法,其特征在于,包括如下步骤:
S11,图形密码序列转换:将用户所划的图形密码,转换为由点集组成的一个一维序列;
S12,图形密码强度特征值计算:对序列化后的数据在其具有的至少两个密码强度特征下,计算其密码强度特征值;
S13,定义图形密码强度特征值分别对应的加权值,并进行加权求和算出图形密码的强度。
2.根据权利要求1所述的图形密码强度识别方法,其特征在于:还包括步骤S14:判断图形密码强度是否达到要求,如果否,则进行警告或提示。
3.根据权利要求1或2所述的图形密码强度识别方法,其特征在于:所述图形密码强度特征包括长连点数M1、拐点数M2、长度M3、正交叉数M4、跨跃数M5和斜交叉数M6的至少任意两个。
4.根据权利要求3所述的图形密码强度识别方法,其特征在于:所述步骤S11中,图形密码序列为{P1,P2,……,PN}。
5.根据权利要求4所述的图形密码强度识别方法,其特征在于:所述长连点数M1和拐点数M2的计算方法具体如下:
S21,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1,Pk+2三个点,k初始值为1,M1和M2初始值为0;
S22,判断Pk,Pk+1,Pk+2三个点的第一维坐标序列ik,ik+1,ik+2是否为连续序列,并且第二维坐标序列jk=jk+1=jk+2,如果是,则M1加1,进入步骤S25;如果否则进入步骤S23;
S23,判断Pk,Pk+1,Pk+2三个点的第二维坐标序列jk,jk+1,jk+2是否为连续序列,并且ik=ik+1=ik+2,或Pk,Pk+1,Pk+2三个点的第二维坐标序列jk,jk+1,jk+2是否为连续序列,并且第一维坐标序列ik,ik+1,ik+2也是连续序列,如果是,则M1加1进入步骤S25,如果否,则不对M1进行处理,进入S24;
S24,三个点不是长连点,则必然是拐点,M2加1,进入S25;
S25,判断k+2是否大于N,如果否,则k自增1,返回步骤S21循环;如果是,则结束计算,得到该图形密码的长连点数M1和拐点数M2的值。
6.根据权利要求4所述的图形密码强度识别方法,其特征在于:所述长度M3的计算方法具体为:获取图形密码序列{P1,P2,……,PN}的N值,并将其赋值给M3。
7.根据权利要求4所述的图形密码强度识别方法,其特征在于:所述正交叉数M4的计算方法具体如下:
S31,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1两个点,k初始值为1,M4初始值为0;
S32,判断是否Pk,Pk+1两个点的第一维坐标序列|ik-ik+1|=1并且第二维坐标序列|jk-jk+1|=1;如果是则进入步骤S33,如果否,则进入步骤S34;
S33,将一维坐标交换,得到一个新的子序列P(ik+1,jk),P(ik,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,jk+1)或P(ik,jk+1),P(ik+1,jk)这个子序列,如果是,则M4加1,进入步骤S34;如果否,则不对M4进行处理,进入步骤S34;
S34,判断k+1是否大于N,如果否,则k自增1,返回步骤S31循环;如果是,则结束计算,将M4除以2,得到最终M4值。
8.根据权利要求4所述的图形密码强度识别方法,其特征在于:所述跨跃数M5和斜交叉数M6的计算方法具体如下:
S41,从图形密码序列{P1,P2,……,PN}取出Pk,Pk+1两个点,k初始值为1,M5和M6的初始值为0;
S42,判断是否满足下列三个条件之一Pk,Pk+1两个点的第一维坐标序列|ik-ik+1|=2且第二维坐标序列|jk-jk+1|=0或者|ik-ik+1|=0且|jk-jk+1|=2或者|ik-ik+1|=2且|jk-jk+1|=2,如果否,则进入步骤S44,如果是,则进入步骤S43;
S43,如果|ik-ik+1|=2,取ip=(ik+ik+1)/2,否则取ip=ik;如果|jk-jk+1|=2,取jp=(jk+jk+1)/2,否则取jp=jk,判断图形密码序列{P1,P2,……,PN}是否存在点P(ip,jp),如果是,则M5加1,进入步骤S48;如果否,则不对M5做处理,进入步骤S44;
S44,判断是否满足下列条件之一:|ik-ik+1|=2且|jk-jk+1|=1或|ik-ik+1|=1且|jk-jk+1|=2,如果否,则进入步骤S48;如果是,则进入步骤S45;
S45,将一维坐标交换,得到一个新的子序列P(ik+1,jk),P(ik,jk+1)判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,jk+1)或P(ik,jk+1),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S46;
S46,在P(ik+1,jk),P(ik,jk+1)中,如果|ik-ik+1|=2且|jk-jk+1|=1,则将ik,ik+1中较大的一个设为2,形成新的序列P(ik+1,jk),P(1,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(2,jk+1)或P(2,jk+1),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S47;如果|ik-ik+1|=1,|jk-jk+1|=2,则将jk,jk+1中较大的一个设为2,形成新的序列P(ik+1,2),P(ik,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,2),P(ik,jk+1)或P(ik,jk+1),P(ik+1,2)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S47;
S47,在P(ik+1,jk),P(ik,jk+1)中,如果|ik-ik+1|=2且|jk-jk+1|=1,则将ik,ik+1中较小的一个设为2,形成新的序列P(2,jk),P(ik,jk+1),判断图形密码序列{P1,P2,……,PN}是否存在P(2,jk),P(ik,jk+1)或P(ik,jk+1),P(2,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S48;如果|ik-ik+1|=1且|jk-jk+1|=2,则将jk,jk+1中较小的一个设为2,形成新的序列P(ik+1,jk),P(ik,2),判断图形密码序列{P1,P2,……,PN}是否存在P(ik+1,jk),P(ik,2)或P(ik,2),P(ik+1,jk)这个子序列,如果是,则M6加1,进入步骤S48;如果否,则不对M6进行处理,进入步骤S48;
S48,判断k+1是否大于N,如果否,则k自增1,返回步骤S41循环;如果是,则结束计算,得到该图形密码的M5、M6值。
9.一种图形密码强度识别装置,其特征在于,包括:
图形密码序列转换模块,用于将用户所划的图形密码,转换为由点集组成的一个一维序列;
图形密码强度特征值计算模块,用于对序列化后的数据在其具有的至少两个密码强度特征下,计算其密码强度特征值;
图形密码强度计算模块,用于定义图形密码强度特征值分别对应的加权值,并进行加权求和算出图形密码的强度。
10.根据权利要求9所述的图形密码强度识别装置,其特征在于:还包括警告提示模块,用于判断图形密码强度是否达到要求,如果否,则进行警告或提示。
11.根据权利要求9或10所述的图形密码强度识别装置,其特征在于:所述图形密码强度特征值计算模块包括长连点数M1和拐点数M2计算模块、跨跃数M5与斜交叉数M6计算模块、正交叉数M4计算模块和长度M3计算模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510730668.6A CN105279424B (zh) | 2015-11-02 | 2015-11-02 | 一种图形密码强度识别方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510730668.6A CN105279424B (zh) | 2015-11-02 | 2015-11-02 | 一种图形密码强度识别方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105279424A true CN105279424A (zh) | 2016-01-27 |
CN105279424B CN105279424B (zh) | 2020-09-11 |
Family
ID=55148423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510730668.6A Active CN105279424B (zh) | 2015-11-02 | 2015-11-02 | 一种图形密码强度识别方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105279424B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336921A (zh) * | 2019-07-09 | 2019-10-15 | 华中师范大学 | 一种安卓图形口令强度度量方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02249062A (ja) * | 1989-03-23 | 1990-10-04 | Matsushita Refrig Co Ltd | 個人識別システム |
CN102819701A (zh) * | 2012-06-29 | 2012-12-12 | 北京奇虎科技有限公司 | 一种填表组件密码安全性提示的方法和装置 |
CN103177204A (zh) * | 2013-03-29 | 2013-06-26 | 北京奇虎科技有限公司 | 密码信息提示方法及装置 |
CN103514388A (zh) * | 2012-06-15 | 2014-01-15 | 旸碁资讯股份有限公司 | 图形密码轨迹设定系统及其方法 |
CN103810415A (zh) * | 2014-01-28 | 2014-05-21 | 曾立 | 一种图形密码保护方法 |
CN104091134A (zh) * | 2014-07-16 | 2014-10-08 | 谭皓文 | 一种兼顾安全与便捷的密码输入方法 |
CN104335217A (zh) * | 2012-05-22 | 2015-02-04 | 瑞典爱立信有限公司 | 用于确定密码强度的方法、装置和计算机程序产品 |
-
2015
- 2015-11-02 CN CN201510730668.6A patent/CN105279424B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02249062A (ja) * | 1989-03-23 | 1990-10-04 | Matsushita Refrig Co Ltd | 個人識別システム |
CN104335217A (zh) * | 2012-05-22 | 2015-02-04 | 瑞典爱立信有限公司 | 用于确定密码强度的方法、装置和计算机程序产品 |
CN103514388A (zh) * | 2012-06-15 | 2014-01-15 | 旸碁资讯股份有限公司 | 图形密码轨迹设定系统及其方法 |
CN102819701A (zh) * | 2012-06-29 | 2012-12-12 | 北京奇虎科技有限公司 | 一种填表组件密码安全性提示的方法和装置 |
CN103177204A (zh) * | 2013-03-29 | 2013-06-26 | 北京奇虎科技有限公司 | 密码信息提示方法及装置 |
CN103810415A (zh) * | 2014-01-28 | 2014-05-21 | 曾立 | 一种图形密码保护方法 |
CN104091134A (zh) * | 2014-07-16 | 2014-10-08 | 谭皓文 | 一种兼顾安全与便捷的密码输入方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336921A (zh) * | 2019-07-09 | 2019-10-15 | 华中师范大学 | 一种安卓图形口令强度度量方法及系统 |
CN110336921B (zh) * | 2019-07-09 | 2021-01-15 | 华中师范大学 | 一种安卓图形口令强度度量方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105279424B (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100552667C (zh) | 防止输入信息暴露给旁观者的方法 | |
US20170083796A1 (en) | Image recognition method | |
CN105631486A (zh) | 图像文字识别方法及装置 | |
CN105447437A (zh) | 指纹识别方法和装置 | |
CN105335745A (zh) | 图像中数字的识别方法、装置及设备 | |
CN110543877A (zh) | 标识识别方法及其模型的训练方法、装置和电子系统 | |
CN110222629A (zh) | 一种钢铁场景下的包号识别方法以及包号识别系统 | |
CN107577979A (zh) | DataMatrix型二维码快速识别方法、装置及电子设备 | |
CN110990811A (zh) | 一种身份认证方法及装置 | |
CN109886189B (zh) | 指纹模板获取方法及相关装置 | |
CN106709394B (zh) | 一种图像处理方法及装置 | |
CN106778735B (zh) | 一种车牌识别方法及装置 | |
CN105279424A (zh) | 一种图形密码强度识别方法与装置 | |
CN107358088A (zh) | 基于时钟的验证方法和系统 | |
CN114049568A (zh) | 基于图像比对的标的物形变检测方法、装置、设备及介质 | |
CN106846610B (zh) | 一种纸币版本识别方法及装置 | |
CN105989349A (zh) | 指纹的注册数据产生方法和电子装置 | |
CN104503662A (zh) | 一种桌面元素的几何轮廓的生成方法及装置 | |
KR101163511B1 (ko) | 식별 코드 생성 방법, 식별 코드 인식 방법 및 장치 | |
JP6365117B2 (ja) | 情報処理装置、画像判定方法、及びプログラム | |
CN109426429B (zh) | 解锁装置、解锁方法和电子设备 | |
CN116168192A (zh) | 图像检测区域的确定方法、装置、电子设备及存储介质 | |
CN112287325A (zh) | 操作验证方法、装置和存储介质及电子装置 | |
CN114022797A (zh) | 保护压板状态检测方法、装置 | |
CN104915648A (zh) | 文档/单证方向检测方法和检测装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |