一种保护主密钥的工具及其工作方法技术

技术编号:16132148 阅读:25 留言:0更新日期:2017-09-01 22:26
本发明专利技术提供一种保护主密钥的工具及其工作方法,涉及信息安全领域。所述方法包括:生成原始密钥流程、生成秘密流程、生成密文主密钥流程和分割秘密流程;所述工具根据生成的原始密钥生成明文主密钥,并使用生成的秘密对明文主密钥加密得到密文主密钥,将密文主密钥提供给用户,将生成的秘密分割为多个影子秘密并分别发送给多个管理者。本发明专利技术中的技术方案,明文主密钥不落地,保障了明文主密钥的安全,并且通过对秘密的分散管理,既防止了秘密过于集中而带来的风险,又能保证秘密的安全性和完整性,从而有效的保护主密钥。

【技术实现步骤摘要】
一种保护主密钥的工具及其工作方法
本专利技术涉及信息安全领域,尤其涉及一种保护主密钥的工具及其工作方法。
技术介绍
不论是由于互联网的出现,还是由于越来越庞大且需要大量介质的应用软件的出现,数据量现已呈现出巨大的增长态势。目前,各行各业中对数据的保护通常是使用明文主密钥对数据进行加解密,并使用秘密对明文主密钥加密得到密文主密钥,将密文主密钥保存至数据库,同时将秘密交由管理员进行保管;该数据保护方法中,由于秘密是集中保护的,一旦秘密被窃取便可以对数据库中的密文主密钥解密得到明文主密钥,从而窃取数据;可见,如何有效的保护秘密进而有效的保护主密钥成为一个急需解决的问题。
技术实现思路
为解决现有技术的缺陷,本专利技术提供一种保护主密钥的工具及其工作方法;一方面,本专利技术提供了一种保护主密钥的工具的工作方法,包括:生成原始密钥流程、生成秘密流程、生成密文主密钥流程和分割秘密流程;所述生成原始密钥流程,包括:所述工具生成第一字符,根据所述第一字符生成原始密钥,将所述原始密钥保存;所述生成秘密流程,包括:所述工具生成第二字符,根据所述第二字符生成秘密,将所述秘密保存;所述生成密文主密钥流程,包括:所述工具获取与用户对应的原始密钥和秘密,根据获取到的原始密钥生成主密钥,并使用获取到的秘密对生成的主密钥加密得到密文主密钥,将所述密文主密钥提供给所述用户;所述分割秘密流程,包括:所述工具获取与用户对应的秘密,将其作为待分割秘密,并接收所述用户输入的第一数量和第二数量,所述第二数量小于或者等于所述第一数量;所述工具根据所述待分割秘密、所述第一数量和所述第二数量,分割所述待分割秘密得到所述第一数量的影子秘密和所述影子秘密的序号,并将所述影子秘密和所述影子秘密的序号对应分别发送给多个分散管理者。可选地,所述方法还包括:所述工具判断接收到的来自用户的触发信息的类型,如为生成原始密钥,则执行所述生成原始密钥流程;如为生成秘密,则执行所述生成秘密流程;如为生成密文主密钥,则执行所述生成密文主密钥流程;如为分割秘密,则执行所述分割秘密流程。其中,所述生成密文主密钥流程中,所述工具获取与用户对应的原始密钥和秘密之前,还包括:所述工具判断与用户对应的原始密钥和秘密是否均存在,是则获取与用户对应的原始密钥和秘密,否则报错,结束;其中,所述分割秘密流程中,所述工具获取与用户对应的秘密之前,还包括:所述工具判断与用户对应的秘密是否存在,是则获取与用户对应的秘密,否则报错,结束。可选地,所述方法中,当所述工具接收到来自用户的触发信息时,依次执行所述生成原始密钥流程、生成秘密流程、生成密文主密钥流程和分割秘密流程。可选地,所述生成原始密钥流程中,所述工具生成第一字符,具体为:所述工具依次随机生成各预设类型的字符,生成的各预设类型的字符的长度为预设长度。可选地,所述生成秘密流程中,所述工具生成第二字符,具体为:所述工具依次随机生成各预设类型的字符,生成的各预设类型的字符的长度为预设长度。可选地,所述工具依次随机生成各预设类型的字符,具体包括:步骤1-1:所述工具确定所述各预设类型的字符的生成顺序,并将所述生成顺序中的第一个类型作为当前类型;步骤1-2:所述工具生成随机数,根据所述随机数确定当前类型的字符的数量,随机生成对应数量的当前类型的字符;步骤1-3:所述工具判断当前类型在所述生成顺序中的位置是否为所述预设类型的个数减1,是则执行步骤1-4,否则将下一个类型作为当前类型,返回步骤1-2;步骤1-4:所述工具根据所述预设长度和已确定的字符的数量计算所述生成顺序中最后一个类型的字符的数量,随机生成对应数量及类型的字符。可选地,所述工具依次随机生成各预设类型的字符,具体为:所述工具初始化各预设类型的字符的数量,并依次随机生成对应数量及类型的字符;或者,所述工具将所述预设长度与所述预设类型的个数求商得到各预设类型的字符的数量,并依次生成对应数量及类型的字符。可选地,所述生成原始密钥流程中,所述根据所述第一字符生成原始密钥,具体为:所述工具将所述第一字符作为参数传入第一函数接口,调用所述第一函数接口生成原始密钥;所述生成秘密流程中,所述根据所述第二字符生成秘密,具体为:所述工具将所述第二字符作为参数传入所述第一函数接口,调用所述第一函数接口生成秘密。可选地,所述生成原始密钥流程中,所述将所述原始秘密保存,具体为:步骤2:所述工具创建第一文件,根据创建时间定义所述第一文件的文件名称,将所述原始密钥保存至所述第一文件中,保存所述第一文件;所述生成秘密流程中,所述将所述秘密保存,具体为:步骤3:所述工具创建第二文件,根据创建时间定义所述第二文件的文件名称,将所述秘密保存至所述第二文件中,保存所述第二文件。可选地,所述生成密文主密钥流程中,所述工具获取与用户对应的原始密钥,具体为:所述工具查找自身维护的所有第一文件,解析查找到的第一文件的文件名称得到对应的第一文件的创建时间,比对得到的创建时间得到最晚创建时间,读取所述最晚创建时间对应的第一文件中的原始密钥。可选地,所述步骤2中,所述保存所述第一文件之后,还包括:将所述第一文件的文件名称返回给用户,并提示所述用户保存;对应地,所述生成密文主密钥流程中,所述工具获取与用户对应的原始密钥,具体为:所述工具获取自身维护的所有第一文件,并弹框显示给所述用户,读取所述用户选择的第一文件中的原始密钥。可选地,所述生成原始密钥流程中,所述根据所述第一字符生成原始密钥之后,还包括:将生成的原始密钥在操作页面中显示给用户,并提示所述用户保存;对应地,所述生成密文主密钥流程中,所述工具获取与用户对应的原始密钥,具体为:所述工具从所述操作页面中获取显示的原始密钥;或者,所述工具接收用户输入的原始密钥。可选地,所述生成密文主密钥流程中,所述工具获取与用户对应的秘密,具体为:所述工具查找自身维护的所有第二文件,解析查找到的第二文件的文件名称得到对应的第二文件的创建时间,比对得到的创建时间得到最晚创建时间,读取所述最晚创建时间对应的第二文件中的秘密。可选地,所述步骤3中,所述保存所述第二文件之后,还包括:将所述第二文件的文件名称返回给用户,并提示所述用户保存;对应地,所述生成密文主密钥流程中,所述工具获取与用户对应的秘密,具体为:所述工具获取自身维护的所有第二文件,并弹框显示给所述用户,读取所述用户选择的第二文件中的秘密。可选地,所述生成秘密流程中,所述根据所述第二字符生成秘密之后,还包括:将生成的秘密在操作页面中显示给用户;对应地,所述生成密文主密钥流程中,所述工具获取与用户对应的秘密,具体为:所述工具从所述操作页面中获取显示的秘密。可选地,所述生成密文主密钥流程中,所述根据获取到的原始密钥生成主密钥,具体为:所述工具将所述获取到的原始密钥、预存私有数据、预设迭代次数及第一预设算法作为参数传入第二函数接口,并调用所述第二函数接口生成主密钥。可选地,所述生成密文主密钥流程中,所述将所述密文主密钥提供给用户,具体为:所述工具将所述密文主密钥在操作页面中显示给用户;或者,所述工具将所述密文主密钥发送至用户指定的地址中。可选地,所述分割秘密流程中,所述工具根据所述待分割秘密、所述第一数量和所述第二数量,分割所述待分割秘密得到所述第一数量的影子秘密本文档来自技高网...
一种保护主密钥的工具及其工作方法

【技术保护点】
一种保护主密钥的工具的工作方法,其特征在于,包括:生成原始密钥流程、生成秘密流程、生成密文主密钥流程和分割秘密流程;所述生成原始密钥流程,包括:所述工具生成第一字符,根据所述第一字符生成原始密钥,将所述原始密钥保存;所述生成秘密流程,包括:所述工具生成第二字符,根据所述第二字符生成秘密,将所述秘密保存;所述生成密文主密钥流程,包括:所述工具获取与用户对应的原始密钥和秘密,根据获取到的原始密钥生成主密钥,并使用获取到的秘密对生成的主密钥加密得到密文主密钥,将所述密文主密钥提供给所述用户;所述分割秘密流程,包括:所述工具获取与用户对应的秘密,将其作为待分割秘密,并接收所述用户输入的第一数量和第二数量,所述第二数量小于或者等于所述第一数量;所述工具根据所述待分割秘密、所述第一数量和所述第二数量,分割所述待分割秘密得到所述第一数量的影子秘密和所述影子秘密的序号,并将所述影子秘密和所述影子秘密的序号对应分别发送给多个分散管理者。

【技术特征摘要】
1.一种保护主密钥的工具的工作方法,其特征在于,包括:生成原始密钥流程、生成秘密流程、生成密文主密钥流程和分割秘密流程;所述生成原始密钥流程,包括:所述工具生成第一字符,根据所述第一字符生成原始密钥,将所述原始密钥保存;所述生成秘密流程,包括:所述工具生成第二字符,根据所述第二字符生成秘密,将所述秘密保存;所述生成密文主密钥流程,包括:所述工具获取与用户对应的原始密钥和秘密,根据获取到的原始密钥生成主密钥,并使用获取到的秘密对生成的主密钥加密得到密文主密钥,将所述密文主密钥提供给所述用户;所述分割秘密流程,包括:所述工具获取与用户对应的秘密,将其作为待分割秘密,并接收所述用户输入的第一数量和第二数量,所述第二数量小于或者等于所述第一数量;所述工具根据所述待分割秘密、所述第一数量和所述第二数量,分割所述待分割秘密得到所述第一数量的影子秘密和所述影子秘密的序号,并将所述影子秘密和所述影子秘密的序号对应分别发送给多个分散管理者。2.根据权利要求1所述的方法,其特征在于,还包括:所述工具判断接收到的来自用户的触发信息的类型,如为生成原始密钥,则执行所述生成原始密钥流程;如为生成秘密,则执行所述生成秘密流程;如为生成密文主密钥,则执行所述生成密文主密钥流程;如为分割秘密,则执行所述分割秘密流程。3.根据权利要求2所述的方法,其特征在于,所述生成密文主密钥流程中,所述工具获取与用户对应的原始密钥和秘密之前,还包括:所述工具判断与用户对应的原始密钥和秘密是否均存在,是则获取与用户对应的原始密钥和秘密,否则报错,结束;所述分割秘密流程中,所述工具获取与用户对应的秘密之前,还包括:所述工具判断与用户对应的秘密是否存在,是则获取与用户对应的秘密,否则报错,结束。4.根据权利要求1所述的方法,其特征在于,当所述工具接收到来自用户的触发信息时,依次执行所述生成原始密钥流程、生成秘密流程、生成密文主密钥流程和分割秘密流程。5.根据权利要求1所述的方法,其特征在于,所述生成原始密钥流程中,所述工具生成第一字符,具体为:所述工具依次随机生成各预设类型的字符,生成的各预设类型的字符的长度为预设长度。6.根据权利要求1所述的方法,其特征在于,所述生成秘密流程中,所述工具生成第二字符,具体为:所述工具依次随机生成各预设类型的字符,生成的各预设类型的字符的长度为预设长度。7.根据权利要求5或者6所述的方法,其特征在于,所述工具依次随机生成各预设类型的字符,具体包括:步骤1-1:所述工具确定所述各预设类型的字符的生成顺序,并将所述生成顺序中的第一个类型作为当前类型;步骤1-2:所述工具生成随机数,根据所述随机数确定当前类型的字符的数量,并随机生成对应数量的当前类型的字符;步骤1-3:所述工具判断当前类型在所述生成顺序中的位置是否为所述预设类型的个数减1,是则执行步骤1-4,否则将下一个类型作为当前类型,返回步骤1-2;步骤1-4:所述工具根据所述预设长度和已确定的字符的数量计算所述生成顺序中最后一个类型的字符的数量,并随机生成对应数量及类型的字符。8.根据权利要求5或者6所述的方法,其特征在于,所述工具依次随机生成各预设类型的字符,具体为:所述工具初始化各预设类型的字符的数量,并依次随机生成对应数量及类型的字符;或者,所述工具将所述预设长度与所述预设类型的个数求商得到各预设类型的字符的数量,并依次生成对应数量及类型的字符。9.根据权利要求1所述的方法,其特征在于,所述生成原始密钥流程中,所述根据所述第一字符生成原始密钥,具体为:所述工具将所述第一字符作为参数传入第一函数接口,调用所述第一函数接口生成原始密钥;所述生成秘密流程中,所述根据所述第二字符生成秘密,具体为:所述工具将所述第二字符作为参数传入所述第一函数接口,调用所述第一函数接口生成秘密。10.根据权利要求1所述的方法,其特征在于,所述生成原始密钥流程中,所述将所述原始秘密保存,具体为:步骤2:所述工具创建第一文件,根据创建时间定义所述第一文件的文件名称,将所述原始密钥保存至所述第一文件中,保存所述第一文件;所述生成秘密流程中,所述将所述秘密保存,具体为:步骤3:所述工具创建第二文件,根据创建时间定义所述第二文件的文件名称,将所述秘密保存至所述第二文件中,保存所述第二文件。11.根据权利要求10所述的方法,其特征在于,所述生成密文主密钥流程中,所述工具获取与用户对应的原始密钥,具体为:所述工具查找自身维护的所有第一文件,解析查找到的第一文件的文件名称得到对应的第一文件的创建时间,比对得到的创建时间得到最晚创建时间,读取所述最晚创建时间对应的第一文件中的原始密钥。12.根据权利要求10所述的方法,其特征在于,所述步骤2中,所述保存所述第一文件之后,还包括:将所述第一文件的文件名称返回给用户,并提示所述用户保存;所述生成密文主密钥流程中,所述工具获取与用户对应的原始密钥,具体为:所述工具获取自身维护的所有第一文件,并弹框显示给所述用户,读取所述用户选择的第一文件中的原始密钥。13.根据权利要求1所述的方法,其特征在于,所述生成原始密钥流程中,所述根据所述第一字符生成原始密钥之后,还包括:将生成的原始密钥在操作页面中显示给用户,并提示所述用户保存;所述生成密文主密钥流程中,所述工具获取与用户对应的原始密钥,具体为:所述工具从所述操作页面中获取显示的原始密钥;或者,所述工具接收用户输入的原始密钥。14.根据权利要求10所述的方法,其特征在于,所述生成密文主密钥流程中,所述工具获取与用户对应的秘密,具体为:所述工具查找自身维护的所有第二文件,解析查找到的第二文件的文件名称得到对应的第二文件的创建时间,比对得到的创建时间得到最晚创建时间,读取所述最晚创建时间对应的第二文件中的秘密。15.根据权利要求10所述的方法,其特征在于,所述步骤3中,所述保存所述第二文件之后,还包括:将所述第二文件的文件名称返回给用户,并提示所述用户保存;所述生成密文主密钥流程中,所述工具获取与用户对应的秘密,具体为:所述工具获取自身维护的所有第二文件,并弹框显示给所述用户,读取所述用户选择的第二文件中的秘密。16.根据权利要求1所述的方法,其特征在于,所述生成秘密流程中,所述根据所述第二字符生成秘密之后,还包括:将生成的秘密在操作页面中显示给用户;所述生成密文主密钥流程中,所述工具获取与用户对应的秘密,具体为:所述工具从所述操作页面中获取显示的秘密。17.根据权利要求1所述的方法,其特征在于,所述生成密文主密钥流程中,所述根据获取到的原始密钥生成主密钥,具体为:所述工具将所述获取到的原始密钥、预存私有数据、预设迭代次数及第一预设算法作为参数传入第二函数接口,并调用所述第二函数接口生成主密钥。18.根据权利要求1所述的方法,其特征在于,所述生成密文主密钥流程中,所述将所述密文主密钥提供给用户,具体为:所述工具将所述密文主密钥在操作页面中显示给用户;或者,所述工具将所述密文主密钥发送至用户指定的地址中。19.根据权利要求1所述的方法,其特征在于,所述分割秘密流程中,所述工具根据所述待分割秘密、所述第一数量和所述第二数量,分割所述待分割秘密得到所述第一数量的影子秘密及所述影子秘密的序号,具体为:所述工具将所述待分割秘密、所述第一数量、所述第二数量及第二预设算法作为参数传入第三函数接口,调用所述第三函数接口得到所述第一数量的影子秘密及所述影子秘密的序号。20.根据权利要求1所述的方法,其特征在于,所述分割秘密流程中,所述将所述影子秘密和所述影子秘密的序号对应分别发送给多个分散管理者之前,还包括:所述工具接收用户输入的所述多个分散管理者的地址;所述分割秘密流程中,所述将所述影子秘密和所述影子秘密的序号对应分别发送给多个分散管理者,具体为:所述工具将所述影子秘密和所述影子秘密的序号对应分别发送至接收到的分散管理者的地址中。21.根据权利要求1所述的方法,其特征在于,所述分割秘密流程中,所述将所述影子秘密和所述影子秘密的序号对应分别发送给多个分散管理者之前,还包括:所述工具创建所述第一数量的第三文件,根据所述影子秘密的序号分别定义所述第三文件的文件名称,并将所述影子秘密和所述影子秘密的序号分别保存至所对应的第三文件中;所述分割秘密流程中,所述将所述影子秘密和所述影子秘密的序号对应分别发送给多个分散管理者,具体为:所述工具将所述第三文件分别发送给多个分散管理者。22.根据权利要求1所述的方法,其特征在于,所述分割秘密流程中,所述将所述影子秘密和所述影子秘密的序号对应分别发送给多个分散管理者之前,还包括:步骤C:所述工具从得到的所述第一数量的影子秘密中随机选择所述第二数量的影子秘密,根据选择的所述第二数量的影子秘密和对应的影子秘密的序号聚合秘密,判断聚合得到的秘密与所述待分割秘密是否相同,是则将所述影子秘密和所述影子秘密的序号对应分别发送给多个分散管理者,否则提示操作失败。23.根据权利要求22所述的方法,其特征在于,所述步骤C中,所述根据选择的所述第二数量的影子秘密和对应的影子秘密的序号聚合秘密,具体为:所述工具将第二预设算法、所述选择的所述第二数量的影子秘密和对应的影子秘密的序号作为参数传入第四函数接口,调用所述第四函数接口聚合秘密。24.根据权利要求19或者23所述的方法,其特征在于,所述第二预设算法,具体为:拉格朗日内插多项式算法,或者射影几何,或者线性代数,或者孙子定理。25.根据权利要求1所述的方法,其特征在于,所述分割秘密流程中,所述将所述影子秘密和所述影子秘密的序号对应分别发送给多个分散管理者之后,还包括:所述工具将所述待分割秘密、所述影子秘密及所述影子秘密的序号删除。26.一种保护主密钥的工具,其特征在于,包括:第一生成模块,用于生成第一字符;第二生成模块,用于根据所述第一生成模块生成的第一字符生成原始密钥;第一保存模块,用于将所述第二生成模块生成的原始密钥保存;第三生成模块,用于生成第二字符;第四生成模块,用于根据所述第三生成模块生成的第二字符生成秘密;第二保存模块,用于将所述第四生成模块生成的秘密保存;第一获取模块,用于获取与用户对应的原始密钥;第二获取模块,用于获取与所述用户对应的秘密;第五生成模块,...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1