CN108092765A - 一种支持无限个用户密钥的方法、装置及设备 - Google Patents

一种支持无限个用户密钥的方法、装置及设备 Download PDF

Info

Publication number
CN108092765A
CN108092765A CN201711181745.2A CN201711181745A CN108092765A CN 108092765 A CN108092765 A CN 108092765A CN 201711181745 A CN201711181745 A CN 201711181745A CN 108092765 A CN108092765 A CN 108092765A
Authority
CN
China
Prior art keywords
key
user
handles
seed
user key
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.)
Pending
Application number
CN201711181745.2A
Other languages
English (en)
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.)
Shenzhen Excelsecu Data Technology Co Ltd
Original Assignee
Shenzhen Excelsecu Data 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 Shenzhen Excelsecu Data Technology Co Ltd filed Critical Shenzhen Excelsecu Data Technology Co Ltd
Priority to CN201711181745.2A priority Critical patent/CN108092765A/zh
Publication of CN108092765A publication Critical patent/CN108092765A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明适用于信息安全技术领域,提供了一种支持无限个用户密钥的方法、装置及设备。所述支持无限个用户密钥的方法包括:获取种子密钥及密钥句柄;根据预设算法对所述种子密钥及所述密钥句柄运算生成用户密钥;由于密钥句柄来源于用户指令,由外部传入,也可以由内部生成,因此密钥句柄可以具有无限个,通过预设算法就可以得到对应的用户密钥,从而生成的用户密钥也就有无限个。通过本发明,密钥因子不在智能密钥安全装置内部保存,因此不受存储空间的限制,可以支持无限个用户密钥。

Description

一种支持无限个用户密钥的方法、装置及设备
技术领域
本发明属于信息安全技术领域,尤其涉及一种支持无限个用户密钥的方法、装置及设备。
背景技术
随着互联网的快速发展以及大范围的普及,人与人之间的信息传递以及各种隐私信息越来越多的暴露在互联网上,因此,信息安全技术越来越受到人们的关注。
现在互联网信息安全加密方式为用户密钥加密的密码体制,包括对称算法密钥和非对称算法密钥,通过加密算法生成一对密钥,现有技术中密钥的生成和存储都比较复杂,特别是随着用户的增加,密钥的需求量成倍增加;而且很多应用或者业务还提出了智能密钥安全装置需要支持无限个用户密钥的要求,而现有的智能密钥安全装置由于存储空间有限,不能支持更多的用户密钥,在网络通讯中,对于数据越来越庞大的密钥的生成和管理造成了很大的限制。
发明内容
有鉴于此,本发明实施例提供了一种支持无限个用户密钥的方法、装置及设备,以解决现有技术中智能密钥安全装置存储空间有限,不能支持更多的用户密钥的问题。
本发明实施例的第一方面提供了一种支持无限个用户密钥的方法,包括:
获取种子密钥及密钥句柄;
根据预设算法对所述种子密钥及所述密钥句柄运算生成用户密钥。
本发明实施例的第二方面提供了一种支持无限个用户密钥的装置,包括:
第一获取单元,用于获取种子密钥及密钥句柄;
用户密钥生成单元,用于根据预设的算法对所述种子密钥及所述密钥句柄运算生成用户密钥。
本发明实施例的第三方面提供了一种支持无限个用户密钥的终端设备,包括:包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取种子密钥及密钥句柄;
根据预设算法对所述种子密钥及所述密钥句柄运算生成用户密钥。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取种子密钥及密钥句柄;
根据预设算法对所述种子密钥及所述密钥句柄运算生成用户密钥。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例提供的一种支持无限个用户密钥的方法,通过预设算法对获取的种子密钥和密钥句柄进行运算,得到用户密钥,由于密钥句柄不在智能密钥安全装置内部保存,因此不受存储空间的限制,密钥句柄可以具有无限个,则对应的生成的用户密钥也就可以有无限个,满足了更多的应用或者业务对智能密钥安全装置支持无限个用户密钥的要求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的支持无限个用户密钥方法的实现流程示意图;
图2是本发明实施例提供的获取种子密钥方法的实现流程示意图;
图3是本发明实施例提供的获取密钥句柄方法的实现流程示意图;
图4是本发明实施例提供的用户密钥生成方法的实现流程示意图;
图5是本发明实施例提供的根据预设算法生成用户密钥的流程示意图;
图6是本发明实施例提供的生成无限个用户密钥的流程示意图;
图7是本发明实施例提供的支持无限个用户密钥的装置示意图;
图8是本发明实施例提供的支持无限个用户密钥的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的支持无限个用户密钥方法的实现流程示意图,详述如下。
一种支持无限个用户密钥的方法,包括以下步骤:
步骤S101,获取种子密钥及密钥句柄。
在本发明实施例中,种子密钥Seed是可以预先生成或者配置的。种子密钥Seed可以是智能密钥安全装置内部生成的一个随机数,生成后保存在智能安全装置内部,而且每个智能密钥安全的种子密钥Seed也都不一样;种子密钥Seed还可以根据用户的需求和不同的场景来获取,其长度不受限制,例如种子密钥Seed可以取用户密钥的长度大小。由于种子密钥Seed是保存在智能密钥安全装置内部,因此不会被窃取。
密钥句柄i可以由外部传入,包含在智能安全装置接收的用户指令中,在智能密钥安全装置外部保存。所述密钥句柄i可以由用户自己保存,通过上层软件传入,其长度不受限制,可以根据用户不同需求和场景自行选择。
可选的,密钥句柄i还可以是从0开始递增的整数,用户可以根据所需要的密钥传入对应的密钥因子i;当密钥句柄i为指定长度时,例如,用户的身份证号、电子邮箱地址或手机号等,需要取对应指定长度的字符串传入智能密钥安全装置,用户可以根据情况自行选择。
由于密钥句柄i及用户密钥不在智能密钥安全装置内部保存,不受存储空间的限制,因而密钥句柄i可以取无限个值。
步骤S102,根据预设算法对所述种子密钥及所述密钥句柄运算生成用户密钥。
在本发明实施例中,所述的预设算法为一种完成转换的算法,将种子密钥和密钥句柄按照一定的规则转换成对应的用户密钥,而这种算法主要的特征体现在运算的不可逆和无冲突。
所述用户密钥可以通过传统的对称算法获得对称算法密钥,也可以通过非对称算法获得非对称算法密钥;所述的对称算法密钥中,加密解密的密钥是相同的,也就是最终生成的是一个用户密钥,这种对称算法效率高,算法相对简单,系统开销小,适合加密大量数据;而通过非对称算法需要一对密钥:用户公钥和用户私钥,如果用用户公钥对数据进行加密,只有用对应的用户私钥才能解密;如果用用户私钥对数据进行加密,那么只有用对应的用户公钥才能解密,即加密和解密使用的是两个不同的密钥,采用这种算法的密钥保密性比较好,消除了最终用户交换密钥的需要,适合多人之间进行保密信息的传输。
综上所述,通过获取种子密钥和密钥句柄,根据预设的算法对种子密钥和密钥句柄进行运算生成用户密钥,由于密钥句柄不在智能安全密钥装置内部保存,不受空间的限制,可以具有无限个,则对应生成的用户密钥也就可以有无线个,满足了更多的应用或者业务对智能安全装置支持无限个用户密钥的要求;另外,种子密钥生成后保存在智能安全密钥装置内部,因此不会被窃取,保证了用户密钥的安全性。
本发明实施例中在获取种子密钥之前还包括以下步骤,如图2所示为本发明实施例提供的获取种子密钥方法的实现流程示意图。
步骤S201,判断所述种子密钥是否生成;
在本发明实施例中,当智能密钥安全装置接收到命令,需要内部生成用户密钥的时候,智能密钥安全装置首先要判断用户密钥的种子是否已经生成,种子密钥Seed可以是安全装置内部预先生成的,也可以是配置的,用户可以根据不同的需求和不同的场景来选取,保存在安全芯片内部。
步骤S202,若所述种子密钥没有生成,则生成随机数作为所述种子密钥并保存。
在本发明实施例中,如果智能密钥安全装置判断种子密钥Seed没有生成,则取一个随机数作为种子密钥Seed,此时的种子密钥Seed可以当做第一个用户密钥,生成后永久保存在智能密钥安全装置内部。另外,每个智能密钥安全装置的种子密钥Seed都是不一样的。种子密钥Seed的长度不受限制,还可以取用户密钥的长度大小。
进一步的,种子密钥Seed是安全保存在智能密钥安全装置内部,不会被窃取,保证了用户密钥的安全性。
图3示出了本发明实施例提供的获取密钥句柄方法的实现流程示意图,在获取密钥句柄之前还包括以下步骤:
步骤S301,接收用户指令,其中,所述用户指令中包含所述密钥句柄。
在本发明实施例中,智能密钥安全装置接收用户输入的指令,所述的用户指令为由上层软件传入的应用协议数据单元APDU指令等。
其中,所述的密钥句柄i包含在对应的用户指令当中,密钥句柄i可以是递增的整数,还可以是指定长度的随机数,可以根据不同的需求和场景选取。
在本发明实施例中,智能密钥安全装置可以针对用户输入的指令,对应不同的场景和用户需求,提取获得用户指令中包含的密钥句柄i,密钥句柄i可以是递增的整数或指定长度的随机数。可以由获取的种子密钥Seed作为第一个用户密钥,还可以通过预设的算法得到第一个用户密钥,此时的密钥句柄i可以为0。
可选的,获取密钥句柄i还可以通过以下步骤实现。
步骤311,获取已使用的最大密钥句柄值,将所述最大密钥句柄值递增作为所述密钥句柄。
在本发明实施例中,每个密钥句柄都对应有一个密钥句柄值,每个用户密钥对应一个密钥句柄,智能密钥安全装置从Flash中读取已使用的最大密钥句柄值,递增此最大密钥句柄值作为注册用户密钥的密钥句柄值,并使用递增后的最大密钥句柄值更新Flash中保存的最大密钥句柄值,以便下次注册新用户密钥时能获取到新的最大密钥句柄值。
图4示出了本发明实施例提供的用户密钥生成方法的实现流程示意图,根据预设算法对种子密钥及密钥句柄运算生成用户密钥还包括:
步骤401,根据预设算法对所述种子密钥及所述密钥句柄运算生成用户私钥。
在本发明实施例中,所根据的预设算法为哈希Hash算法,具体包括:消息摘要算法第五版MD5,安全哈希算法SHA1,安全哈希算法SHA256,安全哈希算法SHA384,安全哈希算法SHA512或国密杂凑算法SM3中的一种或多种,上述的摘要算法以及安全哈希算法具有不可逆、无冲突的特质,而且所选用的算法安全性高,破解难度较大。
步骤402,根据所述用户私钥生成用户公钥。
在本发明实施例中,用户密钥包括用户私钥和用户公钥,用户公钥可以根据用户私钥动态生成,例如,根据步骤401生成非对称ECC算法私钥d后,根据点乘运算生成公钥Q=d*G(其中Q表示公钥,*表示点乘运算,G表示非对称ECC算法曲线参数基点);使用用户公钥加密的内容只能通过用户私钥解密,使用用户私钥加密的内容只能通过用户公钥解密。
在本发明实施例中,还需要判断经过预设算法处理得到的结果长度是否小于预设的密钥长度;若是则对得到的结果再进行预设算法处理;将两次或者两次以上的处理得到的结果进行拼接,得到所述用户私钥。
在本发明实施例中,用户密钥可以由智能密钥安全装置内部生成的种子密钥Seed作为第一个用户密钥,还可以通过预设算法Hash(Seed+i)得到第一个用户密钥,例如密钥因子i等于0时,用户密钥可以通过Hash(Seed+0)来获取对应的用户密钥。
进一步的,最后所获得的用户密钥的长度应满足用户私钥的长度要求,例如,用户密钥是非对称算法并且私钥长度是32字节,那么可以使用运算结果大于32字节的哈希Hash算法,可以选择安全哈希算法SHA256、SHA512或者国密杂凑算法SM3等;如果运算结果超过32字节,就截取前面的32字节作为用户私钥,用户公钥根据用户私钥计算得到。
可选的,如果哈希算法结果长度小于用户密钥长度时,还可以对哈希算法结果再进行哈希运算,并将多次的运算结果进行拼接得到用户密钥。
图5示出了本发明实施例提供的根据预设算法生成用户密钥的流程示意图。根据预设算法对种子密钥及密钥句柄运算生成用户密钥还包括以下步骤。
步骤501,对所述种子密钥及所述密钥句柄进行预处理得到预处理结果。
在本发明实施例中,所述的预处理主要为对种子密钥和密钥句柄进行组合、补足运算等。
另外,所述的预处理方法还包括但不限于对种子密钥和密钥句柄的排序、集成以及变换的处理,根据不同的应用场景以及用户需求,对不同的数据采用不同的预处理方式进行处理。
步骤S502,使用所述哈希算法对所述预处理结果进行哈希运算得到哈希值。
所述使用的哈希算法包括:消息摘要算法第五版MD5,安全哈希算法SHA1,安全哈希算法SHA256,安全哈希算法SHA384,安全哈希算法SHA512或国密杂凑算法SM3中的一种或多种;所述得到的哈希值为将获取的种子密钥以及密钥句柄进行逻辑运算得到的数值,是将任意长度的二进制值经过哈希算法映射得到的固定长度点的较小的二进制值,是将一段数据进行唯一且极其紧凑的数据表示。
步骤S503,根据所述哈希值截取所述用户密钥字节长度的数据作为所述用户密钥。
在本发明实施例中,通过哈希算法得到的哈希值需要满足用户私钥的长度,例如,用户密钥是非对称算法密钥,并且对应的私钥长度是32字节,则使用哈希结果大于等于32字节的哈希算法,如:安全哈希算法SHA256,安全哈希算法SHA512或国密杂凑算法SM3等;若哈希结果超过32字节,则截取前面的32字节作为用户私钥;若是非对称算法密钥,公钥可以根据私钥得到;若是对称算法密钥,公钥的获取方法与私钥类似,在此不再赘述。
图6示出了本发明实施例提供的用户密钥生成的流程示意图,当智能密钥安全装置接收到命令,需要内部生成用户密钥的时候,安全装置判断种子密钥Seed是否生成,如果没有生成,则取一个随机数作为种子密钥Seed,此时种子密钥Seed可以当做第一个用户密钥,之后的用户密钥应用Hash(Seed+i)(i=0,1,2...n或者随机数)算法获得,如6中的①所示;当获取种子密钥Seed后,还可以通过预设算法Hash(Seed+i)(i=0,1,2...n或者随机数)得到第一个用户密钥,此时的第一个用户密钥为Hash(Seed+0),如图6中的②所示。
本发明提供的支持无限个用户密钥的方法,当需要生成用户密钥的时,通过判断种子密钥是否生成以及获取种子密钥和密钥句柄,经过预设算法生成所需要的用户密钥;由于密钥句柄不保存在智能安全装置内部,由外部输入,因此不受内部装置空间的限制,用户可以根据场景和需求选择不同的密钥句柄,密钥句柄可以有无限个,根据预设算法对应生成的用户密钥也就可以具有无限个,更多的应用或者业务对智能密钥安全装置支持无限个用户密钥的要求。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图7示出了本发明实施例提供的支持无限个用户密钥装置的示意图,为了便于说明,仅示出了与本发明实施例相关的部分,支持无限个用户密钥的装置7包括:
第一获取单元10,用于获取种子密钥及密钥句柄;
用户密钥生成单元20,用于根据预设的算法对所述种子密钥及所述密钥句柄运算生成用户密钥。
第一获取单元10还包括:
判断模块11,用于判断种子密钥是否生成;
种子密钥生成模块12,用于生成随机数作为所述种子密钥;
存贮模块13,用于保存所述种子密钥;
接收模块14,用于接收用户指令并提取所述用户指令中的密钥句柄;
递增模块15,用于获取当前用户密钥的最大密钥句柄值并递增所述最大密钥句柄值作为下一个用户密钥的密钥句柄。
用户密钥生成单元20还包括:
用户私钥生成模块21,用于根据预设算法对所述种子密钥及所述密钥句柄运算生成用户私钥;
用户公钥生成模块22,用于根据所述用户私钥生成用户公钥。
综上所述,本实施例提供的支持无限个用户密钥的装置,通过判断种子密钥是否生成以及获取种子密钥和密钥句柄,经过预设算法生成所需要的用户密钥;由于密钥句柄及用户密钥不保存在智能安全装置内部,因此不受内部装置空间的限制,用户可以根据场景和需求选择不同的密钥句柄,密钥句柄可以有无限个,根据预设算法对应生成的用户密钥也就可以具有无限个,更多的应用或者业务对智能密钥安全装置支持无限个用户密钥的要求。
需要说明的是:所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述移动终端的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述移动终端中模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图8是本发明一实施例提供的支持无限个用户密钥装置的终端设备的示意图。如图8所示,该实施例的支持无限个用户密钥装置的终端设备8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82,例如用户密钥的生成程序。所述处理器80执行所述计算机程序82时实现上述各个支持无限个用户密钥的方法实施例中的步骤,例如图1所示的步骤101至步骤102。或者,所述处理器80执行所述计算机程序82时实现上述各装置实施例中各模块/单元的功能,例如图7所示单元10至20以及模块11至15、模块21至22的功能。
示例性的,所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述支持无限个用户密钥装置的终端设备8中的执行过程。例如,所述计算机程序82可以被分割成同步模块、汇总模块、获取模块、返回模块(虚拟装置中的模块)。
所述支持无限个用户密钥装置的终端设备8可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述一种支持无限个用户密钥的终端设备可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是支持无限个用户密钥装置的终端设备8的示例,并不构成对支持无限个用户密钥装置的终端设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述支持无限个用户密钥装置的终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81可以是所述支持无限个用户密钥装置的终端设备8的内部存储单元,例如支持无限个用户密钥装置的终端设备8的硬盘或内存。所述存储器81也可以是所述支持无限个用户密钥装置的终端设备8的外部存储设备,例如所述支持无限个用户密钥装置的终端设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述支持无限个用户密钥装置的终端设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述支持无限个用户密钥装置的终端设备所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种支持无限个用户密钥的方法,其特征在于,所述支持无限个用户密钥的方法包括以下步骤:
获取种子密钥及密钥句柄;
根据预设算法对所述种子密钥及所述密钥句柄运算生成用户密钥。
2.根据权利要求1所述的支持无限个用户密钥的方法,其特征在于,所述获取种子密钥之前还包括:
判断所述种子密钥是否生成;
若所述种子密钥没有生成,则生成随机数作为所述种子密钥并保存。
3.根据权利要求1所述的支持无限个用户密钥的方法,其特征在于,所述获取密钥句柄之前还包括:
接收用户指令,其中,所述用户指令中包含所述密钥句柄。
4.根据权利要求1所述的支持无限个用户密钥的方法,其特征在于,所述获取密钥句柄之前还包括:
获取已使用的最大密钥句柄值;
将所述最大密钥句柄值递增作为所述密钥句柄。
5.根据权利要求1所述的支持无限个用户密钥的方法,其特征在于,所述根据预设算法对所述种子密钥及所述密钥句柄运算生成用户密钥包括:
根据预设算法对所述种子密钥及所述密钥句柄运算生成用户私钥;
根据所述用户私钥生成用户公钥;
其中,所述用户密钥包括所述用户私钥和所述用户公钥。
6.根据权利要求1所述的支持无限个用户密钥的方法,其特征在于,所述预设算法为哈希算法,所述根据预设算法对所述种子密钥及所述密钥句柄运算生成用户密钥包括:
对所述种子密钥及所述密钥句柄进行预处理得到预处理结果;
使用所述哈希算法对所述预处理结果进行哈希运算得到哈希值;
根据所述哈希值截取所述用户密钥字节长度的数据作为所述用户密钥。
7.一种支持无限个用户密钥的装置,其特征在于,所述支持无限个用户密钥的装置包括:
第一获取单元,用于获取种子密钥及密钥句柄;
用户密钥生成单元,用于根据预设的算法对所述种子密钥及所述密钥句柄运算生成用户密钥。
8.根据权利要求7所述的支持无限个用户密钥的装置,其特征在于,所述第一获取单元还包括:
判断模块,用于判断种子密钥是否生成;
种子密钥生成模块,用于生成随机数作为所述种子密钥;
存贮模块,用于保存所述种子密钥;
接收模块,用于接收用户指令并提取所述用户指令中的密钥句柄;
递增模块,用于获取当前用户密钥的最大密钥句柄值并递增所述最大密钥句柄值作为下一个用户密钥的密钥句柄。
9.一种支持无限个用户密钥的终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
CN201711181745.2A 2017-11-23 2017-11-23 一种支持无限个用户密钥的方法、装置及设备 Pending CN108092765A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711181745.2A CN108092765A (zh) 2017-11-23 2017-11-23 一种支持无限个用户密钥的方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711181745.2A CN108092765A (zh) 2017-11-23 2017-11-23 一种支持无限个用户密钥的方法、装置及设备

