[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN111865869A - 基于随机映射的注册、认证方法及装置、介质及电子设备 - Google Patents

基于随机映射的注册、认证方法及装置、介质及电子设备 Download PDF

Info

Publication number
CN111865869A
CN111865869A CN201910335403.4A CN201910335403A CN111865869A CN 111865869 A CN111865869 A CN 111865869A CN 201910335403 A CN201910335403 A CN 201910335403A CN 111865869 A CN111865869 A CN 111865869A
Authority
CN
China
Prior art keywords
random
registration data
mapping
key
random salt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910335403.4A
Other languages
English (en)
Other versions
CN111865869B (zh
Inventor
段程浩
李军亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Wodong Tianjun Information Technology Co Ltd
Priority to CN201910335403.4A priority Critical patent/CN111865869B/zh
Publication of CN111865869A publication Critical patent/CN111865869A/zh
Application granted granted Critical
Publication of CN111865869B publication Critical patent/CN111865869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及加密认证技术领域,具体涉及一种基于随机映射的注册、认证方法及装置、介质及电子设备,所述方法包括:响应于用户发送注册数据,获取注册数据对应的随机盐,并根据随机盐生成对应的第一随机映射;根据第一随机映射对注册数据进行加密,以获取对应的注册数据初步密钥;将随机盐、注册数据初步密钥按第一预设规则组合成为二级密钥;根据第一随机映射对二级密钥进行加密,以获取认证密钥并返回。本公开实施例的技术方案通过根据随机盐和第一随机映射进行加密,能够降低生成认证密钥时对注册数据和随机盐的依赖,使得即使在注册数据和随机盐泄露的情况下,认证密钥也很难被复制,进而提升了根据认证密钥进行认证的安全性。

Description

基于随机映射的注册、认证方法及装置、介质及电子设备
技术领域
本公开涉及加密认证技术领域,具体而言,涉及一种基于随机映射的注册、认证方法及装置、计算机可读存储介质及电子设备。
背景技术
目前,在一些具有访问资源的平台中,常常需要针对不同的用户授予不同的访问权利。例如,在一些有偿在线教育平台中,对于注册了课程1的用户只授予课程1这一资源的访问权利,对于注册了课程1和课程2的用户,则授予课程1和课程2对应资源的访问权利。
目前常见的认证授权方法是根据用户发送的访问请求中携带的认证密钥与服务器的标准密钥进行对比,以认证是否具有访问权利。然而,现有的认证密钥和标准密钥通常是通过以下几种方法生成的:一是采用简单的对称加密算法生成的,例如3DES、AES等对称加密算法;二是采用单向哈希算法生成的,例如MD5、SHA1等单向哈希算法;三是在单向哈希算法的基础上增加固定盐,进而生成密钥。
然而在大量用户信息泄露的情况下,上述第一种方法可以通过解密还原出原始密码,第二种加密方法则可以根据彩虹表进行查表破解,而第三种加密方法则过度依赖固定盐,一旦固定盐泄露,则可以建立彩虹表进行破解。综上所述,在大量用户信息泄露的情况下,现有的认证方法中的认证密钥和标准密钥的解密变得越来越简单,认证授权的安全性也受到了很大的影响。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种基于随机映射的注册、认证方法及装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服认证安全性较低的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供了一种基于随机映射的注册方法,包括:响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射;其中,所述注册数据包括用户标识和授权对象标识;根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;其中,所述注册数据初步密钥包括用户初步密钥和授权对象初步密钥;将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
在本公开的一种示例性实施例中,基于前述方案,所述第一随机映射包括:根据第一预设哈希算法进行字符转换生成特定位数的字节数组;以所述随机盐为映射规则对所述字节数组进行映射。
在本公开的一种示例性实施例中,基于前述方案,所述获取所述注册数据对应的随机盐,包括:将随机生成的随机盐配置为所述注册数据对应的随机盐;或者将所述注册数据映射至预设随机盐表中的一组随机盐,将所述随机盐配置为所述注册数据对应的随机盐;或者提取系统日志中所述注册数据对应的时间戳,根据第二预设规则将所述注册数据以及所述时间戳组合成随机字符串,根据第二预设哈希算法对所述随机字符串进行加密,将所述加密后的字符串配置为所述注册数据对应的随机盐。
在本公开的一种示例性实施例中,基于前述方案,在所述根据第二预设哈希算法对所述随机字符串进行加密之后,所述方法还包括:根据第二随机映射对加密后的字符串进行再加密。
在本公开的一种示例性实施例中,基于前述方案,所述第二随机映射包括:根据第二预设哈希算法进行字符转换生成字节数组;以所述加密后的字符串为映射规则对所述字节数组进行映射。
在本公开的一种示例性实施例中,基于前述方案,在所述获取注册数据对应的随机盐之后,所述方法还包括:将所述注册数据与生成所述随机盐的随机盐信息对应存储;其中,所述随机盐信息包括随机盐或者所述注册数据对应的时间戳。
在本公开的一种示例性实施例中,基于前述方案,在所述将所述注册数据与生成所述随机盐的随机盐信息对应存储之后,所述方法还包括:将所述随机盐信息与历史随机盐信息对比查重;若所述随机盐信息与历史随机盐信息相同,则重新获取所述注册数据对应的随机盐。
在本公开的一种示例性实施例中,基于前述方案,所述方法还包括:响应于用户发送认证数据,获取对应于注册数据的随机盐信息;其中,所述认证数据包括注册数据和认证密钥,所述注册数据包括用户标识和授权对象标识;基于所述随机盐信息复现随机盐,并根据所述随机盐生成第一随机映射;根据所述第一随机映射、所述第一预设规则复现对所述注册数据的加密,以获取标准密钥;若所述认证密钥与所述标准密钥相同,则认证成功。
在本公开的一种示例性实施例中,基于前述方案,所述随机盐为从数字、字符以及特殊字符不放回抽取的预设位数字符串。
在本公开的一种示例性实施例中,基于前述方案,所述随机盐中的数字、字符以及特殊字符的种类和比例根据第三预设规则配置。
根据本公开的第二方面,提供了一种基于随机映射的认证方法,包括:响应于用户发送认证数据,获取对应于注册数据的随机盐信息;其中,所述认证数据包括注册数据和认证密钥,所述注册数据包括用户标识和授权对象标识;基于所述随机盐信息复现随机盐,并根据所述随机盐生成第一随机映射;根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;其中,所述注册数据初步密钥包括用户初步密钥和授权对象初步密钥;将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;根据所述第一随机映射对所述二级密钥进行加密,以获取标准密钥;若所述认证密钥与所述标准密钥相同,则判断认证成功。
在本公开的一种示例性实施例中,基于前述方案,所述随机盐信息包括所述随机盐或者所述注册数据对应的时间戳;若所述随机盐信息包括所述注册数据对应的时间戳,基于所述随机盐信息复现所述随机盐,包括:提取随机盐信息中所述注册数据对应的时间戳,根据第二预设规则将所述注册数据以及所述时间戳组合成随机字符串,根据第二预设哈希算法对所述随机字符串进行加密,将所述加密后的字符串配置为所述注册数据对应的随机盐。
在本公开的一种示例性实施例中,基于前述方案,在所述根据第二预设哈希算法对所述随机字符串进行加密之后,所述方法还包括:根据第二随机映射对加密后的字符串进行再加密。
在本公开的一种示例性实施例中,基于前述方案,所述根据第二随机映射包括:根据第二预设哈希算法进行字符转换生成字节数组;以所述加密后的字符串为映射规则对所述字节数组进行映射。
在本公开的一种示例性实施例中,基于前述方案,所述第一随机映射包括:根据第一预设哈希算法进行字符转换生成特定位数的字节数组;以所述随机盐为映射规则对所述字节数组进行映射。
在本公开的一种示例性实施例中,基于前述方案,所述认证密钥是基于所述注册数据生成的;所述方法还包括:响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射;其中,所述注册数据包括用户标识和授权对象标识;根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;其中,所述注册数据初步密钥包括用户初步密钥和授权对象初步密钥;将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
在本公开的一种示例性实施例中,基于前述方案,所述随机盐为从数字、字符以及特殊字符不放回抽取的预设位数字符串。
在本公开的一种示例性实施例中,基于前述方案,所述随机盐中的数字、字符以及特殊字符的种类和比例根据第三预设规则配置。
根据本公开的第三方面,提供了一种基于随机映射的注册装置,包括:数据生成模块,用于响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射;其中,所述注册数据包括用户标识和授权对象标识;第一加密模块,用于根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;其中,所述注册数据初步密钥包括用户初步密钥和授权对象初步密钥;第一组合模块,用于将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;第二加密模块,用于根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
根据本公开的第四方面,提供了一种基于随机映射的认证装置,包括:数据获取模块,用于响应于用户发送认证数据,获取对应于注册数据的随机盐信息;其中,所述认证数据包括注册数据和认证密钥,所述注册数据包括用户标识和授权对象标识;数据复现模块,用于基于所述随机盐信息复现随机盐,并根据所述随机盐生成第一随机映射;第三加密模块,用于根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;其中,所述注册数据初步密钥包括用户初步密钥和授权对象初步密钥;第二组合模块,用于将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;第四加密模块,用于根据所述第一随机映射对所述二级密钥进行加密,以获取标准密钥;数据认证模块,用于在所述认证密钥与所述标准密钥相同时,判断认证成功。
根据本公开的第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的基于随机映射的注册方法;或者所述程序被处理器执行时实现如上述实施例中第二方面所述的基于随机映射的认证方法。
根据本公开实施例的第六方面,提供了一种电子设备,包括:
处理器;以及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的基于随机映射的注册方法;或者当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第二方面所述的基于随机映射的认证方法。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开的一种实施例所提供的基于随机映射的注册方法中,通过获取到的对应于注册数据的随机盐生成对应的第一随机映射,根据随机映射对注册数据进行加密生成注册数据初步密钥,最后根据第一随机映射对随机盐和注册数据初步密钥组合进一步加密,生成认证密钥并返回。通过上述的加密过程,能够降低生成认证密钥时对注册数据和随机盐的依赖,使得即使在注册数据和随机盐泄露的情况下,认证密钥也很难被复制,进而提升了根据认证密钥进行认证的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出本公开示例性实施例中一种基于随机映射的注册方法的流程图;
图2示意性示出本公开示例性实施例中在根据第一随机映射进行加密的方法的流程图;
图3示意性示出本公开示例性实施例中注册之后的认证方法的流程图;
图4示意性示出本公开示例性实施例中一种基于随机映射的认证方法的流程图;
图5示意性示出本公开示例性实施例中在根据第一随机映射进行加密的方法的流程图;
图6示意性示出本公开示例性实施例中在认证之前进行注册的方法的流程图;
图7示意性示出本公开示例性实施例中一种基于随机映射的注册装置的组成示意图;
图8示意性示出本公开示例性实施例中一种基于随机映射的认证装置的组成示意图;
图9示意性示出了适于用来实现本公开示例性实施例的电子设备的计算机系统的结构示意图;
图10示意性示出了根据本公开的一些实施例的计算机可读存储介质的示意图。
具体实施方式
现在将参照附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在本示例性实施例中,首先提供了一种基于随机映射的注册方法,可以应用于加密认证领域,例如,在进行认证之前,服务器需要针对注册用户和注册用户申请的授权对象生成对应的认证密钥,用以在需要访问资源时进行认证。上述基于随机映射的注册方法可以应用于认证的服务器。参照图1所示,上述的基于随机映射的注册方法包括以下步骤:
S11,响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射;
S12,根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;
S13,将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;
S14,根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
根据本示例性实施例中所提供的基于随机映射的注册方法中,通过根据随机盐和第一随机映射进行加密,能够降低生成认证密钥时对注册数据和随机盐的依赖,使得即使在注册数据和随机盐泄露的情况下,认证密钥也很难被复制,进而提升了根据认证密钥进行认证的安全性。
下面,将结合附图及实施例对本示例性实施例中的基于随机映射的注册方法的各个步骤进行更详细的说明。
步骤S11,响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射。
在本公开的一种示例实施例中,所述注册数据包括用户标识和授权对象标识。所述用户标识对应于唯一的用户,可以是用户id,用户名称等;所述授权对象对应于唯一的可访问资源或者可访问资源组,可以是资源代码、资源标号等。
在本公开的一种示例实施例中,所述随机盐为从数字、字符以及特殊字符不放回抽取的预设位数字符串,其中,预设位数可以根据用户字符串和授权对象字符串的属性进行设置。例如,当用户字符串和授权对象字符串为16进制字符串时,所述随机盐的预设位数则是16;再如,当用户字符串和授权对象字符串为2进制字符串时,所述随机盐的预设位数则是2。
进一步地,所述随机盐中的数字、字符以及特殊字符的种类和比例根据第三预设规则配置。所述第三预设规则可以是预先自定义的字符种类和比例,例如,预先自定义在数字和字符中抽取随机盐,则可以设定数字和字符的比例为50%和50%,将特殊字符的比例设置为0%;所述第三预设规则还可以是根据用户字符串和授权对象字符串的特定位数的字符进行设置,例如,在MD5算法转换后的用户字符串和授权对象字符串中,在第2位的字符分别为5和e时,则可以将数字、字符、特殊字符的比例设置为5%,14%,81%。
在本公开的一种示例实施例中,所述获取所述注册数据对应的随机盐包括多种方式。可以将随机生成的随机盐配置为所述注册数据对应的随机盐,例如,在数字、字符和特殊字符中不放回的随机抽取16位随机盐配置为所述注册数据对应的随机盐;也可以将所述注册数据映射至预设随机盐表中的一组随机盐,将所述随机盐配置为所述注册数据对应的随机盐,例如,根据注册数据中用户表示和授权对象标识中带有的数字映射至随机盐表中特定行特定列的一组随机盐。
获取所述注册数据对应随机盐的过程也可以是提取系统日志中所述注册数据对应的时间戳,根据第二预设规则将所述注册数据以及所述时间戳组合成随机字符串,根据第二预设哈希算法对所述随机字符串进行加密,将所述加密后的字符串配置为所述注册数据对应的随机盐。
在本公开的一种示例实施例中,所述第二预设规则指注册数据和时间戳生成组合的规则。所述第二预设规则可以是从用户数据、授权对象数据、时间戳中抽取任意两个数据按顺序组合,例如,用户数据和时间戳组合成随机字符串;所述第二预设规则也可以是用户数据、授权对象数据、时间戳的组合顺序,例如,按照时间戳、用户数据、授权对象数据的顺序将三者组合成随机字符串。
进一步地,在根据第二预设哈希算法对所述随机字符串进行加密之后,还可以根据第二随机映射对加密后的字符串进行再加密,进而将最终得到的加密后的字符串配置为注册数据对应的随机盐。其中,所述第二预设哈希算法可以是MD5算法,SHA1算法等哈希算法中的一种或多种的组合;所述第二随机映射包括:根据第二预设哈希算法进行字符转换生成字节数组;以所述加密后的字符串为映射规则对所述字节数组进行映射。
例如,根据时间戳和用户数据两个数据组合成的随机字符串为“apple121”,根据MD5算法对其进行加密,得到加密后的字节数组为“428ffcff513b6f78cf0975e080d4041a”,此时,可以根据第二随机映射对加密后的字节数组进行再加密,即根据MD5算法将其再加密得到“5f3cc3424f13f060bf49ea5da38e4d3d”后,由于通过MD5算法得到的字节数组为16进制的字节数组,因此以第一步得到的加密后的字节数组“428ffcff513b6f78cf0975e080d4041a”的前16位为映射规则,对根据第二次MD5算法得到“5f3cc3424f13f060bf49ea5da38e4d3d”进行映射。
可选的,所述根据第二随机映射对加密后的字符串进行再加密时,再加密的次数可以人工设定,也可以根据注册数据和时间戳自动生成,例如,可以根据注册数据和时间戳的位数中最小的数字为再加密的次数,也可以以注册数据和时间戳的位数之和为再加密的次数。
对于获取随机盐的方案,本公开的实施例提供了如下2个具体的实施例:
实施例1:
第一步,按用户标识、授权对象标识和时间戳的顺序选择两个数据构造字符串,分别为用户标识+授权对象标识,授权对象标识+时间戳,时间戳+用户标识。
第二步,对上述三组字符串进行MD5加密分别得到字节数组1,字节数组2,字节数组3。
第三步,按字节数组1,字节数组2,字节数组3的顺序将3组字节数组组合成1组字节数组。
第四步,对第三步得到的1组字节数组进行MD5加密得到随机盐。
实施例2:
在实施例1的基础上,将得到的随机盐记为初始随机盐。
第一步,计算用户标识、授权对象标识和时间戳三组数据的位数和配置为加密次数;或者自定义加密次数。
第二步,根据初始随机盐生成第一随机映射,根据第一随机映射对用户标识、授权对象标识和时间戳构成的一组字符串进行随机进行加密,加密的次数为第一步中配置的加密次数。
步骤S12,根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥。
在本公开的一种示例实施例中,所述注册数据包括用户标识和授权对象标识,因此根据第一随机映射对注册数据进行加密就是对用户标识和授权对象标识分别加密,因此,对应得到的注册数据初步密钥则包括用户初步密钥和授权对象初步密钥。
在本公开的一种示例实施例中,参照图2所示,所述第一随机映射包括如下步骤:
S121,根据第一预设哈希算法进行字符转换生成特定位数的字节数组;
S122,以所述随机盐为映射规则对所述字节数组进行映射。
在本公开的一种示例实施例中,第一预设哈希算法可以是MD5算法,SHA1算法等哈希算法中的一种或多种的组合。例如,第一预设哈希算法为MD5算法,则可以根据MD5算法将用户标识“apple”转换为字节数组“1f3870be274f6c49b3e31a0c6728957f”;再如,第一预设哈希算法为MD5算法和SHA1算法,则可以先用MD5算法将用户标识“apple”转换为字节数组“1f3870be274f6c49b3e31a0c6728957f”,再通过SHA1算法将上述的字节数组转换为SHA1算法对应的字节数组“bd27f490c3b0b1522533339da74ccf9eefc72816”。
具体地,根据所述第一随机映射对所述注册数据进行加密,则是根据第一预设哈希算法将注册数据转换生成特定的位数的字节数组,随后以步骤S11中获取的随机盐为映射规则,对所述字节数组进行映射生成初步密钥。例如,在以MD5算法将“test”这一用户标识转换为16进制的32位字符串“098f6bcd4621d373cade4e832627b4f6”,此时若原始字符与随机盐的对应关系如表1所示,则对应于用户标识“test”的字符串“098f6bcd4621d373cade4e832627b4f6”可以以随机盐为映射加密生成用户初步密钥“!L*+8zo4^8bF4}M}oe43^3*}b8bMz^+8”;再如,原始字符0、1、2、3分别对应于随机盐t、G、8、*,则根据MD5算法转换得到的字节数组“2013”可以映射为“8tG*”。
表1
原始字符 0 1 2 3 4 5 6 7 8 9 a b c d e f
随机盐 F b } ^ 9 8 M * L e z o 4 3 +
步骤S13,将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥。
在本公开的一种示例实施例中,所述第一预设规则可以是从用户初步密钥、授权对象初步密钥、随机盐的组合顺序,例如,按照随机盐、用户初步密钥、授权对象初步密钥的顺序将三者组合成二级密钥。例如,随机盐为“!Fb}^98M*Lezo43+”,用户初步密钥为上例中“test”转换得到的“!L*+8zo4^8bF4}M}oe43^3*}b8bMz^+8”,授权对象初步密钥为“1f3870be274f6c49b3e31a0c6728957f”,按照随机盐、用户初步密钥、授权对象初步密钥的顺序将三组字节数组组合成为二级密钥“!Fb}^98M*Lezo43!L*+8zo4^8bF4}M}oe43^3*}b8bMz^+81f3870be274f6c49b3e31a0c6728957f”。
步骤S14,根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
在本公开的一种示例实施例中,根据所述第一随机映射对所述二级密钥进行加密的过程与上述对注册数据加密的过程相同,即根据第一预设哈希算法将二级密钥转换生成特定的位数的字节数组,随后以步骤S11中获取的随机盐为映射规则,对所述字节数组进行映射生成认证密钥。例如,根据MD5算法对步骤S13例中生成二级密钥进行转换,生成32位的字节数组“5e6c4bc354c94f6cecf1ef3795f6126e”,以表1中的随机盐对上述字节数组进行映射生成对应的认证密钥“938o^zo}9^oL^+8o3o+!3+}ML9+8Fb83”。
进一步地,在根据所述第一随机映射对所述二级密钥进行加密时,加密的次数可以人工设定,也可以根据注册数据自动生成。例如,可以根据注册数据中用户标识和授权对象标识的位数中最小的数字为加密的次数,也可以以用户标识和授权对象标识的位数之和为加密的次数。
在本公开的一种示例实施例中,在所述获取注册数据对应的随机盐之后,所述方法还包括:将所述注册数据与生成所述随机盐的随机盐信息对应存储;其中,所述随机盐信息包括随机盐或者所述注册数据对应的时间戳。例如,当随机盐是在数字、字符、特殊字符中随机生成的时,可以直接将随机盐作为随机盐信息;再如,当随机盐信息是通过时间戳与注册信息加密生成的,可以将时间戳作为随机盐信息进行存储。通过将随机盐信息与注册数据对应存储,使得在需要复制密钥时,能够依据注册数据、随机盐信息以及对应的第一随机映射和第一预设规则复现密钥,保证了认证时的复现要求。
进一步地,在将随机盐信息存储之后,还可以对随机盐信息进行去重处理,所述去重包括:将所述随机盐信息与历史随机盐信息对比查重;若所述随机盐信息与历史随机盐信息相同,则重新获取所述注册数据对应的随机盐。例如,在将随机盐信息存储之后,将其与以往存储的历史随机盐信息进行对比查重,如果出现了相同的随机盐,则可以重新获取一个随机盐作为本次注册数据的随机盐,并重新进行随机盐信息的存储步骤。通过去重处理,能够使得每个注册数据对应的随机盐信息都是唯一的,对应的随机盐也是唯一的。在随机盐唯一的条件下,能够保证各个注册信息得到的认证密钥的唯一性,进而在一定程度上提高了认证的安全性。
在本公开的一种示例实施例中,根据上述方法注册得到认证密钥后,在进行访问时对认证密钥进行认证,以验证访问的权利,参照图3所示,所述方法包括以下步骤:
S15,响应于用户发送认证数据,获取对应于注册数据的随机盐信息;其中,所述认证数据包括注册数据和认证密钥,所述注册数据包括用户标识和授权对象标识;
S16,基于所述随机盐信息复现随机盐,并根据所述随机盐生成第一随机映射;
S17,根据所述第一随机映射、所述第一预设规则复现对所述注册数据的加密,以获取标准密钥;
S18,若所述认证密钥与所述标准密钥相同,则认证成功。
在本公开的一种示例实施例中,用户针对授权对象进行注册以后,在进行访问时,可以根据认证数据在存储的随机盐信息中获取注册数据对应的随机盐信息,进而根据随机盐信息复现随机盐,并生成对应的第一随机映射。随后根据第一随机映射、第一预设规则对注册数据执行与注册时相同的加密过程,生成一个标准密钥,进而验证认证数据中携带的认证密钥与生成的标准密钥是否相同,如果相同,则说明认证成功。
在本公开的另一种示例实施例中,还提供了一种基于随机映射的认证方法,执行主体可以是用于认证的服务器。例如,在用户访问需要授权的资源时,可以根据认证密钥进行认证,判断用户是否有权利访问这一资源。参照图4所示,上述的基于随机映射的认证方法包括步骤S21至步骤S26,以下进行详细阐述:
S21,响应于用户发送认证数据,获取对应于注册数据的随机盐信息;其中,所述认证数据包括注册数据和认证密钥。
在本公开的一种示例实施例中,所述注册数据包括用户标识和授权对象标识。所述用户标识对应于唯一的用户,可以是用户id,用户名称等;所述授权对象对应于唯一的可访问资源或者可访问资源组,可以是资源代码、资源标号等。
在本公开的一种示例实施例中,所述随机盐信息包括所述随机盐或者所述注册数据对应的时间戳。随机盐信息的作用是可以根据随机盐信息生成注册时用的随机盐,因此随机盐信息可以直接是注册时使用的随机盐,也可以是除了注册数据以外用于生成注册时使用的随机盐的信息。例如,当随机盐是在数字、字符、特殊字符中随机生成的时,可以直接将随机盐作为随机盐信息;再如,当随机盐信息是通过时间戳与注册信息加密生成的,可以将时间戳作为随机盐信息。
S22,基于所述随机盐信息复现随机盐,并根据所述随机盐生成第一随机映射。
在本公开的一种示例实施例中,如果随机盐信息是注册数据对应的时间戳,基于所述随机盐信息复现所述随机盐,包括:提取随机盐信息中所述注册数据对应的时间戳,根据第二预设规则将所述注册数据以及所述时间戳组合成随机字符串,根据第二预设哈希算法对所述随机字符串进行加密,将所述加密后的字符串配置为所述注册数据对应的随机盐。
在本公开的一种示例实施例中,所述第二预设规则指注册数据和时间戳生成组合的规则。所述第二预设规则可以是从用户数据、授权对象数据、时间戳中抽取任意两个数据按顺序组合,例如,用户数据和时间戳组合成随机字符串;所述第二预设规则也可以是用户数据、授权对象数据、时间戳的组合顺序,例如,按照时间戳、用户数据、授权对象数据的顺序将三者组合成随机字符串。
进一步地,在根据第二预设哈希算法对所述随机字符串进行加密之后,还可以根据第二随机映射对加密后的字符串进行再加密,进而将最终得到的加密后的字符串配置为注册数据对应的随机盐。其中,所述第二预设哈希算法可以是MD5算法,SHA1算法等哈希算法中的一种或多种的组合;所述第二随机映射包括:根据第二预设哈希算法进行字符转换生成字节数组;以所述加密后的字符串为映射规则对所述字节数组进行映射。
例如,根据时间戳和用户数据两个数据组合成的随机字符串为“peach036”,根据MD5算法对其进行加密,得到加密后的字节数组为“4270076ae5ac7d75ebe957122df8b6de”,此时,可以根据第二随机映射对加密后的字节数组进行再加密,即根据MD5算法将其再加密得到“2b1a0f56b9e70605c6d502eca781fadd”后,由于通过MD5算法得到的字节数组为16进制的字节数组,因此以第一步得到的加密后的字节数组“4270076ae5ac7d75ebe957122df8b6de”的前16位为映射规则,对根据第二次MD5算法得到“2b1a0f56b9e70605c6d502eca781fadd”进行映射。
可选的,所述根据第二随机映射对加密后的字符串进行再加密时,再加密的次数可以人工设定,也可以根据注册数据和时间戳自动生成,例如,可以根据注册数据和时间戳的位数中最小的数字为再加密的次数,也可以以注册数据和时间戳的位数之和为再加密的次数。
对于上述复现随机盐的方案,本公开的实施例提供了如下2个具体的实施例:
实施例1:
第一步,获取注册数据对应的随机盐信息,即时间戳;
第二步,按用户标识、授权对象标识和时间戳的顺序选择两个数据构造字符串,分别为用户标识+授权对象标识,授权对象标识+时间戳,时间戳+用户标识。
第二步,对上述三组字符串进行MD5加密分别得到字节数组1,字节数组2,字节数组3。
第三步,按字节数组1,字节数组2,字节数组3的顺序将3组字节数组组合成1组字节数组。
第四步,对第三步得到的1组字节数组进行MD5加密得到随机盐。
实施例2:
在实施例1的基础上,将得到的随机盐记为初始随机盐。
第一步,计算用户标识、授权对象标识和时间戳三组数据的位数和配置为加密次数;或者自定义加密次数。
第二步,根据初始随机盐生成第一随机映射,根据第一随机映射对初始随机盐进行加密,加密的次数为第一步中配置的加密次数。
在本公开的一种示例实施例中,所述随机盐为从数字、字符以及特殊字符不放回抽取的预设位数字符串,其中,预设位数可以根据用户字符串和授权对象字符串的属性进行设置。例如,当用户字符串和授权对象字符串为16进制字符串时,所述随机盐的预设位数则是16;再如,当用户字符串和授权对象字符串为2进制字符串时,所述随机盐的预设位数则是2。
进一步地,所述随机盐中的数字、字符以及特殊字符的种类和比例根据第三预设规则配置。所述第三预设规则可以是预先自定义的字符种类和比例,例如,预先自定义在数字和字符中抽取随机盐,则可以设定数字和字符的比例为50%和50%,将特殊字符的比例设置为0%;所述第三预设规则还可以是根据用户字符串和授权对象字符串的特定位的字符进行设置,例如,在MD5算法转换后的用户字符串和授权对象字符串中,在第2位的字符分别为5和e时,则可以将数字、字符、特殊字符的比例设置为5%,14%,81%。
S23,根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥。
在本公开的一种示例实施例中,所述注册数据包括用户标识和授权对象标识,因此根据第一随机映射对注册数据进行加密就是对用户标识和授权对象标识分别加密,因此,对应得到的注册数据初步密钥则包括用户初步密钥和授权对象初步密钥。
在本公开的一种示例实施例中,参照图5所示,所述第一随机映射包括如下步骤:
S231,根据第一预设哈希算法进行字符转换生成特定位数的字节数组;
S232,以所述随机盐为映射规则对所述字节数组进行映射。
在本公开的一种示例实施例中,第一预设哈希算法可以是MD5算法,SHA1算法等哈希算法中的一种或多种的组合。例如,第一预设哈希算法为MD5算法,则可以根据MD5算法将用户标识“peach”转换为字节数组“889560d93572d538078ce1578567b91a”;再如,第一预设哈希算法为MD5和SHA1算法,则可以先用MD5算法将用户标识“peach”转换为字节数组“889560d93572d538078ce1578567b91a”,再通过SHA1算法将上述的字节数组转换为SHA1算法对应的字节数组“37d7c0810167de283d94fb6d5218e8806eeb3c85”。
具体地,根据所述第一随机映射对所述注册数据进行加密,则是根据第一预设哈希算法将注册数据转换生成特定的位数的字节数组,随后以步骤S22中复现的随机盐为映射规则,对所述字节数组进行映射生成初步密钥。例如,在以MD5算法将“peach”这一用户标识转换为16进制的32位字符串“889560d93572d538078ce1578567b91a”,此时若原始字符与随机盐的对应关系如表1所示,对应于用户标识“peach”的字符串“889560d93572d538078ce1578567b91a”可以以随机盐为映射规则生成用户初步密钥“**L98!4L}9MF49}*!M*o3F9M*98MzLFe”;再如,原始字符0、1、2、3分别对应于随机盐t、G、8、*,则根据MD5算法转换得到的字节数组“2013”可以映射为“8tG*”。
S24,将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥。
在本公开的一种示例实施例中,所述第一预设规则可以是从用户初步密钥、授权对象初步密钥、随机盐的组合顺序,例如,按照随机盐、用户初步密钥、授权对象初步密钥的顺序将三者组合成二级密钥。例如,随机盐为“!Fb}^98M*Lezo43+”,用户初步密钥为上例中“peach”转换得到的“**L98!4L}9MF49}*!M*o3F9M*98MzLFe”,授权对象初步密钥为“1f3870be274f6c49b3e31a0c6728957f”,按照随机盐、用户初步密钥、授权对象初步密钥的顺序将三组字节数组组合成为二级密钥“!Fb}^98M*Lezo43!L*+**L98!4L}9MF49}*!M*o3F9M*98MzLFe1f3870be274f6c49b3e31a0c6728957f”。
S25,根据所述第一随机映射对所述二级密钥进行加密,以获取标准密钥。
在本公开的一种示例实施例中,根据所述第一随机映射对所述二级密钥进行加密的过程与上述对注册数据加密的过程相同,即根据第一预设哈希算法将二级密钥转换生成特定的位数的字节数组,随后以步骤S22中复现的随机盐为映射规则,对所述字节数组进行映射生成标准密钥。例如,根据MD5算法对步骤S24例中生成二级密钥进行转换,生成32位的字节数组“3c2baa03f9f81f72999173358a26a91b”,以表1中的随机盐对上述字节数组进行映射生成对应的标准密钥“}obzee!}+L+*F+MFLLLFM}}9*eb8eLFz”。
S26,若所述认证密钥与所述标准密钥相同,则判断认证成功。
在本公开的一种示例实施例中,若认证数据中的认证密钥与标准密钥相同,则可以判断认证成功。由于在认证过程中,生成标准密钥所使用的随机盐,以及加密使用的规则均与注册时生成认证密钥的过程一致,因此在标准密钥与认证密钥相同时,可以判断此时发出认证数据的用户认证成功。
在本公开的一种示例实施例中,在根据上述方法进行认证之前,还需要在注册时生成认证密钥,将其与注册数据打包为认证数据,并在进行认证时发送至服务器。其中,所述认证密钥是基于所述注册数据生成的,参照图6所示,生成认证密钥的方法包括:
S31,响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射;
S32,根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;
S33,将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;
S34,根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
在本公开的一种示例实施例中,在用户进行认证之前,需要先针对授权对象进行注册,服务器根据注册时的注册数据、获取到的对应的随机盐以及对应的第一随机映射和第一预设规则生成一个对应于注册数据的认证密钥,进而在用户需要访问授权对象时,根据认证数据中的注册数据获取对应的随机盐、第一随机映射和第一预设规则复现一个标准密钥,当认证密钥与标准密钥相同时,则可以说明所使用的注册数据、随机盐、第一随机映射和第一预设规则均一致,证明用户确实针对授权对象进行了注册,进而得到认证成功的结果。
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
此外,在本公开的示例性实施方式中,还提供了一种基于随机映射的注册装置。参照图7所示,所述基于随机映射的注册装置700包括:数据生成模块710,第一加密模块720,第一组合模块730,和第二加密模块740。其中:
所述数据生成模块710可以用于响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射;其中,所述注册数据包括用户标识和授权对象标识。
所述第一加密模块720可以用于根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;其中,所述注册数据初步密钥包括用户初步密钥和授权对象初步密钥。
所述第一组合模块730可以用于将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥。
所述第二加密模块740可以用于根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
在本公开的一种示例性实施例中,基于前述方案,所述第一加密模块720可以用于根据第一预设哈希算法进行字符转换生成特定位数的字节数组;以所述随机盐为映射规则对所述字节数组进行映射。
在本公开的一种示例性实施例中,基于前述方案,数据生成模块710可以用于将随机生成的随机盐配置为所述注册数据对应的随机盐;或者将所述注册数据映射至预设随机盐表中的一组随机盐,将所述随机盐配置为所述注册数据对应的随机盐;或者提取系统日志中所述注册数据对应的时间戳,根据第二预设规则将所述注册数据以及所述时间戳组合成随机字符串,根据第二预设哈希算法对所述随机字符串进行加密,将所述加密后的字符串配置为所述注册数据对应的随机盐。
在本公开的一种示例性实施例中,基于前述方案,数据生成模块710可以用于根据第二随机映射对加密后的字符串进行再加密。
在本公开的一种示例性实施例中,基于前述方案,数据生成模块710可以用于根据第二预设哈希算法进行字符转换生成字节数组;以所述加密后的字符串为映射规则对所述字节数组进行映射。
在本公开的一种示例性实施例中,基于前述方案,数据生成模块710可以用于将所述注册数据与生成所述随机盐的随机盐信息对应存储;其中,所述随机盐信息包括随机盐或者所述注册数据对应的时间戳。
在本公开的一种示例性实施例中,基于前述方案,数据生成模块710可以用于将所述随机盐信息与历史随机盐信息对比查重;若所述随机盐信息与历史随机盐信息相同,则重新获取所述注册数据对应的随机盐。
在本公开的一种示例性实施例中,基于前述方案,数据生成模块710可以用于响应于用户发送认证数据,获取对应于注册数据的随机盐信息;其中,所述认证数据包括注册数据和认证密钥,所述注册数据包括用户标识和授权对象标识;基于所述随机盐信息复现随机盐,并根据所述随机盐生成第一随机映射;根据所述第一随机映射、所述第一预设规则复现对所述注册数据的加密,以获取标准密钥;若所述认证密钥与所述标准密钥相同,则认证成功。
在本公开的示例性实施方式中,还提供了一种基于随机映射的认证装置。参照图8所示,所述基于随机映射的认证装置800包括:数据获取模块810,数据复现模块820,第三加密模块830,和第二组合模块840,第四加密模块850,数据认证模块860。其中:
所述数据获取模块810可以用于响应于用户发送认证数据,获取对应于注册数据的随机盐信息;其中,所述认证数据包括注册数据和认证密钥,所述注册数据包括用户标识和授权对象标识。
所述数据复现模块820可以用于基于所述随机盐信息复现随机盐,并根据所述随机盐生成第一随机映射。
所述第三加密模块830可以用于根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;其中,所述注册数据初步密钥包括用户初步密钥和授权对象初步密钥。
所述第二组合模块840可以用于将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥。
所述第四加密模块850可以用于根据所述第一随机映射对所述二级密钥进行加密,以获取标准密钥。
所述数据认证模块860用于在所述认证密钥与所述标准密钥相同时,判断认证成功。
在本公开的一种示例性实施例中,基于前述方案,所述数据复现模块820可以用于提取随机盐信息中所述注册数据对应的时间戳,根据第二预设规则将所述注册数据以及所述时间戳组合成随机字符串,根据第二预设哈希算法对所述随机字符串进行加密,将所述加密后的字符串配置为所述注册数据对应的随机盐。
在本公开的一种示例性实施例中,基于前述方案,所述数据复现模块820可以用于根据第二随机映射对加密后的字符串进行再加密。
在本公开的一种示例性实施例中,基于前述方案,所述数据复现模块820可以用于根据第二预设哈希算法进行字符转换生成字节数组;以所述加密后的字符串为映射规则对所述字节数组进行映射。
在本公开的一种示例性实施例中,基于前述方案,所述第三加密模块830可以用于根据第一预设哈希算法进行字符转换生成特定位数的字节数组;以所述随机盐为映射规则对所述字节数组进行映射。
在本公开的一种示例性实施例中,基于前述方案,所述数据获取模块810可以用于响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射;其中,所述注册数据包括用户标识和授权对象标识;根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;其中,所述注册数据初步密钥包括用户初步密钥和授权对象初步密钥;将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
由于本公开的示例实施例的基于随机映射的注册装置和基于随机映射的认证装置的各个功能模块与上述基于随机映射的注册方法和基于随机映射的认证方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的基于随机映射的注册方法和基于随机映射的认证方法的实施例。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述基于随机映射的注册方法或基于随机映射的认证方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参照图9来描述根据本公开的这种实施例的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930、显示单元940。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。例如,所述处理单元910可以执行如图1中所示的步骤S11:响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射;S12:根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;S13:将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;S14:根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)921和/或高速缓存存储单元922,还可以进一步包括只读存储单元(ROM)923。
存储单元920还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备970(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
参照图10,描述了根据本公开的实施例的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

Claims (22)

1.一种基于随机映射的注册方法,其特征在于,包括:
响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射;
根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;
将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;
根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
2.根据权利要求1所述的方法,其特征在于,所述第一随机映射包括:
根据第一预设哈希算法进行字符转换生成特定位数的字节数组;
以所述随机盐为映射规则对所述字节数组进行映射。
3.根据权利要求1所述的方法,其特征在于,所述获取所述注册数据对应的随机盐,包括:
将随机生成的随机盐配置为所述注册数据对应的随机盐;或者
将所述注册数据映射至预设随机盐表中的一组随机盐,将所述随机盐配置为所述注册数据对应的随机盐;或者
提取系统日志中所述注册数据对应的时间戳,根据第二预设规则将所述注册数据以及所述时间戳组合成随机字符串,根据第二预设哈希算法对所述随机字符串进行加密,将所述加密后的字符串配置为所述注册数据对应的随机盐。
4.根据权利要求3所述的方法,其特征在于,在所述根据第二预设哈希算法对所述随机字符串进行加密之后,所述方法还包括:
根据第二随机映射对加密后的字符串进行再加密。
5.根据权利要求4所述的方法,其特征在于,所述第二随机映射包括:
根据第二预设哈希算法进行字符转换生成字节数组;
以所述加密后的字符串为映射规则对所述字节数组进行映射。
6.根据权利要求3所述的方法,其特征在于,在所述获取注册数据对应的随机盐之后,所述方法还包括:
将所述注册数据与生成所述随机盐的随机盐信息对应存储;其中,所述随机盐信息包括随机盐或者所述注册数据对应的时间戳。
7.根据权利要求6所述的方法,其特征在于,在所述将所述注册数据与生成所述随机盐的随机盐信息对应存储之后,所述方法还包括:
将所述随机盐信息与历史随机盐信息对比查重;
若所述随机盐信息与历史随机盐信息相同,则重新获取所述注册数据对应的随机盐。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
响应于用户发送认证数据,获取对应于注册数据的随机盐信息;其中,所述认证数据包括注册数据和认证密钥;
基于所述随机盐信息复现随机盐,并根据所述随机盐生成第一随机映射;
根据所述第一随机映射、所述第一预设规则复现对所述注册数据的加密,以获取标准密钥;
若所述认证密钥与所述标准密钥相同,则认证成功。
9.根据权利要求1所述的方法,其特征在于,所述随机盐为从数字、字符以及特殊字符不放回抽取的预设位数字符串。
10.根据权利要求9所述的方法,其特征在于,所述随机盐中的数字、字符以及特殊字符的种类和比例根据第三预设规则配置。
11.一种基于随机映射的认证方法,其特征在于,包括:
响应于用户发送认证数据,获取对应于注册数据的随机盐信息;其中,所述认证数据包括注册数据和认证密钥;
基于所述随机盐信息复现随机盐,并根据所述随机盐生成第一随机映射;
根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;
将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;
根据所述第一随机映射对所述二级密钥进行加密,以获取标准密钥;
若所述认证密钥与所述标准密钥相同,则判断认证成功。
12.根据权利要求11所述的方法,其特征在于,所述随机盐信息包括所述随机盐或者所述注册数据对应的时间戳;
若所述随机盐信息包括所述注册数据对应的时间戳,基于所述随机盐信息复现所述随机盐,包括:
提取随机盐信息中所述注册数据对应的时间戳,根据第二预设规则将所述注册数据以及所述时间戳组合成随机字符串,根据第二预设哈希算法对所述随机字符串进行加密,将所述加密后的字符串配置为所述注册数据对应的随机盐。
13.根据权利要求12所述的方法,其特征在于,在所述根据第二预设哈希算法对所述随机字符串进行加密之后,所述方法还包括:
根据第二随机映射对加密后的字符串进行再加密。
14.根据权利要求13所述的方法,其特征在于,所述根据第二随机映射包括:
根据第二预设哈希算法进行字符转换生成字节数组;
以所述加密后的字符串为映射规则对所述字节数组进行映射。
15.根据权利要求11所述的方法,其特征在于,所述第一随机映射包括:
根据第一预设哈希算法进行字符转换生成特定位数的字节数组;
以所述随机盐为映射规则对所述字节数组进行映射。
16.根据权利要求11所述的方法,其特征在于,所述认证密钥是基于所述注册数据生成的;
所述方法还包括:
响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射;
根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;
将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;
根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
17.根据权利要求11所述的方法,其特征在于,所述随机盐为从数字、字符以及特殊字符不放回抽取的预设位数字符串。
18.根据权利要求17所述的方法,其特征在于,所述随机盐中的数字、字符以及特殊字符的种类和比例根据第三预设规则配置。
19.一种基于随机映射的注册装置,其特征在于,包括:
数据生成模块,用于响应于用户发送注册数据,获取所述注册数据对应的随机盐,并根据所述随机盐生成对应的第一随机映射;
第一加密模块,用于根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;
第一组合模块,用于将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;
第二加密模块,用于根据所述第一随机映射对所述二级密钥进行加密,以获取认证密钥并返回。
20.一种基于随机映射的认证装置,其特征在于,包括:
数据获取模块,用于响应于用户发送认证数据,获取对应于注册数据的随机盐信息;其中,所述认证数据包括注册数据和认证密钥;
数据复现模块,用于基于所述随机盐信息复现随机盐,并根据所述随机盐生成第一随机映射;
第三加密模块,用于根据所述第一随机映射对所述注册数据进行加密,以获取对应的注册数据初步密钥;
第二组合模块,用于将所述随机盐、所述注册数据初步密钥按第一预设规则组合成为二级密钥;
第四加密模块,用于根据所述第一随机映射对所述二级密钥进行加密,以获取标准密钥;
数据认证模块,用于在所述认证密钥与所述标准密钥相同时,判断认证成功。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至10中任一项所述方法的步骤;或者所述程序被处理器执行时实现如权利要求11至18中任一项所述方法的步骤。
22.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至10中任一项所述方法的步骤;或者当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求11至18中任一项所述方法的步骤。
CN201910335403.4A 2019-04-24 2019-04-24 基于随机映射的注册、认证方法及装置、介质及电子设备 Active CN111865869B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910335403.4A CN111865869B (zh) 2019-04-24 2019-04-24 基于随机映射的注册、认证方法及装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910335403.4A CN111865869B (zh) 2019-04-24 2019-04-24 基于随机映射的注册、认证方法及装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN111865869A true CN111865869A (zh) 2020-10-30
CN111865869B CN111865869B (zh) 2023-08-08

Family

ID=72952175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910335403.4A Active CN111865869B (zh) 2019-04-24 2019-04-24 基于随机映射的注册、认证方法及装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN111865869B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113792314A (zh) * 2021-09-17 2021-12-14 北京中网易企秀科技有限公司 一种安全访问方法、装置及系统
CN114615054A (zh) * 2022-03-09 2022-06-10 四川中电启明星信息技术有限公司 一种基于码表的动态加密传输方法
CN115766115A (zh) * 2022-10-28 2023-03-07 支付宝(杭州)信息技术有限公司 一种身份验证方法、装置、存储介质及电子设备
CN116760546A (zh) * 2023-08-18 2023-09-15 湖南省通信建设有限公司 基于云环境的模块化密码服务方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080092216A1 (en) * 2006-10-16 2008-04-17 Seiichi Kawano Authentication password storage method and generation method, user authentication method, and computer
US20120066498A1 (en) * 2010-09-09 2012-03-15 Kai Wolfgang Engert Verifying authenticity of a sender of an electronic message sent to a recipient using message salt
CN102460404A (zh) * 2009-06-01 2012-05-16 起元技术有限责任公司 生成混淆数据
US20140164774A1 (en) * 2012-12-12 2014-06-12 Citrix Systems, Inc. Encryption-Based Data Access Management
CN104468579A (zh) * 2014-12-10 2015-03-25 北京众享比特科技有限公司 适用于分布式存储的认证系统
CN106656476A (zh) * 2017-01-18 2017-05-10 腾讯科技(深圳)有限公司 一种密码保护方法及装置
WO2018024056A1 (zh) * 2016-08-05 2018-02-08 华为技术有限公司 用户口令管理的方法和服务器
CN107733656A (zh) * 2017-10-23 2018-02-23 北京深思数盾科技股份有限公司 一种密码认证方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080092216A1 (en) * 2006-10-16 2008-04-17 Seiichi Kawano Authentication password storage method and generation method, user authentication method, and computer
CN102460404A (zh) * 2009-06-01 2012-05-16 起元技术有限责任公司 生成混淆数据
US20120066498A1 (en) * 2010-09-09 2012-03-15 Kai Wolfgang Engert Verifying authenticity of a sender of an electronic message sent to a recipient using message salt
US20140164774A1 (en) * 2012-12-12 2014-06-12 Citrix Systems, Inc. Encryption-Based Data Access Management
CN104468579A (zh) * 2014-12-10 2015-03-25 北京众享比特科技有限公司 适用于分布式存储的认证系统
WO2018024056A1 (zh) * 2016-08-05 2018-02-08 华为技术有限公司 用户口令管理的方法和服务器
CN106656476A (zh) * 2017-01-18 2017-05-10 腾讯科技(深圳)有限公司 一种密码保护方法及装置
CN107733656A (zh) * 2017-10-23 2018-02-23 北京深思数盾科技股份有限公司 一种密码认证方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113792314A (zh) * 2021-09-17 2021-12-14 北京中网易企秀科技有限公司 一种安全访问方法、装置及系统
CN114615054A (zh) * 2022-03-09 2022-06-10 四川中电启明星信息技术有限公司 一种基于码表的动态加密传输方法
CN114615054B (zh) * 2022-03-09 2023-12-15 四川中电启明星信息技术有限公司 一种基于码表的动态加密传输方法
CN115766115A (zh) * 2022-10-28 2023-03-07 支付宝(杭州)信息技术有限公司 一种身份验证方法、装置、存储介质及电子设备
CN116760546A (zh) * 2023-08-18 2023-09-15 湖南省通信建设有限公司 基于云环境的模块化密码服务方法
CN116760546B (zh) * 2023-08-18 2023-10-31 湖南省通信建设有限公司 基于云环境的模块化密码服务方法

Also Published As

Publication number Publication date
CN111865869B (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
CN110061846B (zh) 对区块链中用户节点进行身份认证和确认的方法、装置及计算机可读存储介质
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
US10284372B2 (en) Method and system for secure management of computer applications
US11483161B2 (en) Method for information processing and non-transitory computer readable storage medium
US8997198B1 (en) Techniques for securing a centralized metadata distributed filesystem
US9219722B2 (en) Unclonable ID based chip-to-chip communication
JP2021520714A5 (zh)
CN111865869A (zh) 基于随机映射的注册、认证方法及装置、介质及电子设备
US9020149B1 (en) Protected storage for cryptographic materials
CN1985466B (zh) 使用分发cd按签署组向设备传递直接证据私钥的方法
CN108471403B (zh) 一种账户迁移的方法、装置、终端设备及存储介质
US20230370265A1 (en) Method, Apparatus and Device for Constructing Token for Cloud Platform Resource Access Control
US20210051024A1 (en) Two-dimensional code generation method, apparatus, data processing method, apparatus, and server
US20200228343A1 (en) Key-based authentication for backup service
CN109450633B (zh) 信息加密发送方法及装置、电子设备、存储介质
CN110084599B (zh) 密钥处理方法、装置、设备和存储介质
US11943345B2 (en) Key management method and related device
KR102328057B1 (ko) 단말 정보에 기반하여 문서 파일의 암호화가 수행되도록 지원하는 문서 보안 서비스 서버 및 그 동작 방법
US20210117805A1 (en) Inference apparatus, and inference method
US20210029091A1 (en) Anonymization method and apparatus, device, and storage medium
US10521573B1 (en) Authentication using third-party data
CN108521424B (zh) 面向异构终端设备的分布式数据处理方法
CN111783115A (zh) 数据加密存储方法、装置、电子设备及存储介质
KR20200080011A (ko) 데이터를 분산해서 저장하는 시스템 및 방법
CN107070648B (zh) 一种密钥保护方法及pki系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant