CN107959567B - 数据存储方法、数据获取方法、装置及系统 - Google Patents

数据存储方法、数据获取方法、装置及系统 Download PDF

Info

Publication number
CN107959567B
CN107959567B CN201610900293.8A CN201610900293A CN107959567B CN 107959567 B CN107959567 B CN 107959567B CN 201610900293 A CN201610900293 A CN 201610900293A CN 107959567 B CN107959567 B CN 107959567B
Authority
CN
China
Prior art keywords
data
key
ciphertext
storage
request
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
CN201610900293.8A
Other languages
English (en)
Other versions
CN107959567A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610900293.8A priority Critical patent/CN107959567B/zh
Priority to TW106126270A priority patent/TWI744371B/zh
Priority to US15/717,729 priority patent/US10574446B2/en
Priority to PCT/US2017/055066 priority patent/WO2018071244A1/en
Publication of CN107959567A publication Critical patent/CN107959567A/zh
Application granted granted Critical
Publication of CN107959567B publication Critical patent/CN107959567B/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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/0852Quantum cryptography
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Abstract

本申请公开了一种数据存储方法,同时公开了一种数据获取方法,一种数据提供方法及装置,另一种数据存储方法及装置,一种数据存储系统,另一种数据获取方法及装置,另一种数据提供方法及装置,一种数据获取系统,以及第三种数据获取方法。其中,一种数据获取方法包括:第一设备基于存储根密钥对所选数据密钥的密文解密,并用解密后的数据密钥对待存储的数据加密;第一设备向第二设备发送数据存储请求;第二设备接收数据存储请求后,将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储。上述方法,由于第一设备和第二设备彼此间的共享数据密钥都在各自可信平台模块的存储根密钥的保护之下,因此保证了数据密钥以及数据密文的安全性。

Description

数据存储方法、数据获取方法、装置及系统
技术领域
本申请涉及存储技术,具体涉及一种数据存储方法。本申请同时涉及一种数据获取方法,一种数据提供方法及相应装置,另一种数据存储方法及相应装置,一种数据存储系统,另一种数据获取方法及相应装置,另一种数据提供方法及相应装置,一种数据获取系统,以及第三种数据获取方法。
背景技术
大数据时代,信息越来越多,数据量呈爆炸式增长,企业及个人用户等都意识到数据的重要性、以及数据存储的重要性,在这种背景下出现了数据存储服务,即:公司或企业可以将自己的数据存储到数据存储服务方的存储服务器或者存储外设中。
例如:云存储服务,即:企业或个人用户将数据外包给云服务提供商来存储和维护,使企业或个人用户只需较小的代价就能完全弥补本地软硬件资源不足、存储设备毁坏或丢失等缺陷,有利跨域用户间的数据共享和数据协作。然而存储在云端的数据完全脱离了用户的物理控制,易受到来自外部网络的有目标攻击和内部不可信管理员的恶意窥窃双重威胁。
为了解决数据存储服务所面临的数据安全问题,现有技术通常采用前端数据加解密方法,即数据拥有者在前端对数据加密处理以后再提交给数据存储服务提供方,而用户访问数据时首先通过密文索引准确获取到密文数据,然后再利用相应的数据密钥在前端解密并最终获得明文数据。
为了保证数据安全,通常将用于加解密数据的数据密钥采用一些特殊的方式存储在用户侧或云端,例如:以字符串的形式写入EXE文件中,再将文件存储在硬盘或者内存中;或者将密钥存储在U盘中。在实际应用中,第一种方式容易造成数据密钥的泄漏,从而导致存储在数据存储服务提供方设备上的用户数据可能被窃取并解密;第二种方式需要借助额外的物理媒介,而且一旦遗失,也易于造成数据密钥的泄漏,同样无法保证用户数据的安全存储。
发明内容
本申请实施例提供一种数据存储方法,以解决现有的设备间数据存储服务所存在的安全隐患。本申请实施例还提供一种数据获取方法,一种数据提供方法及相应装置,另一种数据存储方法及相应装置,一种数据存储系统,另一种数据获取方法及相应装置,另一种数据提供方法及相应装置,一种数据获取系统,以及第三种数据获取方法。
本申请提供一种数据存储方法,其中所涉及的第一设备和第二设备彼此共享至少两对数据密钥,并分别将各自的数据密钥以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储;
所述方法包括:
所述第一设备根据预设策略选取数据密钥后,基于相应可信平台模块的存储根密钥对所选数据密钥的密文解密,并用解密后的数据密钥对待存储的数据加密;
所述第一设备向所述第二设备发送数据存储请求,所述数据存储请求中至少携带所选数据密钥的密钥标识、以及加密后的数据密文;
所述第二设备接收数据存储请求后,根据与所述第一设备相同的预设策略以及所述数据存储请求携带的密钥标识,将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储。
可选的,所述第一设备和所述第二设备共享的每对数据密钥的密钥标识相同或者具有对应关系。
可选的,所述数据密钥包括:量子数据密钥。
可选的,在所述第一设备用解密后的数据密钥对待存储的数据加密之后,还包括:所述第一设备将所述解密后的数据密钥销毁。
可选的,所述预设策略为:每个数据密钥仅使用一次;所述第一设备根据预设策略选取数据密钥,包括:第一设备选取尚未被使用的数据密钥;
第二设备将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储,包括:第二设备将所述数据存储请求中的数据密文与相应的密钥标识对应存储。
可选的,所述第一设备向所述第二设备发送数据存储请求之前,还包括:采用预设散列算法,至少根据所述待存储的数据计算散列值;
所述第二设备将从所述数据存储请求中的数据密文与相应的密钥标识对应存储之后,包括:向所述第一设备返回确认应答;
所述第一设备接收所述确认应答后,将所述散列值与所选数据密钥的密钥标识对应存储。
可选的,所述预设策略为:每个数据密钥可以使用两次或两次以上;所述第一设备根据预设策略选取数据密钥,包括:第一设备选取任一数据密钥;
所述第一设备发送的数据存储请求中还携带:所述数据的数据标识;
所述第二设备将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储,包括:所述第二设备将所述数据存储请求中的数据密文与相应的密钥标识及所述数据标识对应存储。
可选的,所述第一设备向所述第二设备发送数据存储请求之前,还包括:采用预设散列算法,至少根据所述待存储的数据计算散列值;
所述第二设备将所述数据存储请求中的数据密文与相应的密钥标识及所述数据标识对应存储之后,包括:向所述第一设备返回确认应答;
所述第一设备接收所述确认应答后,将所述散列值与所选数据密钥的密钥标识及所述数据标识对应存储。
可选的,所述第一设备发送的数据存储请求中还携带:所述散列值;
所述第二设备接收所述数据存储请求之后,还包括:
根据所述数据存储请求携带的密钥标识,获取相应的数据密钥;
基于相应可信平台模块的存储根密钥对所述获取的数据密钥解密;
用解密后的数据密钥对从所述数据存储请求中提取的数据密文解密得到明文数据,并采用与第一设备相同的预设散列算法、至少根据所述明文数据计算散列值;
判断计算得到的散列值与所述数据存储请求中携带的散列值是否一致;
并在一致时,执行所述将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储的步骤。
可选的,在所述第一设备向所述第二设备发送数据存储请求之前,还包括:所述第一设备用与所述第二设备共享的秘密信息对所选数据密钥的密钥标识加密;
所述第一设备向所述第二设备发送的数据存储请求中携带的所选数据密钥的密钥标识,是指密钥标识密文;
所述第二设备在将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储之前,执行以下操作:采用所述共享的秘密信息对所述数据存储请求携带的密钥标识密文解密。
可选的,所述第一设备和所述第二设备分别具有可信计算平台,在所述第一设备根据预设策略选取数据密钥之前,包括:
所述第一设备和所述第二设备分别向对方发送至少包含可信证书的验证请求,并利用对方发送的验证请求中的信息对对方身份与平台的可信性进行验证;
并在所述第一设备和所述第二设备均通过验证后,执行所述第一设备根据预设策略选取数据密钥后,基于相应可信平台模块的存储根密钥对所选数据密钥的密文解密的步骤;
其中,所述可信证书是所述第一设备和所述第二设备分别预先根据授权中心基于系统私钥提供的相应信息获取的、与各自基于身份与平台信息的私钥对应的可信证书。
可选的,所述方法在云存储服务系统中实施,所述云存储服务系统包括:云提供商子系统,和云用户子系统;所述第一设备为云用户子系统中的终端设备;所述第二设备为:云提供商子系统中的提供数据存储服务的设备。
可选的,所述云提供商子系统中的提供数据存储服务的设备,包括:
服务器,所述相应的可信平台模块是指所述服务器的可信平台模块;或者,
无计算功能的存储外设,所述相应的可信平台模块是指为所述存储外设提供计算服务的机头服务器的可信平台模块;或者,
有计算功能的存储外设,所述相应的可信平台模块是指所述存储外设的可信平台模块。
可选的,所述受相应可信平台模块的存储根密钥保护的密文形式,包括:
用所述存储根密钥加密后的密文;或者,
用所述存储根密钥生成的存储密钥加密后的密文。
此外,本申请还提供一种数据获取方法,用于获取根据上述任一项所述方法存储的数据;所述数据获取方法,包括:
第一设备向第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识;
所述第二设备接收所述数据获取请求后,至少根据所述数据获取请求携带的密钥标识获取第一数据密文,并向第一设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文;
所述第一设备接收所述第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述数据获取请求携带的密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的第二数据密文解密,以获取明文数据。
可选的,所述第一设备向第二设备发送的数据获取请求中还携带所述第一数据的数据标识;
所述第二设备至少根据接收到的数据获取请求携带的密钥标识获取第一数据密文,包括:所述第一设备根据接收到的数据获取请求携带的密钥标识及数据标识,获取所述第一数据密文。
可选的,所述第一设备向所述第二设备发送的数据获取请求中不仅携带与所述第一数据对应的密钥标识,还携带用双方共享的秘密信息对所述密钥标识加密后的密钥标识密文;
所述第二设备接收所述数据获取请求后,包括:
用所述双方共享的秘密信息对所述数据获取请求中的密钥标识密文解密;
并当解密后的密钥标识与所述数据获取请求中携带的密钥标识一致时,执行所述至少根据所述数据获取请求携带的密钥标识获取已存储的第一数据密文,并向第一设备返回应答的步骤。
可选的,所述基于所述第一数据密文的、满足所述数据获取请求的第二数据密文包括:所述第一数据密文。
可选的,所述第一设备已存储了采用预设散列算法计算得到的所述第一数据的散列值;
所述第一设备在获取明文数据之后,包括:
采用所述预设散列算法,至少根据所述明文数据计算散列值;
判断已存储的所述第一数据的散列值、与计算得到的散列值是否一致,若一致,则保留所述明文数据。
可选的,所述第一设备向所述第二设备发送的数据获取请求中还携带计算描述信息;
所述第二设备在至少根据所述数据获取请求携带的密钥标识获取第一数据密文之后,在向所述第一设备返回应答之前,包括:
基于相应可信平台模块的存储根密钥对所述密钥标识对应的数据密钥的密文解密;
用解密后的数据密钥解密所述获取的第一数据密文,得到对应的明文数据;
根据所述数据获取请求中携带的计算描述信息,对所述第一数据密文对应的明文数据进行计算,以获取第二数据;
用所述解密后的数据密钥对所述第二数据加密,得到所述第二数据密文。
可选的,在第二设备向第一设备返回应答之后,包括:用所述第二数据密文替换已存储的所述第一数据密文。
可选的,所述第一设备已存储了采用预设散列算法计算得到的所述第一数据的散列值;
在所述第二设备获取所述第二数据之后,还包括:采用与所述第一设备相同的预设散列算法,至少根据所述第二数据计算散列值;
所述第二设备向所述第一设备返回的应答中还携带所述计算得到的散列值;
所述第一设备接收所述第二设备返回的应答后,还包括:用所述应答中的散列值替换已存储的所述第一数据的散列值。
可选的,所述第一设备接收所述第二设备返回的应答并获取明文数据之后,包括:
采用所述预设散列算法,至少根据所述明文数据计算散列值;
判断所述应答中携带的散列值、与计算得到的散列值是否一致,若一致则保留所述明文数据,并执行所述用所述应答中的散列值替换已存储的所述第一数据的散列值的步骤。
可选的,所述第一设备和第二设备分别具有可信计算平台,在所述第一设备向第二设备发送数据获取请求之前,包括:
所述第一设备和所述第二设备分别向对方发送至少包含可信证书的验证请求,并利用对方发送的验证请求中的信息对对方身份与平台的可信性进行验证;
并在所述第一设备和所述第二设备均通过验证后,执行所述第一设备向第二设备发送数据获取请求的步骤;
其中,所述可信证书是所述第一设备和所述第二设备分别预先根据授权中心基于系统私钥提供的相应信息获取的、与各自基于身份与平台信息的私钥对应的可信证书。
可选的,所述方法在云存储服务网络系统中实施,所述云存储服务网络系统包括:云提供商子系统,和云用户子系统;所述第一设备为云用户子系统中的终端设备;所述第二设备为:云提供商子系统中的提供数据存储服务的设备。
此外,本申请还提供一种数据提供方法,所述方法在第一设备中实施,用于向提供数据存储服务的第二设备提供待存储数据;本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;所述方法,包括:
根据预设策略选取数据密钥后,基于所述可信平台模块的存储根密钥对所选数据密钥的密文解密,并用解密后的数据密钥对待存储的数据加密;
向所述第二设备发送数据存储请求,所述数据存储请求中至少携带所选数据密钥的密钥标识、以及加密后的数据密文。
相应的,本申请还提供一种数据提供装置,包括:
数据加密单元,用于根据预设策略选取数据密钥后,基于相应可信平台模块的存储根密钥对所选数据密钥的密文解密,并用解密后的数据密钥对待存储的数据加密;
存储请求发送单元,用于向第二设备发送数据存储请求,所述数据存储请求中至少携带所选数据密钥的密钥标识、以及加密后的数据密文。
此外,本申请还提供另一种数据存储方法,所述方法在为第一设备提供数据存储服务的第二设备上设施;本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;所述方法包括:
接收第一设备发送的数据存储请求,所述数据存储请求中至少携带密钥标识、以及加密后的数据密文;
根据预设策略以及所述密钥标识,将所述数据密文至少与相应的密钥标识对应存储。
相应的,本申请还提供一种数据存储装置,包括:
存储请求接收单元,用于接收第一设备发送的数据存储请求,所述数据存储请求中至少携带密钥标识、以及加密后的数据密文;
数据密文存储单元,用于根据预设策略以及所述密钥标识,将所述数据密文至少与相应的密钥标识对应存储。
此外,本申请还提供一种数据存储系统,包括:根据上述任意一项所述的数据提供装置,以及根据上述任意一项所述的数据存储装置。
此外,本申请还提供另一种数据获取方法,所述方法在第一设备中实施,用于从提供数据存储服务的第二设备获取数据,本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;
所述方法包括:
向所述第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识;
接收所述第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的、基于第一数据密文的第二数据密文解密,以获取明文数据。
可选的,所述数据获取请求中还携带计算描述信息。
相应的,本申请还提供一种数据获取装置,包括:
获取请求发送单元,用于向所述第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识;
明文数据获取单元,用于接收所述第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的、基于第一数据密文的第二数据密文解密,以获取明文数据。
可选的,所述获取请求发送单元发送的数据获取请求中还携带计算描述信息。
此外,本申请还提供另一种数据提供方法,所述方法在为第一设备提供数据存储服务的第二设备上实施;本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;
所述方法包括:
接收第一设备发送的数据获取请求;
至少根据所述数据获取请求携带的密钥标识获取第一数据密文;
向所述第一设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文。
可选的,所述数据获取请求中还携带:计算描述信息;
在至少根据所述数据获取请求携带的密钥标识获取第一数据密文之后,在向所述第一设备返回应答之前,包括:
基于所述可信平台模块的存储根密钥对所述密钥标识对应的数据密钥的密文解密;
用解密后的数据密钥解密所述获取的第一数据密文,得到对应的明文数据;
根据所述数据获取请求中携带的计算描述信息,对所述第一数据密文对应的明文数据进行计算,以获取第二数据;
用所述解密后的数据密钥对所述第二数据加密,得到所述第二数据密文。
相应的,本申请还提供另一种数据提供装置,包括:
获取请求接收单元,用于接收第一设备发送的数据获取请求;
数据密文获取单元,用于至少根据所述数据获取请求携带的密钥标识获取第一数据密文;
数据密文返回单元,用于向所述第一设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文。
可选的,所述装置还包括:用于根据第一数据密文进行计算、以生成所述第二数据密文的数据密文计算单元;
所述数据密文计算单元,包括:
数据密钥解密子单元,用于基于所述可信平台模块的存储根密钥对所述密钥标识对应的数据密钥的密文解密;
第一数据密文解密子单元,用于用解密后的数据密钥解密所述获取的第一数据密文,得到对应的明文数据;
第二数据计算子单元,用于根据所述数据获取请求中携带的计算描述信息,对所述第一数据密文对应的明文数据进行计算,以获取第二数据;
第二数据加密子单元,用于用所述解密后的数据密钥对所述第二数据加密,得到所述第二数据密文。
此外,本申请还提供一种数据获取系统,包括:根据上述任意一项所述的一种数据获取装置,以及根据上述任意一项所述的另一种数据提供装置。
此外,本申请还提供第三种数据获取方法,所述方法用于获取根据上述任意一项所述的一种数据存储方法存储的数据,本方法涉及的第三设备与第二设备彼此共享至少两对数据密钥、且与第一设备和第二设备共享的数据密钥相同;第三设备将其与第二设备共享的数据密钥以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储;
所述数据获取方法,包括:
所述第三设备向所述第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识;
所述第二设备接收所述数据获取请求后,至少根据所述数据获取请求携带的密钥标识获取第一数据密文,并向所述第三设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文;
所述第三设备接收所述第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述数据获取请求携带的密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的第二数据密文解密,以获取明文数据。
与现有技术相比,本申请具有以下优点:
本申请提供的数据存储方法,第一设备和第二设备彼此共享至少两对数据密钥,并分别将各自的数据密钥以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储;所述第一设备根据预设策略选取数据密钥后,基于相应可信平台模块的存储根密钥对所选数据密钥的密文解密,并用解密后的数据密钥对待存储的数据加密;所述第一设备向所述第二设备发送数据存储请求,所述数据存储请求中至少携带所选数据密钥的密钥标识、以及加密后的数据密文;所述第二设备接收数据存储请求后,根据与所述第一设备相同的预设策略以及所述数据存储请求携带的密钥标识,将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储。
由此可见,本申请提供的方法,由于第一设备和第二设备都具有相应的可信平台模块,并且彼此间的共享数据密钥都在各自可信平台模块的存储根密钥的保护之下,因此保证了数据密钥的安全性,相应地,也就保证了第一设备向第二设备上存储数据的安全性。此外,由于第一设备和第二设备彼此的共享数据密钥具有相同的或相应的密钥标识,并且双方都将密钥标识与数据密钥对应存储,同时第二设备为第一设备存储的数据密文,也是与密钥标识对应存储的,因此在保证数据密钥及数据的存储安全的同时,也为第一设备获取其存储的数据密文提供保障。
附图说明
图1是本申请的一种数据存储方法的实施例的流程图;
图2是本申请实施例提供的第一设备向第二设备存储数据的交互示意图;
图3是本申请实施例提供的云存储服务系统架构示意图;
图4是本申请提供的一种数据获取方法的实施例的流程图;
图5是本申请实施例提供的第一设备仅从第二设备获取数据的交互示意图;
图6是本申请实施例提供的第一设备委托第二设备进行计算并获取计算后数据的交互示意图;
图7是本申请的一种数据提供方法的实施例的流程图;
图8是本申请的一种数据提供装置的实施例的示意图;
图9是本申请的另一种数据存储方法的实施例的流程图;
图10是本申请的一种数据存储装置的实施例的示意图;
图11是本申请的一种数据存储系统的实施例的示意图;
图12是本申请的另一种数据获取方法的实施例的流程图;
图13是本申请的一种数据获取装置的实施例的示意图;
图14是本申请的另一种数据提供方法的实施例的流程图;
图15是本申请的另一种数据提供装置的实施例的示意图;
图16是本申请的一种数据获取系统的实施例的示意图;
图17是本申请的第三种数据获取方法的实施例的流程图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的限制。
在本申请中,分别提供了一种数据存储方法,一种数据获取方法,一种数据提供方法及装置,另一种数据存储方法及相应装置,一种数据存储系统,另一种数据获取方法及相应装置,另一种数据提供方法及相应装置,一种数据获取系统,以及第三种数据获取方法。在下面的实施例中逐一进行详细说明。为了便于理解,先对以下实施例中涉及的概念作简要说明。
可信平台模块,是指一种设置于电子设备内部为电子设备提供可信根的可信芯片或者通过软件模拟实现上述功能的软件模块,能够利用嵌入在其内部的存储根密钥为其他密钥和数据提供安全保障。具体可以包括:TPCM(Trusted Platform Control Module)芯片或者TPM(Trusted Platform Module)芯片。
量子数据密钥,是指具有共享量子密钥串的两个设备通过协商过程、分别从各自共享量子密钥串的相同比特位获取的相同数据密钥,两个设备可以将协商获取的量子数据密钥作为对称密钥对数据进行加解密传输。
下面对本申请提供的各个实施例进行描述。
请参考图1,其为本申请提供的一种数据存储方法的实施例的流程图,在执行其中的步骤101之前,第一设备和第二设备彼此共享至少两对数据密钥,并分别将各自的数据密钥以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储。其中,所述第一设备和所述第二设备共享的每对数据密钥的密钥标识相同或者具有对应关系。下面进行详细说明。
第一设备和第二设备彼此共享至少两对数据密钥。例如:第一设备具有数据密钥key1和key2,第二设备也具有数据密钥key1和key2,那么第一设备和第二设备彼此共享两对数据密钥(key1,key1)和(key2,key2)。
第一设备和第二设备共享的每对数据密钥的密钥标识可以相同,仍沿用上面的例子,在第一设备上,key1的密钥标识为1,key2的密钥标识为2,在第二设备上,key1、key2的密钥标识也同样分别为1和2,即:每对数据密钥的密钥标识相同;或者,每对数据密钥的密钥标识具有对应关系(即:密钥标识相应),例如,在第一设备上,key1和key2的密钥标识分别为1和2,在第二设备上,key1和key2的密钥标识分别为101和102,其中第一设备上密钥标识1对应于第二设备上的密钥标识101,第二设备上的密钥标识2对应于第二设备上的密钥标识102,在具体实施时,可以采用表格存储两个设备间的密钥标识的对应关系。
优选地,第一设备和第二设备彼此共享的数据密钥可以是量子数据密钥,即:第一设备和第二设备可以通过各自的量子密钥分发设备采用BB84等协议协商出共享量子密钥串,并通过第一设备和第二设备的网络口、或者USB口等接口分别将共享量子密钥串注入第一设备和第二设备中,然后第一设备和第二设备再通过协商从共享量子密钥串中获取共享的量子数据密钥,并为每对共享的量子数据密钥指定相同的密钥标识或者在密钥标识间建立对应关系。采用这种优选实施方式,由于基于量子密钥分发技术获取共享的量子数据密钥,能够提高密钥分发过程的安全性。在下面的文字描述中,重点以量子数据密钥为例进行说明。
此外,第一设备和第二设备还分别具有相应的可信平台模块。例如,第一设备本身具有TPM芯片,那么对于第一设备来说该TPM芯片就是其相应的可信平台模块;再如,第二设备为不具有计算功能的存储外设,为所述存储外设提供计算功能的服务器具有TPM芯片,存储外设相关的加解密操作都交由该TPM芯片完成,那么对于第二设备来说该TPM芯片就是其相应的可信平台模块。
在分别具有相应的可信平台模块的基础上,第一设备和第二设备分别将各自的数据密钥以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储。即:第一设备和第二设备分别将各自的数据密钥用相应可信平台模块的存储根密钥(Storage Root Key—SRK)加密,或者用存储根密钥生成的存储密钥(Storage Key—SK)加密,加密后的数据密钥密文与相应密钥标识对应存储,即:在两者之间建立对应关系。
具体的,数据密钥密文与相应密钥标识可以存储在可信平台模块中,也可以存储在可信平台模块之外的存储空间中。由于SRK嵌在可信平台模块内部,不会从其内部移出,SK可以在可信平台模块内部存储、或者被SRK加密保护后才可以移出可信平台模块,因此SRK和SK通常都具有很高的安全性,不易泄露,从而也保证了用SRK或者SK加密后的数据密钥密文的安全性。
下面给出一个具体的例子,请参见以下的表一和表二。在本例子中第一设备为客户端设备,第二设备为提供数据存储服务的服务端设备,第一设备和第二设备彼此共享m+1对量子数据密钥,并且每对量子数据密钥的密钥标识相同。其中,第一设备采用其存储密钥sk_c加密量子数据密钥、并与密钥标识对应存储于表一所示的量子数据密钥表中,第二设备采用其存储密钥sk_s加密量子数据密钥、并与密钥标识对应存储于表二所示的量子数据密钥表中。第一设备和第二设备可以将各自的量子数据密钥表存储在可信平台模块内部,也可以存储在可信平台模块外部的存储介质中。
表一、第一设备的量子数据密钥表
量子数据密钥标识 量子数据密钥密文
0 Enc<sub>sk_c</sub>(Q_key_0)
1 Enc<sub>sk_c</sub>(Q_key_1)
2 Enc<sub>sk_c</sub>(Q_key_2)
…… ……
j Enc<sub>sk_c</sub>(Q_key_j)
…… ……
m Enc<sub>sk_c</sub>(Q_key_m)
表二、第二设备的量子数据密钥表
量子数据密钥标识 量子数据密钥密文
0 Enc<sub>sk_s</sub>(Q_key_0)
1 Enc<sub>sk_s</sub>(Q_key_1)
2 Enc<sub>sk_s</sub>(Q_key_2)
…… ……
j Enc<sub>sk_s</sub>(Q_key_j)
…… ……
m Enc<sub>sk_s</sub>(Q_key_m)
在第一设备和第二设备将受存储根密钥保护的数据密钥与密钥标识对应存储后,就可以执行彼此间的数据存储操作了。
优选地,为了保证数据存储过程的安全性,第一设备和第二设备分别具有可信计算平台,并且在第一设备向第二设备存储数据之前,可以先对双方身份及平台的可信性进行验证。具体的:第一设备和第二设备分别向对方发送至少包含可信证书的验证请求,并利用对方发送的验证请求中的信息对对方身份与平台的可信性进行验证;并在第一设备和第二设备均通过验证后,再开始执行数据存储过程。
其中,所述可信计算平台,是指设置有基于可信芯片或基于软件模拟的可信平台模块,且具有可信信任链传递功能的软硬件执行环境。其中基于可信芯片的可信平台模块包括:TPCM芯片或者TPM芯片。
所述可信证书是所述第一设备和所述第二设备分别预先根据授权中心基于系统私钥提供的相应信息获取的、与各自基于身份与平台信息的私钥对应的可信证书。具体的,第一设备和第二设备可以在启动后分别向授权中心发送授权请求,所述请求中携带各自的身份信息和平台信息,在授权中心分别对相应请求方的身份与平台进行验证后,利用其系统私钥、为相应请求方颁发基于其身份及平台信息的私钥及可信证书。对于授权中心为多个管控节点的方式,可以由部分管控节点基于门限密钥共享机制为相应请求方颁发基于所述请求方身份及平台信息的子私钥及子证书,并由相应请求方,即:第一设备或者第二设备自己合成基于自己身份及平台信息的私钥及可信证书。
第一设备和第二设备分别将自己的可信证书发送给对方,并根据接收到对方的可信证书对对方身份及平台的可信性进行验证。优选地,第一设备和第二设备还可以将自己的可信度量报告发送给对方,从而双方在进行验证时,可以先根据可信证书进行验证,再根据可信度量报告进行验证。其中,所述可信度量报告(Trusted measurement report),是指对可信计算平台进行可信度量得到的结果。
若双方都通过验证,说明双方的身份与平台都是可信的,那么就可以执行本实施例以下描述的步骤101-103执行数据存储操作了。当然,上述对身份及平台可信性的验证过程是为了保障数据存数安全的优选实施方式,在具体实施时也可以不执行上述过程。
需要说明的是,为了满足不同的应用需求,第一设备可以采用不同的预设策略使用数据密钥。所述预设策略可以是:每个数据密钥仅使用一次,即:针对不同的待存储数据采用不同的数据密钥加密,这种方式可以简称为“一密一次”;所述预设策略也可以是:每个数据密钥可以使用两次或者两次以上,即:不同的待存储数据可以采用同一个数据密钥加密,这种方式可以简称为“一密多次”。“一密一次”可以进一步提高数据存储的安全性,“一密多次”则可以重复使用数据密钥,降低第一设备和第二设备获取共享数据密钥的频率以及对存储空间的占用,在具体实施时可以根据具体需求为第一设备设置相应的预设策略,同时为第二设备也设置相同的预设策略,第二设备根据预设策略进行数据密文的存储。在以下提供的实施方式中,重点以“一密一次”为例进行说明。
本实施例提供的一种数据存储方法包括如下步骤:
步骤101、第一设备根据预设策略选取数据密钥后,基于相应可信平台模块的存储根密钥对所选数据密钥的密文解密,并用解密后的数据密钥对待存储的数据加密。
对于预设策略为“一密一次”的实施方式,第一设备可以从已存储的数据密钥中,选择一个尚未被使用的数据密钥。
由于数据密钥是密文,因此基于相应可信平台模块的存储根密钥对所选数据密钥的密文解密。具体的,可以将所选数据密钥的密文导入可信平台模块中,如果数据密钥是采用SRK加密的,则用SRK对数据密钥密文解密;如果数据密钥是采用SK加密的,则可以将受保护的SK导入可信平台模块,用SRK解密,然后再用解密后的SK对数据密钥密文解密。
随后用解密后的数据密钥对待存储的数据加密,该加密过程可以在可信平台模块内部执行,也可以在可信平台模块外部执行。
在用解密后的数据密钥对待存储的数据加密后,可以将所述解密后的数据密钥销毁,即:从第一设备上删除所选数据密钥的明文,从而可以避免数据密钥的泄漏,保证数据密钥及相关密文数据的安全性。
具体实施时,第一设备可以记录加密所述待存储数据所选用的数据密钥的密钥标识,例如:可以将所选数据密钥的密钥标识与所述待存储数据的数据标识对应存储。
步骤102、第一设备向第二设备发送数据存储请求,所述数据存储请求中至少携带所选数据密钥的密钥标识、以及加密后的数据密文。
本步骤中,第一设备向第二设备发送数据存储请求,数据存储请求中可以携带所述数据密钥的密钥标识和加密后的数据密文。为了取得更优的实施效果,本实施例还提供携带密钥标识密文、或者携带数据散列值等优选实施方式,下面逐一进行说明。
优选地,第一设备向第二设备发送数据存储请求之前,可以采用预设散列算法,至少根据所述待存储的数据计算散列值。一方面,可以在数据存储请求中携带所述散列值,以供第二设备验证自己的身份以及数据的完整性;另一方面,也可以在第二设备存储完毕返回确认应答之后,将所述散列值与所选数据密钥的密钥标识对应存储,这样当第一设备需要从第二设备获取所述数据时,可以根据散列值判断获取数据的正确性。在具体实施时,可以单独采用上述两个方面所描述的任一技术方案,也可以结合实施。
优选地,在第一设备向第二设备发送数据存储请求之前,为了提高传输过程中的安全性,第一设备可以用与第二设备共享的秘密信息对所选数据密钥的密钥标识加密,在这种情况下,第一设备向第二设备发送的数据存储请求中携带的所选数据密钥的密钥标识,是指密钥标识密文。例如:第一设备可以将通过授权中心获取的私钥注入到第二设备中,从而所述私钥可以作为第一设备和第二设备共享的秘密信息;或者第一设备和第二设备采用相同的预置密钥,作为双方共享的秘密信息。
步骤103、第二设备接收数据存储请求后,根据与所述第一设备相同的预设策略以及所述数据存储请求携带的密钥标识,将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储。
第二设备接收数据存储请求后,可以在为第一设备隔离的CPU空间中执行本步骤的处理操作。
与步骤102相对应,如果数据存储请求中携带的是密钥标识密文,第二设备可以采用与第一设备共享的秘密信息对密钥标识密文解密。
如果数据存储请求中还携带了待存储数据的散列值,那么第二设备可以根据所述散列值对第一设备的身份和接收到的数据密文的完整性进行验证。具体包括以下处理过程:
1)根据数据存储请求携带的密钥标识,获取自己存储的相应数据密钥;
2)基于相应可信平台模块的存储根密钥对所述获取的数据密钥解密,具体解密过程请参见步骤101中的相关描述,此处不再赘述;
3)用解密后的数据密钥对从所述数据存储请求中提取的数据密文解密得到明文数据,并采用与第一设备相同的预设散列算法、至少根据所述明文数据计算散列值;
4)判断计算得到的散列值与所述数据存储请求中携带的散列值是否一致;若一致,说明针对同一密钥标识,第一设备与自己具有相同的数据密钥,因此第一设备的身份是合法的,同时也说明数据密文的完整性没有被破坏;若不一致,则说明第一设备的身份非法、和/或,数据密文的完整性被破坏。
如果通过上述验证过程,说明第一设备身份合法且数据密文是完整的,第二设备可以根据与所述第一设备相同的预设策略,将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储。如果第一设备和第二设备的共享数据密钥的密钥标识相同,所述相应的密钥标识与所述数据存储请求中携带的密钥标识相同;如果第一设备和第二设备的共享数据密钥的密钥标识具有对应关系,那么第二设备可以根据对应关系找到自己维护的、与数据存储请求中携带的密钥标识对应的密钥标识,例如可以查询存储密钥标识对应关系的表格,从而得到所述对应的密钥标识。
具体的,对于预设策略为“一密一次”的实施方式,第二设备可以将所述数据存储请求中的数据密文与相应的密钥标识对应存储。
在具体实施时,第二设备完成数据密文的存储操作后,可以向第一设备返回确认应答,第一设备接收确认应答后,将步骤101中已计算得到的散列值与其所选数据密钥的密钥标识对应存储,以供以后获取数据时可以利用所述散列值验证获取数据的正确性。
至此,通过上述步骤101至103对数据存储过程进行了描述。下面在沿用表一和表二的基础上,给出一个具体例子,本例子中第一设备和第二设备共享的秘密信息为第一设备的私钥Su。请参见图2,其为所述具体例子中第一设备向第二设备存储数据的交互示意图,具体包括以下处理过程:
1)第一设备向第二设备发送验证请求,所述验证请求中携带第一设备的可信证书和可信度量报告;
2)第二设备根据第一设备的可信证书和可信度量报告,对第一设备的身份与平台的可信性进行验证,若通过验证,即:第一设备的身份与平台可信,则执行3),否则流程终止;
3)作为响应,第二设备向第一设备发送验证请求,所述验证请求中携带第二设备的可信证书和可信度量报告;
4)第一设备根据第二设备的可信证书和可信度量报告,对第二设备的身份与平台的可信性进行验证,若通过验证,即:第一设备的身份与平台可信,则执行5),否则流程终止;
5)第一设备选取尚未使用的量子数据密钥Q_key_j,采用Su对密钥标识j加密,用解密后的Q_key_j对待存储数据dataj加密,并根据Su和dataj计算散列值,随后在向第二设备发送的数据存储请求中携带密钥标识密文EncSu(j)、数据密文EncQ_key_j(dataj)、以及所述散列值hashSu(dataj);
6)第二设备接收第一设备发送的数据存储请求后,用Su解密密钥标识密文获取密钥标识j,根据j从量子数据密钥表中获取相应的量子数据密钥Q_key_j的密文,然后用解密后的Q_key_j对接收到的数据密文解密,得到明文数据,根据Su和明文数据计算散列值,如果计算得到的散列值与数据存储请求中携带的散列值相同,则判定第一设备身份合法并且传输过来的数据密文是完整的,并执行第7)步和第10)步,否则流程终止;
7)第二设备响应第一设备,即向第一设备发送确认应答,所述确认应答中包含用Su对密钥标识j的变体信息f(j)(例如:f(j)=j-1)加密后的密文,即EncSu(f(j)),其中f(j)是第一设备和第二设备预先设定的变体信息计算函数,用于对量子数据密钥标识j进行变体计算,发送确认应答后,执行第10)步;
8)第一设备收到第二设备的确认应答后,用Su对变体信息密文解密,如果获得的值,与自己计算得到的f(j)一致,则认为第二设备合法,执行第9)步;
9)第一设备验证第二设备身份后,将5)中计算得到的hashSu(dataj)存储到量子数据密钥表中的、与密钥标识j对应的表项中;
10)第二设备将数据存储请求中的数据密文EncQ_key_j(dataj)与密钥标识j对应存储,例如可以写入存储于可信平台模块外部的量子数据密钥表中的、与密钥标识j对应的表项中,也可以导入可信平台模块内部、并与密钥标识j对应存储。
第一设备和第二设备通过执行上述存储过程,可以将第一设备的待存储数据存储到第二设备上,那么第一设备和第二设备上的量子数据密钥表可以分别如以下的表三和表四所示。
表三、第一设备的量子数据密钥表
Figure BDA0001131213830000191
Figure BDA0001131213830000201
表四、第二设备的量子数据密钥表
量子数据密钥标识 量子数据密钥密文 数据密文
0 Enc<sub>sk_s</sub>(Q_key_0) Enc<sub>Q_key_0</sub>(d a t a<sub>0</sub>)
1 Enc<sub>sk_s</sub>(Q_key_1) Enc<sub>Q_key_1</sub>(d a t a<sub>1</sub>)
2 Enc<sub>sk_s</sub>(Q_key_2) Enc<sub>Q_key_2</sub>(d a t a<sub>2</sub>)
…… …… ……
j Enc<sub>sk_s</sub>(Q_key_j) Enc<sub>Q_key_j</sub>(d a t a<sub>j</sub>)
…… …… ……
m Enc<sub>sk_s</sub>(Q_key_m) Enc<sub>Q_key_m</sub>(d a t a<sub>m</sub>)
至此,通过上述描述以及一个具体的例子,以“一密一次”策略为例,对本实施例提供的数据存储方法的实施方式进行了描述。
具体实施时,也可以采用“一密多次”策略,整体处理流程与“一密一次”是类似的,不同之处主要在于,采用“一密多次”策略,在步骤101中,第一设备可以任意选取一个数据密钥,在步骤102中,第一设备发送的数据存储请求中还需要携带待存储数据的数据标识,在步骤103中,第二设备将接收到的数据存储请求中的数据密文与相应的密钥标识及所述数据标识对应存储,从而通过“密钥标识+数据标识”可以找到对应的数据密文。对于第一设备存储散列值的实施方式,第一设备可以将数据存储请求中携带的散列值与所选数据密钥的密钥标识及待存储数据的数据标识对应存储。
在具体实施时,本实施例提供的数据存储方法可以应用于各种应用场景中,考虑到现有的云存储技术的广泛应用,越来越多的企业或者用户将数据存储在云端的各种设备中,因此可以将上述提供的数据存储方法应用到云存储服务系统中,从而可以为云存储服务系统中的数据存储安全提供有力保障。
具体的,本实施例提供的上述数据存储方法可以在云存储服务系统中实施,请参见图3,所述云存储服务系统包括:云提供商子系统和云用户子系统,云提供商子系统设置有授权中心。所述第一设备为云用户子系统中的终端设备;所述第二设备为:云提供商子系统中的提供数据存储服务的设备。
针对不同的云存储服务模式,所述云提供商子系统中的提供数据存储服务的设备可以为不同的设备,例如:服务器、无计算功能的存储外设、或者有计算功能的存储外设。下面分别进行说明。
1)服务器。服务器通常具有自己的可信平台模块,例如:服务器自带TPM芯片,对于服务器来说该TPM芯片就是其相应的可信平台模块。密钥标识、数据密钥密文、数据密文等信息可以存储在服务器硬盘中,针对数据密钥的加解密操作通常在可信平台模块中执行,对数据的加解密处理通常在服务器为终端设备对应的云用户授权的特定CPU隔离空间中执行。
2)无计算功能的存储外设。针对这种存储外设,相应的可信平台模块是指为所述存储外设提供计算服务的机头服务器的可信平台模块。存储外设只提供数据和数据密钥的存储功能,针对数据密钥的加解密操作通常在机头服务器的可信平台模块中执行,数据的加解密处理通常在机头服务器为终端设备对应的云用户授权特定的CPU隔离空间中执行。
3)有计算功能的存储外设。有计算功能的存储外设通常有自己的可信平台模块,这种存储外设不仅可以提供数据和数据密钥存储功能,而且可以由自身完成加解密工作。对数据密钥及数据的加解密操作与1)中服务器类似,此处不再赘述。
针对云用户子系统中的终端设备、以及云提供商子系统中能够提供数据存储服务的设备(例如上述三种设备之一),通过实施本实施例提供的方法,能够将终端设备的数据存储到云提供商子系统的设备中,并且保证数据存储的安全性。
综上所述,本实施例提供的数据存储方法,由于第一设备和第二设备都具有相应的可信平台模块,并且彼此间的共享数据密钥都在各自可信平台模块的存储根密钥的保护之下,因此保证了数据密钥的安全性,相应地,也就保证了第一设备向第二设备上存储数据的安全性。此外,由于第一设备和第二设备彼此的共享数据密钥具有相同或者相应的密钥标识,并且双方都将密钥标识与数据密钥对应存储,同时第二设备为第一设备存储的数据密文,也是与密钥标识对应存储的,因此在保证数据密钥及数据安全的同时,也为第一设备获取其存储的数据密文提供保障。
在上述实施例中提供了一种数据存储方法,本申请还提供一种数据获取方法,所述方法可以用于获取基于上一实施例所述方法存储的数据。请参考图4,其为本申请提供的一种数据获取方法的实施例的流程图,本实施例与上一实施例内容相同的部分不再赘述,下面重点描述不同之处。
本实施例提供的一种数据获取方法,包括以下步骤:
步骤401、第一设备向第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识。
在执行本步骤之前,第一设备和第二设备可以对对方身份及平台的可信性进行验证,并在双方都通过验证后,再开始执行本步骤。具体的验证过程可以参见上一实施例中的相关文字,此处不再赘述。
在本实施例中,所述第一数据可以是采用上一实施例所提供的数据存储方法、由第一设备存储在第二设备上的数据,也可以是在上述存储的基础上,经过第二设备计算处理的数据(可以参见本实施例后续关于第一设备委托第二设备进行计算的相关文字描述)。所述第一数据对应的密钥标识,是指第一设备将第一数据存储在第二设备上时进行加密所采用的数据密钥的密钥标识。
对于在存储过程中采用“一密一次”策略的应用场景,第一设备发送的数据获取请求中可以携带所述密钥标识。
对于在存储过程中采用“一密多次”策略的应用场景,第一设备发送的数据获取请求中可以携带所述密钥标识以及所述第一数据的数据标识。
优选地,为了提高数据获取过程的安全性,第一设备向第二设备发送的数据获取请求中不仅可以携带与所述第一数据对应的密钥标识,还可以携带用双方共享的秘密信息对所述密钥标识加密后的密钥标识密文,以供第二设备验证其身份。所述共享的秘密信息可以是第一设备的私钥(第一设备将其注入到第二设备中)或者是双方共享的预置密钥。
优选地,当第一设备有针对第一数据的计算需求时,还可以在数据获取请求中携带计算描述信息,从而可以委托第二设备完成计算操作,不仅可以充分利用第二设备的计算能力、而且可以减少通信成本。
步骤402、第二设备接收数据获取请求后,至少根据所述数据获取请求携带的密钥标识获取第一数据密文,并向第一设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文。
与步骤401相对应,第二设备接收所述数据获取请求后,如果其中还携带了密钥标识密文,第二设备可以用与第一设备共享的秘密信息对密钥标识密文解密,并判断解密后的密钥标识与数据获取请求中携带的密钥标识是否一致,若一致,说明第一设备具有与第二设备共享的秘密信息,可以判定第一设备身份合法,则第二设备可以根据数据获取请求获取已存储的第一数据密文,并向第一设备返回应答。
由于第一设备和第二设备共享的每对数据密钥的密钥标识相同或者具有对应关系,因此第二设备可以先根据数据获取请求中携带的密钥标识,确定自己维护的相应密钥标识。然后,对于在存储过程中采用“一密一次”的应用场景,第二设备可以获取与所述相应密钥标识对应存储的第一数据密文;对于在存储过程中采用“一密多次”的应用场景,第二设备可以获取与所述相应密钥标识和数据获取请求携带的数据标识对应存储的第一数据密文。
所述应答中携带的基于所述第一数据密文的、满足所述数据获取请求的第二数据密文,可以为所述第一数据密文,即:第二设备可以直接将第一数据密文返回。
优选地,如果第二设备获取的数据获取请求中还携带了计算描述信息(例如:可以包含算法描述、以及额外的参数信息等),那么第二设备在返回给第一设备的应答中,可以携带基于第一数据密文进行计算得到的第二数据密文。
具体的,第二设备在至少根据所述数据获取请求携带的密钥标识获取第一数据密文之后,可以执行以下操作:基于相应可信平台模块的存储根密钥对所述密钥标识对应的数据密钥的密文解密,即:对自己维护的所述相应密钥标识所对应的数据密钥的密文解密;用解密后的数据密钥解密已获取的第一数据密文,得到对应的明文数据;根据所述数据获取请求中携带的计算描述信息,对所述第一数据密文对应的明文数据进行计算,以获取第二数据;用所述解密后的数据密钥对所述第二数据加密,得到所述第二数据密文。最后将携带第二数据密文的应答返回给第一设备。采用这种方式免除了第一设备进行计算并将第二数据密文发送给第二设备的过程,可以减少通信成本,减少对网络带宽的占用;而且提供数据存储服务的第二设备往往具备比较强的计算能力,因此在第二设备上进行计算,可以提高计算效率。
具体实施时,在第二设备获取第二数据之后,还可以采用与第一设备相同的预设散列算法,至少根据所述第二数据计算散列值,并在向第一设备返回的应答中携带所述计算得到的散列值,以供第一设备更新其存储的相应散列值。
此外,在第二设备向第一设备返回应答之后,第二设备可以用第二数据密文替换已存储的第一数据密文,即:根据在存储过程中使用数据密钥的策略不同,可以替换与所述相应密钥标识对应存储的第一数据密文,或者替换与所述相应密钥标识及第一数据的数据标识对应存储的第一数据密文。
步骤403、第一设备接收第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述数据获取请求携带的密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的第二数据密文解密,以获取明文数据。
第一设备接收第二设备返回的应答后,基于相应可信平台模块的存储根密钥、对步骤401发送的数据获取请求携带的密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的第二数据密文解密,从而获取了所需的明文数据。下面分未委托第二设备进行计算和委托第二设备进行计算两个方面对后续操作做进一步说明。
1)未委托第二设备进行计算。
在这种情况下,如果第一设备已存储了采用预设散列算法计算得到的所述第一数据的散列值(根据在存储过程中使用数据密钥的策略不同,所述散列值可以是与第一数据对应的密钥标识对应存储的,也可以是与第一数据的密钥标识及数据标识对应存储的),本实施例还提供对第二设备的身份和数据完整性进行验证的优选实时方式。
具体的,第一设备在获取明文数据之后,可以采用所述预设散列算法,至少根据所述明文数据计算散列值,并判断已存储的所述第一数据的散列值、与计算得到的散列值是否一致,若一致,说明第二设备知道正确的数据密钥,可以判定第二设备的身份合法,并且传输过来的第二数据密文的完整性并未被破坏,因此可以保留所述明文数据。否则,可以丢弃所述明文数据。
2)委托第二设备进行计算
在这种情况下,如果第一设备已存储了采用预设散列算法计算得到的所述第一数据的散列值,那么第一设备在接收所述第二设备返回的应答后,还可以用第二设备返回的应答中所携带的散列值替换已存储的所述第一数据的散列值。
优选地,在替换第一数据的散列值之前,第一设备可以对第二设备身份及第二数据密文的完整性进行验证。具体的,第一设备接收所述第二设备返回的应答并获取明文数据之后,可以采用预设散列算法,至少根据所述明文数据计算散列值,并判断所述应答中携带的散列值、与计算得到的散列值是否一致,若一致,说明第二设备身份合法、并且传输过来的第二数据密文的完整性并未被破坏,因此可以保留所述明文数据,并执行用所述应答中的散列值替换已存储的所述第一数据的散列值的步骤。否则,可以丢弃所述明文数据。
至此,通过上述步骤401至403对数据获取过程进行了描述。下面在沿用表三和表四的基础上,给出两个具体例子,在这两个例子中第一设备和第二设备共享的秘密信息为第一设备的私钥Su,并且在之前的数据存储过程中都采用的是“一密一次”策略。
请参第一个例子对应的图5,其为第一设备仅从第二设备获取数据的交互示意图,具体包括以下处理过程:
1)第一设备向第二设备发送验证请求,所述验证请求中携带第一设备的可信证书和可信度量报告;
2)第二设备根据第一设备的可信证书和可信度量报告,对第一设备的身份与平台的可信性进行验证,若通过验证,即:第一设备的身份与平台可信,则执行3),否则流程终止;
3)作为响应,第二设备向第一设备发送验证请求,所述验证请求中携带第二设备的可信证书和可信度量报告;
4)第一设备根据第二设备的可信证书和可信度量报告,对第二设备的身份与平台的可信性进行验证,若通过验证,即:第一设备的身份与平台可信,则执行5),否则流程终止;
5)第一设备用Su加密第一数据对应的密钥标识j,并在向第二设备发送的数据获取请求中携带密钥标识j,密钥标识密文EncSu(j)、以及用于代表仅获取数据、无需进行计算的符号0;
6)第二设备接收到数据获取请求后,获取其中携带的密钥标识j,并用Su解密数据获取请求携带的密钥标识密文,如果解密结果与获取的密钥标识一致,则判定第一设备身份合法,执行第7)步,否则流程终止;
7)第二设备通过查找如表四所示的量子数据密钥表,得到与密钥标识j对应存储的第一数据密文EncQ_key_j(dataj),并向第一设备返回包含第二数据密文的应答,因为无需计算,所述第二数据密文就是第一数据密文;
8)第一设备接收到第二设备的应答后,用sk_c对密钥标识j对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的第二数据密文解密,以获取明文数据;并根据Su和明文数据计算散列值,若计算得到的散列值与第一设备已存储的第一数据的散列值一致,则判定第二设备身份合法、并且接收到的第二数据密文是完整的,因此保留所述明文数据,否则可以丢弃所述明文数据。
请参见第二个例子对应的图6,其为第一设备委托第二设备进行计算并获取计算后数据的交互示意图,具体包括以下处理过程:
1)~4)与图5所示例子相同,此处不再赘述;
5)第一设备用Su加密第一数据对应的密钥标识j,并在向第二设备发送的数据获取请求中携带密钥标识j,密钥标识密文EncSu(j)、用于代表需进行计算的符号1、以及具体的计算描述信息;
6)第二设备接收到数据获取请求后,获取其中携带的密钥标识j,并用Su解密数据获取请求携带的密钥标识密文,如果解密结果与数据获取请求携带的密钥标识一致,则判定第一设备身份合法,执行第7)步和第10)步,否则流程终止;
7)第二设备执行以下操作:
a.通过查找如表四所示的量子数据密钥表,得到与密钥标识j对应存储的第一数据密文EncQ_key_j(dataj);
b.用存储密钥sk_s对相应的量子数据密钥密文Encsk_s(Q_key_j)解密;
c.用解密后的量子数据密钥Q_key_j解密第一数据密文EncQ_key_j(dataj),得到对应的明文数据dataj
d.根据数据获取请求中携带的计算描述信息,计算得到第二数据New_dataj
e.根据Su和New_dataj计算散列值hashSu(New_dataj),用Q_key_j对New_dataj加密得到第二数据密文EncQ_key_j(New_dataj);随后向第一设备返回包含所述散列值及第二数据密文的应答;
8)第一设备接收到第二设备的应答后,用sk_c对密钥标识j对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的第二数据密文解密,以获取明文数据;并根据Su和明文数据计算散列值,若计算得到的散列值与第一设备已存储的第一数据的散列值一致,则判定第二设备身份合法、并且接收到的第二数据密文是完整的,因此保留所述明文数据,否则可以丢弃所述明文数据;
9)第一设备用所述应答中的hashSu(New_dataj)替换已存储的第一数据的散列值hashSu(dataj);
10)第二设备用第二数据密文EncQ_key_j(New_dataj)替换与密钥标识j对应存储的第一数据密文EncQ_key_j(dataj)。
至此,通过上述文字以及两个具体的例子,对本实施例提供的数据获取方法的实施方式进行了说明。
与上一实施例类似,本实施例体提供的数据获取方法也可以应用于云存储服务系统中,所述云存储服务网络系统包括:云提供商子系统,和云用户子系统;所述第一设备为云用户子系统中的终端设备;所述第二设备为:云提供商子系统中的提供数据存储服务的设备。采用本实施例提供的数据获取方法,云用户终端设备可以从云端设备上获取已存储的数据。特别是对于计算能力有限的终端设备,可以在获取数据的同时委托云端设备进行计算,能够减少通信成本和计算成本,从而减少云用户的负担。
综上所述,本实施例提供的数据获取方法,在上一实施例实现数据安全存储的基础上,在可信平台模块的存储根密钥的保护下,通过数据密钥标识、数据密钥、数据密文的对应存储关系,提供相应的数据安全获取方法。
此外,本申请还提供一种数据提供方法,所述方法在第一设备中实施,用于向提供数据存储服务的第二设备提供待存储数据;本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的。请参考图7,其为本申请提供的一种数据提供方法的实施例的流程图,本实施例与上述方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。本实施例提供的一种信息展示数据提供方法包括以下步骤:
步骤701、根据预设策略选取数据密钥后,基于所述可信平台模块的存储根密钥对所选数据密钥的密文解密,并用解密后的数据密钥对待存储的数据加密。
步骤702、向所述第二设备发送数据存储请求,所述数据存储请求中至少携带所选数据密钥的密钥标识、以及加密后的数据密文。
在上述的实施例中,提供了一种数据提供方法,与之相对应的,本申请还提供一种数据提供装置。请参看图8,其为本申请的一种数据提供装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例提供的一种数据提供装置,包括:数据加密单元801,用于根据预设策略选取数据密钥后,基于相应可信平台模块的存储根密钥对所选数据密钥的密文解密,并用解密后的数据密钥对待存储的数据加密;存储请求发送单元802,用于向第二设备发送数据存储请求,所述数据存储请求中至少携带所选数据密钥的密钥标识、以及加密后的数据密文。
此外,本申请还提供另一种数据存储方法,所述方法在为第一设备提供数据存储服务的第二设备上设施;本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的。请参考图9,其为本申请提供的另一种数据存储方法的实施例的流程图,本实施例与上述方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。本实施例提供的另一种数据存储方法包括以下步骤:
步骤901、接收第一设备发送的数据存储请求,所述数据存储请求中至少携带密钥标识、以及加密后的数据密文。
步骤902、根据预设策略以及所述密钥标识,将所述数据密文至少与相应的密钥标识对应存储。
在上述的实施例中,提供了另一种数据存储方法,与之相对应的,本申请还提供一种数据存储装置。请参看图10,其为本申请的一种数据存储装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例提供的一种数据存储装置,包括:存储请求接收单元1001,用于接收第一设备发送的数据存储请求,所述数据存储请求中至少携带密钥标识、以及加密后的数据密文;数据密文存储单元1002,用于根据预设策略以及所述密钥标识,将所述数据密文至少与相应的密钥标识对应存储。
此外,本申请还提供一种数据存储系统,请参考图11,其为本申请提供的一种数据存储系统的实施例的示意图,该系统包括上述实施例所述的一种数据提供装置1101、以及一种数据存储装置1102。所述数据提供装置,可以部署于个人电脑、笔记本电脑、或移动终端设备(例如:智能手机)、或者服务器等设备;所述数据存储装置可以部署于个人电脑或者服务器等设备。
此外,本申请还提供另一种数据获取方法,所述方法在第一设备中实施,用于从提供数据存储服务的第二设备获取数据,本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的。请参考图12,其为本申请提供的另一种数据获取方法的实施例的流程图,本实施例与上述方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。本实施例提供的另一种数据获取方法包括以下步骤:
步骤1201、向第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识。
所述数据获取请求中还可以携带计算描述信息。
步骤1202、接收第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的、基于第一数据密文的第二数据密文解密,以获取明文数据。
在上述的实施例中,提供了另一种数据获取方法,与之相对应的,本申请还提供一种数据获取装置。请参看图13,其为本申请的一种数据获取装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例提供的一种数据获取装置,包括:获取请求发送单元1301,用于向所述第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识;明文数据获取单元1302,用于接收所述第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的、基于第一数据密文的第二数据密文解密,以获取明文数据。
可选的,所述获取请求发送单元发送的数据获取请求中还携带计算描述信息。
此外,本申请还提供另一种数据提供方法,所述方法在为第一设备提供数据存储服务的第二设备上实施;本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的。请参考图14,其为本申请提供的另一种数据提供方法的实施例的流程图,本实施例与上述方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。本实施例提供的另一种数据提供方法包括以下步骤:
步骤1401、接收第一设备发送的数据获取请求。
步骤1402、至少根据所述数据获取请求携带的密钥标识获取第一数据密文;
步骤1403、向第一设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文。
当所述数据获取请求中还携带计算描述信息时,在至少根据所述数据获取请求携带的密钥标识获取第一数据密文之后,在向所述第一设备返回应答之前,可以执行以下操作:基于所述可信平台模块的存储根密钥对所述密钥标识对应的数据密钥的密文解密;用解密后的数据密钥解密所述获取的第一数据密文,得到对应的明文数据;根据所述数据获取请求中携带的计算描述信息,对所述第一数据密文对应的明文数据进行计算,以获取第二数据;用所述解密后的数据密钥对所述第二数据加密,得到所述第二数据密文。
在上述的实施例中,提供了另一种数据提供方法,与之相对应的,本申请还提供另一种数据提供装置。请参看图15,其为本申请的另一种数据提供装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例提供的另一种数据提供装置,包括:获取请求接收单元1501,用于接收第一设备发送的数据获取请求;数据密文获取单元1502,用于至少根据所述数据获取请求携带的密钥标识获取第一数据密文;数据密文返回单元1503,用于向所述第一设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文。
可选的,所述装置还包括:用于根据第一数据密文进行计算、以生成所述第二数据密文的数据密文计算单元;
所述数据密文计算单元,包括:
数据密钥解密子单元,用于基于所述可信平台模块的存储根密钥对所述密钥标识对应的数据密钥的密文解密;
第一数据密文解密子单元,用于用解密后的数据密钥解密所述获取的第一数据密文,得到对应的明文数据;
第二数据计算子单元,用于根据所述数据获取请求中携带的计算描述信息,对所述第一数据密文对应的明文数据进行计算,以获取第二数据;
第二数据加密子单元,用于用所述解密后的数据密钥对所述第二数据加密,得到所述第二数据密文。
此外,本申请还提供一种数据获取系统,请参考图16,其为本申请提供的一种数据获取系统的实施例的示意图,该系统包括上述实施例所述的一种数据获取装置1601、以及另一种数据提供装置1602。所述数据获取装置,可以部署于个人电脑、笔记本电脑、或移动终端设备(例如:智能手机)、或者服务器等设备;所述数据提供装置可以部署于个人电脑或者服务器等设备。
此外,本申请还提供第三种数据获取方法,用于获取基于上述一种数据存储方法实施例所提供的方法在第二设备上存储的数据。考虑到在具体应用中,第一设备的数据以密文形式存储在第二设备上之后,第三设备(例如:经由第一设备授权的或者与第一设备之间具有信任关系的第三设备)也可能具有访问所述数据的需求,在这种情况下可以采用本实施例提供的方法,实现第三设备对第二设备上已存储数据的安全获取过程。
请参考图17,其为本申请提供的第三种数据获取方法的实施例的流程图,本实施例与上述方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。
在本实施例中,第三设备与第二设备彼此共享至少两对数据密钥、且与第一设备和第二设备共享的数据密钥相同;与第一设备和第二设备的共享数据密钥具有相同或者相应密钥标识类似,第三设备和第二设备之间的共享数据密钥也具有相同或者相应密钥标识。第三设备所维护的、与所述第二设备共享的数据密钥可以是第二设备采用加密传输方式分发给第三设备的,并且可以由第二设备为第三设备指定相同的密钥标识、或者建立两者之间的密钥标识的对应关系。
第三设备将其与第二设备共享的数据密钥以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储。
在上述基础上,本实施例提供的第三种数据获取方法包括以下步骤:
步骤1701、第三设备向第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识。
由于第三设备与第二设备共享的数据密钥、与第一设备和第二设备共享的数据密钥相同,也即,第一设备和第三设备之间也具有共享的数据密钥,并且共享的数据密钥可以具有相同或相应的密钥标识。第一设备将第一数据以密文形式存储在第二设备上之后,可以将第一数据的数据标识、加密所述第一数据所采用的数据密钥的密钥标识,以加密传输的方式发送给第三设备,从而第三设备可以获知自己维护的、与第一数据对应的密钥标识。
当第三设备需要获取第一数据时,则可以执行本步骤向第二设备发送数据获取请求,并在数据获取请求中携带第一数据对应的密钥标识,对于“一密多次”的应用场景,在数据获取请求中还可以携带第一数据的数据标识。
步骤1702、第二设备接收所述数据获取请求后,至少根据所述数据获取请求携带的密钥标识获取第一数据密文,并向第三设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文。
第二设备可以根据数据获取请求携带的密钥标识、或者数据获取请求携带的密钥标识和数据标识,获取第一数据密文,并向第三设备返回包含第二数据密文的应答。
所述第二数据密文可以是第一数据密文,如果数据获取请求中还携带计算描述信息,那么第二数据密文也可以是在第一数据密文基础上进行计算和加密操作得到的结果。
步骤1703、第三设备接收第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述数据获取请求携带的密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的第二数据密文解密,以获取明文数据。
至此,通过步骤1701-1703对本实施例提供的第三种数据获取方法的实施方式进行了描述,采用本实施例提供的方法,在实现数据安全存储的基础上,在可信平台模块的存储根密钥的保护下,通过数据密钥标识、数据密钥、数据密文的对应存储关系,为非第一设备的其他设备提供相应的数据安全获取方法,便于实现不同设备间的数据共享。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (35)

1.一种数据存储方法,其特征在于,本方法所涉及的第一设备和第二设备彼此共享至少两对数据密钥,并分别将各自的数据密钥以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储;所述第一设备和所述第二设备共享的每对数据密钥的密钥标识相同或者具有对应关系;
所述方法包括:
所述第一设备根据预设策略选取数据密钥后,基于相应可信平台模块的存储根密钥对所选数据密钥的密文解密,并用解密后的数据密钥对待存储的数据加密;
所述第一设备向所述第二设备发送数据存储请求,所述数据存储请求中至少携带所选数据密钥的密钥标识、以及加密后的数据密文;
所述第二设备接收数据存储请求后,根据与所述第一设备相同的预设策略以及所述数据存储请求携带的密钥标识,将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储。
2.根据权利要求1所述的方法,其特征在于,所述数据密钥包括:量子数据密钥。
3.根据权利要求1所述的方法,其特征在于,在所述第一设备用解密后的数据密钥对待存储的数据加密之后,还包括:所述第一设备将所述解密后的数据密钥销毁。
4.根据权利要求1所述的方法,其特征在于,所述预设策略为:每个数据密钥仅使用一次;所述第一设备根据预设策略选取数据密钥,包括:第一设备选取尚未被使用的数据密钥;
第二设备将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储,包括:第二设备将所述数据存储请求中的数据密文与相应的密钥标识对应存储。
5.根据权利要求4所述的方法,其特征在于,所述第一设备向所述第二设备发送数据存储请求之前,还包括:采用预设散列算法,至少根据所述待存储的数据计算散列值;
所述第二设备将从所述数据存储请求中的数据密文与相应的密钥标识对应存储之后,包括:向所述第一设备返回确认应答;
所述第一设备接收所述确认应答后,将所述散列值与所选数据密钥的密钥标识对应存储。
6.根据权利要求1所述的方法,其特征在于,所述预设策略为:每个数据密钥可以使用两次或两次以上;所述第一设备根据预设策略选取数据密钥,包括:第一设备选取任一数据密钥;
所述第一设备发送的数据存储请求中还携带:所述数据的数据标识;
所述第二设备将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储,包括:所述第二设备将所述数据存储请求中的数据密文与相应的密钥标识及所述数据标识对应存储。
7.根据权利要求6所述的方法,其特征在于,所述第一设备向所述第二设备发送数据存储请求之前,还包括:采用预设散列算法,至少根据所述待存储的数据计算散列值;
所述第二设备将所述数据存储请求中的数据密文与相应的密钥标识及所述数据标识对应存储之后,包括:向所述第一设备返回确认应答;
所述第一设备接收所述确认应答后,将所述散列值与所选数据密钥的密钥标识及所述数据标识对应存储。
8.根据权利要求5或7所述的方法,其特征在于,所述第一设备发送的数据存储请求中还携带:所述散列值;
所述第二设备接收所述数据存储请求之后,还包括:
根据所述数据存储请求携带的密钥标识,获取相应的数据密钥;
基于相应可信平台模块的存储根密钥对所述获取的数据密钥解密;
用解密后的数据密钥对从所述数据存储请求中提取的数据密文解密得到明文数据,并采用与第一设备相同的预设散列算法、至少根据所述明文数据计算散列值;
判断计算得到的散列值与所述数据存储请求中携带的散列值是否一致;
并在一致时,执行所述将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储的步骤。
9.根据权利要求1所述的方法,其特征在于,在所述第一设备向所述第二设备发送数据存储请求之前,还包括:所述第一设备用与所述第二设备共享的秘密信息对所选数据密钥的密钥标识加密;
所述第一设备向所述第二设备发送的数据存储请求中携带的所选数据密钥的密钥标识,是指密钥标识密文;
所述第二设备在将所述数据存储请求中的数据密文至少与相应的密钥标识对应存储之前,执行以下操作:采用所述共享的秘密信息对所述数据存储请求携带的密钥标识密文解密。
10.根据权利要求1所述的方法,其特征在于,所述第一设备和所述第二设备分别具有可信计算平台,在所述第一设备根据预设策略选取数据密钥之前,包括:
所述第一设备和所述第二设备分别向对方发送至少包含可信证书的验证请求,并利用对方发送的验证请求中的信息对对方身份与平台的可信性进行验证;
并在所述第一设备和所述第二设备均通过验证后,执行所述第一设备根据预设策略选取数据密钥后,基于相应可信平台模块的存储根密钥对所选数据密钥的密文解密的步骤;
其中,所述可信证书是所述第一设备和所述第二设备分别预先根据授权中心基于系统私钥提供的相应信息获取的、与各自基于身份与平台信息的私钥对应的可信证书。
11.根据权利要求1所述的方法,其特征在于,所述方法在云存储服务系统中实施,所述云存储服务系统包括:云提供商子系统,和云用户子系统;所述第一设备为云用户子系统中的终端设备;所述第二设备为:云提供商子系统中的提供数据存储服务的设备。
12.根据权利要求11所述的方法,其特征在于,所述云提供商子系统中的提供数据存储服务的设备,包括:
服务器,所述相应的可信平台模块是指所述服务器的可信平台模块;或者,
无计算功能的存储外设,所述相应的可信平台模块是指为所述存储外设提供计算服务的机头服务器的可信平台模块;或者,
有计算功能的存储外设,所述相应的可信平台模块是指所述存储外设的可信平台模块。
13.根据权利要求1所述的方法,其特征在于,所述受相应可信平台模块的存储根密钥保护的密文形式,包括:
用所述存储根密钥加密后的密文;或者,
用所述存储根密钥生成的存储密钥加密后的密文。
14.一种数据获取方法,其特征在于,所述方法用于获取基于权利要求1所述方法存储的数据;
所述数据获取方法,包括:
第一设备向第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识;
所述第二设备接收所述数据获取请求后,至少根据所述数据获取请求携带的密钥标识获取第一数据密文,并向第一设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文;
所述第一设备接收所述第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述数据获取请求携带的密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的第二数据密文解密,以获取明文数据;其中,所述数据密钥是所述第一设备和所述第二设备共享的数据密钥,且所述数据密钥的密钥标识相同或者具有对应关系。
15.根据权利要求14所述的方法,其特征在于,所述第一设备向第二设备发送的数据获取请求中还携带所述第一数据的数据标识;
所述第二设备至少根据接收到的数据获取请求携带的密钥标识获取第一数据密文,包括:所述第一设备根据接收到的数据获取请求携带的密钥标识及数据标识,获取所述第一数据密文。
16.根据权利要求14所述的方法,其特征在于,所述第一设备向所述第二设备发送的数据获取请求中不仅携带与所述第一数据对应的密钥标识,还携带用双方共享的秘密信息对所述密钥标识加密后的密钥标识密文;
所述第二设备接收所述数据获取请求后,包括:
用所述双方共享的秘密信息对所述数据获取请求中的密钥标识密文解密;
并当解密后的密钥标识与所述数据获取请求中携带的密钥标识一致时,执行所述至少根据所述数据获取请求携带的密钥标识获取已存储的第一数据密文,并向第一设备返回应答的步骤。
17.根据权利要求14所述的方法,其特征在于,所述基于所述第一数据密文的、满足所述数据获取请求的第二数据密文包括:所述第一数据密文。
18.根据权利要求17所述的方法,其特征在于,所述第一设备已存储了采用预设散列算法计算得到的所述第一数据的散列值;
所述第一设备在获取明文数据之后,包括:
采用所述预设散列算法,至少根据所述明文数据计算散列值;
判断已存储的所述第一数据的散列值、与计算得到的散列值是否一致,若一致,则保留所述明文数据。
19.根据权利要求14所述的方法,其特征在于,所述第一设备向所述第二设备发送的数据获取请求中还携带计算描述信息;
所述第二设备在至少根据所述数据获取请求携带的密钥标识获取第一数据密文之后,在向所述第一设备返回应答之前,包括:
基于相应可信平台模块的存储根密钥对所述密钥标识对应的数据密钥的密文解密;
用解密后的数据密钥解密所述获取的第一数据密文,得到对应的明文数据;
根据所述数据获取请求中携带的计算描述信息,对所述第一数据密文对应的明文数据进行计算,以获取第二数据;
用所述解密后的数据密钥对所述第二数据加密,得到所述第二数据密文。
20.根据权利要求19所述的方法,其特征在于,在第二设备向第一设备返回应答之后,包括:用所述第二数据密文替换已存储的所述第一数据密文。
21.根据权利要求19所述的方法,其特征在于,所述第一设备已存储了采用预设散列算法计算得到的所述第一数据的散列值;
在所述第二设备获取所述第二数据之后,还包括:采用与所述第一设备相同的预设散列算法,至少根据所述第二数据计算散列值;
所述第二设备向所述第一设备返回的应答中还携带所述计算得到的散列值;
所述第一设备接收所述第二设备返回的应答后,还包括:用所述应答中的散列值替换已存储的所述第一数据的散列值。
22.根据权利要求21所述的方法,其特征在于,所述第一设备接收所述第二设备返回的应答并获取明文数据之后,包括:
采用所述预设散列算法,至少根据所述明文数据计算散列值;
判断所述应答中携带的散列值、与计算得到的散列值是否一致,若一致则保留所述明文数据,并执行所述用所述应答中的散列值替换已存储的所述第一数据的散列值的步骤。
23.根据权利要求14所述的方法,其特征在于,所述第一设备和第二设备分别具有可信计算平台,在所述第一设备向第二设备发送数据获取请求之前,包括:
所述第一设备和所述第二设备分别向对方发送至少包含可信证书的验证请求,并利用对方发送的验证请求中的信息对对方身份与平台的可信性进行验证;
并在所述第一设备和所述第二设备均通过验证后,执行所述第一设备向第二设备发送数据获取请求的步骤;
其中,所述可信证书是所述第一设备和所述第二设备分别预先根据授权中心基于系统私钥提供的相应信息获取的、与各自基于身份与平台信息的私钥对应的可信证书。
24.根据权利要求14所述的方法,其特征在于,所述方法在云存储服务网络系统中实施,所述云存储服务网络系统包括:云提供商子系统,和云用户子系统;所述第一设备为云用户子系统中的终端设备;所述第二设备为:云提供商子系统中的提供数据存储服务的设备。
25.一种数据提供方法,其特征在于,所述方法在第一设备中实施,用于向提供数据存储服务的第二设备提供待存储数据;本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;所述数据密钥是所述第一设备和所述第二设备共享的数据密钥,且所述数据密钥的密钥标识相同或者具有对应关系;
所述方法,包括:
根据预设策略选取数据密钥后,基于所述可信平台模块的存储根密钥对所选数据密钥的密文解密,并用解密后的数据密钥对待存储的数据加密;
向所述第二设备发送数据存储请求,所述数据存储请求中至少携带所选数据密钥的密钥标识、以及加密后的数据密文。
26.一种数据提供装置,其特征在于,应用于第一设备中,包括:
数据加密单元,用于根据预设策略选取数据密钥后,基于相应可信平台模块的存储根密钥对所选数据密钥的密文解密,并用解密后的数据密钥对待存储的数据加密;
存储请求发送单元,用于向第二设备发送数据存储请求,所述数据存储请求中至少携带所选数据密钥的密钥标识、以及加密后的数据密文;
其中,所述数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;所述数据密钥是所述第一设备和所述第二设备共享的数据密钥,且所述数据密钥的密钥标识相同或者具有对应关系。
27.一种数据存储方法,其特征在于,所述方法在为第一设备提供数据存储服务的第二设备上设施;本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;所述数据密钥是所述第一设备和所述第二设备共享的数据密钥,且所述数据密钥的密钥标识相同或者具有对应关系;
所述方法包括:
接收第一设备发送的数据存储请求,所述数据存储请求中至少携带密钥标识、以及加密后的数据密文;
根据预设策略以及所述密钥标识,将所述数据密文至少与相应的密钥标识对应存储。
28.一种数据存储装置,其特征在于,应用于第二设备中,包括:
存储请求接收单元,用于接收第一设备发送的数据存储请求,所述数据存储请求中至少携带密钥标识、以及加密后的数据密文;
数据密文存储单元,用于根据预设策略以及所述密钥标识,将所述数据密文至少与相应的密钥标识对应存储;
其中,所述数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;所述数据密钥是所述第一设备和所述第二设备共享的数据密钥,且所述数据密钥的密钥标识相同或者具有对应关系。
29.一种数据存储系统,其特征在于,包括:如权利要求26所述的数据提供装置,以及如权利要求28所述的数据存储装置。
30.一种数据获取方法,其特征在于,所述方法在第一设备中实施,用于从提供数据存储服务的第二设备获取数据,本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;所述数据密钥是所述第一设备和所述第二设备共享的数据密钥,且所述数据密钥的密钥标识相同或者具有对应关系;
所述方法包括:
向所述第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识;
接收所述第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的、基于第一数据密文的第二数据密文解密,以获取明文数据。
31.一种数据获取装置,其特征在于,应用于第一设备中,包括:
获取请求发送单元,用于向第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识;
明文数据获取单元,用于接收所述第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的、基于第一数据密文的第二数据密文解密,以获取明文数据;
其中,所述数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;所述数据密钥是所述第一设备和所述第二设备共享的数据密钥,且所述数据密钥的密钥标识相同或者具有对应关系。
32.一种数据提供方法,其特征在于,所述方法在为第一设备提供数据存储服务的第二设备上实施;本方法涉及的数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;所述数据密钥是所述第一设备和所述第二设备共享的数据密钥,且所述数据密钥的密钥标识相同或者具有对应关系;
所述方法包括:
接收第一设备发送的数据获取请求;
至少根据所述数据获取请求携带的密钥标识获取第一数据密文;
向所述第一设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文。
33.一种数据提供装置,其特征在于,应用于第二设备中,包括:
获取请求接收单元,用于接收第一设备发送的数据获取请求;
数据密文获取单元,用于至少根据所述数据获取请求携带的密钥标识获取第一数据密文;
数据密文返回单元,用于向所述第一设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文;
其中,所述数据密钥是以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储的;所述数据密钥是所述第一设备和所述第二设备共享的数据密钥,且所述数据密钥的密钥标识相同或者具有对应关系。
34.一种数据获取系统,其特征在于,包括:如权利要求31所述的数据获取装置,以及如权利要求33所述的数据提供装置。
35.一种数据获取方法,其特征在于,所述方法用于获取基于权利要求1所述方法存储的数据,本方法涉及的第三设备与第二设备彼此共享至少两对数据密钥、且与第一设备和第二设备共享的数据密钥相同;第三设备将其与第二设备共享的数据密钥以受相应可信平台模块的存储根密钥保护的密文形式、与相应密钥标识对应存储;且所述数据密钥的密钥标识相同或者具有对应关系;
所述数据获取方法,包括:
所述第三设备向所述第二设备发送数据获取请求,所述数据获取请求中至少携带第一数据对应的密钥标识;
所述第二设备接收所述数据获取请求后,至少根据所述数据获取请求携带的密钥标识获取第一数据密文,并向所述第三设备返回应答,所述应答中至少携带基于所述第一数据密文的、满足所述数据获取请求的第二数据密文;
所述第三设备接收所述第二设备返回的应答后,基于相应可信平台模块的存储根密钥对所述数据获取请求携带的密钥标识对应的数据密钥密文解密,并用解密后的数据密钥对所述应答中的第二数据密文解密,以获取明文数据。
CN201610900293.8A 2016-10-14 2016-10-14 数据存储方法、数据获取方法、装置及系统 Active CN107959567B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610900293.8A CN107959567B (zh) 2016-10-14 2016-10-14 数据存储方法、数据获取方法、装置及系统
TW106126270A TWI744371B (zh) 2016-10-14 2017-08-03 資料儲存方法、資料獲取方法、裝置及系統
US15/717,729 US10574446B2 (en) 2016-10-14 2017-09-27 Method and system for secure data storage and retrieval
PCT/US2017/055066 WO2018071244A1 (en) 2016-10-14 2017-10-04 Method and system for secure data storage and retrieval

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610900293.8A CN107959567B (zh) 2016-10-14 2016-10-14 数据存储方法、数据获取方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107959567A CN107959567A (zh) 2018-04-24
CN107959567B true CN107959567B (zh) 2021-07-27

