密钥保护方法、密钥存储设备及终端设备与流程

文档序号:17428934发布日期:2019-04-17 03:14阅读:291来源:国知局
密钥保护方法、密钥存储设备及终端设备与流程

本发明实施例涉及信息安全领域,尤其涉及一种密钥保护方法、密钥存储设备及终端设备。



背景技术:

当今社会已经步入信息社会,同时,也越来越提高人们对信息安全的重视。

目前对智能设备(例如手机)的密钥存储,只存在于一个密钥列表keychain中,如果用户手机上存在多个需要使用密钥的应用时,多个应用实际上是访问的同一个keychain来获取自己的密钥。因此,由于多个应用均访问同一个密钥列表keychain,就很容易造成密钥泄露。例如,a应用将密钥存储在keychain中时,a应用就拥有访问keychain的权限,可以获取到keychain中保存的所有密钥,此时,如果a应用获取到同样将密钥存储在keychain中的b应用的用户密钥,就可通过b应用的密钥获取b应用中的用户信息,从而造成b应用的数据或者隐私泄露等安全隐患。



技术实现要素:

本发明实施例提供一种密钥保护方法、密钥存储设备及终端设备,以实现提高密钥的安全性,避免密钥泄露。

第一方面,本发明实施例提供了一种密钥保护方法,所述方法应用于密钥存储设备,在所述密钥存储设备中为每个应用建立密钥列表,所述密钥列表中用于存储相应应用的密钥,所述方法包括:

接收用于获取目标应用密钥的请求消息,所述请求消息中包括授权访问控制信息;

根据所述授权访问控制信息确定发送所述请求消息的终端设备是否具有密钥访问权限;

如果确定发送所述请求消息的终端设备具有密钥访问权限,则从与所述目标应用对应的密钥列表中查找所请求的密钥,并提供所述密钥。

第二方面,本发明实施例还提供了一种密钥保护方法,所述方法应用于终端设备,包括:

根据目标应用的密钥服务需求,生成获取所述目标应用密钥的请求消息,其中,所述请求消息中包括授权访问控制信息;

将所述请求消息发送至通信耦合的密钥存储设备,以使所述密钥存储设备根据所述授权访问控制信息确定发送所述请求消息的终端设备是否具有密钥访问权限,并在确定发送所述请求消息的终端设备具有密钥访问权限时,从与所述目标应用对应的密钥列表中查找所请求的密钥,并提供所述密钥。

第三方面,本发明实施例还提供了一种密钥存储设备,该设备包括:

数据安全模块,被配置为存储每个应用的密钥列表,所述密钥列表中用于存储相应应用的密钥;

处理模块,被配置为通过通信接口接收用于获取目标应用密钥的请求消息,所述请求消息中包括授权访问控制信息;根据所述授权访问控制信息确定发送所述请求消息的终端设备是否具有密钥访问权限;

所述数据安全模块,还被配置为当处理模块确定发送所述请求消息的终端设备具有密钥访问权限时,从与所述目标应用对应的密钥列表中查找所请求的密钥,并向所述处理模块提供所述密钥。

第四方面,本发明实施例还提供了一种终端设备,该终端设备包括:

请求生成模块,被配置为根据目标应用的密钥服务需求,生成获取所述目标应用密钥的请求消息,其中,所述请求消息中包括授权访问控制信息;

请求发送模块,被配置为将所述请求消息发送至通信耦合的密钥存储设备,以使所述密钥存储设备根据所述授权访问控制信息确定发送所述请求消息的终端设备是否具有密钥访问权限,并在确定发送所述请求消息的终端设备具有密钥访问权限时,从与所述目标应用对应的密钥列表中查找所请求的密钥,并提供所述密钥。

本发明实施例通过在密钥存储设备中为每个应用建立密钥列表,其中存储相应应用的密钥,接收用于获取目标应用密钥的请求消息,该请求消息中包括授权访问控制信息,若根据该授权访问控制信息确定发送该请求消息的终端设备具有密钥访问权限,则从与目标应用对应的密钥列表中查找所请求的密钥,并提供该密钥,利用了将多个应用的密钥进行隔离存储和访问的优点,实现了提高密钥的安全性,避免密钥泄露的效果。

附图说明

图1是本发明实施例一提供的一种密钥保护方法的流程示意图;

图2a是本发明实施例二提供的一种密钥保护方法的流程示意图;

图2b是本发明实施例二适用的一种终端设备和密钥存储设备之间的密钥生成流程示意图;

图3是本发明实施例三提供的一种密钥存储设备的结构示意图;

图4是本发明实施例四提供的一种终端设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种密钥保护方法的流程示意图。该方法可适用于对密钥进行访问保护的情况,该方法可以由密钥存储设备来执行。在进行密钥访问之前,可首先在密钥存储设备中为每个应用建立密钥列表,该密钥列表中用于存储相应应用的密钥。其中,一个密钥列表中存储的密钥可以是同一应用对应的一个或者多个密钥,密钥存储设备例如可以是智能手环、智能手表、智能加密锁等设备。

该方法具体包括如下:

s110、接收用于获取目标应用密钥的请求消息,所述请求消息中包括授权访问控制信息。

本实施例中,密钥存储设备可首先与终端设备进行通信耦合,其中,通信耦合的方式包括但不限于蓝牙连接、wifi等。终端设备上可安装有多个应用,每个应用都拥有自己的密钥,终端设备可通过密钥访问对应的应用,以获取该应用内隐藏的用户信息或私密数据等。现有技术中由于每个应用的密钥都是存储在应用所在的终端设备上,且均存储在一个密钥列表里的,所以,用户在该终端设备上使用其中一个应用时,很容易造成其他应用的密钥泄露。

为了保证每个应用的密钥的安全,确保当前应用只能访问自己应用内部的密钥,本实施例通过密钥异地存储以及多应用密钥隔离的方式,避免当前应用密钥被其他应用获取。

示例性的,终端设备将其安装的应用的密钥存储在密钥存储设备中,实现密钥的异地存储。其中,终端设备例如可以是手机、平板等可以安装应用软件的智能移动终端设备。

密钥存储设备在通信耦合到终端设备时,可实时监测是否接收到终端设备发送的用于获取目标应用密钥的请求消息,并在接收到该请求消息时,提取请求消息中包括的授权访问控制信息,以对终端设备是否具有目标应用密钥的访问权限进行验证。

s120、根据授权访问控制信息确定发送请求消息的终端设备是否具有密钥访问权限。

本实施例中,不同的应用可对应于不同的授权访问控制信息,授权访问控制信息可以是应用软件内部规定的标识码,用于控制访问该应用软件对应密钥列表的权限。具体的,可通过授权访问控制信息确定发送请求消息的终端设备是否具有密钥访问权限,例如,通过将接收的授权访问控制信息与密钥存储设备中预存的授权访问控制信息进行比对,根据比对结果来确定该终端设备是否具有目标应用的密钥访问权限。

示例性的,可在存储密钥之前,在密钥存储设备与发送该密钥的终端设备之间建立绑定关系,当密钥存储设备接收到密钥获取请求消息时,可首先确定该终端设备是否为绑定的终端设备,再确定该终端设备是否具有目标应用对应密钥列表的访问权限。

可选的,授权访问控制信息包括:第一验证数据;相应的,根据授权访问控制信息确定发送请求消息的终端设备是否具有密钥访问权限,包括:将第一验证数据或者将基于第一验证数据生成的第二验证数据与目标应用的预留校验信息进行比对,并在比对成功后确定发送请求消息的终端设备具有密钥访问权限。