Publications (1)

Publication Number Publication Date
CN108092765A true CN108092765A (zh) 2018-05-29

Family

ID=62172988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711181745.2A Pending CN108092765A (zh) 2017-11-23 2017-11-23 一种支持无限个用户密钥的方法、装置及设备

Country Status (1)

Country Link
CN (1) CN108092765A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296074A (zh) * 2008-04-15 2008-10-29 北京安普博达科技有限公司 基于数字内容的密钥生成装置、生成方法和数据加密方法
CN103560882A (zh) * 2013-10-29 2014-02-05 武汉理工大学 一种基于标识的椭圆曲线密码系统
US8886964B1 (en) * 2014-04-24 2014-11-11 Flexera Software Llc Protecting remote asset against data exploits utilizing an embedded key generator
CN105847011A (zh) * 2016-03-21 2016-08-10 华为技术有限公司 一种密钥加载方法及设备
CN106411506A (zh) * 2016-08-31 2017-02-15 飞天诚信科技股份有限公司 适用于数字货币的密钥派生方法及装置
CN107294714A (zh) * 2017-07-31 2017-10-24 美的智慧家居科技有限公司 密钥协商方法、装置及其设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296074A (zh) * 2008-04-15 2008-10-29 北京安普博达科技有限公司 基于数字内容的密钥生成装置、生成方法和数据加密方法
CN103560882A (zh) * 2013-10-29 2014-02-05 武汉理工大学 一种基于标识的椭圆曲线密码系统
US8886964B1 (en) * 2014-04-24 2014-11-11 Flexera Software Llc Protecting remote asset against data exploits utilizing an embedded key generator
CN105847011A (zh) * 2016-03-21 2016-08-10 华为技术有限公司 一种密钥加载方法及设备
CN106411506A (zh) * 2016-08-31 2017-02-15 飞天诚信科技股份有限公司 适用于数字货币的密钥派生方法及装置
CN107294714A (zh) * 2017-07-31 2017-10-24 美的智慧家居科技有限公司 密钥协商方法、装置及其设备