Family

ID=61904895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610900293.8A Active CN107959567B (zh) 2016-10-14 2016-10-14 数据存储方法、数据获取方法、装置及系统

Country Status (4)

Country Link
US (1) US10574446B2 (zh)
CN (1) CN107959567B (zh)
TW (1) TWI744371B (zh)
WO (1) WO2018071244A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454892B2 (en) 2017-02-21 2019-10-22 Bank Of America Corporation Determining security features for external quantum-level computing processing
US10447472B2 (en) * 2017-02-21 2019-10-15 Bank Of America Corporation Block computing for information silo
CN108650277A (zh) * 2018-05-24 2018-10-12 哈工大机器人(合肥)国际创新研究院 一种数据加密传输方法
CN108964896B (zh) * 2018-06-28 2021-01-05 如般量子科技有限公司 一种基于群组密钥池的Kerberos身份认证系统和方法
CN109150835B (zh) * 2018-07-20 2021-05-04 国科量子通信网络有限公司 云端数据存取的方法、装置、设备及计算机可读存储介质
CN109145627A (zh) * 2018-09-05 2019-01-04 郑州云海信息技术有限公司 一种数据处理的方法以及相关装置
CN109361511A (zh) * 2018-11-08 2019-02-19 华为技术有限公司 数据传输方法、网络设备及计算机存储介质
US11409898B1 (en) * 2018-12-07 2022-08-09 RapidDeploy, Inc. Secure data broker for sensitive data
CN110011956B (zh) * 2018-12-12 2020-07-31 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN109672521B (zh) * 2018-12-26 2022-11-29 贵州华芯通半导体技术有限公司 基于国密加密引擎实现的安全存储系统和方法
CN109918916B (zh) * 2019-03-14 2020-02-18 沈昌祥 一种双体系可信计算系统及方法
CN111756675B (zh) * 2019-03-28 2023-04-07 钉钉控股(开曼)有限公司 数据处理方法、装置、设备和系统
CN110084054A (zh) * 2019-05-08 2019-08-02 深圳豪杰创新电子有限公司 一种数据保密装置、方法、电子设备及存储介质
US11044080B2 (en) * 2019-06-24 2021-06-22 International Business Machines Corporation Cryptographic key orchestration between trusted containers in a multi-node cluster
US11228431B2 (en) * 2019-09-20 2022-01-18 General Electric Company Communication systems and methods for authenticating data packets within network flow
CN110659477A (zh) * 2019-09-23 2020-01-07 深圳市网心科技有限公司 安卓设备的防刷机保护方法、系统及安卓设备和存储介质
US11121878B2 (en) * 2019-10-11 2021-09-14 Accenture Global Solutions Limited Authentication using key distribution through segmented quantum computing environments
WO2021102023A1 (en) * 2019-11-19 2021-05-27 Arris Enterprises Llc Transmission of secure information in a content distribution network
CN111159703B (zh) * 2019-12-31 2022-12-06 奇安信科技集团股份有限公司 虚拟机数据泄露检测方法及装置
CN112560015A (zh) * 2020-12-17 2021-03-26 北京百度网讯科技有限公司 电子设备的密码更新方法、装置、设备以及存储介质
US20220217136A1 (en) * 2021-01-04 2022-07-07 Bank Of America Corporation Identity verification through multisystem cooperation
US11569995B2 (en) * 2021-03-15 2023-01-31 Seagate Technology Llc Provisional authentication of a new device added to an existing trust group
CN113193958B (zh) * 2021-05-10 2023-07-07 成都量安区块链科技有限公司 一种量子密钥服务方法与系统
US11811921B2 (en) * 2021-08-29 2023-11-07 International Business Machines Corporation Photon-level light shifting for enhanced file system security and authenticity
CN114268435B (zh) * 2022-03-03 2022-05-13 南京易科腾信息技术有限公司 云密码服务通信方法、装置、电子设备及存储介质
CN114679272B (zh) * 2022-05-27 2022-09-20 浙江九州量子信息技术股份有限公司 一种使用量子密钥加密的云存储系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270285A (zh) * 2010-06-01 2011-12-07 华为技术有限公司 密钥授权信息管理方法及装置
CN103843303A (zh) * 2012-11-22 2014-06-04 华为技术有限公司 虚拟机的管理控制方法及装置、系统

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2152628C (en) 1992-12-24 1999-02-02 Paul David Townsend System and method for key distribution using quantum cryptography
US5307410A (en) 1993-05-25 1994-04-26 International Business Machines Corporation Interferometric quantum cryptographic key distribution system
US6151676A (en) 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
US6505247B1 (en) 1998-08-21 2003-01-07 National Instruments Corporation Industrial automation system and method for efficiently transferring time-sensitive and quality-sensitive data
US8677505B2 (en) 2000-11-13 2014-03-18 Digital Doors, Inc. Security system with extraction, reconstruction and secure recovery and storage of data
JPWO2003069489A1 (ja) 2002-02-14 2005-11-04 若山 裕典 本人認証の方法
US8850179B2 (en) 2003-09-15 2014-09-30 Telecommunication Systems, Inc. Encapsulation of secure encrypted data in a deployable, secure communication system allowing benign, secure commercial transport
US7299354B2 (en) 2003-09-30 2007-11-20 Intel Corporation Method to authenticate clients and hosts to provide secure network boot
US7831048B2 (en) 2003-12-17 2010-11-09 General Dynamics Advanced Information Systems, Inc. Secure quantum key distribution using entangled photons
US7644278B2 (en) 2003-12-31 2010-01-05 International Business Machines Corporation Method for securely creating an endorsement certificate in an insecure environment
US7181011B2 (en) 2004-05-24 2007-02-20 Magiq Technologies, Inc. Key bank systems and methods for QKD
US7484099B2 (en) 2004-07-29 2009-01-27 International Business Machines Corporation Method, apparatus, and product for asserting physical presence with a trusted platform module in a hypervisor environment
US20060056630A1 (en) 2004-09-13 2006-03-16 Zimmer Vincent J Method to support secure network booting using quantum cryptography and quantum key distribution
FR2882208B1 (fr) * 2005-02-14 2007-05-11 Viaccess Sa Procede et systeme de reception d'un signal multimedia, entite cryptographique pour ce procede de reception et systeme, procede et boite noire pour la fabrication de l'entite cryptographique
US9191198B2 (en) 2005-06-16 2015-11-17 Hewlett-Packard Development Company, L.P. Method and device using one-time pad data
US7885412B2 (en) 2005-09-29 2011-02-08 International Business Machines Corporation Pre-generation of generic session keys for use in communicating within communications environments
DE602005014879D1 (de) 2005-12-23 2009-07-23 Alcatel Lucent Ressourcen-Zugangskontrolle für Kunden-gesteuerte und Netzwerk-gesteuerte Abfragen
US8082443B2 (en) 2006-01-09 2011-12-20 Bbnt Solutions Llc. Pedigrees for quantum cryptography
US20130227286A1 (en) 2006-04-25 2013-08-29 Andre Jacques Brisson Dynamic Identity Verification and Authentication, Dynamic Distributed Key Infrastructures, Dynamic Distributed Key Systems and Method for Identity Management, Authentication Servers, Data Security and Preventing Man-in-the-Middle Attacks, Side Channel Attacks, Botnet Attacks, and Credit Card and Financial Transaction Fraud, Mitigating Biometric False Positives and False Negatives, and Controlling Life of Accessible Data in the Cloud
CA2648780C (en) 2006-04-25 2013-07-16 Stephen Laurence Boren Dynamic distributed key system and method for identity management, authentication servers, data security and preventing man-in-the-middle attacks
US8418235B2 (en) 2006-11-15 2013-04-09 Research In Motion Limited Client credential based secure session authentication method and apparatus
US8213602B2 (en) 2006-11-27 2012-07-03 Broadcom Corporation Method and system for encrypting and decrypting a transport stream using multiple algorithms
US20080165973A1 (en) 2007-01-09 2008-07-10 Miranda Gavillan Jose G Retrieval and Display of Encryption Labels From an Encryption Key Manager
EP2122900A4 (en) 2007-01-22 2014-07-23 Spyrus Inc PORTABLE DATA ENCRYPTION DEVICE WITH CONFIGURABLE SAFETY FUNCTIONS AND METHOD FOR FILING ENCRYPTION
US20080219449A1 (en) 2007-03-09 2008-09-11 Ball Matthew V Cryptographic key management for stored data
AU2008240065A1 (en) 2007-04-12 2008-10-23 Landon Curt Noll Method and system for identifying and managing encryption keys
US8111828B2 (en) 2007-07-31 2012-02-07 Hewlett-Packard Development Company, L.P. Management of cryptographic keys for securing stored data
CN101106455B (zh) 2007-08-20 2010-10-13 北京飞天诚信科技有限公司 身份认证的方法和智能密钥装置
US9323901B1 (en) 2007-09-28 2016-04-26 Emc Corporation Data classification for digital rights management
GB0801395D0 (en) 2008-01-25 2008-03-05 Qinetiq Ltd Network having quantum key distribution
US20090204812A1 (en) 2008-02-13 2009-08-13 Baker Todd M Media processing
US8838990B2 (en) 2008-04-25 2014-09-16 University Of Colorado Board Of Regents Bio-cryptography: secure cryptographic protocols with bipartite biotokens
GB0809044D0 (en) 2008-05-19 2008-06-25 Qinetiq Ltd Multiplexed QKD
EA201100389A1 (ru) 2008-08-20 2011-08-30 УЭРЕПРО, ЛЛСи Генератор пакетов данных, способ определения положения и передачи пароля
GB0819665D0 (en) 2008-10-27 2008-12-03 Qinetiq Ltd Quantum key dsitribution
US9438574B2 (en) 2008-12-30 2016-09-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Client/server authentication over Fibre channel
KR20110126124A (ko) 2009-02-04 2011-11-22 데이터 시큐어리티 시스템즈 솔루션스 피티이 엘티디 2-요소 인증을 위해 정적 암호를 변경하는 시스템
US8194858B2 (en) 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
US8077047B2 (en) 2009-04-16 2011-12-13 Ut-Battelle, Llc Tampering detection system using quantum-mechanical systems
GB0917060D0 (en) 2009-09-29 2009-11-11 Qinetiq Ltd Methods and apparatus for use in quantum key distribution
US8700893B2 (en) 2009-10-28 2014-04-15 Microsoft Corporation Key certification in one round trip
WO2011050745A1 (zh) 2009-10-30 2011-05-05 北京飞天诚信科技有限公司 认证方法及系统
KR101314210B1 (ko) 2009-11-24 2013-10-02 한국전자통신연구원 사용자 인증 양자 키 분배 방법
WO2011068784A1 (en) 2009-12-01 2011-06-09 Azuki Systems, Inc. Method and system for secure and reliable video streaming with rate adaptation
KR101351012B1 (ko) 2009-12-18 2014-01-10 한국전자통신연구원 다자간 양자 통신에서의 사용자 인증 방법 및 장치
US8418259B2 (en) 2010-01-05 2013-04-09 Microsoft Corporation TPM-based license activation and validation
US8850554B2 (en) 2010-02-17 2014-09-30 Nokia Corporation Method and apparatus for providing an authentication context-based session
US8984588B2 (en) 2010-02-19 2015-03-17 Nokia Corporation Method and apparatus for identity federation gateway
US8868846B2 (en) 2010-03-19 2014-10-21 Netapp, Inc. Method and system for maintaining data coherency across a network
US9002009B2 (en) 2010-06-15 2015-04-07 Los Alamos National Security, Llc Quantum key distribution using card, base station and trusted authority
TW201201556A (en) * 2010-06-29 2012-01-01 Chunghwa Telecom Co Ltd Construction structure of quantum encryption service network
US8917631B2 (en) 2010-08-23 2014-12-23 Ortsbo Inc. System and method for sharing information between two or more devices
GB201020424D0 (en) 2010-12-02 2011-01-19 Qinetiq Ltd Quantum key distribution
US8839134B2 (en) 2010-12-24 2014-09-16 Intel Corporation Projection interface techniques
CN103608829A (zh) 2011-01-18 2014-02-26 舍德Ip有限责任公司 用于基于编码完整性进行计算机化协商的系统和方法
US9531758B2 (en) 2011-03-18 2016-12-27 Zscaler, Inc. Dynamic user identification and policy enforcement in cloud-based secure web gateways
WO2012139174A1 (en) * 2011-04-15 2012-10-18 Quintessencelabs Pty Ltd Qkd key management system
KR20140051354A (ko) 2011-07-29 2014-04-30 쓰리엠 이노베이티브 프로퍼티즈 컴파니 자동 연관 및 연결을 허용하는 무선 프레젠테이션 시스템
ES2509816T3 (es) 2011-08-05 2014-10-20 Selex Es S.P.A. Sistema para la distribución de claves criptográficas
EP2745212B1 (en) 2011-08-19 2020-12-30 Quintessencelabs Pty Ltd Virtual zeroisation system and method
US9509506B2 (en) 2011-09-30 2016-11-29 Los Alamos National Security, Llc Quantum key management
US9008308B2 (en) 2012-02-08 2015-04-14 Vixs Systems, Inc Container agnostic decryption device and methods for use therewith
EP2817941A4 (en) 2012-02-24 2015-10-21 Nokia Technologies Oy METHOD AND DEVICE FOR A DYNAMIC SERVICE CLIENTS-CONTROLLED CONNECTIVITY LOGIC
US9130742B2 (en) 2012-03-30 2015-09-08 California Institute Of Technology Key agreement in wireless networks with active adversaries
US8693691B2 (en) 2012-05-25 2014-04-08 The Johns Hopkins University Embedded authentication protocol for quantum key distribution systems
US10171454B2 (en) 2012-08-23 2019-01-01 Alejandro V. Natividad Method for producing dynamic data structures for authentication and/or password identification
US9887976B2 (en) 2012-08-30 2018-02-06 Los Alamos National Security, Llc Multi-factor authentication using quantum communication
CN102801530B (zh) 2012-09-04 2015-08-26 飞天诚信科技股份有限公司 一种基于声音传输的认证方法
US9294267B2 (en) 2012-11-16 2016-03-22 Deepak Kamath Method, system and program product for secure storage of content
US8869303B2 (en) 2013-02-16 2014-10-21 Mikhail Fleysher Method and system for generation of dynamic password
US9374376B2 (en) 2013-02-27 2016-06-21 The Boeing Company Anti-hacking system for quantum communication
CN104036780B (zh) 2013-03-05 2017-05-24 阿里巴巴集团控股有限公司 一种人机识别方法及系统
US9747456B2 (en) 2013-03-15 2017-08-29 Microsoft Technology Licensing, Llc Secure query processing over encrypted data
CN105308616B (zh) * 2013-04-18 2018-07-17 费思康有限公司 文件安全方法及其设备
CN105191249A (zh) 2013-04-26 2015-12-23 日立麦克赛尔株式会社 投影型影像显示装置
US9282093B2 (en) 2013-04-30 2016-03-08 Microsoft Technology Licensing, Llc Synchronizing credential hashes between directory services
CN104243143B (zh) 2013-06-08 2017-03-29 科大国盾量子技术股份有限公司 一种基于量子密钥分配网络的移动保密通信方法
US20150095987A1 (en) 2013-10-01 2015-04-02 Certify Global LLC Systems and methods of verifying an authentication using dynamic scoring
WO2015062904A1 (en) * 2013-10-28 2015-05-07 Kmaas Aps A system and a method for management of confidential data
US9684780B2 (en) 2013-11-25 2017-06-20 Yingjie Liu Dynamic interactive identity authentication method and system
US20150207926A1 (en) 2014-01-23 2015-07-23 Microsoft Corporation Entity-linked reminder notifications
WO2015113138A1 (en) 2014-01-31 2015-08-06 Teixem Corp. System and method for performing secure communications
JP6359285B2 (ja) 2014-02-17 2018-07-18 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
JP6203093B2 (ja) 2014-03-19 2017-09-27 株式会社東芝 通信システム、通信装置、通信方法およびプログラム
JP6223884B2 (ja) 2014-03-19 2017-11-01 株式会社東芝 通信装置、通信方法およびプログラム
US9331875B2 (en) 2014-04-04 2016-05-03 Nxgen Partners Ip, Llc System and method for communication using orbital angular momentum with multiple layer overlay modulation
US20150288517A1 (en) 2014-04-04 2015-10-08 Ut-Battelle, Llc System and method for secured communication
US9083739B1 (en) 2014-05-29 2015-07-14 Shape Security, Inc. Client/server authentication using dynamic credentials
CN105553648B (zh) 2014-10-30 2019-10-29 阿里巴巴集团控股有限公司 量子密钥分发、隐私放大及数据传输方法、装置及系统
KR101776137B1 (ko) 2014-10-30 2017-09-19 에스케이 텔레콤주식회사 양자 키 분배 시스템에서 복수의 장치에 키를 공급하는 장치 및 방법
CN105827397B (zh) * 2015-01-08 2019-10-18 阿里巴巴集团控股有限公司 基于可信中继的量子密钥分发系统、方法及装置
CN104657099B (zh) 2015-01-15 2019-04-12 小米科技有限责任公司 屏幕投射方法、装置及系统
CN105871538B (zh) * 2015-01-22 2019-04-12 阿里巴巴集团控股有限公司 量子密钥分发系统、量子密钥分发方法及装置
CN105991285B (zh) 2015-02-16 2019-06-11 阿里巴巴集团控股有限公司 用于量子密钥分发过程的身份认证方法、装置及系统
WO2016145037A1 (en) 2015-03-09 2016-09-15 University Of Houston System Methods and apparatuses for authentication in quantum key distribution and/or quantum data communication
US9667600B2 (en) 2015-04-06 2017-05-30 At&T Intellectual Property I, L.P. Decentralized and distributed secure home subscriber server device
US9578008B2 (en) 2015-05-11 2017-02-21 Intel Corporation Technologies for secure bootstrapping of virtual network functions
US10348704B2 (en) 2015-07-30 2019-07-09 Helder Silvestre Paiva Figueira Method for a dynamic perpetual encryption cryptosystem
US11398915B2 (en) * 2016-08-26 2022-07-26 Samsung Electronics Co., Ltd. Apparatus and method for two-way authentication
CN105871539B (zh) * 2016-03-18 2020-02-14 华为技术有限公司 一种密钥处理方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270285A (zh) * 2010-06-01 2011-12-07 华为技术有限公司 密钥授权信息管理方法及装置
CN103843303A (zh) * 2012-11-22 2014-06-04 华为技术有限公司 虚拟机的管理控制方法及装置、系统

Also Published As

Publication number Publication date
TW201814496A (zh) 2018-04-16
US20180109378A1 (en) 2018-04-19
TWI744371B (zh) 2021-11-01
CN107959567A (zh) 2018-04-24
US10574446B2 (en) 2020-02-25
WO2018071244A1 (en) 2018-04-19

Similar Documents

Publication Publication Date Title
CN107959567B (zh) 数据存储方法、数据获取方法、装置及系统
CN111181720B (zh) 基于可信执行环境的业务处理方法及装置
TWI738836B (zh) 量子資料密鑰協商系統及量子資料密鑰協商方法
Kaaniche et al. A secure client side deduplication scheme in cloud storage environments
US8462955B2 (en) Key protectors based on online keys
CN110214440B (zh) 计算系统,传送受保护数据的方法和可读存储介质
US10425234B2 (en) Systems and methods for perfect forward secrecy (PFS) traffic monitoring via a hardware security module
US8850206B2 (en) Client-server system with security for untrusted server
US9219722B2 (en) Unclonable ID based chip-to-chip communication
US8509449B2 (en) Key protector for a storage volume using multiple keys
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
TW201742399A (zh) 資料安全傳輸方法、客戶端及服務端方法、裝置及系統
US9020149B1 (en) Protected storage for cryptographic materials
US20080301436A1 (en) Method and apparatus for performing authentication between clients using session key shared with server
CN109728914B (zh) 数字签名验证方法、系统、装置及计算机可读存储介质
US20120294445A1 (en) Credential storage structure with encrypted password
CN104618096B (zh) 保护密钥授权数据的方法、设备和tpm密钥管理中心
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN104065680A (zh) 信息处理方法、检索方法、装置、用户终端及服务器
KR20150045790A (ko) 신뢰 보안 플랫폼 모듈을 이용한 보안 애플리케이션 인증 및 관리 방법 및 장치
Hussein et al. A survey of cryptography cloud storage techniques
Dey et al. Message digest as authentication entity for mobile cloud computing
US20220284133A1 (en) Executing entity-specific cryptographic code in a cryptographic coprocessor
CN103973698A (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