用户口令管理的方法和服务器与流程

文档序号:13688084阅读:669来源:国知局
用户口令管理的方法和服务器与流程

本发明实施例涉及计算机技术领域,特别涉及一种用户口令管理的方法和服务器。



背景技术:

在大数据时代,为了防止对大数据系统中信息资源的非授权访问,在访问大数据系统前需要认证用户。现有的一种用户认证方式为基于用户标识(identification,id)和口令的认证方式。实际实现时,为了保证口令的安全,在用户注册是通常需要对口令进行加密。

现有的一种用户注册的方法包括:接收用户注册请求,该用户注册请求中携带有用户id和口令;生成一个随机数作为盐值;根据盐值,加密口令,得到口令密文;将用户id、口令密文以及盐值关联存储。这样,在用户登录服务器,需要用户认证时,接收用户认证请求,用户认证请求中携带有用户id和待认证的口令;获取用户id所对应的口令密文以及盐值,根据预设加密算法以及获取到的盐值,加密该待认证的口令,得到口令密文;若计算得到的口令密文与获取到的口令密文一致,则认证通过。

发明人在实现本发明的过程中,发现上述过程至少存在如下问题:由于加密口令后需要将盐值与用户id和口令密文关联存储,所以这就导致存储盐值时耗费了一定的存储空间。特别的,当加密的口令较多时,服务器需要耗费大量的存储资源来存储每个口令所对应的盐值,并且在认证的时候,还需要从存储资源中获取相应的盐值,从而消耗了大量的输入输出(i/o)资源。此外,服务器存储的盐值可能会被攻击者利用,进而通过构造彩虹表针对盐值所加密的口令进行攻击。



技术实现要素:

为了解决现有技术中口令加密后需要耗费存储空间来存储盐值的问题,本发明实施例提供了一种用户口令管理的方法和服务器,所述技术方案如下:

第一方面,提供了一种用户口令管理的方法,该方法包括:

服务器接收用户设备(userequipment,ue)发送的包括用户id和口令的用户注册请求。在接收到用户注册请求之后,生成一个随机字符串作为盐值,根据预设生成算法以及盐值生成盐值扩展信息,将盐值和盐值扩展信息按照预设顺序拼接为盐值信息。其中,预设顺序可以为盐值在前盐值扩展信息在后,也可以为盐值扩展信息在前盐值在后,在此不做限定。

服务器接收到用户注册请求之后,根据口令以及第一加密算法,加密盐值信息,得到第一密文;第一加密算法为可逆加密算法。可选地,第一加密算法可以为异或算法、高级加密标准(advancedencryptionstandard,aes)算法、数据加密标准(dataencryptionstandard,des)、rsa算法或者其它算法,本实施例对此并不做限定。

此后,服务器可以根据预设密钥以及第二加密算法,加密第一密文,得到第二密文,第二加密算法为可逆加密算法。第二加密算法可以为aes算法或者rsa算法。

在得到第二密文之后,将用户id和第二密文关联存储。

通过在接收到用户注册请求之后,根据盐值生成盐值扩展信息,将盐值和盐值扩展信息按照预设顺序拼接为盐值信息;此后,根据用户注册请求中的口令以及第一加密算法加密盐值信息,得到第一密文;并根据预设密钥以及第二加密算法加密第一密文,得到第二密文,将用户注册请求中的用户id和第二密文关联存储。其中,第一加密算法和第二加密算法为可逆加密算法。由于在口令加密之后,无需存储盐值,因此,上述方法解决了现有技术中由于需要存储盐值而导致服务器需要耗费大量存储空间的问题;达到了可以节省服务器所需占用的存储空间的效果。同时,由于无需存储盐值,因此这也一定程度上保证了盐值的隐秘性,避免了攻击者通过构造彩虹表对盐值所加密的口令造成的攻击。此外,由于根据盐值和预设密钥分别加密口令,提高了口令的安全性,解决了现有技术中口令的安全性较差的问题。

在一种可能的设计中,服务器加密盐值信息的步骤可以包括:

根据口令生成第一目标内容,第一目标内容包括口令、口令的哈希值以及根据口令的哈希值生成的口令扩展信息中的至少一种;

根据第一目标内容以及第一加密算法,加密盐值信息。

实际实现时,为了保证加密后的口令无法被解密,进而提高口令的安全性,第一目标内容可以包括口令哈希值或者口令扩展信息。

在另一种可能的设计中,当第一目标内容包括口令哈希值时,服务器生成第一目标内容的步骤可以包括:根据哈希算法生成口令的哈希值。哈希算法为将任意长度的二进制值映射为固定长度的二进制值,映射后的二进制值称为哈希值。其中,不同内容所对应的哈希值相同的概率小于阈值,且在得到哈希值之后,无法通过哈希值得到输入。而当第一目标内容包括口令扩展信息时,服务器生成第一目标内容的步骤可以包括:根据预设扩展算法以及口令的哈希值生成该口令扩展信息。其中,预设扩展算法可以包括截取哈希值中的固定长度的算法,或者,对哈希值进行加密的加密算法,或者,根据预设函数输出哈希值所对应的函数值的算法。并且,口令扩展信息的长度可以固定,也可以不固定,本实施例对此并不做限定。

在另一种可能的设计中,当第一加密算法为异或算法时,由于异或算法要求参与运算的两条信息的长度相同,因此,上述生成盐值扩展信息的步骤可以包括:根据预设生成算法以及盐值生成预设长度的盐值扩展信息,预设长度为第一目标内容的长度和盐值的长度之差。

通过生成长度与第一目标内容的长度相同的盐值信息,使得服务器可以根据第一目标内容和异或算法加密盐值信息,进而得到第一密文,达到了可以隐藏盐值至第一密文的效果。

在另一种可能的设计中,服务器生成预设长度的盐值扩展信息的生成方式可以包括如下两种:

第一种,根据哈希算法以及盐值生成预设长度的盐值扩展信息。

第二种,根据预设函数生成盐值的函数值,根据预设截取方式从函数值中截取预设长度的内容作为盐值扩展信息。