其中,第一验证数据可以是一个字符串。在密钥存储设备中可预先存储有每个密钥列表分别对应的应用所预留的校验信息,该校验信息也可以为一个字符串,用于对接收的第一验证数据进行比对校验。具体的,当第一验证数据与目标应用的预留校验信息一致时,可确定发送请求消息的终端设备具有目标应用对应密钥列表的访问权限,也即具有密钥访问权限,或者,当基于第一验证数据生成的第二验证数据与目标应用的预留校验信息一致时,可确定发送请求消息的终端设备具有目标应用对应密钥列表的访问权限,也即具有密钥访问权限。其中,基于第一验证数据生成的第二验证数据可以是,利用目标应用约定的私钥,对第一验证数据进行加密或解密后生成的数据。

可选的,第一验证数据包括以下一种或多种:登录目标应用的账号密码信息;目标应用所在终端设备的设备信息;基于预设通信方式获取的验证码信息。

其中,登录目标应用的账号密码信息,可用于验证终端设备是否具有目标应用对应密钥列表的访问权限;目标应用所在终端设备的设备信息,可用于验证发送请求消息的终端设备是否为与密钥存储设备绑定的终端设备,也即合法设备;基于预设通信方式获取的验证码信息,可以是目标应用从该应用服务器获取的验证码信息,同样也可用于验证终端设备是否具有目标应用对应密钥列表的访问权限。

s130、如果确定发送请求消息的终端设备具有密钥访问权限,则从与目标应用对应的密钥列表中查找所请求的密钥,并提供密钥。

当确定发送请求消息的终端设备不具有密钥访问权限时,拒绝该密钥获取请求,以防止密钥被盗用。当确定发送请求消息的终端设备具有密钥访问权限时,可根据该请求消息从目标应用对应的密钥列表中查找到所请求的密钥。由于不同的密钥列表具有不同的密钥访问权限,因此,当确定终端设备具有目标应用的密钥访问权限时,仅能对目标应用对应的密钥列表进行访问,而无法访问其他应用对应的密钥列表,从而能够确保每个应用的密钥列表的独立性,提高密钥的安全性。

以智能手环为例,智能手环在接收到连接的手机发送的与a应用对应的密钥获取请求消息后,可根据其中包括的授权访问控制信息accesscode_a获取与a应用对应的密钥列表keychain_a中的密钥。

可选的,密钥存储设备中包括:数据安全模块;密钥列表存储在数据安全模块中;相应的,在确定发送请求消息的终端设备具有密钥访问权限之后,由数据安全模块确定与目标应用对应的密钥列表并从中查找所请求的密钥。

具体的,密钥存储设备中可设置有两个数据处理模块,其中一个数据处理模块为用于处理普通数据的处理模块,另一个数据处理模块为用于专门处理密钥数据的数据安全模块。具体的,该数据安全模块例如可以是经过相关部门认证的安全芯片,将密钥列表存储在该数据安全模块中能够确保密钥等敏感信息无法被非法获取,且通过数据安全模块来确定与目标应用对应的密钥列表并从中查找所请求的密钥,能够有效防止在密钥查找的过程中遭受攻击而导致密钥泄露的问题,进一步提高了密钥的安全性。

可选的,请求消息中还包括:虚拟密钥映射表;从与目标应用对应的密钥列表中查找所请求的密钥,包括:提取虚拟密钥映射表中包括的密钥标识信息;根据密钥标识信息,从与目标应用对应的密钥列表中查找所请求的密钥。

其中,不同的应用可对应于不同的虚拟密钥映射表,虚拟密钥映射表中可对应存储有应用中各项服务所需密钥的标识、编号、虚拟存储地址等,以便于查找密钥列表,并从密钥列表中查找所需的密钥。

以智能手环为例,智能手环在接收到连接的手机发送的与a应用对应的密钥获取请求消息后,从请求消息中提取相应的授权访问控制信息accesscode_a和虚拟密钥映射列表virtual_a。智能手环中的处理器根据accesscode_a验证当前手机是否为a应用的绑定设备,如果是,则将虚拟映射列表或者将从虚拟映射列表中的密钥标识信息发送给智能手环中的数据安全模块,如虚拟密钥映射列表virtual_a中包含有待查询密钥的密钥标识、编号、虚拟存储地址等,数据安全模块获取到虚拟映射列表后,根据待查询密钥的密钥标识、编号或者虚拟存储地址从应用a的密钥列表中查找对应的密钥。例如,virtual_a中携带待查询密钥a标识,数据安全模块根据密钥标识与密钥列表中密钥存储标识的对应关系确定待查询密钥在密钥列表中的存储编号,并根据存储编号找到待查询的密钥。又例如,virtual_a中携带待查询密钥的虚拟存储地址,数据安全模块获取到待查询密钥的虚拟存储地址后,将虚拟存储地址映射到相应应用的密钥列表的密钥存储位置,并从对应存储位置获取待查询密钥。

数据安全模块根据虚拟映射列表查找到待查询密钥后发送给数据存储设备的处理器,由处理器提供密钥,其中提供密钥的方式包括:在密钥存储设备的显示屏幕中显示密钥;和/或将密钥发送至终端设备,以使终端设备中的目标应用对密钥进行使用。

具体的,可仅通过密钥存储设备的显示屏幕显示获取的密钥,也可仅通过将获取的密钥发送给终端设备,以供终端设备直接使用,当然,还可通过上述二者相结合的方式来提供密钥,在此不作限定。

本实施例的技术方案,通过在密钥存储设备中为每个应用建立密钥列表,其中存储相应应用的密钥,接收用于获取目标应用密钥的请求消息,该请求消息中包括授权访问控制信息,若根据该授权访问控制信息确定发送该请求消息的终端设备具有密钥访问权限,则从与目标应用对应的密钥列表中查找所请求的密钥,并提供该密钥,利用了将多个应用的密钥进行隔离存储和访问的优点,实现了提高密钥的安全性,避免密钥泄露的效果。

实施例二

图2a为本发明实施例二提供的一种密钥保护方法的流程示意图。该方法可适用于对密钥进行访问保护的情况,该方法可以由终端设备来执行,该终端设备例如可以是手机、平板等可以安装应用软件的智能移动终端设备。

该方法具体包括如下:

s210、根据目标应用的密钥服务需求,生成获取目标应用密钥的请求消息,其中,请求消息中包括授权访问控制信息。

本实施例中,终端设备可首先与密钥存储设备进行通信耦合,以将移动终端上安装的应用软件的密钥存储在智能终端中,实现密钥的异地存储。其中,通信耦合的方式包括但不限于蓝牙连接、wifi等。终端设备与密钥存储设备建立的通信连接可以是一对一的连接,也可以是一对多的连接或者多对一的连接,也即,终端设备可对应绑定一个密钥存储设备,用于存储其上安装的一个或多个应用的密钥,也可将终端设备上安装的多个应用所分别对应的密钥分散存储在多个密钥存储设备上,在此不作限定。

进行密钥访问之前,可首先在密钥存储设备中为每个应用建立密钥列表,该密钥列表中用于存储相应应用的密钥。其中,一个密钥列表中存储的密钥可以是同一应用对应的一个或者多个密钥,密钥存储设备例如可以是智能手环、智能手表、智能加密锁等设备。

示例性的,获取目标应用密钥的请求消息可以是由目标应用根据具体的服务请求生成的,其中包括有目标应用对应密钥列表的授权访问控制信息。

在密钥存储设备中,由于不同应用的密钥对应存储在不同的密钥列表中,因此,不同的应用可对应于不同的授权访问控制信息,其中,授权访问控制信息可以是应用软件内部规定的标识码,用于控制访问该应用软件对应密钥列表的权限。

可选的,请求消息中还包括:包含密钥标识信息的虚拟密钥映射表,用于密钥存储设备根据密钥标识信息,从与目标应用对应的密钥列表中查找所请求的密钥。

其中,不同的应用可对应于不同的虚拟密钥映射表,虚拟密钥映射表中可对应存储有应用中各项服务所需密钥的标识、编号、虚拟存储地址等,以便于密钥存储设备查找到目标应用对应的密钥列表,并从该密钥列表中查找所需的密钥。

