用于管理密码的方法、装置和计算机存储介质与流程

文档序号:15743891发布日期:2018-10-23 22:44阅读:134来源:国知局

本发明涉及密码技术,特别涉及用于管理密码的方法、实施该方法的装置以及包含实施该方法的计算机程序的计算机可读存储介质。



背景技术:

信息化时代下,人们每天工作和生活的场景需要频繁输入密码进行身份验证以完成系统登录、操作授权和确认支付等任务。在面对多个应用时,要求记忆各种密码将对用户造成极大的负担。此外,出于安全性等方面的考虑,不同的应用往往具有各自特定的密码规则(例如密码的位数、密码字符的取值和字母的大小写区分等),这种密码规则的多样性进一步加重了用户的负担。

为此业界开发了多款密码管理软件,例如KeePass和1Password。这些密码管理软件的工作原理是将用户的密码存储在一个加密文件中,该加密文件只能通过一个主密码访问,因此用户仅需要记忆一个主密码即可。这些密码管理软件的不足之处在于,为了提高加密文件的加密强度,对主密码的长度和复杂性的要求都很高,这造成用户使用的不便。此外,无论采用何种加密算法,加密文件理论上还是存在被攻破的风险隐患。

因此迫切需要一种管理密码的方法和装置能够同时在安全性和便捷性两方面都提供令人满意的性能。



技术实现要素:

本发明的一个目的是提供一种用于管理密码的方法和装置,其具有安全性高和使用便捷等优点。

按照本发明一个方面的用于管理密码的方法包含下列步骤:

设置和存储对注册密码的变换逻辑,其中,所述变换逻辑定义注册密码的字符与执行变换逻辑后的相应字符之间的映射关系;

向远程服务器提供注册密码的变换形式;

从输入设备接收登录密码;

基于所述变换逻辑,对登录密码执行变换操作;以及

向远程服务器提供登录密码的变换形式以用于对用户身份进行验证。

优选地,在上述方法中,所述变换逻辑包括:

如果注册密码的位数小于远程服务器设定的位数规则,则对注册密码执行补位操作以使变换后的密码的位数符合位数规则;

如果注册密码的位数大于远程服务器设定的位数规则,则对注册密码执行删位操作以使变换后的密码的位数符合位数规则;以及

如果注册密码存在不符合远程服务器设定的取值规则的字符,则对不符合取值规则的字符执行替换操作。

优选地,在上述方法中,进一步包括下列步骤:

删除登录密码及其变换形式。

优选地,在上述方法中,所述变换逻辑包括:

对于注册密码的一个或多个指定位的字符执行替换操作。

优选地,在上述方法中,所述替换操作包括下列中的至少一种:将任一字符转换为随机数字、将任一字符转换为随机大写字母、将任一字符转换为随机小写字母以及将任一字符转换为随机符号。

优选地,在上述方法中,注册密码的字符与执行变换逻辑后的相应字符之间的映射关系以随机顺序存储在映射关系表中。更好地,所述映射关系表还包含混淆字符与相应的变换字符之间的附加映射关系,该附加映射关系以随机顺序与所述映射关系混合存储在所述映射关系表中,所述混淆字符与注册密码无相关性。

优选地,在上述方法中,注册密码被归类为多个密码组中的一个,所述多个密码组具有各不相同的安全等级和密码规则。

在按照本发明另一个方面的用于管理密码的装置包含:

第一模块,用于设置对注册密码的变换逻辑,其中,所述变换逻辑定义注册密码的字符与执行变换逻辑后的相应字符之间的映射关系;

第二模块,用于向远程服务器提供注册密码的变换形式;

第三模块,用于从输入设备接收登录密码;

第四模块,用于基于所述变换逻辑,对登录密码执行变换操作;以及

第五模块,用于向远程服务器提供登录密码的变换形式以用于对用户身份进行验证。

在按照本发明另一个方面的用于管理密码的装置包含存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序以执行如上所述的方法。

本发明的还有一个目的是提供一种计算机可读存储介质,其上存储计算机程序,该程序被处理器执行时实现如上所述的方法。

与现有技术相比,本发明具有诸多优点。例如,由于存储的是变换逻辑而非注册密码本身,因此无密码被非法窃取之风险。再者,在一些变换逻辑中,密码字符以随机方式被映射为另外的字符,因此对于不同的应用,相同的密码经逻辑变换后具有不同的变换密码,从而在方便用户管理密码的同时又不会对安全性造成影响。此外,当各个密码字符的映射关系以随机顺序存储时,即使知晓映射关系,仍然无法复制出变换密码。最后,通过将混淆字符与相应的变换字符之间的附加映射关系以随机顺序与映射关系混合存储时,可以进一步提高安全性。

附图说明

本发明的上述和/或其它方面和优点将通过以下结合附图的各个方面的描述变得更加清晰和更容易理解,附图中相同或相似的单元采用相同的标号表示。附图包括:

图1为一种分布式系统的架构示意图。

图2为按照本发明一个实施例的用于管理密码的方法的流程图。

图3为按照本发明另一个实施例的用于管理密码的方法的流程图。

图4为按照本发明另一个实施例的用于管理密码的装置的框图。

图5为按照本发明另一个实施例的用于管理密码的装置的框图。

具体实施方式

下面参照其中图示了本发明示意性实施例的附图更为全面地说明本发明。但本发明可以按不同形式来实现,而不应解读为仅限于本文给出的各实施例。给出的上述各实施例旨在使本文的披露全面完整,以将本发明的保护范围更为全面地传达给本领域技术人员。

在本说明书中,诸如“包含”和“包括”之类的用语表示除了具有在说明书和权利要求书中有直接和明确表述的单元和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。

图1为一种分布式系统的架构示意图。示例性地,图1所示的分布式系统10包括客户端110和远程服务器或网站120。在所示的分布式系统中,客户端110可以与远程服务器120实现直接的通信连接,或者经网络20实现通信连接。

按照本发明的一个方面,对于用户的一个注册密码,用于管理密码的装置通过对该注册密码执行变换逻辑可以得到对应的变换密码(也称为注册密码的变换形式),该变换密码被存储在远程服务器处以用于用户的身份验证。特别是,在用于管理密码的装置中存储的是变换逻辑而非注册密码本身或者变换密码,当用户经客户端或用于管理密码的装置的输入设备输入登录密码时,用于管理密码的装置通过执行变换逻辑而生成登录密码的变换形式,该变换形式的登录密码被发送至远程服务器并且不会被永久性地保存在客户端或用于管理密码的装置内(例如发送后即删除)。

这里所述的变换逻辑应广义理解为将注册密码转换为其它密码的各种算法,其可定义注册密码的字符与执行变换逻辑后的相应字符之间的映射关系。优选地,变换逻辑可以包括下列变换操作:对注册密码执行补位操作以使变换后的密码的位数增加;对注册密码执行删位操作以使变换后的密码的位数减少;以及对注册密码中的字符执行替换操作。

更好地,上述替换操作包括下列中的至少一种:将任一字符转换为随机数字、将任一字符转换为随机大写字母、将任一字符转换为随机小写字母以及将任一字符转换为随机符号。

这里所述的用于管理密码的装置可以是独立于客户端和远程服务器并且能够与客户端和远程服务器通信的物理设备,也可以作为组成单元被集成在客户端内(例如客户端应用程序的形式)。这里所述的客户端可以为下列设备中的一种:智能手机、个人电脑、笔记本电脑、平板电脑和个人数字助理。

按照本发明的另一个方面,注册密码的字符与执行变换逻辑之后的字符之间的映射关系以映射关系表的形式存储,其中,注册密码的各个字符的映射关系以随机顺序存储在映射关系表中。优选地,映射关系表还包含混淆字符与相应的变换字符之间的附加映射关系,该附加映射关系以随机顺序与注册密码的字符的映射关系混合存储在映射关系表中,这里所述的混淆字符与注册密码无相关性。

按照本发明的还有一个方面,可以基于安全等级和密码规则预定义多个密码组,并且将每个注册密码归类到这多个密码组中的一个。

图2为按照本发明一个实施例的用于管理密码的方法的流程图。示例性地,这里以图1所示的分布式系统为例来描述本实施例的方法,并且假设应用场景为用户经客户端110向远程服务器或网站120进行业务A的注册的过程。但是需要指出的是,本实施例的方法不局限于特定架构的分布式系统。

参见图2,在步骤201,用于管理密码的装置获取网站120的地址和关于所注册业务A的密码规则。在本实施例中,密码规则例如包括但不限于密码的位数、密码字符的取值和字母的大小写区分等。此外,用于管理密码的装置还可进一步获取网站120提供的当前时间和用户唯一ID等信息。优选地,用于管理密码的装置包含扫描设备以通过扫描网站界面上所显示的二维码获取上述信息。

接着进入步骤203,用于管理密码的装置根据业务A的类型(例如金融支付、电商购物和普通浏览等)将业务A的注册密码归类到多个密码组中的其中一个。具体而言,如果业务A为对安全性要求较高的金融支付业务,则可以自动归类到高安全密码组,如果业务A为对安全性要求一般的电商购物业务,则可以自动归类到中安全密码组,如果业务A为对安全性要求较低的网站浏览业务,则可以自动归类到低安全密码组。可选地,在本步骤中,也可以由用户为业务A的注册密码自行选择相应的密码组。

随后进入步骤205,用于管理密码的装置从其自带的输入设备或者客户端110的输入设备接收关于业务A的注册密码。示例性地,假设注册密码为“1Ab_p”。

接着进入步骤207,用于管理密码的装置根据业务A的密码规则确定注册密码为“1Ab_p”是否符合长度规范。如果不符合,则进入步骤209,如果符合,则进入步骤211。

在分支步骤209,例如假设长度规范要求的密码长度为6位,则用于管理密码的装置将对注册密码“1Ab_p”进行补位操作,即,在注册密码的某个位置(例如首部、尾部或中间的某个位置)放置字符(例如通过在注册密码的尾部添加固定的字符(例如“O”)而得到符合长度规范的驻车密码注册密码为“1AB_pO”)。又,如果长度规范要求的密码长度为4位,则用于管理密码的装置将对注册密码“1AB_p”进行删位操作,即,在注册密码的其中一个字符(例如首部、尾部或中间的某个位置的字符)。步骤209执行完成之后进入步骤211。

在步骤211,用于管理密码的装置根据业务A的密码规则确定注册密码为“1AB_pO”是否符合取值规范。如果不符合,则进入步骤213,如果符合,则进入步骤215。这里所述的取值规范的例子包括但不限于:注册密码的首个字符必需为字母、注册密码中不得出现“_”、“*”和“·”之类的字符、注册密码中必需至少包含一个大写字母和一个小写字母等和注册密码中不得出现连续相同的字符串等。

在分支步骤213中,用于管理密码的装置对经过步骤209处理或者未经步骤209处理的注册密码中的不符合取值规范的字符进行替换操作。

优选地,替换操作包括下列中的至少一种:将任一字符转换为随机数字、将任一字符转换为随机大写字母、将任一字符转换为随机小写字母以及将任一字符转换为随机符号。为此可以上述各种类型的替换操作编写相应的转换函数FS(x)、FD(x)、FX(x)、FF(x),其中,函数FS(x)用于将任何字符x转换为随机数字,FD(x)将任何字符x转换为随机大写字母,FX(x)将任何字符转换为随机小写字母,FF(x)将任何字符转换成随机符号。

