WO2012163043A1 - 一种保护云中数据安全的方法、装置及系统 - Google Patents

一种保护云中数据安全的方法、装置及系统 Download PDF

Info

Publication number
WO2012163043A1
WO2012163043A1 PCT/CN2011/081987 CN2011081987W WO2012163043A1 WO 2012163043 A1 WO2012163043 A1 WO 2012163043A1 CN 2011081987 W CN2011081987 W CN 2011081987W WO 2012163043 A1 WO2012163043 A1 WO 2012163043A1
Authority
WO
WIPO (PCT)
Prior art keywords
encrypted data
data
terminal
key
management center
Prior art date
Application number
PCT/CN2011/081987
Other languages
English (en)
French (fr)
Inventor
张景彬
何承东
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN2011800025338A priority Critical patent/CN103262491A/zh
Priority to PCT/CN2011/081987 priority patent/WO2012163043A1/zh
Priority to EP16205683.2A priority patent/EP3229436B1/en
Priority to EP11866813.6A priority patent/EP2704389B1/en
Publication of WO2012163043A1 publication Critical patent/WO2012163043A1/zh
Priority to US14/141,849 priority patent/US9203614B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/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/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/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/0825Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • 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/0471Network 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 applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding

Definitions

  • the present invention relates to the field of IT technologies, and in particular, to a method, device and system for protecting data security in a cloud.
  • cloud data In the cloud computing field, user data stored in the cloud (cloud server) is called cloud data.
  • cloud data When users save data in the cloud, they lose direct control over the data, and the security of the data cannot be guaranteed.
  • An important measure to ensure data security is to encrypt the data.
  • the terminal A encrypts the data, and uploads the encrypted data to the cloud server.
  • the inventor believes that the prior art has at least the following problems:
  • other terminals such as the terminal B, may request to obtain the key of the terminal A to encrypt the data.
  • Improper key protection may result in key leakage, making data sharing unsafe.
  • An object of the present invention is to provide a method, device, and system for protecting data in a cloud, so that keys of data in the cloud may not be leaked in the process of acquiring data in the cloud by other terminals.
  • the key management center receives the original data M sent by the first terminal;
  • the key management center encrypts the original data M according to the key K generated by itself to obtain encrypted data C1;
  • the key management center uploads the encrypted data C1 to the cloud server for storage;
  • the key management center obtains the encrypted data C2, and sends the encrypted data C2 to the second terminal, so as to facilitate the
  • the second terminal obtains the original data M by decrypting the encrypted data C2 according to a key that is mastered by itself, and the encrypted data C2 is processed by the encrypted data C1.
  • the second terminal sends a request for decrypting data or a request for downloading data to the key management center; the second terminal receives the encrypted data C2 sent by the key management center, and the encrypted data C2 is processed by the encrypted data C1.
  • the encrypted data C1 is data stored in the cloud server, and the encrypted data C1 is obtained by the key management center encrypting the original data M sent by the first terminal according to the key K generated by the key management center;
  • the second terminal decrypts the encrypted data C2 according to a key that is mastered by itself to obtain the original data.
  • a receiving unit configured to receive the original data M sent by the first terminal, and a request for receiving the decrypted data sent by the second terminal or a request for downloading the data;
  • An encryption unit configured to encrypt the original data M received by the receiving unit according to the key K generated by itself to obtain encrypted data C1;
  • a sending unit configured to upload the encrypted data C1 obtained by the encryption unit to the cloud server
  • an obtaining unit configured to: when the receiving unit receives the request for decrypting data sent by the second terminal or downloads data, Obtaining encrypted data C2, wherein the encrypted data C2 is processed by the encrypted data C1;
  • the sending unit is further configured to send the encrypted data C2 obtained by the obtaining unit to the second And the terminal, so that the second terminal decrypts the encrypted data C2 according to a key that is mastered by the second terminal to obtain the original data M.
  • a sending unit configured to send a request for decrypting data or downloading data to the key management center
  • a receiving unit configured to receive the encrypted data C2 sent by the key management center, where the encrypted data C2 is processed by the encrypted data C1, where the encrypted data C1 is data stored in a cloud server, where the encrypted data C1 is The key management center encrypts the original data M sent by the first terminal according to the key K generated by itself;
  • a decryption unit configured to decrypt the encrypted data C2 received by the receiving unit according to a key that is mastered by itself to obtain the original data M.
  • a system for protecting data security in a cloud provided by an embodiment of the present invention
  • a second terminal configured to receive the encrypted data C2 sent by the key management center after sending the request for decrypting data or the request for downloading data to the key management center, and decrypting the encrypted data C2 according to the key that is mastered by itself Obtaining the original data M of the first terminal;
  • a key management center configured to: when receiving the request for decrypting data sent by the second terminal or requesting to download data, obtaining the encrypted data C2, and sending the encrypted data C2 to the second a terminal, wherein the encrypted data C2 is processed by the encrypted data C1, and the encrypted data C1 is stored in a cloud server, and the encrypted data C1 is used by the key management center according to the key K generated by itself.
  • the original data M sent by a terminal is obtained by encryption.
  • the key management center encrypts the original data M and saves the key of the encrypted original data M, and receives the decryption sent by the second terminal.
  • the key management center does not directly provide the encryption key of the encrypted data C1 stored in the cloud server to the second terminal, but encrypts the encrypted data C1.
  • C2 is sent to the second terminal, the method can guarantee the said
  • the second terminal can finally obtain the original data M according to the key that it has mastered, and can also ensure that the key of the encrypted data C1 stored in the cloud server can be not leaked during the process of acquiring the data in the cloud by the second terminal, and the key is lowered.
  • the risk of leakage increases the security of data sharing.
  • FIG. 1 is a schematic diagram of a network architecture for protecting data in a cloud according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a method for protecting data security in a cloud in the networking architecture of FIG. 1 according to an embodiment of the present invention
  • FIG. 3 is another method for protecting data security in a cloud in the networking architecture of FIG. 1 according to an embodiment of the present invention
  • FIG. 4 is a flowchart of an implementation manner of Embodiment 3 of the method in the networking architecture of FIG. 1 according to an embodiment of the present disclosure
  • FIG. 5 is a schematic flowchart of Embodiment 4 of a method in the networking architecture of FIG. 1 according to an embodiment of the present disclosure
  • FIG. 6 is a flowchart of an implementation manner of Embodiment 5 of the method in the networking architecture of FIG. 1 according to an embodiment of the present disclosure
  • FIG. 7 is a flowchart of an implementation manner of Embodiment 6 of the method in the networking architecture of FIG. 1 according to an embodiment of the present disclosure
  • FIG. 8 is a flowchart of an implementation manner of Embodiment 7 of the method in the networking architecture of FIG. 1 according to an embodiment of the present disclosure
  • FIG. 9 is a key management center according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of a terminal according to an embodiment of the present invention.
  • FIG. 11 is another terminal according to an embodiment of the present invention.
  • FIG. 12 is a system for protecting data security in a cloud according to an embodiment of the present invention. detailed description The technical solutions in the embodiments of the present invention will be clearly and completely described in the following with reference to the accompanying drawings in the embodiments.
  • FIG. 1 it is a network architecture diagram for protecting data security in a cloud according to an embodiment of the present invention.
  • the key management center is located at the user end.
  • the key management center is responsible for encrypting the data, and uploading the encrypted data to the cloud server for saving; when downloading the data, the key management center is responsible for processing the obtained encrypted data. And sending the processed data to the second terminal, so that the second terminal can decrypt the processed data according to the key that is mastered by the second terminal to obtain the original data.
  • composition of the key management center includes but is not limited to any one of the following:
  • the key management center is composed of one or more servers
  • the key management center is composed of one or more terminals
  • the key management center is composed of one or more servers and one or more terminals.
  • a method for protecting data security in a cloud in the networking architecture of FIG. 1 is provided in the embodiment of the present invention, where the method includes:
  • the key management center receives the original data M sent by the first terminal
  • the key K is generated and saved by the key management center itself, and the key management center does not send the key K to any terminal, including the first terminal, thereby Ensuring that the key K of the encrypted data is secure;
  • S203 The key management center uploads the encrypted data C1 to the cloud server for storage;
  • the key management center When receiving the request for decrypting data sent by the second terminal or the request for downloading data, the key management center obtains the encrypted data C2, and sends the encrypted data C2 to the second terminal, so as to facilitate Decoding the encrypted data C2 according to the key that is mastered by the second terminal to obtain the The original data M, wherein the encrypted data C2 is processed by the encrypted data C1; wherein the manner in which the key management center provided by the embodiment obtains the encrypted data C2 may include any of the following the way:
  • the request of C1, or the request to download the original data M, or the request to download the encrypted data C1, obtain the encrypted data C1, first encrypt the encrypted data C1 to obtain the first intermediate encrypted data cr, and then Decrypting the first intermediate encrypted data cr to obtain the encrypted data
  • Manner 2 When receiving the request for decrypting the second intermediate encrypted data cr sent by the second terminal, the key management center decrypts the second intermediate encrypted data cr to obtain the encrypted data C2.
  • the second intermediate encrypted data C1 is obtained by encrypting the encrypted data C1 by the second terminal;
  • Manner 3 The key management center receives the request for decrypting the encrypted data C1 sent by the second terminal, or downloads the request of the original data M, or downloads the request for the encrypted data C1, obtains a
  • the encrypted data C1 is obtained by first decrypting the encrypted data C1 according to the key K to obtain the original data M, and then encrypting the original data M to obtain the encrypted data C2.
  • the original data in the embodiment of the present invention is named M
  • the encrypted data is named Cl
  • C2 the encrypted data
  • K the key
  • the key management center encrypts the original data M and saves the key of the encrypted original data M, and receives the decryption sent by the second terminal.
  • the key management center is not directly Providing the encryption key of the encrypted data CI stored in the cloud server to the second terminal, and transmitting the encrypted data C2 processed by the encrypted data C1 to the second terminal, the method can ensure the second terminal
  • the original data M can be finally obtained according to the key that is mastered by the user, and the key of the encrypted data C1 stored in the cloud server can be prevented from being leaked during the process of acquiring the data in the cloud, thereby reducing the key leakage. Risk, which enhances the security of data sharing.
  • FIG. 3 another method for protecting data security in a cloud is provided in the networking architecture of FIG. 1 according to an embodiment of the present invention, where the method includes:
  • S301 The second terminal sends a request for decrypting data or downloading data to the key management center;
  • the second terminal may first obtain the encrypted data C1 from the cloud server, and then request the decrypted data from the key management center, or directly
  • the key management center directly requests to download the original data M or the encrypted data C1
  • the specific implementation may include any one of the following:
  • Manner 1 After the second terminal acquires the encrypted data C1 from the cloud server, the second terminal sends a request for decrypting the encrypted data C1 to the key management center;
  • Manner 2 the second terminal sends a request for downloading the original data M or downloading the encrypted data C1 to the key management center;
  • the second terminal receives the encrypted data C2 sent by the key management center, and the encrypted data C2 is processed by the encrypted data C1, where the encrypted data C1 is data stored in a cloud server.
  • the encrypted data C1 is obtained by the key management center by encrypting the original data M sent by the first terminal according to the key K generated by the key management center;
  • the specific implementation manner in this embodiment may be: if the key management center receives the location a request for decrypting the encrypted data CI sent by the second terminal, or a request to download the original data M or a request to download the encrypted data C1, the key management center obtaining the request according to the received request Encrypting the data C1, and performing the process of encrypting and decrypting the encrypted data C1 first, or decrypting and re-encrypting to obtain the encrypted data C2; or
  • the key management center decrypts the second intermediate encrypted data C1, The encrypted data C2;
  • S303 The second terminal decrypts the encrypted data C2 according to a key that is mastered by itself to obtain the original data ⁇ 1.
  • the second terminal does not directly obtain the encryption key of the encrypted data C1 stored in the cloud server, but obtains the encryption after processing the encrypted data C1.
  • the data C2 the method can ensure that the second terminal can decrypt the encrypted data C2 according to the key that is mastered by the second terminal to obtain the original data M, and can also ensure that the second terminal saves the encrypted data C1 of the cloud server in the process of acquiring the encrypted data.
  • the key can be not leaked, which reduces the risk of key leakage and enhances the security of data sharing.
  • FIG. 4 is a flowchart of implementing Embodiment 3 of the method in the network architecture of FIG. 1 according to an embodiment of the present invention, where the embodiment includes:
  • the key management center receives the original data M sent by the first terminal;
  • the key K is generated and saved by the key management center itself, and the key management center does not send the key K to any terminal, including the first terminal, thereby Ensure that the key of the encrypted data is secure;
  • the exchangeable encryption algorithm has the following properties:
  • E(K1, E(K2, Q)) E(K2, E(K1, Q))
  • the result of encryption using the exchangeable algorithm has nothing to do with the order of the key used, specifically, the secret is used first.
  • the key K1 encrypts the data Q to obtain the encrypted data Q1, and then encrypts the encrypted data Q1 with the key K2, and encrypts the data Q with the key K2 to obtain the encrypted data Q2, and then uses the
  • the result of encrypting the encrypted data Q2 by the key K1 is the same, that is, the result of the encryption using the exchangeable algorithm has nothing to do with the order of the keys used;
  • the key for decrypting the encryption result is the same as the key for encryption
  • S403 The key management center uploads the encrypted data C1 to the cloud server for storage;
  • S405 The second terminal receives the encrypted data C1 returned by the cloud server
  • the second terminal may also obtain the encrypted data C1 by:
  • the second terminal sends a request for acquiring the encrypted data C1 to the key management center, and after the key management center downloads the encrypted data C1 from the cloud server according to the request for acquiring the encrypted data C1, receiving The encrypted data C1 sent by the key management center;
  • the second terminal sends a request for decrypting data to the key management center.
  • the request for decrypting data is a request for decrypting the encrypted data C1, and the key management center obtains the request.
  • the manner in which the key management center obtains the encrypted data CI according to the embodiment of the present invention may include any one of the following methods:
  • the request for decrypting the encrypted data C1 carries the encrypted data C1: the key management center directly acquires the information carried in the request for decrypting the encrypted data C1 sent by the second terminal Encrypted data C1;
  • the key management center receives a request for decrypting the encrypted data C1 sent by the second terminal, and sends the request to the second The terminal sends an indication of obtaining the encrypted data C1, instructing the second terminal to send the encrypted data C1 to the key management center;
  • the key management center may also request the cloud server after receiving the request for decrypting the encrypted data C1.
  • Obtaining the encrypted data C1 which is not specifically described in this embodiment;
  • step S407 The key management center authenticates the second terminal, and if the authentication passes, step S408 is performed;
  • S408 The key management center and the second terminal negotiate a key exchange algorithm to obtain a key.
  • the exchangeable encryption algorithm for encrypting the encrypted data C1 to obtain the first intermediate encrypted data cr is in agreement with the second terminal in advance;
  • S411 The key management center sends the encrypted data C2 to the second terminal
  • S412 The second terminal decrypts the encrypted data C2 according to the key that it owns to obtain the original data M.
  • the second terminal adopts the exchangeable according to the key Ki that it owns.
  • the encryption algorithm decrypts the encrypted data C2 to obtain the original data M.
  • the key management center encrypts the original data M and saves the key of the encrypted original data M.
  • the key management center does not directly provide the encryption key of the encrypted data C1 stored in the cloud server to the second terminal, but transmits the encrypted data C2 processed by the encrypted data C1 to the second terminal.
  • the second terminal can obtain the original data M according to the key that is mastered by the second terminal, and can also ensure that the key of the encrypted data C1 stored in the cloud server is not used by the second terminal in the process of acquiring the data in the cloud. Leaking, reducing the risk of key leakage, and enhancing the security of data sharing.
  • FIG. 5 it is a flowchart of implementing Embodiment 4 of the method in the networking architecture of FIG. 1 according to an embodiment of the present invention, where the embodiment includes:
  • S501 The key management center receives the original data M sent by the first terminal.
  • the key K is generated and saved by the key management center itself, and the key management center does not send the key K to any terminal, including the first terminal, thereby Ensure that the key of the encrypted data is secure;
  • S503 The key management center uploads the encrypted data C1 to the cloud server for storage;
  • the second terminal When the second terminal needs to obtain the original data M, the second terminal sends a request for downloading data to the key management center.
  • the request for downloading data includes a downloading station. a request for the original data M, or a request to download the encrypted data C1;
  • step S505 The key management center authenticates the second terminal, and if the authentication passes, step S506 is performed;
  • the key management center forwards the request for downloading data to the cloud server.
  • the key management center may further construct a new according to the request for downloading data sent by the second terminal. Download request, and send the new download request to the cloud server;
  • the key management center receives the encrypted data C1 returned by the cloud server, and obtains the force p secret data C1;
  • S508 The key management center and the second terminal negotiate a key exchange algorithm to obtain a key Ki;
  • step S508 can also be performed before step S505.
  • the exchangeable encryption algorithm for encrypting the encrypted data C1 to obtain the first intermediate encrypted data cr is in agreement with the second terminal in advance;
  • S511 The key management center sends the encrypted data C2 to the second terminal;
  • S512 The second terminal decrypts the encrypted data C2 according to the key that it owns to obtain the original data M.
  • the second terminal adopts the key Ki according to the master key.
  • the exchangeable encryption algorithm decrypts the encrypted data C2 to obtain the original data M.
  • the key management center encrypts the original data M and saves the key of the encrypted original data M by itself, and receives the request for decrypting data sent by the second terminal. Or when downloading data requests, the Key Management Center does not directly store the encrypted data stored in the cloud server.
  • the encryption key of the C1 is sent to the second terminal, and the encrypted data C2 processed by the encrypted data C1 is sent to the second terminal.
  • the method can ensure that the second terminal can finally obtain the key according to the key that is mastered by the second terminal.
  • the original data M can also ensure that the key of the encrypted data C1 stored in the cloud server can be not leaked during the process of acquiring the data in the cloud, thereby reducing the risk of key leakage and enhancing the security of data sharing.
  • FIG. 6 is a flowchart of implementing Embodiment 5 of the method in the networking architecture of FIG. 1 according to an embodiment of the present invention, where the embodiment includes:
  • the key management center receives the original data M sent by the first terminal;
  • the key K is generated and saved by the key management center itself, and the key management center does not send the key K to any terminal, including the first terminal, thereby Ensure that the key of the encrypted data is secure;
  • S603 The key management center uploads the encrypted data C1 to the cloud server for storage;
  • the second terminal receives the encrypted data C1 returned by the cloud server, and obtains the encrypted data C1;
  • the second terminal may also obtain the encrypted data C1 by:
  • S606 The second terminal generates a key Kb, and saves
  • S607 The second terminal encrypts the encrypted data C1 according to the key Kb by using the exchangeable encryption algorithm to obtain second intermediate encrypted data C1";
  • the encrypted data C1 is encrypted to obtain the second intermediate encrypted data cr, and the exchangeable encryption algorithm is pre-consistent with the second terminal;
  • the second terminal sends a request for decrypting data to the key management center.
  • the request for decrypting data is a request for decrypting the second intermediate encrypted data cr, the key management.
  • the center obtains the second intermediate encrypted data C1";
  • the request for decrypting the second intermediate encrypted data C1" carries the second intermediate encrypted data C1": the key management center directly obtains the request for decrypting the second intermediate encrypted data C1" The second intermediate encrypted data C1" carried in
  • the key management center receives the second intermediate sent by the second terminal Encrypting the request of the data cr, and sending an indication to the second terminal to obtain the second intermediate encrypted data cr, instructing the second terminal to send the second intermediate encrypted data C1 to the key management center;
  • step S609 The key management center performs authentication on the second terminal, and if the authentication is passed, step S610 is performed;
  • the second terminal decrypts the encrypted data C2 according to the key that it owns to obtain the original data M.
  • the second terminal uses the key Kb that is mastered by the second terminal.
  • the exchangeable encryption algorithm decrypts the encrypted data C2 to obtain the original data M.
  • the key management center encrypts the original data M and saves the key of the encrypted original data M by itself, when receiving the request for decrypting data or requesting to download data sent by the second terminal.
  • the key management center does not directly provide the encryption key of the encrypted data C1 stored in the cloud server to the second terminal, but transmits the encrypted data C2 processed by the encrypted data C1 to the second terminal.
  • the second terminal can obtain the original data M according to the key that is mastered by the second terminal, and can also ensure that the key of the encrypted data C1 stored in the cloud server is not used by the second terminal in the process of acquiring the data in the cloud. Leaking, reducing the risk of key leakage, and enhancing the security of data sharing.
  • FIG. 7 is a flowchart of implementing the sixth embodiment of the method in the network structure of FIG. 1 according to the embodiment of the present invention.
  • the embodiment includes:
  • the key management center receives the original data M sent by the first terminal.
  • S702 The key management center encrypts the original data M according to the generated key K to obtain encrypted data C1;
  • the key K is generated and saved by the key management center itself, and the key management center does not send the key K to any terminal, including the first terminal, thereby Ensure that the key of the encrypted data is secure;
  • the key management center is configured to decrypt the encrypted number according to the key K.
  • the encryption algorithm includes but is not limited to an exchangeable encryption algorithm or a symmetric encryption algorithm;
  • the symmetric encryption algorithm has the following properties:
  • the key required for decryption is the same as the key used for encryption;
  • S703 The key management center uploads the encrypted data C1 to the cloud server for storage;
  • S705 The second terminal receives the encrypted data C1 returned by the cloud server;
  • the second terminal may also obtain the encrypted data C1 by:
  • the second terminal sends a request for acquiring the encrypted data C1 to the key management center, and after the key management center downloads the encrypted data C1 from the cloud server according to the request for acquiring the encrypted data C1, receiving The encrypted data C1 sent by the key management center;
  • the second terminal sends a request for decrypting data to the key management center.
  • the request for decrypting data is a request for decrypting the encrypted data C1, and the key management center obtains the request.
  • the method for obtaining the encrypted data C1 by the key management center provided by the embodiment of the present invention may include any one of the following methods:
  • the request for decrypting the encrypted data C1 carries the encrypted data C1: the key management center directly acquires the information carried in the request for decrypting the encrypted data C1 sent by the second terminal Encrypted data C1;
  • the key management center receives a request for decrypting the encrypted data C1 sent by the second terminal, and sends the request to the second The terminal sends an indication of obtaining the encrypted data C1, instructing the second terminal to send the encrypted data C1 to the key management center;
  • the key management center may also request the cloud server after receiving the request for decrypting the encrypted data C1. Obtaining the encrypted data C1, which is not specifically described in this embodiment;
  • step S707 The key management center authenticates the second terminal, and if the authentication passes, step S708 is performed;
  • S708 The key management center decrypts the encrypted data C1 according to its own generated key K to obtain the original data M;
  • the public key of the second terminal belongs to non-secure content, and any other entity, including a server, a key management center, and other terminals, may obtain the public key of the second terminal, and any other entity. After encrypting the data by using the public key Ku of the second terminal, the data can be decrypted only according to the private key of the second terminal;
  • the asymmetric encryption algorithm has the following properties:
  • the key management center sends the encrypted data C2 to the second terminal;
  • the second terminal decrypts the encrypted data C2 according to the key that it owns to obtain the original data M.
  • the second terminal uses the asymmetric encryption algorithm according to its private key Kr. Decrypting the encrypted data C2 to obtain the original data M;
  • the method for determining the encryption algorithm and the corresponding key used by the second terminal to obtain the encrypted data C2 by the key management center may include any one of the following methods: Manner 1: The encryption algorithm and the corresponding key used when the encrypted data C2 is obtained by consensus between the key management center and the second terminal;
  • Manner 2 when the key management center sends the encrypted data C2 to the second terminal mode, carrying an encryption algorithm indication used when the encrypted data C2 is obtained, where the second terminal determines according to the encryption algorithm indication Obtaining the encryption algorithm and the corresponding key used when the encrypted data C2 is obtained.
  • the second terminal determines that the key management center adopts an asymmetric encryption algorithm A according to the public key Ku of the second terminal.
  • the encrypted data C2 is obtained, and the original data M is obtained by decrypting the encrypted data C2 by using the asymmetric encryption algorithm A according to its own private key Kr.
  • the manner in which the key management center obtains the encrypted data C1 may further include: when the second terminal needs to acquire the original data M, the second terminal sends the key management center to the key management center. Sending a request for downloading data, requesting to download the encrypted data C1, the request for downloading data includes a request to download the original data M or a request to download the encrypted data C1, and the key management center receives the download After the request of the data, the encrypted data C1 is obtained from the cloud server, for example, referring to the manner described in Embodiment 4, and is not further described herein.
  • the key management center encrypts the original data M and saves the key of the encrypted original data M.
  • the key management center does not directly provide the encryption key of the encrypted data C1 stored in the cloud server to the second terminal, but transmits the encrypted data C2 processed by the encrypted data C1 to the second terminal.
  • the second terminal can obtain the original data M according to the key that is mastered by the second terminal, and can also ensure that the key of the encrypted data C1 stored in the cloud server is not used by the second terminal in the process of acquiring the data in the cloud. Leakage reduces the risk of key leakage and enhances the security of data sharing.
  • the key management center encrypts the original data M according to the public key of the second terminal.
  • the process of causing the key management center to transmit data to the second terminal is secure.
  • the seventh embodiment of the method in FIG. 1 is provided in the embodiment of the present invention. Implementing a flowchart, this embodiment includes:
  • the key management center receives the original data M sent by the first terminal;
  • the key K is generated and saved by the key management center itself, and the key management center does not send the key K to any terminal, including the first terminal, thereby Ensure that the key of the encrypted data is secure;
  • the key management center adopts an encryption algorithm capable of decrypting the encrypted data C1 according to the key K, and the encryption algorithm includes but is not limited to an exchangeable encryption algorithm or a symmetric encryption algorithm;
  • S803 The key management center uploads the encrypted data C1 to the cloud server for storage;
  • S805 The second terminal receives the encrypted data C1 returned by the cloud server
  • the second terminal may also obtain the encrypted data C1 by:
  • the second terminal sends a request for acquiring the encrypted data C1 to the key management center, and after the key management center downloads the encrypted data C1 from the cloud server according to the request for acquiring the encrypted data C1, receiving The encrypted data C1 sent by the key management center;
  • the second terminal sends a request for decrypting data to the key management center.
  • the request for decrypting data is a request for decrypting the encrypted data C1, and the key management center obtains the request.
  • the method for obtaining the encrypted data C1 by the key management center provided by the embodiment of the present invention may include any one of the following methods:
  • the request for decrypting the encrypted data C1 carries the encrypted data C1: the secret
  • the key management center directly obtains the encrypted data C1 carried in the request for decrypting the encrypted data C1 sent by the second terminal;
  • the key management center receives a request for decrypting the encrypted data C1 sent by the second terminal, and sends the request to the second The terminal sends an indication of obtaining the encrypted data C1, instructing the second terminal to send the encrypted data C1 to the key management center;
  • the key management center may also request the cloud server after receiving the request for decrypting the encrypted data C1.
  • Obtaining the encrypted data C1 which is not specifically described in this embodiment;
  • step S807 The key management center authenticates the second terminal, and if the authentication passes, step S808 is performed;
  • S808 The key management center and the second terminal negotiate a key exchange algorithm to obtain a key.
  • the key management center decrypts the encrypted data C1 according to its own generated key K to obtain the original data M;
  • step S809 can also be performed before step S808;
  • S810 The key management center encrypts the original data M according to the negotiated key Ki to obtain encrypted data C2;
  • the key management center adopts an encryption algorithm capable of decrypting the encrypted data C2 according to the key Ki, and the encryption algorithm includes but is not limited to: a symmetric encryption algorithm S or an exchangeable encryption algorithm E;
  • S811 The key management center sends the encrypted data C2 to the second terminal;
  • S812 The second terminal decrypts the encrypted data C2 according to the key it grasps to obtain the original data M;
  • the method for determining the encryption algorithm and the corresponding key used by the second terminal to obtain the encrypted data C2 by the key management center may include any one of the following methods:
  • Manner 1 The encryption algorithm and the corresponding key used when the encrypted data C2 is obtained by consensus between the key management center and the second terminal;
  • Manner 2 when the key management center sends the encrypted data C2 to the second terminal mode, carrying an encryption algorithm indication used when the encrypted data C2 is obtained, where the second terminal determines according to the encryption algorithm indication The encryption algorithm and the corresponding key are used when the encrypted data C2 is obtained.
  • the manner in which the second terminal provided in the embodiment decrypts the encrypted data C2 to obtain the original data M may include any of the following the way:
  • Manner 1 If it is determined that the encrypted data C2 is the key management center, after decrypting the encrypted data C1 to obtain the original data M, the original data M is encrypted according to the key Ki by using a symmetric encryption algorithm S. Obtaining, the second terminal, according to the key Ki, decrypting the encrypted data C2 by using the symmetric encryption algorithm S to obtain the original data M;
  • Manner 2 If it is determined that the encrypted data C2 is obtained by the key management center to decrypt the encrypted data C1, the original data M is obtained, and then the original data M is encrypted according to the key Ki by using an exchangeable encryption algorithm E. Obtaining, according to the key Ki, the second terminal decrypts the encrypted data C2 by using the exchangeable encryption algorithm E to obtain the original data M.
  • the manner in which the key management center obtains the encrypted data C1 may further include: when the second terminal needs to acquire the original data M, the second terminal sends the key management center to the key management center. Sending a request for downloading data, requesting to download the encrypted data C1, the request for downloading data includes a request to download the original data M or a request to download the encrypted data C1, and the key management center receives the download After the request for data, obtaining the encrypted data from the cloud server CI, for example, referring to the manner described in Embodiment 4, is not mentioned here.
  • the key management center encrypts the original data M and saves the key of the encrypted original data M by itself, when receiving the request for decrypting data or requesting to download data sent by the second terminal.
  • the key management center does not directly provide the encryption key of the encrypted data C1 stored in the cloud server to the second terminal, but transmits the encrypted data C2 processed by the encrypted data C1 to the second terminal.
  • the second terminal can obtain the original data M according to the key that is mastered by the second terminal, and can also ensure that the key of the encrypted data C1 stored in the cloud server is not used by the second terminal in the process of acquiring the data in the cloud. Leakage reduces the risk of key leakage and enhances the security of data sharing.
  • a key management center includes: a receiving unit 901, configured to receive original data M sent by a first terminal, and receive or download a decrypted data sent by a second terminal. Request for data;
  • the encryption unit 902 is configured to encrypt the original data M received by the receiving unit 901 according to the key K generated by itself to obtain the encrypted data C1;
  • the sending unit 903 is configured to upload the encrypted data C1 obtained by the encryption unit 902 to the cloud server for saving;
  • the obtaining unit 904 is configured to obtain, when the receiving unit 901 receives the request for decrypting data sent by the second terminal or the request for downloading data, where the encrypted data C2 is obtained by the encrypted data C1 Processed;
  • the sending unit 903 is further configured to send the encrypted data C2 obtained by the obtaining unit 904 to the second terminal, so that the second terminal obtains the original data by decrypting the encrypted data C2 according to a key that is mastered by the second terminal.
  • the obtaining unit 904 includes:
  • a first obtaining unit configured to receive, by the receiving unit 901, a request for decrypting the encrypted data C1 sent by the second terminal, or downloading the request of the original data M, or downloading the request for the encrypted data C1 Obtaining the encrypted data C1, first encrypting the encrypted data C1 to obtain first intermediate encrypted data C1, and decrypting the first intermediate encrypted data C1 to obtain the encrypted data C2; or
  • a second obtaining unit configured to: when the receiving unit 901 receives the request for decrypting the second intermediate encrypted data C1, sent by the second terminal, obtaining the second intermediate encrypted data C1"
  • the second intermediate encrypted data C1" is decrypted to obtain the encrypted data C2, wherein the second intermediate encrypted data C1 is obtained by encrypting the encrypted data C1 by the second terminal; or
  • a third obtaining unit configured to receive, by the receiving unit 901, a request for decrypting the encrypted data C1 sent by the second terminal, or downloading the request of the original data M, or downloading the request for the encrypted data C1
  • the encrypted data C1 is first decrypted according to the key K to obtain the original data M, and the original data M is encrypted to obtain the encrypted data C2.
  • a first encrypted data obtaining subunit configured to directly acquire the decrypted encrypted data C1 sent by the second terminal when the receiving unit 901 receives the request for decrypting the encrypted data C1 sent by the second terminal.
  • the unit 901 receives the request to download the original data M, or downloads the request for the encrypted data C1, obtains the encrypted data C1 from the cloud server;
  • a first encryption processing subunit if the encrypted data C1 obtained by the first encrypted data obtaining subunit is obtained by using an exchangeable encryption algorithm, the first encryption processing subunit is configured to adopt the exchangeable encryption according to the key Ki Algorithm E encrypts the encrypted data C1 to obtain first intermediate encrypted data C1, which The key Ki is obtained by the key management center and the second terminal by using a key exchange algorithm.
  • the first decryption processing sub-unit is configured to decrypt the first intermediate encrypted data Cl obtained by the first encryption processing sub-unit according to the key K to obtain the encrypted data C2.
  • a second encrypted data obtaining subunit configured to directly acquire the decryption sent by the second terminal when the receiving unit 901 receives the request for decrypting the second intermediate encrypted data C1, sent by the second terminal
  • the second intermediate encrypted data C1" carried in the request of the second intermediate encrypted data C1", or the receiving, by the receiving unit 901, the decrypted second intermediate encrypted data cr sent by the second terminal, And obtaining, by the second terminal, the second intermediate encrypted data C1", wherein if the encrypted data C1 is obtained by using an exchangeable encryption algorithm E, the second intermediate encrypted data C1,
  • the second terminal obtains the encrypted data C1 by using the exchangeable encryption algorithm according to its own key Kb;
  • a second decryption processing subunit configured to decrypt the second encrypted data according to the key K to obtain the second intermediate encrypted data Cl obtained by the subunit, to obtain the encrypted data C2.
  • a third encrypted data obtaining subunit configured to directly acquire the decrypted encrypted data C1 sent by the second terminal when the receiving unit 901 receives the request for decrypting the encrypted data C1 sent by the second terminal.
  • the unit 901 receives the request to download the original data M, or downloads the request for the encrypted data C1, obtains the encrypted data C1 from the cloud server;
  • a third decryption processing subunit configured to decrypt the third encrypted data according to the key K to obtain the encrypted data C1 obtained by the subunit, to obtain the original data M;
  • a third encryption processing subunit configured to use asymmetric encryption according to the public key Ku of the second terminal
  • the algorithm A encrypts the original data M obtained by the third decryption processing subunit to obtain the encrypted data C2, or
  • the encrypted data C2 is obtained by using the symmetric encryption algorithm S or the exchangeable encryption algorithm E to encrypt the original data M obtained by the third decryption processing sub-unit according to the key Ki, wherein the key Ki is the key
  • the management center and the second terminal are negotiated by a key exchange algorithm.
  • a key management center encrypts the original data M received by the receiving unit by using an encryption unit, and uploads the encrypted encrypted data C1 to the cloud server through the sending unit, where the second terminal needs to obtain the original data.
  • the sending unit does not directly send the encryption key of the encrypted data C1 stored in the cloud server to the second terminal, but sends the encrypted data C2 obtained by the obtaining unit to the encrypted data C1 to the second.
  • the terminal can ensure that the second terminal can decrypt the encrypted data C2 according to the key that is mastered by the second terminal, and finally obtain the original data M, and can also ensure that the second terminal saves the encrypted data C1 of the cloud server in the process of acquiring the encrypted data.
  • the obtaining unit of the key management center obtains the first intermediate encrypted data Cl by first encrypting the received encrypted data C1. And decrypting the first intermediate encrypted data C1 to obtain the encrypted data C2, or passing The second intermediate encrypted data C1 sent by the second terminal obtains the encrypted data C2, so that the data is encrypted during the entire transmission and processing, thereby improving the security of data sharing.
  • a terminal provided by the example includes:
  • the sending unit 1001 is configured to send a request for decrypting data or a request for downloading data to the key management center;
  • the receiving unit 1002 is configured to receive the encrypted data C2 sent by the key management center, where the encrypted data C2 is processed by the encrypted data C1, where the encrypted data C1 is data stored in a cloud server, and the encrypted data C1 Encrypting the original data M sent by the first terminal according to the key K generated by the key management center;
  • the decrypting unit 1003 is configured to decrypt, according to the key that is mastered by itself, the receiving unit 1002
  • the original data M is obtained by encrypting the data C2.
  • the sending unit 1001 is specifically configured to send a request for decrypting the encrypted data C1 to the key management center, or download a request for the original data M, or download The request to encrypt the data C1.
  • the receiving unit 1002 includes:
  • a first receiving unit configured to receive the encrypted data C2 sent by the key management center, where, if the encrypted data C1 is obtained by using an exchangeable encryption algorithm E, the key management center adopts the The encrypted encryption algorithm E encrypts the encrypted data C1 to obtain the first intermediate encrypted data C1, and decrypts the first intermediate encrypted data C1 according to the key K to obtain the encrypted data C2, where the key Ki is The key management center and the second terminal are negotiated by a key exchange algorithm; or
  • a second receiving unit configured to receive the encrypted data C2 sent by the key management center, where the key management center decrypts the encrypted data C1 according to the key K to obtain the original data M, and according to the The public key Ku of the second terminal encrypts the original data M by using an asymmetric encryption algorithm A to obtain the encrypted data C2;
  • the decryption unit 1003 includes:
  • a first decryption unit if the encrypted data C2 received by the receiving unit 1002 is obtained by the key management center for decrypting the first intermediate encrypted data C1, the first decrypting unit is configured to be used according to the terminal itself.
  • the key Ki is decrypted by the exchangeable encryption algorithm to obtain the original data M; or
  • a second decryption unit if the encrypted data C2 received by the receiving unit 1002 is the key management center, after decrypting the encrypted data C1 to obtain the original data M, according to the public key of the terminal Encrypting the original data M by using the asymmetric encryption algorithm, and the second decrypting unit is configured to decrypt the encrypted data C2 according to the private key Kr of the terminal itself to obtain the original data according to the asymmetric encryption algorithm. M; or,
  • a third decryption unit if the encrypted data C2 received by the receiving unit 1002 is that the key management center obtains the original data M after decrypting the encrypted data C1, using a symmetric encryption algorithm S according to the key Ki or The exchangeable encryption algorithm E is used to encrypt the original data M, and the third decryption unit is configured to use the symmetric encryption algorithm S or the exchangeable encryption algorithm E according to the key Ki grasped by the terminal itself to decrypt the The original data M is obtained by encrypting the data C2.
  • the terminal provided by the embodiment of the present invention does not directly receive the encryption key of the encrypted data C1 stored in the cloud server when receiving the original data M, but receives the encryption after processing the encrypted data C1.
  • the data C2 the method can ensure that the second terminal can decrypt the encrypted data C2 according to the key that is mastered by the second terminal to obtain the original data M, and can also ensure that the second terminal saves the encrypted data C1 of the cloud server in the process of acquiring the encrypted data.
  • the key can be not leaked, which reduces the risk of key leakage and enhances the security of data sharing.
  • a terminal provided by an embodiment of the present invention includes:
  • the obtaining unit 1101 is configured to obtain the encrypted data C1, where the encrypted data C1 is data stored in the cloud server, and the encrypted data C1 is sent by the key management center to the first terminal according to the key K generated by the key management center.
  • the original data M is encrypted;
  • Encryption unit 1102 if the encrypted data C1 obtained by the obtaining unit 1101 is obtained by an exchangeable encryption algorithm, the encryption unit 1102 is configured to use the exchangeable encryption algorithm to obtain the obtained location according to the key Kb of the terminal itself.
  • the encrypted data C1 is encrypted to obtain the second intermediate encrypted data C1 ";
  • the sending unit 1103 is configured to send a request for decrypting data or a request for downloading data to the key management center.
  • the sending unit 1103 is specifically configured to obtain the second intermediate encrypted data C1 in the encryption unit 1102. Sending a request to decrypt the second intermediate encrypted data C1" to the key management center;
  • the receiving unit 1104 is configured to receive the encrypted data C2 sent by the key management center, and the encrypted data C2 is processed by the encrypted data C1.
  • the key management center decrypts the key according to the key K.
  • the decryption unit 1105 is configured to decrypt the encrypted data C2 received by the receiving unit 1104 according to the key that is acquired by itself, and obtain the original data M.
  • the decrypting unit 1105 is specifically configured to use the key Kb according to the terminal itself.
  • the encrypted data C2 is decrypted by the exchangeable encryption algorithm E to obtain the original data.
  • the terminal provided by the embodiment of the present invention does not directly receive the encryption key of the encrypted data C1 stored in the cloud server when receiving the original data M, but receives the encryption after processing the encrypted data C1.
  • the data C2 the method can ensure that the second terminal can decrypt the encrypted data C2 according to the key that is mastered by the second terminal to obtain the original data M, and can also ensure that the second terminal saves the encrypted data C1 of the cloud server in the process of acquiring the encrypted data.
  • the key may not be leaked, the risk of key leakage is reduced, and the security of data sharing is enhanced.
  • the encrypted data C1 is first encrypted, so that the key management center decrypts the key.
  • the data is still encrypted, so that the data is encrypted throughout the transmission and processing, which improves the security of data sharing.
  • a system for protecting data security in a cloud includes:
  • the second terminal 1201 is configured to: after sending the request for decrypting data or the request for downloading data to the key management center 1202, receiving the encrypted data C2 sent by the key management center, and decrypting the encryption according to the key that is mastered by itself
  • the data C2 obtains the original data M of the first terminal;
  • the key management center 1202 is configured to obtain the encrypted data C2 when the request for decrypting data or the request for downloading data sent by the second terminal 1201 is received, and send the encrypted data C2 to the The second terminal 1201, wherein the encrypted data C2 is processed by the encrypted data C1, and the encrypted data C1 is stored in a cloud server, and the encrypted data C1 is managed by the key.
  • the heart 1202 encrypts the original data M sent by the first terminal according to the key K generated by the user.
  • the system may further include:
  • the first terminal is configured to send the original data M to the key management center.
  • the second terminal 1201 provided in this embodiment includes:
  • a sending unit configured to send the request for decrypting data or downloading data to the key management center 1202;
  • a receiving unit configured to receive the encrypted data C2 sent by the key management center 1202, and a decrypting unit, configured to decrypt the encrypted data C2 received by the receiving unit according to a key that is mastered by itself to obtain the original data M.
  • the key management center 1202 provided in this embodiment includes:
  • a receiving unit configured to receive the original data M sent by the first terminal, and a request for receiving the decrypted data sent by the second terminal 1201 or a request for downloading data;
  • An encryption unit configured to encrypt the original data M received by the receiving unit according to the key K generated by itself to obtain encrypted data C1;
  • a sending unit configured to upload the encrypted data C1 obtained by the encryption unit to the cloud server
  • an obtaining unit configured to: when the receiving unit receives the request for decrypting data sent by the second terminal 1201 or the request for downloading data Obtaining the encrypted data C2;
  • the sending unit is further configured to send the encrypted data C2 obtained by the obtaining unit to the second terminal 1201.
  • the key management center encrypts the original data M and saves the key of the encrypted original data M, and receives the decryption sent by the second terminal.
  • the key management center is not directly Providing the encryption key of the encrypted data CI stored in the cloud server to the second terminal, and transmitting the encrypted data C2 processed by the encrypted data C1 to the second terminal, the method can ensure the second terminal
  • the original data M can be finally obtained according to the key that is mastered by the user, and the key of the encrypted data C1 stored in the cloud server can be prevented from being leaked during the process of acquiring the data in the cloud, thereby reducing the key leakage.
  • the key management center may obtain encrypted data by first encrypting and then decrypting or decrypting and re-encrypting, or by decrypting the encrypted data C1 sent by the second terminal.
  • the key management center key management center obtains the encrypted data C2 in a more diversified manner, and the key management center first encrypts the encrypted data C1 and then decrypts the encrypted result, or passes the second
  • the terminal first encrypts the encrypted data C1 and then decrypts the encrypted result of the second terminal by the key management center, so that the terminal Data transmission, and the whole process is encrypted to improve the security of data sharing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明涉及IT技术领域,尤其涉及一种保护云中数据安全的方法、装置及系统。本发明提供的保护云中数据安全的方法,密钥管理中心对第一终端发送的原始数据M进行加密,并将加密得到的加密数据C1上传至云服务器,当接收到第二终端发送的解密数据的请求或者下载数据的请求时,获得加密数据C2,并将所述加密数据C2发送给所述第二终端,以便于所述第二终端根据自身掌握的密钥解密所述加密数据C2得到所述原始数据M。通过本发明实施例提供的方法,既保证了第二终端根据自身掌握的密钥能够解密加密数据C2获得原始数据M,也保证了保存于云服务器的加密数据C1的密钥可以不被泄露,降低了密钥泄漏的风险,增强了数据共享的安全性。

Description

说 明 书
一种保护云中数据安全的方法、 装置及系统 技术领域
本发明涉及 IT技术领域,尤其涉及一种保护云中数据安全的方法、装置及 系统。
背景技术
在云计算领域中, 保存在云端 (云服务器) 的用户数据称为云中数据, 用 户将数据保存在云端时会失去对数据的直接控制, 数据的安全性得不到保证。 一种保证数据安全性的重要措施是对数据进行加密。 现有技术中, 终端 A对数据进行加密, 将加密数据上传至云服务器中, 其 他终端, 如终端 B, 从云服务器下载该加密数据后, 向终端 A请求密钥, 得到 密钥后使用该密钥对加密数据进行解密。
通过对现有技术的分析, 发明人认为现有技术至少存在以下问题: 现有技术中,其他终端,如终端 B,可以请求获得终端 A加密数据的密钥, 采用这种方式, 若对密钥保护不当, 则有可能造成密钥泄漏, 从而使得数据共 享不安全。
发明内容
本发明实施例的发明目的在于提供一种保护云中数据安全的方法、 装置及 系统, 使得在其它终端获取云中数据的过程中, 该云中数据的密钥可以不被泄 露。
本发明实施例提供的一种保护云中数据安全的方法, 包括:
密钥管理中心接收第一终端发送的原始数据 M; 所述密钥管理中心根据自身生成的密钥 K对所述原始数据 M进行加密得 到加密数据 C1;
所述密钥管理中心上传所述加密数据 C1至云服务器保存;
当接收到第二终端发送的解密数据的请求或者下载数据的请求时, 所述密 钥管理中心获得加密数据 C2, 并将所述加密数据 C2发送给所述第二终端, 以 便于所述第二终端根据自身掌握的密钥解密所述加密数据 C2获得所述原始数 据 M, 其中, 所述加密数据 C2由所述加密数据 C1处理得到。
本发明实施例提供的另一种保护云中数据安全的方法, 包括:
第二终端向密钥管理中心发送解密数据的请求或者下载数据的请求; 所述第二终端接收所述密钥管理中心发送的加密数据 C2, 所述加密数据 C2由加密数据 C1处理得到, 所述加密数据 C1为保存在云服务器中的数据, 所述加密数据 C1由所述密钥管理中心根据自身生成的密钥 K对第一终端发送 的原始数据 M进行加密得到;
所述第二终端根据自身掌握的密钥解密所述加密数据 C2得到所述原始数 据
本发明实施例提供的一种密钥管理中心, 包括:
接收单元,用于接收第一终端发送的原始数据 M以及接收第二终端发送的 解密数据的请求或者下载数据的请求;
加密单元,用于根据自身生成的密钥 K对所述接收单元接收的原始数据 M 进行加密得到加密数据 C1;
发送单元, 用于上传所述加密单元得到的加密数据 C1至云服务器保存; 获得单元, 用于在所述接收单元接收到所述第二终端发送的解密数据的请 求或者下载数据的请求时, 获得加密数据 C2, 其中, 所述加密数据 C2由所述 加密数据 C1处理得到;
所述发送单元还用于将所述获得单元获得的加密数据 C2发送给所述第二 终端, 以便于所述第二终端根据自身掌握的密钥解密所述加密数据 C2获得所 述原始数据 M。
本发明实施例提供的一种终端, 包括:
发送单元, 用于向密钥管理中心发送解密数据的请求或者下载数据的请 求;
接收单元,用于接收所述密钥管理中心发送的加密数据 C2,所述加密数据 C2由加密数据 C1处理得到, 所述加密数据 C1为保存在云服务器中的数据, 所述加密数据 C1由所述密钥管理中心根据自身生成的密钥 K对第一终端发送 的原始数据 M进行加密得到;
解密单元,用于根据自身掌握的密钥解密所述接收单元接收的加密数据 C2 得到所述原始数据 M。
本发明实施例提供的一种保护云中数据安全的系统,
第二终端, 用于在向密钥管理中心发送解密数据的请求或者下载数据的请 求后, 接收所述密钥管理中心发送的加密数据 C2, 并根据自身掌握的密钥解 密所述加密数据 C2得到第一终端的原始数据 M;
密钥管理中心, 用于在接收到所述第二终端发送的所述解密数据的请求或 者下载数据的请求时, 获得所述加密数据 C2, 并将所述加密数据 C2发送给所 述第二终端, 其中, 所述加密数据 C2由加密数据 C1处理得到, 所述加密数据 C1保存在云服务器中, 所述加密数据 C1由所述密钥管理中心根据自身生成的 密钥 K对所述第一终端发送的原始数据 M进行加密得到。
本发明实施例提供的一种保护云中数据安全的方法、 装置及系统, 密钥管 理中心对原始数据 M进行加密并自身保存加密原始数据 M的密钥, 在接收到 第二终端发送的解密数据的请求或下载数据的请求时, 密钥管理中心并不直接 将保存在云服务器中的加密数据 C1的加密密钥提供给第二终端, 而是将对加 密数据 C1进行处理后的加密数据 C2发送给第二终端,该方法既可保证所述第 二终端能够根据自身掌握的密钥最终获得原始数据 M,也可保证第二终端在获 取云中数据的过程中, 保存于云服务器的加密数据 C1 的密钥可以不被泄露, 降低了密钥泄漏的风险, 增强了数据共享的安全性。
附图说明
图 1为本发明实施例提供的一种保护云中数据安全的组网架构图; 图 2为本发明实施例提供的在图 1的组网架构下一种保护云中数据安全的 方法;
图 3为本发明实施例提供的在图 1的组网架构下另一种保护云中数据安全 的方法;
图 4为本发明实施例提供的在图 1的组网架构下方法实施例三的实现流程 图;
图 5为本发明实施例提供的在图 1的组网架构下方法实施例四的实现流程 图;
图 6为本发明实施例提供的在图 1的组网架构下方法实施例五的实现流程 图;
图 7为本发明实施例提供的在图 1的组网架构下方法实施例六的实现流程 图;
图 8为本发明实施例提供的在图 1的组网架构下方法实施例七的实现流程 图;
图 9为本发明实施例提供的一种密钥管理中心;
图 10为本发明实施例提供的一种终端;
图 11为本发明实施例提供的另一种终端;
图 12为本发明实施例提供的一种保护云中数据安全的系统。 具体实施方式 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清 楚、 完整地描述。
如图 1所示,为本发明实施例提供的一种保护云中数据安全的组网架构图。 从图 1可知, 密钥管理中心位于用户端。 在第一终端上传数据时, 所述密钥管 理中心负责对数据进行加密, 并将加密数据上传至云服务器中保存; 在下载数 据时, 所述密钥管理中心负责对得到的加密数据进行处理, 并向第二终端发送 处理后的数据, 以使得所述第二终端根据其自身掌握的密钥即可解密处理后的 数据, 得到原始数据。
所述密钥管理中心的组成方式包括但不限于以下任意之一:
方式一: 所述密钥管理中心由一台或多台服务器组成;
方式二: 所述密钥管理中心由一台或多台终端组成;
方式三: 所述密钥管理中心由一台或多台服务器, 以及一台或多台终端组 成。
如图 2所示, 为本发明实施例提供的在图 1的组网架构下一种保护云中数 据安全的方法, 该方法包括:
S201: 密钥管理中心接收第一终端发送的原始数据 M;
S202: 所述密钥管理中心根据自身生成的密钥 K对所述原始数据 M进行 加密得到加密数据 C1;
其中, 需要说明的是, 所述密钥 K由所述密钥管理中心自身生成并保存, 所述密钥管理中心并不向任何终端, 包括所述第一终端, 发送该密钥 K, 从而 保证了加密数据的密钥 K是安全的;
S203: 所述密钥管理中心上传所述加密数据 C1至云服务器保存;
S204: 当接收到第二终端发送的解密数据的请求或者下载数据的请求时, 所述密钥管理中心获得加密数据 C2, 并将所述加密数据 C2发送给所述第二终 端, 以便于所述第二终端根据自身掌握的密钥解密所述加密数据 C2获得所述 原始数据 M, 其中, 所述加密数据 C2由所述所述加密数据 C1处理得到; 其中, 本实施例所提供的所述密钥管理中心获得所述加密数据 C2的方式, 可以包括以下任一方式:
方式一: 所述密钥管理中心接收到所述第二终端发送的解密所述加密数据
C1的请求, 或者下载所述原始数据 M的请求, 或者下载所述加密数据 C1的 请求时, 获得所述加密数据 C1 , 先对所述加密数据 C1进行加密得到第一中间 加密数据 cr, 再对所述第一中间加密数据 cr进行解密, 获得所述加密数据
C2;
方式二: 所述密钥管理中心接收到所述第二终端发送的解密第二中间加密 数据 cr,的请求时, 对所述第二中间加密数据 cr,进行解密, 获得所述加密数 据 C2, 其中, 所述第二中间加密数据 Cl,,为所述第二终端对所述加密数据 C1 进行加密后得到的;
方式三: 所述密钥管理中心接收到所述第二终端发送的解密所述加密数据 C1的请求, 或者下载所述原始数据 M的请求, 或者下载所述加密数据 C1的 请求时, 获得所述加密数据 C1 , 先根据所述密钥 K对所述加密数据 C1进行解 密得到所述原始数据 M, 再对所述原始数据 M进行加密, 获得所述加密数据 C2。
需要说明的是, 本发明实施例中的原始数据命名为 M, 加密数据分别命名 为 Cl、 C2, 密钥命名为 K, 上述各种命名只是本发明实施例为了清楚表述而 做出的示例性命名, 本领域技术人员完全可以将原始数据、 加密数据和密钥赋 定, 以下实施例也是一样。
本发明实施例提供的一种保护云中数据安全的方法、 装置及系统, 密钥管 理中心对原始数据 M进行加密并自身保存加密原始数据 M的密钥, 在接收到 第二终端发送的解密数据的请求或下载数据的请求时, 密钥管理中心并不直接 将保存在云服务器中的加密数据 CI的加密密钥提供给第二终端, 而是将对加 密数据 C1进行处理后的加密数据 C2发送给第二终端,该方法既可保证所述第 二终端能够根据自身掌握的密钥最终获得原始数据 M,也可保证第二终端在获 取云中数据的过程中, 保存于云服务器的加密数据 C1 的密钥可以不被泄露, 降低了密钥泄漏的风险, 增强了数据共享的安全性。 如图 3所示, 为本发明实施例提供的在图 1的组网架构下另一种保护云中 数据安全的方法, 该方法包括:
S301 : 第二终端向密钥管理中心发送解密数据的请求或者下载数据的请 求;
其中, 若第二终端需要获取保存在云服务器中的第一终端的数据时, 该第 二终端可以先向云服务器获取加密数据 C1 , 再向密钥管理中心请求解密数据, 也可以直接向密钥管理中心直接请求下载原始数据 M或加密数据 C1 , 具体的 实现方式可以包括以下任意之一:
方式一: 所述第二终端从云服务器获取加密数据 C1后, 向所述密钥管理 中心发送解密加密数据 C1的请求;
方式二:所述第二终端向所述密钥管理中心发送下载所述原始数据 M的请 求或下载所述加密数据 C1的请求;
方式三: 所述第二终端从云服务器获取加密数据 C1后, 对所述加密数据 C1 进行加密后得到第二中间加密数据 C1" , 再向所述密钥管理中心发送解密 第二中间加密数据 c Γ,的请求;
S302: 所述第二终端接收所述密钥管理中心发送的加密数据 C2,所述加密 数据 C2由所述所述加密数据 C1处理得到, 所述加密数据 C1为保存在云服务 器中的数据, 所述加密数据 C1由所述密钥管理中心根据自身生成的密钥 K对 第一终端发送的原始数据 M进行加密得到;
其中, 具体的实现方式在本实施例中可以是: 若所述密钥管理中心接收所 述第二终端发送的所述解密加密数据 CI的请求, 或者下载所述原始数据 M的 请求或下载所述加密数据 C1 的请求, 所述密钥管理中心根据所述接收到的请 求获得所述加密数据 C1 , 并对所述加密数据 C1进行先加密再解密的处理, 或 者先解密再加密的处理, 得到所述加密数据 C2; 或者,
若所述密钥管理中心接收到所述第二终端发送的所述解密第二中间加密 数据 Cl,,的请求, 所述密钥管理中心对所述第二中间加密数据 Cl,,进行解密获 得所述加密数据 C2;
上述仅为本实施例提供的几种具体实现方式, 本领域技术人员还可以采用 其他的实现方式对加密数据 C1处理得到加密数据 C2, 例如参照上述图 2所展 示的实施例所介绍的方式;
S303: 所述第二终端根据自身掌握的密钥解密所述加密数据 C2得到所述 原始数据^1。
本发明实施例提供的一种保护云中数据安全的方法, 第二终端并不直接获 取获取保存在云服务器中的加密数据 C1的加密密钥, 而是获得对加密数据 C1 进行处理后的加密数据 C2, 该方法既可保证第二终端能够根据自身掌握的密 钥解密加密数据 C2获得原始数据 M, 也可保证第二终端在获取加密数据的过 程中, 保存在云服务器的加密数据 C1 的密钥可以不被泄露, 降低了密钥泄露 的风险, 增强了数据共享的安全性。 如图 4所示, 为本发明实施例提供的在图 1的组网架构下方法实施例三的 实现流程图, 该实施例包括:
S401: 密钥管理中心接收第一终端发送的原始数据 M;
S402:所述密钥管理中心根据其生成的密钥 K采用可交换加密算法 E对所 述原始数据 M进行加密得到加密数据 C1 , 即 C1=E(K,M);
其中, 需要说明的是, 所述密钥 K由所述密钥管理中心自身生成并保存, 所述密钥管理中心并不向任何终端, 包括所述第一终端, 发送该密钥 K, 从而 保证了加密数据的密钥是安全的;
其中, 所述可交换加密算法具有以下性质:
E(K1,E(K2,Q))=E(K2,E(K1,Q)), 采用所述可交换算法进行加密的结果与使 用的密钥的顺序没有关系, 具体地, 先用密钥 K1对数据 Q加密得到加密数据 Q1 , 再用密钥 K2对所述加密数据 Q1进行加密的结果, 与先用所述密钥 K2 对所述数据 Q加密得到加密数据 Q2,再用所述密钥 K1对所述加密数据 Q2进 行加密的结果是一样的, 即采用所述可交换算法进行加密的结果与使用的密钥 的顺序没有关系;
依次类推, 当有 N个不同的密钥对数据 Q进行加密时, 有
= Ν *(Ν - 1) *· · ·*2*1种不同的组合, 根据每一种组合加密得到的结果都是 一样的;
其中, 需要说明的是, 采用所述可交换加密算法加密数据时, 对加密结果 进行解密的密钥与加密时的密钥相同;
S403: 所述密钥管理中心上传所述加密数据 C1至云服务器保存;
S404: 当第二终端需要获得所述原始数据 Μ时,所述第二终端向所述云服 务器发送获取加密数据 C1的请求, 请求下载所述加密数据 C1;
S405: 所述第二终端接收所述云服务器返回的所述加密数据 C1;
其中, 需要说明的是, 所述第二终端还可以通过以下方式获取所述加密数 据 C1:
所述第二终端向所述密钥管理中心发送获取加密数据 C1 的请求, 在所述 密钥管理中心根据所述获取加密数据 C1 的请求从所述云服务器下载所述加密 数据 C1后, 接收所述密钥管理中心发送的所述加密数据 C1;
S406: 所述第二终端向所述密钥管理中心发送解密数据的请求, 本实施例 中, 所述解密数据的请求为解密所述加密数据 C1 的请求, 所述密钥管理中心 获得所述加密数据 C1; 其中, 本发明实施例提供的所述密钥管理中心获得所述加密数据 CI 的方 式, 可以包括以下任一方式:
方式一, 所述解密所述加密数据 C1的请求携带所述加密数据 C1: 所述密 钥管理中心直接获取所述所述第二终端发送的解密所述加密数据 C1 的请求中 携带的所述加密数据 C1;
方式二, 所述解密所述加密数据 C1的请求不携带所述加密数据 C1: 所述 密钥管理中心接收所述第二终端发送的解密所述加密数据 C1 的请求, 并向所 述第二终端发送获取加密数据 C1 的指示, 指示所述第二终端向所述密钥管理 中心发送所述加密数据 C1;
当然, 在所述解密所述加密数据 C1的请求不携带所述加密数据 C1时, 所 述密钥管理中心接收到所述解密所述加密数据 C1 的请求后, 也可以向所述云 服务器请求获取所述加密数据 C1 , 本实施例不再具体赘述;
S407: 所述密钥管理中心对所述第二终端进行鉴权, 若鉴权通过, 则执行 步骤 S408;
S408: 所述密钥管理中心与所述第二终端通过密钥交换算法协商得到密钥
Ki;
S409: 所述密钥管理中心根据所述密钥 Ki采用所述可交换加密算法 E加 密所述加密数据 C1 , 得到第一中间加密数据 Cl,, 即 Cl,=E(Ki,Cl);
由于 C1=E(K,M), 由可交换加密算法的性质可知, 所述第一中间加密数据 C l,=E(Ki,E(K,M))=E(K,E(Ki,M));
本实施例中,加密所述加密数据 C1得到第一中间加密数据 cr的可交换加 密算法是预先与所述第二终端协商一致的;
S410: 所述密钥管理中心根据所述密钥 K解密所述第一中间加密数据 Cl, 得到加密数据 C2, 即 C2=E(Ki,M);
S411: 所述密钥管理中心向所述第二终端发送所述加密数据 C2; S412: 所述第二终端根据其自身掌握的密钥解密所述加密数据 C2得到所 述原始数据 M, 本实施例中, 所述第二终端根据其自身掌握的密钥 Ki采用所 述可交换加密算法解密所述加密数据 C2得到所述原始数据 M。
本发明实施例提供的方法实施例三,密钥管理中心对原始数据 M进行加密 并自身保存加密原始数据 M的密钥,在接收到第二终端发送的解密数据的请求 或下载数据的请求时, 密钥管理中心并不直接将保存在云服务器中的加密数据 C1的加密密钥提供给第二终端, 而是将对加密数据 C1进行处理后的加密数据 C2发送给第二终端, 该方法既可保证所述第二终端能够根据自身掌握的密钥 最终获得原始数据 M, 也可保证第二终端在获取云中数据的过程中, 保存于云 服务器的加密数据 C1 的密钥可以不被泄露, 降低了密钥泄漏的风险, 增强了 数据共享的安全性, 其次, 在第二终端请求获取原始数据 M的过程中, 密钥管 理中心先对获得的加密数据 C1进行加密再根据可交换加密算法的性质对经加 密后的结果进行解密, 使得数据在整个传输以及处理过程中都是加密的, 提高 了数据共享的安全性。 如图 5所示, 为本发明实施例提供的在图 1的组网架构下方法实施例四的 实现流程图, 该实施例包括:
S501: 密钥管理中心接收第一终端发送的原始数据 M;
S502:所述密钥管理中心根据其生成的密钥 K采用可交换加密算法 E对所 述原始数据 M进行加密得到加密数据 C1 , 即 C1=E(K,M);
其中, 需要说明的是, 所述密钥 K由所述密钥管理中心自身生成并保存, 所述密钥管理中心并不向任何终端, 包括所述第一终端, 发送该密钥 K, 从而 保证了加密数据的密钥是安全的;
S503: 所述密钥管理中心上传所述加密数据 C1至云服务器保存;
S504: 当第二终端需要获得所述原始数据 M时,所述第二终端向所述密钥 管理中心发送下载数据的请求, 本实施例中, 所述下载数据的请求包括下载所 述原始数据 M的请求, 或者下载所述加密数据 C1的请求;
S505: 所述密钥管理中心对所述第二终端进行鉴权, 若鉴权通过, 则执行 步骤 S506;
S506: 所述密钥管理中心向所述云服务器转发所述下载数据的请求; 本实施例中, 所述密钥管理中心还可以根据所述第二终端发送的下载数据 的请求, 构造一个新的下载请求, 并向所述云服务器发送该新的下载请求;
S507: 所述密钥管理中心接收所述云服务器返回的所述加密数据 C1 ,获得 所述力 p密数据 C1;
S508: 所述密钥管理中心与所述第二终端通过密钥交换算法协商得到密钥 Ki;
其中, 需要说明的是, 本步骤 S508也可以在步骤 S505之前执行。
S509: 所述密钥管理中心根据所述密钥 Ki采用所述可交换加密算法 E加 密所述加密数据 C1 , 得到第一中间加密数据 Cl,, 即 Cl,=E(Ki,Cl);
由于 C1=E(K,M), 由可交换加密算法的性质可知, 所述第一中间加密数据 CI '=E(Ki,E(K,M))=E(K,E(Ki,M));
本实施例中,加密所述加密数据 C1得到第一中间加密数据 cr的可交换加 密算法是预先与所述第二终端协商一致的;
S510: 所述密钥管理中心根据所述密钥 K解密所述第一中间加密数据 Cl, 得到加密数据 C2, 即 C2=E(Ki,M);
S511: 所述密钥管理中心向所述第二终端发送所述加密数据 C2;
S512: 所述第二终端根据其自身掌握的密钥解密所述加密数据 C2得到所 述原始数据 M, 在本实施例中, 所述第二终端根据自身掌握的所述密钥 Ki, 采 用所述可交换加密算法解密所述加密数据 C2得到所述原始数据 M。
本发明实施例提供的方法实施例四,密钥管理中心对原始数据 M进行加密 并自身保存加密原始数据 M的密钥,在接收到第二终端发送的解密数据的请求 或下载数据的请求时, 密钥管理中心并不直接将保存在云服务器中的加密数据
C1的加密密钥提供给第二终端, 而是将对加密数据 C1进行处理后的加密数据 C2发送给第二终端, 该方法既可保证所述第二终端能够根据自身掌握的密钥 最终获得原始数据 M, 也可保证第二终端在获取云中数据的过程中, 保存于云 服务器的加密数据 C1 的密钥可以不被泄露, 降低了密钥泄漏的风险, 增强了 数据共享的安全性, 其次, 在第二终端请求获取原始数据 M的过程中, 密钥管 理中心先对获得的加密数据 C1进行加密再根据可交换加密算法的性质对经加 密后的结果进行解密, 使得数据在整个传输以及处理过程中都是加密的, 提高 了数据共享的安全性。 如图 6所示, 为本发明实施例提供的在图 1的组网架构下方法实施例五的 实现流程图, 该实施例包括:
S601: 密钥管理中心接收第一终端发送的原始数据 M;
S602:所述密钥管理中心根据其生成的密钥 K采用可交换加密算法 E对所 述原始数据 M进行加密得到加密数据 C1 , 即 C1=E(K,M);
其中, 需要说明的是, 所述密钥 K由所述密钥管理中心自身生成并保存, 所述密钥管理中心并不向任何终端, 包括所述第一终端, 发送该密钥 K, 从而 保证了加密数据的密钥是安全的;
S603: 所述密钥管理中心上传所述加密数据 C1至云服务器保存;
S604: 当第二终端需要获得所述原始数据 M时,所述第二终端向所述云服 务器发送获取加密数据 C1的请求, 请求获取所述加密数据 C1;
S605: 所述第二终端接收所述云服务器返回的所述加密数据 C1 ,获得所述 加密数据 C1;
其中, 需要说明的是, 所述第二终端还可以通过以下方式获取所述加密数 据 C1:
所述第二终端向所述密钥管理中心发送获取加密数据 C1 的请求, 在所述 密钥管理中心根据所述获取加密数据 C1 的请求从所述云服务器下载所述加密 数据 C1后, 接收所述密钥管理中心发送的所述加密数据 C1;
S606: 所述第二终端生成密钥 Kb, 并保存;
S607: 所述第二终端根据所述密钥 Kb采用所述可交换加密算法对所述加 密数据 C1进行加密得到第二中间加密数据 C1";
由于 C1=E(K,M), 由可交换加密算法的性质可知, 所述第二中间加密数据 C 1 " =E(Kb,C 1 )=E(Kb,E(K,M))=E(K,E(Kb,M));
本实施例中, 加密所述加密数据 C1得到第二中间加密数据 cr,的可交换 加密算法是预先与所述第二终端协商一致的;
S608: 所述第二终端向所述密钥管理中心发送解密数据的请求, 本实施例 中, 所述解密数据的请求为解密所述第二中间加密数据 cr,的请求, 所述密钥 管理中心获得所述第二中间加密数据 C1";
其中, 本发明实施例提供的所述密钥管理中心获得所述第二中间加密数据 cr,的方式, 可以包括以下任一方式:
方式一, 所述解密所述第二中间加密数据 C1"的请求携带所述第二中间加 密数据 C1": 所述密钥管理中心直接获取所述解密所述第二中间加密数据 C1" 的请求中携带的所述第二中间加密数据 C1";
方式二, 所述解密所述第二中间加密数据 C Γ,的请求不携带所述第二中间 加密数据 C1": 所述密钥管理中心接收所述第二终端发送的解密所述第二中间 加密数据 cr,的请求, 并向所述第二终端发送获取第二中间加密数据 cr,的指 示, 指示所述第二终端向所述密钥管理中心发送所述第二中间加密数据 C1";
S609: 所述密钥管理中心对所述第二终端进行鉴权, 若鉴权通过, 则执行 步骤 S610;
S610:所述密钥管理中心根据所述密钥 K解密所述第二中间加密数据 C1" , 得到加密数据 C2, 即 C2=E(Kb,M); S611: 所述密钥管理中心向所述第二终端发送所述加密数据 C2;
S612: 所述第二终端根据其自身掌握的密钥解密所述加密数据 C2得到所 述原始数据 M, 本实施例中, 所述第二终端根据其自身掌握的所述密钥 Kb采 用所述可交换加密算法解密所述加密数据 C2得到所述原始数据 M。
本发明实施例提供的方法实施例五,密钥管理中心对原始数据 M进行加密 并自身保存加密原始数据 M的密钥,在接收到第二终端发送的解密数据的请求 或下载数据的请求时, 密钥管理中心并不直接将保存在云服务器中的加密数据 C1的加密密钥提供给第二终端, 而是将对加密数据 C1进行处理后的加密数据 C2发送给第二终端, 该方法既可保证所述第二终端能够根据自身掌握的密钥 最终获得原始数据 M, 也可保证第二终端在获取云中数据的过程中, 保存于云 服务器的加密数据 C1 的密钥可以不被泄露, 降低了密钥泄漏的风险, 增强了 数据共享的安全性, 其次, 第二终端获得在云服务器中保存的加密数据 C1后, 根据其生成的密钥 Kb对加密数据 C1进行加密后向密钥管理中心发送经加密后 的加密数据 Cl,, 使得密钥管理中心在解密所述加密数据 Cl,后, 数据仍然是 加密的, 保证了数据在整个传输以及处理的过程中都是加密的, 提高了数据共 享的安全性。 如图 7所述, 为本发明实施例提供的在图 1的组网结构下方法实施例六的 实现流程图, 该实施例包括:
S701: 密钥管理中心接收第一终端发送的原始数据 M;
S702: 所述密钥管理中心根据其生成的密钥 K对所述原始数据 M进行加 密得到加密数据 C1;
其中, 需要说明的是, 所述密钥 K由所述密钥管理中心自身生成并保存, 所述密钥管理中心并不向任何终端, 包括所述第一终端, 发送该密钥 K, 从而 保证了加密数据的密钥是安全的;
本实施例中,所述密钥管理中心采用根据所述密钥 K能够解密所述加密数 据 CI 的加密算法, 所述加密算法包括但不限于可交换加密算法或对称加密算 法;
所述对称加密算法具有以下性质:
解密时需要的密钥与加密时的密钥相同;
S703: 所述密钥管理中心上传所述加密数据 C1至云服务器保存;
S704: 当第二终端需要获得所述原始数据 M时,所述第二终端向所述云服 务器发送获取加密数据 C1的请求, 请求获取所述加密数据 C1;
S705: 所述第二终端接收所述云服务器返回的所述加密数据 C1;
其中, 需要说明的是, 所述第二终端还可以通过以下方式获取所述加密数 据 C1:
所述第二终端向所述密钥管理中心发送获取加密数据 C1 的请求, 在所述 密钥管理中心根据所述获取加密数据 C1 的请求从所述云服务器下载所述加密 数据 C1后, 接收所述密钥管理中心发送的所述加密数据 C1;
S706: 所述第二终端向所述密钥管理中心发送解密数据的请求, 本实施例 中, 所述解密数据的请求为解密所述加密数据 C1 的请求, 所述密钥管理中心 获得所述加密数据 C1;
其中, 本发明实施例提供的所述密钥管理中心获得所述加密数据 C1 的方 式, 可以包括以下任一方式:
方式一, 所述解密所述加密数据 C1的请求携带所述加密数据 C1: 所述密 钥管理中心直接获取所述所述第二终端发送的解密所述加密数据 C1 的请求中 携带的所述加密数据 C1;
方式二, 所述解密所述加密数据 C1的请求不携带所述加密数据 C1: 所述 密钥管理中心接收所述第二终端发送的解密所述加密数据 C1 的请求, 并向所 述第二终端发送获取加密数据 C1 的指示, 指示所述第二终端向所述密钥管理 中心发送所述加密数据 C1; 当然, 在所述解密所述加密数据 CI的请求不携带所述加密数据 C1时, 所 述密钥管理中心接收到所述解密所述加密数据 C1 的请求后, 也可以向所述云 服务器请求获取所述加密数据 C1 , 本实施例不再具体赘述;
S707: 所述密钥管理中心对所述第二终端进行鉴权, 若鉴权通过, 则执行 步骤 S708;
S708: 所述密钥管理中心根据其自身生成的密钥 K解密所述加密数据 C1 得到所述原始数据 M;
S709: 所述密钥管理中心根据所述第二终端的公钥 Ku采用非对称加密算 法 A加密所述原始数据 M得到加密数据 C2, 即 C2=A(Ku,M);
其中, 需要说明的是, 所述第二终端的公钥属于非保密内容, 其他任何实 体, 包括服务器、 密钥管理中心以及其他终端, 均可获得所述第二终端的公钥, 其他任何实体利用所述第二终端的公钥 Ku对数据进行加密后, 只有根据所述 第二终端的私钥才能解密;
其中, 所述非对称加密算法具有如下性质:
在加密时, 以公钥进行加密, 在解密时, 用与公钥相对应的私钥进行解密;
S710: 所述密钥管理中心向所述第二终端发送所述加密数据 C2;
S711: 所述第二终端根据其自身掌握的密钥解密所述加密数据 C2得到所 述原始数据 M, 本实施例中, 所述第二终端根据自身的私钥 Kr采用所述非对 称加密算法解密所述加密数据 C2得到所述原始数据 M;
所述第二终端确定所述密钥管理中心得到所述加密数据 C2时采用的加密 算法以及相应的密钥, 根据所确定的加密算法和密钥, 解密所述加密数据 C2 得到所述原始数据 M;
其中, 本发明实施例提供的所述第二终端确定所述密钥管理中心得到所述 加密数据 C2时采用的加密算法以及相应的密钥的方式, 可以包括以下任一方 式: 方式一: 预先在所述密钥管理中心与所述第二终端之间协商一致得到所述 加密数据 C2时采用的加密算法以及相应的密钥;
方式二: 所述密钥管理中心向所述第二终端方式所述加密数据 C2时, 携 带得到所述加密数据 C2时所采用的加密算法指示, 所述第二终端根据所述加 密算法指示确定得到所述加密数据 C2时采用的加密算法以及相应的密钥; 本实施例中, 所述第二终端确定所述密钥管理中心根据所述第二终端的公 钥 Ku采用非对称加密算法 A得到所述加密数据 C2, 并根据自身的私钥 Kr采 用所述非对称加密算法 A解密所述加密数据 C2得到所述原始数据 M。
本实施例中, 所述密钥管理中心获得所述加密数据 C1的方式还可以包括: 当所述第二终端需要获取所述原始数据 M时,所述第二终端向所述密钥管 理中心发送下载数据的请求, 请求下载所述加密数据 C1 , 所述下载数据的请 求包括下载所述原始数据 M的请求或下载所述加密数据 C1的请求, 所述密钥 管理中心接收到所述下载数据的请求后, 从所述云服务器中获得所述加密数据 C1 , 例如参照实施例四所介绍的方式, 在此不再赞述。
本发明实施例提供的方法实施例六,密钥管理中心对原始数据 M进行加密 并自身保存加密原始数据 M的密钥,在接收到第二终端发送的解密数据的请求 或下载数据的请求时, 密钥管理中心并不直接将保存在云服务器中的加密数据 C1的加密密钥提供给第二终端, 而是将对加密数据 C1进行处理后的加密数据 C2发送给第二终端, 该方法既可保证所述第二终端能够根据自身掌握的密钥 最终获得原始数据 M, 也可保证第二终端在获取云中数据的过程中, 保存于云 服务器的加密数据 C1 的密钥可以不被泄露, 降低了密钥泄漏的风险, 增强了 数据共享的安全性, 其次, 密钥管理中心在对加密数据 C1进行解密得到原始 数据 M之后, 根据第二终端的公钥对原始数据 M进行加密, 使得密钥管理中 心向第二终端传输数据的过程是安全的。 如图 8所示, 为本发明实施例提供的在图 1的组网结构下方法实施例七的 实现流程图, 该实施例包括:
S801: 密钥管理中心接收第一终端发送的原始数据 M;
S802: 所述密钥管理中心根据其生成的密钥 K对所述原始数据 M进行加 密得到加密数据 C1;
其中, 需要说明的是, 所述密钥 K由所述密钥管理中心自身生成并保存, 所述密钥管理中心并不向任何终端, 包括所述第一终端, 发送该密钥 K, 从而 保证了加密数据的密钥是安全的;
本实施例中,所述密钥管理中心采用根据所述密钥 K能够解密所述加密数 据 C1 的加密算法, 所述加密算法包括但不限于可交换加密算法或对称加密算 法;
S803: 所述密钥管理中心上传所述加密数据 C1至云服务器保存;
S804: 当第二终端需要获得所述原始数据 M时,所述第二终端向所述云服 务器发送获取加密数据 C1的请求, 请求下载所述加密数据 C1;
S805: 所述第二终端接收所述云服务器返回的所述加密数据 C1;
其中, 需要说明的是, 所述第二终端还可以通过以下方式获取所述加密数 据 C1:
所述第二终端向所述密钥管理中心发送获取加密数据 C1 的请求, 在所述 密钥管理中心根据所述获取加密数据 C1 的请求从所述云服务器下载所述加密 数据 C1后, 接收所述密钥管理中心发送的所述加密数据 C1;
S806: 所述第二终端向所述密钥管理中心发送解密数据的请求, 本实施例 中, 所述解密数据的请求为解密所述加密数据 C1 的请求, 所述密钥管理中心 获得所述加密数据 C1;
其中, 本发明实施例提供的所述密钥管理中心获得所述加密数据 C1 的方 式, 可以包括以下任一方式:
方式一, 所述解密所述加密数据 C1的请求携带所述加密数据 C1: 所述密 钥管理中心直接获取所述所述第二终端发送的解密所述加密数据 C1 的请求中 携带的所述加密数据 C1;
方式二, 所述解密所述加密数据 C1的请求不携带所述加密数据 C1: 所述 密钥管理中心接收所述第二终端发送的解密所述加密数据 C1 的请求, 并向所 述第二终端发送获取加密数据 C1 的指示, 指示所述第二终端向所述密钥管理 中心发送所述加密数据 C1;
当然, 在所述解密所述加密数据 C1的请求不携带所述加密数据 C1时, 所 述密钥管理中心接收到所述解密所述加密数据 C1 的请求后, 也可以向所述云 服务器请求获取所述加密数据 C1 , 本实施例不再具体赘述;
S807: 所述密钥管理中心对所述第二终端进行鉴权, 若鉴权通过, 则执行 步骤 S808;
S808: 所述密钥管理中心与所述第二终端通过密钥交换算法协商得到密钥
Ki;
S809: 所述密钥管理中心根据其自身生成的密钥 K解密所述加密数据 C1 得到所述原始数据 M;
需要注意的是, 本步骤 S809还可以在步骤 S808之前执行;
S810: 所述密钥管理中心根据所述协商得到的密钥 Ki加密所述原始数据 M得到加密数据 C2;
本实施例中, 所述密钥管理中心采用根据所述密钥 Ki 能够解密所述加密 数据 C2的加密算法, 所述加密算法包括但不限于: 对称加密算法 S或可交换 加密算法 E;
S811: 所述密钥管理中心向所述第二终端发送所述加密数据 C2;
S812: 所述第二终端根据其掌握的密钥解密所述加密数据 C2得到所述原 始数据 M;
所述第二终端确定所述密钥管理中心得到所述加密数据 C2时采用的加密 算法以及相应的密钥, 根据所确定的加密算法和密钥, 解密所述加密数据 C2 得到所述原始数据 M;
其中, 本发明实施例提供的所述第二终端确定所述密钥管理中心得到所述 加密数据 C2时采用的加密算法以及相应的密钥的方式, 可以包括以下任一方 式:
方式一: 预先在所述密钥管理中心与所述第二终端之间协商一致得到所述 加密数据 C2时采用的加密算法以及相应的密钥;
方式二: 所述密钥管理中心向所述第二终端方式所述加密数据 C2时, 携 带得到所述加密数据 C2时所采用的加密算法指示, 所述第二终端根据所述加 密算法指示确定得到所述加密数据 C2时采用的加密算法以及相应的密钥; 其中, 本实施例中提供的所述第二终端解密所述加密数据 C2得到所述原 始数据 M的方式, 可以包括以下任一方式:
方式一: 若确定所述加密数据 C2为所述密钥管理中心在解密所述加密数 据 C1得到所述原始数据 M后, 再根据所述密钥 Ki采用对称加密算法 S加密 所述原始数据 M得到, 所述第二终端根据所述密钥 Ki, 采用所述对称加密算 法 S解密所述加密数据 C2得到所述原始数据 M;
方式二: 若确定所述加密数据 C2为所述密钥管理中心解密所述加密数据 C1得到所述原始数据 M后, 再根据所述密钥 Ki采用可交换加密算法 E加密 所述原始数据 M得到, 所述第二终端根据所述密钥 Ki, 采用所述可交换加密 算法 E解密所述加密数据 C2得到所述原始数据 M。
本实施例中, 所述密钥管理中心获得所述加密数据 C1的方式还可以包括: 当所述第二终端需要获取所述原始数据 M时,所述第二终端向所述密钥管 理中心发送下载数据的请求, 请求下载所述加密数据 C1 , 所述下载数据的请 求包括下载所述原始数据 M的请求或下载所述加密数据 C1的请求, 所述密钥 管理中心接收到所述下载数据的请求后, 从所述云服务器中获得所述加密数据 CI , 例如参照实施例四所介绍的方式, 在此不再赞述。
本发明实施例提供的方法实施例七,密钥管理中心对原始数据 M进行加密 并自身保存加密原始数据 M的密钥,在接收到第二终端发送的解密数据的请求 或下载数据的请求时, 密钥管理中心并不直接将保存在云服务器中的加密数据 C1的加密密钥提供给第二终端, 而是将对加密数据 C1进行处理后的加密数据 C2发送给第二终端, 该方法既可保证所述第二终端能够根据自身掌握的密钥 最终获得原始数据 M, 也可保证第二终端在获取云中数据的过程中, 保存于云 服务器的加密数据 C1 的密钥可以不被泄露, 降低了密钥泄漏的风险, 增强了 数据共享的安全性, 其次, 密钥管理中心在对加密数据 C1进行解密得到原始 数据之后, 根据与第二终端通过密钥交换算法协商得到的密钥 Ki 以及在协商 过程中所述密钥管理中心通知第二终端的加密算法, 对原始数据进行加密, 使 得密钥管理中心向第二终端传输数据的过程是安全的。 如图 9所示, 为本发明实施例提供的一种密钥管理中心, 包括: 接收单元 901 , 用于接收第一终端发送的原始数据 M以及接收第二终端发 送的解密数据的请求或者下载数据的请求;
加密单元 902, 用于根据自身生成的密钥 K对所述接收单元 901接收的原 始数据 M进行加密得到加密数据 C1;
发送单元 903,用于上传所述加密单元 902得到的加密数据 C1至云服务器 保存;
获得单元 904, 用于在所述接收单元 901接收到所述第二终端发送的解密 数据的请求或者下载数据的请求时, 获得加密数据 C2, 其中, 所述加密数据 C2由所述加密数据 C1处理得到;
所述发送单元 903还用于将所述获得单元 904获得的加密数据 C2发送给 所述第二终端, 以便于所述第二终端根据自身掌握的密钥解密所述加密数据 C2获得所述原始数据 M。 所述获得单元 904包括:
第一获得单元, 用于在所述接收单元 901接收到所述第二终端发送的解密 所述加密数据 C1的请求, 或者下载所述原始数据 M的请求, 或者下载所述加 密数据 C1的请求时, 获得所述加密数据 C1 , 先对所述加密数据 C1进行加密 得到第一中间加密数据 Cl,, 再对所述第一中间加密数据 Cl,进行解密获得所 述加密数据 C2; 或者
第二获得单元, 用于在所述接收单元 901接收到所述第二终端发送的解密 第二中间加密数据 Cl,,的请求时, 获得所述第二中间加密数据 C1" , 对所述第 二中间加密数据 C1"进行解密获得所述加密数据 C2, 其中, 所述第二中间加 密数据 Cl,,为所述第二终端对所述加密数据 C1进行加密后得到的; 或者
第三获得单元, 用于在所述接收单元 901接收到所述第二终端发送的解密 所述加密数据 C1的请求, 或者下载所述原始数据 M的请求, 或者下载所述加 密数据 C1的请求时,获得所述加密数据 C1 , 先根据所述密钥 K对所述加密数 据 C1进行解密得到所述原始数据 M,再对所述原始数据 M进行加密获得所述 加密数据 C2。
其中, 本实施例提供的所述第一获得单元包括:
第一加密数据获得子单元, 用于在所述接收单元 901接收到所述第二终端 发送的解密所述加密数据 C1 的请求时, 直接获取所述第二终端发送的解密所 述加密数据 C1的请求中携带的所述加密数据 C1 , 或者在所述接收单元 901接 收到所述解密所述加密数据 C1 的请求时, 从所述第二终端获得所述加密数据 C1 , 或者在所述接收单元 901接收到下载所述原始数据 M的请求, 或者下载 所述加密数据 C1的请求时, 从所述云服务器获得所述加密数据 C1;
第一加密处理子单元,若所述第一加密数据获得子单元获得的加密数据 C1 为采用可交换加密算法得到, 所述第一加密处理子单元用于根据密钥 Ki采用 所述可交换加密算法 E加密所述加密数据 C1得到第一中间加密数据 Cl, , 其 中, 所述密钥 Ki为所述密钥管理中心与所述第二终端通过密钥交换算法协商 得到的;
第一解密处理子单元,用于根据所述密钥 K解密所述第一加密处理子单元 得到的第一中间加密数据 Cl,获得所述加密数据 C2。
本实施例提供的所述第二获得单元包括:
第二加密数据获得子单元, 用于在所述接收单元 901接收到所述第二终端 发送的解密所述第二中间加密数据 Cl,,的请求时, 直接获取所述第二终端发送 的解密所述第二中间加密数据 C1"的请求中携带的所述第二中间加密数据 C1" , 或者在所述接收单元 901接收到所述第二终端发送的解密所述第二中间 加密数据 cr,的请求时,从所述第二终端获得所述第二中间加密数据 C1" , 其 中, 若所述加密数据 C1为采用可交换加密算法 E得到, 所述第二中间加密数 据 Cl,,为所述第二终端根据自身的密钥 Kb, 采用所述可交换加密算法加密所 述加密数据 C1得到;
第二解密处理子单元,用于根据所述密钥 K解密所述第二加密数据获得子 单元得到的第二中间加密数据 Cl,,获得所述加密数据 C2。
本实施例提供的所述第三获得单元包括:
第三加密数据获得子单元, 用于在所述接收单元 901接收到所述第二终端 发送的解密所述加密数据 C1 的请求时, 直接获取所述第二终端发送的解密所 述加密数据 C1的请求中携带的所述加密数据 C1 , 或者在所述接收单元 901接 收到所述解密所述加密数据 C1 的请求时, 从所述第二终端获得所述加密数据 C1 , 或者在所述接收单元 901接收到下载所述原始数据 M的请求, 或者下载 所述加密数据 C1的请求时, 从所述云服务器获得所述加密数据 C1;
第三解密处理子单元,用于根据所述密钥 K解密所述第三加密数据获得子 单元获得的加密数据 C1 , 得到所述原始数据 M;
第三加密处理子单元, 用于根据所述第二终端的公钥 Ku采用非对称加密 算法 A加密所述第三解密处理子单元得到的原始数据 M获得所述加密数据 C2, 或者,
用于根据密钥 Ki采用对称加密算法 S或可交换加密算法 E加密所述第三 解密处理子单元得到的原始数据 M获得所述加密数据 C2, 其中, 所述密钥 Ki 为所述密钥管理中心与所述第二终端通过密钥交换算法协商得到的。
本发明实施例提供的一种密钥管理中心, 通过加密单元加密接收单元接收 的原始数据 M,并将加密后的加密数据 C1通过发送单元上传至云服务器保存, 在第二终端需要获取原始数据 M时,发送单元并不直接将保存在云服务器中的 加密数据 C1 的加密密钥发送给第二终端, 而是将获得单元获得的对加密数据 C1进行处理后的加密数据 C2发送给第二终端, 该方法既可保证第二终端能够 根据自身掌握的密钥解密加密数据 C2最终获得原始数据 M, 也可保证第二终 端在获取加密数据的过程中, 保存于云服务器的加密数据 C1 的密钥可以不被 泄露, 降低了密钥泄漏的风险, 增强了数据共享的安全性, 其次, 密钥管理中 心的获得单元通过先对接收的加密数据 C1 进行加密得到第一中间加密数据 Cl,, 再对第一中间加密数据 Cl,进行解密得到加密数据 C2, 或者通过解密第 二终端发送的第二中间加密数据 C1"得到加密数据 C2, 使得数据在整个传输 以及处理过程中都是加密的, 提高了数据共享的安全性。 如图 10所示, 为本发明实施例提供的一种终端, 包括:
发送单元 1001 ,用于向密钥管理中心发送解密数据的请求或者下载数据的 请求;
接收单元 1002, 用于接收所述密钥管理中心发送的加密数据 C2, 所述加 密数据 C2由加密数据 C1处理得到, 所述加密数据 C1为保存在云服务器中的 数据, 所述加密数据 C1由所述密钥管理中心根据自身生成的密钥 K对第一终 端发送的原始数据 M进行加密得到;
解密单元 1003 , 用于根据自身掌握的密钥解密所述接收单元 1002接收的 加密数据 C2得到原始数据 M。
在本发明实施例的一种具体实施方式中, 所述发送单元 1001 具体用于向 所述密钥管理中心发送解密所述加密数据 C1 的请求, 或者下载所述原始数据 M的请求, 或者下载所述加密数据 C1的请求。
所述接收单元 1002包括:
第一接收单元, 用于接收所述密钥管理中心发送的加密数据 C2, 其中, 若 所述加密数据 C1采用可交换加密算法 E得到, 所述密钥管理中心根据密钥 Ki 采用所述可交换加密算法 E加密所述加密数据 C1得到第一中间加密数据 Cl,, 并根据所述密钥 K解密所述第一中间加密数据 Cl,得到所述加密数据 C2,所述 密钥 Ki为所述密钥管理中心与所述第二终端通过密钥交换算法协商得到的; 或者,
第二接收单元, 用于接收所述密钥管理中心发送的加密数据 C2, 其中, 所 述密钥管理中心根据所述密钥 K解密所述加密数据 C1得到所述原始数据 M, 并根据所述第二终端的公钥 Ku采用非对称加密算法 A加密所述原始数据 M得 到所述加密数据 C2; 或者,
第三接收单元, 用于接收所述密钥管理中心发送的加密数据 C2, 其中, 所 述密钥管理中心根据所述密钥 K解密所述加密数据 C1得到所述原始数据 M, 并根据密钥 Ki采用对称加密算法 S或可交换加密算法 E加密所述原始数据 M 得到所述加密数据 C2。 所述解密单元 1003包括:
第一解密单元, 若所述接收单元 1002接收的加密数据 C2为所述密钥管理 中心解密所述第一中间加密数据 Cl,得到, 所述第一解密单元用于根据所述终 端自身掌握的所述密钥 Ki采用所述可交换加密算法解密所述加密数据 C2得到 所述原始数据 M; 或者,
第二解密单元, 若所述接收单元 1002接收的加密数据 C2为所述密钥管理 中心在解密所述加密数据 C1得到所述原始数据 M后, 根据所述终端的公钥采 用所述非对称加密算法加密所述原始数据 M得到,所述第二解密单元用于根据 所述终端自身的私钥 Kr采用所述非对称加密算法解密所述加密数据 C2得到所 述原始数据 M; 或者,
第三解密单元, 若所述接收单元 1002接收的加密数据 C2为所述密钥管理 中心在解密所述加密数据 C1得到所述原始数据 M后, 根据所述密钥 Ki采用 对称加密算法 S或可交换加密算法 E加密所述原始数据 M得到, 所述第三解 密单元用于根据所述终端自身掌握的所述密钥 Ki采用所述对称加密算法 S或 可交换加密算法 E, 解密所述加密数据 C2得到所述原始数据 M。
本发明实施例提供的一种终端,在请求获取原始数据 M时,接收单元并不 直接接收保存在云服务器中的加密数据 C1 的加密密钥, 而是接收对加密数据 C1进行处理后的加密数据 C2, 该方法既可保证第二终端能够根据自身掌握的 密钥解密加密数据 C2获得原始数据 M, 也可以保证第二终端在获取加密数据 的过程中, 保存在云服务器的加密数据 C1 的密钥可以不被泄露, 降低了密钥 泄露的风险, 增强了数据共享的安全性。 如图 11所示, 为本发明实施例提供的一种终端, 包括:
获得单元 1101 , 用于获得加密数据 C1 , 所述加密数据 C1为保存在云服务 器中的数据, 所述加密数据 C1由所述密钥管理中心根据自身生成的密钥 K对 第一终端发送的原始数据 M进行加密得到;
加密单元 1102,若所述获得单元 1101获得的加密数据 C1由可交换加密算 法加密得到,所述加密单元 1102用于根据所述终端自身的密钥 Kb采用所述可 交换加密算法对获得的所述加密数据 C1进行加密得到第二中间加密数据 C1 ";
发送单元 1103 ,用于向密钥管理中心发送解密数据的请求或者下载数据的 请求, 本实施例中, 所述发送单元 1103具体用于在所述加密单元 1102得到所 述第二中间加密数据 Cl,,后, 向所述密钥管理中心发送解密所述第二中间加密 数据 C1"的请求; 接收单元 1104, 用于接收所述密钥管理中心发送的加密数据 C2, 所述加 密数据 C2由加密数据 C1处理得到,本实施例中,所述密钥管理中心根据所述 密钥 K解密所述第二中间加密数据 Cl,,得到所述加密数据 C2;
解密单元 1105, 用于根据自身掌握的密钥解密所述接收单元 1104接收的 加密数据 C2得到原始数据 M, 本实施例中, 所述解密单元 1105具体用于根据 所述终端自身的密钥 Kb采用所述可交换加密算法 E解密所述加密数据 C2得 到所述原始数据。
本发明实施例提供的一种终端,在请求获取原始数据 M时,接收单元并不 直接接收保存在云服务器中的加密数据 C1 的加密密钥, 而是接收对加密数据 C1进行处理后的加密数据 C2, 该方法既可保证第二终端能够根据自身掌握的 密钥解密加密数据 C2获得原始数据 M, 也可以保证第二终端在获取加密数据 的过程中, 保存在云服务器的加密数据 C1 的密钥可以不被泄露, 降低了密钥 泄露的风险, 增强了数据共享的安全性, 其次, 第二终端获得加密数据 C1之 后, 先对加密数据 C1进行加密, 使得经密钥管理中心解密后的数据仍然是加 密的, 使得数据在整个传输以及处理过程中都是加密的, 提高了数据共享的安 全性。 如图 12所示, 为本发明实施例提供的一种保护云中数据安全的系统, 该 系统包括:
第二终端 1201 , 用于在向密钥管理中心 1202发送解密数据的请求或者下 载数据的请求后, 接收所述密钥管理中心发送的加密数据 C2, 并根据自身掌 握的密钥解密所述加密数据 C2得到第一终端的原始数据 M;
密钥管理中心 1202, 用于在接收到所述第二终端 1201发送的所述解密数 据的请求或者下载数据的请求时, 获得所述加密数据 C2, 并将所述加密数据 C2发送给所述第二终端 1201 , 其中, 所述加密数据 C2由加密数据 C1处理得 到,所述加密数据 C1保存在云服务器中,所述加密数据 C1由所述密钥管理中 心 1202根据自身生成的密钥 K对所述第一终端发送的原始数据 M进行加密得 本实施例中, 所述系统还可以包括:
第一终端, 用于向所述密钥管理中心发送所述原始数据 M。
其中, 需要说明的是, 所述第一终端与所述第二终端 1201 可以为同 其中, 本实施例提供的所述第二终端 1201包括:
发送单元, 用于向所述密钥管理中心 1202发送所述解密数据的请求或者 下载数据的请求;
接收单元, 用于接收所述密钥管理中心 1202发送的所述加密数据 C2; 解密单元,用于根据自身掌握的密钥解密所述接收单元接收的加密数据 C2 得到所述原始数据 M。
本实施例提供的所述密钥管理中心 1202包括:
接收单元,用于接收所述第一终端发送的原始数据 M以及接收所述第二终 端 1201发送的解密数据的请求或者下载数据的请求;
加密单元,用于根据自身生成的密钥 K对所述接收单元接收的原始数据 M 进行加密得到加密数据 C1;
发送单元, 用于上传所述加密单元得到的加密数据 C1至云服务器保存; 获得单元, 用于在所述接收单元接收到所述第二终端 1201 发送的解密数 据的请求或者下载数据的请求时, 获得所述加密数据 C2;
所述发送单元还用于将所述获得单元获得的加密数据 C2发送给所述第二 终端 1201。
本发明实施例提供的一种保护云中数据安全的方法、 装置及系统, 密钥管 理中心对原始数据 M进行加密并自身保存加密原始数据 M的密钥, 在接收到 第二终端发送的解密数据的请求或下载数据的请求时, 密钥管理中心并不直接 将保存在云服务器中的加密数据 CI的加密密钥提供给第二终端, 而是将对加 密数据 C1进行处理后的加密数据 C2发送给第二终端,该方法既可保证所述第 二终端能够根据自身掌握的密钥最终获得原始数据 M,也可保证第二终端在获 取云中数据的过程中, 保存于云服务器的加密数据 C1 的密钥可以不被泄露, 降低了密钥泄漏的风险, 增强了数据共享的安全性, 其次, 所述密钥管理中心 可通过先加密再解密或先解密再加密的方式, 或者通过解密第二终端发送的加 密数据 Cl,的方式, 获得加密数据 C2, 使得密钥管理中心密钥管理中心获得所 述加密数据 C2的方式更加多样化, 另外, 通过密钥管理中心先对加密数据 C1 进行加密再对加密结果进行解密的方式, 或者通过第二终端先对加密数据 C1 进行加密再由密钥管理中心对第二终端的加密结果进行解密的方式, 使得数据 在整个传输以及处理过程中都是加密的, 提高了数据共享的安全性。
总之, 以上所述仅为本发明技术方案的较佳实施例而已, 并非用于限定本 发明的保护范围。凡在本发明的精神和原则之内, 所作的任何修改、等同替换、 改进等, 均应包含在本发明的保护范围之内。

Claims

权 利 要 求 书
1、 一种保护云中数据安全的方法, 其特征在于, 包括:
密钥管理中心接收第一终端发送的原始数据 M;
所述密钥管理中心根据自身生成的密钥 K对所述原始数据 M进行加密得 到加密数据 C1;
所述密钥管理中心上传所述加密数据 C1至云服务器保存;
当接收到第二终端发送的解密数据的请求或者下载数据的请求时, 所述密 钥管理中心获得加密数据 C2, 并将所述加密数据 C2发送给所述第二终端, 以 便于所述第二终端根据自身掌握的密钥解密所述加密数据 C2获得所述原始数 据 M, 其中, 所述加密数据 C2由所述加密数据 C1处理得到。
2、 根据权利要求 1 所述的方法, 其特征在于, 当接收到第二终端发送的 解密数据的请求或者下载数据的请求时, 所述密钥管理中心获得所述加密数据 C2, 包括:
所述密钥管理中心接收到所述第二终端发送的解密所述加密数据 C1 的请 求, 或者下载所述原始数据 M的请求, 或者下载所述加密数据 C1的请求时, 获得所述加密数据 C1 , 先对所述加密数据 C1进行加密得到第一中间加密数据 Cl,, 再对所述第一中间加密数据 Cl,进行解密, 获得所述加密数据 C2; 或者, 所述密钥管理中心接收到所述第二终端发送的解密第二中间加密数据 C1" 的请求时, 获得所述第二中间加密数据 C1" , 对所述第二中间加密数据 Cl,,进 行解密获得所述加密数据 C2, 其中, 所述第二中间加密数据 Cl,,为所述第二 终端对所述加密数据 C1进行加密后得到的; 或者,
所述密钥管理中心接收到所述第二终端发送的解密所述加密数据 C1 的请 求, 或者下载所述原始数据 M的请求, 或者下载所述加密数据 C1的请求时, 获得所述加密数据 C1 ,先根据所述密钥 K对所述加密数据 C1进行解密得到所 述原始数据 M, 再对所述原始数据 M进行加密, 获得所述加密数据 C2。
3、 根据权利要求 2所述的方法, 其特征在于, 所述密钥管理中心接收所 述第二终端发送的解密所述加密数据 C1的请求, 或者下载所述原始数据 M的 请求或下载所述加密数据 C1的请求, 获得所述加密数据 C1 , 包括:
所述密钥管理中心直接获取所述第二终端发送的解密所述加密数据 C1 的 请求中携带的所述加密数据 C1; 或者,
所述密钥管理中心接收所述第二终端发送的解密所述加密数据 C1的请求, 并向所述第二终端发送获取加密数据 C1 的指示, 指示所述第二终端向所述密 钥管理中心发送所述加密数据 C1; 或者,
所述密钥管理中心接收所述第二终端发送的下载所述原始数据 M 的请求 或下载所述加密数据 C1的请求后, 从所述云服务器中获取所述加密数据 Cl。
4、 根据权利要求 2或 3所述的方法, 其特征在于, 所述先对所述加密数 据 C1进行加密得到所述第一中间加密数据 Cl,, 再对所述第一中间加密数据 Cl,进行解密, 获得所述加密数据 C2, 包括:
若所述加密数据 C1采用可交换加密算法 E得到, 所述密钥管理中心根据 密钥 Ki采用所述可交换加密算法 E加密所述加密数据 C1得到所述第一中间加 密数据 Cl,, 其中, 所述密钥 Ki为所述密钥管理中心与所述第二终端通过密钥 交换算法协商得到的;
所述密钥管理中心根据所述密钥 K解密所述第一中间加密数据 Cl,获得所 述加密数据 C2;
其中所述可交换加密算法 E具有如下性质:
E(K1E(K2,Q))=E(K2,E(K1,Q)), 即采用所述可交换算法进行加密的结果与 使用的密钥的顺序没有关系。
5、 根据权利要求 2所述的方法, 其特征在于, 所述密钥管理中心接收所 述第二终端发送的解密所述第二中间加密数据 Cl,,的请求, 获得所述第二中间 加密数据 C1" , 包括: 所述密钥管理中心直接获取所述第二终端发送的解密所述第二中间加密 数据 C1"的请求中携带的所述第二中间加密数据 C1" , 所述第二中间加密数据 Cl,,为所述第二终端在所述加密数据 C1采用所述可交换加密算法 E得到时, 根据自身的密钥 Kb, 采用所述可交换加密算法加密所述加密数据 C1得到; 或 者,
所述密钥管理中心接收所述第二终端发送的解密所述第二中间加密数据 cr,的请求, 并向所述第二终端发送获取第二中间加密数据 cr,的指示, 指示 所述第二终端向所述密钥管理中心发送所述第二中间加密数据 C1"。
6、 根据权利要求 2或 5所述的方法, 其特征在于, 所述对所述第二中间 加密数据 C1"进行解密获得所述加密数据 C2, 包括:
所述密钥管理中心根据所述密钥 K解密所述第二中间加密数据 C1"获得 所述力。密数据 C2 。
7、 根据权利要求 4或 6所述的方法, 其特征在于, 所述将所述加密数据 C2发送给所述第二终端, 以便于所述第二终端根据自身掌握的密钥解密所述 加密数据 C2获得所述原始数据 M, 包括:
所述密钥管理中心向所述第二终端发送所述加密数据 C2后, 所述第二终 端根据自身掌握的所述密钥 Ki或密钥 Kb, 采用所述可交换加密算法解密所述 加密数据 C2得到所述原始数据 M。
8、 根据权利要求 2或 3所述的方法, 其特征在于, 所述对所述原始数据 M进行加密, 获得所述加密数据 C2, 包括:
所述密钥管理中心根据所述第二终端的公钥 Ku采用非对称加密算法 A加 密所述原始数据 M得到所述加密数据 C2; 或者,
所述密钥管理中心根据密钥 Ki采用对称加密算法 S或可交换加密算法 E 加密所述原始数据 M得到所述加密数据 C2,所述密钥 Ki为所述密钥管理中心 与所述第二终端通过密钥交换算法协商得到的。
9、 根据权利要求 8所述的方法, 其特征在于, 所述将所述加密数据 C2发 送给所述第二终端, 以便于所述第二终端根据自身掌握的密钥解密所述加密数 据 C2得到所述原始数据 M , 包括:
所述密钥管理中心向所述第二终端发送所述加密数据 C2后, 所述第二终 端确定所述密钥管理中心得到所述加密数据 C2时采用的加密算法以及相应的 密钥, 根据所确定的加密算法和密钥, 解密所述加密数据 C2得到所述原始数 据
10、 根据权利要求 9所述的方法, 其特征在于, 所述第二终端确定所述密 钥管理中心得到所述加密数据 C2时采用的加密算法以及相应的密钥, 包括: 预先在所述密钥管理中心与所述第二终端之间协商一致得到所述加密数 据 C2时采用的加密算法以及相应的密钥; 或者,
所述密钥管理中心向所述第二终端发送所述加密数据 C2时, 携带得到所 述加密数据 C2时所采用的加密算法指示, 所述第二终端根据所述加密算法指 示确定得到所述加密数据 C2时采用的加密算法以及相应的密钥。
11、根据权利要求 9或 10所述的方法, 其特征在于, 所述根据所确定的算 法和密钥, 解密所述加密数据 C2得到所述原始数据 M, 包括:
若确定所述密钥管理中心得到所述加密数据 C2时采用非对称加密算法 A, 所述第二终端根据其自身的私钥 Kr, 采用所述非对称加密算法 A解密所述加 密数据 C2得到所述原始数据 M; 或者,
若确定所述密钥管理中心得到所述加密数据 C2时采用对称加密算法 S,所 述第二终端根据所述密钥 Ki, 采用所述对称加密算法 S解密所述加密数据 C2 得到所述原始数据 M; 或者,
若确定所述密钥管理中心得到所述加密数据 C2时采用可交换加密算法 E, 所述第二终端根据所述密钥 Ki,采用所述可交换加密算法 E解密所述加密数据 C2得到所述原始数据 M。
12、 一种保护云中数据安全的方法, 其特征在于, 包括:
第二终端向密钥管理中心发送解密数据的请求或者下载数据的请求; 所述第二终端接收所述密钥管理中心发送的加密数据 C2, 所述加密数据 C2由加密数据 C1处理得到, 所述加密数据 C1为保存在云服务器中的数据, 所述加密数据 C1由所述密钥管理中心根据自身生成的密钥 K对第一终端发送 的原始数据 M进行加密得到;
所述第二终端根据自身掌握的密钥解密所述加密数据 C2得到所述原始数 据
13、 根据权利要求 12所述的方法, 其特征在于, 所述第二终端向所述密 钥管理中心发送所述解密数据的请求或者下载数据的请求, 包括:
所述第二终端向所述密钥管理中心发送解密所述加密数据 C1 的请求, 或 者下载所述原始数据 M的请求, 或者下载所述加密数据 C1的请求。
14、根据权利要求 13所述的方法, 其特征在于, 所述加密数据 C2由加密 数据 C1处理得到, 包括:
所述密钥管理中心获得所述加密数据 C1 , 若所述加密数据 C1采用可交换 加密算法 E得到, 所述密钥管理中心根据密钥 Ki采用所述可交换加密算法 E 加密所述加密数据 C1得到第一中间加密数据 Cl,, 并根据所述密钥 K解密所 述第一中间加密数据 Cl,得到所述加密数据 C2, 其中, 所述密钥 Ki为所述密 钥管理中心与所述第二终端通过密钥交换算法协商得到的; 或者,
所述密钥管理中心获得所述加密数据 C1 ,所述密钥管理中心根据所述密钥 K解密所述加密数据 C1得到所述原始数据 M,并根据所述第二终端的公钥 Ku 采用非对称加密算法 A加密所述原始数据 M得到所述加密数据 C2; 或者, 所述密钥管理中心获得所述加密数据 C1 ,所述密钥管理中心根据所述密钥 K解密所述加密数据 C1得到所述原始数据 M,并根据密钥 Ki采用对称加密算 法 S或可交换加密算法 E加密所述原始数据 M得到所述加密数据 C2。
15、 根据权利要求 14所述的方法, 其特征在于, 所述密钥管理中心获得 所述加密数据 C1 , 包括:
所述密钥管理中心直接获取所述第二终端发送的解密所述加密数据 C1 的 请求中携带的所述加密数据 C1; 或者,
所述密钥管理中心接收所述第二终端发送的解密所述加密数据 C1 的请求 后, 向所述第二终端发送获取加密数据 C1 的指示, 指示所述第二终端向所述 密钥管理中心发送所述加密数据 C1; 或者,
所述密钥管理中心接收所述第二终端发送的下载所述原始数据 M 的请求 或下载所述加密数据 C1的请求后, 从所述云服务器中获取所述加密数据 Cl。
16、 根据权利要求 14或 15所述的方法, 其特征在于, 所述第二终端根据 自身掌握的密钥解密所述加密数据 C2得到所述原始数据 M, 包括:
若所述加密数据 C2为所述密钥管理中心根据所述密钥 K解密所述第一中 间加密数据 Cl,得到,所述第二终端根据自身掌握的所述密钥 Ki采用所述可交 换加密算法 E解密所述加密数据 C2得到所述原始数据 M; 或者,
若所述加密数据 C2为所述密钥管理中心在解密所述加密数据 C1得到所述 原始数据 M后,再根据所述第二终端的公钥 Ku采用所述非对称加密算法 A加 密所述原始数据 M得到, 所述第二终端根据自身的私钥 Kr采用所述非对称加 密算法解密所述加密数据 C2得到所述原始数据 M; 或者,
若所述加密数据 C2为所述密钥管理中心在解密所述加密数据 C1得到所述 原始数据 M后, 再根据所述密钥 Ki采用对称加密算法 S或可交换加密算法 E 加密所述原始数据 M得到, 所述第二终端根据自身掌握的所述密钥 Ki采用所 述对称加密算法 S或可交换加密算法 E, 解密所述加密数据 C2得到所述原始 数据 M。
17、 根据权利要求 12所述的方法, 其特征在于, 所述第二终端向所述密 钥管理中心发送所述解密数据的请求之前, 还包括: 所述第二终端获得所述加密数据 CI , 若所述加密数据 C1由可交换加密算 法 E加密得到, 所述第二终端根据其自身的密钥 Kb, 采用所述可交换加密算 法 E对获得的所述加密数据 C1进行加密得到第二中间加密数据 C1" , 则, 所 述第二终端向所述密钥管理中心发送解密所述第二中间加密数据 Cl,,的请求。
18、 根据权利要求 17 所述的方法, 其特征在于, 所述第二终端向所述密 钥管理中心发送所述解密第二中间加密数据 C Γ,的请求之后, 还包括:
所述密钥管理中心直接获取所述第二终端发送的解密所述第二中间加密 数据 C1"的请求中携带的所述第二中间加密数据 C1 "; 或者,
所述密钥管理中心接收所述第二终端发送的解密所述第二中间加密数据 Cl,,的请求, 并向所述第二终端发送获取第二中间加密数据 Cl,,的指示, 指示 所述第二终端向所述密钥管理中心发送所述第二中间加密数据 C1"。
19、 根据权利要求 18所述的方法, 其特征在于, 所述加密数据 C2由加密 数据 C1处理得到, 包括:
所述密钥管理中心根据所述密钥 K解密所述第二中间加密数据 C1"得到所 述加密数据 C2。
20、 根据权利要求 19 所述的方法, 其特征在于, 所述第二终端根据自身 掌握的密钥解密所述加密数据 C2得到所述原始数据 M, 包括:
所述第二终端根据自身的密钥 Kb采用所述可交换加密算法 E解密所述加 密数据 C2得到所述原始数据 M。
21、 一种密钥管理中心, 其特征在于, 包括:
接收单元,用于接收第一终端发送的原始数据 M以及接收第二终端发送的 解密数据的请求或者下载数据的请求;
加密单元,用于根据自身生成的密钥 K对所述接收单元接收的原始数据 M 进行加密得到加密数据 C1;
发送单元, 用于上传所述加密单元得到的加密数据 C1至云服务器保存; 获得单元, 用于在所述接收单元接收到所述第二终端发送的解密数据的请 求或者下载数据的请求时, 获得加密数据 C2, 其中, 所述加密数据 C2由所述 加密数据 C1处理得到;
所述发送单元还用于将所述获得单元获得的加密数据 C2发送给所述第二 终端, 以便于所述第二终端根据自身掌握的密钥解密所述加密数据 C2获得所 述原始数据 M。
22、 根据权利要求 21 所述的密钥管理中心, 其特征在于, 所述获得单元 包括:
第一获得单元, 用于在所述接收单元接收到所述第二终端发送的解密所述 加密数据 C1的请求, 或者下载所述原始数据 M的请求, 或者下载所述加密数 据 C1的请求时, 获得所述加密数据 C1 , 先对所述加密数据 C1进行加密得到 第一中间加密数据 Cl,, 再对所述第一中间加密数据 Cl,进行解密获得所述加 密数据 C2; 或者,
第二获得单元 , 用于在所述接收单元接收到所述第二终端发送的解密第二 中间加密数据 Cl,,的请求时, 获得所述第二中间加密数据 C1" , 对所述第二中 间加密数据 C1"进行解密获得所述加密数据 C2, 其中, 所述第二中间加密数 据 Cl,,为所述第二终端对所述加密数据 C1进行加密后得到的; 或者,
第三获得单元, 用于在所述接收单元接收到所述第二终端发送的解密所述 加密数据 C1的请求, 或者下载所述原始数据 M的请求, 或者下载所述加密数 据 C1的请求时, 获得所述加密数据 C1 , 先根据所述密钥 K对所述加密数据 C1进行解密得到所述原始数据 M, 再对所述原始数据 M进行加密获得所述加 密数据 C2。
23、 根据权利要求 22所述的密钥管理中心, 其特征在于, 所述第一获得 单元包括;
第一加密数据获得子单元, 用于在所述接收单元接收到所述第二终端发送 的解密所述加密数据 C1 的请求时, 直接获取所述第二终端发送的解密所述加 密数据 C1的请求中携带的所述加密数据 C1 , 或者在所述接收单元接收到所述 解密所述加密数据 C1的请求时, 从所述第二终端获得所述加密数据 C1 , 或者 在所述接收单元接收到下载所述原始数据 M 的请求, 或者下载所述加密数据 C1的请求时, 从所述云服务器获得所述加密数据 C1;
第一加密处理子单元,若所述第一加密数据获得子单元获得的加密数据 C1 为采用可交换加密算法得到, 所述第一加密处理子单元用于根据密钥 Ki采用 所述可交换加密算法 E加密所述加密数据 C1得到第一中间加密数据 Cl, , 其 中, 所述密钥 Ki为所述密钥管理中心与所述第二终端通过密钥交换算法协商 得到的;
第一解密处理子单元,用于根据所述密钥 K解密所述第一加密处理子单元 得到的第一中间加密数据 Cl,获得所述加密数据 C2。
24、 根据权利要求 22所述的密钥管理中心, 其特征在于, 所述第二获得 单元包括:
第二加密数据获得子单元, 用于在所述接收单元接收到所述第二终端发送 的解密所述第二中间加密数据 Cl,,的请求时, 直接获取所述第二终端发送的解 密所述第二中间加密数据 Cl,,的请求中携带的所述第二中间加密数据 C1" , 或 者在所述接收单元接收到所述第二终端发送的解密所述第二中间加密数据 C1" 的请求时, 从所述第二终端获得所述第二中间加密数据 C1" , 其中, 若所述 加密数据 C1为采用可交换加密算法 E得到, 所述第二中间加密数据 Cl,,为所 述第二终端根据自身的密钥 Kb, 采用所述可交换加密算法加密所述加密数据 C1得到;
第二解密处理子单元,用于根据所述密钥 K解密所述第二加密数据获得子 单元得到的第二中间加密数据 Cl,,获得所述加密数据 C2。
25、 根据权利要求 22所述的密钥管理中心, 其特征在于, 所述第三获得 单元包括:
第三加密数据获得子单元, 用于在所述接收单元接收到所述第二终端发送 的解密所述加密数据 C1 的请求时, 直接获取所述第二终端发送的解密所述加 密数据 C1的请求中携带的所述加密数据 C1 , 或者在所述接收单元接收到所述 解密所述加密数据 C1的请求时, 从所述第二终端获得所述加密数据 C1 , 或者 在所述接收单元接收到下载所述原始数据 M 的请求, 或者下载所述加密数据 C1的请求时, 从所述云服务器获得所述加密数据 C1 ;
第三解密处理子单元,用于根据所述密钥 K解密所述第三加密数据获得子 单元获得的加密数据 C1 , 得到所述原始数据 M;
第三加密处理子单元, 用于根据所述第二终端的公钥 Ku采用非对称加密 算法 A加密所述第三解密处理子单元得到的原始数据 M获得所述加密数据 C2, 或者, 用于根据密钥 Ki采用对称加密算法 S或可交换加密算法 E加密所述第 三解密处理子单元得到的原始数据 M获得所述加密数据 C2, 其中, 所述密钥 Ki为所述密钥管理中心与所述第二终端通过密钥交换算法协商得到的。
26、 一种终端, 其特征在于, 包括:
发送单元, 用于向密钥管理中心发送解密数据的请求或者下载数据的请 求;
接收单元,用于接收所述密钥管理中心发送的加密数据 C2,所述加密数据 C2由加密数据 C1处理得到, 所述加密数据 C1为保存在云服务器中的数据, 所述加密数据 C1由所述密钥管理中心根据自身生成的密钥 K对第一终端发送 的原始数据 M进行加密得到;
解密单元,用于根据自身掌握的密钥解密所述接收单元接收的加密数据 C2 得到所述原始数据 M。
27、 根据权利要求 26 所述的终端, 其特征在于, 所述发送单元具体用于 向所述密钥管理中心发送解密所述加密数据 C1 的请求, 或者下载所述原始数 据 M的请求, 或者下载所述加密数据 C1的请求。
28、 根据权利要求 27所述的终端, 其特征在于, 所述接收单元包括: 第一接收单元, 用于接收所述密钥管理中心发送的加密数据 C2, 其中, 若 所述加密数据 C1采用可交换加密算法 E得到, 所述密钥管理中心根据密钥 Ki 采用所述可交换加密算法 E加密所述加密数据 C1得到第一中间加密数据 Cl,, 并根据所述密钥 K解密所述第一中间加密数据 Cl,得到所述加密数据 C2,所述 密钥 Ki为所述密钥管理中心与所述第二终端通过密钥交换算法协商得到的; 或者,
第二接收单元, 用于接收所述密钥管理中心发送的加密数据 C2, 其中, 所 述密钥管理中心根据所述密钥 K解密所述加密数据 C1得到所述原始数据 M, 并根据所述第二终端的公钥 Ku采用非对称加密算法 A加密所述原始数据 M得 到所述加密数据 C2; 或者,
第三接收单元, 用于接收所述密钥管理中心发送的加密数据 C2, 其中, 所 述密钥管理中心根据所述密钥 K解密所述加密数据 C1得到所述原始数据 M, 并根据密钥 Ki采用对称加密算法 S或可交换加密算法 E加密所述原始数据 M 得到所述加密数据 C2。
29、 根据权利要求 26-28中任意一项权利要求所述的终端, 其特征在于, 所述解密单元包括:
第一解密单元, 若所述接收单元接收的加密数据 C2为所述密钥管理中心 解密所述第一中间加密数据 Cl,得到, 所述第一解密单元用于根据所述终端自 身掌握的所述密钥 Ki采用所述可交换加密算法解密所述加密数据 C2得到所述 原始数据 M; 或者,
第二解密单元, 若所述接收单元接收的加密数据 C2为所述密钥管理中心 在解密所述加密数据 C1得到所述原始数据 M后, 根据所述终端的公钥采用所 述非对称加密算法加密所述原始数据 M得到,所述第二解密单元用于根据所述 终端自身的私钥 Kr采用所述非对称加密算法解密所述加密数据 C2得到所述原 始数据 M; 或者,
第三解密单元, 若所述接收单元接收的加密数据 C2为所述密钥管理中心 在解密所述加密数据 C1得到所述原始数据 M后, 根据所述密钥 Ki采用对称 加密算法 S或可交换加密算法 E加密所述原始数据 M得到, 所述第三解密单 元用于根据所述终端自身掌握的所述密钥 Ki采用所述对称加密算法 S或可交 换加密算法 E, 解密所述加密数据 C2得到所述原始数据 M。
30、 根据权利要求 26所述终端, 其特征在于, 还包括:
获得单元, 用于获得所述加密数据 C1 ;
加密单元, 若所述获得单元获得的加密数据 C1 由可交换加密算法加密得 到, 所述加密单元用于根据所述终端自身的密钥 Kb采用所述可交换加密算法 对获得的所述加密数据 C1进行加密得到第二中间加密数据 C1" ,
则, 所述发送单元具体用于在所述加密单元得到所述第二中间加密数据 Cl,,后, 向所述密钥管理中心发送解密所述第二中间加密数据 Cl,,的请求。
31、 根据权利要求 30所述的终端, 其特征在于, 所述接收单元具体用于 接收所述密钥管理中心发送的加密数据 C2, 其中, 所述密钥管理中心根据所 述密钥 K解密所述第二中间加密数据 Cl,,得到所述加密数据 C2。
32、 根据权利要求 31 所述的终端, 其特征在于, 所述解密单元具体用于 根据所述终端自身的密钥 Kb采用所述可交换加密算法 E解密所述加密数据 C2 得到所述原始数据 M。
33、 一种保护云中数据安全的系统, 其特征在于, 该系统包括:
第二终端, 用于在向密钥管理中心发送解密数据的请求或者下载数据的请 求后, 接收所述密钥管理中心发送的加密数据 C2, 并根据自身掌握的密钥解 密所述加密数据 C2得到第一终端的原始数据 M;
密钥管理中心, 用于在接收到所述第二终端发送的所述解密数据的请求或 者下载数据的请求时, 获得所述加密数据 C2, 并将所述加密数据 C2发送给所 述第二终端, 其中, 所述加密数据 C2由加密数据 C1处理得到, 所述加密数据 C1保存在云服务器中, 所述加密数据 C1由所述密钥管理中心根据自身生成的 密钥 K对所述第一终端发送的原始数据 M进行加密得到。
34、 根据权利要求 33所述的系统, 其特征在于, 还包括:
第一终端, 用于向所述密钥管理中心发送所述原始数据 M。
35、 根据权利要求 33或 34所述的系统, 其特征在于, 所述密钥管理中心 包括:
接收单元,用于接收所述第一终端发送的原始数据 M以及接收所述第二终 端发送的解密数据的请求或者下载数据的请求;
加密单元,用于根据自身生成的密钥 K对所述接收单元接收的原始数据 M 进行加密得到加密数据 C1;
发送单元, 用于上传所述加密单元得到的加密数据 C1至云服务器保存; 获得单元, 用于在所述接收单元接收到所述第二终端发送的解密数据的请 求或者下载数据的请求时, 获得加密数据 C2;
所述发送单元还用于将所述获得单元获得的加密数据 C2发送给所述第二 终端。
36、根据权利要求 33至 35中任意一项权利要求所述的系统,其特征在于, 所述第二终端包括:
发送单元, 用于向所述密钥管理中心发送所述解密数据的请求或者下载数 据的请求;
接收单元, 用于接收所述密钥管理中心发送的所述加密数据 C2;
解密单元, 用于根据自身掌握的密钥解密所述接收单元接收的所述加密数 据 C2得到所述原始数据 M。
PCT/CN2011/081987 2011-11-09 2011-11-09 一种保护云中数据安全的方法、装置及系统 WO2012163043A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN2011800025338A CN103262491A (zh) 2011-11-09 2011-11-09 一种保护云中数据安全的方法、装置及系统
PCT/CN2011/081987 WO2012163043A1 (zh) 2011-11-09 2011-11-09 一种保护云中数据安全的方法、装置及系统
EP16205683.2A EP3229436B1 (en) 2011-11-09 2011-11-09 Retrieving data stored securely in the cloud
EP11866813.6A EP2704389B1 (en) 2011-11-09 2011-11-09 Method, device and system for protecting data security in cloud
US14/141,849 US9203614B2 (en) 2011-11-09 2013-12-27 Method, apparatus, and system for protecting cloud data security

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/081987 WO2012163043A1 (zh) 2011-11-09 2011-11-09 一种保护云中数据安全的方法、装置及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/141,849 Continuation US9203614B2 (en) 2011-11-09 2013-12-27 Method, apparatus, and system for protecting cloud data security

Publications (1)

Publication Number Publication Date
WO2012163043A1 true WO2012163043A1 (zh) 2012-12-06

Family

ID=47258336

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/081987 WO2012163043A1 (zh) 2011-11-09 2011-11-09 一种保护云中数据安全的方法、装置及系统

Country Status (4)

Country Link
US (1) US9203614B2 (zh)
EP (2) EP3229436B1 (zh)
CN (1) CN103262491A (zh)
WO (1) WO2012163043A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312690A (zh) * 2013-04-19 2013-09-18 无锡成电科大科技发展有限公司 一种云计算平台的密钥管理系统及方法
CN104144048A (zh) * 2013-05-10 2014-11-12 华为技术有限公司 一种可信云存储环境下的密钥管理方法、装置和系统
US9679161B2 (en) 2013-04-25 2017-06-13 Globalfoundries Inc. Distribution of encrypted information in multiple locations
CN110650121A (zh) * 2019-08-28 2020-01-03 深圳市天道日新科技有限公司 基于分布式系统的流媒体数据保密系统
CN112491921A (zh) * 2020-12-07 2021-03-12 中国电子信息产业集团有限公司第六研究所 一种基于区块链的分布式网关数据保护系统及保护方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9413730B1 (en) 2014-06-04 2016-08-09 Skyhigh Networks, Inc. Encryption in the cloud using enterprise managed keys
CN106487773A (zh) * 2015-09-01 2017-03-08 中兴通讯股份有限公司 一种加解密方法及装置
WO2017162615A1 (en) 2016-03-22 2017-09-28 Koninklijke Philips N.V. Cloud storage of data
US10505730B2 (en) * 2017-02-06 2019-12-10 Red Hat, Inc. Secure data management
CN107295069B (zh) * 2017-05-27 2020-06-02 Oppo广东移动通信有限公司 数据备份方法、装置、存储介质及服务器
US10972445B2 (en) * 2017-11-01 2021-04-06 Citrix Systems, Inc. Dynamic crypto key management for mobility in a cloud environment
CN108833336A (zh) * 2018-04-18 2018-11-16 北京百度网讯科技有限公司 数据处理方法、装置、计算机设备及存储介质
CN112491922B (zh) * 2020-12-07 2023-04-18 中国电子信息产业集团有限公司第六研究所 集中式网关数据保护方法、网关设备、数据服务器及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102014133A (zh) * 2010-11-26 2011-04-13 清华大学 在云存储环境下一种安全存储系统的实现方法
CN102055760A (zh) * 2009-10-30 2011-05-11 国际商业机器公司 消息发送/接收方法和系统
CN102187312A (zh) * 2008-10-14 2011-09-14 微软公司 用于电子分发的内容包

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564106A (en) * 1995-03-09 1996-10-08 Motorola, Inc. Method for providing blind access to an encryption key
US7068787B1 (en) 1998-10-23 2006-06-27 Contentguard Holdings, Inc. System and method for protection of digital works
JP2000181803A (ja) * 1998-12-18 2000-06-30 Fujitsu Ltd 鍵管理機能付電子データ保管装置および電子データ保管方法
US6885748B1 (en) 1999-10-23 2005-04-26 Contentguard Holdings, Inc. System and method for protection of digital works
US7260215B2 (en) * 2001-09-04 2007-08-21 Portauthority Technologies Inc. Method for encryption in an un-trusted environment
US8666065B2 (en) * 2003-02-07 2014-03-04 Britesmart Llc Real-time data encryption
US7502928B2 (en) * 2004-11-12 2009-03-10 Sony Computer Entertainment Inc. Methods and apparatus for secure data processing and transmission
US20090168163A1 (en) 2005-11-01 2009-07-02 Global Bionic Optics Pty Ltd. Optical lens systems
WO2009026247A1 (en) * 2007-08-16 2009-02-26 Shellshadow, Llc Terminal client collaboration and relay systems and methods
WO2009070430A2 (en) * 2007-11-08 2009-06-04 Suridx, Inc. Apparatus and methods for providing scalable, dynamic, individualized credential services using mobile telephones
US8341427B2 (en) * 2009-02-16 2012-12-25 Microsoft Corporation Trusted cloud computing and services framework
NO331571B1 (no) * 2009-10-30 2012-01-30 Uni I Stavanger System for a beskytte en kryptert informasjonsenhet
US8447970B2 (en) * 2010-02-09 2013-05-21 Microsoft Corporation Securing out-of-band messages
CN102176709B (zh) * 2010-12-13 2013-11-13 北京交通大学 一种带隐私保护的数据共享与发布的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102187312A (zh) * 2008-10-14 2011-09-14 微软公司 用于电子分发的内容包
CN102055760A (zh) * 2009-10-30 2011-05-11 国际商业机器公司 消息发送/接收方法和系统
CN102014133A (zh) * 2010-11-26 2011-04-13 清华大学 在云存储环境下一种安全存储系统的实现方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312690A (zh) * 2013-04-19 2013-09-18 无锡成电科大科技发展有限公司 一种云计算平台的密钥管理系统及方法
US9679161B2 (en) 2013-04-25 2017-06-13 Globalfoundries Inc. Distribution of encrypted information in multiple locations
CN104144048A (zh) * 2013-05-10 2014-11-12 华为技术有限公司 一种可信云存储环境下的密钥管理方法、装置和系统
CN110650121A (zh) * 2019-08-28 2020-01-03 深圳市天道日新科技有限公司 基于分布式系统的流媒体数据保密系统
CN112491921A (zh) * 2020-12-07 2021-03-12 中国电子信息产业集团有限公司第六研究所 一种基于区块链的分布式网关数据保护系统及保护方法

Also Published As

Publication number Publication date
US9203614B2 (en) 2015-12-01
US20140126723A1 (en) 2014-05-08
EP3229436A1 (en) 2017-10-11
EP2704389A4 (en) 2015-01-07
EP2704389B1 (en) 2017-04-05
CN103262491A (zh) 2013-08-21
EP2704389A1 (en) 2014-03-05
EP3229436B1 (en) 2018-07-25

Similar Documents

Publication Publication Date Title
WO2012163043A1 (zh) 一种保护云中数据安全的方法、装置及系统
CN106295393B (zh) 电子处方操作方法、装置及系统
CN107659406B (zh) 一种资源操作方法及装置
WO2017032242A1 (zh) 密钥生成方法及装置
US10938554B2 (en) Managing private key access in multiple nodes
WO2019109852A1 (zh) 一种数据传输方法及系统
WO2016061819A1 (zh) 一种访问资源的方法及装置
CN107948676A (zh) 视频数据传输方法及装置
CN104735070B (zh) 一种通用的异构加密云间的数据共享方法
WO2014134786A1 (zh) 一种密钥交互方法及装置
US20180063105A1 (en) Management of enciphered data sharing
JP5047638B2 (ja) 暗号文復号権委譲システム
US10411886B1 (en) Authenticating secure channel establishment messages based on shared-secret
JP2020533853A (ja) デジタル証明書を管理するための方法および装置
WO2015058378A1 (zh) 用户设备之间进行安全通信的方法及装置
WO2023231817A1 (zh) 数据处理方法、装置、计算机设备及存储介质
US20240113885A1 (en) Hub-based token generation and endpoint selection for secure channel establishment
JP2016189527A (ja) 情報処理装置及び情報処理システム及び情報処理方法及び情報処理プログラム
WO2014146609A1 (zh) 信息处理方法、信任服务器及云服务器
CN115766066A (zh) 数据传输方法、装置、安全通信系统及存储介质
JP2019102970A (ja) データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム
WO2022135392A1 (zh) 身份鉴别方法、装置、设备、芯片、存储介质及程序
WO2013163861A1 (zh) 一种代理转换的方法、装置和系统
JP2006186807A5 (zh)
WO2014071885A1 (zh) 一种信息配置方法、设备及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11866813

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2011866813

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011866813

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE