基于字符位置的口令恢复.pdf

上传人:b*** 文档编号:974513 上传时间:2018-03-22 格式:PDF 页数:21 大小:765.65KB
返回 下载 相关 举报
摘要
申请专利号:

CN200780037483.0

申请日:

2007.10.04

公开号:

CN101523373A

公开日:

2009.09.02

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 15/16变更事项:专利权人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150512|||授权|||实质审查的生效|||公开

IPC分类号:

G06F15/16; G06F21/20

主分类号:

G06F15/16

申请人:

微软公司

发明人:

R·L·贝克; K·沙利文

地址:

美国华盛顿州

优先权:

2006.10.4 US 11/538,791

专利代理机构:

上海专利商标事务所有限公司

代理人:

陈 斌

PDF下载: PDF下载
内容摘要

口令恢复技术包括通过为文字的每一字符位置顺序地从字符串中选择字符来生成该文字。对于文字的每一位置,字符串中字符的顺序是单独地选择的。可以输入每一顺序地生成的文字,直到确定了口令为止。

权利要求书

1.  一个或多个可用于确定口令的计算机可读介质(702),所述计算机可读介质包括用于以下动作的指令:
顺序地生成具有至少一个字符位置的文字,每一文字都是通过从字符串中顺序地为所述文字的每一字符位置选择字符来生成的,并且所述字符串中的字符的顺序是对于所述文字的每一位置单独地选择的(814);以及
输入顺序地生成的每一文字,直到确定了所述口令为止(816)。

2.
  如权利要求1所述的一个或多个计算机可读介质,其特征在于,为所述文字的每一位置所选择的字符串包括以所述字符的每一个出现在相应位置处的频率的顺序组织的多个字符。

3.
  如权利要求2所述的一个或多个计算机可读介质,其特征在于,所述字符的每一个出现在每一位置的频率是基于字典来确定的。

4.
  如权利要求3所述的一个或多个设备可读介质,其特征在于,所述字典是英语字典。

5.
  如权利要求3所述的一个或多个设备可读介质,其特征在于,所述字典包括名称、日期和单词的常见拼写错误。

6.
  如权利要求2所述的一个或多个计算机可读介质,其特征在于,所述字符的每一个出现在每一位置的频率是基于对现有口令样本的研究来确定的。

7.
  如权利要求2所述的一个或多个计算机可读介质,其特征在于,所述字符的每一个出现在每一位置的频率是基于语法规则来确定的。

8.
  如权利要求1所述的一个或多个计算机可读介质,其特征在于,每一字符串都包括小写字母、大写字母、数字、空格和符号中的至少两个。

9.
  如权利要求1所述的一个或多个计算机可读介质,其特征在于,用于所述文字的第一位置的字符串被安排成以大写字母开始。

10.
  如权利要求1所述的一个或多个计算机可读介质,其特征在于,用于所述文字的第一位置的字符串包括以如下顺序排列的字母和数字:s,c,p,a,b,t,m,d,r,h,f,g,u,e,l,i,o,n,w,v,k,j,q,y,z,0,x,3,1,2,4,6,5,7,8,9。

11.
  一种选择可用于确定口令的字符串的方法,所述方法包括:
标识可用于所述口令的语言(802);
标识可在所述口令中使用的容许字符(804);
标识所述口令中的字符位置(806);
确定所述容许字符的每一个在所标识的语言的单词中的所标识的位置处使用的频率(808);以及
基于所确定的、每一容许字符在所标识的语言中的所标识的位置处使用的频率,将所述容许字符排列成字符串(810)。

12.
  如权利要求11所述的方法,其特征在于,所述字符串包括以所确定的频率的顺序、从使用得最频繁到使用得最不频繁排列的所述容许字符。

13.
  如权利要求11所述的方法,其特征在于,进一步基于语法规则将所述容许字符排列成字符串。

14.
  如权利要求11所述的方法,其特征在于,用于所述口令中的第一位置的字符串被安排为以大写字母开始。

15.
  一个或多个包括用于实现如权利要求11所述的方法的指令的计算机可读介质。

16.
  一种方法,包括:
标识可用于口令的语言(802);
标识可在所述口令中使用的容许字符(804);
标识所述口令容许的最多字符位置(806);
对于直到所述最多字符位置的每一字符位置,确定所述容许字符的每一个在所标识的语言中的相应字符位置处使用的频率(808);
对于每一位置,基于所确定的、每一字符在所标识的语言的单词中的相应位置处使用的频率,将所述容许字符排列成字符串(810);
顺序地生成具有至少一个字符位置的文字,每一文字都是通过从用于该文字的每一字符位置的字符串中顺序地为该位置选择字符来生成的(814);以及
输入顺序地生成的每一文字,直到确定了所述口令为止(816)。

17.
  如权利要求16所述的方法,其特征在于,所述字符的每一个出现在每一位置处的频率是基于英语字典来确定的。

18.
  如权利要求17所述的方法,其特征在于,所述字典包括名称、日期和单词的常见拼写错误。

19.
  如权利要求16所述的方法,其特征在于,所述字符的每一个出现在每一位置处的频率是基于对现有口令样本的研究来确定的。

20.
  如权利要求16所述的方法,其特征在于,所述字符的每一个出现在每一位置处的频率是基于语法规则来确定的。

说明书

基于字符位置的口令恢复
背景
随着个人计算机得到广泛使用,为保护敏感信息,口令变得越发重要,其通过限制访问计算机和其上所存储的数据来保护。在用户忘记他们的口令或在需要访问该信息时口令却不可用时,问题出现了。口令恢复(或“口令破解”)是确定未知口令的过程。典型的口令恢复代理程序或破解程序迭代地生成各个文字,努力尝试确定该口令。通常,这些文字是以线性的方式从预定的标准字符串中生成的。
取决于被恢复的口令的大小(即,容许的该口令可以具有的字符位置的数量)和该口令可以包括的可容许的字符(例如,小写字母、大写字母、数字、空格、符号等)的数量,该口令恢复过程可能需要大量的处理资源和时间。对于每一附加的容许的字符位置,恢复该口令的时间呈指数地增加。对于6个或更多字符的口令,检查该第6个位置的所有可能的字符组合可以意味着数天的恢复时间。

概述
提供本概述是为了用简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
鉴于以上原因,本发明描述基于字符位置的口令恢复技术,其允许在“按位置”的基础上指定用于顺序地生成口令的字符串。
在一实现中,可以通过为文字的每一字符位置顺序地从字符串中选择字符来生成该文字。对于文字的每一位置,字符串中字符的顺序是单独地选择的。可以输入每一顺序地生成的文字,直到确定了口令为止。
在某些实现中,可以根据每一字符出现在每一位置的可能性来组织字符串。

附图简述
在附图中,参考标号中最左边的数字标识所指定的组件或动作首次出现的附图。
图1是显示登录和口令屏幕的示例性计算机屏幕的示意图。
图2是示出对口令的每一字符位置使用单个预定的字符串的代表性口令恢复技术的框图。
图3是示出对口令的每一字符位置使用单独的基于字符位置的字符串的示例性口令恢复技术的框图。
图4是示出对口令的至少一个字符位置使用单独的基于字符位置的字符串的另一示例性口令恢复技术的框图。
图5是示出对口令的至少一个字符位置使用单独的基于字符位置的字符串的又一示例性口令恢复技术的框图。
图6是示出对口令的每一字符位置使用单独的基于字符位置的字符串的另一示例性口令恢复技术的框图。
图7是示出示例性的基于字符位置的口令恢复方法的流程图。
图8是示出示例性口令恢复装置的框图。
详细描述
概览
口令已成为用于保护存储在计算机、网络、服务器、网站、存储介质等上的敏感信息的常用安全机制。一般而言,口令提供保护这种信息的方便的方式。然而,有时,用户可能忘记他或她的口令,或在需要访问信息时口令可能不可用。在这种情况下,用户或其它经授权的人员可能希望恢复或破解该口令来得到对该敏感材料的访问。典型的口令恢复代理程序依赖于单个预定的字符串来生成文字。本发明针对使用基于字符位置的技术的口令恢复(或“破解”)。在各实现中,这些基于字符位置的技术可以允许使用多个和/或有策略地选择的字符串以生成文字,并可以显著地减少恢复口令所需的时间和资源。此处所使用的“文字”可以包括字母、数字、符号、形状、空格和/或其它字符的任何组合。
示例性上下文
图1示出由口令所保护的个人计算机100。除非用户已登录,否则不允许他们访问存储在该计算机上的信息。出于这一目的,在计算机100的屏幕上显示登录界面102。登录界面102包括供用户输入登录名的登录提示104和供该用户输入他或她的口令的口令提示106。可以在登录界面102上提供信息消息108,通知该用户所需的口令长度和容许字符。在所示实现中,口令必须是6-8位字符长,可以包括字母和/或数字,且是大小写敏感的。
如果该用户未能记住口令,他或她将不能够登录到计算机100。在某些情况下,可以允许该用户重新设置口令,可以向该用户提供暗示来帮助该用户记起口令,和/或可以响应于该用户回答一个或多个安全问题(例如,母亲的娘家姓、出生地等)来向该用户提供该口令。在缺少这些选项的情况下,或如果用户仍然不能够记起该口令,则可能必须恢复或破解该口令来得到对所保护的材料的访问。
示例性口令恢复技术
取决于要恢复的口令的大小(即,位置的数量)和每一位置所容许的字符的数量,口令恢复可能是冗长的过程。对于每一附加字符,恢复该口令的时间呈指数地增加。具体地,可能的口令的数量可以表示如下:

其中,P是可以在该口令中使用的容许字符的数量,N是按照字符位置数量来计算的口令长度,而X和Y分别是最小和最大容许口令长度,其也是按照字符位置的数目来计算的。
图2和3示出简单的口令恢复情况。在所示情况中,口令可以具有1到3个位置的长度N,以及有可用于每一位置的3个容许字符P{A,B,C)。应用上述方程1,容许字符A、B和C可被组合为长度上1到3个字符的39个可能的口令(即,31+32+33=39)。在所示情况中,用户先前创建了口令“CAB”(39个可能的口令中的一个),但现在忘记了该口令。
图2示出代表性口令恢复程序200。在该实现中,可以请求用户输入关于合适的口令的某些准则202,如口令的容许长度(在该情况下是1-3个位置)和可以在该口令中使用的容许字符集(在该情况下是A、B和C)。程序200随后对所生成的文字的所有位置使用单个预定字符串“ABC”,以顺序的方式生成“文字列表”204。该文字列表包括通过对每一字符位置在预定字符串中循环,直到尝试了所有可能的组合为止,来顺序地生成的文字。因此,如图2所示,生成的第一个文字是“A”,第二个文字是“B”,第三个文字是“C”,第四个文字是“AA”,第五个文字是“AB”,依此类推。该过程继续,直到生成了口令为止。在图2的示例中,直到生成了第23个文字206,才会发现忘记的口令“CAB”。
在仔细分析该用于猜测口令的方法时,显而易见,在恢复过程期间,以该字符串的首字母开头的文字比以该字符串的后续字母开头的文字生成的更快。如果所有39个可能的口令都有关相等的可能性被使用,则字符串中的字符的顺序将不重要。然而,在实践中,口令通常至少是部分地基于常见字符组合,如单词、名称、日期、缩写词、首字母、这些的组合、和/或比随机字符组合更可记忆的其它字符组合。因此,如果用于文字生成的字符串以这些字符在可能的口令中使用的顺序来重新排列,则猜测口令所需要的时间将会减少。如果对于文字中的每一不同的位置使用不同的字符串,则该时间将进一步减少。例如,用于每一位置的字符串可以基于该字符出现在例如,诸如英语等语言、现有口令的样本等中的每一位置的频率等来组织。
图3示出使用基于字符位置的方式的示例性口令恢复程序300,其中用于生成文字的至少一个字符串是基于这些字符出现在现有3字口令的假想样本中的每一位置的频率来组织的。在一示例中,口令可以从容许字符集{A,B,C)中选择。在图3的示例中,假定字符C是在现有口令的样本中在口令的第一和第三位置中使用得最常见的字符,随后是B,然后是A。字符A是在该样本中在口令的第二位置中使用得最常见的字符,随后是B,然后是C。
基于这些假设的结论,用于文字生成的这些字符串被以与在口令样本中发现的在该位置的出现频率相同的顺序来组织(从最频繁的到最不频繁的)。因此,用于第一字符位置的第一字符串302是C,B,A;用于第二字符位置的第二字符串304是A,B,C;而用于第三字符位置的第三字符串306是C,B,A。文字列表308是使用这些字符串来生成的。在该基于字符位置的实现中,忘记的口令“CAB”将作为第14个文字310来生成,比在图2的示例中更快。
如上所述,基于字符位置的文字生成允许用户在“按位置”的基础上指定字符串,以在破解会话中顺序地生成口令。这允许用户采用根据每一字符将出现在每一位置的可能性来组织的一组字符串,以尝试更快地回复口令。
实际上,因为只有39个不同的可能的口令,所以图2和3的3字符口令将很容易破解,最多只花几秒钟。然而,口令恢复时间随着容许字符的数量和口令的容许长度而增加。同样,尽管图3所示的实现只对于检索从字符A、B和C所形成的口令有用,但可以扩展该概念来包括使用包括字母(小写和/或大写)、数字、符号(标点或其它)、空格、形状等在内的任何其它所需字符的口令。
图4示出可用于恢复口令的另一示例性口令恢复程序400。在该示例中,口令可以是1到3个字符长,且可以从26个容许字符(在这种情况下是小写字母表a-z)中制定。在该示例中,假定对给定环境中的所有口令执行的研究示出,口令中的第一字符具有相等的机会是小写字母表字符的任一个,但字母“p”、“b”和“m”是所有口令的第二字符位置中的最常见的字符。使用基于字符位置的文字生成技术,用于3字符口令的字符串可能如下出现:
用于位置#1的字符串=“abcdefghijklmnopqrstuvwxyz”
用于位置#2的字符串=“pbmacdefghijklnoqrstuvwxyz”
用于位置#3的字符串=“abcdefghijklmnopqrstuvwxyz”
在定时场景中在猜测该环境的口令时,基于先前对该环境中使用的口令执行的研究,这些字符串将更高效。
这种现有口令的研究是确定用于基于字符位置的文字生成的字符串的一种可能的方式。然而,确定用于基于字符位置的文字生成的字符串的各种其它方式也是可能的。例如,通过分析给定语言(如英语)的语法规则或字典,用户可以确定给定文字位置中的最常见的字符。使用该信息,用户可以创建用于基于字符位置的文字生成的字符串,以在文字的每一字符位置处的出现频率的顺序列出字符。使用该方法,用户可以合理地假定在破解口令时,这种基于字符位置的字符串将比以标准序列(如按字母顺序、编年顺序等)列出可用字符的默认字符串更有效。
图5示出使用基于语法规则组织的字符串的示例性实现。如上所述,口令往往至少部分地基于常见单词、名称、日期、缩写词、首字母等等。至少在英语中,名称、日期、缩写词、首字母和句子的第一个单词通常都以大写字母开头。因此,在大写和小写字母都是口令的容许字符时,通过大写字母优先来组织对应于第一字符位置的字符串,恢复时间可以另外地或另选地减少。可以用小写字母优先或以任何其它所需顺序来组织用于第二和后续字符位置的字符串。
图5示出可用于恢复口令的示例性口令恢复程序500。在一示例中,口令可以是4到6个字符长,且可以从52个容许字符(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)中制定。在这种情况下,超过200亿个不同的口令是可能的(确切地说是20,158,125,312个),这将需要大量的恢复时间。
出于说明的目的,假定在这种情况下要恢复的口令是“YoYo”。在该实现中,对应于该口令的第一字符位置的第一字符串502以先大写字母后小写字母来开始(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)。对应于第二和后续字符位置的第二字符串504按先小写字母后大写字母排列(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)。对于所示实现中的每一字符位置,大写和小写字母都是以字母表顺序排列的。然而,字母可以另选地以不同的顺序来排列。例如,字母可被以逆字母表顺序、随机顺序或以字符出现在例如,诸如英语等语言、现有口令样本等中的每一位置处的频率的顺序等来排列。此外,可以用一顺序来组织小写字母,而用另一顺序来组织大写字母。在一示例中,字符串可能是(abcdefghijklmnopqrstuvwxyzZYXWVUTSRQPONMLKJIHGFEDCBA)。
文字列表506是使用字符串502和504生成的。以此方式,口令“YoYo”大约作为文字列表506上的文字号3,415,064来生成。然而,如果对所有位置使用以字母表顺序排列的小写字母开始的字符串,则该口令将直到大约文字号7,070,871时才被生成——在该场景中,节省超过50%的时间。
图6示出可用于恢复口令的另一示例性口令恢复程序600。在该示例中,口令可以是1到7个字符长,且可以从36个容许字符(abcdefghijklmnopqrstuvwxyz0123456789)中制定。因此,在该示例中,存在超过800亿(具体地是80,603,140,212)个可能的口令。
采用基于字符位置的文字生成技术,使用从犹他州盐湖城的古登堡计划文学归档基金(Project Gutenberg Literary Archive Foundation)获得的公众可用的英语字典来分析856368个单词,(然而,可以另外地或另选地使用任何其它合适的字典)。古登堡计划字典包括小写常见名称、常见日期、小写常见单词和小写常见拼写错误。分析了单词的头7个字符位置,且为每一字符位置生成一字符串,对每一字符位置字符都是从最常见到最不常见来组织的。为所有7个位置所生成的字符串是:
位置#1=“scpabtmdrhfguelionwvkjqyz0x312465789”
位置#2=“aeorisucnphltmbdfgwvykjqxz0132647859”
位置#3=“aeorinslcutpmhbdgfwvyxjxqz0132467589”
位置#4=“aeroinstlcupmdhbgfwvykxjqz0123465789”
位置#5=“earointslcupmdhbgfywkvxjzq0123465789”
位置#6=“eairontslcupmdhbgfywvkxzjq0123465789”
位置#7=“eairontslcupdmhbgfywkvxzjq0123465879”
从第一位置到最后位置,字符频率以及字符串的顺序都是大不相同的。此处所描述的基于字符位置的技术可能不能对每一口令都导致较短的口令恢复时间,但它们将比使用传统口令恢复方法平均提供较短的恢复时间。
示例性计算设备
图7更详细地示出图1的计算机100。计算机100可被配置为能够实现口令恢复程序的任何合适的计算设备。在一示例性配置中,计算机100包括至少一个处理单元700和存储器702。取决于计算设备的配置和类型,存储器702可以是易失性的(诸如RAM)和/或非易失性的(诸如ROM、闪存等)。
存储器302可以包括操作系统804和用于实现口令恢复技术的全部或部分的口令恢复程序或代理程序806,以及各种其它数据、程序、媒体等等。计算机100还可包括附加可移动存储808和/或不可移动存储810,其包括但不限于磁盘、光盘和/或磁带。操作系统804和/或口令恢复代理程序806可以另外地或另选地存储在可移动存储808和/或不可移动存储810上。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。存储器302、可移动存储808和不可移动存储810都是计算机存储介质的示例。可以存在的附加类型的计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储所需信息且可以由计算机100访问的任何其它介质。
计算机100还可以包括允许计算机100经由网络与一个或多个其它计算机、服务器或其它计算设备通信的通信连接812。作为示例而非局限,通信连接812可以包括诸如有线网络或直接线连接等有线介质,以及诸如声学、RF、红外线和其它无线介质等无线介质。
计算机100还可包括输入设备814,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等,和输出设备816,如显示器、扬声器、打印机等等。所有这些设备在本领域中都是公知的,因此不必在此详细讨论。
示例性口令恢复方法
图8是示出示例性口令恢复方法800的流程图。方法800可以但不必至少部分地由如图7所示的、运行如图2-6所示的口令恢复程序的计算设备100实现。方法800包括,在802,标识可用于口令的语言;在804,标识可以在该口令中使用的容许字符,以及在806。
对于从最少字符位置(如果有)到且包括最多字符位置(如果有)的每一字符位置,该方法包括在808,确定容许字符的每一个在所标识的语言中在相应的字符位置使用的频率。该判定是基于字典、对现有口令样本的研究、语法规则等来作出的。
在810,基于所确定的、每一字符在所标识的语言的单词中的相应位置处使用的频率,将容许字符排列成用于每一位置的字符串。在812,还可以基于诸如将名称、日期、缩写词、句子的开头单词的首字母大写等语法规则,来选择用于每一位置的字符串。
在814,可以顺序地生成具有至少一个字符位置的文字,每一文字都是通过从用于该位置的字符串中顺序地为该文字的每一字符位置选择字符来生成的。在816,该顺序地生成的文字可被输入到登录界面等中,直到确定了该口令为止。
以上描述了一个示例性口令恢复方法800的细节。然而,应当理解,取决于各种情况,口令恢复方法800中的某些动作不必以所述顺序执行,可被修改,和/或被完全省略。例如,可以基于英语、另一语言、一组现有口令或这些的组合中的出现频率来生成文字。另外地或另选地,可以基于诸如将单词的首字母大写、在单词的末尾加点、加省略号作为该单词的第二个到最后的字符等一个或多个语法规则来生成文字。
此外,上述任何动作都可由计算机、处理器或其它计算设备基于存储在一个或多个计算机可读介质上的指令来实现。如上所述,计算机可读介质可以是可以由计算设备访问以实现其上存储的指令的任何可用的介质。
结论
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但所附权利要求书中定义的主题不必限于所述具体特征或动作。相反地,这些具体特征和动作是作为实现该权利要求的示例性形式而公开的。例如,该方法动作不必以此处所述的顺序或组合来执行,而能以一个或多个动作的任何组合来执行。

基于字符位置的口令恢复.pdf_第1页
第1页 / 共21页
基于字符位置的口令恢复.pdf_第2页
第2页 / 共21页
基于字符位置的口令恢复.pdf_第3页
第3页 / 共21页
点击查看更多>>
资源描述

《基于字符位置的口令恢复.pdf》由会员分享,可在线阅读,更多相关《基于字符位置的口令恢复.pdf(21页珍藏版)》请在专利查询网上搜索。

口令恢复技术包括通过为文字的每一字符位置顺序地从字符串中选择字符来生成该文字。对于文字的每一位置,字符串中字符的顺序是单独地选择的。可以输入每一顺序地生成的文字,直到确定了口令为止。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1