[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN109088729B - 一种密钥存储方法及装置 - Google Patents

一种密钥存储方法及装置 Download PDF

Info

Publication number
CN109088729B
CN109088729B CN201811142961.0A CN201811142961A CN109088729B CN 109088729 B CN109088729 B CN 109088729B CN 201811142961 A CN201811142961 A CN 201811142961A CN 109088729 B CN109088729 B CN 109088729B
Authority
CN
China
Prior art keywords
key
sub
stored
memory
target
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.)
Expired - Fee Related
Application number
CN201811142961.0A
Other languages
English (en)
Other versions
CN109088729A (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 Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software 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 Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201811142961.0A priority Critical patent/CN109088729B/zh
Publication of CN109088729A publication Critical patent/CN109088729A/zh
Priority to PCT/CN2019/105466 priority patent/WO2020063354A1/zh
Application granted granted Critical
Publication of CN109088729B publication Critical patent/CN109088729B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

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为本申请实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高密钥存储的安全性,本申请实施例提供了一种密钥存储方法及装置,应用于客户端,客户端与第一存储器连接,并与第二存储器连接。其中,存储方法包括:
在确定与第一存储器、第二存储器均匹配之后,对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥;
从所得到的待存储子密钥中,将第一数量的待存储子密钥确定为第一份待存储子密钥,将第二数量的待存储子密钥确定为第二份待存储子密钥,将第三数量的待存储子密钥确定为第三份待存储子密钥,其中,第一数量、第二数量和第三数量均小于第一目标数量,第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥中的任意两份待存储子密钥能够得到待存储密钥;
将第一份待存储子密钥发送至第一存储器进行存储,将第二份待存储子密钥发送至第二存储器进行存储,将第三份待存储子密钥存储在客户端本地。
本申请实施例提供的技术方案中,客户端与第一存储器连接,并与第二存储器连接,在确定与第一存储器、第二存储器均匹配之后,对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥;从所得到的待存储子密钥中,将第一数量的待存储子密钥确定为第一份待存储子密钥,将第二数量的待存储子密钥确定为第二份待存储子密钥,将第三数量的待存储子密钥确定为第三份待存储子密钥;将第一份待存储子密钥发送至第一存储器进行存储,将第二份待存储子密钥发送至第二存储器进行存储,将第三份待存储子密钥存储在客户端本地。通过本申请实施例提供的技术方案,客户端将待存储密钥分成若干份待存储子密钥并将部分待存储子密钥分别存储于客户端、第一存储器和第二存储器,且客户端、第一存储器和第二存储器中任意两份待存储子密钥能够得到完整的密钥。这样,只有从客户端、第一存储器和第二存储器中任意两个获取所存储的待存储子密钥才能得到完整的密钥,即使其中任意一个丢失也不会导致完整的密钥被盗,提高了完整的密钥存储的安全性。
下面首先对本申请实施例提供的存储方法进行介绍,本申请实施例提供的密钥存储方法应用于客户端,客户端可以是安装于终端设备上的应用程序,其中,终端设备可以是手机、平板、电脑等设备。
客户端与第一存储器连接,并与第二存储器连接,即客户端与第一存储器之间可以通信连接,还可以与第二存储器之间通信连接。
一种实施方式中,客户端与第一存储器之间为直接连接,客户端与第二存储器之间也为直接连接。即客户端可以将信息直接发送至第一存储器,还可以将信息直接发送至第二存储器。
在该实施方式中,第一存储器和第二存储器均可以具有信息处理能力,一种实现方式中,第一存储器和第二存储器均配置有处理器,处理器可以进行信息处理。
另一种实施方式中,第一存储器与第二存储器之间连接,其中,连接的方式可以是通过并行总线连接。第一存储器和第二存储器中任意一个存储器与客户端直接连接,另一个存储器则通过与客户端直接连接的存储器,进而与该客户端间接连接。其中,直接连接是指客户端与存储器之间可以直接通信,间接连接是指客户端与存储器之间需要通过其他设备才能进行通信。
一种实现方式中,第一存储器与第二存储器之间连接,第一存储器与客户端直接连接,则第二存储器通过第一存储器与该客户端间接连接。也就是说,客户端可以将信息直接发送至第一存储器,而当客户端向第二存储器发送信息时,客户端将该信息发送至第一存储器,由第一存储器将该信息转发至第二存储器,这样实现客户端与第二存储器之间的通信。
另一种实现方式中,第一存储器与第二存储器之间连接,第二存储器与客户端直接连接,则第一存储器通过第二存储器与该客户端间接连接。
在该实施方式中,与客户端直接连接的存储器可以具有信息处理能力,对于具有信息处理能力的存储器,可以称为母盘。与客户端间接连接的存储器则可以不具有信息处理能力,而依靠连接的具有信息处理能力的存储器进行信息处理,对于不具有信息处理能力的存储器,可以称为子盘。子盘通过母盘与客户端通信连接,这样可以节省成本。
以图1为例,如图1所示的针对硬件钱包的应用场景,图1中100为第一存储器,200为第二存储器,300为安装有客户端的终端设备。硬件钱包包括第一存储器和第二存储器,客户端为硬件钱包对应的应用程序,即图1中名称为“硬件钱包”的客户端。其中,第一存储器与第二存储器之间通过并行总线连接,即第一存储器与第二存储器之间可以进行通信。终端设备与第一存储器之间直接连接,第一存储器配置有处理器,可以进行信息处理。即第一存储器为母盘,第二存储器为子盘。
对于硬件钱包的使用,是可以获取到硬件钱包中存储的密钥等信息,其中,至少可以包括以下三种方式:第一种方式可以是将处于连接状态的第一存储器和第二存储器采用即插即用的方式,第二种方式可以将第一存储器和第二存储器中的任一存储器与客户端配合使用,第三种方式可以将第一存储器、第二存储器和客户端三者结合使用。
本申请实施例提供的密钥存储方法包括如下步骤。
S201,在确定与第一存储器、第二存储器均匹配之后,对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥。
为了提高安全性,第一存储器和第二存储器可以设定对应关系,该对应关系是预先设定的,只有第一存储器和第二存储器在满足对应关系的情况下才能使用。这样,即使第一存储器和第二存储器中的任意一个出现丢失等意外情况时,因为不能满足对应关系而不能使用,进而可以保障存储器中所存储密钥的安全,降低了密钥被盗的可能性。
一种实现方式中,第一存储器与第二存储器之间可以设定为一一对应的关系,也就是说,每一个第一存储器与唯一的第二存储器是匹配的,第一存储器与匹配的第二存储器才能使用。
例如,第一存储器C11与第二存储器C12是相匹配的,且第一存储器C11与第二存储器C12是一一对应的关系。那么,第一存储器C11只能与第二存储器C12配合才能使用,获取到第一存储器C11中存储的信息以及第二存储器C12中存储的信息。而第一存储器C11与第二存储器C22、C32等其他的第二存储器是不匹配的,即使相连接也不能使用的。
另外,在使用客户端的情况下,除了第一存储器与第二存储器匹配以外,第一存储器、第二存储器还要与客户端进行匹配,也就是说,客户端、第一存储器和第二存储器三者匹配的情况下才能使用。其中,第一存储器、第二存储器与客户端的匹配可以至少包括以下两种情况。
第一种情况,第一存储器、第二存储器与客户端所安装的终端设备进行匹配,在匹配的对应关系中,第一存储器、第二存储器与客户端的对应关系,即为第一存储器、第二存储器与终端设备的对应关系。
例如,预设的对应关系中,第一存储器、第二存储器与安装客户端的终端设备a是相匹配的,则第一存储器、第二存储器只有与该终端设备a建立连接才能与该终端设备a上安装的客户端进行使用。
第二种情况,客户端是以用户认证登录的方式使用。第一存储器、第二存储器与客户端的对应关系,即为第一存储器、第二存储器与登录该客户端的用户的对应关系。在这种情况下,只要是同一用户,即使用不同的客户端登录,也可以与对应的第一存储器、第二存储器相匹配并进行使用。
例如,第一存储器、第二存储器和用户a是对应关系,则当用户a登录客户端1时,此时该客户端1可以与第一存储器、第二存储器匹配。当用户a登录客户端2时,此时该客户端2可以与第一存储器、第二存储器匹配。
第一存储器、第二存储器与客户端的匹配情况并不仅限于以上两种,还可以包括其他的情况,在此不做限定。
在客户端与第一存储器、第二存储器均匹配之后,客户端可以对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥。
待存储密钥即为所需存储的密钥。第一目标数量可以是自定义设定的,比如,第一目标数量为3,则将待存储密钥进行分解处理之后,可以得到3个待存储子密钥。
对待存储密钥进行分解处理的规则可以是自定义设定的。一种实现方式中,可以按照待存储密钥的密钥长度对待存储密钥进行平均分解,即分解处理之后所得到的每一个待存储子密钥的密钥长度是相同的。例如,待存储密钥的密钥长度为90比特,第一目标数量为3,则将该90比特的待存储密钥进行平均分解处理,可以得到3个待存储子密钥,每一个待存储子密钥的密钥长度30比特。
另一种实现方式中,还可以对待存储密钥进行随机分解,即所得到的每一个待存储子密钥的密钥长度可能不相同。例如,待存储密钥的密钥长度为68比特,第一目标数量为3,则对该68比特的待存储密钥进行随机分解处理,可以得到子密钥1、子密钥2和子密钥3,其中,子密钥1的密钥长度为10比特,子密钥2的密钥长度为20比特,子密钥3的密钥长度为38比特。
对待存储密钥进行分解处理的规则并不仅限于以上两种实现方式,在此不做限定。
S202,从所得到的待存储子密钥中,将第一数量的待存储子密钥确定为第一份待存储子密钥,将第二数量的待存储子密钥确定为第二份待存储子密钥,将第三数量的待存储子密钥确定为第三份待存储子密钥。
其中,第一数量、第二数量和第三数量均小于第一目标数量,第一数量、第二数量和第三数量均可以是自定义设定的。对于第一数量、第二数量和第三数量的设定,至少可以包括以下三种情况。
第一种情况,第一数量、第二数量和第三数量三者可以均相同,例如,在第一目标数量为3时,第一数量、第二数量和第三数量均为2。
第二种情况,在第一数量、第二数量和第三数量中可以只有其中任意两者相同,例如,在第一目标数量为4时,第一数量为3,第二数量和第三数量均为2。
第三种情况,第一数量、第二数量和第三数量三者可以均不相同,例如,在第一目标数量为5时,第一数量为2,第二数量为3,第三数量为4。
其中,第一数量的待存储子密钥、第二数量的待存储子密钥以及第三数量的待存储子密钥均为所得到的待存储子密钥中的一部分待存储子密钥。
所确定出的第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥中,每两者之间可以包含不同的待存储子密钥,还可以包含相同的待存储子密钥。
例如,所得到的待存储子密钥包括子密钥1、子密钥2、子密钥3和子密钥4,其中,将子密钥1、子密钥2和子密钥3确定为第一份待存储子密钥,将子密钥2、子密钥3和子密钥4确定为第二份待存储子密钥,将子密钥1、子密钥2和子密钥4确定为第三份待存储子密钥。则其中,第一份待存储子密钥与第二份待存储子密钥均包含有子密钥2和子密钥3,第一份待存储子密钥包含的子密钥1与第二份待存储子密钥包含的子密钥4是不相同的。
其中,第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥中的任意两份待存储子密钥能够得到待存储密钥。
例如,所得到的待存储子密钥包括子密钥1、子密钥2、子密钥3和子密钥4,其中,将子密钥1、子密钥2和子密钥3确定为第一份待存储子密钥,将子密钥2、子密钥3和子密钥4确定为第二份待存储子密钥,将子密钥3、子密钥4和子密钥1确定为第三份待存储子密钥,将子密钥4、子密钥1和子密钥2确定为第四份待存储子密钥。则由第一份待存储子密钥和第二份待存储子密钥可以得到所得到的待存储子密钥,即可以得到待存储密钥,或者,由第二份待存储子密钥和第三份待存储子密钥也可以得到待存储密钥,等等任意两份待存储子密钥能够得到待存储密钥。
一种实施方式中,第一目标数量为三,第一数量、第二数量和第三数量均为二。也就是说,对待存储密钥进行分解处理,可以得到三个待存储子密钥;从这三个待存储子密钥中,可以将其中两个待存储子密钥确定为第一份待存储子密钥,将其中两个待存储子密钥确定为第二份待存储子密钥,将其中两个待存储子密钥确定为第三份待存储子密钥。其中,第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥中的任意两份待存储子密钥能够得到待存储密钥
例如,所得到的待存储子密钥包括子密钥1、子密钥2和子密钥3,其中,将子密钥1和子密钥2确定为第一份待存储子密钥,将子密钥2和子密钥3确定为第二份待存储子密钥,将子密钥1和子密钥3确定为第三份待存储子密钥。则由第一份待存储子密钥和第二份待存储子密钥可以得到所得到的待存储子密钥,即可以得到待存储密钥,或者,由第二份待存储子密钥和第三份待存储子密钥也可以得到待存储密钥,或者,由第一份待存储子密钥和第三份待存储子密钥也可以得到待存储密钥。
S203,将第一份待存储子密钥发送至第一存储器进行存储,将第二份待存储子密钥发送至第二存储器进行存储,将第三份待存储子密钥存储在客户端本地。
当客户端与第一存储器、第二存储器均直接连接时,客户端可以将第二份待存储子密钥直接发送至第一存储器,由第一存储器存储第二份待存储子密钥。客户端可以将第三份待存储子密钥直接发送至第二存储器,由第二存储器存储第三份待存储子密钥。
当客户端与第一存储器直接连接,而与第二存储器间接连接时,即第二存储器通过第一存储器与客户端连接。则客户端可以将第一份待存储子密钥直接发送至第一存储器进行存储。对于第二份待存储子密钥的存储,客户端可以将第二份待存储子密钥发送至第一存储器,由第一存储器再将该第二份待存储子密钥转发至第二存储器进行存储。
当客户端与第二存储器直接连接,而与第一存储器间接连接时,即第一存储器通过第二存储器与客户端连接。则客户端可以将第二份待存储子密钥直接发送至第二存储器进行存储。对于第一份待存储子密钥的存储,客户端可以将第一份待存储子密钥发送至第二存储器,由第二存储器再将该第一份待存储子密钥转发至第一存储器进行存储。
为了进一步地提高密钥存储的安全性,可以对所得到的待存储子密钥进行加密处理。一种实施方式中,所述将第一份待存储子密钥发送至第一存储器进行存储,将第二份待存储子密钥发送至第二存储器进行存储,将第三份待存储子密钥存储在客户端本地(步骤S203),可以包括如下步骤。
在确定出第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥之后,可以利用预设加密算法分别对第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥进行加密处理。
其中,预设加密算法可以是自定义设定的,例如,预设加密算法可以是AES(Advanced Encryption Standard,高级加密标准)加密算法、RSA加密算法、DES(DataEncryption Standard,数据加密标准)加密算法等加密算法中的任一种。本申请实施例中的预设加密算法不仅限于以上三种加密算法,还可以包括其他的加密算法,在此不做限定。
获取预设加密算法的目标密钥。一种实现方式中,目标密钥是预先设定的、针对预设加密算法的密钥,客户端可以从本地获取预设的目标密钥。目标密钥为利用预设加密算法加密后对应的解密密钥。目标密钥可以对加密处理后的第一份待存储子密钥进行解密处理,可以对加密处理后的第二份待存储子密钥进行解密处理,还可以加密处理后的第三份待存储子密钥进行解密处理。
在得到目标密钥后,将加密处理后的第一份待存储子密钥和目标密钥发送至所述第一存储器进行存储,将加密处理后的第二份待存储子密钥和目标密钥发送至第二存储器进行存储,将加密处理后的第三份待存储子密钥和目标密钥存储在客户端本地。
一种实施方式中,所述对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥(步骤S101),可以包括如下步骤。
利用预设加密算法对待存储密钥进行加密处理,得到加密处理后的待存储密钥;对加密处理后的待存储密钥进行分解处理,得到第一目标数量的待存储子密钥。
其中,对加密处理后的待存储密钥进行分解处理可以通过门限算法进行分割处理,还可以通过其他的分解方式,在此不做限定。
所述将第一份待存储子密钥发送至第一存储器进行存储,将第二份待存储子密钥发送至第二存储器进行存储,将第三份待存储子密钥存储在客户端本地(步骤S103),包括:
获取预设加密算法的目标密钥,将第一份待存储子密钥和目标密钥发送至第一存储器进行存储;将第二份待存储子密钥和目标密钥发送至第二存储器进行存储;将第三份待存储子密钥和目标密钥存储于本地。
为了提高针对目标密钥存储的安全性,一种实施方式中,所述将第一份待存储子密钥发送至第一存储器进行存储,将第二份待存储子密钥发送至第二存储器进行存储,将第三份待存储子密钥存储在客户端本地(步骤S203),可以包括如下步骤。
利用预设加密算法分别对第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥进行加密处理;获取预设加密算法的目标密钥,并可以对目标密钥进行分解处理,得到第二目标数量的目标子密钥。
其中,第二目标数量可以是自定义设定的,比如,第二目标数量为3,则将目标密钥进行分解处理之后,可以得到3个目标子密钥。
对目标密钥进行分解处理的规则可以是自定义设定的。一种实现方式中,可以按照目标密钥的密钥长度对目标密钥进行平均分解,即分解处理之后所得到的每一个目标子密钥的密钥长度是相同的。例如,目标密钥的密钥长度为60比特,第一目标数量为3,则将该60比特的目标密钥进行平均分解处理,可以得到3个目标子密钥,每一个目标子密钥的密钥长度20比特。
另一种实现方式中,还可以对目标密钥进行随机分解,即所得到的每一个目标子密钥的密钥长度可能不相同。例如,目标密钥的密钥长度为128比特,第一目标数量为3,则对该128比特的目标密钥进行随机分解处理,可以得到目标子密钥1、目标子密钥2和目标子密钥3,其中,目标子密钥1的密钥长度为30比特,目标子密钥2的密钥长度为40比特,目标子密钥3的密钥长度为58比特。
对目标密钥进行分解处理的规则并不仅限于以上两种实现方式,在此不做限定。
在得到第二目标数量的目标子密钥之后,可以从所得到的目标子密钥中,将第四数量的目标子密钥确定为第一份目标子密钥,将第五数量的目标子密钥确定为第二份目标子密钥,将第六数量的目标子密钥确定为第三份目标子密钥。
其中,第四数量、第五数量和第六数量均小于第二目标数量,第四数量、第五数量和第六数量均可以是自定义设定的。第四数量、第五数量和第六数量三者可以均相同,例如,在第二目标数量为3时,第四数量、第五数量和第六数量均为2;还可以只有其中任意两者相同,例如,在第二目标数量为4时,第四数量为3,第五数量和第六数量均为2;还可以均不相同,例如,在第二目标数量为5时,第四数量为2,第五数量为3,第六数量为4。
其中,第四数量的目标子密钥、第五数量的目标子密钥以及第六数量的目标子密钥均为所得到的目标子密钥中的一部分目标子密钥。
所确定出的第一份目标子密钥、第二份目标子密钥和第三份目标子密钥中,每两者之间可以包含不同的目标子密钥,还可以包含相同的目标子密钥。
例如,所得到的目标子密钥包括目标子密钥1、目标子密钥2、目标子密钥3和目标子密钥4,其中,将目标子密钥1、目标子密钥2和目标子密钥3确定为第一份目标子密钥,将目标子密钥2、目标子密钥3和目标子密钥4确定为第二份目标子密钥,将目标子密钥1、目标子密钥2和目标子密钥4确定为第三份目标子密钥。则其中,第一份目标子密钥与第二份目标子密钥均包含有目标子密钥2和目标子密钥3,第一份目标子密钥包含的目标子密钥1与第二份目标子密钥包含的目标子密钥4是不相同的。
其中,第一份目标子密钥、第二份目标子密钥和第三份目标子密钥中的任意两份目标子密钥能够得到目标密钥。
例如,所得到的目标子密钥包括目标子密钥1、目标子密钥2、目标子密钥3和目标子密钥4,其中,将目标子密钥1、目标子密钥2和目标子密钥3确定为第一份目标子密钥,将目标子密钥2、目标子密钥3和目标子密钥4确定为第二份目标子密钥,将目标子密钥3、目标子密钥4和目标子密钥1确定为第三份目标子密钥,将目标子密钥4、目标子密钥1和目标子密钥2确定为第四份目标子密钥。则由第一份目标子密钥和第二份目标子密钥可以得到所得到的目标子密钥,即可以得到目标密钥,或者,由第二份目标子密钥和第三份目标子密钥也可以得到目标密钥,等等任意两份目标子密钥能够得到目标密钥。
将加密处理后的第一份子密钥和第一份目标子密钥发送至第一存储器进行存储,将加密处理后的第二份子密钥和第二份目标子密钥发送至第二存储器进行存储,将加密处理后的第三份子密钥和第三份目标子密钥存储在客户端本地。
当客户端与第一存储器、第二存储器均直接连接时,客户端可以将加密处理后的第一份子密钥和第一份目标子密钥直接发送至第一存储器进行存储。客户端可以将加密处理后的第二份子密钥和第二份目标子密钥直接发送至第二存储器进行存储。
当客户端与第一存储器直接连接,而与第二存储器间接连接时,即第二存储器通过第一存储器与客户端连接。则客户端可以将加密处理后的第一份子密钥和第一份目标子密钥直接发送至第一存储器进行存储。对于加密处理后的第二份子密钥和第二份目标子密钥的存储,客户端可以将加密处理后的第二份子密钥和第二份目标子密钥发送至第一存储器,由第一存储器再将所接收到的加密处理后的第二份子密钥和第二份目标子密钥转发至第二存储器进行存储。
当客户端与第二存储器直接连接,而与第一存储器间接连接时,即第一存储器通过第二存储器与客户端连接。则客户端可以将加密处理后的第二份子密钥和第二份目标子密钥直接发送至第二存储器进行存储。对于加密处理后的第一份子密钥和第一份目标子密钥的存储,客户端可以将加密处理后的第一份子密钥和第一份目标子密钥发送至第二存储器,由第二存储器再将所接收到的加密处理后的第一份子密钥和第一份目标子密钥转发至第一存储器进行存储。
基于上述实施方式,一种实施方式中,第二目标数量为三,第四数量、第五数量和第六数量均为二。
即在得到预设加密算法对应的目标密钥后,对目标密钥进行分解处理,得到三个目标子密钥;从所得到的三个目标子密钥中,将两个目标子密钥确定为第一份目标子密钥,将两个目标子密钥确定为第二份目标子密钥,将两个目标子密钥确定为第三份目标子密钥,其中,第一份目标子密钥、第二份目标子密钥和第三份目标子密钥中的任意两份目标子密钥能够得到目标密钥。
例如,对目标密钥进行分解处理,得到三个目标子密钥包括目标子密钥1、目标子密钥2和目标子密钥3,其中,将目标子密钥1和目标子密钥2确定为第一份目标子密钥,将目标子密钥2和目标子密钥3确定为第二份目标子密钥,将目标子密钥3和目标子密钥1确定为第三份目标子密钥。则由第一份目标子密钥和第二份目标子密钥可以得到目标密钥,或者,由第二份目标子密钥和第三份目标子密钥也可以得到目标密钥,由第一份目标子密钥和第三份目标子密钥可以得到目标密钥。
一种实施方式中,所述对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥(步骤S101),包括:
利用预设加密算法对待存储密钥进行加密处理,得到加密处理后的待存储密钥;对加密处理后的待存储密钥进行分解处理,得到第一目标数量的待存储子密钥。
其中,对加密处理后的待存储密钥进行分解处理可以通过门限算法进行分割处理,还可以通过其他的分解方式,在此不做限定。
所述将第一份待存储子密钥发送至第一存储器进行存储,将第二份待存储子密钥发送至第二存储器进行存储,将第三份待存储子密钥存储在客户端本地(步骤S103),包括:
获取预设加密算法的目标密钥,并对目标密钥进行分解处理,得到第二目标数量的目标子密钥,并将第二目标数量的目标子密钥中的第四数量的目标子密钥确定为第一份目标子密钥,将第二目标数量的目标子密钥中的第五数量的目标子密钥确定为第二份目标子密钥,将第二目标数量的目标子密钥中的第六数量的目标子密钥确定为第三份目标子密钥;将第一份待存储子密钥和所述第一份目标子密钥发送至第一存储器进行存储;将第二份待存储子密钥和第二份目标子密钥发送至第二存储器进行存储;将第三份待存储子密钥和第三份目标子密钥存储于本地。
其中,对目标密钥进行分解处理可以通过门限算法进行分割处理,还可以通过其他的分解方式,在此不做限定。
基于客户端与第一存储器、第二存储器均匹配的情况下,才可以进行存储,或者获取所存储的密钥等信息。客户端与第一存储器、第二存储器进行匹配的一种实施方式中,在客户端分别与第一存储器、第二存储器建立连接之后,客户端可以对第一存储器进行验证,还可以对第二存储器进行验证。
其中,对第一存储器的验证和对第二存储器的验证可以是分别进行的,既可以先对第一存储器进行验证再对第二存储器进行验证,还可以先对第二存储器进行验证再对第一存储器进行验证。本申请实施例中对第一存储器和第二存储器进行验证的顺序不做限定。
对第一存储器和第二存储器进行验证之后的验证结果可以包括以下四种情况:对第一存储器和第二存储器的验证均成功;对第一存储器的验证成功而对第二存储器的验证失败;对第二存储器的验证成功而对第一存储器的验证失败;对第一存储器和第二存储器的验证均失败。
在完成对第一存储器和第二存储器的验证之后,判断对第一存储器的验证、对第二存储器的验证是否均成功。如果对第一存储器和第二存储器的验证均成功,则可以判定客户端与第一存储器、第二存储器均匹配。
如果判断出对第一存储器的验证、对第二存储器的验证不是均成功,即出现以下三种情况中的任一种:对第一存储器的验证成功而对第二存储器的验证失败;对第二存储器的验证成功而对第一存储器的验证失败;对第一存储器和第二存储器的验证均失败。则可以判定客户端与第一存储器、第二存储器的匹配失败。
在判断出匹配失败后,则将客户端与第一存储器的连接断开,将客户端与第二存储器的连接断开。
通过该实施方式,客户端在进行存储之前,对第一存储器和第二存储器分别进行验证,只有在验证通过的情况下才可以认为客户端与第一存储器、第二存储器匹配,才能继续存储操作。通过验证过程,提高了存储的安全性。
一种实施方式中,对第一存储器进行验证,可以包括如下步骤。
将利用第一密钥进行加密处理的第一验证信息发送至第一存储器,以使得第一存储器利用本地存储的第一预设验证信息对第一验证信息进行解密处理得到第一密钥,利用第一密钥对第一存储器本地存储的第一标识进行加密处理,并将加密处理后的第一标识发送至客户端;
其中,第一验证信息是客户端预先存储在本地的验证信息。客户端对第一验证信息进行加密处理的方式可以是预设的,例如,RSA加密方式、AES加密方式、DES(DataEncryption Standard,数据加密标准)加密方式等,在此不作限定。
其中,所利用的第一密钥可以是自定义设定的。一种实现方式中,为了提高对第一验证信息加密处理后的安全性,第一密钥可以是随机密钥,即每一次对第一验证信息进行加密的第一密钥均是不相同的。采用随机密钥增加了破解的难度,提高了安全性。
其中,将第一验证信息发送至第一存储器的方式至少包括以下两种:若客户端与第一存储器直接连接,则客户端可以将第一验证信息直接发送至第一存储器;若客户端与第一存储器间接连接,则客户端可以将第一验证信息发送至第二存储器,由第二存储器将该第一验证信息转发至第一存储器。
第一存储器接收到客户端发送的经过加密处理的第一验证信息之后,可以利用本地存储的第一预设验证信息对第一验证信息进行解密处理得到第一密钥。
其中,第一预设验证信息是第一存储器预先存储在本地的验证信息,该第一预设验证信息与客户端存储的第一验证信息是对应的,一种实现方式中,第一存储器存储的第一预设验证信息与客户端存储的第一验证信息是相同的。
第一密钥与第一验证信息是相互作用的。也就是说,第一密钥可以对第一验证信息进行加密,第一验证信息可以对利用第一密钥加密处理的第一验证信息进行解密处理,进而得到该第一密钥。
基于第一预设验证信息与第一验证信息的对应关系,第一存储器可以利用第一预设验证信息对所接收到的第一验证信息进行解密处理,进而可以得到第一密钥。第一存储器所得到的第一密钥与客户端所利用的第一密钥相同。
第一存储器在得到第一密钥之后,可以利用第一密钥对第一存储器本地存储的第一标识进行加密处理,并将加密处理后的第一标识发送至客户端。
其中,第一标识是第一存储器中预先存储的,第一标识可以是固定字符串,固定字符串可以是自定义设定的。
其中,第一标识与第一存储器为对应关系。一种实施方式中,第一标识与第一存储器为一一对应关系,每一个第一存储器对应唯一的第一标识,这样便于客户端可以依据第一标识对第一存储器进行验证。
针对第一存储器是否具有信息处理能力,第一存储器利用本地存储的第一预设验证信息对第一验证信息进行解密处理得到第一密钥,利用第一密钥对第一存储器本地存储的第一标识进行加密处理,并将加密处理后的第一标识发送至客户端,可以分为以下两种情况。
第一种情况,第一存储器具有信息处理能力,则第一存储器自身可以完成解密处理、加密处理等操作。具体地,第一存储器获取本地存储的第一预设验证信息,并利用该第一预设验证信息对第一验证信息进行解密处理得到第一密钥,利用第一密钥对第一存储器本地存储的第一标识进行加密处理,并将加密处理后的第一标识发送至客户端。
第二种情况,第一存储器不具有信息处理能力,则第一存储器可以与具有信息处理能力的第二存储器进行交互,通过第二存储器完成解密处理、加密处理等操作。一种实现方式中,第一存储器将本地存储的第一预设验证信息和第一标识发送至第二存储器,第二存储器利用第一预设验证信息对进行解密处理得到第一密钥,利用第一密钥对第一标识进行加密处理,并将加密处理后的第一标识发送至第一存储器。
客户端接收第一存储器发送的加密处理后的第一标识,利用第一密钥对加密处理后的第一标识进行解密处理,得到解密后的第一标识,将该第一标识与预先存储的第一预设标识进行匹配,若匹配,则判定对第一存储器验证成功。
其中,客户端预先存储的第一预设标识与第一标识是对应关系,第一预设标识与第一标识的对应关系可以是预设的。对于客户端来说,只有接收到的第一标识与预先存储的第一预设标识满足预设的对应关系,则可以确定该第一标识与该第一预设标识匹配。
一种实现方式中,第一预设标识与第一标识为相同标识,也就是说,在匹配的客户端和第一存储器中,存储的标识是相同的。例如,客户端与第一存储器匹配,第一存储器中存储的第一标识为字符串a,则客户端中存储的第一预设标识也为字符串a。
一种实施方式中,对第二存储器进行验证,可以包括如下步骤。
将利用第二密钥进行加密处理的第二验证信息发送至第二存储器,以使得第二存储器利用本地存储的第二预设验证信息对第二验证信息进行解密处理得到第二密钥,利用第二密钥对第二存储器本地存储的第二标识进行加密处理,并将加密处理后的第二标识发送至客户端;
其中,第二验证信息是客户端预先存储在本地的验证信息。客户端对第二验证信息进行加密处理的方式可以是预设的,例如,RSA加密方式、AES加密方式、DES(DataEncryption Standard,数据加密标准)加密方式等,在此不作限定。
其中,所利用的第二密钥可以是自定义设定的。一种实现方式中,为了提高对第二验证信息加密处理后的安全性,第二密钥可以是随机密钥,即每一次对第二验证信息进行加密的第二密钥均是不相同的。采用随机密钥增加了破解的难度,提高了安全性。
其中,将第二验证信息发送至第二存储器的方式至少包括以下两种:若客户端与第二存储器直接连接,则客户端可以将第二验证信息直接发送至第二存储器;若客户端与第二存储器间接连接,则客户端可以将第二验证信息发送至第一存储器,由第一存储器将该第二验证信息转发至第二存储器。
第二存储器接收到客户端发送的经过加密处理的第二验证信息之后,可以利用本地存储的第二预设验证信息对第二验证信息进行解密处理得到第二密钥。
其中,第二预设验证信息是第二存储器预先存储在本地的验证信息,该第二预设验证信息与客户端存储的第二验证信息是对应的,一种实现方式中,第二存储器存储的第二预设验证信息与客户端存储的第二验证信息是相同的。
第二密钥与第二验证信息是相互作用的。也就是说,第二密钥可以对第二验证信息进行加密,第二验证信息可以对利用第二密钥加密处理的第二验证信息进行解密处理,进而得到该第二密钥。
基于第二预设验证信息与第二验证信息的对应关系,第二存储器可以利用第二预设验证信息对所接收到的第二验证信息进行解密处理,进而可以得到第二密钥。第二存储器所得到的第二密钥与客户端所利用的第二密钥相同。
第二存储器在得到第二密钥之后,可以利用第二密钥对第二存储器本地存储的第二标识进行加密处理,并将加密处理后的第二标识发送至客户端。
其中,第二标识是第二存储器中预先存储的,第二标识可以是固定字符串,固定字符串可以是自定义设定的。
其中,第二标识与第二存储器为对应关系。一种实施方式中,第二标识与第二存储器为一一对应关系,每一个第二存储器对应唯一的第二标识,这样便于客户端可以依据第二标识对第二存储器进行验证。
针对第二存储器是否具有信息处理能力,第二存储器利用本地存储的第二预设验证信息对第二验证信息进行解密处理得到第二密钥,利用第二密钥对第二存储器本地存储的第二标识进行加密处理,并将加密处理后的第二标识发送至客户端,可以分为以下两种情况。
第一种情况,第二存储器具有信息处理能力,则第二存储器自身可以完成解密处理、加密处理等操作。具体地,第二存储器获取本地存储的第二预设验证信息,并利用该第二预设验证信息对第二验证信息进行解密处理得到第二密钥,利用第二密钥对第二存储器本地存储的第二标识进行加密处理,并将加密处理后的第二标识发送至客户端。
第二种情况,第二存储器不具有信息处理能力,则第二存储器可以与具有信息处理能力的第一存储器进行交互,通过第一存储器完成解密处理、加密处理等操作。一种实现方式中,第二存储器将本地存储的第二预设验证信息和第二标识发送至第一存储器,第一存储器利用第二预设验证信息对进行解密处理得到第二密钥,利用第二密钥对第二标识进行加密处理,并将加密处理后的第二标识发送至第二存储器。
客户端接收第二存储器发送的加密处理后的第二标识,利用第二密钥对加密处理后的第二标识进行解密处理,得到解密后的第二标识,将该第二标识与预先存储的第二预设标识进行匹配,若匹配,则判定对第二存储器验证成功。
其中,客户端预先存储的第二预设标识与第二标识是对应关系,第二预设标识与第二标识的对应关系可以是预设的。对于客户端来说,只有接收到的第二标识与预先存储的第二预设标识满足预设的对应关系,则可以确定该第二标识与该第二预设标识匹配。
一种实现方式中,第二预设标识与第二标识为相同标识,也就是说,在匹配的客户端和第二存储器中,存储的标识是相同的。例如,客户端与第二存储器匹配,第二存储器中存储的第二标识为字符串b,则客户端中存储的第二预设标识也为字符串b。
针对于上述第一存储器的验证和第二存储器的验证,一种实施方式中,第一密钥和第二密钥可以为相同的密钥,还可以均为随机密钥。客户端存储的第一验证信息和第二验证信息为相同的验证信息,第一预设标识和第二预设标识为相同的预设标识。
相应地,在客户端、第一存储器和第二存储器三者匹配的情况下,第一存储器中存储的第一预设验证信息和第二存储器中存储的第二预设验证信息可以相同,即第一预设验证信息、第二预设验证信息、客户端存储的第一验证信息和第二验证信息四者之间存在对应关系,在四者满足该对应关系时,则对于客户端、第一存储器和第二存储器三者中的任一个来说,可以利用本地存储的验证信息对其他任一方发送的经过加密处理的验证信息进行解密处理。
一种实现方式中,在客户端、第一存储器和第二存储器三者匹配的情况下,第一预设验证信息、第二预设验证信息、第一验证信息和第二验证信息四者均相同,为同一验证信息。这种情况下,对于客户端来说,在本地只存储一个验证信息便可以对第一存储器和第二存储器进行验证,不仅节省了存储空间,而且降低了验证过程的复杂程度。
相应地,在客户端、第一存储器和第二存储器三者匹配的情况下,第一存储器中存储的第一标识和第二存储器中存储的第二标识可以相同,即第一标识、第二标识、第一预设标识和第二预设标识四者之间存在对应关系。根据该对应关系,客户端可以分别对第一存储器中的标识和第二存储器中的标识进行匹配。
一种实现方式中,在客户端、第一存储器和第二存储器三者匹配的情况下,第一标识、第二标识、第一预设标识和第二预设标识相同,为同一标识。此时,客户端仅需存储一个标识便可以对第一存储器和第二存储器进行匹配,不仅节省了存储空间,而且降低了匹配过程的复杂程度。
本申请实施例提供的技术方案中,客户端与第一存储器连接,并与第二存储器连接,在确定与第一存储器、第二存储器均匹配之后,对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥;从所得到的待存储子密钥中,将第一数量的待存储子密钥确定为第一份待存储子密钥,将第二数量的待存储子密钥确定为第二份待存储子密钥,将第三数量的待存储子密钥确定为第三份待存储子密钥;将第一份待存储子密钥发送至第一存储器进行存储,将第二份待存储子密钥发送至第二存储器进行存储,将第三份待存储子密钥存储在客户端本地。通过本申请实施例提供的技术方案,客户端将待存储密钥分成若干份待存储子密钥并将部分待存储子密钥分别存储于客户端、第一存储器和第二存储器,且客户端、第一存储器和第二存储器中任意两份待存储子密钥能够得到完整的密钥。这样,只有从客户端、第一存储器和第二存储器中任意两个获取所存储的待存储子密钥才能得到完整的密钥,即使其中任意一个丢失也不会导致完整的密钥被盗,提高了完整的密钥存储的安全性。
本申请实施例提供了一种密钥存储方法,应用于硬件钱包,硬件钱包包括第一存储器和第二存储器,其中,第一存储器配置有处理器模块、蓝牙模块、电源模块等,第一存储器可以进行信息处理。第二存储器没有配置处理器模块、蓝牙模块、电源模块等,不具有信息处理能力。第一存储器与第二存储器可以通过并行总线连接。
客户端为针对该硬件钱包的应用程序,可以安装在终端设备上。第一存储器可以通过蓝牙模块与安装有客户端的终端设备连接。客户端、第一存储器和第二存储器中均存储有相同的验证信息和固定字符串。
在终端设备与第一存储器通过蓝牙连接、且第一存储器与第二存储器通过并行总线连接之后,客户端通过随机密钥对本地存储的验证信息进行加密处理,并将加密处理过的验证信息发送至第一存储器。
第一存储器,接收到客户端发送的经过加密处理的验证信息之后,可以利用本地存储的验证信息对所接收到的验证信息进行解密处理,得到随机密钥。第一存储器利用该随机密钥对本地存储的固定字符串进行加密处理,并将加密处理后的固定字符串发送至客户端。
客户端,接收第一存储器发送的加密处理后的固定字符串,并利用随机密钥对该加密处理后的固定字符串进行解密处理,可以得到第一存储器中的固定字符串。将该固定字符串与客户端本地存储的固定字符串进行比较,若两个固定字符串匹配,则可以判定对第一存储器验证成功。
客户端,第二次向第一存储器发送加密处理过的验证信息,以对第二存储器进行验证。
第一存储器,第二次接收客户端发送的经过加密处理的验证信息之后,向第二存储器请求第二存储器中存储的验证信息和固定字符串,并利用第二存储器中存储的验证信息对所接收到的验证信息进行解密处理,得到随机密钥。利用该随机密钥对第二存储器中存储的固定字符串进行加密处理,并将加密处理后的固定字符串发送至客户端。
客户端,第二次接收第一存储器发送的加密处理后的固定字符串,并利用随机密钥对该加密处理后的固定字符串进行解密处理,可以得到第二存储器中的固定字符串。将该固定字符串与客户端本地存储的固定字符串进行比较,若两个固定字符串匹配,则可以判定对第二存储器验证成功。
在对第一存储器和第二存储器均验证成功之后,可以确定客户端与第一存储器、第二存储器均匹配。客户端可以对待存储密钥进行分解处理,得到的三个待存储子密钥为:待存储子密钥1、待存储子密钥2和待存储子密钥3。
客户端,用于从三个待存储子密钥中,将待存储子密钥1和待存储子密钥2确定为第一份待存储子密钥,将待存储子密钥2和待存储子密钥3确定为第二份待存储子密钥,将待存储子密钥1和待存储子密钥3确定为第三份待存储子密钥。
客户端,用于利用AES加密算法分别对第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥进行加密处理,并可以得到该AES加密算法对应的目标密钥。
客户端,用于对该目标密钥进行分解处理,得到三个目标子密钥:目标子密钥1、目标子密钥2和目标子密钥3,从该三个目标子密钥中,将目标子密钥1和目标子密钥2确定为第一份目标子密钥,将目标子密钥2和目标子密钥3确定为第二份目标子密钥,将目标子密钥1和目标子密钥3确定为第三份目标子密钥。
客户端,用于将加密处理后的第一份子密钥和第一份目标子密钥发送至第一存储器进行存储,将加密处理后的第二份子密钥和第二份目标子密钥发送至第二存储器进行存储,将加密处理后的第三份子密钥和第三份目标子密钥存储在客户端本地。
相应于上述密钥存储方式实施例,本申请实施例还提供一种密钥存储装置,应用于客户端,客户端与第一存储器连接,并与第二存储器连接;如图3所示,该存储装置包括:
分解模块310,用于在确定与第一存储器、第二存储器均匹配之后,对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥;
确定模块320,用于从所得到的待存储子密钥中,将第一数量的待存储子密钥确定为第一份待存储子密钥,将第二数量的待存储子密钥确定为第二份待存储子密钥,将第三数量的待存储子密钥确定为第三份待存储子密钥,其中,第一数量、第二数量和第三数量均小于第一目标数量,第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥中的任意两份待存储子密钥能够得到待存储密钥;
存储模块330,用于将第一份待存储子密钥发送至第一存储器进行存储,将第二份待存储子密钥发送至第二存储器进行存储,将第三份待存储子密钥存储在客户端本地。
一种实施方式中,分解模块310,具体用于利用预设加密算法对待存储密钥进行加密处理,得到加密处理后的待存储密钥;对加密处理后的待存储密钥进行分解处理,得到第一目标数量的待存储子密钥;
存储模块330,具体用于获取预设加密算法的目标密钥,并对目标密钥进行分解处理,得到第二目标数量的目标子密钥,并将第二目标数量的目标子密钥中的第四数量的目标子密钥确定为第一份目标子密钥,将第二目标数量的目标子密钥中的第五数量的目标子密钥确定为第二份目标子密钥,将第二目标数量的目标子密钥中的第六数量的目标子密钥确定为第三份目标子密钥;将第一份待存储子密钥和第一份目标子密钥发送至第一存储器进行存储;将第二份待存储子密钥和第二份目标子密钥发送至第二存储器进行存储;将第三份待存储子密钥和第三份目标子密钥存储于本地。
一种实施方式中,存储模块330包括:
第一加密子模块,用于利用预设加密算法分别对第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥进行加密处理;
第一获取子模块,用于获取预设加密算法的目标密钥,并对目标密钥进行分解处理,得到第二目标数量的目标子密钥;
确定子模块,用于从所得到的目标子密钥中,将第四数量的目标子密钥确定为第一份目标子密钥,将第五数量的目标子密钥确定为第二份目标子密钥,将第六数量的目标子密钥确定为第三份目标子密钥,其中,第四数量、第五数量和第六数量均小于第二目标数量,第一份目标子密钥、第二份目标子密钥和第三份目标子密钥中的任意两份目标子密钥能够得到目标密钥;
第一存储子模块,用于将加密处理后的第一份子密钥和第一份目标子密钥发送至第一存储器进行存储,将加密处理后的第二份子密钥和第二份目标子密钥发送至第二存储器进行存储,将加密处理后的第一份子密钥和第一份目标子密钥存储在客户端本地。
一种实施方式中,第二目标数量为三,第四数量、第五数量和第六数量均为二。
一种实施方式中,分解模块310,具体用于利用预设加密算法对待存储密钥进行加密处理,得到加密处理后的待存储密钥;对加密处理后的待存储密钥进行分解处理,得到第一目标数量的待存储子密钥;
存储模块330,具体用于获取预设加密算法的目标密钥,将第一份待存储子密钥和目标密钥发送至第一存储器进行存储;将第二份待存储子密钥和目标密钥发送至第二存储器进行存储;将第三份待存储子密钥和目标密钥存储于本地。
一种实施方式中,存储模块330可以包括:
第二加密子模块,用于利用预设加密算法分别对第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥进行加密处理;
第二获取子模块,用于获取预设加密算法的目标密钥;
第二存储子模块,用于将加密处理后的第一份待存储子密钥和目标密钥发送至第一存储器进行存储,将加密处理后的第二份待存储子密钥和目标密钥发送至第二存储器进行存储,将加密处理后的第三份待存储子密钥和目标密钥存储在客户端本地。
一种实施方式中,该装置还可以包括:
验证模块,用于在客户端分别与第一存储器、第二存储器建立连接之后,对第一存储器进行验证,对第二存储器进行验证;
判断模块,用于判断对第一存储器的验证、对第二存储器的验证是否均成功;当判断模块的判断结果为是时,判定与第一存储器、第二存储器均匹配;
断开模块,用于当判断模块的判断结果为否时,将客户端与第一存储器的连接断开,将客户端与第二存储器的连接断开。
一种实施方式中,验证模块具体用于:
将利用第一密钥进行加密处理的第一验证信息发送至第一存储器,以使得第一存储器利用本地存储的第一预设验证信息对第一验证信息进行解密处理得到第一密钥,利用第一密钥对第一存储器本地存储的第一标识进行加密处理,并将加密处理后的第一标识发送至客户端;
接收第一存储器发送的加密处理后的第一标识,利用第一密钥对加密处理后的第一标识进行解密处理,得到解密后的第一标识,将该第一标识与预先存储的第一预设标识进行匹配,若匹配,则判定对第一存储器验证成功。
一种实施方式中,验证模块具体用于:
将利用第二密钥进行加密处理的第二验证信息发送至第二存储器,以使得第二存储器利用本地存储的第二预设验证信息对第二验证信息进行解密处理得到第二密钥,利用第二密钥对第二存储器本地存储的第二标识进行加密处理,并将加密处理后的第二标识发送至客户端;
接收第二存储器发送的加密处理后的第二标识,利用第二密钥对加密处理后的第二标识进行解密处理,得到解密后的第二标识,将该第二标识与预先存储的第二预设标识进行匹配,若匹配,则判定对第二存储器验证成功。
一种实施方式中,第一目标数量为三,第一数量、第二数量和第三数量均为二。
一种实施方式中,第一存储器与第二存储器连接,客户端通过第一存储器与第二存储器连接。
本申请实施例提供的技术方案中,客户端与第一存储器连接,并与第二存储器连接,在确定与第一存储器、第二存储器均匹配之后,对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥;从所得到的待存储子密钥中,将第一数量的待存储子密钥确定为第一份待存储子密钥,将第二数量的待存储子密钥确定为第二份待存储子密钥,将第三数量的待存储子密钥确定为第三份待存储子密钥;将第一份待存储子密钥发送至第一存储器进行存储,将第二份待存储子密钥发送至第二存储器进行存储,将第三份待存储子密钥存储在客户端本地。通过本申请实施例提供的技术方案,客户端将待存储密钥分成若干份待存储子密钥并将部分待存储子密钥分别存储于客户端、第一存储器和第二存储器,且客户端、第一存储器和第二存储器中任意两份待存储子密钥能够得到完整的密钥。这样,只有从客户端、第一存储器和第二存储器中任意两个获取所存储的待存储子密钥才能得到完整的密钥,即使其中任意一个丢失也不会导致完整的密钥被盗,提高了完整的密钥存储的安全性。
本申请实施例还提供了一种电子设备,如图4所示,包括处理器410、通信接口420、存储器430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信;
存储器430,用于存放计算机程序;
处理器410,用于执行存储器430上所存放的程序时,实现如下步骤:
在确定与第一存储器、第二存储器均匹配之后,对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥;
从所得到的待存储子密钥中,将第一数量的待存储子密钥确定为第一份待存储子密钥,将第二数量的待存储子密钥确定为第二份待存储子密钥,将第三数量的待存储子密钥确定为第三份待存储子密钥,其中,第一数量、第二数量和第三数量均小于第一目标数量,第一份待存储子密钥、第二份待存储子密钥和第三份待存储子密钥中的任意两份待存储子密钥能够得到待存储密钥;
将第一份待存储子密钥发送至第一存储器进行存储,将第二份待存储子密钥发送至第二存储器进行存储,将第三份待存储子密钥存储在客户端本地。
通过本申请实施例提供的技术方案,客户端将待存储密钥分成若干份待存储子密钥并将部分待存储子密钥分别存储于客户端、第一存储器和第二存储器,且客户端、第一存储器和第二存储器中任意两份待存储子密钥能够得到完整的密钥。这样,只有从客户端、第一存储器和第二存储器中任意两个获取所存储的待存储子密钥才能得到完整的密钥,即使其中任意一个丢失也不会导致完整的密钥被盗,提高了完整的密钥存储的安全性。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
相应于上述密钥存储方法实施例,本申请实施例还提供一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的密钥存储方法步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于密钥存储装置、电子设备以及机器可读存储介质实施例而言,由于其基本相似于密钥存储方法实施例,所以描述的比较简单,相关之处参见密钥存储方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (22)

1.一种密钥存储方法,其特征在于,应用于客户端,所述客户端与第一存储器连接,并与第二存储器连接;所述方法包括:
在确定与所述第一存储器、所述第二存储器均匹配之后,对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥;
从所得到的待存储子密钥中,将第一数量的待存储子密钥确定为第一份待存储子密钥,将第二数量的待存储子密钥确定为第二份待存储子密钥,将第三数量的待存储子密钥确定为第三份待存储子密钥,其中,所述第一数量、所述第二数量和所述第三数量均小于所述第一目标数量,所述第一份待存储子密钥、所述第二份待存储子密钥和所述第三份待存储子密钥中的任意两份待存储子密钥能够得到所述待存储密钥;
将所述第一份待存储子密钥发送至所述第一存储器进行存储,将所述第二份待存储子密钥发送至所述第二存储器进行存储,将所述第三份待存储子密钥存储在所述客户端本地;
其中,所述第一目标数量大于等于3;
所述方法还包括:
在所述客户端分别与所述第一存储器、所述第二存储器建立连接之后,对所述第一存储器进行验证,对所述第二存储器进行验证;
判断对所述第一存储器的验证、对所述第二存储器的验证是否均成功;
如果是,判定与所述第一存储器、所述第二存储器均匹配;
如果否,将所述客户端与所述第一存储器的连接断开,将所述客户端与所述第二存储器的连接断开。
2.根据权利要求1所述的方法,其特征在于,所述对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥,包括:
利用预设加密算法对待存储密钥进行加密处理,得到加密处理后的待存储密钥;对加密处理后的待存储密钥进行分解处理,得到所述第一目标数量的待存储子密钥;
所述将所述第一份待存储子密钥发送至所述第一存储器进行存储,将所述第二份待存储子密钥发送至所述第二存储器进行存储,将所述第三份待存储子密钥存储在所述客户端本地,包括:
获取所述预设加密算法的目标密钥,并对所述目标密钥进行分解处理,得到第二目标数量的目标子密钥,并将所述第二目标数量的目标子密钥中的第四数量的目标子密钥确定为第一份目标子密钥,将所述第二目标数量的目标子密钥中的第五数量的目标子密钥确定为第二份目标子密钥,将所述第二目标数量的目标子密钥中的第六数量的目标子密钥确定为第三份目标子密钥;将所述第一份待存储子密钥和所述第一份目标子密钥发送至所述第一存储器进行存储;将所述第二份待存储子密钥和所述第二份目标子密钥发送至所述第二存储器进行存储;将所述第三份待存储子密钥和所述第三份目标子密钥存储于本地。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一份待存储子密钥发送至所述第一存储器进行存储,将所述第二份待存储子密钥发送至所述第二存储器进行存储,将所述第三份待存储子密钥存储在所述客户端本地,包括:
利用预设加密算法分别对所述第一份待存储子密钥、所述第二份待存储子密钥和所述第三份待存储子密钥进行加密处理;
获取所述预设加密算法的目标密钥,并对所述目标密钥进行分解处理,得到第二目标数量的目标子密钥;
从所得到的目标子密钥中,将第四数量的目标子密钥确定为第一份目标子密钥,将第五数量的目标子密钥确定为第二份目标子密钥,将第六数量的目标子密钥确定为第三份目标子密钥,其中,所述第四数量、所述第五数量和所述第六数量均小于所述第二目标数量,所述第一份目标子密钥、所述第二份目标子密钥和所述第三份目标子密钥中的任意两份目标子密钥能够得到所述目标密钥;
将加密处理后的第一份待存储子密钥和所述第一份目标子密钥发送至所述第一存储器进行存储,将加密处理后的第二份待存储子密钥和所述第二份目标子密钥发送至所述第二存储器进行存储,将加密处理后的第三份待存储子密钥和所述第三份目标子密钥存储在所述客户端本地。
4.根据权利要求3所述的方法,其特征在于,所述第二目标数量为三,所述第四数量、所述第五数量和所述第六数量均为二。
5.根据权利要求1所述的方法,其特征在于,所述对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥,包括:
利用预设加密算法对待存储密钥进行加密处理,得到加密处理后的待存储密钥;对加密处理后的待存储密钥进行分解处理,得到所述第一目标数量的待存储子密钥;
所述将所述第一份待存储子密钥发送至所述第一存储器进行存储,将所述第二份待存储子密钥发送至所述第二存储器进行存储,将所述第三份待存储子密钥存储在所述客户端本地,包括:
获取所述预设加密算法的目标密钥,将所述第一份待存储子密钥和所述目标密钥发送至所述第一存储器进行存储;将所述第二份待存储子密钥和所述目标密钥发送至所述第二存储器进行存储;将所述第三份待存储子密钥和所述目标密钥存储于本地。
6.根据权利要求1所述的方法,其特征在于,所述将所述第一份待存储子密钥发送至所述第一存储器进行存储,将所述第二份待存储子密钥发送至所述第二存储器进行存储,将所述第三份待存储子密钥存储在所述客户端本地,包括:
利用预设加密算法分别对所述第一份待存储子密钥、所述第二份待存储子密钥和所述第三份待存储子密钥进行加密处理;
获取所述预设加密算法的目标密钥;
将加密处理后的第一份待存储子密钥和所述目标密钥发送至所述第一存储器进行存储,将加密处理后的第二份待存储子密钥和所述目标密钥发送至所述第二存储器进行存储,将加密处理后的第三份待存储子密钥和所述目标密钥存储在所述客户端本地。
7.根据权利要求1所述的方法,其特征在于,所述对所述第一存储器进行验证,包括:
将利用第一密钥进行加密处理的第一验证信息发送至所述第一存储器,以使得所述第一存储器利用本地存储的第一预设验证信息对第一验证信息进行解密处理得到所述第一密钥,利用所述第一密钥对所述第一存储器本地存储的第一标识进行加密处理,并将加密处理后的第一标识发送至所述客户端;
接收所述第一存储器发送的加密处理后的第一标识,利用所述第一密钥对加密处理后的第一标识进行解密处理,得到解密后的第一标识,将该第一标识与预先存储的第一预设标识进行匹配,若匹配,则判定对所述第一存储器验证成功。
8.根据权利要求1所述的方法,其特征在于,所述对所述第二存储器进行验证,包括:
将利用第二密钥进行加密处理的第二验证信息发送至所述第二存储器,以使得所述第二存储器利用本地存储的第二预设验证信息对第二验证信息进行解密处理得到所述第二密钥,利用所述第二密钥对所述第二存储器本地存储的第二标识进行加密处理,并将加密处理后的第二标识发送至所述客户端;
接收所述第二存储器发送的加密处理后的第二标识,利用所述第二密钥对加密处理后的第二标识进行解密处理,得到解密后的第二标识,将该第二标识与预先存储的第二预设标识进行匹配,若匹配,则判定对所述第二存储器验证成功。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述第一目标数量为三,所述第一数量、所述第二数量和所述第三数量均为二。
10.根据权利要求1-8任一项所述的方法,其特征在于,所述第一存储器与所述第二存储器连接,所述客户端通过所述第一存储器与所述第二存储器连接。
11.一种密钥存储装置,其特征在于,应用于客户端,所述客户端与第一存储器连接,并与第二存储器连接;所述装置包括:
分解模块,用于在确定与所述第一存储器、所述第二存储器均匹配之后,对待存储密钥进行分解处理,得到第一目标数量的待存储子密钥;
确定模块,用于从所得到的待存储子密钥中,将第一数量的待存储子密钥确定为第一份待存储子密钥,将第二数量的待存储子密钥确定为第二份待存储子密钥,将第三数量的待存储子密钥确定为第三份待存储子密钥,其中,所述第一数量、所述第二数量和所述第三数量均小于所述第一目标数量,所述第一份待存储子密钥、所述第二份待存储子密钥和所述第三份待存储子密钥中的任意两份待存储子密钥能够得到所述待存储密钥;
存储模块,用于将所述第一份待存储子密钥发送至所述第一存储器进行存储,将所述第二份待存储子密钥发送至所述第二存储器进行存储,将所述第三份待存储子密钥存储在所述客户端本地;
其中,所述第一目标数量大于等于3;
所述装置还包括:
验证模块,用于在所述客户端分别与所述第一存储器、所述第二存储器建立连接之后,对所述第一存储器进行验证,对所述第二存储器进行验证;
判断模块,用于判断对所述第一存储器的验证、对所述第二存储器的验证是否均成功;当所述判断模块的判断结果为是时,判定与所述第一存储器、所述第二存储器均匹配;
断开模块,用于当所述判断模块的判断结果为否时,将所述客户端与所述第一存储器的连接断开,将所述客户端与所述第二存储器的连接断开。
12.根据权利要求11所述的装置,其特征在于,
所述分解模块,具体用于利用预设加密算法对待存储密钥进行加密处理,得到加密处理后的待存储密钥;对加密处理后的待存储密钥进行分解处理,得到所述第一目标数量的待存储子密钥;
所述存储模块,具体用于获取所述预设加密算法的目标密钥,并对所述目标密钥进行分解处理,得到第二目标数量的目标子密钥,并将所述第二目标数量的目标子密钥中的第四数量的目标子密钥确定为第一份目标子密钥,将所述第二目标数量的目标子密钥中的第五数量的目标子密钥确定为第二份目标子密钥,将所述第二目标数量的目标子密钥中的第六数量的目标子密钥确定为第三份目标子密钥;将所述第一份待存储子密钥和所述第一份目标子密钥发送至所述第一存储器进行存储;将所述第二份待存储子密钥和所述第二份目标子密钥发送至所述第二存储器进行存储;将所述第三份待存储子密钥和所述第三份目标子密钥存储于本地。
13.根据权利要求11所述的装置,其特征在于,所述存储模块包括:
第一加密子模块,用于利用预设加密算法分别对所述第一份待存储子密钥、所述第二份待存储子密钥和所述第三份待存储子密钥进行加密处理;
第一获取子模块,用于获取所述预设加密算法的目标密钥,并对所述目标密钥进行分解处理,得到第二目标数量的目标子密钥;
确定子模块,用于从所得到的目标子密钥中,将第四数量的目标子密钥确定为第一份目标子密钥,将第五数量的目标子密钥确定为第二份目标子密钥,将第六数量的目标子密钥确定为第三份目标子密钥,其中,所述第四数量、所述第五数量和所述第六数量均小于所述第二目标数量,所述第一份目标子密钥、所述第二份目标子密钥和所述第三份目标子密钥中的任意两份目标子密钥能够得到所述目标密钥;
第一存储子模块,用于将加密处理后的第一份待存储子密钥和所述第一份目标子密钥发送至所述第一存储器进行存储,将加密处理后的第二份待存储子密钥和所述第二份目标子密钥发送至所述第二存储器进行存储,将加密处理后的第一份待存储子密钥和所述第一份目标子密钥存储在所述客户端本地。
14.根据权利要求13所述的装置,其特征在于,所述第二目标数量为三,所述第四数量、所述第五数量和所述第六数量均为二。
15.根据权利要求11所述的装置,其特征在于,
所述分解模块,具体用于利用预设加密算法对待存储密钥进行加密处理,得到加密处理后的待存储密钥;对加密处理后的待存储密钥进行分解处理,得到所述第一目标数量的待存储子密钥;
所述存储模块,具体用于获取所述预设加密算法的目标密钥,将所述第一份待存储子密钥和所述目标密钥发送至所述第一存储器进行存储;将所述第二份待存储子密钥和所述目标密钥发送至所述第二存储器进行存储;将所述第三份待存储子密钥和所述目标密钥存储于本地。
16.根据权利要求11所述的装置,其特征在于,所述存储模块包括:
第二加密子模块,用于利用预设加密算法分别对所述第一份待存储子密钥、所述第二份待存储子密钥和所述第三份待存储子密钥进行加密处理;
第二获取子模块,用于获取所述预设加密算法的目标密钥;
第二存储子模块,用于将加密处理后的第一份待存储子密钥和所述目标密钥发送至所述第一存储器进行存储,将加密处理后的第二份待存储子密钥和所述目标密钥发送至所述第二存储器进行存储,将加密处理后的第三份待存储子密钥和所述目标密钥存储在所述客户端本地。
17.根据权利要求11所述的装置,其特征在于,所述验证模块具体用于:
将利用第一密钥进行加密处理的第一验证信息发送至所述第一存储器,以使得所述第一存储器利用本地存储的第一预设验证信息对第一验证信息进行解密处理得到所述第一密钥,利用所述第一密钥对所述第一存储器本地存储的第一标识进行加密处理,并将加密处理后的第一标识发送至所述客户端;
接收所述第一存储器发送的加密处理后的第一标识,利用所述第一密钥对加密处理后的第一标识进行解密处理,得到解密后的第一标识,将该第一标识与预先存储的第一预设标识进行匹配,若匹配,则判定对所述第一存储器验证成功。
18.根据权利要求11所述的装置,其特征在于,所述验证模块具体用于:
将利用第二密钥进行加密处理的第二验证信息发送至所述第二存储器,以使得所述第二存储器利用本地存储的第二预设验证信息对第二验证信息进行解密处理得到所述第二密钥,利用所述第二密钥对所述第二存储器本地存储的第二标识进行加密处理,并将加密处理后的第二标识发送至所述客户端;
接收所述第二存储器发送的加密处理后的第二标识,利用所述第二密钥对加密处理后的第二标识进行解密处理,得到解密后的第二标识,将该第二标识与预先存储的第二预设标识进行匹配,若匹配,则判定对所述第二存储器验证成功。
19.根据权利要求11-18任一项所述的装置,其特征在于,所述第一目标数量为三,所述第一数量、所述第二数量和所述第三数量均为二。
20.根据权利要求11-18任一项所述的装置,其特征在于,所述第一存储器与所述第二存储器连接,所述客户端通过所述第一存储器与所述第二存储器连接。
21.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-10任一所述的方法步骤。
22.一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10任一所述的方法步骤。
CN201811142961.0A 2018-09-28 2018-09-28 一种密钥存储方法及装置 Expired - Fee Related CN109088729B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811142961.0A CN109088729B (zh) 2018-09-28 2018-09-28 一种密钥存储方法及装置
PCT/CN2019/105466 WO2020063354A1 (zh) 2018-09-28 2019-09-11 一种区块链私钥的存储、恢复方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811142961.0A CN109088729B (zh) 2018-09-28 2018-09-28 一种密钥存储方法及装置

Publications (2)

Publication Number Publication Date
CN109088729A CN109088729A (zh) 2018-12-25
CN109088729B true CN109088729B (zh) 2021-03-26

Family

ID=64842779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811142961.0A Expired - Fee Related CN109088729B (zh) 2018-09-28 2018-09-28 一种密钥存储方法及装置

Country Status (1)

Country Link
CN (1) CN109088729B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020063354A1 (zh) * 2018-09-28 2020-04-02 北京金山安全软件有限公司 一种区块链私钥的存储、恢复方法、装置及系统
CN110166236B (zh) * 2019-05-31 2022-01-18 北京中金国信科技有限公司 密钥处理方法、装置和系统及电子设备
CN114629643B (zh) * 2022-03-25 2024-06-14 山东云海国创云计算装备产业创新中心有限公司 一种密钥处理方法、装置、介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621375A (zh) * 2009-07-28 2010-01-06 成都市华为赛门铁克科技有限公司 密钥管理方法、装置及系统
CN101694778A (zh) * 2009-09-27 2010-04-14 卢林发 一种防止数据丢失的方法和可移动数据存储器
CN105656621A (zh) * 2014-11-12 2016-06-08 江苏威盾网络科技有限公司 一种密码设备安全管理方法
CN105830086A (zh) * 2013-11-06 2016-08-03 净睿存储股份有限公司 使用外部秘密的存储系统中的数据保护
CN106462605A (zh) * 2014-05-13 2017-02-22 云聚公司 流媒体内容的分布式安全数据存储和传输
CN107172056A (zh) * 2017-05-31 2017-09-15 福建中金在线信息科技有限公司 一种信道安全确定方法、装置、系统、客户端及服务器
CN107959566A (zh) * 2016-10-14 2018-04-24 阿里巴巴集团控股有限公司 量子数据密钥协商系统及量子数据密钥协商方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472105B2 (en) * 2004-10-19 2008-12-30 Palo Alto Research Center Incorporated System and method for providing private inference control
CN101986596B (zh) * 2010-10-21 2014-06-25 无锡江南信息安全工程技术中心 密钥管理方法
CN102271035B (zh) * 2011-09-02 2014-12-24 华为技术有限公司 传输密码的方法和装置
CN102571349B (zh) * 2011-12-29 2015-02-11 北京握奇数据系统有限公司 智能密码钥匙信息更新方法、智能密码钥匙及系统
CN103580855B (zh) * 2013-11-07 2017-01-18 江南大学 一种基于共享技术的UsbKey密钥管理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621375A (zh) * 2009-07-28 2010-01-06 成都市华为赛门铁克科技有限公司 密钥管理方法、装置及系统
CN101694778A (zh) * 2009-09-27 2010-04-14 卢林发 一种防止数据丢失的方法和可移动数据存储器
CN105830086A (zh) * 2013-11-06 2016-08-03 净睿存储股份有限公司 使用外部秘密的存储系统中的数据保护
CN106462605A (zh) * 2014-05-13 2017-02-22 云聚公司 流媒体内容的分布式安全数据存储和传输
CN105656621A (zh) * 2014-11-12 2016-06-08 江苏威盾网络科技有限公司 一种密码设备安全管理方法
CN107959566A (zh) * 2016-10-14 2018-04-24 阿里巴巴集团控股有限公司 量子数据密钥协商系统及量子数据密钥协商方法
CN107172056A (zh) * 2017-05-31 2017-09-15 福建中金在线信息科技有限公司 一种信道安全确定方法、装置、系统、客户端及服务器

Also Published As

Publication number Publication date
CN109088729A (zh) 2018-12-25

Similar Documents

Publication Publication Date Title
CN107317677B (zh) 密钥存储及设备身份认证方法、装置
US20130145171A1 (en) Method and system for secure data access among two devices
US20030046570A1 (en) Method for processing information in an electronic device, a system, an electronic device and a processing block
CN109981255B (zh) 密钥池的更新方法和系统
US20110314284A1 (en) Method for securing transmission data and security system for implementing the same
US11329835B2 (en) Apparatus and method for authenticating IoT device based on PUF using white-box cryptography
CN107005577B (zh) 指纹数据的处理方法及处理装置
CN104836784B (zh) 一种信息处理方法、客户端和服务器
CN110868291B (zh) 一种数据加密传输方法、装置、系统及存储介质
CN110690956B (zh) 双向认证方法及系统、服务器和终端
CN103678174A (zh) 数据安全方法、存储装置和数据安全系统
US11941610B2 (en) Cryptocurrency securing system and method
CN111178884A (zh) 信息处理方法、装置、设备及可读存储介质
US20120096280A1 (en) Secured storage device with two-stage symmetric-key algorithm
CN111970114B (zh) 文件加密方法、系统、服务器和存储介质
CN109088729B (zh) 一种密钥存储方法及装置
CN115065472B (zh) 基于多密钥加密解密的安全芯片加密解密方法及装置
US9571273B2 (en) Method and system for the accelerated decryption of cryptographically protected user data units
CN114793184B (zh) 一种基于第三方密钥管理节点的安全芯片通信方法及装置
CN112152802A (zh) 数据加密方法、电子设备及计算机存储介质
CN110198320B (zh) 一种加密信息传输方法和系统
US11463251B2 (en) Method for secure management of secrets in a hierarchical multi-tenant environment
CN111008400A (zh) 数据处理方法、装置及系统
CN103378966A (zh) 安全动态片上密钥编程
CN109075974B (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210326