密钥管理、获取方法及相关装置和系统与流程

文档序号:12182266阅读:286来源:国知局
密钥管理、获取方法及相关装置和系统与流程

本申请涉及密钥信息处理技术领域,尤其涉及密钥管理、获取方法及相关装置和系统。



背景技术:

为了保障通信安全,密钥技术已经成为各个应用领域广泛采用的技术。

相关技术中若使用密钥值,则需要获取以下密钥属性:密钥基础用法属性、表示密钥值是明文还是密文的明密标志、以及用于获取密钥值的密钥值查找标识。例如,相关技术中密钥可存储在数据库中,也可以存储在加密机中,那么密钥值查找标识中则包括了密钥值是存储在数据库中还是加密机中的存储地标志,以及密钥值在存储地中的搜索标识。获取密钥值后,便根据明密标志,确定是采用密文编码规则处理密钥值,还是根据明文编码规则处理密钥值。

发明人在研究中发现,相关技术中,无论密钥值是存储在数据库中还是加密机中,所有用户的密钥值均在一张表中。如果该表被窃取,则所有用户的密钥值将丢失。故此,相关技术中用户密钥信息的安全性低。此外,相关技术中密钥属性多固化在应用程序中,不便于密钥管理者和用户管理密钥。



技术实现要素:

本申请实施例提供了密钥管理、获取方法及相关装置和系统,用以解决相关技术中由于所有用户的密钥值均在一张表中导致用户密钥信息的安全性低等的问题。

一方面,本申请实施例提供一种密钥管理方法,包括:

获取指定业务的指定用户的密钥属性;

生成携带所述密钥属性的密钥文件;并,

将所述密钥文件存储在预先建立的密钥目录中的所述指定业务的目录下。

进一步地,所述获取指定业务的指定用户的密钥属性,具体包括:

显示所述指定业务的所述指定用户的密钥属性设定界面;

根据用户在所述密钥属性设定界面的操作结果,生成所述密钥属性。

进一步地,所述显示所述指定业务的所述指定用户的密钥属性设定界面之前,所述方法还包括:

接收登录密钥属性管理系统的登录请求;

根据所述登录请求中包含的用户标识,确定该用户标识对应的用户的管理权限;

根据确定的管理权限,确定密钥属性设定界面中的可编辑密钥属性;

所述根据用户在所述密钥属性设定界面的操作结果,生成所述密钥属性,具体包括:

根据用户在所述密钥属性设定界面对所述可编辑密钥属性的操作结果,生成所述密钥属性。

进一步地,所述密钥属性包括密钥基础用法属性、表示密钥值是明文还是密文的明密标志、以及以下属性中的任一种:密钥值、密钥值查找标识;

所述密钥值查找标识具体包括:表示密钥存储在加密机中还是服务器中的存储地标志、密钥值在存储地中的搜索标识;

所述密钥基础用法属性具体包括:密钥是否用于加密和/或解密、密钥是否可用于签名验证、密钥是否可用于生成签名、密钥是否可用于生成子密钥、密钥是否可用于签发证书、密钥使用方法。

进一步地,所述密钥属性中还包括以下信息中的至少一种:

所述指定业务的每个子业务的密钥代码、与该密钥代码对应存储的用户自定义密钥名称、表示密钥是否仅用于系统管理的系统标识、表示密钥是否允许对应的预设操作的操作标志、表示密钥所属应用的应用标识、密钥角色类型、用于二次开发时参考的密钥值编码规则说明、密钥生命周期。

进一步地,根据以下方法生成所述密钥代码:

生成所述密钥对应的子业务的业务代码;并,

获取所述密钥对应的子业务所属的至少一个上级业务中的各业务的业务代码;

将获取的各业务代码,按照业务级别由高到低或者业务级别由低到高的顺序排列,排列的结果作为所述密钥代码。

进一步地,采用TLV编码方法对所述密钥代码进行编码,且在编码过程中各业务的业务代码均用1个字节表示,以使密钥代码的L值即表示密钥代码的长度也表示该密钥代码在由密钥代码构建的密钥树中的位置。

进一步地,所述方法还包括:

接收查看密钥树的查看请求;

根据所述密钥代码,识别各密钥代码在密钥树中的位置;

根据识别结果,显示所述密钥树。

进一步地,所述方法还包括:

接收查看密钥属性的查看请求;

显示所述密钥属性中预定义的可查看属性。

进一步地,所述方法还包括:

根据所述密钥属性,生成用于描述所述密钥属性的唯一性保障码,其中,密钥属性与唯一性保障码为一一对应关系;

将所述唯一性保障码与所述密钥文件对应存储。

进一步地,若所述密钥属性中包括所述操作标志;

所述方法还包括:

在密钥属性修改界面中显示操作标志表示允许操作的密钥属性;

根据用户在所述密钥属性修改界面的操作结果,修改所述密钥文件中的密钥属性;

根据修改后的密钥属性,生成新的唯一性保障码;

将与所述密钥文件对应存储的唯一性保障码替换为所述新的唯一性保障码。

另一方面,本申请实施例提供一种密钥获取方法,所述方法包括:

接收密钥使用客户端发送的用于获取密钥属性的获取请求;所述获取请求包括业务标识、用户标识;

根据预先建立的密钥目录,确定所述业务标识对应业务的目录下的所述用户标识的密钥文件的存储位置;

从所述存储位置获取所述密钥文件,根据所述密钥文件获取密钥属性,并将获取的密钥属性中的密钥值和密钥基础用法发送给所述密钥使用客户端。

进一步地,所述获取请求中还包括用户自定义密钥名称:

所述从所述存储位置获取所述密钥文件,根据所述密钥文件获取密钥属性,具体包括:

从所述存储位置获取包含所述用户自定义密钥名称的密钥文件,并根据所述密钥文件获取除所述用户自定义名称之外的密钥属性。

进一步地,所述获取请求中还包括请求的密钥所属应用的应用标识、待处理数据以及数据处理操作;

所述密钥属性中还包括表示密钥所属应用的应用标识、与用户自定义密钥名称对应存储的密钥代码、与密钥代码对应存储的密钥角色类型以及基础用法属性;

所述根据所述密钥文件获取密钥属性,具体包括:

判断所述获取请求中包括的应用标识是否携带在所述密钥文件中;

若是,则从所述密钥文件中获取与获取请求中的用户自定义密钥名称对应的密钥代码;

判断所述获取请求中的待处理数据是否符合获取的密钥代码对应的密钥角色类型要求的数据规范;以及,判断所述获取请求中的数据处理操作是否符合获取的密钥代码对应的基础用法属性的要求;

若符合数据规范,且符合所述基础用法属性的要求,则从所述密钥文件中获取获取的密钥代码对应的密钥值,或者根据所述密钥文件中的获取的密钥代码对应的密钥值查找标识获取密钥值。

进一步地,判断所述获取请求中的待处理数据是否符合获取的密钥代码对应的密钥角色类型要求的数据规范之前,所述方法还包括:

获取与所述密钥文件对应存储的唯一性保障码;以及,

计算所述密钥文件的密钥属性的唯一性保障码;

若计算的唯一性保障码与存储的唯一性保障码相同,则执行判断所述获取请求中的待处理数据是否符合获取的密钥代码对应的密钥角色类型要求的数据规范的操作。

进一步地,所述密钥属性中还包括密钥代码对应的密钥生命周期;

所述从所述密钥文件中获取获取的密钥代码对应的密钥值,或者根据所述密钥文件中的获取的密钥代码对应的密钥值查找标识获取密钥值之前,所述方法还包括:

根据当前时间,以及获取的密钥代码对应的密钥生命周期,确定所述密钥值处于有效生命周期内。

再一方面,本申请实施例提供一种密钥管理装置,包括:

密钥属性获取模块,用于获取指定业务的指定用户的密钥属性;

密钥文件生成模块,用于生成携带所述密钥属性的密钥文件;

密钥文件存储模块,用于将所述密钥文件存储在预先建立的密钥目录中的所述指定业务的目录下。

进一步地,所述密钥属性获取模块,具体包括:

显示单元,用于显示所述指定业务的所述指定用户的密钥属性设定界面;

密钥属性生成单元,用于根据用户在所述密钥属性设定界面的操作结果,生成所述密钥属性。

进一步地,所述装置还包括:

登录请求接收模块,用于所述显示单元显示所述指定业务的所述指定用户的密钥属性设定界面之前,接收登录密钥属性管理系统的登录请求;

管理权限确定模块,用于根据所述登录请求中包含的用户标识,确定该用户标识对应的用户的管理权限;

可编辑密钥属性确定模块,用于根据确定的管理权限,确定密钥属性设定界面中的可编辑密钥属性;

所述密钥属性生成单元,具体用于根据用户在所述密钥属性设定界面对所述可编辑密钥属性的操作结果,生成所述密钥属性。

进一步地,所述密钥属性包括密钥基础用法属性、表示密钥值是明文还是密文的明密标志、以及以下属性中的任一种:密钥值、密钥值查找标识;

所述密钥值查找标识具体包括:表示密钥存储在加密机中还是服务器中的存储地标志、密钥值在存储地中的搜索标识;

所述密钥基础用法属性具体包括:密钥是否用于加密和/或解密、密钥是否可用于签名验证、密钥是否可用于生成签名、密钥是否可用于生成子密钥、密钥是否可用于签发证书、密钥使用装置。

进一步地,所述密钥属性中还包括以下信息中的至少一种:

所述指定业务的每个子业务的密钥代码、与该密钥代码对应存储的用户自定义密钥名称、表示密钥是否仅用于系统管理的系统标识、表示密钥是否允许对应的预设操作的操作标志、表示密钥所属应用的应用标识、密钥角色类型、用于二次开发时参考的密钥值编码规则说明、密钥生命周期。

进一步地,所述装置还包括:

密钥代码生成模块,用于根据以下方法生成所述密钥代码:

生成所述密钥对应的子业务的业务代码;并,

获取所述密钥对应的子业务所属的至少一个上级业务中的各业务的业务代码;

将获取的各业务代码,按照业务级别由高到低或者业务级别由低到高的顺序排列,排列的结果作为所述密钥代码。

进一步地,所述装置还包括:

编码模块,用于采用TLV编码装置对所述密钥代码进行编码,且在编码过程中各业务的业务代码均用1个字节表示,以使密钥代码的L值即表示密钥代码的长度也表示该密钥代码在由密钥代码构建的密钥树中的位置。

进一步地,所述装置还包括:

密钥树查看请求接收模块,用于接收查看密钥树的查看请求;

密钥树识别模块,用于根据所述密钥代码,识别各密钥代码在密钥树中的位置;

密钥树显示模块,用于根据识别结果,显示所述密钥树。

进一步地,所述装置还包括:

密钥属性查看请求接收模块,用于接收查看密钥属性的查看请求;

可查看属性显示模块,用于显示所述密钥属性中预定义的可查看属性。

进一步地,所述装置还包括:

唯一性保障码生成模块,用于根据所述密钥属性,生成用于描述所述密钥属性的唯一性保障码,其中,密钥属性与唯一性保障码为一一对应关系;

唯一性保障码存储模块,用于将所述唯一性保障码与所述密钥文件对应存储。

进一步地,若所述密钥属性中包括所述操作标志;所述装置还包括:

密钥属性修改界面显示模块,用于在密钥属性修改界面中显示操作标志表示允许操作的密钥属性;

密钥属性修改模块,用于根据用户在所述密钥属性修改界面的操作结果,修改所述密钥文件中的密钥属性;

新唯一性保障码生成模块,用于根据修改后的密钥属性,生成新的唯一性保障码;

唯一性保障码更新模块,用于将与所述密钥文件对应存储的唯一性保障码替换为所述新的唯一性保障码。

再一方面,本申请实施例提供一种密钥获取装置,所述装置包括:

密钥属性获取请求接收模块,接收密钥使用客户端发送的用于获取密钥属性的获取请求;所述获取请求包括业务标识、用户标识;

存储位置确定模块,用于根据预先建立的密钥目录,确定所述业务标识对应业务的目录下的所述用户标识的密钥文件的存储位置;

密钥属性获取模块,用于从所述存储位置获取所述密钥文件,根据所述密钥文件获取密钥属性,并将获取的密钥属性中的密钥值和密钥基础用法发送给所述密钥使用客户端。

进一步地,所述获取请求中还包括用户自定义密钥名称:

所述密钥属性获取模块,具体用于从所述存储位置获取包含所述用户自定义密钥名称的密钥文件,并根据所述密钥文件获取除所述用户自定义名称之外的密钥属性。

进一步地,所述获取请求中还包括请求的密钥所属应用的应用标识、待处理数据以及数据处理操作;

所述密钥属性中还包括表示密钥所属应用的应用标识、与用户自定义密钥名称对应存储的密钥代码、与密钥代码对应存储的密钥角色类型以及基础用法属性;

所述密钥属性获取模块,具体包括:

应用标识判断单元,用于判断所述获取请求中包括的应用标识是否携带在所述密钥文件中;

密钥代码确定单元,用于若应用标识判断单元的判断结果为是,则从所述密钥文件中获取与获取请求中的用户自定义密钥名称对应的密钥代码;

处理单元,用于判断所述获取请求中的待处理数据是否符合获取的密钥代码对应的密钥角色类型要求的数据规范;以及,判断所述获取请求中的数据处理操作是否符合获取的密钥代码对应的基础用法属性的要求;

密钥值获取单元,用于若符合数据规范,且符合所述基础用法属性的要求,则从所述密钥文件中获取获取的密钥代码对应的密钥值,或者根据所述密钥文件中的获取的密钥代码对应的密钥值查找标识获取密钥值。

进一步地,,所述装置还包括:

唯一性保障码获取模块,用于处理单元判断所述获取请求中的待处理数据是否符合获取的密钥代码对应的密钥角色类型要求的数据规范之前,获取与所述密钥文件对应存储的唯一性保障码;

唯一性保障码计算模块,用于计算所述密钥文件的密钥属性的唯一性保障码;

唯一性保障码比对模块,用于若计算的唯一性保障码与存储的唯一性保障码相同,则触发处理单元执行判断所述获取请求中的待处理数据是否符合获取的密钥代码对应的密钥角色类型要求的数据规范的操作。

进一步地,所述密钥属性中还包括密钥代码对应的密钥生命周期;所述装置还包括:

生命周期有效性确定模块,用于所述密钥值获取单元从所述密钥文件中获取获取的密钥代码对应的密钥值,或者根据所述密钥文件中的获取的密钥代码对应的密钥值查找标识获取密钥值之前,根据当前时间,以及获取的密钥代码对应的密钥生命周期,确定所述密钥值处于有效生命周期内。

再一方面,本申请实施例提供一种密钥管理系统,所述系统包括:

终端设备,用于发送用于获取密钥属性的获取请求,所述获取请求包括业务标识、用户标识;并接收密钥管理设备发送的密钥值和密钥基础用法;

密钥管理设备,用于获取指定业务的指定用户的密钥属性;生成携带所述密钥属性的密钥文件;并,将所述密钥文件存储在预先建立的密钥目录中的所述指定业务的目录下;以及,接收密钥使用客户端发送的用于获取密钥属性的获取请求;根据预先建立的密钥目录,确定所述业务标识对应业务的目录下的所述用户标识的密钥文件的存储位置;从所述存储位置获取所述密钥文件,根据所述密钥文件获取密钥属性;并将获取的密钥属性中的密钥值和密钥基础用法发送给所述终端设备。

本申请实施例有益效果如下:本申请实施例中,通过按照一个用户一个密钥文件的形式存储密钥属性,达到不同用户的密钥属性隔离的目的,能够提高密钥属性的安全性。以文件形式存储密钥属性,对密钥的管理可以基于文件操作系统管理,那么对文件的管理变得简单易行。此外,由于密钥属性是按照用户为单元来存储的,搜索密钥时,也不像相关技术那样从含有大量无关密钥的一张表中去搜索,而是缩小搜索范围在该用户的密钥文件中搜索。由于密钥文件信息量远远小于一张表的信息量,使得密钥值的搜索更加快捷和方便。

附图说明

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

图1所示为本申请实施例一中提供的密钥管理方法的流程示意图;

图2所示为本申请实施例一中提供的密钥树的结构示意图之一;

图3所示为本申请实施例一中提供的密钥树的结构示意图之二;

图4所示为本申请实施例二中提供的密钥获取方法的流程示意图;

图5所示为本申请实施例三中提供的密钥获取方法的流程示意图;

图6所示为本申请实施例四中提供的密钥管理装置的结构示意图;

图7所示为本申请实施例五中提供的密钥获取装置的结构示意图;

图8所示为本申请实施例五中提供的密钥管理系统的结构示意图;

图9所示为本申请实施例五中提供的执行密钥管理方法和/或密钥获取方法的电子设备的结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

实施例一:

如图1所示,为本申请提供的密钥管理方法的流程示意图,该方法包括以下步骤:

步骤101:获取指定业务的指定用户的密钥属性。

所述密钥属性至少包括密钥基础用法属性、表示密钥值是明文还是密文的明密标志、以及以下属性中的任一种:密钥值、密钥值查找标识。

其中,在一个实施例中,所述密钥值查找标识具体包括:表示密钥存储在加密机中还是服务器中的存储地标志、密钥值在存储地中的搜索标识等;只要能够用于查找到密钥值的信息均适用于本申请实施例,本申请实施例对此不做限定。

其中,在一个实施例中,所述密钥基础用法属性具体包括:密钥是否用于加密和/或解密、密钥是否可用于签名验证、密钥是否可用于生成签名、密钥是否可用于生成子密钥、密钥是否可用于签发证书、密钥使用方法等。只要涉及该密钥的用法的属性均适用于本申请实施例,本申请对此不做限定。

步骤102:生成携带所述密钥属性的密钥文件。

其中,在一个实施例中,密钥文件的名称中可以包含指定业务、指定用户以及该密钥文件涉及的密钥功能。

其中,在一个实施例中,一个密钥文件中可以包括至少两个密钥值或至少两个密钥值查找标识。例如,密钥文件A是用户B的社保相关密钥,那么密钥文件A中可以包含用户B的社保消费密钥值、社保充值密钥值等。

步骤103:将所述密钥文件存储在预先建立的密钥目录中的所述指定业务的目录下。

综上可知:本申请实施例中,密钥属性是存储在密钥文件中的,而且密钥文件是按照业务和用户的目录层次进行存储。也即不同用户的密钥属性是分别存储的,如果一个文件丢失,那么丢失的仅是一个用户的密钥属性,不会累及其它用户。故而,本申请实施例提供的密钥存储方法,相较于相关技术,能够提高用户信息的安全性。此外,密钥属性是以文件形式存储的,密钥管理者可以像操作系统文件一样管理密钥文件。由于操作系统文件管理简单易懂,密钥管理者无需学习专业知识,例如数据库技术、加密机技术、应用开发技术等。所以对密钥管理者的专业性要求降低,使得本申请实施例提供的密钥管理方法,不仅用户密钥信息的安全性提高,密钥信息的管理也简单。

为便于进一步理解本申请实施例提供的技术方案,下面对此进行进一步说明,包括以下内容:

一、关于获取指定业务的指定用户的密钥属性:

其中,在一个实施例中,若密钥属性已存储在数据库中或加密机中,可以从数据库或加密机中获取指定业务的指定用户的密钥属性。

其中,在一个实施例中,为了便于密钥管理者生成密钥属性,步骤101中所述获取指定业务的指定用户的密钥属性,可具体包括以下步骤:

步骤A1:显示所述指定业务的所述指定用户的密钥属性设定界面。

步骤A2:根据用户在所述密钥属性设定界面的操作结果,生成所述密钥属性。

生成密钥属性后便获得了密钥属性。这样,密钥管理者是通过可视化的操作界面即密钥属性设定界面,来进行相应操作,使得密钥属性的生成因为可视化操作,而变得更加灵活。例如可以在该界面中输入密钥明密标志、也可以在该界面中编辑密钥基础用法属性等。

二、关于密钥属性,及相关密钥属性的应用:

其中,在一个实施例中,随着各项业务的不断扩增和业务复杂度的不断提升,密钥属性仅包括密钥基础用法属性、明密标志、密钥值等已无法满足现状的需求。故此,本申请实施例中,为了能够适应更多个性化的业务需求,也为了便于密钥管理者管理密钥,所述密钥属性中还包括以下信息中的至少一种:

(1)、所述指定业务的每个子业务的密钥代码:例如,还是以社保为例,社保业务下的子业务例如是消费业务和充值业务等,每个子业务对应一套密钥属性,其中不同密钥的相同密钥属性,在密钥文件中可以仅存储一份。例如,子业务共同的父业务的标识可以仅存储一份。这样同一父业务的标识在一份密钥文件中仅存储一份,可以节约存储资源。

其中,密钥代码不仅可以标识对应的业务还可以唯一表示一个密钥。本申请实施例中,为了便于密钥管理者查看业务结构或者密钥代码之间的父子关系。例如,如图2所示为用于表示业务结构或者密钥代码的父子关系的密钥树。若从密钥的父子关系的角度理解该密钥树,则为:该树中密钥Y0包括两个业务的密钥分别为Y01和Y02,其中,密钥Y01还包括两个业务的密钥分别为Y0011和Y0012,那么通过密钥树可以可视化的看出业务之间的父子关系以及密钥之间的父子关系。而在查询密钥属性时,根据密钥树,也能够很快的定位密钥属性在密钥树中的位置。

为了便于确定密钥树,本申请实施例中可以根据以下方法生成所述密钥代码,包括步骤B1-步骤B3:

步骤B1:生成所述密钥对应的子业务的业务代码。

步骤B2:获取所述密钥对应的子业务所属的至少一个上级业务中的各业务的业务代码。

其中,业务代码可以根据实际需要设置,本申请实施例对此不作限定。

步骤B3:将获取的各业务代码,按照业务级别由高到低或者业务级别由低到高的顺序排列,排列的结果作为所述密钥代码。

这样,密钥代码是包括了其各上级业务的业务代码的。例如,图2所示的Y0011的密钥代码中,第一个表示Y0的业务代码,中间的01表示Y01的业务代码,最后一个1表示Y0011的业务代码。通过业务代码的组合表示密钥代码,使得一个密钥代码中包括了父子关系。

进一步地,本申请实施例中,为了便于表示密钥代码,采用TLV(Type Length Value、类型长度值)编码方法对所述密钥代码进行编码,且在编码过程中各业务的业务代码均用1个字节表示,以使密钥代码的L值即表示密钥代码的长度也表示该密钥代码在由密钥代码构建的密钥树中的位置。例如,T占2字节;L占1字节,L即表示V值的长度也表示密钥代码对应的业务的密钥在密钥树中的层次;V为变长数据。对如图3所示的密钥树,采用十六进制进行编码的结果为:

第一层的根节点Y1的密钥代码为00 01 01,其中:00为T值;中间的01为L值,表示V值占用1个字节也表示对应节点位于第一层(即根节点);最后一个01为根节点的V值。

第二层的两个节点中,左1节点的密钥代码为00 02 0101,其中:00为T值,中间的02为L值表示V值占用2字节,也表示对应节点位于第二层;0101中第一个01为根节点V值,后面的01为本节点的业务代码。左2节点的密钥代码为00 02 0102,其中:00为T值,中间的02为L值表示V值占用2字节,也表示对应节点位于第二层;0101中第一个01为根节点V值,后面的02为本节点的业务代码。

以此类推,第三层的两个节点中,左1节点的密钥代码为00 03 010101;左2节点的密钥代码为00 03 010102。

这样的密钥代码设计实现了不定长的设计,有利密钥及对应业务的扩展,尤其支持多层次多分枝密钥管理。

有了密钥代码后,查看密钥树的方法可包括以下步骤,包括步骤C1-步骤C2:

步骤C1:接收查看密钥树的查看请求。

步骤C2:根据所述密钥代码,识别各密钥代码在密钥树中的位置。

步骤C3:根据识别结果,显示所述密钥树。

这样,根据用户的请求显示处理密钥树,以使业务之间的父子关系以及密钥代码之间的父子关系可视化,以便于密钥管理者进行管理。

具体实施时,还可以接收对密钥树中的密钥代码的选择指令;然后将选择的密钥代码的密钥摘要显示出来。该密钥摘要,例如是该密钥代码对应的业务的用户数量,用户地理位置分布等等,以显示给用户查看。当然,也可以显示对应的密钥属性管理界面,以便于用户管理密钥属性。例如增加、删除或修改密钥属性。

(2)、与该密钥代码对应存储的用户自定义密钥名称:用户自定义密钥名称:例如,密钥管理者可以按照自己的需求自定义便于自己辨识的密钥名称,以便于看到密钥名称时便可以了解该密钥的使用用途,例如自定义密钥名称为某银行社保消费密钥。同理,对于使用密钥的用户而言,用户也可以根据自身的需求自定义密钥名称,例如定义为社保充值密钥,则用户根据该用户自定义密钥名称既可以了解密钥的用途。

(3)、表示密钥是否仅用于系统管理的系统标识:该类密钥不作为应用使用过程中的类别鉴定;以便于密钥管理者管理密钥。该系统标识,可用于密钥管理者查看。

(4)、密钥生命周期,可包括:密钥创建时间、密钥失效时间、表示密钥是否启用的第一状态、表示密钥是否激活的第二状态、表示密钥是否暂停使用的第三状态、表示密钥是否到期的第四状态等。任何能够描述密钥生命周期的属性均适用于本申请实施例,本申请实施例对此不做限定。

(5、)表示密钥所属应用的应用标识:该应用标识可以根据用户的实际需求定义,例如,对应密钥管理者,可以由密钥管理者定义一套应用标识,对应密钥使用者,也可以自定义一套应用标识。具体实施时,该应用标识中可以包括密钥管理者定义的应用标识,也可以包括使用者定义的应用标识。此外,一套应用标识中也可以包括至少一种信息,例如可以包括业务及其子业务的信息,例如标识为社保消费密钥,则表示该密钥所属社保业务,且隶属于社保业务的消费业务。当然,具体实施时,可以根据实际需要设计如何定义应用标识,均适用于本申请实施例,本申请实施例对此不做限定。

(6)、密钥角色类型:表征密钥可执行的操作,该操作例如是加密、解密、签名、认证等流程操作。例如,密钥角色类型属性中包括表征该密钥仅可以用于加密,不可用于解密等。

(7)、用于二次开发时参考的密钥值编码规则说明,可包括:明文编码规则,密文编码规则、密钥的处理规则,该处理例如是压缩处理等,还可以包括密钥结果说明、密钥结构填充方法、加密方法等。这样,密钥中通过包括该属性,便于密钥属性扩展时,做二次开发的人员了解,无需和二次开发人员口述编码规则,以节约沟通时间和沟通成本,从而提高二次开发的效率。

具体实施时,可以接收查看密钥值编码规则说明的查看请求后,显示所述密钥值编码规则说明。

(8)、表示密钥是否允许对应的预设操作的操作标志:预设操作例如是修改、删除、新增等操作。例如某一密钥属性生成后,操作标志可以表示该密钥属性是否可修改;再例如操作标志中还可包括表示对密钥生命周期中的密钥失效时间是否可允许修改的标识等。

需要说明的是,具体实施时不限于上述的密钥属性,可以根据实际需求增加相应的密钥属性,本申请实施例对此不做限定。

本申请实施例中,为了便于管理密钥,密钥属性中各密钥属性还可以包括是否可查看的查看标识,可查看的密钥属性称为可查看属性。故此,本发明实施例提供的密钥管理方法还可包括:接收查看密钥属性的查看请求后,显示所述密钥属性中预定义的可查看属性。

需要说明的是,具体实施时,上述各密钥属性均可以采用TLV编码规则进行编码。

此外,密钥代码可以和密钥属性中的其它属性对应存储。以便于根据密钥代码获取密钥属性。

三、关于进一步提升密钥属性的安全性:

其中,在一个实施例中,为了防止使用篡改后的密钥属性进行相应业务,本申请实施例中,还可以根据所述密钥属性,生成用于描述所述密钥属性的唯一性保障码,其中,密钥属性与唯一性保障码为一一对应关系;并,将所述唯一性保障码与所述密钥文件对应存储,以便于获取密钥值之前,先根据该唯一性保障码判断密钥属性是否被篡改,若是,则结束操作。即若密钥属性被篡改,则拒绝查找密钥值,相应的操作将被中止。这有利于保证用户密钥安全。具体的使用唯一性保障码的方法,将在后续实施例中说明,在此暂不赘述。

其中,在一个实施例中,可以根据以下方法生成唯一性保障码:

方法1、计算密钥属性的MD5(Message-Digest Algorithm 5,信息-摘要算法5)值。

方法2、计算密钥属性的HMAC(Hash-based Message Authentication Code,密钥相关的哈希运算消息认证码)。当然,为了简化HMAC长度,具体实施时可以根据以下方法计算HMAC:首先,获取密钥文件从指定字节开始至最后一个字节的所有数据(该数据记为M);然后,计算M的哈希值;最后利用系统密钥Ka对计算得到的哈希值进行加密,取加密结果的右边(即从最高位开始的)指定数量的字节作为HMAC。其中,较佳的,哈希算法可以采用SM3(senior middle 3,SM3)算法,指定数量的字节可以为8字节,即HMAC为8字节的内容。例如,加密结果为00012345678,则将12345678作为HMAC。

其中,在一个实施例中,如上所述,为便于管理,允许密钥管理员修改密钥属性。故此,为了便于保证唯一性保障码与密钥属性一一对应,本申请实施例中,若所述密钥属性中包括所述操作标志,还可包括以下方法:

步骤D1:在密钥属性修改界面中显示操作标志表示允许操作的密钥属性。

其中,密钥属性修改界面可以包括在上述的密钥属性管理界面中,密钥属性管理界面仅是一个总称,不限于表示一个界面。

步骤D2:根据用户在所述密钥属性修改界面的操作结果,修改所述密钥文件中的密钥属性。

步骤D3:根据修改后的密钥属性,生成新的唯一性保障码。

步骤D4:将与所述密钥文件对应存储的唯一性保障码替换为所述新的唯一性保障码。

这样,实现了随着密钥属性的改变,完成对唯一性保障码的更新。使得唯一性保障码能够实时与密钥属性一一对应。

四、关于密钥管理者权限分配

其中,在一个实施例中,为了便于不同角色的密钥管理者管理密钥属性,本申请实施例中,还为不同的密钥管理者分配不同的管理权限,达到进一步提高密钥信息安全的目的,具体的,所述显示所述指定业务的所述指定用户的密钥属性设定界面之前,所述方法还包括:

步骤E1:接收登录密钥属性管理系统的登录请求。

步骤E2:根据所述登录请求中包含的用户标识,确定该用户标识对应的用户的管理权限。

步骤E3:根据确定的管理权限,确定密钥属性设定界面中的可编辑密钥属性。

对应不同权限的用户来说,上述可查看密钥属性包括的内容也可不同,例如最高权限的用户可以查看全部的密钥属性,而低权限的用户仅能查看部分密钥属性。

这样,不同权限的用户可编辑密钥属性中可以编辑的密钥属性可以不同,例如密钥的最高级管理员,可以对所有的密钥属性进行编辑,而低级的密钥管理员仅可以编辑部分密钥属性。

则前述的根据用户在所述密钥属性设定界面的操作结果,生成所述密钥属性,可具体包括:根据用户在所述密钥属性设定界面对所述可编辑密钥属性的操作结果,生成所述密钥属性。

其中,密钥管理系统界面(也可以为上述的密钥属性管理界面)可包括上述的密钥属性设定界面以及密钥属性修改界面。当然,具体实施时,密钥属性设定界面和密钥属性修改界面可以为同一界面也可不为同一界面,本申请实施例对此并不限定。

其中,在一个实施例中,密钥管理者可以划分为密钥拥有者权限、密钥管理者权限、和密钥使用者权限。其中,密钥拥有者权限拥有最高权限、密钥管理者权限拥有密钥拥有者分配的权限;密钥使用者仅有密钥的使用权限。具体实施时,各权限如何分配,可以根据实际需要设定,本申请实施例对此不做限定。

综上所述,本申请实施例中,通过按照一个用户一个密钥文件的形式存储密钥属性,达到不同用户的密钥属性隔离的目的,能够提高密钥属性的安全性。以文件形式存储密钥属性,对密钥的管理可以基于文件操作系统管理,那么对文件的管理变得简单易行。

此外,由于密钥属性是按照用户为单位进行存储的,搜索密钥时,也不像相关技术那样从含有大量无关密钥的一张表中去搜索,而是缩小搜索范围在该用户的密钥文件中搜索。由于密钥文件信息量远远小于一张表的信息量,使得密钥值的搜索更加快捷和方便。

此外,通过增加密钥属性,使得密钥管理方便、简单,能够密钥管理能够适应现在以及将来不同的业务需求。而且,密钥属性是通过相应界面添加的,可以修改,而不是像相关技术那样固化在应用程序的代码中,那么密钥属性的管理将变得更加灵活。

此外,通过增加密钥属性的唯一性保障码,能够保证密钥属性不被篡改。使得密钥更加安全。

再者,通过赋予不同密钥管理者不同的权限,使得密钥的管理和使用更加安全方便。

实施例二

基于相同的发明构思,本申请实施例还提供一种密钥获取方法,如图4所示,为该方法的流程示意图,所述方法包括以下步骤:

步骤401:接收密钥使用客户端发送的用于获取密钥属性的获取请求;所述获取请求包括业务标识、用户标识。

具体的密钥属性及其生成和管理方法,已在实施例一中说明,在此不再赘述。

步骤402:根据预先建立的密钥目录,确定所述业务标识对应业务的目录下的所述用户标识的密钥文件的存储位置。

步骤403:从所述存储位置获取所述密钥文件,根据所述密钥文件获取密钥属性,并将获取的密钥属性中的密钥值和密钥基础用法发送给所述密钥使用客户端。

当然,在一个实施例中,还可以根据实际需要,将除密钥值和密钥基础用法之外的密钥属性发送给所述密钥使用客户端,本申请对此不作限定。

例如,密钥文件的名称中可以包括业务标识及用户标识。这样,根据密钥名称便可以确定密钥文件。

这样,本申请实施例中,密钥属性根据密钥文件获取的,而密钥文件是按照一个用户一个密钥文件的形式存储。达到不同用户的密钥属性隔离的目的,能够提高密钥属性的安全性。以文件形式存储密钥属性,对密钥的管理可以基于文件操作系统管理,那么对文件的管理变得简单易行。

为了进一步理解本申请实施例提供的技术方案,下面进行进一步说明,包括以下内容:

其中,在一个实施例中,现有技术中获取密钥属性需要在获取请求中携带密钥在密钥机或加密机中的存储区域的标志,密钥使用客户端的开发人员必须知道每种密钥的存储区域才能将相应的存储区域的标志固化在密钥使用客户端的应用程序中。而存储区域的标志不像自然语言容易记忆,这样,增加了开发人员的记忆负担和开发难度。本申请实施例中为了使开发人员无需了解各类密钥的存储区域,所述获取请求中还包括用户自定义密钥名称:则所述从所述存储位置获取所述密钥文件,并根据所述密钥文件获取密钥属性,具体包括:从所述存储位置获取包含所述用户自定义名称的密钥文件,并从所述密钥文件中获取除所述用户自定义名称之外的密钥属性。其中,用户自定义名称可以包括在密钥文件的名称中,也可以存储在密钥文件中,本申请对此不作限定。这样,根据用户自定义名称来生成和查找密钥文件,开发人员无需关心各类密钥的存储区域,使得开发更加简便。例如,用户自定义名称可以是开发人员自定义的名称,这样,开发人员可以有序的根据自然语言记忆。当然具体实施时,也可以是管理员或者密钥使用者自定义名称,这样,开发人员只需要提供自定义的功能即可,无需关心存储区域的标志。

为了保障密钥属性在使用中的安全性,所述密钥属性中还包括表示密钥所属应用的应用标识、与用户自定义密钥名称对应存储的密钥代码、与密钥代码对应存储的密钥角色类型以及基础用法属性;所述获取请求中还包括请求的密钥所属应用的应用标识、待处理数据以及数据处理操作;故此,本申请实施例中,步骤403中所述根据所述密钥文件获取密钥属性,可具体包括以下步骤:

步骤F1:判断所述获取请求中包括的应用标识是否携带在所述密钥文件中,若是,执行步骤F2,若否,则结束操作。

例如,应用标识可以包含在密钥文件的名称中,这样仅通过密钥文件名称便可以判断。当然,应用标识也可以存储在密钥文件中,本申请对此不作限定。

这样,若获取请求中包括的应用标识不携带在所述密钥文件,说明密钥文件中不存在对应该应用的密钥属性,那么无需进行后续操作,节约处理资源。

步骤F2:从所述密钥文件中获取与获取请求中的用户自定义密钥名称对应的密钥代码。

步骤F3:判断所述获取请求中的待处理数据是否符合获取的密钥代码对应的密钥角色类型要求的数据规范;以及,判断所述获取请求中的数据处理操作是否符合获取的密钥代码对应的基础用法属性的要求。

步骤F4:若符合数据规范,且符合所述基础用法属性的要求,则从所述密钥文件中获取获取的密钥代码对应的密钥值,或者根据所述密钥文件中的获取的密钥代码对应的密钥值查找标识获取密钥值。

当然,若不符合数据规范,和/或不符合所述基础用法属性的要求,则说明用户的操作可能是非法操作,则结束操作。这样,能够保证密钥安全。

其中,在一个实施例中,为了进一步提高处理效率和密钥属性的安全性,执行步骤F4之前,还可以执行以下操作:

步骤G1:获取与所述密钥文件对应存储的唯一性保障码。

步骤G2:计算所述密钥文件的密钥属性的唯一性保障码。

步骤G3:若计算的唯一性保障码与存储的唯一性保障码相同,则执行步骤F4,若不相同,则结束操作。

这样,确定唯一性保障码没变则确定密钥文件的密钥属性没有被改变,能够达到检测密钥文件是否被非法篡改的目的,若被非法篡改(即确定唯一性保障码不同),则确定密钥属性不安全,可以通过结束操作来保证用户的利益,并保护密钥属性。

其中,在一个实施例中,为了适应业务需求和便于管理密钥,所述密钥属性中还包括密钥生命周期;进一步地,为了使用处于有效密钥生命周期内的密钥值进行相应业务,本申请实施例中,执行步骤F4获取密钥值之前,还可以根据当前时间,以及获取的密钥代码对应的密钥生命周期,确定密钥值是否处于有效生命周期内,若是,则执行步骤F4,否则结束操作。密钥值处于有效生命周期内则说明密钥值未失效,获取密钥值才有意义。若密钥值失效,则无需继续后续的操作,从而能够节约处理资源,正确使用密钥。

综上,本申请实施例中,通过密钥文件获取密钥能够提高密钥属性的安全性,也能够提高密钥属性的获取速度。通过获取密钥值之前进行一系列的检测,能够达到保护密钥信息并提高处理效率的目的。

实施例三:

以一个密钥文件存储多种密钥为例,对本申请实施例的密钥获取方法做进一步说明。若一个密钥文件存储至少两种密钥时,每种密钥的密钥属性关联存储,例如一种密钥的所有密钥属性可以和用户自定义密钥名称对应存储。

如图5所示,为本申请实施例中提供的密钥获取方法的另一示例性流程图,该方法包括以下步骤:

步骤501:接收密钥使用客户端发送的用于获取密钥属性的获取请求;所述获取请求包括业务标识、用户标识、用户自定义密钥名称、应用标识、待处理数据以及数据处理操作。

所述密钥属性至少包括密钥基础用法属性、表示密钥值是明文还是密文的明密标志、以及以下属性中的任一种:密钥值、密钥值查找标识。

步骤502:根据预先建立的密钥目录,确定所述业务标识对应业务的目录下的所述用户标识的密钥文件的存储位置。

例如存储位置可以为一个文件夹。一个用户的所有密钥文件可以存储在该文件夹下。当然,具体实施时,可以根据实际需要设定,本申请对此不作限定。

步骤503:从所述存储位置获取包含所述用户自定义名称的密钥文件。

步骤504:判断所述获取请求中包括的应用标识是否携带在所述密钥文件中,若是,执行步骤505;若否,则结束操作。

步骤505:获取与所述密钥文件对应存储的唯一性保障码,并计算所述密钥文件的密钥属性的唯一性保障码。

步骤506:判断计算的唯一性保障码与存储的唯一性保障码是否相同,若是,执行步骤507,若否,则结束操作。

步骤507:从所述密钥文件中获取与获取请求中的用户自定义密钥名称对应的密钥代码。

步骤508:根据当前时间,以及所述密钥文件中获取的密钥代码对应的密钥生命周期,确定密钥值是否处于有效生命周期内,若是,执行步骤509,否则结束操作。

步骤509:判断所述获取请求中的待处理数据是否符合所述所述密钥文件中与获取的密钥代码对应的密钥角色类型要求的数据规范;以及,判断所述获取请求中的数据处理操作是否符合所述所述密钥文件中与获取的密钥代码对应的基础用法属性的要求;若符合数据规范,且符合所述基础用法属性的要求,则执行步骤510,否则,结束操作。

步骤510:从所述密钥文件中获取所述密钥文件中与获取的密钥代码对应的密钥值,或者根据所述密钥文件中的获取的密钥代码对应的密钥值查找标识获取密钥值,并将获取的密钥属性中的密钥值和密钥基础用法发送给所述密钥使用客户端。

获取密钥值之后,可以执行与密钥值相关的操作,该相关操作可以根据现有技术执行,本申请实施例在此不做赘述。

具体的,假设密钥代码与用户自定义密钥对应存储。若一个密钥文件中存储用户的社保消费密钥和社保充值密钥,若用户希望获取社保消费密钥时,则用户自定义密钥名称可以为用户A社保消费密钥,对应存储的密钥代码为B,密钥文件中存储了与密钥代码B对应的其它密钥属性。这样,在接收到用于获取密钥属性的获取请求后,根据获取请求中业务标识、用户标识以及预先建立的密钥目录确定密钥文件的存储位置,然后根据用户A社保消费密钥在密钥文件中查找到与用户A社保消费密钥对应的密钥代码B,然后获取密钥代码B对应的密钥生命周期、密钥角色类型、基础用法属性、密钥值或密钥值查找标识。根据获取的密钥属性执行相应的操作,这里不再赘述。

其中,在一个实施例中,密钥文件中还可以包括密钥代码的描述信息,例如除密钥代码为其它密钥属性的长度,以及起始位置。这样,根据长度和起始位置便可以获取相应的密钥属性。

实施例四

基于相同的发明构思,本申请实施例还提供一种密钥管理装置,如图6所述,为该装置的结构示意图,包括:

密钥属性获取模块601,用于获取指定业务的指定用户的密钥属性;

密钥文件生成模块602,用于生成携带所述密钥属性的密钥文件;

密钥文件存储模块603,用于将所述密钥文件存储在预先建立的密钥目录中的所述指定业务的目录下。

其中,在一个实施例中,所述密钥属性获取模块,具体包括:

显示单元,用于显示所述指定业务的所述指定用户的密钥属性设定界面;

密钥属性生成单元,用于根据用户在所述密钥属性设定界面的操作结果,生成所述密钥属性。

其中,在一个实施例中,所述装置还包括:

登录请求接收模块,用于所述显示单元显示所述指定业务的所述指定用户的密钥属性设定界面之前,接收登录密钥属性管理系统的登录请求;

管理权限确定模块,用于根据所述登录请求中包含的用户标识,确定该用户标识对应的用户的管理权限;

可编辑密钥属性确定模块,用于根据确定的管理权限,确定密钥属性设定界面中的可编辑密钥属性;

所述密钥属性生成单元,具体用于根据用户在所述密钥属性设定界面对所述可编辑密钥属性的操作结果,生成所述密钥属性。

其中,在一个实施例中,所述密钥属性包括密钥基础用法属性、表示密钥值是明文还是密文的明密标志、以及以下属性中的任一种:密钥值、密钥值查找标识;

所述密钥值查找标识具体包括:表示密钥存储在加密机中还是服务器中的存储地标志、密钥值在存储地中的搜索标识;

所述密钥基础用法属性具体包括:密钥是否用于加密和/或解密、密钥是否可用于签名验证、密钥是否可用于生成签名、密钥是否可用于生成子密钥、密钥是否可用于签发证书、密钥使用装置。

其中,在一个实施例中,所述密钥属性中还包括以下信息中的至少一种:

所述指定业务的每个子业务的密钥代码、与该密钥代码对应存储的用户自定义密钥名称、表示密钥是否仅用于系统管理的系统标识、表示密钥是否允许对应的预设操作的操作标志、表示密钥所属应用的应用标识、密钥角色类型、用于二次开发时参考的密钥值编码规则说明、密钥生命周期。

其中,在一个实施例中,所述装置还包括:

密钥代码生成模块,用于根据以下方法生成所述密钥代码:

生成所述密钥对应的子业务的业务代码;并,

获取所述密钥对应的子业务所属的至少一个上级业务中的各业务的业务代码;

将获取的各业务代码,按照业务级别由高到低或者业务级别由低到高的顺序排列,排列的结果作为所述密钥代码。

其中,在一个实施例中,所述装置还包括:

编码模块,用于采用TLV编码装置对所述密钥代码进行编码,且在编码过程中各业务的业务代码均用1个字节表示,以使密钥代码的L值即表示密钥代码的长度也表示该密钥代码在由密钥代码构建的密钥树中的位置。

其中,在一个实施例中,所述装置还包括:

密钥树查看请求接收模块,用于接收查看密钥树的查看请求;

密钥树识别模块,用于根据所述密钥代码,识别各密钥代码在密钥树中的位置;

密钥树显示模块,用于根据识别结果,显示所述密钥树。

其中,在一个实施例中,所述装置还包括:

密钥属性查看请求接收模块,用于接收查看密钥属性的查看请求;

可查看属性显示模块,用于显示所述密钥属性中预定义的可查看属性。

其中,在一个实施例中,所述装置还包括:

唯一性保障码生成模块,用于根据所述密钥属性,生成用于描述所述密钥属性的唯一性保障码,其中,密钥属性与唯一性保障码为一一对应关系;

唯一性保障码存储模块,用于将所述唯一性保障码与所述密钥文件对应存储。

其中,在一个实施例中,若所述密钥属性中包括所述操作标志;所述装置还包括:

密钥属性修改界面显示模块,用于在密钥属性修改界面中显示操作标志表示允许操作的密钥属性;

密钥属性修改模块,用于根据用户在所述密钥属性修改界面的操作结果,修改所述密钥文件中的密钥属性;

新唯一性保障码生成模块,用于根据修改后的密钥属性,生成新的唯一性保障码;

唯一性保障码更新模块,用于将与所述密钥文件对应存储的唯一性保障码替换为所述新的唯一性保障码。

综上所述,本申请实施例中,通过按照一个用户一个密钥文件的形式存储密钥属性,达到不同用户的密钥属性隔离的目的,能够提高密钥属性的安全性。以文件形式存储密钥属性,对密钥的管理可以基于文件操作系统管理,那么对文件的管理变得简单易行。此外,由于密钥属性是按照用户为单位来存储的,搜索密钥时,也不像相关技术那样从含有大量无关密钥的一张表中去搜索,而是缩小搜索范围在该用户的密钥文件中搜索。由于密钥文件信息量远远小于一张表的信息量,使得密钥值的搜索更加快捷和方便。

实施例五

基于相同的发明构思,本申请实施例还提供一种密钥获取装置,其如图7所示,为该装置的结构示意图,该装置包括:

密钥属性获取请求接收模块701,接收密钥使用客户端发送的用于获取密钥属性的获取请求;所述获取请求包括业务标识、用户标识;

存储位置确定模块702,用于根据预先建立的密钥目录,确定所述业务标识对应业务的目录下的所述用户标识的密钥文件的存储位置;

密钥属性获取模块703,用于从所述存储位置获取所述密钥文件,根据所述密钥文件获取密钥属性,并将获取的密钥属性中的密钥值和密钥基础用法发送给所述密钥使用客户端。

其中,在一个实施例中,所述获取请求中还包括用户自定义密钥名称:

所述密钥属性获取模块,具体用于从所述存储位置获取包含所述用户自定义密钥名称的密钥文件,并根据所述密钥文件获取除所述用户自定义名称之外的密钥属性。

其中,在一个实施例中,所述获取请求中还包括请求的密钥所属应用的应用标识、待处理数据以及数据处理操作;

所述密钥属性中还包括表示密钥所属应用的应用标识、与用户自定义密钥名称对应存储的密钥代码、与密钥代码对应存储的密钥角色类型以及基础用法属性;

所述密钥属性获取模块,具体包括:

应用标识判断单元,用于判断所述获取请求中包括的应用标识是否携带在所述密钥文件中;

密钥代码确定单元,用于若应用标识判断单元的判断结果为是,则从所述密钥文件中获取与获取请求中的用户自定义密钥名称对应的密钥代码;

处理单元,用于判断所述获取请求中的待处理数据是否符合获取的密钥代码对应的密钥角色类型要求的数据规范;以及,判断所述获取请求中的数据处理操作是否符合获取的密钥代码对应的基础用法属性的要求;

密钥值获取单元,用于若符合数据规范,且符合所述基础用法属性的要求,则从所述密钥文件中获取获取的密钥代码对应的密钥值,或者根据所述密钥文件中的获取的密钥代码对应的密钥值查找标识获取密钥值。

其中,在一个实施例中,所述装置还包括:

唯一性保障码获取模块,用于处理单元判断所述获取请求中的待处理数据是否符合获取的密钥代码对应的密钥角色类型要求的数据规范之前,获取与所述密钥文件对应存储的唯一性保障码;

唯一性保障码计算模块,用于计算所述密钥文件的密钥属性的唯一性保障码;

唯一性保障码比对模块,用于若计算的唯一性保障码与存储的唯一性保障码相同,则触发处理单元执行判断所述获取请求中的待处理数据是否符合获取的密钥代码对应的密钥角色类型要求的数据规范的操作。

其中,在一个实施例中,所述密钥属性中还包括密钥代码对应的密钥生命周期;所述装置还包括:

生命周期有效性确定模块,用于所述密钥值获取单元从所述密钥文件中获取获取的密钥代码对应的密钥值,或者根据所述密钥文件中的获取的密钥代码对应的密钥值查找标识获取密钥值之前,根据当前时间,以及获取的密钥代码对应的密钥生命周期,确定所述密钥值处于有效生命周期内。

综上,本申请实施例中,通过密钥文件获取密钥能够提高密钥属性的安全性,也能够提高密钥属性的获取速度。通过获取密钥值之前进行一系列的检测,能够达到保护密钥信息提高处理效率的目的。

其中,在一个实施例中,基于相同的发明构思,本申请实施例还提供一种密钥管理系统,如图8所示,为该系统的结构示意图,包括:

终端设备801,用于发送用于获取密钥属性的获取请求,所述获取请求包括业务标识、用户标识;并接收密钥管理设备发送的密钥值和密钥基础用法;

密钥管理设备802,用于获取指定业务的指定用户的密钥属性;生成携带所述密钥属性的密钥文件;并,将所述密钥文件存储在预先建立的密钥目录中的所述指定业务的目录下;以及,接收密钥使用客户端发送的用于获取密钥属性的获取请求;根据预先建立的密钥目录,确定所述业务标识对应业务的目录下的所述用户标识的密钥文件的存储位置;从所述存储位置获取所述密钥文件,根据所述密钥文件获取密钥属性;并将获取的密钥属性中的密钥值和密钥基础用法发送给所述终端设备。

此外,本申请实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的密钥管理方法和/或密钥获取。

实施例五

图9是本申请实施例五提供的执行密钥管理方法和/或密钥获取的电子设备的硬件结构示意图,如图9所示,该电子设备包括:

一个或多个处理器910以及存储器920,图9中以一个处理器910为例。执行图像处理方法的电子设备还可以包括:输入装置930和输出装置940。

处理器910、存储器920、输入装置930和输出装置940可以通过总线或者其他方式连接,图9中以通过总线连接为例。

存储器920作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的图像处理方法对应的程序指令/模块(例如,附图6所示的密钥属性获取模块601、密钥文件生成模块602、密钥文件存储模块603;例如,附图7所示的密钥属性获取请求接收模块701、存储位置确定模块702以及密钥属性获取模块703)。处理器910通过运行存储在存储器920中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。

存储器920可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据密钥管理装置和/或密钥获取装置的使用所创建的数据等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器920可选包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至密钥管理装置和/或密钥获取装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置930可接收输入的数字或字符信息,以及产生与密钥管理装置和/或密钥获取装置的用户设置以及功能控制有关的键信号输入。输出装置940可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器920中,当被所述一个或者多个处理器910执行时,执行上述任意方法实施例中的密钥管理方法和/或密钥获取方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

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

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

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

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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