CN110995685B - 数据的加解密方法、装置、***及存储介质 - Google Patents

数据的加解密方法、装置、***及存储介质 Download PDF

Info

Publication number
CN110995685B
CN110995685B CN201911174966.6A CN201911174966A CN110995685B CN 110995685 B CN110995685 B CN 110995685B CN 201911174966 A CN201911174966 A CN 201911174966A CN 110995685 B CN110995685 B CN 110995685B
Authority
CN
China
Prior art keywords
key
signature
data
decryption
ciphertext
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
Application number
CN201911174966.6A
Other languages
English (en)
Other versions
CN110995685A (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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay 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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201911174966.6A priority Critical patent/CN110995685B/zh
Publication of CN110995685A publication Critical patent/CN110995685A/zh
Priority to TW109126455A priority patent/TWI813894B/zh
Priority to PCT/CN2020/124933 priority patent/WO2021103921A1/zh
Application granted granted Critical
Publication of CN110995685B publication Critical patent/CN110995685B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/0819Key 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/0822Key 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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种数据的加解密方法、装置、***及存储介质,涉及数据处理技术领域。该数据的加密方法,包括:生成并向解密装置发送临时密钥;接收解密装置发送的第一密钥密文,第一密钥密文为解密装置利用临时密钥对第一密钥加密的密文;利用临时密钥对第一密钥密文解密,得到第一密钥,利用第一密钥对第二密钥、待加密数据和第一签名加密,得到目标密文,第一签名为根据第三密钥得到的进行混淆运算后的第二密钥和待加密数据的签名;获取第四密钥,根据第四密钥,得到目标密文的第二签名;生成包括目标密文和第二签名的加密文件。利用本申请的技术方案能够提高数据保护的安全性。

Description

数据的加解密方法、装置、***及存储介质
技术领域
本发明属于数据处理技术领域,尤其涉及一种数据的加解密方法、装置及***。
背景技术
随着网络技术的发展,利用网络传输数据方便了信息的传递。在数据传输过程中,数据有可能泄露或被篡改。在被传输的数据中存在敏感数据,敏感数据不希望发生泄露或被篡改。因此,包括敏感数据的数据的传输对传输安全性的要求较高。
现阶段,加密装置会对数据即明文进行加密,将加密后的数据即密文传输至解密装置,解密装置对密文进行解密,从而得到明文。在密文的传输过程中密文有可能被篡改,数据保护的安全性依然较低。
发明内容
本申请提供了一种数据的加解密方法、装置、***及存储介质,能够提高数据保护的安全性。
第一方面,本申请实施例提供一种数据的加密方法,应用于加密装置,方法包括:生成并向解密装置发送临时密钥;接收解密装置发送的第一密钥密文,第一密钥密文为解密装置利用临时密钥对第一密钥加密的密文;利用临时密钥对第一密钥密文解密,得到第一密钥,利用第一密钥对第二密钥、待加密数据和第一签名加密,得到目标密文,第一签名为根据第三密钥得到第一混淆运算结果数据的签名,第一混淆运算结果数据为对第二密钥和待加密数据进行混淆运算后得到的数据;获取第四密钥,根据第四密钥,得到目标密文的第二签名;生成包括目标密文和第二签名的加密文件。
第二方面,本申请实施例提供一种数据的解密方法,应用于解密装置,方法包括:生成成对的第一密钥和第六密钥,接收加密装置发送的临时密钥,利用临时密钥对第一密钥加密,得到第一密钥密文并向加密装置发送;接收加密装置发送的包括目标密文和第二签名的加密文件,第二签名为加密装置根据第四密钥得到的目标密文的签名;利用第六密钥,对目标密文解密,得到第二密钥、待加密数据和第一签名;利用与第四密钥成对的第七密钥,对目标密文和第二签名进行验证;对解密得到的第二密钥与待加密数据进行与加密装置中相同的混淆运算,得到第二混淆运算结果数据,利用与第三密钥成对的第八密钥,对第二混淆运算结果数据和第一签名进行验证,第一签名为加密装置根据第三密钥得到的第一混淆运算结果数据的签名。
第三方面,本申请实施例提供一种加密装置,包括:密钥管理模块,用于生成临时密钥,以及,用于获取第四密钥;发送模块,用于向解密装置发送临时密钥;接收模块,用于接收解密装置发送的第一密钥密文,第一密钥密文为解密装置利用临时密钥对第一密钥加密的密文;加解密模块,用于利用临时密钥对第一密钥密文解密,得到第一密钥,利用第一密钥对第二密钥、待加密数据和第一签名加密,得到目标密文,第一签名为根据第三密钥得到的第一混淆运算结果数据的签名,第一混淆运算结果数据为对第二密钥和待加密数据进行混淆运算后得到的数据;签名模块,用于根据第四密钥,得到目标密文的第二签名;加密文件生成模块,用于生成包括目标密文和第二签名的加密文件。
第四方面,本申请实施例提供一种数据的解密装置,包括:密钥管理模块,用于生成成对的第一密钥和第六密钥;接收模块,用于接收加密装置发送的临时密钥,以及,用于接收加密装置发送的包括目标密文和第二签名的加密文件,第二签名为加密装置根据第四密钥得到的目标密文的签名;加解密模块,用于利用临时密钥对第一密钥加密,得到第一密钥密文,以及,用于利用第六密钥,对目标密文解密,得到第二密钥、待加密数据和第一签名;发送模块,用于将第一密钥密文向加密装置发送;签名验证模块,用于利用与第四密钥成对的第七密钥,对目标密文和第二签名进行验证,以及,用于对解密得到的第二密钥与待加密数据进行与加密装置中相同的混淆运算,得到第二混淆运算结果数据,利用与第三密钥成对的第八密钥,对第二混淆运算结果数据和第一签名进行验证,第一签名为加密装置根据第三密钥得到的第一混淆运算结果数据的签名。
第五方面,本申请实施例提供一种数据的加解密***,包括第三方面的技术方案中的加密装置和第四方面的技术方案中的解密装置。
第六方面,本申请实施例提供一种加密装置,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现第一方面的技术方案中的数据的加密方法。
第七方面,本申请实施例提供一种加密装置,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现第二方面的技术方案中的数据的解密方法。
第八方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现第一方面的技术方案中的数据的加密方法或第二方面的技术方案中的数据的解密方法。
本申请提供一种数据的加解密方法、装置、***及存储介质,加密装置生成并向解密装置发送临时密钥,以使解密装置利用临时密钥对第一密钥加密。加密装置利用临时密钥对接收的第一密钥密文进行解密,从而得到用于为第二密钥、待加密数据和第一签名加密的第一密钥。通过混淆、签名、加密和再签名,以及对加密所使用的密钥在传递过程中加密等多层防护,对待加密数据以及加密所需的密钥进行了处理。解密装置接收到的加密文件包括目标密文和第二签名,利用与第一密钥成对的第六密钥对目标密文解密,加密得到目标密文所使用的第一密钥在传递过程中加密,降低数据保护的风险系数,提高了数据保护的安全性。
附图说明
从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。
图1为本申请实施例提供的一种数据的加解密方法应用的场景示意图;
图2为本申请一实施例提供的一种数据的加密方法的流程图;
图3为本申请实施例提供的一种用户可见的加密文件结构示意图;
图4为本申请实施例提供的与图3所示的加密文件结构对应的明文结构的示意图;
图5为本申请实施例提供的一种加密文件生成形式的示意图;
图6为本发明另一实施例提供的一种数据的加密方法的流程图;
图7为本申请一实施例提供的一种数据的解密方法的流程图;
图8为本申请另一实施例提供的一种数据的解密方法的流程图;
图9为本申请一实施例提供的一种数据的加解密方法的流程图;
图10为本申请一实施例提供的一种加密装置的结构示意图;
图11为本申请另一实施例提供的一种加密装置的结构示意图;
图12为本申请一实施例提供的一种解密装置的结构示意图;
图13为本申请一实施例提供的一种解密装置的结构示意图;
图14为本申请一实施例提供的保密组件的结构示意图;
图15为本申请一实施例提供的一种加密装置的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。
本申请提供了一种数据的加解密方法、装置、***及存储介质,可应用于对数据进行加密,以便于安全传输的场景中。图1为本申请实施例提供的一种数据的加解密方法应用的场景示意图。如图1所示,本申请中的数据的加解密方法可应用于加密装置10和解密装置20。其中,加密装置10用于执行本申请实施例中数据的加密方法。解密装置20用于执行本申请实施例中数据的解密方法。
在本申请中,加密装置可向解密装置发送用于对第一密钥加密的临时密钥,以使解密装置可利用临时密钥对第一密钥加密。加密装置对接收到的加密的第一密钥进行解密,以得到第一密钥。加密装置对待加密数据即明文进行混淆、签名、加密和再签名四层防护处理。其中的加密防护处理需要利用第一密钥,由于第一密钥在加密装置与解密装置之间加密传输,从而降低了第一密钥泄露的可能性。而且,结合上述四层防护处理,使得数据在传输过程中难以被篡改,或者,若数据被篡改,解密装置在解密即验证过程中,可及时准确地发现数据被篡改的问题,从而提高了数据的安全性。
图2为本申请一实施例提供的一种数据的加密方法的流程图。该数据的加密方法可应用于加密装置。如图2所示,该数据的加密方法可包括步骤S301至步骤S305。
在步骤S301中,生成并向解密装置发送临时密钥。
其中,加密装置可通过线上或线下的方式向解密装置发送临时密钥。临时密钥可为加密装置随机生成的临时密钥或加密装置接收的输入的临时密钥。在一些示例中,临时密钥为公钥或对称密钥,在此并不限定。
在步骤S302中,接收解密装置发送的第一密钥密文。
其中,第一密钥密文为解密装置利用临时密钥对第一密钥加密的密文。
在步骤S303中,利用临时密钥对第一密钥密文解密,得到第一密钥,利用第一密钥对第二密钥、待加密数据和第一签名加密,得到目标密文。
临时密钥用于解密装置对第一密钥进行加密。临时密钥还可用于加密装置对第一密钥密文进行解密。其中,临时密钥的生存周期可根据具体工作场景和工作需求设定。比如,在加密装置利用临时密钥对第一密钥密文解密后,该临时密钥的生存周期结束。临时密钥的生存周期用于表征临时密钥有效的时间段。
待加密数据可为不希望泄露及被篡改的数据,比如,待加密数据可为敏感数据。在此对待加密数据的种类、数量和大小并不限定。
第一签名为根据第三密钥得到的第一混淆运算结果数据的签名。第一混淆运算结果数据为对第二密钥和待加密数据进行混淆运算后得到的数据。具体地,可对第二密钥和待加密数据进行混淆运算,得到第一混淆运算结果数据。根据第三密钥,对第一混淆运算结果数据签名,得到第一签名。利用第一密钥,对第二密钥、待加密数据和第一签名加密,得到目标密文。
在一些示例中,第二密钥为公钥。第二密钥可为随机生成的密钥或加密装置接收的输入的密钥。
在步骤S304中,获取第四密钥,根据第四密钥,得到目标密文的第二签名。
第二签名是针对目标密文的签名。具体地,在一些示例中,第二密钥为公钥,第三密钥和/或第四密钥为与第二密钥对应的私钥。即则第二密钥与第三密钥可为一对公私钥。第四密钥与第二密钥可为一对公私钥。进一步地,第三密钥可与第四密钥相同。
在步骤S305中,生成包括目标密文和第二签名的加密文件。
利用目标密文和第二签名生成加密文件,该加密文件包括目标密文和第二签名。需要说明的是,加密文件中还可包括不进行混淆、签名、加密的可公开的数据,在此并不限定。
比如,图3为本申请实施例提供的一种用户可见的加密文件结构示意图。如图3所示,加密文件被打开后,在不经过解密处理的情况下,用户可见的是可公开的数据如可公开的内容说明信息等、目标密文和第二签名。图4为本申请实施例提供的与图3所示的加密文件结构对应的明文结构的示意图。如图4所示,假设待加密数据包括敏感数据1、敏感数据2和敏感数据3,则与加密文件结构对应的明文结构具体包括可公开的数据如可公开的内容说明信息等、第二密钥、敏感数据1、敏感数据2、敏感数据3、第一签名和第二签名。
为了便于更直观地说明上述实施例中的混淆、签名、加密和再签名四层防护处理。图5为本申请实施例提供的一种加密文件生成形式的示意图。如图5所示,对第二密钥和待加密数据进行混淆运算;对混淆运算后的第二密钥和待加密数据进行签名,得到签名1;对第二密钥、待加密数据和签名1进行加密,对加密后的第二密钥、待加密数据和签名1进行签名,得到签名2;最终得到加密文件。
在本申请实施例中,加密装置生成并向解密装置发送临时密钥,以使解密装置利用临时密钥对第一密钥加密。加密装置利用临时密钥对接收的第一密钥密文进行解密,从而得到用于为第二密钥、待加密数据和第一签名加密的第一密钥。通过混淆、签名、加密和再签名,以及对加密所使用的密钥在传递过程中加密等多层防护,对待加密数据以及加密所需的密钥进行了处理,降低数据保护的风险系数,提高了数据保护的安全性。
比如,若目标密文被替换,则在后续解密过程中,会发生解密失败或得到错误数据,在发生解密失败或得到错误数据的情况下,对第二签名验证是不会成功的。同理,若第二签名被替换,则对第二签名的验证是不会成功的。若在加密文件传输的过程中发生了密钥的泄露导致待加密数据被篡改,由于第一签名是针对混淆后的第一密钥与待加密数据签名得到的,且混淆算法不对外公开,因此,在后续的解密过程中,被篡改后的待加密数据与第一签名的验证是不会成功的,提高了数据的安全性。
在一些示例中,上述临时密钥、第二密钥、第三密钥和第四密钥中的一项或多项可为加密装置生成的。比如,上述数据的加密方法还可包括生成第三密钥和第四密钥的步骤,在此并不限定。进一步地,第三密钥、第四密钥均与第二密钥可为一对公私钥,第三密钥与第四密钥为相同的密钥,则加密装置可一并生成第二密钥、第三密钥和第四密钥。第一密钥可为解密装置生成的。也就是说,本申请实施例中的数据的加密方法依赖解密装置提供的密钥非常少,可少至一个密钥,且该密钥可为可公开的公钥,降低了解密装置需要承担的开发工作量,提高了对加密装置、待加密数据和解密装置的保护的安全性。
图6为本发明另一实施例提供的一种数据的加密方法的流程图。图6与图2的不同之处在于,图2中的步骤S301可细化为图6中的步骤S3011至步骤S3013;图6所示的数据的加密方法还可包括步骤S306。
在步骤S3011中,获取解密装置生成的第五密钥。
加密装置可通过线上或线下的方式从解密装置获取第五密钥。在一些示例中,第五密钥可为公钥或对称密钥,在此并不限定。
在步骤S3012中,生成临时密钥,利用第五密钥对临时密钥加密,得到第二密钥密文。
第二密钥密文即为加密后的临时密钥。
在步骤S3013中,向解密装置发送第二密钥密文。
加密装置向解密装置发送第二密钥密文。解密装置可用自身生成的第五密钥,对第二密钥密文解密,以得到临时密钥,从而利用临时密钥对第一密钥加密。
在加密装置和解密装置之间传递临时密钥的过程中,还可对临时密钥加密,从而降低临时密钥泄露的风险,保证临时密钥传递的安全性,进而保证了待加密数据保护的安全性。
在步骤S306中,生成并向解密装置发送保密组件,以使解密装置可调用保密组件对加密文件进行解密和验证。
其中,保密组件包括用于实现对目标密文解密的第一程序、用于实现签名验证的第二程序和用于实现混淆运算的第三程序。在一些示例中,保密组件可实现为函数库等,在此并不限定。
其中,加密装置可将第一程序、第二程序和第三程序写入保密组件中。具体地,第一程序、第二程序和第三程序可通过源代码和/或变量的方式编译进保密组件中。
在一些示例中,在第一密钥为对称密钥的情况下,保密组件可包括第一密钥,即将第一密钥通过源代码和/或变量的方式编译进保密组件中。也可不将第一密钥编译进保密组件中。
在一些示例中,上述保密组件还可包括用于确定解密装置是否具有许可权限的第四程序。加密装置可将第四程序写入保密组件。具体地,第四程序可通过源代码和/或变量的方式编译进保密组件中。
加密装置生成的保密组件可安装于解密装置中,解密装置可调用保密组件完成解密、验证等过程。不需要解密装置自身完成解密、验证等过程,减少了解密装置承担的开发工作量,解密装置自身无需置入过多安全算法和相关协议,从而降低了解密装置被攻破后数据、密钥泄露的风险,进一步提高了数据保护的安全性。
在本申请的又一些实施例中,数据的加密方法还可包括基于加密文件,生成并向解密装置发送加密文件的校验值的步骤。解密装置可根据该校验值校验加密文件是否被替换或被篡改,从而进一步提高对加密文件的保护的安全性。其中,若加密装置生成了保密组件,保密组件为静态保密组件或动态保密组件。
或者,数据的加密方法还可包括基于加密文件和保密组件,生成并向解密装置发送加密文件和保密组件的校验值的步骤。该校验值是基于加密文件和保密组件计算得到的。解密装置可根据该校验值校验加密文件和保密组件是否被替换或被篡改,从而进一步提高对加密文件和保密组件的保护的安全性。其中,保密组件为动态保密组件。
在上述实施例中,加密装置可随机产生校验因子,利用校验因子计算得到加密文件的校验值,或者,计算得到加密文件和保密组件的校验值。具体的校验值计算方法可选用MD5信息摘要算法或者其他算法,在此并不限定。对应地,加密装置也可通过线上或线下的方式将校验值计算方法及校验因子发送给解密装置。
在一些实施例中,上述数据的加密方法还可包括生成混淆运算的混淆算法,并随机生成混淆算法中的混淆因子的步骤。上述实施例中,第一签名即为根据第三密钥得到的第一混淆运算结果数据的签名。第一混淆运算结果数据为对所述第二密钥和所述待加密数据进行混淆运算后得到的数据。每次混淆运算所涉及的混淆算法可以不同,比如,每次随机生成混淆因子,混淆因子会影响混淆算法中的局部变量,使得每次混淆运算均会有所不同,使得攻击者无法准确地获取每次混淆运算的混淆算法,因此难以获得待加密数据,或篡改待加密数据,从而进一步提高了数据保护的安全性。在一些示例中,可将混淆算法作为保密组件中的一部分源代码编译进保密组件。在一些示例中,混淆因子可为上述实施例中的第二密钥。
在一些实施例中,加密装置可获取输入的待加密数据。具体的,待加密数据可通过人机交互方式输入至加密装置中。比如,待加密数据写入至加密装置中可按照Key即关键字与Value即值模式存放。在此基础上,还可增添其他属性项,如有效期等,在此并不限定。在采用上述存放方式的情况下,提取待加密数据可通过接口得到与查询的关键字Key对应的值Value。比如,通过getElement(“Key_string”)接口得到与关键字“Key_string”对应的值Value。
图7为本申请一实施例提供的一种数据的解密方法的流程图。该数据的解密方法可应用于解密装置。如图7所示,该数据的解密方法可包括步骤S401至步骤S405。
在步骤S401中,生成成对的第一密钥和第六密钥,接收加密装置发送的临时密钥,利用临时密钥对第一密钥加密,得到第一密钥密文并向加密装置发送。
其中,第一密钥密文即为加密后的第一密钥。利用临时密钥为第一密钥加密,从而提高第一密钥在传输过程中的安全性。
在一些示例中,第一密钥为公钥或对称密钥,在此并不限定。若第一密钥为公钥,则第六密钥为与第一密钥成对的私钥。若第一密钥为对称密钥,则第六密钥与第一密钥为相同的密钥。
在步骤S402中,接收加密装置发送的包括目标密文和第二签名的加密文件。
其中,第二签名为加密装置根据第四密钥得到的目标密文的签名。目标密文为加密装置利用第一密钥对第二密钥、待加密数据和第一签名加密得到的密文。需要说明的是,本申请实施例中的加密文件已经过传输,在传输过程中,目标密文和第二签名有可能被篡改。
在一些示例中,加密文件还可包括其他数据,比如可公开的数据等。
在步骤S403中,利用第六密钥,对目标密文解密,得到第二密钥、待加密数据和第一签名。
在步骤S404中,利用与第四密钥成对的第七密钥,对目标密文和第二签名进行验证。
解密装置可对目标密文和第二签名进行验证,若目标密文和第二签名验证成功,表示目标密文和第二签名未被篡改。
在一些示例中,第二密钥为公钥,第四密钥为与第二密钥对应的私钥,第七密钥即为对目标密文解密后得到的第二密钥。
在步骤S405中,对解密得到的第二密钥与待加密数据进行与加密装置中相同的混淆运算,得到第二混淆运算结果数据,利用与第三密钥成对的第八密钥,对第二混淆运算结果数据和第一签名进行验证。
其中,第一签名为加密装置根据第三密钥得到第一混淆运算结果数据的签名。解密装置可对得到的第二混淆运算结果数据和第一签名进行验证,若得到的第二混淆运算结果数据和第一签名的验证成功,表示待加密数据、第二密钥和第一签名未被篡改。
在一些示例中,第二密钥为公钥,第三密钥为与第二密钥对应的私钥,第八密钥即为对目标密文解密后得到的第二密钥。进一步地,第七密钥与第八密钥可相同。
在本申请实施例中,解密装置生成第一密钥,利用加密装置发送来的临时密钥对第一密钥加密,以向加密装置发送加密后的第一密钥,对加密装置加密所使用的密钥在传递过程中加密。解密装置接收到的加密文件包括目标密文和第二签名,利用第六密钥对目标密文解密。加密目标密文所使用的第一密钥在传递过程中加密,降低了数据保护的风险系数,提高了数据保护的安全性。
具体地,若对目标密文和第二签名的验证成功,且对第二混淆运算结果数据和第一签名的验证成功,确定加密文件未被篡改。
图8为本申请另一实施例提供的一种数据的解密方法的流程图。图8与图7的不同之处在于,图7中的步骤S401可细化为图8中的步骤S4011至步骤S4014,图8所示的数据的解密方法还可包括步骤S406至步骤S408;对应地,图7中的步骤S403可细化为图8中的步骤S4031,图7中的步骤S404可细化为图8中的步骤S4041,图7中的步骤S405可细化为图8中的步骤S4051和步骤S4052。
在步骤S4011中,生成成对的第一密钥和第六密钥。
在步骤S4012中,生成成对的第五密钥和第九密钥,并向加密装置发送第五密钥。
在一些示例中,第五密钥可为公钥或对称密钥,在此并不限定。若第五密钥为公钥,则第九密钥为与第五密钥成对的私钥。若第五密钥为对称密钥,则第九密钥与第五密钥为相同的密钥。第五密钥用于加密装置对临时密钥加密。解密装置可通过线上或线下的方式将第五密钥向机密装置发送。
在步骤S4013中,接收加密装置发送的第二密钥密文,利用第九密钥对第二密钥密文解密,得到临时密钥。
加密装置利用第五密钥对临时密钥加密,得到第二密钥密文。即第二密钥密文为利用第五密钥加密的临时密钥。解密装置可利用自身生成的第九密钥对第二密钥密文解密,从而得到临时密钥。
在一些示例中,为了进一步减小第五密钥泄露的可能性,设置在利用第九密钥对第二密钥密文解密后,第五密钥和第九密钥的生存周期结束。第五密钥和第九密钥的生存周期结束,即第五密钥和第九密钥失效。
在步骤S4014中,利用临时密钥对第一密钥加密,得到第一密钥密文并向加密装置发送。
在步骤S406中,接收并安装加密装置发送的保密组件。
保密组件包括用于实现对目标密文解密的第一程序、用于实现签名验证的第二程序和用于实现混淆运算的第三程序。在一些示例中,保密组件可实现为函数库等,在此并不限定。
其中,加密装置可将第一程序、第二程序和第三程序写入保密组件中。具体地,第一程序、第二程序和第三程序可通过源代码和/或变量的方式编译进保密组件中。
在一些示例中,在第一密钥为对称密钥的情况下,保密组件可包括第六密钥,即将第六密钥通过源代码和/或变量的方式编译进保密组件中。也可不将第六密钥编译进保密组件,在需要利用第六密钥时,由解密装置直接提供。
在步骤S407中,向保密组件请求获取目标密文解密后的至少部分待加密数据。
解密装置可通过保密组件对加密文件进行解密和验证等过程。在通过保密组件完成对加密文件的加密和验证过程后,保密组件可直接向解密装置提供待加密数据。即解密装置可通过保密组件预先设置的接口向保密组件请求目标密文解密后的全部待加密数据或部分待加密数据,在此并不限定。
在步骤S408中,接收保密组件反馈的目标密文解密后的至少部分待加密数据。
保密组件接收到解密装置的请求后,可向解密装置反馈解密装置请求获取的全部或部分待加密数据。解密装置可通过保密组件预先设置的接口接收保密组件反馈的解密后的至少部分待加密数据。
在一些示例中,保密组件还可包括用于确定解密装置是否具有许可权限的第四程序。第四程序可通过源代码和/或变量的方式预先编译进保密组件中。为了进一步提高解密装置获取数据的合法性和可靠性,步骤S408可具体细化为:调用保密组件中的第四程序,在保密组件中确定解密装置是否具有许可权限;若确定解密装置具有许可权限,接收保密组件反馈的目标密文解密后的至少部分待加密数据。
比如,第四程序可用于检测加密文件的有效期是否截止。若加密文件的有效期还未截止,则认为解密装置具有许可权限,保密组件可反馈目标密文解密后的至少部分待加密数据,解密装置可接收到保密组件反馈的目标密文解密后的至少部分待加密数据。若加密文件的有效期已经截止,则认为解密装置不具有许可权限,保密组件不反馈目标密文解密后的至少部分待加密数据,解密装置也无法接收到保密组件反馈的目标密文解密后的至少部分待加密数据。
第四程序也可用于检测保密组件的安装环境是否符合有效条件,例如,安装时间、中央处理器(Central Processing Unit)个数、内存大小、网卡物理地址、主机互联网协议(Internet Protocol,IP)地址等是否符合有效条件。若保密组件的安装环境符合有效条件,则认为解密装置具有许可权限,保密组件可反馈目标密文解密后的至少部分待加密数据,解密装置可接收到保密组件反馈的目标密文解密后的至少部分待加密数据。若保密组件的安装环境不符合有效条件,则认为解密装置不具有许可权限,保密组件不反馈目标密文解密后的至少部分待加密数据,解密装置也无法接收到保密组件反馈的目标密文解密后的至少部分待加密数据。
在步骤S4031中,调用保密组件中的第一程序,利用第六密钥,在保密组件中对目标密文解密,得到第二密钥、待加密数据和第一签名。
在一些示例中,解密装置可通过调用保密组件预先设置的接口,调用保密组件中的第一程序,利用解密装置中的第六密钥,在保密组件中对目标密文解密。解密装置自身不需要对目标密文解密,从而减少了解密装置需要承担的开发工作量,提高了对加密装置、待加密数据和解密装置的保护的安全性。
在另一些示例中,解密装置也可不调用保密组件,由解密装置自身完成目标密文的解密,在此并不限定。
在步骤S4041中,调用保密组件中的第二程序,利用解密得到的第二密钥,在保密组件中对目标密文和第二签名进行验证。
其中,第七密钥与第二密钥相同。在一些示例中,解密装置可通过调用保密组件预先设置的接口,调用保密组件中的第二程序,利用调用第一程序对目标密文解密得到的第二密钥,在保密组件中对目标密文和第二签名进行验证。解密装置自身不需要对目标密文和第二签名进行验证,从而减少了解密装置需要承担的开发工作量,提高了对加密装置、待加密数据和解密装置的保护的安全性。
在另一些示例中,解密装置也可不调用保密组件,由解密装置自身完成对目标密文和第二签名的验证,在此并不限定。
在步骤S4051中,调用保密组件中的第三程序,在保密组件中对解密得到的第二密钥与待加密数据进行混淆运算,得到第二混淆运算结果数据。
在一些示例中,解密装置可通过调用保密组件预先设置的接口,调用保密组件中的第三程序,在保密组件中对解密得到的第二密钥与待加密数据进行混淆运算,得到第二混淆运算结果数据。解密装置自身不需要对解密得到的第二密钥与待加密数据进行混淆运算,从而减少了解密装置需要承担的开发工作量,提高了对加密装置、待加密数据和解密装置的保护的安全性。
在另一些示例中,解密装置也可不调用保密组件,由解密装置自身完成对解密得到的第二密钥与待加密数据的混淆运算,在此并不限定。
在步骤S4052中,调用保密组件中的第二程序,利用解密得到的第二密钥,在保密组件中对第二混淆运算结果数据和第一签名进行验证。
其中,第八密钥与第二密钥相同。在一些示例中,解密装置可通过调用保密组件预先设置的接口,调用保密组件中的第二程序,利用调用第一程序对目标密文解密得到的第二密钥,在保密组件中进行对第二混淆运算结果数据和第一签名的验证。解密装置自身不需要对第二混淆运算结果数据和第一签名的验证,从而减少了解密装置需要承担的开发工作量,提高了对加密装置、待加密数据和解密装置的保护的安全性。
在另一些示例中,解密装置也可不调用保密组件,由解密装置自身完成对第二混淆运算结果数据和第一签名的验证,在此并不限定。
解密装置可调用保密组件完成解密、验证等过程,不需要解密装置自身完成解密、验证等过程。减少了解密装置承担的开发工作量,解密装置自身无需置入过多安全算法和相关协议,从而降低了解密装置被攻破后数据、密钥泄露的风险,进一步提高了数据保护的安全性。
在本申请的又一些实施例中,数据的解密方法还可包括接收解密装置发送的加密文件的校验值,利用校验值对加密文件进行校验的步骤。解密装置可根据该校验值校验加密文件是否被替换或被篡改。其中,若加密装置生成了保密组件,保密组件为静态保密组件或动态保密组件。
或者,数据的解密方法还可包括接收解密装置发送的加密文件和保密组件的校验值,利用校验值对加密文件和保密组件进行校验的步骤该校验值是基于加密文件和保密组件计算得到的。解密装置可根据该校验值校验加密文件和保密组件是否被替换或被篡改,从而进一步提高对加密文件和保密组件的保护的安全性。其中,保密组件为动态保密组件。
图9为本申请一实施例提供的一种数据的加解密方法的流程图。该数据的加解密方法可应用于包括加密装置和解密装置的数据的加解密***。如图9所示,该数据的加解密方法可包括步骤S501至步骤S513。
在步骤S501中,解密装置生成并向加密装置发送第五密钥。
在步骤S502中,加密装置生成临时密钥,利用第五密钥对临时密钥加密,得到第二密钥密文。
在步骤S503中,加密装置向解密装置发送第二密钥密文。
在步骤S504中,解密装置利用第九密钥对接收到的第二密钥密文解密,得到临时密钥。
在步骤S505中,解密装置生成成对的第一密钥和第六密钥,利用临时密钥对第一密钥加密,得到第一密钥密文。
在步骤S506中,解密装置向加密装置发送第一密钥密文。
在步骤S507中,加密装置利用临时密钥对第一密钥密文解密,得到第一密钥,利用第一密钥对第二密钥、待加密数据和第一签名加密,得到目标密文。
在步骤S508中,加密装置根据第四密钥,得到目标密文的第二签名。
在步骤S509中,加密装置生成并向解密装置发送包括目标密文和第二签名的加密文件。
在步骤S510中,解密装置利用第六密钥,对接收到的加密文件中的目标密文解密,得到第二密钥、待加密数据和第一签名。
在步骤S511中,利用与第四密钥成对的第七密钥,对目标密文和第二签名进行验证。
在步骤S512中,对解密得到的第二密钥与待加密数据进行与加密装置中相同的混淆运算,得到第二混淆运算结果数据。
在步骤S513中,利用与第三密钥成对的第八密钥,对第二混淆运算结果数据和第一签名进行验证。
在本申请实施例中,通过加密装置与解密装置之间对传递的密钥进行加密的防护措施,以及通过加密装置对待加密数据进行混淆、签名、加密和再签名的多层防护处理,降低了待加密数据泄露、被篡改以及密钥泄露的风险,提高了数据保护的安全性。
本申请实施例提供的数据的加解密方法的其他内容还可参见上述实施例中的数据的加密方法以及数据的解密方法,在此不再赘述。
图10为本申请一实施例提供的一种加密装置的结构示意图。如图10所示,加密装置10可包括密钥管理模块101、发送模块102、接收模块103、加解密模块104、签名模块105和加密文件生成模块106。
密钥管理模块101,用于生成临时密钥,以及,用于获取第四密钥。
发送模块102,用于向解密装置发送临时密钥。
接收模块103,用于接收解密装置发送的第一密钥密文。
其中,第一密钥密文为解密装置利用临时密钥对第一密钥加密的密文。
加解密模块104,用于利用临时密钥对第一密钥密文解密,得到第一密钥,利用第一密钥对第二密钥、待加密数据和第一签名加密,得到目标密文。
其中,第一签名为根据第三密钥得到的第一混淆运算结果数据的签名。第一混淆运算结果数据为对第二密钥和待加密数据进行混淆运算后得到的数据。
签名模块105,用于根据第四密钥,得到目标密文的第二签名。
加密文件生成模块106,用于生成包括目标密文和第二签名的加密文件。
在本申请实施例中,加密装置生成并向解密装置发送临时密钥,以使解密装置利用临时密钥对第一密钥加密。加密装置利用临时密钥对接收的第一密钥密文进行解密,从而得到用于为第二密钥、待加密数据和第一签名加密的第一密钥。通过混淆、签名、加密和再签名,以及对加密所使用的密钥在传递过程中加密等多层防护,对待加密数据以及加密所需的密钥进行了处理,降低数据保护的风险系数,提高了数据保护的安全性。
在一些示例中,上述接收模块103,还用于获取解密装置生成的第五密钥。
加解密模块104,还用于利用第五密钥对临时密钥加密,得到第二密钥密文。
发送模块102,还用于向解密装置发送第二密钥密文。
在一些示例中,第二密钥为公钥,第三密钥和第四密钥相同,均为与第二密钥对应的私钥。则上述密钥管理模块101,还用于一并生成第二密钥、第三密钥和第四密钥。
图11为本申请另一实施例提供的一种加密装置的结构示意图。图11与图10的不同之处在于,图11所示的加密装置还可包括组件生成模块107、混淆运算模块108、保密信息输入模块109和校验计算模块110。
组件生成模块107,用于生成并向解密装置发送保密组件,以使解密装置可调用保密组件对加密文件进行解密和验证。
其中,保密组件包括用于实现对目标密文解密的第一程序、用于实现签名验证的第二程序和用于实现混淆运算的第三程序。
在另一些示例中,保密组件还包括用于确定解密装置是否具有许可权限的第四程序。
混淆运算模块108,用于生成混淆运算的混淆算法,并随机生成混淆算法中的混淆因子,以及,用于对第二密钥和待加密数据进行混淆运算。
保密信息输入模块109,用于获取输入的待加密数据。
校验计算模块110,用于基于加密文件,生成并向解密装置发送加密文件的校验值;或者,用于基于加密文件和保密组件,生成并向解密装置发送加密文件和保密组件的校验值。
图12为本申请一实施例提供的一种解密装置的结构示意图。如图12所示,该解密装置20可包括密钥管理模块201、接收模块202、加解密模块203、发送模块204和签名验证模块205。
密钥管理模块201,用于生成成对的第一密钥和第六密钥。
接收模块202,用于接收加密装置发送的临时密钥,以及,用于接收加密装置发送的包括目标密文和第二签名的加密文件。
其中,第二签名为加密装置根据第四密钥得到的目标密文的签名。
加解密模块203,用于利用临时密钥对第一密钥加密,得到第一密钥密文,以及,用于利用第六密钥,对目标密文解密,得到第二密钥、待加密数据和第一签名。
发送模块204,用于将第一密钥密文向加密装置发送。
签名验证模块205,用于利用与第四密钥成对的第七密钥,对目标密文和第二签名进行验证,以及,用于对解密得到的第二密钥与待加密数据进行与加密装置中相同的混淆运算,得到第二混淆运算结果数据,利用与第三密钥成对的第八密钥,对第二混淆运算结果数据和第一签名进行验证。
其中,第一签名为加密装置根据第三密钥得到的第一混淆运算结果数据的签名。
在本申请实施例中,解密装置生成第一密钥,利用加密装置发送来的临时密钥对第一密钥加密,以向加密装置发送加密后的第一密钥,对加密装置加密所使用的密钥在传递过程中加密。解密装置接收到的加密文件包括目标密文和第二签名,利用第六密钥对目标密文解密,加密目标密文所使用的第一密钥在传递过程中加密,降低了数据保护的风险系数,提高了数据保护的安全性。
在一些示例中,上述签名验证模块205,还用于若对目标密文和第二签名的验证成功,且对第二混淆运算结果和第一签名的验证成功,确定加密文件未被篡改。
在一些示例中,密钥管理模块201,还用于生成成对的第五密钥和第九密钥。
发送模块204,还用于向加密装置发送第五密钥。
接收模块202,还用于接收加密装置发送的第二密钥密文。
加解密模块203,还用于利用第九密钥对第二密钥密文解密,得到临时密钥。
图13为本申请一实施例提供的一种解密装置的结构示意图。图13与图12的不同之处在于,图13所示的解密转置20还可包括组件安装模块206、保密信息获取模块207和校验计算模块208。
组件安装模块206,用于接收并安装加密装置发送的保密组件。
其中,保密组件包括用于实现对目标密文解密的第一程序、用于实现签名验证的第二程序和用于实现混淆运算的第三程序。
在一些示例中,保密组件还包括第六密钥。加解密模块203,具体用于调用保密组件中的第一程序和第六密钥,在保密组件中对目标密文解密,得到第二密钥、待加密数据和第一签名。
在另一些示例中,第七密钥与第二密钥相同。签名验证模块205,具体用于调用保密组件中的第二程序,利用解密得到的第二密钥,在保密组件中对目标密文和第二签名进行验证。
在又一些示例中,第八密钥与第二密钥相同。签名验证模块205,具体用于调用保密组件中的第三程序,在保密组件中对解密得到的第二密钥与待加密数据进行混淆运算,得到第二混淆运算结果数据,以及,调用保密组件中的第二程序,利用解密得到的第二密钥,在保密组件中对第二混淆运算结果数据和第一签名进行验证。
保密信息获取模块207,用于向保密组件请求获取目标密文解密后的至少部分待加密数据,以及,用于接收保密组件反馈的目标密文解密后的至少部分待加密数据。
在一些示例中,保密组件还包括用于确定解密装置是否具有许可权限的第四程序。保密信息获取模块207,具体用于调用保密组件中的第四程序,在保密组件中确定解密装置是否具有许可权限,以及,用于若确定解密装置具有许可权限,接收保密组件反馈的目标密文解密后的至少部分待加密数据。
校验计算模块208,用于接收解密装置发送的加密文件的校验值,利用校验值对加密文件进行校验,或者,用于接收解密装置发送的加密文件和保密组件的校验值,利用校验值对加密文件和保密组件进行校验。
需要说明的是,图14为本申请一实施例提供的保密组件的结构示意图。如图14所示,与保密组件中的第一程序、第二程序、第三程序对应,保密组件60可包括解密单元601、签名验证单元602和混淆运算单元603。与解密装置20的保密信息获取模块207以及第四程序对应,保密组件还可包括保密信息提取单元604和权限自校验模块605。
解密单元601可存储第一程序,用于利用第六密钥对目标密文解密。
签名验证单元602可存储第二程序,用于根据第七密钥,对目标密文和第二签名进行验证,以及,用于利用第八密钥,对第二混淆运算结果数据和第一签名进行验证。
混淆运算单元603存储有第三程序,用于对解密得到的第二密钥与待加密数据进行混淆运算,得到第二混淆运算结果数据。
保密信息提取单元604,用于被解密装置20调用,以使解密装置20获取目标密文解密后的至少部分待加密数据。
权限自校验模块605存储有第四程序,用于确定解密装置是否具有许可权限,若确定解密装置具有许可权限,允许保密组件反馈目标密文解密后的至少部分待加密数据。
其中,第七密钥、第八密钥可均与第二密钥相同。
本申请一实施例还可提供一种数据的加解密***,该数据的加解密***的结构可参见图1。其中的加密装置10的具体内容可参见上述实施例中加密装置10的相关说明,在此不再赘述。解密装置20的具体内容可参见上述实施例中解密装置20的相关说明,在此不再赘述。
图15为本申请一实施例提供的一种加密装置的结构示意图。如图15所示,加密装置70包括存储器701、处理器702及存储在存储器701上并可在处理器702上运行的计算机程序。
在一个示例中,上述处理器702可以包括中央处理器(CPU),或者特定集成电路(ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器701可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器701可包括HDD、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器701可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器701可在终端热点开启加密装置70的内部或外部。在特定实施例中,存储器701是非易失性固态存储器。在特定实施例中,存储器701包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器702通过读取存储器701中存储的可执行程序代码来运行与可执行程序代码对应的计算机程序,以用于实现上述实施例中数据的加密方法。
在一个示例中,加密装置70还可包括通信接口703和总线704。其中,如图15所示,存储器701、处理器702、通信接口703通过总线704连接并完成相互间的通信。
通信接口703,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。也可通过通信接口703接入输入设备和/或输出设备。
总线704包括硬件、软件或两者,将加密装置70的部件彼此耦接在一起。举例来说而非限制,总线704可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、***组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线704可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
本申请实施例还可提供一种解密装置,解密装置的具体结构可参见图15所示的加密装置70。需要说明的是,解密装置中的处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的计算机程序,以用于实现上述实施例中数据的解密方法,其余内容可参见上述实施例中的相关说明,在此不再赘述。
本申请一实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时可实现上述实施例中的数据的加密方法或数据的解密方法。
需要明确的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。对于装置实施例、***实施例和计算机可读存储介质实施例而言,相关之处可以参见方法实施例的说明部分。本申请并不局限于上文所描述并在图中示出的特定步骤和结构。本领域的技术人员可以在领会本申请的精神之后,作出各种改变、修改和添加,或者改变步骤之间的顺序。并且,为了简明起见,这里省略对已知方法技术的详细描述。
本领域技术人员应能理解,上述实施例均是示例性而非限制性的。在不同实施例中出现的不同技术特征可以进行组合,以取得有益效果。本领域技术人员在研究附图、说明书及权利要求书的基础上,应能理解并实现所揭示的实施例的其他变化的实施例。在权利要求书中,术语“包括”并不排除其他装置或步骤;不定冠词“一个”不排除多个;术语“第一”、“第二”用于标示名称而非用于表示任何特定的顺序。权利要求中的任何附图标记均不应被理解为对保护范围的限制。权利要求中出现的多个部分的功能可以由一个单独的硬件或软件模块来实现。某些技术特征出现在不同的从属权利要求中并不意味着不能将这些技术特征进行组合以取得有益效果。

Claims (43)

1.一种数据的加密方法,其特征在于,应用于加密装置,所述方法包括:
生成并向解密装置发送临时密钥;
接收所述解密装置发送的第一密钥密文,所述第一密钥密文为所述解密装置利用所述临时密钥对第一密钥加密的密文;
利用所述临时密钥对所述第一密钥密文解密,得到所述第一密钥,利用所述第一密钥对第二密钥、待加密数据和第一签名加密,得到目标密文,所述第一签名为根据第三密钥得到的第一混淆运算结果数据的签名,所述第一混淆运算结果数据为对所述第二密钥和所述待加密数据进行混淆运算后得到的数据;
获取第四密钥,根据第四密钥,得到所述目标密文的第二签名;
生成所述包括所述目标密文和所述第二签名的加密文件;
所述方法还包括:
生成所述混淆运算的混淆算法,并随机生成所述混淆算法中的混淆因子。
2.根据权利要求1所述的方法,其特征在于,所述生成并向解密装置发送临时密钥,包括:
获取解密装置生成的第五密钥;
生成所述临时密钥,利用所述第五密钥对所述临时密钥加密,得到第二密钥密文;
向所述解密装置发送第二密钥密文。
3.根据权利要求1所述的方法,其特征在于,在利用所述临时密钥对所述第一密钥密文解密之后,所述临时密钥的生存周期结束。
4.根据权利要求1所述的方法,其特征在于,还包括:
生成并向解密装置发送保密组件,所述保密组件包括用于实现对所述目标密文解密的第一程序、用于实现签名验证的第二程序和用于实现所述混淆运算的第三程序,以使所述解密装置可调用所述保密组件对所述加密文件进行解密和验证。
5.根据权利要求4所述的方法,其特征在于,所述保密组件还包括用于确定所述解密装置是否具有许可权限的第四程序。
6.根据权利要求4所述的方法,其特征在于,还包括:
基于所述加密文件,生成并向所述解密装置发送所述加密文件的校验值;
或者,
基于所述加密文件和所述保密组件,生成并向所述解密装置发送所述加密文件和所述保密组件的校验值。
7.根据权利要求1所述的方法,其特征在于,还包括:
获取输入的所述待加密数据。
8.根据权利要求1所述的方法,其特征在于,所述第一密钥为公钥或对称密钥。
9.根据权利要求1所述的方法,其特征在于,所述第二密钥为公钥,所述第三密钥和/或第四密钥为与所述第二密钥对应的私钥。
10.根据权利要求1所述的方法,其特征在于,所述第三密钥与所述第四密钥相同。
11.一种数据的解密方法,其特征在于,应用于解密装置,所述方法包括:
生成成对的第一密钥和第六密钥,接收加密装置发送的临时密钥,利用所述临时密钥对所述第一密钥加密,得到第一密钥密文并向所述加密装置发送;
接收所述加密装置发送的包括目标密文和第二签名的加密文件,所述第二签名为加密装置根据第四密钥得到的所述目标密文的签名;
利用所述第六密钥,对所述目标密文解密,得到第二密钥、待加密数据和第一签名;
利用与所述第四密钥成对的第七密钥,对所述目标密文和所述第二签名进行验证;
对解密得到的所述第二密钥与所述待加密数据进行与所述加密装置中相同的混淆运算,得到第二混淆运算结果数据,利用与第三密钥成对的第八密钥,对所述第二混淆运算结果数据和所述第一签名进行验证,所述第一签名为所述加密装置根据所述第三密钥得到的第一混淆运算结果数据的签名,所述混淆运算的混淆算法包括所述加密装置随机生成的混淆因子。
12.根据权利要求11所述的方法,其特征在于,还包括:
若对所述目标密文和所述第二签名的验证成功,且对所述第二混淆运算结果数据和所述第一签名的验证成功,确定所述加密文件未被篡改。
13.根据权利要求11所述的方法,其特征在于,所述接收加密装置发送的临时密钥,包括:
生成成对的第五密钥和第九密钥,并向所述加密装置发送第五密钥;
接收所述加密装置发送的第二密钥密文,利用所述第九密钥对所述第二密钥密文解密,得到所述临时密钥。
14.根据权利要求13所述的方法,其特征在于,在利用所述第九密钥对所述第二密钥密文解密后,所述第五密钥和所述第九密钥的生存周期结束。
15.根据权利要求11所述的方法,其特征在于,还包括:
接收并安装所述加密装置发送的保密组件,所述保密组件包括用于实现对所述目标密文解密的第一程序、用于实现签名验证的第二程序和用于实现所述混淆运算的第三程序;
向所述保密组件请求获取所述目标密文解密后的至少部分待加密数据;
接收所述保密组件反馈的所述目标密文解密后的至少部分待加密数据。
16.根据权利要求15所述的方法,其特征在于,所述利用所述第六密钥,对所述目标密文解密,得到第二密钥、待加密数据和第一签名,包括:
调用所述保密组件中的所述第一程序,利用所述第六密钥,在所述保密组件中对所述目标密文解密,得到第二密钥、待加密数据和第一签名。
17.根据权利要求15所述的方法,其特征在于,所述第七密钥与所述第二密钥相同,
所述利用与所述第四密钥成对的第七密钥,对所述目标密文和所述第二签名进行验证,包括:
调用所述保密组件中的所述第二程序,利用解密得到的所述第二密钥,在所述保密组件中对所述目标密文和所述第二签名进行验证。
18.根据权利要求15所述的方法,其特征在于,所述第八密钥与所述第二密钥相同,
所述对解密得到的所述第二密钥与所述待加密数据进行与所述加密装置中相同的混淆运算,得到第二混淆运算结果数据,利用与第三密钥成对的第八密钥,对所述第二混淆运算结果数据和所述第一签名进行验证,包括:
调用所述保密组件中的所述第三程序,在所述保密组件中对解密得到的所述第二密钥与所述待加密数据进行混淆运算,得到所述第二混淆运算结果数据;
调用所述保密组件中的所述第二程序,利用解密得到的所述第二密钥,在所述保密组件中对所述第二混淆运算结果数据和所述第一签名进行验证。
19.根据权利要求15所述的方法,其特征在于,所述保密组件还包括用于确定所述解密装置是否具有许可权限的第四程序,
所述接收所述保密组件反馈的所述目标密文解密后的至少部分待加密数据,包括:
调用所述保密组件中的所述第四程序,在所述保密组件中确定所述解密装置是否具有许可权限;
若确定所述解密装置具有许可权限,接收所述保密组件反馈的所述目标密文解密后的至少部分待加密数据。
20.根据权利要求15所述的方法,其特征在于,还包括:
接收所述解密装置发送的所述加密文件的校验值,利用所述校验值对所述加密文件进行校验;
或者,
接收所述解密装置发送的所述加密文件和所述保密组件的校验值,利用所述校验值对所述加密文件和所述保密组件进行校验。
21.根据权利要求11所述的方法,其特征在于,所述第一密钥为公钥或对称密钥。
22.根据权利要求11所述的方法,其特征在于,所述第二密钥为公钥,所述第七密钥和/或第八密钥与所述第二密钥相同。
23.根据权利要求11所述的方法,其特征在于,所述第三密钥与所述第四密钥相同。
24.一种加密装置,其特征在于,包括:
密钥管理模块,用于生成临时密钥,以及,用于获取第四密钥;
发送模块,用于向解密装置发送所述临时密钥;
接收模块,用于接收所述解密装置发送的第一密钥密文,所述第一密钥密文为所述解密装置利用所述临时密钥对第一密钥加密的密文;
加解密模块,用于利用所述临时密钥对所述第一密钥密文解密,得到所述第一密钥,利用所述第一密钥对第二密钥、待加密数据和第一签名加密,得到目标密文,所述第一签名为根据第三密钥得到的第一混淆运算结果数据的签名,所述第一混淆运算结果数据为对所述第二密钥和所述待加密数据进行混淆运算后得到的数据;
签名模块,用于根据第四密钥,得到所述目标密文的第二签名;
加密文件生成模块,用于生成所述包括所述目标密文和所述第二签名的加密文件;
混淆运算模块,用于生成所述混淆运算的混淆算法,并随机生成所述混淆算法中的混淆因子。
25.根据权利要求24所述的装置,其特征在于,
所述接收模块,还用于获取解密装置生成的第五密钥;
所述加解密模块,还用于利用所述第五密钥对所述临时密钥加密,得到第二密钥密文;
所述发送模块,还用于向所述解密装置发送第二密钥密文。
26.根据权利要求24所述的装置,其特征在于,还包括:
组件生成模块,用于生成并向解密装置发送保密组件,所述保密组件包括用于实现对所述目标密文解密的第一程序、用于实现签名验证的第二程序和用于实现所述混淆运算的第三程序,以使所述解密装置可调用所述保密组件对所述加密文件进行解密和验证。
27.根据权利要求26所述的装置,其特征在于,所述保密组件还包括用于确定所述解密装置是否具有许可权限的第四程序。
28.根据权利要求26所述的装置,其特征在于,还包括:
校验计算模块,用于基于所述加密文件,生成并向所述解密装置发送所述加密文件的校验值;或者,用于基于所述加密文件和所述保密组件,生成并向所述解密装置发送所述加密文件和所述保密组件的校验值。
29.根据权利要求24所述的装置,其特征在于,还包括:
混淆运算模块,还用于对所述第二密钥和所述待加密数据进行混淆运算。
30.根据权利要求24所述的装置,其特征在于,还包括:
保密信息输入模块,用于获取输入的所述待加密数据。
31.一种数据的解密装置,其特征在于,包括:
密钥管理模块,用于生成成对的第一密钥和第六密钥;
接收模块,用于接收加密装置发送的临时密钥,以及,用于接收所述加密装置发送的包括目标密文和第二签名的加密文件,所述第二签名为加密装置根据第四密钥得到的所述目标密文的签名;
加解密模块,用于利用所述临时密钥对所述第一密钥加密,得到第一密钥密文,以及,用于利用所述第六密钥,对所述目标密文解密,得到第二密钥、待加密数据和第一签名;
发送模块,用于将所述第一密钥密文向所述加密装置发送;
签名验证模块,用于利用与所述第四密钥成对的第七密钥,对所述目标密文和所述第二签名进行验证,以及,用于对解密得到的所述第二密钥与所述待加密数据进行与所述加密装置中相同的混淆运算,得到第二混淆运算结果数据,利用与第三密钥成对的第八密钥,对所述第二混淆运算结果数据和所述第一签名进行验证,所述第一签名为所述加密装置根据所述第三密钥得到的第一混淆运算结果数据的签名,所述混淆运算的混淆算法包括所述加密装置随机生成的混淆因子。
32.根据权利要求31所述的装置,其特征在于,还包括:
所述签名验证模块,还用于若对所述目标密文和所述第二签名的验证成功,且对所述第二混淆运算结果数据和所述第一签名的验证成功,确定所述加密文件未被篡改。
33.根据权利要求31所述的装置,其特征在于,
所述密钥管理模块,还用于生成成对的第五密钥和第九密钥;
所述发送模块,还用于向所述加密装置发送所述第五密钥;
所述接收模块,还用于接收所述加密装置发送的第二密钥密文;
所述加解密模块,还用于利用所述第九密钥对所述第二密钥密文解密,得到所述临时密钥。
34.根据权利要求31所述的装置,其特征在于,还包括:
组件安装模块,用于接收并安装所述加密装置发送的保密组件,所述保密组件包括用于实现对所述目标密文解密的第一程序、用于实现签名验证的第二程序和用于实现所述混淆运算的第三程序;
保密信息获取模块,用于向所述保密组件请求获取所述目标密文解密后的至少部分待加密数据,以及,用于接收所述保密组件反馈的所述目标密文解密后的至少部分待加密数据。
35.根据权利要求34所述的装置,其特征在于,
所述加解密模块,具体用于调用所述保密组件中的所述第一程序,利用所述第六密钥,在所述保密组件中对所述目标密文解密,得到第二密钥、待加密数据和第一签名。
36.根据权利要求34所述的装置,其特征在于,所述第七密钥与所述第二密钥相同,
所述签名验证模块,具体用于调用所述保密组件中的所述第二程序,利用解密得到的所述第二密钥,在所述保密组件中对所述目标密文和所述第二签名进行验证。
37.根据权利要求34所述的装置,其特征在于,所述第八密钥与所述第二密钥相同,
所述签名验证模块,具体用于调用所述保密组件中的所述第三程序,在所述保密组件中对解密得到的所述第二密钥与所述待加密数据进行混淆运算,得到所述第二混淆运算结果数据,以及,调用所述保密组件中的所述第二程序,利用解密得到的所述第二密钥,在所述保密组件中对所述第二混淆运算结果数据和所述第一签名进行验证。
38.根据权利要求34所述的装置,其特征在于,所述保密组件还包括用于确定所述解密装置是否具有许可权限的第四程序,
所述保密信息获取模块,具体用于调用所述保密组件中的所述第四程序,在所述保密组件中确定所述解密装置是否具有许可权限,以及,用于若确定所述解密装置具有许可权限,接收所述保密组件反馈的所述目标密文解密后的至少部分待加密数据。
39.根据权利要求34所述的装置,其特征在于,还包括:
校验计算模块,用于接收所述解密装置发送的所述加密文件的校验值,利用所述校验值对所述加密文件进行校验,或者,用于接收所述解密装置发送的所述加密文件和所述保密组件的校验值,利用所述校验值对所述加密文件和所述保密组件进行校验。
40.一种数据的加解密***,其特征在于,包括如权利要求24至30中任意一项所述的加密装置和如权利要求31至39中任意一项所述的解密装置。
41.一种加密装置,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至10中任意一项所述的数据的加密方法。
42.一种加密装置,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求11至23中任意一项所述的数据的解密方法。
43.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10中任意一项所述的数据的加密方法或如权利要求11至23中任意一项所述的数据的解密方法。
CN201911174966.6A 2019-11-26 2019-11-26 数据的加解密方法、装置、***及存储介质 Active CN110995685B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201911174966.6A CN110995685B (zh) 2019-11-26 2019-11-26 数据的加解密方法、装置、***及存储介质
TW109126455A TWI813894B (zh) 2019-11-26 2020-08-05 資料的加解密方法、裝置、系統及存儲介質
PCT/CN2020/124933 WO2021103921A1 (zh) 2019-11-26 2020-10-29 数据的加解密方法、装置、***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911174966.6A CN110995685B (zh) 2019-11-26 2019-11-26 数据的加解密方法、装置、***及存储介质

Publications (2)

Publication Number Publication Date
CN110995685A CN110995685A (zh) 2020-04-10
CN110995685B true CN110995685B (zh) 2022-07-19

Family

ID=70086982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911174966.6A Active CN110995685B (zh) 2019-11-26 2019-11-26 数据的加解密方法、装置、***及存储介质

Country Status (3)

Country Link
CN (1) CN110995685B (zh)
TW (1) TWI813894B (zh)
WO (1) WO2021103921A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995685B (zh) * 2019-11-26 2022-07-19 ***股份有限公司 数据的加解密方法、装置、***及存储介质
CN112235111B (zh) * 2020-12-17 2021-03-09 腾讯科技(深圳)有限公司 密钥生成方法、装置、设备及计算机可读存储介质
CN112685781A (zh) * 2020-12-31 2021-04-20 上海玳鸽信息技术有限公司 一种隐私数据交换方法、***、电子设备及存储介质
CN113779598A (zh) * 2021-08-27 2021-12-10 北京达佳互联信息技术有限公司 数据处理方法、装置、服务器及存储介质
CN114499871B (zh) * 2021-12-23 2024-01-09 成都卫士通信息产业股份有限公司 一种签名加密方法、装置、***及计算机可读存储介质
CN115481419B (zh) * 2022-09-13 2023-04-14 北京海泰方圆科技股份有限公司 文件处理方法、装置、计算机设备和可读存储介质
CN116455892B (zh) * 2023-04-19 2023-10-27 惠州市乐亿通科技有限公司 文件传输方法、传输装置及终端设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106712932A (zh) * 2016-07-20 2017-05-24 腾讯科技(深圳)有限公司 密钥管理方法、装置及***
CN108418817A (zh) * 2018-02-14 2018-08-17 华为技术有限公司 一种加密方法及装置
CN109462472A (zh) * 2017-09-06 2019-03-12 阿里巴巴集团控股有限公司 数据加密和解密的方法、装置和***
CN109657479A (zh) * 2017-10-11 2019-04-19 厦门雅迅网络股份有限公司 数据防泄漏方法及计算机可读存储介质
CN109889344A (zh) * 2019-01-31 2019-06-14 深圳中兴飞贷金融科技有限公司 终端、数据的传输方法和计算机可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4427693B2 (ja) * 1998-10-02 2010-03-10 ソニー株式会社 データ処理装置および方法、並びにデータ復号処理装置および方法
US8719954B2 (en) * 2006-10-11 2014-05-06 Bassilic Technologies Llc Method and system for secure distribution of selected content to be protected on an appliance-specific basis with definable permitted associated usage rights for the selected content
US20080092239A1 (en) * 2006-10-11 2008-04-17 David H. Sitrick Method and system for secure distribution of selected content to be protected
CN102087605B (zh) * 2011-01-28 2014-05-07 宇龙计算机通信科技(深圳)有限公司 一种基于android平台应用安装控制方法及***
TWI486808B (zh) * 2013-06-26 2015-06-01 Taiwan Ca Inc 使用電子憑證驗證電子保單之系統及其方法
US11368445B2 (en) * 2018-05-21 2022-06-21 Amazon Technologies, Inc. Local encryption for single sign-on
CN110995685B (zh) * 2019-11-26 2022-07-19 ***股份有限公司 数据的加解密方法、装置、***及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106712932A (zh) * 2016-07-20 2017-05-24 腾讯科技(深圳)有限公司 密钥管理方法、装置及***
CN109462472A (zh) * 2017-09-06 2019-03-12 阿里巴巴集团控股有限公司 数据加密和解密的方法、装置和***
CN109657479A (zh) * 2017-10-11 2019-04-19 厦门雅迅网络股份有限公司 数据防泄漏方法及计算机可读存储介质
CN108418817A (zh) * 2018-02-14 2018-08-17 华为技术有限公司 一种加密方法及装置
CN109889344A (zh) * 2019-01-31 2019-06-14 深圳中兴飞贷金融科技有限公司 终端、数据的传输方法和计算机可读存储介质

Also Published As

Publication number Publication date
WO2021103921A1 (zh) 2021-06-03
TWI813894B (zh) 2023-09-01
TW202121866A (zh) 2021-06-01
CN110995685A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN110995685B (zh) 数据的加解密方法、装置、***及存储介质
CN110493197B (zh) 一种登录处理方法及相关设备
EP3257227B1 (en) Confidential communication management
CN110891061B (zh) 数据的加解密方法、装置、存储介质及加密文件
CN110519309B (zh) 数据传输方法、装置、终端、服务器及存储介质
CN102077213B (zh) 用于确保通信的认证和完整性的技术
KR101311059B1 (ko) 취소 정보 관리
JP2013516685A (ja) コンピューターポリシーを施行するためのシステムおよび方法
KR20070112115A (ko) 파일의 암호화·복호화 방법, 장치, 프로그램 및 이프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN111181928A (zh) 车辆诊断方法、服务器及计算机可读存储介质
CN114710351A (zh) 用于在通信过程中改进数据安全性的方法和***
US8774407B2 (en) System and method for executing encrypted binaries in a cryptographic processor
CN110719173A (zh) 一种信息处理方法及装置
CN114244522B (zh) 信息保护方法、装置、电子设备及计算机可读存储介质
CN105099705A (zh) 一种基于usb协议的安全通信方法及其***
JP2017011491A (ja) 認証システム
CN106992978B (zh) 网络安全管理方法及服务器
CN110445774B (zh) IoT设备的安全防护方法、装置及设备
JP2019009728A (ja) セキュアエレメント、コンピュータプログラム、デバイス、サーバ及びセキュアエレメントによる認証方法
CN113508380A (zh) 用于终端实体认证的方法
CN113872769B (zh) 基于puf的设备认证方法、装置、计算机设备及存储介质
CN111708991B (zh) 服务的授权方法、装置、计算机设备和存储介质
CN115001749B (zh) 设备授权方法、装置、设备及介质
CN111555873B (zh) 一种远程鉴权方法、装置及***
JP6053582B2 (ja) 暗号処理装置、暗号処理方法、暗号処理プログラム、及び認証方法

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021036

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant