首页> 中国专利> 创建节奏密码及根据节奏密码进行验证的方法和装置

创建节奏密码及根据节奏密码进行验证的方法和装置

摘要

本发明利用敲击所表达出来的生理特征将其作为一种生理密码加以利用,以创建用户特有的节奏密码,并且根据节奏密码进行验证。本发明中的创建节奏密码的方法,包括:向用户提供原始训练文本;接收用户按照所述原始训练文本所提供的输入训练文本;提取所述输入训练文本的相邻文本单元间的节奏特征值;以及根据所提取的相邻文本单元间的节奏特征值产生所述用户的节奏密码。本发明还提供了创建节奏密码的系统,以及根据节奏密码进行验证的方法和系统。本发明利用用户输入文本的节奏作为密码可以带来诸多优点,包括增加了密码的安全性,并节省了用户记住密码的成本。

著录项

  • 公开/公告号CN102955908A

    专利类型发明专利

  • 公开/公告日2013-03-06

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201110253933.8

  • 申请日2011-08-31

  • 分类号G06F21/31(20130101);

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人张亚非;于静

  • 地址 美国纽约

  • 入库时间 2024-02-19 17:23:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-15

    未缴年费专利权终止 IPC(主分类):G06F21/31 专利号:ZL2011102539338 申请日:20110831 授权公告日:20150812

    专利权的终止

  • 2015-08-12

    授权

    授权

  • 2013-04-03

    实质审查的生效 IPC(主分类):G06F21/31 申请日:20110831

    实质审查的生效

  • 2013-03-06

    公开

    公开

说明书

技术领域

本发明总体上涉及数据的处理,特别的本发明涉及创建节 奏密码的方法和装置,以及根据节奏密码进行验证的方法和装置。

背景技术

以文本方式设置密码数据是现在最常见的鉴权方式。然而 文本密码由于其本身的局限性存在很多缺陷,比如保密性差、容易被 遗忘、输入精确度要求高等。

为了进一步提高文本密码的保密性,现有技术中已经有人 提出在文本密码上进一步增加节奏密码进行二次加密。参见美国专利 文献US6954862B2,该文献提出了一个基于速度(pace)、节奏(rhythm) 和节拍(tempo)来加强文本密码的解决方案。该文献中的密码包括 一串字符和一个关联时序元素(associated timing element)。当访 问一个受限的装置或者功能时,用户需要根据正确的速度、节奏和节 拍输入正确的字符串。输入的字符串和时序元素会跟已经存储的值进 行比对,当且仅当这些值匹配时才能允许用户进行访问。也就是说, 用户不但要输入正确的字符串还要按照正确的速度、节奏和节拍进行 输入。一个简单的例子是,如果用户的文本密码是六个字母“Z”,那 么包含时序元素的密码可以是“ZZZ”(暂停)“ZZZ”,也就是说在输 入三个字母“Z”后暂停一段时间,比如两秒。

发明内容

本领域的普通技术人员发现尽管在纯文本密码上结合节奏 信息可以进一步增强密码的安全性。但是由于现有技术中用户输入的 密码不论从文字还是节奏上都是特定的,因此他人可能依旧通过观察 用户输入密码的过程而记住用户密码中的字符串与节奏信息。也就是 说现有技术中密码的设计仍然具有一定局限性。

为了增加密码的安全性,很多应用要求用户每隔一段时间 (比如半年)就更换密码,这样的要求虽然从一定程度上提高了安全 性,但是却增加了用户的密码维护成本,影响了用户体验,因为频繁 更换密码不利于用户记住自己的密码。

已有研究表明就像人的书写方式能够反映人的生理特征 (neurophysiological factors)一样,人的敲击方式(typing  pattern)在很大程度上也反映了一个人的生理特征。

本发明的发明人发现敲击所表达出来的生理特征可以被作 为一种生理密码加以利用。

因此,本发明提供一种创建节奏密码的方法,包括:向用 户提供原始训练文本;接收用户按照所述原始训练文本所提供的输入 训练文本;提取所述输入训练文本的相邻文本单元间的节奏特征值; 以及根据所提取的相邻文本单元间的节奏特征值产生所述用户的节 奏密码。

本发明还提供一种根据节奏密码进行验证的方法,包括: 为用户生成原始验证文本;接收所述用户按照所述原始验证文本提供 的输入验证文本;提取所述输入验证文本中的相邻文本单元间的节奏 特征值;将所提取的相邻文本单元间的节奏特征值与所述用户的节奏 密码进行比较;以及根据比较结果判断所述用户是否成功通过了节奏 密码的验证。