以注册密码“1AB_pO”为例并且假设采用上述取值规范的例子,则可以施行如下的替换操作:首个字符“1”由于为非字母字符而需要被替换为字母,因此可利用函数FX(x)进行转换;第四个字符“_”因为属于非取值范围而需要被替换,因此可利用函数FS(x)进行转换。不妨假设替换操作后的注册密码为“sAB9pO”。由此,用户输入的注册密码“1AB_p”经过基于变换逻辑的处理之后变换为“sAB9pO”,其中,注册密码的字符与执行变换逻辑后的相应字符之间具有如下的映射关系:“1”—“s”,“A”—“A”,“B”—“B”,“_”—“9”和“p”—“p”。由于“O”为补位操作添加的字符,因此在用户输入的注册密码中无对应字符。

在另一分支步骤215中,用于管理密码的装置对经过步骤209处理或者未经步骤209处理的注册密码中的部分或全部字符进行替换操作。

仍然以注册密码“1AB_pO”为例但是假设其符合取值规范,则在步骤215中可以施行如下的替换操作:对于字符“1”可利用函数FS(x)进行转换;对于字符“A”、“B”和“O”可利用函数FD(x)进行转换,对于字符“_”可利用FF(x)进行转换,对于字符“p”,可利用函数FX(x)进行转换。不妨假设替换操作后的注册密码为“7ZK^qO”。由此,用户输入的注册密码“1AB_p”经过基于变换逻辑的处理之后变换为“7ZK^qO”,其中,注册密码的字符与执行变换逻辑后的相应字符之间具有如下的映射关系:“1”—“7”,“A”—“Z”,“B”—“K”,“_”—“^”和“p”—“q”。同样地,由于“O”为补位操作添加的字符,因此在用户输入的注册密码中无对应字符。

在执行步骤213和215之后均进入步骤217,用于管理密码的装置进入步骤217,判断是否需要通过增加混淆位来提高注册密码的安全性。如果不需要提高安全性,则进入步骤219,否则,则进入步骤221。在步骤217中,上述判断可以基于注册业务A的类型,也可以基于用户的选择。

在分支步骤219中,用于管理密码的装置存储注册密码由“1AB_p”变换为“sAB9pO”的变换逻辑或注册密码“1AB_p”变换为“7ZK^qO”的变换逻辑。在本实施例中,变换逻辑也可以视为是一系列具有时间先后顺序的变换操作步骤的集合。优选地,注册密码的字符与执行变换逻辑后的相应字符之间的映射关系以随机顺序存储在映射关系表中。

示例性地,可以依照下列不同于注册密码的字符输入顺序的顺序存储“1AB_p”与“7ZK^qO”之间的映射关系:“A”—“Z”,“B”—“K”,“p”—“q”,“_”—“^”和“1”—“7”。

在另一分支步骤221中,用于管理密码的装置存储注册密码由“1AB_p”变换为“sAB9pO”的变换逻辑或注册密码“1AB_p”变换为“7ZK^qO”的变换逻辑。特别是,除了存储注册密码的字符与执行变换逻辑后的相应字符之间的映射关系以外,还存储混淆字符与相应的变换字符之间的附加映射关系。优选地,该附加映射关系以随机顺序与映射关系混合存储在映射关系表中。示例性地,假设增加2个混淆位,其附加映射关系如下:“G”—“T”,“+”—“!”,则对于“1AB_p”与“7ZK^qO”,映射关系和附加映射关系的存储例如可以是:“A”—“Z”,“G”—“T”,“B”—“K”,“+”—“!”,“p”—“q”,“_”—“^”和“1”—“7”。

在执行步骤219和221之后均进入步骤223,用于管理密码的装置将经过逻辑变换后的注册密码(例如步骤213或215中生成的变换密码“sAB9pO”或“7ZK^qO”)连同用户注册的用户名发送给远程服务器120并随后删除用于管理密码的装置内的登录密码及其变换形式。可选地,在发送给网站120的消息中还可包含当前时间和用户唯一ID等信息。

