CN112906034A - 一种密钥保存方法、装置、存储介质及电子设备 - Google Patents

一种密钥保存方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN112906034A
CN112906034A CN202110279624.1A CN202110279624A CN112906034A CN 112906034 A CN112906034 A CN 112906034A CN 202110279624 A CN202110279624 A CN 202110279624A CN 112906034 A CN112906034 A CN 112906034A
Authority
CN
China
Prior art keywords
character string
key
encryption information
fixed
user
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
CN202110279624.1A
Other languages
English (en)
Other versions
CN112906034B (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 Senseshield Technology Co Ltd
Original Assignee
Beijing Senseshield 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 Senseshield Technology Co Ltd filed Critical Beijing Senseshield Technology Co Ltd
Priority to CN202110279624.1A priority Critical patent/CN112906034B/zh
Publication of CN112906034A publication Critical patent/CN112906034A/zh
Application granted granted Critical
Publication of CN112906034B publication Critical patent/CN112906034B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种密钥保存方法、装置、存储介质及电子设备,密钥保存方法包括:获取用户密钥;生成随机字符串,并利用随机字符串对用户密钥进行加密,得到第一加密信息;将第一加密信息存储至终端设备的安全容器;生成固定字符串,并利用固定字符串对随机字符串进行加密,得到第二加密信息;其中,第一加密信息、第二加密信息以及固定字符串的存储位置均不相同。本公开提供密钥保存方法,利用随机字符串对用户密钥进行加密得到第一加密信息,并且,利用固定字符串对随机字符串进行加密得到第二加密信息,进一步地,还将第一加密信息、第二加密信息以及固定字符串分别存储在不同的位置,增加攻击者盗取用户密钥的难度,提高了用户密钥的安全性。

Description

一种密钥保存方法、装置、存储介质及电子设备
技术领域
本公开涉及数据安全技术领域,特别涉及一种密钥保存方法、装置、存储介质及电子设备。
背景技术
随着数字化时代的发展,越来越多的企业、机关单位甚至个人,将部分较为重要的数据(例如用户的密钥)保存在电子设备中,避免丢失。应运而生地,产生了非法窃取数据的技术手段及盗窃行为,一旦用户密钥丢失或被盗,都会带来不可估量的损失和影响。
对用户密钥进行存储的一种解决方式是将密钥存放在安全的容器中。但该方式也可能被攻击者破解,导致用户密钥泄露,安全性有待进一步提高。
发明内容
有鉴于此,本公开实施例的目的在于提供一种密钥保存方法、装置、存储介质及电子设备,用于解决用户密钥安全性较低的问题。
第一方面,本公开实施例提供了一种密钥保存方法,应用于终端设备,所述密钥保存方法包括:
获取用户密钥;
生成随机字符串,并利用所述随机字符串对所述用户密钥进行加密,得到第一加密信息;
将所述第一加密信息存储至所述终端设备的安全容器;
生成固定字符串,并利用所述固定字符串对所述随机字符串进行加密,得到第二加密信息;
其中,所述第一加密信息、所述第二加密信息以及所述固定字符串的存储位置均不相同。
在一种可能的实施方式中,还包括:
将所述第二加密信息存储至本地数据库中,
所述固定字符串被固定在动态链接库中。
在一种可能的实施方式中,在所述终端设备安装有Windows平台的情况下,所述安全容器为可信赖平台模块安全芯片;在所述终端设备安装有Android平台的情况下,所述安全容器为Key store;在所述终端设备安装有IOS Mac平台的情况下,所述安全容器为Keychain。
在一种可能的实施方式中,所述获取用户密钥,包括:
获取用户标识信息;
基于所述用户标识信息生成所述用户密钥。
第二方面,本公开实施例还提供了一种密钥保存装置,其包括:
第一加密模块,其配置为获取用户密钥;生成随机字符串,并利用所述随机字符串对所述用户密钥进行加密,得到第一加密信息;
存储模块,其配置为将所述第一加密信息存储至所述终端设备的安全容器;
第二加密模块,其配置为生成固定字符串,并利用所述固定字符串对所述随机字符串进行加密,得到第二加密信息;
其中,所述第一加密信息、所述第二加密信息以及所述固定字符串的存储位置均不相同。
在一种可能的实施方式中,所述第二加密模块,其还配置为:
将所述第二加密信息存储至本地数据库中;
所述固定字符串被固定在动态链接库中。
在一种可能的实施方式中,在所述终端设备安装有Windows平台的情况下,所述安全容器为可信赖平台模块安全芯片;在所述终端设备安装有Android平台的情况下,所述安全容器为Key store;在所述终端设备安装有IOS Mac平台的情况下,所述安全容器为Keychain。
在一种可能的实施方式中,所述获取模块具体配置为:
获取用户标识信息;
基于所述用户标识信息生成所述用户密钥。
第三方面,本公开还提供了一种存储介质,其中,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如下步骤:
获取用户密钥;
生成随机字符串,并利用所述随机字符串对所述用户密钥进行加密,得到第一加密信息;
将所述第一加密信息存储至所述终端设备的安全容器;
生成固定字符串,并利用所述固定字符串对所述随机字符串进行加密,得到第二加密信息;
其中,所述第一加密信息、所述第二加密信息以及所述固定字符串的存储位置均不相同。
第四方面,本公开还提供了一种电子设备,其中,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如下步骤:
获取用户密钥;
生成随机字符串,并利用所述随机字符串对所述用户密钥进行加密,得到第一加密信息;
将所述第一加密信息存储至所述终端设备的安全容器;
生成固定字符串,并利用所述固定字符串对所述随机字符串进行加密,得到第二加密信息;
其中,所述第一加密信息、所述第二加密信息以及所述固定字符串的存储位置均不相同。
本公开提供密钥保存方法,利用随机字符串对用户密钥进行加密得到第一加密信息,并且,利用固定字符串对随机字符串进行加密得到第二加密信息,进一步地,还将第一加密信息、所述第二加密信息以及所述固定字符串分别存储在不同的位置,增加攻击者盗取用户密钥的难度,提高了用户密钥的安全性。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开所提供的密钥保存方法的流程图;
图2示出了本公开所提供的密钥保存方法中获取用户密钥的流程图;
图3示出了本公开所提供的密钥保存装置的结构示意图;
图4示出了本公开所提供的电子设备的结构示意图。
具体实施方式
为了使得本公开的目的、技术方案和优点更加清楚,下面将结合本公开的附图,对本公开的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。
第一方面,为便于对本公开进行理解,首先对本公开所提供的一种密钥保存方法进行详细介绍。本公开实施例提供的密钥保存方法应用于终端设备,并且,该终端设备中设置有一个或多个应用程序,还设置有用户数据保护服务(Data Owner Ensure,DOE)模块。在一种实现方式中,在终端设备上安装应用程序的同时也可以安装DOE,并且DOE与多个应用程序均可以连接。示例性地,应用程序能够调用DOE中的接口来实现数据保护的功能。其中,DOE可以由多个文件如本地数据库、动态链接库等组成,其服务于用户的数据保护。
如图1所示,为本公开实施例提供的密钥保存方法的流程图,具体包括S101-S104。
S101,获取用户密钥。
这里,用户密钥为基于预设的加密算法计算得到的,例如SM1、SM4、DES等。用户密钥可以是对称密钥或者非对称密钥。当采用非对称密钥时,考虑到通常公钥为向外界公开的一方,私钥为用户自己保存,用于解密公钥加密的数据等,因此,本公开实施例中设置用户密钥可以为公私钥对中的私钥。利用本公开实施例提供的密钥保存方法来保证用户密钥的安全。
示例性地,图2示出了本公开实施例提供的获取用户密钥的方法流程图,包括S201和S202。
S201,获取用户标识信息。
S202,基于用户标识信息生成用户密钥。
在具体实施中,用户标识信息可以包括用户的账号、昵称、手机号码等。在一种实现方式中,用户在登录应用程序的过程中,通过终端设备的输入输出设备如键盘、触控屏幕等输入该用户标识信息,以使该终端设备获取到该用户标识信息。
在获取到用户的用户标识信息之后,终端设备可以利用预设的加密算法对用户标识信息进行计算,得到用户密钥。示例性地,可以通过DOE模块来为终端设备的用户生成用户密钥。
需要说明的是,本公开实施例中记载的是基于用户标识信息生成用户密钥,但本领域技术人员应知晓的是,还可以基于用户其他的唯一信息来生成用户密钥,本公开实施例对此不做具体限定。
S102,生成随机字符串,并利用随机字符串对用户密钥进行加密,得到第一加密信息。
在具体实施中,DOE模块生成一个随机字符串,该随机字符串可以为数字、字母、数字和字母的组合等。生成随机字符串的生成规则可以是预先设定的,例如利用数字和字母随机生成8位字符串等。
在生成随机字符串之后,利用随机字符串对用户密钥进行加密,得到第一加密信息,也即对用户密钥加密保护。随机字符串为第一加密信息的解密钥匙。
S103,将第一加密信息存储至终端设备的安全容器。
在得到第一加密信息之后,将该第一加密信息存储至当前终端设备上的一个安全容器内,以提高第一加密信息的安全性。
终端设备可以安装不同的系统平台,例如Windows平台、Android平台以及IOS Mac平台等,不同的系统平台其设置的安全容器可以不同。
在终端设备安装有Windows平台的情况下,安全容器可以为可信赖平台模块(Trusted Platform Module,TPM)安全芯片。该TPM安全芯片能够对存储在TPM安全芯片里的信息如第一加密信息等进行高可靠性的加密处理,使第一加密信息很难被非法窃取,以确保第一加密信息的安全性。
在终端设备安装有Android平台的情况下,安全容器可以为密钥库Key store。Android Key store是一个密钥库管理系统,可以在其形成的安全容器中存储加密密钥,也即第一加密信息,从而提高从终端设备中提取第一加密信息的难度,进而提高用户密钥的安全性。示例性地,在第一加密信息进入Key store后,可以将第一加密信息中的用户密钥用于加密操作,且第一加密信息仍不可导出。此外,Key store还提供了第一加密信息使用的时间和方式等限制措施,例如要求进行用户身份验证才能使用第一加密信息,或者限制为只能在某些加密模式中使用等。
在终端设备安装有IOS Mac平台的情况下,安全容器可以为密钥链Keychain,其中,Keychain Services是OSX和iOS都提供一种安全地存储敏感信息的工具,例如存储用户标识信息、密码、数字证书等。存储这些信息可以免除用户重复输入用户名和密码的过程,因此,Keychain Services的安全机制能够确保第一加密信息不易被窃取,提高了第一加密信息的安全性。
S104,生成固定字符串,并利用固定字符串对随机字符串进行加密,得到第二加密信息。
在具体实施中,为了避免攻击者盗取随机字符串以利用随机字符串对第一加密信息进行解密盗取用户密钥的情况,本公开实施例提供的密钥保存方法中,还设置生成一个固定字符串,并利用该固定字符串对随机字符串进行加密,得到第二加密信息。也即对随机字符串加保护,并且固定字符串为第二加密信息的解密钥匙。
其中,固定字符串的生成规则也为预先设定好的。固定字符串的组成规则也可以预先设定,例如固定字符串包括4个数字、3个字母和一个符号等。
需要说明的是,一个用户可以拥有多个用户密钥,对于同一个用户的多个用户密钥,其各自对应的随机密钥常常是不同的,其各自对应的固定密钥可以相同,也可以不同,本申请对此不作限定。
在具体实施中,为了防止攻击者在同一个位置盗取第一加密信息、第二加密信息以及固定字符串,本公开实施例设置第一加密信息、第二加密信息以及固定字符串的存储位置均不相同。如上述可知,第一加密信息存储在终端设备的安全容器内,将第二加密信息存储至本地数据库中,同时固定字符串则可以被固定在DOE模块的动态链接库中。
本地数据库,一般是指驻留于运行应用程序的终端设备上的数据库。本申请实施例中的本地数据库,指的是终端设备上与DOE模块对应的一个存储空间。该本地数据库可以用于存储DOE模块中的接口被应用程序调用时产生的一些数据。该本地数据库与安全容器往往处于终端设备中不同的存储空间。
可选地,本公开实施例中的动态链接库中包括了多个接口,每个接口可以用来实现不同的功能,当然,可以设置其中一个接口实现利用固定字符串加密随机字符串的功能。
在其中一实施例中,固定字符串被固定在第一接口中。第一接口可以是动态链接库中的某一个接口。也就是,固定字符串是以固定形式融合在第一接口中,相当于“写死”在接口程序中,难以再被改变。该种形式可以确保固定字符串不会被轻易篡改,提高安全性。
本申请对于实现本申请实施例中的方法所采用的实现语言不作限定,例如还可以用java、oc等其他语言来实现。在安卓程序中,使用c语言来实现的安全性相对较高。在安卓程序开发中开发者使用java或kotlin语言开发程序,都可使用反编译工具(Apktool、dex2jar、jd-gui等)对程序进行反编译,安卓程序反编译后就可能从反编译后的代码中找到到固定字符串,从而进行解密。使用C语言实现安全性相对较高的原因是,C语言实现的程序动态译成机器码CPU直接执行的指令,打包成so动态库提供给应用程序,使用so动态库进行反编译获取到固定字符串的难度很大。
对于不同系统的终端设备,其可以采用不同的安全容器来存储用户的密钥。然而,直接将用户密钥存储在这些安全容器中,仍然存在安全风险。例如,2019年11月14日,网络安全研究人员公布了两个潜在的严重CPU漏洞,如果处理不好,攻击者可能会利用它们夺取意法半导体制造(或基于英特尔固件)TPM芯片中的密钥。又例如,IOS Mac使用keyChain保存用户密钥,经证实iPhone被越狱后,已有技术手段可以获取keyChain中的内容。还例如,安卓Keystore一直被认为是安全的,因为攻击者难以访问存储在其中的密钥信息。但是,攻击者实际上可能并不需要密钥内容。Keystore API可用于检索密钥引用,然后使用密钥引用初始化密码对象,再使用它们对应用程序进行解密、加密、签名等。也就是说,攻击者虽然获取不到用户密钥的具体内容,却可以使用这些用户密钥来处理数据,这对用户来说也是很大的安全问题。
本公开实施例提供密钥保存方法,利用随机字符串对用户密钥进行加密得到第一加密信息,并且,利用固定字符串对随机字符串进行加密得到第二加密信息,进一步地,还将第一加密信息、第二加密信息以及固定字符串分别存储在不同的安全容器中,增加攻击者盗取用户密钥的难度,提高了用户密钥的安全性。即便用户攻击者攻破了安全容器,拿到了用户密钥密文,也就是第一加密信息,其还需要找到对应的随机密钥。然而,即便其找到了对应的随机密钥,也仅能获取随机密钥的密文,也就是第二加密信息,还需要知道解密该密文的固定字符串的位置以及内容。即便其找到了可能存在固定字符串的动态链接库,其也需要破解动态链接库,才能找到接口中定义的固定字符串。这每一步都大大增加了攻击者破解得到用户密钥的难度和成本。对于检索密钥引用来进行攻击的方式而言,攻击者虽然仍然可以尝试使用用户密钥引用来调用安全容器中的用户密钥对数据进行处理,但由于安全容器中仅有用户密钥的密文,没有用户密钥的明文,实际上也难以利用用户密钥来完成数据处理。
基于同一发明构思,本公开的第二方面还提供了一种与密钥保存方法对应的密钥保存装置,由于本公开中的装置解决问题的原理与本公开上述密钥保存方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参见图3所示,密钥保存装置包括:
第一加密模块301,其配置为获取用户密钥;生成随机字符串,并利用所述随机字符串对所述用户密钥进行加密,得到第一加密信息;
存储模块302,其配置为将所述第一加密信息存储至所述终端设备的安全容器;
第二加密模块303,其配置为生成固定字符串,并利用所述固定字符串对所述随机字符串进行加密,得到第二加密信息;
其中,所述第一加密信息、所述第二加密信息以及所述固定字符串的存储位置均不相同。
在又一实施例中,所述第二加密模块,其还配置为:
将所述第二加密信息存储至本地数据库中;
所述固定字符串被固定在动态链接库中。
在又一实施例中,在所述终端设备安装有Windows平台的情况下,所述安全容器为可信赖平台模块安全芯片;在所述终端设备安装有Android平台的情况下,所述安全容器为Key store;在所述终端设备安装有IOS Mac平台的情况下,所述安全容器为Keychain。
在又一实施例中,所述获取模块具体配置为:
获取用户标识信息;
基于所述用户标识信息生成所述用户密钥。
本公开实施例利用随机字符串对用户密钥进行加密得到第一加密信息,并且,利用固定字符串对随机字符串进行加密得到第二加密信息,进一步地,还将第一加密信息、所述第二加密信息以及所述固定字符串分别存储在不同的位置,增加攻击者盗取用户密钥的难度,提高了用户密钥的安全性。
本公开的第三方面还提供了一种存储介质,该存储介质为计算机可读介质,存储有计算机程序,该计算机程序被处理器执行时实现本公开任意实施例提供的方法,包括如下步骤:
S11,获取用户密钥;
S12,生成随机字符串,并利用所述随机字符串对所述用户密钥进行加密,得到第一加密信息;
S13,将所述第一加密信息存储至所述终端设备的安全容器;
S14,生成固定字符串,并利用所述固定字符串对所述随机字符串进行加密,得到第二加密信息;
其中,所述第一加密信息、所述第二加密信息以及所述固定字符串的存储位置均不相同。
计算机程序被处理器密钥保存方法时,还具体被处理器执行如下步骤:将所述第二加密信息存储至本地数据库中,所述固定字符串被固定在动态链接库中。
计算机程序被处理器执行获取用户密钥时,具体被处理器执行如下步骤:获取用户标识信息;基于所述用户标识信息生成所述用户密钥。
本公开实施例利用随机字符串对用户密钥进行加密得到第一加密信息,并且,利用固定字符串对随机字符串进行加密得到第二加密信息,进一步地,还将第一加密信息、所述第二加密信息以及所述固定字符串分别存储在不同的位置,增加攻击者盗取用户密钥的难度,提高了用户密钥的安全性。
需要说明的是,本公开上述的存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何存储介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
本公开的第四方面还提供了一种电子设备,如图4所示,该电子设备至少包括存储器401和处理器402,存储器401上存储有计算机程序,处理器402在执行存储器401上的计算机程序时实现本公开任意实施例提供的方法。示例性的,电子设备计算机程序执行的方法如下:
S21,获取用户密钥;
S22,生成随机字符串,并利用所述随机字符串对所述用户密钥进行加密,得到第一加密信息;
S23,将所述第一加密信息存储至所述终端设备的安全容器;
S24,生成固定字符串,并利用所述固定字符串对所述随机字符串进行加密,得到第二加密信息;
其中,所述第一加密信息、所述第二加密信息以及所述固定字符串的存储位置均不相同。
处理器在执行存储器上存储的密钥保存时,还执行如下计算机程序:将所述第二加密信息存储至本地数据库中,所述固定字符串被固定在动态链接库中。
处理器在执行存储器上存储的获取用户密钥时,还执行如下计算机程序:获取用户标识信息;基于所述用户标识信息生成所述用户密钥。
本公开实施例利用随机字符串对用户密钥进行加密得到第一加密信息,并且,利用固定字符串对随机字符串进行加密得到第二加密信息,进一步地,还将第一加密信息、所述第二加密信息以及所述固定字符串分别存储在不同的位置,增加攻击者盗取用户密钥的难度,提高了用户密钥的安全性。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本邻域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
以上对本公开多个实施例进行了详细说明,但本公开不限于这些具体的实施例,本邻域技术人员在本公开构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本公开所要求保护的范围之内。

Claims (10)

1.一种密钥保存方法,其特征在于,应用于终端设备,所述密钥保存方法包括:
获取用户密钥;
生成随机字符串,并利用所述随机字符串对所述用户密钥进行加密,得到第一加密信息;
将所述第一加密信息存储至所述终端设备的安全容器;
生成固定字符串,并利用所述固定字符串对所述随机字符串进行加密,得到第二加密信息;
其中,所述第一加密信息、所述第二加密信息以及所述固定字符串的存储位置均不相同。
2.根据权利要求1所述的密钥保存方法,其特征在于,还包括:
将所述第二加密信息存储至本地数据库中,
所述固定字符串被固定在动态链接库中。
3.根据权利要求1所述的密钥保存方法,其特征在于,在所述终端设备安装有Windows平台的情况下,所述安全容器为可信赖平台模块安全芯片;在所述终端设备安装有Android平台的情况下,所述安全容器为Key store;在所述终端设备安装有IOS Mac平台的情况下,所述安全容器为Keychain。
4.根据权利要求1所述的密钥保存方法,其特征在于,所述获取用户密钥,包括:
获取用户标识信息;
基于所述用户标识信息生成所述用户密钥。
5.一种密钥保存装置,其特征在于,包括:
第一加密模块,其配置为获取用户密钥;生成随机字符串,并利用所述随机字符串对所述用户密钥进行加密,得到第一加密信息;
存储模块,其配置为将所述第一加密信息存储至所述终端设备的安全容器;
第二加密模块,其配置为生成固定字符串,并利用所述固定字符串对所述随机字符串进行加密,得到第二加密信息;
其中,所述第一加密信息、所述第二加密信息以及所述固定字符串的存储位置均不相同。
6.根据权利要求5所述的密钥保存装置,其特征在于,所述第二加密模块,其还配置为:
将所述第二加密信息存储至本地数据库中;
所述固定字符串被固定在动态链接库中。
7.根据权利要求5所述的密钥保存装置,其特征在于,在所述终端设备安装有Windows平台的情况下,所述安全容器为可信赖平台模块安全芯片;在所述终端设备安装有Android平台的情况下,所述安全容器为Key store;在所述终端设备安装有IOS Mac平台的情况下,所述安全容器为Keychain。
8.根据权利要求5所述的密钥保存装置,其特征在于,所述获取模块具体配置为:
获取用户标识信息;
基于所述用户标识信息生成所述用户密钥。
9.一种存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如下步骤:
获取用户密钥;
生成随机字符串,并利用所述随机字符串对所述用户密钥进行加密,得到第一加密信息;
将所述第一加密信息存储至所述终端设备的安全容器;
生成固定字符串,并利用所述固定字符串对所述随机字符串进行加密,得到第二加密信息;
其中,所述第一加密信息、所述第二加密信息以及所述固定字符串的存储位置均不相同。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如下步骤:
获取用户密钥;
生成随机字符串,并利用所述随机字符串对所述用户密钥进行加密,得到第一加密信息;
将所述第一加密信息存储至所述终端设备的安全容器;
生成固定字符串,并利用所述固定字符串对所述随机字符串进行加密,得到第二加密信息;
其中,所述第一加密信息、所述第二加密信息以及所述固定字符串的存储位置均不相同。
CN202110279624.1A 2021-03-16 2021-03-16 一种密钥保存方法、装置、存储介质及电子设备 Active CN112906034B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110279624.1A CN112906034B (zh) 2021-03-16 2021-03-16 一种密钥保存方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110279624.1A CN112906034B (zh) 2021-03-16 2021-03-16 一种密钥保存方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN112906034A true CN112906034A (zh) 2021-06-04
CN112906034B CN112906034B (zh) 2022-04-05

Family

ID=76105234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110279624.1A Active CN112906034B (zh) 2021-03-16 2021-03-16 一种密钥保存方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN112906034B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104868996A (zh) * 2014-02-25 2015-08-26 中兴通讯股份有限公司 一种数据加密解密方法、装置以及终端
US20170264435A1 (en) * 2014-12-02 2017-09-14 Alibaba Group Holding Limited Encrypting/decrypting data on mobile terminal
CN108282330A (zh) * 2017-12-29 2018-07-13 平安科技(深圳)有限公司 密钥保存和获取装置、方法及计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104868996A (zh) * 2014-02-25 2015-08-26 中兴通讯股份有限公司 一种数据加密解密方法、装置以及终端
US20170264435A1 (en) * 2014-12-02 2017-09-14 Alibaba Group Holding Limited Encrypting/decrypting data on mobile terminal
CN108282330A (zh) * 2017-12-29 2018-07-13 平安科技(深圳)有限公司 密钥保存和获取装置、方法及计算机可读存储介质

Also Published As

Publication number Publication date
CN112906034B (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
CN110519309B (zh) 数据传输方法、装置、终端、服务器及存储介质
US8904195B1 (en) Methods and systems for secure communications between client applications and secure elements in mobile devices
CN112469036B (zh) 一种消息加解密方法、装置、移动终端和存储介质
US20230325516A1 (en) Method for file encryption, terminal, electronic device and computer-readable storage medium
KR20170091609A (ko) 모바일 단말 상의 데이터를 암호화/복호화하는 방법 및 장치
CN110855433B (zh) 基于加密算法的数据加密方法、装置及计算机设备
US10635826B2 (en) System and method for securing data in a storage medium
KR101358375B1 (ko) 스미싱 방지를 위한 문자메시지 보안 시스템 및 방법
CN114915504A (zh) 安全芯片初始认证方法及系统
CN108449322A (zh) 身份注册、认证方法、系统及相关设备
CN111008400A (zh) 数据处理方法、装置及系统
CN104751028A (zh) 应用程序加密、解密的方法及装置
WO2013016736A2 (en) Product authentication based upon a hyperelliptic curve equation and a curve pairing function
CN112199730A (zh) 一种终端上应用数据的处理方法、装置及电子设备
CN112613033A (zh) 一种可执行文件安全调用的方法及装置
CN109784072B (zh) 一种安全文件管理方法和系统
CN112906034B (zh) 一种密钥保存方法、装置、存储介质及电子设备
CN110855429A (zh) 一种基于tpm的软件密钥保护方法
US20230327855A1 (en) System and method for protecting secret data items using multiple tiers of encryption and secure element
Jabbar et al. Design and Implementation of Hybrid EC-RSA Security Algorithm Based on TPA for Cloud Storage
CN111831978A (zh) 一种对配置文件进行保护的方法及装置
EP3337083A1 (en) Method for secure management of secrets in a hierarchical multi-tenant environment
CN113904850A (zh) 基于区块链私钥keystore安全登录方法、生成方法、系统及电子设备
CN113938878A (zh) 一种设备标识符防伪造方法、装置和电子设备
CN117063439A (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder