生成秘密值的方法和装置技术领域
本发明总地涉及用户验证,且更具体地涉及图形密码。
背景技术
本部分意图向读者介绍可能与以下描述和/或要求保护的本发明的各个
方面有关的本领域的各个方面。相信该讨论是有助于向读者提供背景信息以
便于更好地理解本发明的各个方面。因此,应理解,要鉴于此来阅读这些陈
述,而不是将其作为对现有技术的承认。
使用密码来保护对诸如例如计算机和移动电话之类的各种装置的访问是
长期形成的实践。最常见的密码系统需要用户使用键盘来输入字符串。与此
有关的问题在于通常难于记住(retain)强大的密码(即,难于猜测到的密码),
反之亦然。
由于通常更易于记住图像而不是文字,所以已经提出了使用图形密码的
多个解决方案。此外,许多新的装置不具有任何实体键盘。例如,智能电话
仅仅嵌入触摸屏作为输入装置。在这种情形下,需要使用虚拟键盘来键入文
字的密码。尤其在使用强大的密码(混合大小写的字母数字)时,这不是非
常用户友好的。
在US 5559961中,Blonder提出了一种用户通过点击预定图像中的预定
区域(zone)序列来输入密码的技术。US 2004/010721提出类似的解决方案。
Passlogix根据Suo等人的“Graphical Passwords:A Survey”,乔治亚州大
学,计算机科学系-http://www.acsac.org/2005/papers/89.pdf发展了该构思。为
键入密码,用户以预定义序列点击图像中的各个项目。
S.Wiedenbeck等人还在多篇论文中扩展了Blonder的方案:
-Human-Computer Interaction International(人际交互国际期刊)(HCII
2005)Las Vegas,NV,2005中的“Authentication Using Graphical Passwords:
Basic Results”。
-Symposium on Usable Privacy and Security(可用隐私和安全讨论会)
(SOUPS)Carnegie-Mellon University(卡内基梅隆大学),Pittsburgh(匹兹堡),
2005中的“Authentication Using Graphical Passwords:Effects of Tolerance and
Image Choice”。
-International Journal of Human Computer Studies(人机研究国际期刊),
vol.63,2005,第102-127页中的“PassPoints:Design and Longitudinal Evaluation
of a Graphical Password System”。
该系统消除了预定义的边界(boudary)并且允许使用任意的图像,使得
用户可以点击图像中的任何地方来创建密码。
还是根据Suo等人,Passpoint开发了一种通过多次在若干表面(face)
中选择一表面来键入密码的系统。
尽管这些系统运行地相当好,但它们确实存在一些缺陷,诸如对于肩窥
(shoulder surfing)是脆弱的:攻击者可以通过观察由用户进行的选择/点击
而猜测到密码。
因此,可以理解,存在对克服这一问题并且提供可以启用对抗肩窥的图
形密码的系统的解决方案的需求。本发明提供了这样的解决方案。
发明内容
在第一方面,本发明针对一种生成秘密值的方法。装置显示包括多个图
形元素的初始图像,每个图形元素具有至少两个变型;重复地接收用户输入
以选择几个图形元素的变型,由此生成修改的图像;以及至少从所选择的图
形元素的变型中生成秘密值。
在第一优选实施例中,秘密值是密码。
在第二优选实施例中,该装置接收用于选择初始图像的用户输入,所述
初始图像还可以用于生成秘密值。
在第三优选实施例中,图形图像被无缝地集成到初始图像和修改的图像
中。
在第四优选实施例中,用户输入包括选择图形元素以及对此进行响应而
提供至少一个变型。
在第五优选实施例中,选择变型的用户输入包括向用户同时提供图形元
素的所有变型。
在第二方面中,本发明针对一种用于生成秘密值的装置。该装置包括处
理器,其用于向显示器提供包括多个图形元素的初始图像,每个图形元素具
有至少两个变型;重复地接收用户输入以选择几个图形元素的变型,由此生
成修改的图像;以及至少从所选择的图形元素的变型中生成秘密值。
在第一优选实施例中,秘密值是密码。
在第二优选实施例中,处理器还用于接收用于选择初始图像的用户输入,
该处理器还用于生成秘密值。
在第三优选实施例中,处理器还用于将所述变型无缝地集成到初始图像
以生成修改的图像。
在第四优选实施例中,用户输入包括选择图形元素并且处理器还适配于
对此进行响应而提供至少一个变型。有利地,处理器还适配于响应于选择变
型的用户输入而提供所选择的图形元素的所有变型。
在第五优选实施例中,处理器还适配于也提供原始显示的图形元素。
附图说明
将参照附图,借助于非限制性的示例来描述本发明的优选特征,在附图
中:
图1图示了可以怎样改变图像以生成密码的示例;
图2图示了用于密码键入的示例性显示;
图3图示了根据本发明的优选实施例的设备的框图;
图4图示了图像的不同的图形元素的示例;
图5图示了可以怎样改变图形元素;
图6图示了在各登记(enrolment)阶段之间的优选的交互;
图7图示了在登记的提醒阶段期间的示例性显示;
图8图示了在登记的错误阶段期间的示例性显示;
图9图示了用于用户输入的变型实施例;以及
图10图示了根据本发明的优选实施例的用于生成密码的方法的流程图。
具体实施方式
本发明的主要发明构思是通过与初始图像进行交互,通过修改其中的一
个或者多于一个图形元素(例如窗户、人物、车辆和商店标志)来生成秘密
(诸如密码)。可以通过点击图形元素来修改它们并且每次点击可以用优选地
无缝集成在初始画面中的另一预定义的图形元素来替换现在的图形元素。所
述秘密依赖于最终的画面,该最终画面与初始画面不同并且通过用户与图形
元素的交互来构建。由于人脑在长期记忆区域中存储画面,所以改进了成功
回想起该秘密的几率。
图1图示了可以怎样改变图像来生成密码。图1的上半部分示出在要求
用户键入其秘密时显示的原始图像。然后用户点击该画面的若干区域以修改
它并且从图1的下半部分示出的最终图像中导出该密码。作为示例,当用户
点击空旷的街道(图形元素)时,这将示出公共汽车(下一预定义的图形元
素),再次点击将示出出租车,等等,直到如在最终图像中图示的,示出黄色
跑车为止。在两个版本之间总共存在十个其它差异,这些差异用于生成密码。
预定义所有的图形元素并将其集成到系统中。如将理解的,从而非常难
以注意到这些差异,尤其是如果攻击者以前还未见过此图像,这意味着提供
了对抗肩窥攻击的良好保护,例外是使用相机来记录修改(和/或最终的图
像)。
在此的描述集中在键入密码,但是应理解,如此生成的秘密在各种加密
系统中可能有其它使用(例如,秘密的加密密钥),并且这样的使用可能需要
其它的导出机制。
优选实施例
如已经提到的,优选实施例针对被应用于密码领域的秘密的键入。为了
简化,将最终的画面考虑为密码。
预定义所有的图形元素并将其集成到系统中,即,优选地,攻击者不可
能看到图形元素是什么。另外,优选地很好地选取图像以便提供更多种的修
改可能性。例如,空旷海滩上的日出可能是非常有限的,然而城市街道提供
了许多要修改的不同元素。
图2图示了用于密码键入的示例性显示。当首先要求用户键入其密码时,
该显示包括初始画面、确认(validation)按钮、重置按钮和可能的切换到另
一用户的按钮。
图3图示了根据本发明的优选实施例的设备的框图。设备300包括适配
于显示图像以及例如在图1和图2中图示的显示的显示屏310。设备300还
包括至少一个处理器320(下文中的“处理器”)、至少一个存储器330、和用
户输入部件340。用户输入部件340可以是显示屏310(如果其是触敏的),
但是用户输入部件340还可以例如是鼠标和/或键盘。处理器适配于执行本发
明的方法,诸如根据用户请求修改图形元素并生成密码。将理解,设备300
还可以作为对用户和外部服务器之间的至少一些交互进行中继的哑终端
(dumb terminal)。还将理解,设备300可以被实施为多个装置,诸如例如显
示器、用户接口,和计算装置,所述计算装置包括处理器320并且向显示器
提供图像并从用户接口接收用户输入。
图4图示了图像的不同的图形元素,每个图形元素被描绘为示例性的矩
形。还可以向用户指示这些图形元素以便于选取,例如,在首次选择密码时。
另外,如图4所示,可以加亮“现在的”图形元素。
图5图示了通过点击图形元素可以怎样改变它们。每次用户点击图形元
素时,示出图形元素的下一“版本”,来取代之前的版本。图5图示三次连续
点击怎样影响原始画面的右下侧的公共汽车站标志周围的图形元素。呈现图
形元素的顺序可以是固定的和预定义的或者是动态的和随机的。
当用户通过修改图形元素已经复原了最终图像时,按压确认按钮并且检
验密码。如果所显示的图像确实与最终图像相同,则成功地验证了密码,于
是例如授权访问。
如果用户在输入密码期间出错,则可以按压重置按钮,这复原了初始图
像并且取消已经完成的修改。
当新用户(没有密码)创建密码或者当现有用户生成新密码时,出现登
记。登记有利地包括以下阶段:
●选取:用户交互以选取密码
●提醒:将该密码显示给用户
●练习:用户练习密码键入
●错误:用户在练习期间出错
图6图示了在各登记阶段之间的优选的交互。
登记以密码选取610开始,其中可以显示屏幕,诸如图4中的屏幕,以
便允许用户识别图形元素。如果用户点击“现在的”图形元素(在图4中加亮
的图形元素),则如之前在此描述的,修改该图形元素。图4中的显示还包括
密码强度的指示符,其值有利地依赖于:可修改的图形元素的总数、每个图
形元素的替换者的数目、以及用户已经修改的图形元素的数目。
如果用户出错,则可以使用“重置”按钮从起始开始;作为替换,“撤销”
按钮可以取消上次动作。
当用户满意作为结果的画面时,可以通过选择“确认”按钮来确认密码,
此后,开始提醒阶段620。
在提醒阶段620中,通过加亮修改的图形元素来显示所选择的图像,如
图7中所图示的。然后用户具有确认密码(由此结束登记)、重置密码(返回
到密码选取阶段610)或者练习密码的选项。在后者的情形下,开始练习阶
段630。
在密码练习阶段630中,用户可以练习输入密码。用户可以取消练习以
返回到密码提醒阶段620以便观看所选择的密码。成功的练习还带来返回到
密码提醒阶段620,而不成功的练习造成在移回到用于另一次尝试的密码练
习630之前移至其中示出错误的错误阶段640,如图8中所图示的。
在错误阶段640中,优选地以一种方式指示被正确选择的图形元素而以
另一方式指示被不正确选择的图形元素。
密码空间
为了改进密码空间,可以考虑图形元素的选择顺序。在该情形下,不是
从最终画面而是从初始画面引导到最终画面的整个交互中导出秘密。
可以如下地计算密码空间的大小:图像具有e个敏感区域(图形元素),
每个敏感区域具有v个可能变型。为简化表示和公式,将假定所有的区域具
有相同数目的可能的变型;用于区域的该组变型“符号字母表”被表示为ei。
对于每个区域,还存在未计入字母表中的另一状态,初始(缺省)状态。
为了键入密码,用户在图像中修改n个数目的区域,而剩余的e-n个区
域留在缺省状态下。
在修改区域的顺序无关紧要的假设下,对于给定的n,密码空间的大小Ω
由n元组(n-tuples)的数目乘以所选取的区域的所有可能状态的数目提供,
其给出:
Ω = e n v n ]]>
如果还考虑输入顺序,则对于给定的n,由以下给出密码空间的大小Ω:
Ω = e n n ! · v n = e ! ( e - n ) ! v n ]]>
在第一种(不排序的)情形下,通过n在间隔[0,...,e]中求和,整个密码
空间的大小Ω由以下给出:
Ω = Σ n = 0 e e n v n = ( 1 + v ) e ]]>
在第二种(排序的)情形下,通过n在间隔[0,...,e]中求和,整个密码空
间的大小Ω由以下给出:
Ω = Σ n = 0 e e n n ! · v n = Σ n = 0 e e ! ( e - n ) ! v n = 1 + ev + e ( e - 1 ) v 2 + . . . + e ! v e ]]>
将理解,在两种情形下的Ω随着敏感区域的数目成指数增长。
公式非常类似于用于PIN码(或者经典的密码)的公式,主要差异是新
的元素:修改的区域的选取。PIN码和经典密码的强度基于字母表的大小和
长度。对于给定大小的符号字母表和长度(修改的区域的数目),具有选取“在
哪里”来修改密码(以及在哪里不修改)的可能性的图形密码允许更多可变性。
该选取由二项式系数来表示并且给出对于密码空间的积极的贡献(positive
contribution)。
具有PIN码的比较示例将如下。4数字(4-digit)PIN码具有10个元素
(数字)的字母表和4个可修改的区域,给出了总共10000种可能性。在具
有大约30个可修改的区域的图像的情况下,在图形密码环境(context)中使
用相同的数值参数给出274050000种可能性,即:
30 4 · 10 4 = 27405 · 10000 = 274050000 . ]]>
即使更简单的图像,也就是说仅有8个可修改的区域,也在密码空间中
提供了显著的改进:
8 4 · 10 4 = 70 · 10000 = 700000 . ]]>
如果考虑到顺序,则这些数目还可以更大(24倍)。
在理论上,图形密码与经典密码一样强大或者更强大,只要为变型选取
足够的“字母表”。通过查看给定的公式的渐近线特性容易对此进行证实。对
于经典的文字式密码,使用给出字母表大小为62(小写、大写和数字)的字
母数字ASCII符号非常常见。在图形密码环境中,字母表符号是图像或者对
象而它们的数目实际上是不受限制的。另一方面,对于这种系统的实际使用,
该组变型不可能与在经典的区分大小写的密码中一样大。
在数值上比较两个系统:为获得大约与8字符的字母数字的区分大小写
的密码(网站上普遍建议的)相同大小的密码空间,例如可以使用12个修改
的区域以及16个元素的字母表;在数值上,628≈1612。然而应注意,这些数
目没有考虑由于在可用区域(比如大约30)中的已修改区域的子集的选取引
起的因素,这向图形密码提供了优点。还应注意到,具有这些参数的系统可
能接近该图形密码系统的实际极限,这是由于屏幕上的16(或者更多)个元
素的表示可能令人混淆,但是在该级别上仍然保持可行。
作为第一变型,该系统提出不同的初始画面而不是单个初始画面,由此
在用户修改画面以键入密码之前给予了用户对画面的选取。从而可以改进密
码空间。
作为第二变型,当点击时显示所有可能的图形元素。在图9中图示了这
种可能性。第二变型可以导致更快的输入(因为需要不超过两次点击来选取
图形元素),但是应注意到其对于肩窥具有更小的对抗性。
图10图示了根据本发明的优选实施例的用于生成密码的方法的流程图。
该方法开始于步骤1010,之后是选择1020初始图像的可选步骤。接收用户
输入以修改1030图形元素并且向用户显示所选取的图形元素。应注意,所选
取的图形元素不一定是用户选取的最终图形元素;其可以继而被改变。还应
注意,在多次点击之后显示初始显示的图形元素是可能的,在该情形下,依
赖于实现方式,可以将或者不将该图形元素认为是修改的图形元素。
然后,步骤1040验证该密码是否完成,例如通过检查用户是否已经确认
了该密码。如果不是这种情形,则方法返回到图形元素的修改。然而,如果
该密码完成,则生成1050密码。生成的密码的形式可以是例如所选取的图形
元素的列表、关于(所选择的或者全部)图形元素的散列(hash),或者关于
整个最终图像的散列。
应理解,本系统可以启用图形密码系统,该图形密码系统:
●可以减少字典攻击的风险。事实上,常见字代表有效文字式密码空间
中的一大子集,并且经常被用于减少记忆密码的努力。该子集经常是
众所周之的并且在人们之间被共享。在图形密码环境中,即使存在也
是很少的图形元素比其它图形元素“更好”或者“更有可能”。
●可以以简单和熟悉的方式提供良好等级的安全性。例如,其可以由具
有视力问题的老人或者在学习读和写之前的孩子使用。
●可以使得能够使用更长的密码,这是由于以特定图像配置相对容易将
对象之间的关系和图像关联。事实上,人类使用长期记忆来存储画面,
因此与文本相比较,导致更好地回想起图像。
●可以用于没有键盘的装置,在该装置上打字可能是困难的。
●可能对于基本点击登录技术更不敏感并且对肩窥更具对抗性。
在说明书和(合适情况下)权利要求书以及附图中公开的每个特征可以
单独地或者以任何合适的组合来提供。在权利要求书中出现的参考标记仅仅
是说明性的并且对权利要求的范围没有限制影响。