本发明还提供一种创建节奏密码的系统,包括:提供装置, 被配置为向用户提供原始训练文本;第一接收装置,被配置为接收用 户按照所述原始训练文本所提供的输入训练文本;第一提取装置,被 配置为提取所述输入训练文本的相邻文本单元间的节奏特征值;以及 产生装置,被配置为根据所提取的相邻文本单元间的节奏特征值产生 所述用户的节奏密码。

本发明还提高一种根据节奏密码进行验证的系统,包括: 生成装置,被配置为为用户生成原始验证文本;第二接收装置,被配 置为接收所述用户按照所述原始验证文本提供的输入验证文本;第二 提取装置,被配置为提取所述输入验证文本中的相邻文本单元间的节 奏特征值;比较装置,被配置为将所提取的相邻文本单元间的节奏特 征值与所述用户的节奏密码进行比较;以及第一判断装置,被配置为 根据比较结果判断所述用户是否成功通过了节奏密码的验证。

利用用户输入文本的节奏作为密码可以带来诸多优点,包 括增加了密码的安全性,并节省了用户记住密码的成本。上述以及其 它优点的具体体现将在具体实施方式部分结合具体实施例进行更加 详细的说明。

附图说明

本说明中所参考的附图只用于示例本发明的典型实施例, 不应该认为是对本发明范围的限制。

图1示出了适于用来实现本发明实施方式的示例性计算系 统100的框图。

图2示出了按照本发明的一种实施例的创建节奏密码的方 法流程图。

图3示出了按照本发明的一种实施例的根据节奏密码进行 验证的方法流程图。

图4示出了按照本发明的一种实施例的生成原始验证文本 的方法流程图。

图5示出了按照本发明的另一种实施例的生成原始验证文 本的方法流程图。

图6示出了按照本发明的一种实施例的创建节奏密码的系 统框图。

图7示出了按照本发明的一种实施例的根据节奏密码进行 验证的系统框图。

图8示出了按照本发明的一种实施例的原始验证文本生成 装置框图。

图9示出了按照本发明的另一种实施例的原始验证文本生 成装置框图。

具体实施方式

本文中所用的术语,仅仅是为了描述特定的实施例,而不 意图限定本发明。本文中所用的单数形式的“一”和“该”,旨在也包括 复数形式,除非上下文中明确地另行指出。还要知道,“包含”一词在 本说明书中使用时,说明存在所指出的特征、整体、步骤、操作、单 元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、 步骤、操作、单元和/或组件,以及/或者它们的组合。

权利要求中的对应结构、材料、操作以及所有功能性限定 的装置(means)或步骤的等同替换,旨在包括任何用于与在权利要求 中具体指出的其它单元相组合地执行该功能的结构、材料或操作。所 给出的对本发明的描述其目的在于示意和描述,并非是穷尽性的,也 并非是要把本发明限定到所表述的形式。对于所属技术领域的普通技 术人员来说,在不偏离本发明范围和精神的情况下,显然可以作出许 多修改和变型。对实施例的选择和说明,是为了最好地解释本发明的 原理和实际应用,使所属技术领域的普通技术人员能够明了,本发明 可以有适合所要的特定用途的具有各种改变的各种实施方式。

所属技术领域的技术人员知道,本发明的多个方面可以体 现为系统、方法或计算机程序产品。因此,本发明的多个方面可以具 体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、 驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统” 的软件部分与硬件部分的组合。此外,本发明的多个方面还可以采取 体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计 算机可读介质中包含计算机可用的程序码。

可以使用一个或多个计算机可读的介质的任何组合。计算 机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计 算机可读存储介质例如可以是——但不限于——电的、磁的、光的、 电磁的、红外线的、或半导体的系统、装置、器件或任何以上的组合。 计算机可读存储介质的更具体的例子(非穷举的列表)包括以下:有 一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储 器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪 存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁 存储器件、或者上述的任何合适的组合。在本文件的语境中,计算机 可读存储介质可以是任何包含或存储程序的有形的介质,该程序被指 令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可包括在基带中或者作为载波一部 分传播的、其中体现计算机可读的程序码的传播的数据信号。这种传 播的信号可以采用多种形式,包括——但不限于——电磁信号、光信 号或任何以上合适的组合。计算机可读的信号介质可以是并非为计算 机可读存储介质、但是能发送、传播或者传输用于由指令执行系统、 装置或者器件使用或者与其结合使用的程序的任何计算机可读介质。 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括 ——但不限于——无线、电线、光缆、RF等等,或者任何合适的上 述组合。

计算机可读介质上包含的程序代码可以用任何适当的介质 传输,包括——但不限于——无线、电线、光缆、RF等等,或者任 何合适的上述组合。

用于执行本发明的操作的计算机程序码,可以以一种或多 种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象 的程序设计语言-诸如Java、Smalltalk、C++之类,还包括常规的 过程式程序设计语言-诸如”C ”程序设计语言或类似的程序设计语 言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机 上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在 远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一 种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN) 或广域网(WAN)-连接到用户的计算机,或者,可以(例如利用因特 网服务提供商来通过因特网)连接到外部计算机。

以下参照按照本发明实施例的方法、装置(系统)和计算 机程序产品的流程图和/或框图描述本发明的多个方面。要明白的是, 流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合, 都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用 计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产 出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些 指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装 置。

也可以把这些计算机程序指令存储在能指令计算机或其它 可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存 储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中 的方框中规定的功能/操作的指令装置(instruction means)的制造 品。

也可以把计算机程序指令加载到计算机或其它可编程数据 处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列 操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装 置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能 /操作的过程。

本发明附图中的流程图和框图,图示了按照本发明各种 实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能 和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、 程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含 一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在 有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中 所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并 行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而 定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/ 或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基 于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实 现。

图1示出了适于用来实现本发明的一种实施方式的示例性 计算系统100的框图。如所示,计算机系统100可以包括:CPU(中 央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器) 103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控 制器107、并行接口控制器108、显示控制器109、硬盘110、键盘 111、串行外部设备112、并行外部设备113和显示器114。在这些设 备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘 控制器105、键盘控制器106、串行控制器107、并行控制器108和 显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘 控制器106耦合,串行外部设备112与串行接口控制器107耦合,并 行外部设备113与并行接口控制器108耦合,以及显示器114与显示 控制器109耦合。应当理解,图1所述的结构框图仅仅为了示例的目 的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据 具体情况而增加或者减少某些设备。

图2示出了按照本发明的一种实施例的创建节奏密码的方 法流程图。在步骤201向用户提供原始训练文本,比如“a bird is  flying away from the tree”。用户将会按照该原始训练文本进行输 入。在步骤203接收所述用户按照所述原始训练文本所提供的输入训 练文本,比如用户按照自己的节奏通过键盘敲击“a bird is flying  away from the tree”。在步骤205提取所述输入训练文本的相邻文 本单元间的节奏特征值。在步骤207根据所述输入训练文本中相邻文 本单元的节奏特征值产生所述用户的节奏密码。

按照本发明的一个实施例,所述节奏特征值为所述相邻文 本单元间的时间间隔。

按照本发明的一个实施例,步骤207进一步包括:记录相 邻文本单元间的时间间隔作为所述用户的节奏密码。如下表1所示:

  “a”   “b”   “c”   “d”   ......   “x”   “y”   “z”   “_”   “a”   0.3   “b”   0.1   “c”   “d”    ......   “x”   “y”   0.05   “z”   “_”   0.1   0.2   0.05

表1

表1是一个28×28的表格,其中行与列是对称的,首行和 首列中存储了26个英文字母加上一个空格“_”。表1中共有729个 空。在“a”列与“_”行交叉的空中存储的数字0.1表示用户的节奏 密码中相邻的文本单元“a”与“_”间用户敲击的时间间隔是0.1秒。 比如,假设原来用户的节奏密码中没有填写任何数据,之后将原始训 练文本“a bird is flying away from the tree”提供给用户,用 户在键盘上进行了正确的敲击,于是两个相邻文本单元间的时间间隔 被记录在表1中成为节奏密码,所述节奏密码中记录了至少两个文本 单元间的时间间隔,比如前文所述的“a”与“_”间的时间间隔0.1 秒。进一步,可以用式r[a][_]=0.1表示文本单元“a”与“_”间的 时间间隔。用户在敲击原始训练文本“a bird is flying away from  the tree”后会在表1的34个空中记录时间间隔。如果向用户提供 更多的原始训练文本,将有更多的时间间隔被记录在表1中,如果某 一个空已经有时间间隔,可以将新的时间间隔与原有时间间隔进行平 均。比如当该用户继续按照原始训练文本“a little girl is crying” 进行敲击时,又会获得一个新的r[a][_]值(比如0.2),将新的r[a][_] 值与原有r[a][_]值进行平均得到0.15,将该平均值重新填到表1中 “a”列与“_”行的交叉处。

本实施例中以敲击键盘为例进行说明,但是本发明实际上 并不限定于对一般的电脑键盘进行敲击,还包括对触摸屏,对手机上 的小型键盘的敲击等。当然本发明也不排除其它的输入方式。

虽然本说明书以英文为例进行说明,但是本发明对文本的 语言并不作限定,其可以是除英文以外的其它文字、数字或字符,只 要所述文字、数字或字符能够在键盘或其它输入装置上表现出来即 可。

表1所示的是一个二维表,表中记录着相邻的两个文本单 元的时间间隔。按照本发明的另一个实施例,所述节奏特征值为相邻 文本单元的敲击时间总和,所述时间总和等于相邻文本单元的敲击时 间与相邻文本单元的时间间隔之和,比如“a”的敲击时间、“_”的 敲击时间、“a”与“_”的时间间隔之和。

按照本发明的另一个实施例,所述表格还可以是三维表, 三维表中记录着相邻的三个文本单元的时间间隔,比如对于“boy” 这个单词而言,在表格中“b”、“o”、“y”三个维度交叉处记录的可 以是“b”、“o”的时间间隔与“o”、“y”的时间间隔之和。按照本发 明的另一个实施例,在表格中“b”、“o”、“y”三个维度交叉处记录 的可以是“b”、“o”、“y”敲击的时间总和,包括“b”“o”间的时间 间隔、“o”“y”间的时间间隔、以及“b”、“o”、“y”三个文本单元 的敲击时间之和。

按照本发明的一个实施例,为了节省表1中的存储量,可 以不必由一个文本单元占用一行或者一列,而是将至少两个文本单元 组成组合占用一行或者一列。比如将表1这个28×28的表格缩减成 如下表2所示的11×11的表格。表2中以“a/q/z”为首的列与以 “w/s/x”为首的行的交叉处所存储的是文本单元“a”、“q”、“z”中 的任意一个与文本单元“w”、“s”、“x”中的任意一个相邻时,相邻 文本单元的时间间隔。采用表2的方法可以节省表格的空间和存储 量,但是其密码匹配的粒度也会随之变粗。也就是说,在实际应用中 可以根据对安全性的需要和对存储容量的要求,选择采用表1中的实 施例或表2中的实施例。

  a/q/z   w/s/x   e/d/c   r/f/v   t/g/b   y/h/n   u/j/m   i/k   o/l/p _   a/q/z   w/s/x
  e/d/c   r/f/v   t/g/b   y/h/n   u/j/m   i/k   o/l/p   _

表2

此外,虽然上文中主要以表1和表2为例进行说明,但是 本发明并不限于仅将相邻文本单元的节奏特征值记录在表格中,所述 节奏特征值可以记录在其它适合的数据结构中,包括列表、数据库等。

按照本发明的一个实施例,步骤207进一步包括将所述输 入训练文本与所述原始训练文本进行匹配,并且仅将匹配的相邻文本 单元的节奏特征值作为所述用户的节奏密码。将所述输入训练文本与 所述原始训练文本进行匹配,也就是检查用户是否按照原始训练文本 正确的提供了输入训练文本。用户通过敲击键盘提供输入训练文本的 过程中可能存在错击(wrong hit)或漏击(miss hit)的情况。这 些错击或漏击的输入可能不能准确反映用户的敲击习惯,从而不能正 确反映用户的生理特征,因此为了提高建立的节奏密码的准确性,可 以排除出这些错击和漏击的情况。比如用户将“bird”敲击成“bid”, 则在记录节奏密码的表格中可以不记录r[i][d]的值(此时,仍然可 以记录r[b][i]的值,因为相邻文本单元“b”“i”的敲击是没有错 误的),如果用户将“bird”敲击成“bitd”,则在记录节奏密码的 表格中可以不记录r[i][t]的值和r[t][d]的值。当然在本发明的其 它实施例中,也可以在出现错击或漏击后,不记录整个单词(比如 “bird”)中的任何相邻文本单元的时间间隔。

图3示出了按照本发明的一种实施例的根据节奏密码进行 验证的的方法流程图。在步骤301中为用户生成原始验证文本,比如 在屏幕上显示一句话“a boy is crying”,提示用户按照这句话进行 敲击。原始验证文本是用户进行节奏密码验证的基础。在记录节奏密 码的表格中的数据充足的情况下,比如表1中的所有27×27个空都 被填入相应的节奏密码,或者表1中超过一定比例(如80%或90%) 的空都被填入相应的节奏密码,则在生成原始验证文本时可能不需对 原始验证文本进行特别的挑选。但是在记录节奏密码的表格中的数据 不够充足的情况下,比如表1中仅记录了少量的数据表示某一特定用 户的节奏密码,则需要对原始验证文本进行特别挑选,以保证生成的 所述原始验证文本中有超过第一阈值的相邻文本单元在所述节奏密 码中存在记录,相关的具体步骤将在下文中进行详细描述。

在步骤303中接收所述用户按照所述原始验证文本提供的 输入验证文本。用户可以通过敲击电脑键盘、触摸屏、手机上的小键 盘或其它或输入装置提供输入验证文本。

在步骤305提取所述输入验证文本中的相邻文本单元间的 节奏特征值。在一个实施例中,所述节奏特征值为相邻文本单元的时 间间隔。

在步骤307中将所述提取的输入验证文本中的相邻字符文 本单元间的节奏特征值与所述用户的节奏密码进行比较。按照本发明 中的一种实施例,所述节奏密码也表示为至少两个文本单元间的时间 间隔。

理想状态下,用户提供的输入验证文本中的内容应该和原 始验证文本的内容完全一致,当然在出现漏击或错击的情况下,按照 本发明的一种或多种实施例仍然可以进行一定程度的验证。按照本发 明的一个实施例,所述步骤307可以进一步包括将所述输入验证文本 与所述原始验证文本进行匹配以确定正确提供的输入验证文本的相 邻文本单元,并且在有超过第二阈值(比如90%)的正确提供的输 入验证文本的相邻文本单元的情况下才进行相邻文本单元间的节奏 特征值与所述用户的节奏密码的比较。对于未按照原始验证文本正确 提供的输入验证文本的相邻文本单元,则排除出所述比较的范围。比 如原始验证文本“a boy is crying”中一共有15个文本单元,14 个相邻文本单元对,用户敲击的输入验证文本为“a by is crying”, 漏击了一个文本单元“o”,用户一共提供了14个文本单元,13个文 本单元对,其中有12个文本单元对都是正确的,但是有一个文本单 元对“by”是错误的,因为其中漏击的文本单元“o”。这时,可以不 对输入验证文本中“by”的时间间隔与记录节奏密码的表格中的 r[b][y]值进行比较,因为文本单元对“by”的时间间隔可能不能反 映用户的正常状态下的生理特征。如果用户漏击或者错击的文本单元 过多,比如13个文本单元对中有两个或两个以上的文本单元对是错 的,则不进行上述比较,而是提醒用户再次按照原始验证文本进行敲 击。

按照本发明的另一个实施例,虽然不对输入验证文本中 “by”的时间间隔与记录节奏密码的表格中的r[b][y]值进行比较, 但是可以将输入验证文本中“by”的时间间隔记录在表1中,以尽快 丰富表1中节奏密码的数值。

在某些情况下,用户提供输入验证密码时,本来要敲击 “boy”,但是却错误的敲成了“bly”,然后用户马上意识到敲错了, 立刻又进行了纠正,删除了“ly”,并且重新输入了“oy”,此时,文 本单元“b”与文本单元“o”之间的时间间隔肯定远远长于正常状态 下用户敲击“bo”的时间间隔。按照本发明的一个实施例,则不对“bo” 的时间间隔进行比较。

对所述输入验证文本中的相邻文本单元间的时间间隔与所 述节奏密码进行比较,比较基本的方法就是计算所述输入验证文本中 的相邻文本单元间的时间间隔与在节奏密码中记录的所述相邻文本 单元间的时间间隔的差的平均值。比如可以通过如下公式1进行比 较:

e=Σr[i][j]NULL|r[i][j]-r[i][j]|count公式1

其中r[i][j]表示输入验证文本中相邻文本单元“i”与“j” 之间的时间间隔,r’[i][j]表示节奏密码中相邻文本单元“i”与“j” 之间的时间间隔,count表示有效的相邻文本单元对的个数,比如如 前文所述的,错误输入的相邻文本单元对可以排除出上述比较的范 围。e表示输入验证文本与节奏密码间的平均误差值。e的值越小说 明误差值越小,当e的值小于第三阈值时(比如20毫秒),可以在后 面的步骤407中认定验证成功。

此外,还可以通过其它的公式(比如下面的公式2)进行 输入验证文本中的相邻文本单元间的时间间隔与所述节奏密码进行 比较:

e=Σr[i][j]NULL(r[i][j]-r[i][j])2count公式2

除了上述公式1和公式2以外,本发明并不排除其它的比 较公式,比如可以逐一比较输入验证文本中r[i][j]的值与节奏密码 中r’[i][j]的值之间的差,找到几个误差值比较大的相邻文本单元对 (比如输入验证文本的所有文本单元对中,误差最大的前25%个相 邻文本单元对,在“a boy is crying”的例子中,就是误差最大的前4 个相邻文本单元对),然后计算这几个相邻文本单元对的时间间隔与 节奏密码中的平均误差e,当e值小于第四阈值(比如30ms)时,则 可以在后面的步骤407中认定验证成功。当然,本发明并不排除采用 其它的公式来计算误差值e。

按照本发明的另一个实施例,除了进行上述基本的比较之 外,还可以进一步增加比较的内容,比如所述步骤307可以进一步包 括计算所述输入验证文本中连续的两对相邻文本单元间的时间间隔 之比与在节奏密码中记录的相应的两对相应相邻文本单元间的时间 间隔的之比的差。比如对于单词“boy”,可以计算用户输入的 r[b][o]/r[o][y]的值与节奏密码中r’[b][o]/r’[o][y]的值,从而通 过判断两对相邻文本单元间的变化趋势进行更加细粒度的验证。

在本发明的另一种实施例中,除了进行上述基本的比较之 外,步骤405还可以进一步包括计算所述输入验证文本中连续的两对 相邻文本单元间的时间间隔之和与在节奏密码中记录的相应的两对 相应相邻文本单元间的时间间隔的之和的差。仍然以“boy”这个单 词为例,也许用户每次输入的r[b][o]与r[o][y]的值都不太一样, 但是用户每次输入的r[b][o]的值与r[o][y]的值之和都差不多,也 就是说r[b][o]的值与r[o][y]的值之和能够从一定程度上反映用户 的生理特征。比如,在节奏密码中r[b][o]为0.2,r[o][y]为0.3, 二者之和为0.5。在用户敲击的输入验证文本中r[b][o]为0.3, r[o][y]为0.2,二者之和还是0.5。这种情况下,通过计算r[b][o] 的值与r[o][y]的值之和可以对仅比较两个相邻文本单元之间的时间 间隔的方式进行一定程度的校正。所述时间间隔之和的计算也可以适 用于两对以上的连续相邻文本单元(比如三对、四对等)。

在步骤309中根据比较结果判断所述用户是否成功通过了 节奏密码的验证。如果用户正确输入了节奏密码,则表明鉴权成功, 允许用户进行后续的操作(比如登录某个网页等)。

图4示出了按照本发明的一种实施例的生成原始验证文本 的方法流程图。在步骤401中维护单词库(比如具有1000个单词的 单词库)。所述单词库可以是以任何格式的数据结构进行存储的,比 如列表、数据库等。

在步骤403中按照所述节奏密码对所述单词库中的单词打 分以表明所述单词中的相邻文本单元在所述节奏密码中出现的概率。 对于每个用户,对单词库里的每个单词打分,例如对于所述单词库中 的单词“desk”,所述用户的节奏密码中存储有r[d][e]的值,r[s][k] 的值,但是没有r[e][s]的值,那么对于单词“desk”的打分就是2∶3 或0.67。当然,按照本发明的一个实施例,上述打分的过程可以是 在计算机闲时完成的,而不必在每次有用户请求验证密码时临时进行 打分。进一步,按照本发明的一个实施例,可以在每当节奏密码中存 储新的或更新原有的相邻文本单元的时间间隔时,对单词库中相关 的单词的打分进行更新。

在步骤405中根据给定语法结构模板选择总分数超过所述 第一阈值(比如60%)的单词组成原始验证文本。其中所述语法结 构模板可以例如noun+verb+noun或noun+verb+adverb等。

当然本发明对语法结构模板不作任何限制,而是可以在本 发明中采用任何其它的语法结构模板。进一步,也可以在语法结构模 板上附加更多的语法限制,如时态等。然后根据给定的语法结构模板 选择符合特定词性的单词,并且把这些单词组成句子,条件是要保证 选择的单词的总分数超过第一阈值(比如60%)。也就是说被选作原 始验证文本的句子中应当有超过第一阈值的相邻文本单元对在节奏 密码中存在已有记录。比如,用户在按照原始训练文本进行输入时正 确的提供了输入验证文本“a bird is flying away from the tree”, 在验证阶段,根据步骤405所生成的原始验证文本为“a boy is  crying”,其中原始验证文本中的14个相邻文本单元对中有64%的 文本单元对在节奏密码中出现过。因此“a boy is crying”这一原 始验证文本满足第一阈值的要求。

采用语法结构模板对原始验证文本进行限定,可以对原始 验证文本的语法进行规范,但是不一定保证原始验证文本的语义符合 正常的逻辑。比如生成的原始验证文本可能是“a cat is flying”。

与要求用户按照无规律的文本单元进行敲击相比,如果原 始验证文本的语法符合一定规范,并且原始验证文本中的单词是正确 拼写的单词,则用户敲击时所体现的生理特征则会更加明显。

按照本发明的一个实施例,如果用户成功的通过了节奏密 码的验证,可以用所述输入验证文本中相邻文本单元的时间间隔对所 述用户的节奏密码进行更新。如上例所示,如果用户正确提供的输入 验证文本中有超过第一阈值的相邻文本单元对在节奏密码中出现过, 而有另外一部分相邻文本单元对在节奏密码中未出现过,比如有64 %的相邻文本单元对在节奏密码中出现过,而有36%相邻文本单元 对在节奏密码中未出现过,那么则可以进一步将这36%的相邻文本 单元的节奏特征值补充记录在节奏密码中。按照这一实施例,无需在 一开始要求用户提供大量的输入训练文本,就可以在节奏密码的验证 过程中不断的丰富节奏密码的数据,在提高密码验证的安全性的同 时,保证良好的用户体验,并且节省用户敲击大量输入验证文本的时 间。对于64%的在节奏密码中出现过的相邻文本单元对,还可以进 一步将这64%的相邻文本单元对间的时间间隔更新到现有的节奏密 码中(比如将新的时间间隔与原有时间间隔进行平均,而后再存储到 节奏密码的对应位置处),从而对节奏密码进行进一步更新。

图5示出了按照本发明的另一种实施例的生成原始验证文 本的方法流程图。在步骤501维护句库(比如600个句子的句库)。 所述句库可以是以任何格式的数据结构进行存储的,比如列表、数据 库等。当然所述句库中的句子可以是一个语法结构完整的句子,可以 是多个语法结构完整的句子的组合,甚至也可以是一个语法结构不完 整的句子。

在步骤503选择一个句子。步骤503中的选择可以是随机 选择的,也可以是按照某种顺序进行选择的,比如按照句子录入句库 的时间顺序,或者句子中字母的排序等进行选择的。

在步骤505判断所述选择的句子中的相邻文本单元在所述 节奏密码中出现的概率。在步骤507判断所述概率是否超过第一阈值 (比如60%)。当超过第一阈值时,在步骤509确定所述选择的句子 为原始验证文本。在不超过第一阈值时,回到步骤503,选择下一个 句子。

相比于图4中的实施例采用比较主动的方式生成原始验证 文本,图5中的实施例采用的是被动测试的方式生成原始验证文本。 比较而言,图4中的实施例可以比较快的生成原始验证文本,但是计 算成本相对较高,图5中的实施例计算成本相对较低,但是可能生成 原始验证文本的速度相对偏慢。因此,实践中可以按照不同的应用场 景的需求采用不同的方式。当然,本发明还可以采用其它的生成原始 验证文本的方式。

下文对本发明中的系统进行描述,由于本发明的系统与上 文中描述的方法基本对应,因此在下文中不对重复内容进行详细描 述。

图6示出了按照本发明的一种实施例的创建节奏密码的系 统框图。图6中的系统包括提供装置、第一接收装置、第一提取装置 以及产生装置。其中所述提供装置被配置为向用户提供原始训练文 本。所述第一接收装置,被配置为接收用户按照所述原始训练文本所 提供的输入训练文本。所述第一提取装置,被配置为提取所述输入训 练文本的相邻文本单元间的节奏特征值。所述产生装置,被配置为根 据所提取的相邻文本单元间的节奏特征值产生所述用户的节奏密码。 [0073]按照本发明的一个实施例,所述产生装置进一步被配置为 在表格中记录所述输入训练文本中相邻字符间的时间间隔以作为所 述用户的节奏密码。

按照本发明的一个实施例,所述产生装置进一步被配置为: 将所述输入训练文本与所述原始训练文本进行匹配;以及仅将匹配的 相邻文本单元的节奏特征值作为所述用户的节奏密码。

按照本发明的一个实施例,所述节奏密码存储在表格中, 并且所述表格的至少一个行或列存储至少两个文本单元的组合。

按照本发明的一个实施例,所述比较装置进一步被配置为 将所述输入验证文本与所述原始验证文本进行匹配以确定正确提供 的输入验证文本的相邻文本单元。并且在有超过第二阈值的正确提供 的输入验证文本的相邻文本的情况下才进行相邻文本间的节奏特征 值与所述用户的节奏密码的比较。

图7示出了按照本发明的一种实施例的根据节奏密码进行 验证的系统框图。所述系统包括生成装置、第二接收装置、第二提取 装置、比较装置以及第一判断装置。其中生成装置被配置为为用户生 成原始验证文本。第二接收装置,被配置为接收所述用户按照所述原 始验证文本提供的输入验证文本。第二提取装置,被配置为提取所述 输入验证文本中的相邻文本单元间的节奏特征值。比较装置,被配置 为将所提取的相邻文本单元间的节奏特征值与所述用户的节奏密码 进行比较。第一判断装置,被配置为根据比较结果判断所述用户是否 成功通过了节奏密码的验证。

按照本发明的一个实施例,图7中的系统中的所述节奏特 征值为所述相邻文本单元间的时间间隔。

按照本发明的一个实施例,图7中的系统中生成的所述原 始验证文本中有超过第一阈值的相邻文本单元在所述节奏密码中存 在记录。

按照本发明的一个实施例,图7中的系统中的比较装置进 一步被配置为计算所述输入验证文本中的相邻文本单元间的时间间 隔与在节奏密码中记录的所述相邻文本单元间的时间间隔的差。

按照本发明的一个实施例,图7中的系统进一步包括更新 装置,其被配置为响应于所述用户成功的通过了节奏密码的验证,用 所述输入验证文本中相邻文本单元的节奏特征值对所述用户的节奏 密码进行更新。

图8示出了按照本发明的一种实施例的原始验证文本生成 装置框图。图8中的所述原始验证文本生成装置进一步包括第一维护 装置、打分装置以及第一选择装置。其中第一维护装置,被配置为维 护单词库。打分装置,被配置为按照所述节奏密码对所述单词库中的 单词打分以表明所述单词中的相邻文本单元在所述节奏密码中出现 的概率。第一选择装置,被配置为根据给定语法结构模板选择总分数 超过所述第一阈值的单词组成原始验证文本。

图9示出了按照本发明的另一种实施例的原始验证文本生 成装置框图。图9中的原始验证文本生成装置包括第二维护装置、第 二选择装置、第二判断装置、确定装置。其中第二维护装置被配置为 维护句库。第二选择装置被配置为选择一个句子。第二判断装置被配 置为判断所述选择的句子中的相邻文本单元在所述节奏密码中出现 的概率以及判断所述概率是否超过第一阈值(比如60%)。确定装置 被配置为在所述概率超过第一阈值的情况下确定所述选择的句子为 原始验证文本,并且在所述概率不超过第一阈值的情况下,由所述第 二选择装置继续选择下一个句子。

本发明可以作为单独的验证方案进行使用(比如用用户ID 与节奏密码一起使用),也可以与传统的验证方案(比如文本密码进 行验证的方案)一同使用。

本发明的各种实施例具有下述优势中的至少一种:(1)增 加了密码的安全性,本发明利用用户的生理特征进行节奏密码的验证 而不是利用固定的节奏进行验证。特别的,按照本发明的一个实施例, 由于用户在每次验证时被提供不同的原始验证文本,因此每次要求用 户验证时所输入的文本都是不同的,即便他人偷看到了用户输入密码 的过程也无法记住其敲击模式所隐含的生理特征。并且即便他人偷看 到了提供给用户的原始验证文本,他人也很难掌握用户敲击节奏,因 此他人很难破解用户的密码。(2)节省了用户记住密码的成本。在现 有技术中用户需要记住自己设定的密码,但是按照本发明的一个实施 例,用户可以不记或者少记自己设定的密码,因为每次系统都会提供 不同的原始验证文本让用户敲击。(3)节省了用户更换密码的成本。 很多应用要求用户定期更换密码以提高安全性,按照本发明的一个实 施例,由于用户在每次验证时被提供不同的原始验证文本,因此其敲 击的原始验证文本本身就是每次都不一样的。(4)密码输入具有灵活 性。按照本发明的一个是实施例,不要求用户敲击的输入验证文本与 原始验证文本内容的严格匹配,系统可以自动识别漏击、误击等情况, 并加以自动过滤,允许一定的容错性。(5)自动对节奏密码进行完善, 用所述输入验证文本中相邻文本单元的时间间隔对所述用户的节奏 密码进行更新,比如用户不需要提供大量的输入训练文本,而是可以 在每次验证中对节奏密码的内容进行扩充和完善。

本发明的各种实施例可以提供许多优点,包括已经在发明 内容中列举的,和能够从技术方案本身推导出来的。但是无论一个实 施例是否取得全部优点,并且也无论这样的优点是否被认为是取得实 质性提高,都不应构成对本发明的限制。同时,上文中提到的各种实 施方式,仅仅是出于说明的目的,本领域的普通技术人员可以对上述 实施方式做出各种修改和变更,而不偏离本发明的实质。本发明的范 围完全由所附权利要求书限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号