此外,在生成盐值信息之后,为了节省服务器的存储空间,服务器可以直接删除盐值。

在另一种可能的设计中,该方法还包括:

接收用户认证请求,用户认证请求中包括用户id以及待认证的口令。

由于口令加密之后,服务器会将用户id和加密得到的第二密文关联存储,因此,在服务器接收到用户认证请求之后,服务器可以查询用户id所对应的第二密文。

另外,由于加密第一密文,得到第二密文时使用的第二加密算法为可逆加密算法,因此,为了后续步骤的执行,服务器可以根据预设密钥解密第二密文,得到第一密文。

根据待认证的口令以及第一密文,认证待认证的口令。

由于在口令认证过程中,由于无需读取盐值,因此上述方法达到了在口令认证过程中无需耗费i/o操作来读取盐值,提高了认证效率的效果。同时,该口令认证方法相对于通过迭代提高口令安全性的方案来说,也大大提高了口令认证过程中的认证效率。

在一种可能的设计中,对待认证的口令认证的步骤可以包括:

根据待认证的口令,生成第二目标内容,第二目标内容包括待认证的口令、待认证的口令的哈希值以及根据待认证的口令的哈希值生成的口令扩展信息中的至少一种;

根据第二目标内容解密第一密文;

按照预设顺序拆分解密结果,得到解密结果中携带的盐值以及除盐值之外的盐值扩展信息;

根据拆分得到的盐值生成盐值扩展信息;

若生成的盐值扩展信息与拆分得到的盐值扩展信息相同,则对待认证的口令认证通过。

第二方面,提供了一种用户口令管理的方法,该方法包括:

接收用户注册请求,用户注册请求中包括用户标识id和口令;

在接收到用户注册请求之后,服务器可以根据预设密钥以及第一加密算法加密口令,得到第一密文;该第一加密算法可以为可逆加密算法也可以为不可逆加密算法。并且,实际实现时,为了保证加密后的口令无法被解密,此处所说的第一加密算法可以为不可逆加密算法。

在接收到用户注册请求之后,服务器还可以根据盐值生成盐值扩展信息,将盐值和盐值扩展信息按照预设顺序拼接为盐值信息。其中,预设顺序可以为盐值在前盐值扩展信息在后,也可以为盐值扩展信息在前盐值在后,对此并不做限定。

在得到第一密文以及盐值信息之后,服务器可以根据第一密文以及第二加密算法加密盐值信息,得到第二密文,第二加密算法为可逆加密算法。

此后,将用户id和第二密文关联存储。

通过在接收到用户注册请求之后,根据预设密钥以及第一加密算法加密口令,得到第一密文,并根据盐值生成盐值扩展信息,将盐值和盐值扩展信息按照预设顺序拼接为盐值信息;此后,根据第一密文以及第二加密算法加密盐值信息,得到第二密文,将用户注册请求中的用户id和第二密文关联存储。其中,第二加密算法为可逆加密算法。由于在口令加密之后,无需存储盐值,因此,上述方法解决了现有技术中由于需要存储盐值而导致服务器需要耗费大量存储空间的问题;达到了可以节省服务器所需占用的存储空间的效果。同时,由于无需存储盐值,因此这也一定程度上保证了盐值的隐秘性,避免了攻击者通过构造彩虹表对盐值加密的口令造成的攻击。此外,由于根据盐值和预设密钥同时加密口令,提高了口令的安全性,解决了现有技术中口令的安全性较差的问题。

在一种可能的设计中,服务器加密盐值信息的步骤可以包括:

根据第一密文生成,第一目标内容,第一目标内容包括:第一密文,和/或,根据第一密文生成的密文扩展信息。

根据第一目标内容以及第二加密算法,加密盐值信息。

在另一种可能的设计中,当第二加密算法为异或算法时,由于异或算法要求参与运算的两条信息的长度相同,因此,上述生成盐值扩展信息的步骤可以包括:根据盐值生成预设长度的盐值扩展信息,预设长度为第一目标内容的长度和盐值的长度之差。

通过生成长度与第一目标内容的长度相同的盐值信息,使得服务器可以根据第一目标内容和异或算法加密盐值信息,进而得到第一密文,达到了可以隐藏盐值至第一密文的效果。

在另一种可能的设计中,服务器生成预设长度的盐值扩展信息的生成方式可以包括如下两种:

第一种,根据哈希算法以及盐值生成预设长度的盐值扩展信息。

第二种,根据预设函数,生成盐值的函数值,根据预设截取方式从函数值中截取预设长度的内容作为盐值扩展信息。

此外,在第二方面以及第二方面的各种可能的实现方式中,在生成盐值信息之后,为了节省服务器的存储空间,服务器可以直接删除盐值。

在另一种可能的设计中,该方法还包括:

接收用户认证请求,用户认证请求中包括用户id以及待认证的口令。

口令加密之后,服务器可以将用户id和加密得到的第二密文关联存储,因此为了实现口令认证,服务器接收到用户认证请求之后,服务器可以获取用户id所对应的第二密文。

根据第一加密算法以及预设密钥,加密待认证的口令,得到第三密文。

根据第二密文以及第三密文,认证待认证的口令。

在口令认证过程中,由于无需读取盐值,因此上述方法达到了在口令认证过程中无需耗费i/o操作来读取盐值,提高了认证效率的效果。同时,该口令认证方法相对于通过迭代提高口令安全性的方案来说,也大大提高了口令认证过程中的认证效率。

在另一种可能的设计中,认证待认证的口令的步骤可以包括:

根据第三密文生成第二目标内容,第二目标内容包括:第三密文,和/或,根据第三密文生成的密文扩展信息;

根据第二目标内容解密第二密文;

按照预设顺序拆分解密结果,得到解密结果中携带的盐值以及除盐值之外的盐值扩展信息;

根据预设生成算法以及拆分得到的盐值生成盐值扩展信息;

若生成的盐值扩展信息与拆分得到的盐值扩展信息相同,则对待认证的口令认证通过。

第三方面,本发明实施例提供了一种用户口令管理的服务器,该用户口令管理的服务器具有实现上述第一方面或者第二方面中服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,该用户口令管理的服务器的结构中包括处理器和存储器,所述存储器用于存储支持该用户口令管理的服务器执行上述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。该用户口令管理的服务器还可以包括通信接口,用于该虚拟网络中部署业务的服务器与其他设备或通信网络通信。

第三方面,本发明实施例提供了一种计算机存储介质,用于储存为上述用户口令管理的服务器所用的计算机软件指令,其包含用于执行上述方面为用户口令管理的服务器所设计的程序。

相较于现有技术,本发明提供的方案可以结合服务器上存储的密钥、用户记忆的口令p和随机盐值salt,通过两层加密方法来共同保护口令,不但可以保证高效的认证效率,而且可以大大提升暴力破解和字典攻击的难度。此外,由于加密后可以把盐值直接删除,攻击者即使获得机器上存储的密钥,也无法通过彩虹表攻击破解单个口令。

本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a和图1b是本发明各个实施例所涉及的实施环境的示意图。

图2a是本发明一个实施例提供的用户口令管理的方法的方法流程图。

图2b是本发明一个实施例提供的用户口令管理的方法的示意图。

图2c是本发明一个实施例提供的用户口令管理的方法的另一示意图。

图2d是本发明一个实施例提供的用户口令加密的示意图。

图2e是本发明一个实施例提供的用户口令管理的方法流程图。

图2f是本发明一个实施例提供的对盐值信息进行认证的方法流程图。

图3a是本发明另一实施例提供的用户口令管理的方法的方法流程图。

图3b是本发明一个实施例提供的用户口令管理的方法流程图。

图3c是本发明一个实施例提供的对盐值信息进行认证的方法流程图。

图4是本发明一个实施例提供的用户口令管理的服务器结构示意图。

图5是本发明另一实施例提供的用户口令管理的服务器的结构示意图。

图6是本发明另一个实施例提供的用户口令管理的服务器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。请参考图1a,其示出了本发明各个实施例所涉及的实施环境的示意图。如图1a所示,该实施环境包括ue110和服务器120。

ue110可以为诸如手机、平板电脑、台式电脑或者笔记本电脑之类的终端,用户可以通过该ue110向服务器120发送用户注册请求或者用户认证请求。ue110可以通过有线或者无线网络与服务器120相连。ue110可以有一个,也可以有多个,本实施例对此ue的数量并不做限定。

服务器120为用于提供用户注册服务以及用户认证服务的服务器。在本发明各个实施例中,服务器120中可以预先存储有用于加密口令的预设密钥,并且可以生成用于加密口令的盐值。其中,本实施例对预设密钥的长度和预设密钥中包含的字符并不做限定,盐值为固定长度的随机字符串。

图1a只是以服务器120为一台服务器来举例,可选地,该服务器120还可以为由多台服务器构成的服务器集群。比如,请参考图1b,该服务器120可以包括:密钥管理服务器121、盐值生成服务器122、口令加密服务器123、口令认证服务器124以及数据库125。

所述盐值生成服务器122,用于当接收到一个获取请求时,生成一个随机字符串作为盐值。

所述口令加密服务器123,用于从密钥管理服务器121获取密钥以及从盐值生成服务器122获取盐值,并根据所述密钥和所述盐值,加密用户的口令。将加密后的口令密文以及用户id发送给数据库125,以便于数据库125关联存储所述加密后的口令密文以及用户id。

所述口令认证服务器124,用于根据用户id,从数据库125获取存储的口令密文,并从密钥管理服务器121获取密钥。根据口令密文以及密钥,认证用户发送的口令,将认证的结果返回给用户。

所述密钥管理服务器121,用于生成和存储密钥。密钥管理服务器121生成密钥是本领域人员公知的技术,本发明对于生成密钥的方法不做限定。出于安全性考虑,对于密钥的存储,密钥管理服务器121可以采用根密钥加密生成的密钥,然后存储加密后的密钥密文。根密钥是由多个密钥组件共同确定的。为了保护根密钥,需要对多个密钥组件的存储进行特别的限制:(1)多个密钥组件分散存储在密钥管理服务器121本地,增加攻击者同时得到全部的密钥组件并破解出根密钥的难度;(2)设置访问控制策略限制服务器120外部的设备访问密钥组件,例如不允许使用任何通信接口(如:文件传输协议(filetransferprotocol,ftp)、人机语言(man-machinelanguage,mml))供服务器120外部的设备访问。

所述数据库125,用于关联存储口令加密模块生成的口令密文和用户id,以及根据口令认证模块发送的用户id,返回相应的口令密文。

在用户注册阶段,用户通过ue110向服务器120发送用户注册请求,该用户注册请求中包括用户id以及口令。服务器120的口令加密服务器123接收到用户的注册请求后,向盐值生成服务器122发送随机数获取请求。盐值生成服务器122接收到口令加密服务器123发送的随机数获取请求后,生成一个随机字符串作为盐值,并返回给口令加密服务器123。口令加密服务器123从密钥管理服务器121获取预设的密钥,根据盐值以及预设密钥,加密用户的口令,得到加密后的口令密文。口令加密服务器123将加密后的口令密文以及用户id发送给数据库125,以便于数据库125关联存储所述加密后的口令密文以及用户id。

在用户认证阶段,用户通过ue110向服务器120发送用户认证请求,该用户认证请求中包括用户id以及待认证的口令。服务器120的口令认证服务器124接收到用户的认证请求后,从密钥管理服务器121获取预设的密钥;根据用户认证请求中的用户id,从数据库125获取与所述用户id对应的口令密文。根据获取的口令密文和密钥,认证所述用户认证请求中的待认证的口令。

请参考图2a,其示出了本发明一个实施例提供的用户口令管理方法的方法流程图。如图2a所示,该用户口令管理的方法可以包括:

步骤201,接收用户注册请求,用户注册请求中包括用户id和口令。

用户在注册过程中,用户可以通过ue发送用户注册请求至服务器,相应的,服务器可以接收ue发送的该用户注册请求。

步骤202,根据盐值生成盐值扩展信息,将盐值和盐值扩展信息按照预设顺序拼接为盐值信息。

可选地,服务器可以根据预设生成算法以及盐值生成该盐值扩展信息。盐值为随机生成的固定长度的字符串,并且,盐值扩展信息也为固定长度字符串。

预设生成算法可以为加密算法或者是其他任意函数。比如,预设生成算法为mapstr=a*salt+b,a和b为常数,salt为盐值,mapstr为盐值扩展信息。

可选地,本步骤可以包括:服务器根据预设生成算法、盐值以及其它参数生成该盐值扩展信息。其中,其它参数可以为口令、口令的哈希值或者同时包括上述两者。

以其它参数包括口令为例,mapstr=a*salt+b*p+c,a、b和c为常数,salt为盐值,p为口令;可选地,mapstr还可以为根据预设加密算法以及口令加密盐值后得到的信息。该预设加密算法可以为可逆加密算法,也可以为不可逆加密算法,本实施例对此并不做限定。比如,以预设加密算法为密钥相关的哈希运算消息认证码(hash-basedmessageauthenticationcode,hmac)为例,mapstr=hmac(salt,p)。

在生成盐值扩展信息之后,可以将盐值和盐值扩展信息按照预设顺序拼接为盐值信息。其中,预设顺序可以为盐值在前盐值扩展信息在后,或者,盐值扩展信息在前盐值在后,本实施例对此并不做限定。比如,盐值信息smap=salt||mapstr,或者,smap=mapstr||salt。

在一个具体例子中,假设盐值为1011101,盐值扩展信息为011010,且预设顺序为盐值在前,盐值扩展信息在后,则按照预设顺序将盐值和盐值扩展信息拼接之后,得到的盐值信息为1011101011010。

需要说明的一点是,本实施例所说的盐值扩展信息可以为预设长度也可以为不限长度,本实施例对此并不做限定。并且,当盐值扩展信息为预设长度时,服务器可以通过按照预设截取方式对上述生成的内容进行截取的方式来得到的内容。

需要说明的另一点是,在生成盐值信息之后,为了节省服务器的存储空间,服务器可以删除盐值。

步骤203,根据口令生成第一目标内容。

第一目标内容包括口令、口令的哈希值以及根据口令的哈希值生成的口令扩展信息中的至少一种。这也就是说,第一目标内容可以为:口令,或者,口令的哈希值,或者,哈希值和口令,或者,根据哈希值生成的口令扩展信息,或者,哈希值和口令扩展信息,或者,口令扩展信息和口令,或者,哈希值、口令扩展信息以及口令。

可选地,为了使得加密后的口令无法被解密,进而提高口令的安全性,第一目标内容可以包括哈希值或者根据哈希值生成的口令扩展信息。

可选地,当第一目标内容包括口令的哈希值时,本步骤可以包括:根据哈希算法生成口令的哈希值。哈希算法为将任意长度的二进制值映射为固定长度的二进制值,映射后的二进制值称为哈希值。其中,不同内容所对应的哈希值相同的概率小于阈值,且在得到哈希值之后,无法通过哈希值得到输入。

可选地,当第一目标内容包括口令扩展信息时,本步骤可以包括:根据预设扩展算法以及口令的哈希值生成该口令扩展信息。其中,预设扩展算法可以包括截取哈希值中的固定长度的算法,或者,对哈希值进行加密的加密算法,或者,根据预设函数输出哈希值所对应的函数值的算法。并且,口令扩展信息的长度可以固定,也可以不固定,本实施例对此并不做限定。

步骤204,根据第一目标内容以及第一加密算法,加密盐值信息,得到第一密文。

第一加密算法为可逆加密算法。可选地,第一加密算法为异或算法、高级加密标准(advancedencryptionstandard,aes)算法、数据加密标准(dataencryptionstandard,des)、rsa算法或者其它算法,本实施例对此并不做限定。

步骤205,根据预设密钥以及第二加密算法,加密第一密文,得到第二密文。

第二加密算法为可逆加密算法。比如,可以为aes算法或者rsa算法,本实施例对此并不做限定。以第二加密算法为aes算法为例,第二密文c2=aes(c1,key),c1为第一密文,key为预设密钥。

步骤206,将用户id和第二密文关联存储。

请参考图2b,其示出了本实施例提供的用户口令管理的方法的示意图。

上述只是以该用户口令管理的方法用于图1a所示的实施环境中来举例,可选地,当该用户口令管理的方法用于图1b所示的实施环境中时,请参考图2c,该用户口令管理的方法可以实现为:口令加密服务器接收ue发送的用户注册请求;口令加密服务器从盐值生成服务器中获取随机生成的salt,根据预设生成算法以及salt生成盐值扩展信息,将salt和盐值扩展信息按照预设顺序拼接为盐值信息;口令加密服务器根据口令生成第一目标内容,根据第一目标内容加密盐值信息,得到第一密文,删除salt;口令加密服务器从密钥管理服务器中获取key,根据第二加密算法以及key加密c1,得到c2;口令加密服务器将用户id和c2存储至数据库。可选地,服务器中还可以包括hmac加密服务器,在第一目标内容中包括口令的哈希值或者口令扩展信息时,口令加密服务器还可以调用hmac加密服务器,通过该hmac加密服务器来计算口令的哈希值。

综上所述,本实施例提供的用户口令管理的方法,通过在接收到用户注册请求之后,根据盐值生成盐值扩展信息,将盐值和盐值扩展信息按照预设顺序拼接为盐值信息;此后,根据用户注册请求中的口令以及第一加密算法加密盐值信息,得到第一密文;并根据预设密钥以及第二加密算法加密第一密文,得到第二密文,将用户注册请求中的用户id和第二密文关联存储。其中,第一加密算法和第二加密算法为可逆加密算法。由于在口令加密之后,无需存储盐值,因此,上述方法解决了现有技术中由于需要存储盐值而导致服务器需要耗费大量存储空间的问题;达到了可以节省服务器所需占用的存储空间的效果。同时,由于无需存储盐值,因此这也一定程度上保证了盐值的隐秘性,避免了攻击者通过构造彩虹表对盐值所加密的口令造成的攻击。此外,由于根据盐值和预设密钥分别加密口令,提高了口令的安全性,解决了现有技术中口令的安全性较差的问题。

需要补充说明的是,当第一加密算法为异或算法时,由于参与异或运算的两条信息需要等长,因此,对于此种情况,第一目标内容的长度和盐值信息的长度相同。具体的:

作为一种可能的实现方式,第一目标内容的长度和盐值信息的长度可以为预先设定的长度l。通常情况下,l大于哈希值的长度,且也大于盐值的长度。

则此时,在步骤202中,在生成盐值扩展信息时,服务器可以生成长度为l-lsalt的盐值扩展信息。其中,盐值扩展信息的生成方式可以包括如下两种:

第一种,根据哈希算法以及盐值生成预设长度的盐值扩展信息。

预设长度lmapstr=l-lsalt。由于哈希算法可以输出固定长度的输出结果,因此,在第一种可能的实现方式中,服务器可以根据哈希算法直接输出该预设长度的盐值扩展信息。

第二种,根据预设函数生成盐值的函数值,按照预设截取方式截取函数值中的预设长度的内容作为盐值扩展信息。

其中,该预设函数可以是哈希函数、其它加密函数或者任意函数,本实施例对此并不做限定。预设截取方式表示从函数值中的哪一位开始截取。

实际实现时,服务器还可以根据预设函数生成盐值以及其它参数的函数值,其它参数可以为哈希值、口令或者其它任意内容,本实施例对此并不做限定。

以其它参数为哈希值且预设函数为哈希函数为例,服务器计算得到的函数值为h=hmac-sha256(hash,salt),hash为口令的哈希值。以预设截取方式为从第一位开始截取,则截取得到的盐值扩展信息mapstr=h(1:lmapstr),且截取到的内容为h的前lmapstr位。上述只是以输出的函数值为256位来举例,实际实现时,还可以输出其他长度,本实施例对此并不做限定。上述举例中由于hash和salt均为秘密,因此实际实现时两者可以互换。

类似的,步骤203中的第一目标内容的长度也为l。假设哈希值的长度为lhash,lhash<l,则第一目标内容中还包括其它参数。以第一目标内容包括按照预定顺序排序的哈希值和口令扩展信息为例,口令扩展信息的信息长度为l-lhash。该口令扩展信息可以为从哈希值中截取到的信息thash。预定顺序为hash在前thash在后时,第一目标内容jhash=hash||thash;在预定顺序为thash在前hash在后时,jhash=thash||hash。

相应的,在异或第一目标内容和盐值信息后,得到的第一密文c1=jhashxorsmap。其中,xor为异或运算。

请参考图2d,其示出了当第一加密算法为异或算法时,口令加密的示意图。

作为另一种可能的实现方式,第一目标内容和盐值信息的长度不固定。只是服务器以其中一个长度为准,将另一个的长度调至相同。比如,以第一目标内容的长度为准来举例,在第一目标内容包括哈希值和口令时,若长度为l’,则服务器在生成盐值扩展信息时,生成长度为l’-lsalt长度的信息,其生成方式与上述所说的生成方式类似,本实施例在此不再赘述。

在用户成功注册之后,当用户再次接入时,需要对用户进行认证,请参考图2e,该用户口令管理的方法还包括如下步骤:

步骤207,接收用户认证请求,用户认证请求中包括用户id和待认证的口令。

当需要进行用户认证时,用户可以通过ue发送用户认证请求至服务器,服务器接收该ue发送的该用户认证请求。其中,用户认证请求中包括用户id和待认证的口令。

步骤208,获取用户id所对应的第二密文。

在接收到用户认证请求之后,服务器可以根据预先存储的用户id与密文之间的对应关系,获取用户认证请求中的用户id所对应的第二密文。

步骤209,根据预设密钥解密第二密文,得到第一密文。

由于口令加密过程中,加密第一密文进而得到第二密文的第二加密算法为可逆加密算法,因此,在获取到第二密文之后,服务器可以根据预先存储的预设密钥解密获取到的第二密文,得到第一密文。

步骤210,根据待认证的口令以及第一密文,认证待认证的口令。

在对认证用户的过程中,由于无需读取盐值,因此上述方法达到了在用户认证过程中无需耗费i/o操作来读取盐值,提高了认证效率的效果。同时,该口令认证方法相对于通过迭代提高口令安全性的方案来说,也大大提高了口令认证过程中的认证效率。

基于上述实施例,在一种可能的实现方式中,请参考图2f,步骤210可以包括:

步骤210a,根据待认证的口令生成第二目标内容。

第二目标内容包括待认证的口令、待认证的口令的哈希值以及根据待认证的口令的哈希值生成的口令扩展信息中的至少一种。也即第二目标内容可以为:待认证的口令,或者,待认证的口令的哈希值,或者,待认证的口令的哈希值和口令,或者,根据待认证的口令的哈希值生成的口令扩展信息,或者,待认证的口令的哈希值和口令扩展信息,或者,口令扩展信息和口令,或者,待认证的口令的哈希值、口令扩展信息以及口令。

本步骤与步骤203类似,在此不再赘述。

步骤210b,根据第二目标内容解密第一密文。

由于第一加密算法为可逆加密算法,因此,服务器可以根据该第二目标内容解密第一密文。

步骤210c,按照预设顺序拆分解密结果,得到解密结果中携带的盐值以及除盐值之外的盐值扩展信息。

由于盐值的长度固定,且在步骤202中将盐值和盐值扩展信息按照预设顺序进行拼接,因此,为了后续步骤执行,服务器可以按照预设顺序从解密结果中读取固定长度,读取到的内容即为盐值,剩余的内容即为盐值扩展信息。

比如,结合图2b,若预设顺序为盐值在前,则服务器可以从运算结果的第一位开始读取,并读取固定长度的内容,读取到的内容即为盐值,剩余的内容即为盐值扩展信息。

步骤210d,根据预设生成算法以及拆分得到的盐值生成盐值扩展信息。

本步骤与步骤202类似,在此不再赘述。

步骤210e,若生成的盐值扩展信息与拆分得到的盐值扩展信息相同,则对待认证的口令认证通过。

如果生成的盐值扩展信息与拆分得到的盐值扩展信息相同,则说明待认证的口令与预先存储的用户id所对应的口令相同,此时,确定对待认证的口令认证通过。而如果生成的盐值扩展信息与拆分得到的盐值扩展信息不同,则服务器可以确定待认证的口令与用户id所对应的真实口令不同,此时,确定对待认证的口令认证失败。

可选地,上述只是以该用户口令管理的方法用于图1a所示的实施环境中来举例,可选地,当该用户注册的方法用于图1b所示的实施环境中时,结合图2c,该用户口令管理的方法中的认证步骤可以具体实现为:口令认证服务器接收ue发送的用户认证请求;口令认证服务器从数据库中获取用户id所对应的c2;口令认证服务器从密钥管理中心中获取key,并根据获取到的key解密获取到的c2,得到c1;口令认证服务器根据待认证的口令以及c1认证待认证的口令。其中,在服务器中还包括hmac加密服务器的过程中,口令认证服务器可以调用hmac加密服务器,通过该hmac服务器计算待认证的口令的哈希值。

请参考图3a,其示出了本发明另一个实施例提供的用户口令管理的方法的方法流程图,本实施例以该用户口令管理的方法用于图1a所示的实施环境中来举例说明。如图3a所示,该用户口令管理的方法可以包括:

步骤301,接收用户注册请求,用户注册请求中包括用户id和口令。

步骤302,根据预设密钥以及第一加密算法,加密口令,得到第一密文。

第一加密算法可以为可逆加密算法也可以为不可逆加密算法。具体的,该第一加密算法可以为hmac、aes、des或者rsa,本实施例对此并不做限定。

实际实现时,为了保证加密后的口令无法被解密,进而提高加密后的口令的安全性,该第一加密算法可以为不可逆加密算法,比如hmac算法,本实施例对此并不做限定。

步骤303,根据盐值生成盐值扩展信息,将盐值和盐值扩展信息按照预设顺序拼接为盐值信息。

本步骤与上述实施例中的步骤302类似,在此不再赘述。

步骤304,根据第一密文生成第一目标内容。

第一目标内容包括:第一密文,和/或,根据第一密文生成的密文扩展信息。也即,第一目标内容可以为:第一密文,或者,密文扩展信息,或者,第一密文和密文扩展信息的组合。

可选地,当第一目标内容包括密文扩展信息时,本步骤可以包括:根据预设扩展算法以及第一密文生成该密文扩展信息。其中,预设扩展算法可以包括截取哈希值中的固定长度的算法,或者,对哈希值进行加密的加密算法,或者,根据预设函数输出哈希值所对应的函数值的算法。并且,密文扩展信息的长度可以固定,也可以不固定,本实施例对此并不做限定。

步骤305,根据第一目标内容以及第二加密算法,加密盐值信息,得到第二密文,第二加密算法为可逆加密算法。

第二加密算法为异或算法、aes算法、des、rsa算法或者其它算法,本实施例对此并不做限定。

步骤306,将用户id和第二密文关联存储。

上述只是以该用户口令管理的方法用于图1a所示的实施环境中来举例,可选地,当该用户口令管理的方法用于图1b所示的实施环境中时,该用户口令管理的方法可以实现为:口令加密服务器接收ue发送的用户注册请求;从密钥管理服务器中获取key,根据第一加密算法和key加密用户注册请求中的口令,得到第一密文;口令加密服务器从盐值生成服务器中获取随机生成的salt,根据预设生成算法以及salt生成盐值扩展信息,将salt和盐值扩展信息按照预设顺序拼接为盐值信息,删除salt;口令加密服务器根据c1生成第一目标内容,根据该第一目标内容以及第二加密算法加密盐值信息,得到c2;口令加密服务器将用户id和c2存储至数据库。可选地,服务器中还可以包括hmac加密服务器,在第一目标内容中包括密文扩展信息时,口令加密服务器还可以调用hmac加密服务器,通过该hmac加密服务器来计算密文扩展信息。

综上所述,本实施例提供的用户口令管理的方法,通过在接收到用户注册请求之后,根据预设密钥以及第一加密算法加密口令,得到第一密文,并根据盐值生成盐值扩展信息,将盐值和盐值扩展信息按照预设顺序拼接为盐值信息;此后,根据第一密文以及第二加密算法加密盐值信息,得到第二密文,将用户注册请求中的用户id和第二密文关联存储。其中,第二加密算法为可逆加密算法。由于在口令加密之后,无需存储盐值,因此,上述方法解决了现有技术中由于需要存储盐值而导致服务器需要耗费大量存储空间的问题;达到了可以节省服务器所需占用的存储空间的效果。同时,由于无需存储盐值,因此这也一定程度上保证了盐值的隐秘性,避免了攻击者通过构造彩虹表对盐值加密的口令造成的攻击。此外,由于根据盐值和预设密钥同时加密口令,提高了口令的安全性,解决了现有技术中口令的安全性较差的问题。

与图2a所示的用户口令管理的方法类似,在本实施例中,当第二加密算法为异或算法时,由于参与异或运算的两条信息需要等长,因此,对于此种情况,第一目标内容的长度和盐值信息的长度相同。具体的:

作为一种可能的实现方式,第一目标内容的长度和盐值信息的长度可以为预先设定的长度l。通常情况下,l大于哈希值的长度,且也大于盐值的长度。

则此时,在步骤303中,在生成盐值扩展信息时,服务器可以生成长度为l-lsalt的盐值扩展信息。其中,盐值扩展信息的生成方式可以包括如下两种:

第一种,根据哈希算法以及盐值生成预设长度的盐值扩展信息。

第二种,根据预设函数生成盐值的函数值,按照预设截取方式截取函数值中的预设长度的内容作为盐值扩展信息。

这与图2a所示的实施例中的实现类似,本实施例在此不再赘述。

类似的,步骤304中的第一目标内容的长度也为l。假设哈希值的长度为lc1,lc1<l,则第一目标内容中还包括其它参数。以第一目标内容包括第一密文c1和密文扩展信息为例,密文扩展信息的信息长度为l-lc1。该密文扩展信息可以为从哈希值中截取到的信息tc1。预定顺序为c1在前tc1在后时,第一目标内容jc1=c1||tc1;在预定顺序为tc1在前c1在后时,jc1=tc1||c1。

相应的,在异或第一目标内容和盐值信息后,得到的第二密文c2=jc1xorsmap。其中,xor为异或运算。

作为另一种可能的实现方式,第一目标内容和盐值信息的长度不固定。只是服务器以其中一个长度为准,将另一个的长度调至相同。比如,以第一目标内容的长度为准来举例,在第一目标内容包括第一密文和密文扩展信息时,若长度为l’,则服务器在生成盐值扩展信息时,生成长度为l’-lsalt长度的信息,其生成方式与上述所说的生成方式类似,本实施例在此不再赘述。

在用户成功注册之后,当用户再次接入时,需要对用户进行认证,请参考图3b,该用户口令管理的方法还包括如下步骤:

步骤307,接收用户认证请求,用户认证请求中包括用户id和待认证的口令。

步骤308,获取用户id所对应的第二密文。

步骤309,根据第一加密算法以及预设密钥,加密待认证的口令,得到第三密文。

步骤310,根据第二密文以及第三密文,认证待认证的口令。

在对口令进行认证过程,由于无需读取盐值,因此上述方法达到了在口令认证过程中无需耗费i/o操作来读取盐值,提高了认证效率的效果。同时,该口令认证方法相对于通过迭代提高口令安全性的方案来说,也大大提高了口令认证过程中的认证效率。

基于上述实施例,在一种可能的实现方式中,请参考图3c,步骤310可以包括:

步骤310a,根据第三密文生成第二目标内容。

第二目标内容包括:第三密文,和/或,根据第三密文生成的密文扩展信息。也即第二目标内容可以为:第三密文,或者,密文扩展信息,或者第三密文和密文扩展信息。

本步骤与步骤304类似,在此不再赘述。

步骤310b,根据第二目标内容解密第二密文。

由于第二加密算法为可逆加密算法,因此,在服务器获取到第二密文以及第二目标内容之后,服务器可以根据第二目标内容解密第二密文。

步骤310c,按照预设顺序拆分解密结果,得到解密结果中携带的盐值以及除盐值之外的盐值扩展信息。

步骤310d,根据预设生成算法以及拆分得到的盐值生成盐值扩展信息。

步骤310e,若生成的盐值扩展信息与拆分得到的盐值扩展信息相同,则对待认证的口令认证通过。

步骤310c至步骤310e与上述实施例中的步骤210c至步骤210e类似,在此不再赘述。

图4所示为本发明实施例提供的用户口令管理的服务器示意图。用户口令管理的服务器400包括至少一个处理器401,通信总线402,存储器403以及至少一个通信接口404。

处理器401可以是一个通用中央处理器(cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。

通信总线402可包括一通路,在上述组件之间传送信息。所述通信接口404,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wirelesslocalareanetworks,wlan)等。

存储器403可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,所述存储器403用于存储执行本发明方案的程序代码,并由处理器401来控制执行。所述处理器401用于执行所述存储器403中存储的程序代码。

在具体实现中,作为一种实施例,处理器401可以包括一个或多个cpu,例如图4中的cpu0和cpu1。

在具体实现中,作为一种实施例,计算机设备400可以包括多个处理器,例如图4中的处理器401和处理器408。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,用户口令管理的服务器400还可以包括输出设备405和输入设备406。输出设备405和处理器401通信,可以以多种方式来显示信息。例如,输出设备405可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备406和处理器401通信,可以以多种方式接受用户的输入。例如,输入设备406可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的用户口令管理的服务器400可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,用户口令管理的服务器400可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图4中类似结构的设备。本发明实施例不限定用户口令管理的服务器400的类型。

用户口令管理的服务器的存储器中存储了一个或多个软件模块。用户口令管理的服务器可以通过处理器以及存储器中的程序代码来实现软件模块,实现对用户口令的管理。

请参考图5,其示出了本发明一个实施例提供的用户口令管理的服务器的结构示意图,如图5所示,该用户口令管理的服务器可以包括:接收单元510、生成单元520、加密单元530和存储单元540。

接收单元510,用于接收用户注册请求,所述用户注册请求中包括用户标识id和口令;

生成单元520,用于根据盐值生成盐值扩展信息,将所述盐值和所述盐值扩展信息按照预设顺序拼接为盐值信息;

加密单元530,用于根据所述口令以及第一加密算法,加密所述盐值信息,得到第一密文;所述第一加密算法为可逆加密算法;

所述加密单元530,还用于根据预设密钥以及第二加密算法,加密所述第一密文,得到第二密文,所述第二加密算法为可逆加密算法;

存储单元540,用于将所述用户id和所述第二密文关联存储。

综上所述,本实施例提供的用户口令管理的服务器,通过在接收到用户注册请求之后,根据盐值生成盐值扩展信息,将盐值和盐值扩展信息按照预设顺序拼接为盐值信息;此后,根据用户注册请求中的口令以及第一加密算法加密盐值信息,得到第一密文;并根据预设密钥以及第二加密算法加密第一密文,得到第二密文,将用户注册请求中的用户id和第二密文关联存储。其中,第一加密算法和第二加密算法为可逆加密算法。由于在口令加密之后,无需存储盐值,因此,上述方法解决了现有技术中由于需要存储盐值而导致用户口令管理的服务器需要耗费大量存储空间的问题;达到了可以节省用户口令管理的服务器所需占用的存储空间的效果。同时,由于无需存储盐值,因此这也一定程度上保证了盐值的隐秘性,避免了攻击者通过构造彩虹表对盐值所加密的口令造成的攻击。此外,由于根据盐值和预设密钥分别加密口令,提高了口令的安全性,解决了现有技术中口令的安全性较差的问题。

可选地,在上述实施例的第一种可能的实现方式中,所述加密单元530,还用于:

根据所述口令,生成第一目标内容;其中,所述第一目标内容包括所述口令、所述口令的哈希值以及根据所述口令的哈希值生成的口令扩展信息中的至少一种;

根据所述第一目标内容以及所述第一加密算法,加密述盐值信息。

可选地,在上述实施例的第二种可能的实现方式中,若所述第一加密算法为异或算法,则:

所述生成单元520,还用于根据所述盐值生成预设长度的所述盐值扩展信息,所述预设长度为所述第一目标内容的长度和所述盐值的长度之差。

可选地,在上述实施例的第三种可能的实现方式中,所述生成单元520,还用于:

根据哈希算法以及所述盐值,生成所述预设长度的所述盐值扩展信息;

或者,

根据预设函数,生成所述盐值的函数值,按照预设截取方式从所述函数值中截取所述预设长度的内容作为所述盐值扩展信息。

可选地,在上述实施例的第四种可能的实现方式中,该服务器还包括:

所述接收单元510,还用于接收用户认证请求,所述用户认证请求中包括所述用户id以及待认证的口令;

获取单元,用于获取所述用户id所对应的所述第二密文;

解密单元,用于根据所述预设密钥解密所述第二密文,得到所述第一密文;

认证单元,用于根据所述待认证的口令以及所述第一密文,认证所述待认证的口令。

可选地,在上述实施例的第五种可能的实现方式中,所述认证单元,还用于:

根据所述待认证的口令,生成第二目标内容,所述第二目标内容包括所述待认证的口令、所述待认证的口令的哈希值以及根据所述待认证的口令的哈希值生成的口令扩展信息中的至少一种;

根据所述第二目标内容解密所述第一密文;

按照预设顺序拆分解密结果,得到所述解密结果中携带的盐值以及除所述盐值之外的盐值扩展信息;

根据拆分得到的所述盐值生成盐值扩展信息;

若生成的所述盐值扩展信息与拆分得到的所述盐值扩展信息相同,则对所述待认证的口令认证通过。

请参考图6,其示出了本发明一个实施例提供的用户口令管理的服务器的结构示意图,如图6所示,该用户口令管理的服务器可以包括:接收单元610、加密单元620、生成单元630和存储单元640。

接收单元610,用于接收用户注册请求,所述用户注册请求中包括用户标识id和口令;

加密单元620,用于根据预设密钥以及第一加密算法,加密所述口令,得到第一密文;

生成单元630,用于根据盐值生成盐值扩展信息,将所述盐值和所述盐值扩展信息按照预设顺序拼接为盐值信息;

所述加密单元620,还用于根据所述第一密文以及第二加密算法。加密所述盐值信息,得到第二密文,所述第二加密算法为可逆加密算法;

存储单元640,用于将所述用户id和所述第二密文关联存储。

综上所述,本实施例提供的用户口令管理的服务器,通过在接收到用户注册请求之后,根据预设密钥以及第一加密算法加密口令,得到第一密文,并根据盐值生成盐值扩展信息,将盐值和盐值扩展信息按照预设顺序拼接为盐值信息;此后,根据第一密文以及第二加密算法加密盐值信息,得到第二密文,将用户注册请求中的用户id和第二密文关联存储。其中,第二加密算法为可逆加密算法。由于在口令加密之后,无需存储盐值,因此,上述方法解决了现有技术中由于需要存储盐值而导致用户口令管理的服务器需要耗费大量存储空间的问题;达到了可以节省用户口令管理的服务器所需占用的存储空间的效果。同时,由于无需存储盐值,因此这也一定程度上保证了盐值的隐秘性,避免了攻击者通过构造彩虹表对盐值加密的口令造成的攻击。此外,由于根据盐值和预设密钥同时加密口令,提高了口令的安全性,解决了现有技术中口令的安全性较差的问题。

可选地,在上述实施例的第一种可能的实现方式中,所述加密单元620,还用于:

根据所述第一密文生成第一目标内容,所述第一目标内容包括:所述第一密文,和/或,根据所述第一密文生成的密文扩展信息;

根据所述第一目标内容以及所述第二加密算法,加密所述盐值信息。

可选地,在上述实施例的第二种可能的实现方式中,若所述第二加密算法为异或算法,则:

所述生成单元630,还用于根据所述盐值生成预设长度的所述盐值扩展信息,所述预设长度为所述第一目标内容的长度和所述盐值的长度之差。

可选地,在上述实施例的第三种可能的实现方式中,所述生成单元630,还用于:

根据哈希算法以及所述盐值生成所述预设长度的所述盐值扩展信息;

或者,

根据预设函数,生成所述盐值的函数值;按照预设截取方式,从所述函数值截取所述预设长度的内容作为所述盐值扩展信息。

可选地,在上述实施例的第四种可能的实现方式中,

所述接收单元610,还用于接收用户认证请求,所述用户认证请求中包括所述用户id以及待认证的口令;

获取单元,用于获取所述用户id所对应的所述第二密文;

所述加密单元,还用于根据所述第一加密算法以及所述预设密钥,加密所述待认证的口令,得到第三密文;

认证单元,用于根据所述第二密文以及所述第三密文,认证所述待认证的口令。

可选地,在上述实施例的第五种可能的实现方式中,所述认证单元,还用于:

根据所述第三密文,生成第二目标内容,所述第二目标内容包括:所述第三密文,和/或,根据所述第三密文生成的密文扩展信息;

根据所述第二目标内容,解密所述第二密文;

按照所述预设顺序拆分解密结果,得到所述解密结果中携带的盐值以及除所述盐值之外的盐值扩展信息;

根据拆分得到的所述盐值生成盐值扩展信息;

若生成的所述盐值扩展信息与拆分得到的所述盐值扩展信息相同,则对所述待认证的口令认证通过。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。

本领域技术人员应明白,本发明的实施例可提供为方法、服务器(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过internet或其它有线或无线电信系统。

本发明是参照本发明实施例的方法、服务器(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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