基于击键乱序特征的计算机用户身份验证方法

文档序号:6602560阅读:249来源:国知局
专利名称:基于击键乱序特征的计算机用户身份验证方法
技术领域
本发明涉及一种计算机用户身份验证方法,特别涉及一种基于计算机用户敲击键 盘过程中的击键乱序特征的身份验证方法。
背景技术
生物特征识别是指基于个人独特的生理或行为特征进行自动身份判定的技术和 方法,主要包括两个方向生物生理特征识别和生物行为特征识别。前者主要研究根据人 脸、指纹、虹膜、掌纹等生理特征进行身份识别和认证;后者主要研究根据步态、语音、签名、 击键、鼠标等行为特征进行身份识别和认证。击键动力学主要研究击键特征识别技术,它监测用户的键盘输入,获取用户敲击 键盘的特征数据,分析用户的击键模式,并以此为依据来鉴别用户的身份。与指纹、虹膜等 生理特征相比,基于击键特征的识别技术具有其显著的优势首先,计算机用户身份认证的 依据可从键盘输入获得,无需配备额外的仪器以及设备;其次,计算机用户的身份认证是基 于击键行为特征,无需记忆或携带,很难进行模仿和伪造;另外,在计算机用户登录后仍可 捕获用户操作计算机所产生击键信息,因此可以基于击键行为特征持续对用户身份的合法 性进行监控。

