CN111526011B - 一种加密数据的恢复方法 - Google Patents
一种加密数据的恢复方法 Download PDFInfo
- Publication number
- CN111526011B CN111526011B CN202010297754.3A CN202010297754A CN111526011B CN 111526011 B CN111526011 B CN 111526011B CN 202010297754 A CN202010297754 A CN 202010297754A CN 111526011 B CN111526011 B CN 111526011B
- Authority
- CN
- China
- Prior art keywords
- key
- data owner
- content
- ciphertext
- data
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种加密数据的恢复方法,包括以下步骤:数据所有者使用公钥pkA对明文m进行加密,得到密文cA=encryptpke(pkA,m),数据所有者使用公钥pkB和私钥skA建立第一重加密密钥rkA→B=rekey(skA,pkB),信任第三方使用公钥pkA′和私钥skB建立第二重加密密钥rkB→A′=rekey(skB,pkA′),数据所有者分别获取密文cA、第一重加密密钥rkA→B和第二重加密密钥rkB→A′;数据所有者计算得到密文cA′=reencrypt(rkB→A′,reencrypt(rkA→B,cA));数据所有者通过私钥skA′计算得到明文m=decryptpke(skA′,cA′)。这种加密数据的恢复方法通过信任第三方对密钥的转换,让数据所有者在丢失私钥的情况下,使用新的密钥就可以对初始的密文进行解密,同时还能保证加密数据不被任何第三方获取对应的明文数据。
Description
技术领域
本发明涉及加密数据处理技术领域,尤其涉及一种加密数据的恢复方法。
背景技术
在区块链应用领域,用户对于自己的私有数据会采用加密方式进行隐私保护,而且可以通过自己的私钥来获取对应的明文数据。
虽然有各种私钥备份和保管方案和工具,但是对于个人用户来说,因为缺少相关领域的专业性能力,私钥还是存在丢失的可能性。
在私钥丢失之后,用户就无法通过私钥再次获取对应的明文数据了。
为了防止这种情况发生,用户会选择对自己的私有数据进行备份。因为需要对私有数据进行备份,所以数据需要进行加密处理,但是只要是密文数据就存在因为丢失对应密钥导致数据无法恢复的可能性。
发明内容
本发明要解决的技术问题是:为了解决现有技术中因为密钥丢失导致数据无法恢复的问题,本发明提供了一种加密数据的恢复方法来解决上述问题。
本发明解决其技术问题所采用的技术方案是:一种加密数据的恢复方法,包括以下步骤:
数据所有者使用公钥pkA对明文m进行加密,得到
密文cA=encrpke(pkA,m),数据所有者将密文cA存储在第一存储系统;
信任第三方将公钥pkB发送至数据所有者,数据所有者使用公钥pkB和私钥skA建立第一重加密密钥rkA→B=rekey(skA,pkB),并将第一重加密密钥rkA→B存储在第二存储系统;
数据所有者将公钥pkA′发送至信任第三方,信任第三方使用公钥pkA′和私钥skB建立第二重加密密钥rkB→A′=rekey(skB,pkA′),并将第二重加密密钥rkB→A′存储在第三存储系统中;
数据所有者从第一存储系统、第二存储系统和第三存储系统中分别获取密文cA、第一重加密密钥rkA→B和第二重加密密钥rkB→A′;
数据所有者计算得到密文cA′=reencrypt(rkB→A′,reencrypt(rkA→B,cA));
数据所有者通过私钥skA′计算得到明文m=decryptpke(skA′,cA′)。
作为优选,还包括以下步骤:
信任第三方使用公钥pkB对第二重加密密钥rkB→A′进行加密,得到密钥密文edek;
信任第三方建立关于第二重加密密钥rkB→A′的结构内容,所述结构内容包括特殊标识符和描述内容;
所述特殊标识符用于确认所述结构内容的结构属性;
所述描述内容包括:第二重加密密钥rkB→A′的数据格式、第一加密算法类型、公钥pkB和密钥密文edek;
信任第三方对所述结构内容进行哈希运算得到哈希值h,将所述结构内容上传至第四存储系统;
数据所有者将哈希值h写入区块链。
作为优选,所述结构内容表示为第一字节数组,所述结构内容的结构属性为:
在所述第一字节数组中,起始2个字节表示所述特殊标识符,第二重加密密钥rkB→A′的数据格式表示为2个字节,第一加密算法类型表示为2个字节,公钥pkB表示为第二字节数组,密钥密文edek表示为第三字节数组。
作为优选,数据所有者从所述第四存储系统获取待验证的结构内容并对其进行哈希运算,得到待验证的哈希值h’,验证者从区块链获取哈希值h;
数据所有者并将哈希值h与哈希值h’进行比对,如果一致则证明待验证的结构内容正确;
数据所有者读取结构内容的起始2个字节,验证结构内容的结构属性;
如果结构属性正确,则数据所有者按照结构属性的定义解析出描述内容;
数据所有者使用描述内容中的第一加密算法类型和公钥pkB对第二重加密密钥rkB→A′进行加密,得到密钥密文edek′,验证密钥密文edek′与描述内容中的密钥密文edek是否一致。
本发明的有益效果是,这种加密数据的恢复方法通过信任第三方对密钥的转换,让数据所有者在丢失私钥的情况下,使用新的密钥就可以对初始的密文进行解密,同时还能保证加密数据不被任何第三方获取对应的明文数据。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的一种加密数据的恢复方法的最优实施例的流程。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
如图1所示,本发明提供了一种加密数据的恢复方法,包括以下步骤:
数据所有者拥有公钥pkA、私钥skA和明文m,数据所有者使用公钥pkA对明文m进行加密,得到
密文cA=encryptpke(pkA,m),数据所有者将密文cA存储在第一存储系统;
信任第三方拥有公钥pkB和私钥skB,信任第三方将公钥pkB发送至数据所有者,数据所有者使用公钥pkB和私钥skA建立第一重加密密钥rkA→B=rekey(skA,pkB),并将第一重加密密钥rkA→B存储在第二存储系统;第二存储系统和第一存储系统为不同的存储系统,例如云盘、邮箱等等,防止其他人轻易的同时获取第一重加密密钥rkA→B和密文cA。
当数据所有者丢失私钥skA,数据所有者可以生产新的密钥对(pkA′,skA′),数据所有者将公钥pkA′发送至信任第三方,信任第三方使用公钥pkA′和私钥skB建立第二重加密密钥rkB→A′=rekey(skB,pkA′),并将第二重加密密钥rkB→A′存储在第三存储系统中;
数据所有者从第一存储系统、第二存储系统和第三存储系统中分别获取密文cA、第一重加密密钥rkA→B和第二重加密密钥rkB→A′;
数据所有者计算得到密文cA′=reencrypt(rkB→A′,reencrypt(rkA→B,cA));
数据所有者通过私钥skA′计算得到明文m=decryptpke(skA′,cA′)。
当数据所有者想要使用新的私钥skA′对密文进行解密时,由于第一重加密密钥rkA→B和密文cA是自己创建,所以比较可靠,而第二重加密密钥rkB→A′是由信任第三方创建,而且不是自己存储到存储系统中,所以即使被篡改也很难验证它的真实性,所以为了安全,根据其它的实施例:
信任第三方使用公钥pkB对第二重加密密钥rkB→A′进行加密,得到密钥密文edek;
信任第三方建立关于第二重加密密钥rkB→A′的结构内容,结构内容包括特殊标识符和描述内容;
特殊标识符用于确认结构内容的结构属性;
描述内容包括:第二重加密密钥rkB→A′的数据格式、第一加密算法类型、公钥pkB和密钥密文edek;
信任第三方对结构内容进行哈希运算得到哈希值h,将结构内容上传至第四存储系统;
数据所有者将哈希值h写入区块链。
结构内容表示为第一字节数组,结构内容的结构属性为:
在第一字节数组中,起始2个字节表示特殊标识符,第二重加密密钥rkB→A′的数据格式表示为2个字节,第一加密算法类型表示为2个字节,公钥pkB表示为第二字节数组,密钥密文edek表示为第三字节数组。
数据所有者从第四存储系统获取待验证的结构内容并对其进行哈希运算,得到待验证的哈希值h’,验证者从区块链获取哈希值h;
数据所有者并将哈希值h与哈希值h’进行比对,如果一致则证明待验证的结构内容正确;
数据所有者读取结构内容的起始2个字节,验证结构内容的结构属性;
如果结构属性正确,则数据所有者按照结构属性的定义解析出描述内容;
数据所有者使用描述内容中的第一加密算法类型和公钥pkB对第二重加密密钥rkB→A′进行加密,得到密钥密文edek′,验证密钥密文edek′与描述内容中的密钥密文edek是否一致。如果以上验证均能通过,说明数据所有者获得的第二重加密密钥rkB→A′是真实未被篡改过。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (4)
1.一种加密数据的恢复方法,其特征在于:包括以下步骤:
数据所有者使用公钥pkA对明文m进行加密,得到
密文cA=encryptpke(pkA,m),数据所有者将密文cA存储在第一存储系统;
信任第三方将公钥pkB发送至数据所有者,数据所有者使用公钥pkB和私钥skA建立第一重加密密钥rkA→B=rekey(skA,pkB),并将第一重加密密钥rkA→B存储在第二存储系统;
数据所有者将公钥pkA′发送至信任第三方,信任第三方使用公钥pkA′和私钥skB建立第二重加密密钥rkB→A′=rekey(skB,pkA′),并将第二重加密密钥rkB→A′存储在第三存储系统中;
数据所有者从第一存储系统、第二存储系统和第三存储系统中分别获取密文cA、第一重加密密钥rkA→B和第二重加密密钥rkB→A′;
数据所有者计算得到密文cA′=reencrypt(rkB→A′,reencrypt(rkA→B,cA));
数据所有者通过私钥skA′计算得到明文m=decryptpke(skA′,cA′)。
2.如权利要求1所述的一种加密数据的恢复方法,其特征在于,还包括以下步骤:
信任第三方使用公钥pkB对第二重加密密钥rkB→A′进行加密,得到密钥密文edek;
信任第三方建立关于第二重加密密钥rkB→A′的结构内容,所述结构内容包括特殊标识符和描述内容;
所述特殊标识符用于确认所述结构内容的结构属性;
所述描述内容包括:第二重加密密钥rkB→A′的数据格式、第一加密算法类型、公钥pkB和密钥密文edek;
信任第三方对所述结构内容进行哈希运算得到哈希值h,将所述结构内容上传至第四存储系统;
数据所有者将哈希值h写入区块链。
3.如权利要求2所述的一种加密数据的恢复方法,其特征在于:所述结构内容表示为第一字节数组,所述结构内容的结构属性为:
在所述第一字节数组中,起始2个字节表示所述特殊标识符,第二重加密密钥rkB→A′的数据格式表示为2个字节,第一加密算法类型表示为2个字节,公钥pkB表示为第二字节数组,密钥密文edek表示为第三字节数组。
4.如权利要求3所述的一种加密数据的恢复方法,其特征在于:
数据所有者从所述第四存储系统获取待验证的结构内容并对其进行哈希运算,得到待验证的哈希值h’,验证者从区块链获取哈希值h;
数据所有者并将哈希值h与哈希值h’进行比对,如果一致则证明待验证的结构内容正确;
数据所有者读取结构内容的起始2个字节,验证结构内容的结构属性;
如果结构属性正确,则数据所有者按照结构属性的定义解析出描述内容;
数据所有者使用描述内容中的第一加密算法类型和公钥pkB对第二重加密密钥rkB→A′进行加密,得到密钥密文edek′,验证密钥密文edek′与描述内容中的密钥密文edek是否一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010297754.3A CN111526011B (zh) | 2020-04-16 | 2020-04-16 | 一种加密数据的恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010297754.3A CN111526011B (zh) | 2020-04-16 | 2020-04-16 | 一种加密数据的恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111526011A CN111526011A (zh) | 2020-08-11 |
CN111526011B true CN111526011B (zh) | 2023-04-11 |
Family
ID=71901275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010297754.3A Active CN111526011B (zh) | 2020-04-16 | 2020-04-16 | 一种加密数据的恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111526011B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361704A (zh) * | 2018-12-12 | 2019-02-19 | 深圳市网心科技有限公司 | 云存储数据加密传输方法、系统、设备及存储介质 |
CN109587115A (zh) * | 2018-11-02 | 2019-04-05 | 王亚萍 | 一种数据文件安全分发使用方法 |
CN109768987A (zh) * | 2019-02-26 | 2019-05-17 | 重庆邮电大学 | 一种基于区块链的数据文件安全隐私存储和分享方法 |
-
2020
- 2020-04-16 CN CN202010297754.3A patent/CN111526011B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587115A (zh) * | 2018-11-02 | 2019-04-05 | 王亚萍 | 一种数据文件安全分发使用方法 |
CN109361704A (zh) * | 2018-12-12 | 2019-02-19 | 深圳市网心科技有限公司 | 云存储数据加密传输方法、系统、设备及存储介质 |
CN109768987A (zh) * | 2019-02-26 | 2019-05-17 | 重庆邮电大学 | 一种基于区块链的数据文件安全隐私存储和分享方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111526011A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8694771B2 (en) | Method and system for a certificate-less authenticated encryption scheme using identity-based encryption | |
US5920630A (en) | Method of public key cryptography that includes key escrow | |
KR101520617B1 (ko) | 메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치 | |
US6370250B1 (en) | Method of authentication and storage of private keys in a public key cryptography system (PKCS) | |
US7607009B2 (en) | Method for distributing and authenticating public keys using time ordered exchanges | |
US7574596B2 (en) | Cryptographic method and apparatus | |
US20170142082A1 (en) | System and method for secure deposit and recovery of secret data | |
US10412063B1 (en) | End-to-end double-ratchet encryption with epoch key exchange | |
CN111523131B (zh) | 一种安全性高的加密数据存储方法 | |
JP2003298568A (ja) | 鍵供託を使用しない、認証された個別暗号システム | |
WO2003017559A3 (en) | Systems and methods for identity-based encryption and related cryptographic techniques | |
JP2005245010A5 (zh) | ||
CN110535626B (zh) | 基于身份的量子通信服务站保密通信方法和系统 | |
WO2018049601A1 (zh) | 一种面向雾计算的外包访问控制方法及其系统 | |
CN110519226B (zh) | 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统 | |
CN112615720B (zh) | 一种基于区块链的云端数据加密存储系统 | |
CN114567431B (zh) | 一种用于单向传输的安全认证方法 | |
CN106713349B (zh) | 一种能抵抗选择密文攻击的群组间代理重加密方法 | |
CN104753947A (zh) | 一种固定密文长度的可验证外包解密的属性基系统及方法 | |
KR20230175185A (ko) | 국가 패스워드 알고리즘의 안전에 기반한 파일 공유 방법과 시스템 | |
CN112738133A (zh) | 一种rsa认证方法 | |
CN106941406B (zh) | 基于标识的加密签名方法、解密验签方法及其装置 | |
TWI593267B (zh) | 具有時戳驗證的免憑證公開金鑰管理方法 | |
CN111526011B (zh) | 一种加密数据的恢复方法 | |
CN108809656B (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 |