Similar Documents

Publication Publication Date Title
CN107819569B (zh) 登录信息的加密方法及终端设备
CN107707347A (zh) 用户密钥的备份方法及装置、用户密钥的导入方法及装置
CN111783124B (zh) 基于隐私保护的数据处理方法、装置和服务器
CN110391895B (zh) 数据预处理方法、密文数据获取方法、装置和电子设备
CN108520183A (zh) 一种数据存储方法及装置
CN109687952A (zh) 数据处理方法及其装置、电子装置及存储介质
CN109214201A (zh) 一种数据共享方法、终端设备及计算机可读存储介质
CN110061957A (zh) 数据加密、解密方法、用户端、服务器及数据管理系统
CN110933063B (zh) 数据加密方法、数据解密方法及设备
CN109547201A (zh) 一种根密钥的加密方法、计算机可读存储介质及终端设备
CN104281272B (zh) 密码输入处理方法及装置
CN108038128A (zh) 一种加密文件的检索方法、系统、终端设备及存储介质
CN108718313A (zh) 应用软件数据安全使用方法、终端设备及服务器
CN107196919A (zh) 一种匹配数据的方法和装置
CN109257162A (zh) 加密算法白盒化的方法和装置
CN112199697A (zh) 基于共享根密钥的信息处理方法、装置、设备及介质
CN108765230A (zh) 一种居民户籍信息管理方法及服务器
CN111475690B (zh) 字符串的匹配方法和装置、数据检测方法、服务器
CN111046431B (zh) 数据处理方法、查询方法、装置、电子设备和系统
CN110611568B (zh) 基于多种加解密算法的动态加解密方法、装置、及设备
CN112131591A (zh) 对信息的密文进行压缩的加密方法、装置、设备及介质
CN111159730A (zh) 数据处理方法、查询方法、装置、电子设备和系统
CN116055144A (zh) 基于物联网的数据安全性分析方法、装置、设备及存储
CN108092765A (zh) 一种支持无限个用户密钥的方法、装置及设备
CN111881474B (zh) 基于可信计算环境的私钥管理方法和装置

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180529