[0027] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0028] 图1是移动终端100的结构框图。具有多点触摸能力的移动终端100可以包括存储器接口102、一个或多个数据处理器、图像处理器和/或中央处理单元104,以及外围接口106。
[0029] 存储器接口102、一个或多个处理器104和/或外围接口106既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端100中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口106,以便帮助实现多种功能。例如,运动传感器110、光传感器112和距离传感器114可以耦合到外围接口106,以方便定向、照明和测距等功能。其他传感器116同样可以与外围接口106相连,例如定位系统(例如GPS接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
[0030] 相机子系统120和光学传感器122可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。
[0031] 可以通过一个或多个无线通信子系统124来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统124的特定设计和实施方式可以取决于移动终端100所支持的一个或多个通信网络。例如,移动终端100可以包括被设计成支持GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络的通信子系统124。
[0032] 音频子系统126可以与扬声器128以及麦克风130相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。
[0033] I/O子系统140可以包括触摸屏控制器142和/或一个或多个其他输入控制器144。
[0034] 触摸屏控制器142可以耦合到触摸屏146。举例来说,该触摸屏146和触摸屏控制器142可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。
[0035] 一个或多个其他输入控制器144可以耦合到其他输入/控制设备148,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。一个或多个按钮(未显示)可以包括用于控制扬声器128和/或麦克风130音量的向上/向下按钮。
[0036] 存储器接口102可以与存储器150相耦合。该存储器150可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,NOR)。
[0037] 存储器150可以存储操作系统152,例如Android、IOS或是Windows Phone之类的操作系统。该操作系统152可以包括用于处理基本系统服务以及执行依赖于硬件的任务的指令。存储器150还可以存储各种应用154。在移动设备运行时,会从存储器150中加载操作系统152,并且由处理器104执行。应用154在运行时,也会从存储器150中加载,并由处理器104执行。应用154运行在操作系统之上,利用操作系统以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理等。应用可以是独立于操作系统提供的,也可以是操作系统自带的。
[0038] 在各种应用154中,其中的一种应用为密码切换设备200,该设备可以通过用户的输入密码和预先设置的密码进行对比,从而可以启用复杂密码,有效的防止当用户离开移动终端时密码被破解的情况,有效增加系统的安全性。
[0039] 图2示出了根据本发明一个实施例的密码切换设备200的示意图。如图2所示,密码切换设备200包括输入接口210、验证单元220、储存单元230和密码切换控制单元240。
[0040] 一般而言,用户会给移动终端锁屏和各种应用设置密码,当用户离开移动终端时,其他用户可能尝试输入密码来进行解锁或者进入应用。因此,当用户在移动终端上输入密码进行验证时,移动终端中的触摸屏146会获取用户的输入密码,并将该输入密码传输给密码切换设备200进行处理。应当注意的是,本发明不受限于此,所有可以启动该密码切换设备的应用或终端都在本发明的保护范围之内。
[0041] 在接收用户的输入密码之前,存储单元230存储有移动终端100中预先设置的第一密码和第二密码。根据一种实施方式,第一密码为以手势形式输入的输入密码,第二密码为以数字形式输入的输入密码。应当注意的是,本发明不受限于第一密码和第二密码的输入的具体形式,所有的第一密码和第二密码的输入方式都在本发明的保护范围之内。
[0042] 根据一种实施例,例如,在安卓4.2操作系统中,针对如上所述的第一密码和第二密码,系统中会添加支持输入两套密码的接口,并通过修改LockPatternUtils.java中的saveLockPattern模块和saveLockPassword模块获取用户设置的第一密码和第二密码,并加密存储于存储单元中。
[0043] 在对来自用户的输入密码进行验证之前,密码切换控制单元240读取存储单元230中的第一密码,并将第一密码设置为验证单元220中的当前密码。
[0044] 在密码切换设备200中,输入接口210耦合连接验证单元220,该验证单元220经由输入接口210获取用户的输入密码。该输入密码为例如用户以手势形式输入的输入密码。
[0045] 验证单元220根据接收到的输入密码与第一密码进行对比,并根据输入密码与第一密码的一致性来确定是否验证成功。如果密码验证成功,则用户可以进行后续操作。如果密码验证失败,则由耦接到验证单元220的密码切换控制单元240进行进一步处理。
[0046] 当验证单元220中密码验证失败时,密码切换控制单元240根据用户的输入密码和耦接的存储单元230中的第一密码,来判断输入密码与第一密码的相似度是否超过第一阈值。
[0047] 根据本发明的一种实施方式,在密码切换控制单元240对输入密码与第一密码进行相似度对比时,密码切换控制单元240分别计算出输入密码与第一密码的连接码,并根据输入密码与第一密码的连接码的相似程度计算得到输入密码与第一密码的相似度。
[0048] 密码切换控制单元240在计算输入密码与第一密码的连接码时,分别将输入密码和第一密码转换为相应的数字串,并获取各数字串中从第二个数字开始每个数字相对上一个数字在九宫格中的位置信息,根据预定规则将位置信息转换为字符,连接经转换后的字符而分别得到输入密码和第一密码的连接码。
[0049] 图3示出了根据本发明一个实施例的九宫格图;
[0050] 根据一个实施例,如图3所示,以九宫格为模板,密码切换控制单元240分别将手势输入密码和第一密码转换为数字串。随后分别获取输入密码数字串和第一密码数字串中每个数字相对上一个数字的位置信息。
[0051] 以转换后的输入密码的数字串为4569,第一密码的数字串为1236为例进行说明。
[0052] 在输入密码数字串中:
[0053] 第二个数字为5:相对上一个数字4的位置为右方(Right)。
[0054] 第三个数字为6:相对上一个数字5的位置为右方(Right)。
[0055] 第四个数字为9:相对上一个数字6的位置为下方(Down)。
[0056] 在第一密码数字串中:
[0057] 第二个数字为2:相对上一个数字1的位置为右方(Right)。
[0058] 第三个数字为3:相对上一个数字2的位置为右方(Right)。
[0059] 第四个数字为6:相对上一个数字3的位置为下方(Down)。
[0060] 随后,根据上述数字的位置关系,设定预定规则,将相应的位置关系转换为字符。
[0061] 根据一个实施方式,位置关系的预定规则为:
[0062] 上方:U;下方:D;左方:L;右方:R;
[0063] 左上:LU;左下:LD;右上:RU;右下:RD。
[0064] 因此,连接经转换后的字符得到输入密码的连接码为:RRD,第一密码的连接码为:RRD。
[0065] 随后,对比输入密码与第一密码连接码的相似程度得到相似度。因此,在上面的示例中,输入密码和第一密码的相似度为100%。
[0066] 当输入密码与第一密码的相似度超过第一阈值时,密码切换控制单元240将第二密码设置为当前密码,以便验证单元220根据新设置的当前密码对经由输入接口210接收的后续输入密码进行验证。
[0067] 根据一种实施方式,第一阈值的范围为50%-90%,优选地可以设置为60%。
[0068] 根据一个实施例,当密码切换控制单元进行输入密码与第一密码相似度对比时,LockPatternUtils.java会获取用户的输入密码,LockPatternUtils.java通过修改checkPattern模块和checkPassword模块增加输入密码与第一密码相似度的对比。当密码切换控制单元确定输入密码与第一密码的相似度大于第一阈值时,则读取存储单元中的第二密码并替换data/system下的password.key文件,最终实现密码切换。
[0069] 输入密码和第一密码的连接码反映了当这些密码以手势方式输入时,在屏幕上的走势。如果两个密码的走势很接近,则连接码非常相似。由于移动终端的便携性,在移动终端用户附近的恶意用户很容易看见用户输入手势的过程,并可以大致猜测出手势在屏幕上的走势。当输入密码不同于第一密码,但是又和第一密码具有类似走势时,可以确定不是用户误输入密码,而是可能有其它用户在猜测用户的第一密码,因此,密码切换控制单元240将用于验证的第一密码切换为明显不同于第一密码、并且要复杂的第二密码,从而可以防止密码被猜测出来。
[0070] 另外,考虑到用户会偶尔输入密码错误,因此可以允许用户在限定次数内持续输入密码而不进行密码切换。根据一个实施例,当验证单元220持续验证不成功的次数超过预定次数时,此时,如果密码切换控制单元240确定输入密码与获取的存储单元230中第一密码的相似度超过第一阈值,密码切换控制单元240将第二密码设置为当前密码,以便验证单元220根据新设置的当前密码对经由输入接口210接收的后续输入密码进行验证。
[0071] 根据一种实施方式,限定次数可以设置的较少,限定次数的范围为1-5次。限定次数为3次。
[0072] 本发明不受限于密码切换控制单元240的具体实现方式,所有可以对移动终端进行密码切换的方式都在本发明的保护范围之内。
[0073] 图4示出了根据本发明一个示例性实施例的密码切换方法400的流程图。如图4所示,本实施方法适于在移动终端100中执行,例如由上面参考图2描述的密码切换设备200执行,以便有效地将移动终端中的第一密码切换为第二密码,增加系统的安全性。该密码切换方法始于步骤S410。
[0074] 在步骤S410中,获取触摸屏上的用户输入密码。当用户在移动终端上输入密码时,移动终端会获取用户的输入密码,以便执行后续步骤。应当注意的是,本发明不受限于此,所有可以启动该密码切换方法的应用或终端都在本发明的保护范围之内。
[0075] 在接收用户的输入密码之前,移动终端中会预先设置第一密码和第二密码。根据一种实施方式,第一密码为以手势形式输入的输入密码,第二密码为以数字形式输入的输入密码。应当注意的是,本发明不受限于第一密码和第二密码的输入的具体形式,所有的第一密码和第二密码的输入方式都在本发明的保护范围之内。
[0076] 根据一种实施例,例如,在安卓4.2系统中,针对如上所述的第一密码和第二密码,系统代码中会添加支持输入两套密码的接口,并通过修改LockPatternUtils.java中的saveLockPattern模块和saveLockPassword模块获取用户设置的第一密码和第二密码,并加密存储于存储单元中。
[0077] 在步骤S410之前,可以将将第一密码设置为用于验证的当前密码。
[0078] 随后,在步骤S420中,移动终端根据步骤S410中用户的输入密码与当前密码进行对比,判断密码是否验证成功。移动终端根据接收到的输入密码与获取的第一密码进行对比,并根据输入密码与第一密码的一致性来确定是否验证成功。如果密码验证成功,则密码切换方法结束。如果密码验证失败,则执行步骤S430。
[0079] 在步骤S430中,根据在步骤S410中获取的用户输入密码和事先设置的第一密码,判断用户的输入密码和第一密码的相似度是否超过第一阈值。
[0080] 根据本发明的一个实施方式,在步骤S430中,对输入密码与第一密码进行相似度对比时,移动终端分别计算出输入密码与第一密码的连接码,并根据输入密码与第一密码的连接码的相似程度计算得到输入密码与第一密码的相似度。
[0081] 移动终端在计算输入密码与第一密码的连接码时,分别将输入密码和第一密码转换为相应的数字串,并获取各数字串中从第二个数字开始每个数字相对上一个数字在九宫格中的位置信息,根据预定规则将位置信息转换为字符,连接经转换后的字符而分别得到输入密码和第一密码的连接码。
[0082] 有关各个密码连接码的计算方式可以参考上面结合图3进行的详细描述,为了简洁起见,这里不再赘述。
[0083] 在步骤S430中,当输入密码与第一密码的相似度超过第一阈值时,执行步骤S440,以便移动终端根据新设置的当前密码对接收的后续输入密码进行验证。
[0084] 根据一种实施方式,第一阈值的范围为50%-90%,优选地可以设置为60%。
[0085] 根据一个实施例,当密码切换控制单元进行输入密码与第一密码相似度对比时,LockPatternUtils.java会获取用户的输入密码,LockPatternUtils.java通过修改checkPattern模块和checkPassword模块增加输入密码与第一密码相似度的对比。
[0086] 在步骤S430中,考虑到用户会偶尔输入密码错误,因此当步骤S420验证失败时,可以允许用户在限定次数内持续输入密码而不进行密码切换。当验证密码持续验证不成功的次数超过预定次数时,如果确定输入密码与第一密码相似度超过第一阈值,则执行步骤S440,以便验证单元根据新设置的当前密码对接收的后续输入密码进行验证。
[0087] 根据一种实施方式,限定次数可以设置的较少,限定次数的范围为1-5次。限定次数为3次。
[0088] 随后,在步骤S440中,将第二密码设置为当前密码,以便步骤S420根据新设置的当前密码对后续输入密码进行验证。
[0089] 根据一个实施例,当密码切换控制单元确定输入密码与第一密码的相似度大于第一阈值时,则读取存储单元中的第二密码并替换data/system下的password.key文件,最终实现密码切换。
[0090] 输入密码和第一密码的连接码反映了当这些密码以手势方式输入时,在屏幕上的走势。如果两个密码的走势很接近,则连接码非常相似。由于移动终端的便携性,在移动终端用户附近的恶意用户很容易看见用户输入手势的过程,并可以大致猜测出手势在屏幕上的走势。当输入密码不同于第一密码,但是又和第一密码具有类似走势时,可以确定不是用户误输入密码,而是可能有其它用户在猜测用户的第一密码,因此,移动终端将用于验证的第一密码切换为明显不同于第一密码、并且要复杂的第二密码,从而可以防止密码被猜测出来。
[0091] 本发明不受限于密码切换控制方法的具体实现方式,所有可以对移动终端进行密码切换的方式都在本发明的保护范围之内。
[0092] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0093] A1:在当前密码为第一密码时,所述移动终端接收以手势形式输入的输入密码;而在当前密码为第二密码时,所述移动终端接收以数字串形式输入的输入密码。A2:还包括步骤:计算所述输入密码与第一密码的连接码,并根据输入密码与第一密码的连接码的相似程度计算得输入密码与第一密码的相似度。A3:计算输入密码与第一密码的连接码的步骤包括:分别将所述输入密码和第一密码转换为相应的数字串;获取各数字串中从第二个数字开始的每个数字相对上一个数字在九宫格中的位置信息;根据预定规则将位置信息转换为字符;连接经转换后的字符而分别得到输入密码和第一密码的连接码。A4:第一阈值的范围为50%-90%,优选地为60%。A5:预定次数的范围为1-5,优选地为3。
[0094] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0095] 本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0096] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0097] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0098] 此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0099] 如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0100] 尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。