需要指出的是,在本实施例中,步骤215是可选的步骤。当在步骤211中确定注册密码符合取值规范后,所示方法流程可直接转至步骤223,向网站120发送注册密码。此外,步骤217和221也是可选的步骤,此时,在执行步骤213或215之后可直接进入步骤219。

图3为按照本发明另一个实施例的用于管理密码的方法的流程图。示例性地,这里以图1所示的分布式系统为例来描述本实施例的方法,并且假设应用场景为用户经客户端110访问远程服务器或网站120上的业务A的过程。但是需要指出的是,本实施例的方法不局限于特定架构的分布式系统。

参见图3,在步骤301,用于管理密码的装置获取网站120的地址。在本实施例中,优选地,用于管理密码的装置包含扫描设备以通过扫描网站界面上所显示的二维码获取上述信息。

接着进入步骤303,用于管理密码的装置根据网站地址和/或业务A的类型确定业务A所属的密码组,从而确定关于业务A的注册密码的变换逻辑的存储位置。

随后进入步骤305,用于管理密码的装置从其自带的输入设备或者客户端110的输入设备接收关于业务A的登录密码。示例性地,这里仍然假设登录密码为“1Ab_p”。

接着进入步骤307,用于管理密码的装置根据业务A的注册密码的变换逻辑对登录密码“1Ab_p”进行变换。具体而言,假设注册密码“1Ab_p”经历了步骤209和213的变换处理,则变换操作可包括下列步骤:

首先基于长度规范,将登录密码“1Ab_p”变换为“1Ab_pO”;随后基于映射关系表中存储的映射关系,将“1Ab_pO”中的字符“1”、“A”、“b”、“_”和“p”映射为“s”、“A”、“B”、“9”和“p”,由此得到登录密码的变换形式“sAB9pO”。

随后进入步骤309,用于管理密码的装置将登录密码的变换形式(例如步骤307中生成的变换密码“sAB9pO”)连同用户名发送给远程服务器120以供远程服务器对用户身份进行验证。可选地,在发送给网站120的消息中还可包含当前时间和用户唯一ID等信息。

图4为按照本发明另一个实施例的用于管理密码的装置的框图。

如图4所示,本实施例的用于管理密码的装置40包括第一模块410、第二模块420、第三模块430、第四模块440和第五模块450。第一模块410用于设置对注册密码的变换逻辑,其中,所述变换逻辑定义注册密码的字符与执行变换逻辑后的相应字符之间的映射关系;第二模块用于向远程服务器提供注册密码的变换形式;第三模块430用于从输入设备接收登录密码;第四模块440用于基于所述变换逻辑,对登录密码执行变换操作;以及第四模块450用于向远程服务器提供登录密码的变换形式以用于对用户身份进行验证。

图5为按照本发明另一个实施例的用于管理密码的装置的框图。

图5所示的装置50包含存储器510、处理器520以及存储在存储器510上并可在处理器520上运行的计算机程序530,其中,计算机程序530通过在处理器520上运行以可执行如上借助图1-3所述实施例的方法。

在本实施例中,图5所示的装置50可以是在物理上独立于的物理设备或者被集成在客户端内(例如客户端应用程序的形式)。当作为独立实体设备存在时,装置50可进一步包含操作键盘、显示屏幕、扫描设备和用于与客户端110和远程服务器通信的I/O通信组件。优选地,存储器510、处理器520为安全芯片以向计算机程序530提供可信的执行环境。

按照本发明的一个方面,提供一种计算机可读存储介质,其上存储计算机程序,该程序被处理器执行时实现借助图1-3所述实施例的方法。

提供本文中提出的实施例和示例,以便最好地说明按照本技术及其特定应用的实施例,并且由此使本领域的技术人员能够实施和使用本发明。但是,本领域的技术人员将会知道,仅为了便于说明和举例而提供以上描述和示例。所提出的描述不是意在涵盖本发明的各个方面或者将本发明局限于所公开的精确形式。

鉴于以上所述,本公开的范围通过以下权利要求书来确定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1