举一个实际例子,手机中的a应用在需要获取密钥a时,生成相应的包含有授权访问控制信息accesscode_a和虚拟密钥映射列表virtual_a的请求消息,并将该消息发送至通信耦合的密钥存储设备后,密钥存储设备从请求消息中提取相应的授权访问控制信息accesscode_a和虚拟密钥映射列表virtual_a,其中,virtual_a中包含有所需密钥的标识、编号、虚拟存储地址等,例如virtual_a中包含密钥a的真实标识a或者加密转换后的标识x*或者密钥a在应用a的密钥列表的虚拟存储位置,智能手环可以根据virtual_a中包含的密钥a的相关信息从a应用对应的密钥列表keychain_a中获取对应的密钥。

s220、将请求消息发送至通信耦合的密钥存储设备,以使密钥存储设备根据授权访问控制信息确定发送请求消息的终端设备是否具有密钥访问权限,并在确定发送请求消息的终端设备具有密钥访问权限时,从与目标应用对应的密钥列表中查找所请求的密钥,并提供密钥。

示例性的,当终端设备将目标应用生成的包含有授权访问控制信息的密钥获取请求消息时,立即将该请求消息发送给通信耦合的密钥存储设备,密钥存储设备可通过该密钥获取请求消息中包括的授权访问控制信息,确定该终端设备是否具有访问目标应用对应密钥列表的密钥访问权限,并在确定具有该权限时从目标应用对应的密钥列表中获取对应的密钥。

本实施例的技术方案,通过根据目标应用的密钥服务需求,生成获取目标应用密钥的请求消息,其中,该请求消息中包括授权访问控制信息,最后将请求消息发送至通信耦合的密钥存储设备,以使密钥存储设备根据授权访问控制信息确定发送请求消息的终端设备是否具有密钥访问权限,并在确定发送请求消息的终端设备具有密钥访问权限时,从与目标应用对应的密钥列表中查找所请求的密钥,并提供密钥,利用了将多个应用的密钥进行隔离存储和访问的优点,实现了提高密钥的安全性,避免密钥泄露的效果。

在上述各实施例的基础上,终端设备和密钥存储设备之间的密钥生成过程,以手机和手环为例,如图2b所示,首先在终端设备和密钥存储设备之间建立通信连接,然后,终端设备创建的与各应用软件分别对应的授权访问控制码和虚拟密钥映射表,并发送给密钥存储设备,密钥存储设备分别创建各应用软件对应的密钥列表,并将反馈信息发送给终端设备,当终端设备上的某一应用软件需要使用密钥时,发送相应的授权访问控制码和对应的虚拟密钥映射表给密钥存储设备,密钥存储设备在查找到相应的密钥列表后,将该密钥列表中对应的用户密钥发送给终端设备,以便终端设备使用该用户密钥进行相应的操作。

举一个实际例子,用户手机和手环绑定后,firmail应用建立自己的授权访问控制码firmail_accesscode和虚拟密钥映射表firmail_virtual,智能手环中创建对应的密钥列表firmail_keychain。hotmail应用同样创建自己对应的hotmail_accesscode,hotmail_virtual和hotmail_keychain。当firmail应用使用密钥时,通过自己的firmail_accesscode和firmail_virtual,只能访问自己的密钥列表firmail_keychain来获取相应的密钥,无法获取或者访问hotmail的hotmail_keychain,确保firmail和hotmail的密钥独立性和安全性。

再例如,a银行和b银行应用都拥有自己的密钥列表来确保自己用户的信息安全,同时拥有对应的授权访问控制码和虚拟密钥映射表,两个银行存储在智能手环上的密钥keychain相互独立,并且访问安全,提高了用户账户安全。

实施例三

图3为本发明实施例三提供的一种密钥存储设备的结构示意图。参考图3,该密钥存储设备包括:数据安全模块310和处理模块320,下面对各模块进行具体说明。

数据安全模块310,被配置为存储每个应用的密钥列表,所述密钥列表中用于存储相应应用的密钥;

处理模块320,被配置为通过通信接口接收用于获取目标应用密钥的请求消息,所述请求消息中包括授权访问控制信息;根据所述授权访问控制信息确定发送所述请求消息的终端设备是否具有密钥访问权限;

数据安全模块310,还被配置为当处理模块确定发送所述请求消息的终端设备具有密钥访问权限时,从与所述目标应用对应的密钥列表中查找所请求的密钥,并向所述处理模块提供所述密钥。

其中,处理模块320可以是用于进行普通数据处理的中央控制器,数据安全模块310可以是用于进行密钥数据处理的安全芯片。

本实施例提供的终端设备,通过数据安全模块310为每个应用建立密钥列表,其中存储相应应用的密钥,并通过处理模块320接收用于获取目标应用密钥的请求消息,该请求消息中包括授权访问控制信息,同时,根据该授权访问控制信息确定发送该请求消息的终端设备是否具有密钥访问权限,当处理模块320确定发送该请求消息的终端设备具有密钥访问权限时,再通过数据安全模块310从与目标应用对应的密钥列表中查找所请求的密钥,并向处理模块320提供该密钥,利用了将密钥数据与普通数据分开处理,且将多个应用的密钥进行隔离存储和访问的优点,实现了提高密钥的安全性,避免密钥泄露的效果。

可选的,所述请求消息中还包括:虚拟密钥映射表;

相应的,数据安全模块310具体可被配置为用于:

提取所述虚拟密钥映射表中包括的密钥标识信息;

根据所述密钥标识信息,从与所述目标应用对应的密钥列表中查找所请求的密钥。

可选的,所述授权访问控制信息包括:第一验证数据;

相应的,处理模块320具体可被配置为用于:

将所述第一验证数据或者将基于所述第一验证数据生成的第二验证数据与所述目标应用的预留校验信息进行比对,并在比对成功后确定发送所述请求消息的终端设备具有密钥访问权限。

可选的,所述第一验证数据包括以下一种或多种:

登录所述目标应用的账号密码信息;

所述目标应用所在终端设备的设备信息;

基于预设通信方式获取的验证码信息。

可选的,处理模块320具体还可被配置为用于:

在所述密钥存储设备的显示屏幕中显示所述密钥;和/或

将所述密钥发送至所述终端设备,以使所述终端设备中的目标应用对所述密钥进行使用。

上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

实施例四

图4为本发明实施例四提供的一种终端设备的结构示意图。参考图4,该终端设备包括:请求生成模块410和请求发送模块420,下面对各模块进行具体说明。

请求生成模块410,被配置为根据目标应用的密钥服务需求,生成获取所述目标应用密钥的请求消息,其中,所述请求消息中包括授权访问控制信息;

请求发送模块420,被配置为将所述请求消息发送至通信耦合的密钥存储设备,以使所述密钥存储设备根据所述授权访问控制信息确定发送所述请求消息的终端设备是否具有密钥访问权限,并在确定发送所述请求消息的终端设备具有密钥访问权限时,从与所述目标应用对应的密钥列表中查找所请求的密钥,并提供所述密钥。

本实施例提供的终端设备,通过请求生成模块410和请求发送模块420,根据目标应用的密钥服务需求,生成获取目标应用密钥的请求消息,其中,该请求消息中包括授权访问控制信息,最后将请求消息发送至通信耦合的密钥存储设备,以使密钥存储设备根据授权访问控制信息确定发送请求消息的终端设备是否具有密钥访问权限,并在确定发送请求消息的终端设备具有密钥访问权限时,从与目标应用对应的密钥列表中查找所请求的密钥,并提供密钥,利用了将多个应用的密钥进行隔离存储和访问的优点,实现了提高密钥的安全性,避免密钥泄露的效果。

可选的,所述请求消息中还包括:包含密钥标识信息的虚拟密钥映射表,用于所述密钥存储设备根据所述密钥标识信息,从与所述目标应用对应的密钥列表中查找所请求的密钥。

上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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