发明内容
本发明的目的是提供一种基于击键行为特性验证计算机用户身份的方法,特别是 利用用户敲击计算机键盘过程中的击键乱序特征作为依据来区分不同用户身份的方法。为达到以上目的,本发明是采取如下技术方案予以实现的一种基于击键乱序特征的计算机用户身份验证方法,其特征在于,包含认证和监 控两种模式,其中每种模式又包括训练和验证两个部分(1)所述认证模式和监控模式下的训练部分,包括下述步骤第一步,采集并记录计算机用户在计算机使用过程中通过键盘进行操作时所产生 的击键事件序列;对于认证模式,采集用户在多次固定字符序列(如用户名、口令等)输入 过程中的击键事件序列;对于监控模式,采集用户在日常使用计算机过程中的击键事件序 列;第二步,从记录的击键事件序列中依次提取用户的最小击键乱序片段作为击键乱 序特征,分别建立认证和监控模式下用户的身份特征模板;第三步,利用在固定字符序列输入过程中记录的击键事件序列与认证模式下的身 份特征模板得到合法用户的认证判定阈值;利用在日常使用计算机过程中记录的击键事件 序列与监控模式下的身份特征模板得到合法用户的监控判定阈值。(2)所述认证和监控模式下的验证部分,包括下述步骤第一步,在认证模式下,获取用户对训练所用固定字符序列输入所产生 的击键事 件序列,依次提取用户的最小击键乱序片段作为击键乱序特征,同认证模式下的身份特征模板进行匹配,得到认证匹配值;在监控模式下,以时间长度T为周期,获取T内用户击键事 件序列,依次提取用户的最小击键乱序片段作为击键乱序特征,同监控模式下的身份特征 模板进行匹配,得到监控匹配值;第二步,在认证模式下,将认证匹配值同认证判定阈值进行比较,判定用户身份的 合法性;在监控模式下,将监控匹配值同监控判定阈值进行比较,判定用户身份的合法性。根据上述方法,所述的认证和监控模式训练部分中建立用户身份特征模板的具体 方法包括下述步骤第一步,根据所采集的用户通过键盘进行操作时所产生的击键事件序列,遍历击 键事件序列,依次提取最小击键乱序片段;第二步,将所有非重复的最小击键乱序片段以字典序存储在最小击键乱序片段列 表中,该列表即为计算机用户的身份特征模板。所述计算机用户产生的击键事件序列为基本击键事件组成的序列,基本击键事件 的格式为{击键时间戳,按键键码,按键状态(按下或弹起)};
所述最小击键乱序片段是指击键事件序列中出现击键乱序现象的一个片段,该片 段内的任一乱序基必存在至少一个片段内的其他乱序基与之交叠,且不与片段之外的任一 乱序基交叠。乱序基是指以单个按键一次击键的按下和弹起事件分别作为起点和终点确定 的击键序列的片段,是构成击键乱序现象的基本单位。两个乱序基相交叠是指这两个乱序 基存在共有的基本击键事件。所述击键乱序现象是指在计算机用户在击键过程中会对应于输入内容产生不同 的击键事件序列,存在当前按键的弹起发生在后续按键的按下和/或弹起之后的现象。所述的依次提取最小击键乱序片段的方法,其具体实施步骤为1)初始化标记链表、击键乱序事件链表、最小击键乱序片段列表为空,从击键事件 序列的起始端开始读取第一个击键按下事件,在标记链表中加入该击键事件的按键键码, 并将该击键事件的击键状态{按键键码,按键状态}存储至击键乱序事件链表中;2)从击键事件序列读取下一个击键事件作为当前击键事件;3)判断标记链表是否为空,若不为空,执行步骤9);4)判断击键乱序事件链表是否为空,若不为空,执行步骤6);5)判断当前击键事件的按键状态是否为按下,若为按下在标记链表中加入当前击 键事件的按键键码,并执行步骤12);6)如果击键乱序事件链表长度小于等于2,执行步骤8);7)击键乱序事件链表中存储的击键状态序列片段构成一个最小击键乱序片段,按 字典顺序将该最小击键乱序片段插入最小击键乱序片段列表中;8)清空击键乱序事件链表,并执行步骤11);9)判断标记链表中是否存在当前击键事件的按键键码,若不存在,执行步骤11);10)将当前击键事件的按键键码从标记链表中删除,并执行步骤12);11)将当前击键事件的按键键码加入标记链表;12)将当前击键事件的击键状态{按键键码,按键状态}添加至击键乱序事件链表 末端;13)判断当前击键事件是否为击键事件序列的最后一个事件,若不是,执行步骤2);14)如果击键乱序事件链表长度小于等于2,清空击键乱序事件链表;否则,击键 乱序事件链表中存储的击键状态序列片段构成一个最小击键乱序片段,按字典顺序将该最 小击键乱序片段插入最小击键乱序片段列表中;15)最小击键乱序片段列表即为依次提取的最小击键乱序片段。本发明的基于击键乱序特征的计算机用户身份验证方法有以下优点
1.击键乱序特征摆脱了传统击键特征受时间精度影响的束缚,以击键事件序列的 形式描述用户在击键过程中体现出的行为特性,以此来区分不同用户。2.与传统的击键特征相比,击键乱序特征在认证和监控环境中均可保证特征的稳 定性,能更好的体现用户的行为特性,提高身份认证与身份监控的容错性,具有更广泛的安 全性和适用性。


图1是本发明的基于乱序特征的计算机用户身份验证流程示意图。图2是本发明方法中计算机用户身份特征模板建立方法流程示意图。图3是本发明方法中最小击键乱序片段提取流程示意图。
具体实施例方式下面结合附图和实施样例对本发明做进一步的详细描述。系统结构参见图1,本发明基于击键乱序特征的计算机用户身份验证方法,可用于计算机用 户身份的认证和监控,包括训练和验证两个部分,具体的实施步骤如下1)认证和监控模式下的训练部分包括下述步骤(1)在认证模式下,让计算机用户对用户名、口令或给定文本等固定的字符序列进 行多次输入,采集并记录用户输入过程中的击键事件序列,得到认证训练数据集;在监控模 式下,长期采集并记录计算机用户日常击键事件序列,得到监控训练数据集;(2)提取认证与监控训练数据集中的最小乱序片段作为击键乱序特征,分别建立 认证和监控模式下的用户身份特征模板(参见图2)。具体为第一步,遍历击键事件序列,依次提取最小击键乱序片段;第二步,将所有非重复的最小击键乱序片段以字典序存储在最小击键乱序片段列 表中,该列表即为用户的身份特征模板。(3)对于认证模式,依次提取认证训练数据集中每次输入的击键事件序列的击键 乱序特征,将其与合法用户身份特征模板进行匹配(匹配方法在下面说明),得到多个匹配 值,将这些匹配值的分位值(X根据精度需要选取,一般可设为20%)作为认证判定阈 值;对于监控模式,以时间长度T (T 一般可以设为30秒或更长时间)为周期,依次提取T内 用户击键事件序列的击键乱序特征,将其与合法用户身份特征模板进行匹配,得到多个匹 配值,将这些匹配值的分位值(χ根据精度需要选取,一般可设为20%)作为监控判定 阈值;2)认证和监控模式下的身份验证部分包括下述步骤(1)在认证模式下,采集并记录当前用户对训练所用固定字符序列输入所产生的击键事件序列,提取击键乱序特征,与认证模式下用户身份特征模板进行匹配得到认证匹 配值;在监控模式下,以训练所用时间长度T为周期,依次读取T内当前用户击键事件序列, 提取击键乱序特征,与监控模式下的用户模型进行匹配得到监控匹配值;(2)对于认证模式,若认证匹配值小于认证判定阈值,则判定当前用户为非法用 户,若认证匹配值大于认证判定阈值,则判定当前用户为合法用户;对于监控模式,若监控 匹配值小于监控判定阈值,则判定当前用户为非法用户,否则,则判定当前用户为合法用 户。认证和监控模式下训练与验证部分中最小击键乱序片段提取方法参见图3,本发明方法中认证和监控模式下训练与验证部分中依次提取最小击键乱序片段的方法,其具体实施流程为1)初始化标记链表、击键乱序事件链表、最小击键乱序片段列表为空,从击键事件 序列的起始端开始读取第一个击键按下事件,在标记链表中加入该击键事件的按键键码, 并将该击键事件的击键状态{按键键码,按键状态}存储至击键乱序事件链表中;2)从击键事件序列读取下一个击键事件作为当前击键事件;3)判断标记链表是否为空,若不为空,执行步骤9);4)判断击键乱序事件链表是否为空,若不为空,执行步骤6);5)判断当前击键事件的按键状态是否为按下,若为按下在标记链表中加入当前击 键事件的按键键码,并执行步骤12);6)如果击键乱序事件链表长度小于等于2,执行步骤8);7)击键乱序事件链表中存储的击键状态序列片段构成一个最小击键乱序片段,按 字典顺序将该最小击键乱序片段插入最小击键乱序片段列表中;8)清空击键乱序事件链表,并执行步骤11);9)判断标记链表中是否存在当前击键事件的按键键码,若不存在,执行步骤11);10)将当前击键事件的按键键码从标记链表中删除,并执行步骤12);11)将当前击键事件的按键键码加入标记链表;12)将当前击键事件的击键状态{按键键码,按键状态}添加至击键乱序事件链表 末端;13)判断当前击键事件是否为击键事件序列的最后一个事件,若不是,执行步骤 2);14)如果击键乱序事件链表长度小于等于2,清空击键乱序事件链表;否则,击键 乱序事件链表中存储的击键状态序列片段构成一个最小击键乱序片段,按字典顺序将该最 小击键乱序片段插入最小击键乱序片段列表中;15)最小击键乱序片段列表即为依次提取的最小击键乱序片段。其中,最小击键乱序片段是指击键事件序列中出现击键乱序现象的一个片段,该 片段内的任一乱序基必存在至少一个片段内的其他乱序基与之交叠,且不与片段之外的任 一乱序基交叠。两个乱序基相交叠是指这两个乱序基存在共有的基本击键事件。乱序基是指以单个按键一次击键的按下和弹起事件分别作为起点和终点确定的 击键序列的片段,是构成击键乱序现象的基本单位。击键乱序现象是指在计算机用户在击键过程中会对应于输入内容产生不同的击键事件序列,存在当前按键的弹起发生在后续按键的按下和(或)弹起之后的现象。标记链表、击键乱序事件链表、最小击键乱序片段列表、身份特征模板的描述标记链表是由一系列包含击键事件按键键码的结点组成,该结点的具体格式为 K击键事件的按键键码,下一个按键键码结点的指针)},例如{J}_> {I}-> {A};击键乱序事件链表是由一系列包含击键状态{按键键码,按键状态}的结点组 成,该结点的具体格式为K击键状态,下一个击键状态节点的指针)},例如{J丨}_> {I I }-> {J个}-> {A I }-> {I个}-> {A个},其中“ I ”表示“按键按下”,“个”表 示“按键弹起”;最小击键乱序片段列表由以字符串形式表示的最小击键乱序片段组成,列表的格 式为{(字符串形式的最小击键乱序片段)},例如;{ “J I I I J 个 A I I 个 A 个”,“W I 0 I W 个 0 个,,,“S I H I S 个 I I H 个 I 个”,“S I H I S 个 I I H 个 I 个,,}身份特征模板是将所有非重复的最小击键乱序片段以字典序存储在最小击键乱 序片段列表,例如{ “J I I I J 个 A I I 个 A 个”,“S I H I S 个 I I H 个 I 个”,“W I 0 I W 个 0 个,,}击键乱序特征与用户身份特征模板的匹配方法击键乱序特征是从当前击键事件序列中提取的最小乱序片段列表Scmrait ;用户身 份特征模板是从认证与监控训练数据集中提取的最小乱序片段集合St plate。实施时可按如 下步骤实现击键乱序特征与计算机用户身份特征模板验证时的匹配值的计算这里,我们定义两个变量Cmateh和Cmiss分别为匹配与缺失的累加总数。对于Scmrait 中的每一个最小击键乱序片段s,若s e Straiplate,则s匹配成功,
Cmatch 力口 1 ; S生 Stemplate ?JJllI
为一次缺失,Cmiss加1。通过如下公式得到(认证或监控)匹配值 C<formula>formula see original document page 8</formula>
权利要求
一种基于击键乱序特征的计算机用户身份验证方法,其特征在于,包含认证和监控两种模式,其中每种模式又包括训练和验证两个部分(1)所述认证模式和监控模式下的训练部分,包括下述步骤第一步,对于认证模式,采集并记录用户在多次固定字符序列输入过程中的击键事件序列;对于监控模式,采集并记录用户在日常使用计算机过程中的击键事件序列;第二步,从记录的击键事件序列中依次提取用户的最小击键乱序片段作为击键乱序特征,分别建立认证和监控模式下用户的身份特征模板;第三步,利用在固定字符序列输入过程中记录的击键事件序列与认证模式下的身份特征模板得到合法用户的认证判定阈值;利用在日常使用计算机过程中记录的击键事件序列与监控模式下的身份特征模板得到合法用户的监控判定阈值;(2)所述认证和监控模式下的验证部分,包括下述步骤第一步,在认证模式下,获取用户对训练所用固定字符序列输入所产生的击键事件序列,依次提取其中的最小击键乱序片段作为击键乱序特征,同认证模式下的身份特征模板进行匹配,得到认证匹配值;在监控模式下,以时间长度T为周期,获取T内用户击键事件序列,依次提取其中的最小击键乱序片段作为击键乱序特征,同监控模式下的身份特征模板进行匹配,得到监控匹配值;第二步,在认证模式下,将认证匹配值同认证判定阈值进行比较,判定用户身份的合法性;在监控模式下,将监控匹配值同监控判定阈值进行比较,判定用户身份的合法性。
2.根据权利要求1所述的基于击键乱序特征的计算机用户身份验证方法,其特征在 于,所述的认证和监控模式训练部分中建立用户身份特征模板的方法包括下述步骤第一步,遍历击键事件序列,依次提取最小击键乱序片段;第二步,将所有非重复的最小击键乱序片段以字典序存储在最小击键乱序片段列表 中,该列表即为用户的身份特征模板。
3.根据权利要求1所述基于击键乱序特征的计算机用户身份验证方法,其特征在于, 所述计算机用户产生的击键事件序列为基本击键事件组成的序列,基本击键事件的格式 为{击键时间戳,按键键码,按键状态}。
4.根据权利要求1或2所述基于击键乱序特征的计算机用户身份验证方法,其特征在 于,最小击键乱序片段是指击键事件序列中出现击键乱序现象的一个片段,该片段内的任 一乱序基必存在至少一个片段内的其他乱序基与之交叠,且不与片段之外的任一乱序基交 叠。
5.根据权利要求1或2所述基于击键乱序特征的计算机用户身份验证方法,其特征在 于,所述的依次提取最小击键乱序片段的方法,其具体步骤为1)初始化标记链表、击键乱序事件链表、最小击键乱序片段列表为空,从击键事件序列 的起始端开始读取第一个击键按下事件,在标记链表中加入该击键事件的按键键码,并将 该击键事件的击键状态{按键键码,按键状态}存储至击键乱序事件链表中;2)从击键事件序列读取下一个击键事件作为当前击键事件;3)判断标记链表是否为空,若不为空,执行步骤9);4)判断击键乱序事件链表是否为空,若不为空,执行步骤6);5)判断当前击键事件的按键状态是否为按下,若为按下在标记链表中加入当前击键事 件的按键键码,并执行步骤12);6)判断击键乱序事件链表长度是否大于2,若不大于2,执行步骤8);7)击键乱序事件链表中存储的击键状态序列片段构成一个最小击键乱序片段,按字典 顺序将该最小击键乱序片段插入最小击键乱序片段列表中;8)清空击键乱序事件链表,并执行步骤11);9)判断标记链表中是否存在当前击键事件的按键键码,若不存在,执行步骤11);10)将当前击键事件的按键键码从标记链表中删除,并执行步骤12);11)将当前击键事件的按键键码加入标记链表;12)将当前击键事件的击键状态{按键键码,按键状态}添加至击键乱序事件链表末端;13)判断当前击键事件是否为击键事件序列的最后一个事件,若不是,执行步骤2);14)判断击键乱序事件链表长度是否大于2,若大于2,击键乱序事件链表中存储的击 键状态序列片段构成一个最小击键乱序片段,按字典顺序将该最小击键乱序片段插入最小 击键乱序片段列表中;15)清空击键乱序事件链表;16)最小击键乱序片段列表即为依次提取的最小击键乱序片段。
6.根据权利要求4所述基于击键乱序特征的计算机用户身份验证方法,其特征在于, 乱序基是指以单个按键一次击键的按下和弹起事件分别作为起点和终点确定的击键事件 序列的片段,是构成击键乱序现象的基本单位。
7.根据权利要求4所述基于击键乱序特征的计算机用户身份验证方法,其特征在于, 所述两个乱序基相交叠是指这两个乱序基存在共有的基本击键事件。
8.根据权利要求4或6所述基于击键乱序特征的计算机用户身份验证方法,其特征在 于,所述击键乱序现象是指计算机用户在击键过程中会对应于输入内容产生不同的击键事 件序列,存在当前按键的弹起发生在后续按键的按下和/或弹起之后的现象。
全文摘要
本发明涉及一种基于击键乱序特征的计算机用户身份验证方法,通过分析计算机用户的击键操作行为,依次提取用户的最小击键乱序片段作为击键乱序特征,并基于击键乱序特征建立计算机用户的身份特征模板,对计算机用户进行身份认证和身份监控。本发明的基于击键乱序特征的计算机用户身份验证方法的优点在于击键乱序特征摆脱了传统击键特征受时间精度影响的束缚,以击键事件序列的形式描述用户在击键过程中体现出的行为特性,以此来区分不同用户,此外,相比于传统的击键特征,击键乱序特征在认证和监控环境中均可保证特征的稳定性,能更好的体现用户的行为特性,提高身份认证与身份监控的容错性,具有更广泛的安全性和适用性。
文档编号G06F3/02GK101833626SQ201010176069
公开日2010年9月15日 申请日期2010年5月19日 优先权日2010年5月19日
发明者华涛, 杜婧子, 毛蔚轩, 沈超, 蔡忠闽 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1