|
(11) | EP 2 940 959 A1 |
(12) | EUROPEAN PATENT APPLICATION |
published in accordance with Art. 153(4) EPC |
|
|
|
|
|||||||||||||||||||||||
(54) | INFORMATION PROCESSING METHOD, RETRIEVING METHOD, DEVICE, USER TERMINAL AND SERVER |
(57) The present invention discloses an information processing method and apparatus, an
information retrieval method and apparatus, a user terminal, and a server. The retrieval
method includes: receiving, by a first user terminal, information, sent by a second
user terminal, about an address used to save an encrypted file of the second user
terminal; acquiring, from a cloud server and a trusted server, privacy information,
non-privacy information, and a shared key that correspond to the address information;
obtaining address information of a to-be-accessed file by searching the privacy information
and the non-privacy information; acquiring, from the cloud server, a first encrypted
file corresponding to the address information of the to-be-accessed file; and decrypting
the first encrypted file by using the shared key, to obtain the to-be-accessed file.
In the present invention, because a trusted server is introduced in an information
retrieval process, an encrypted file that is uploaded to a cloud server by a user
terminal can be searched by a trusted third-party user terminal, thereby making full
use of performance of the cloud server while ensuring security of a user file. |
TECHNICAL FIELD
BACKGROUND
SUMMARY
According to a first aspect, an information processing method is provided, where the method includes:
generating privacy information and non-privacy information according to digest information of a file;
encrypting the file by using a shared key delivered by a trusted server, to obtain an encrypted file;
uploading the encrypted file and the non-privacy information to a cloud server;
receiving information, returned by the cloud server, about an address at which the encrypted file is saved; and
transmitting the address information of the encrypted file to the trusted server, so that the trusted server saves the address information.
transmitting the privacy information to the trusted server, so that the trusted server saves a correspondence between the privacy information and the address information.
the method further includes: encrypting the privacy information by using a second shared key delivered by the trusted server, to obtain encrypted privacy information; and
uploading the encrypted privacy information to the cloud server.
obtaining an encrypted file and non-privacy information that are uploaded by a user terminal, where the encrypted file is the encrypted file obtained after the user terminal encrypts a file by using a shared key delivered by a trusted server, and the non-privacy information is the non-privacy information generated by the user terminal according to digest information of the file;
saving a correspondence between the encrypted file and the non-privacy information; and
delivering, to the user terminal, information about an address at which the encrypted file is saved, so that the trusted server saves the address information after the user terminal transmits the address information of the encrypted file to the trusted server.
obtaining encrypted privacy information uploaded by the user terminal, where the encrypted privacy information is the encrypted privacy information obtained after the user terminal encrypts privacy information by using a second shared key delivered by the trusted server, where the privacy information is the privacy information generated by the user terminal according to the digest information of the file.
delivering a shared key to a user terminal, so that the user terminal uploads, to a cloud server after obtaining an encrypted file by encrypting a file according to the shared key, the encrypted file and non-privacy information that is generated according to digest information of the file;
receiving address information, sent by the user terminal, of the encrypted file, where the address information is information, returned by the cloud server to the user terminal, about an address at which the encrypted file is saved; and
saving the address information.
receiving privacy information generated according to the digest information of the file and transmitted by the user terminal; and
saving a correspondence between the privacy information and the address information.
receiving, by a first user terminal, information, sent by a second user terminal, about an address used to save an encrypted file of the second user terminal, where the address information is information, delivered to the second user terminal by the cloud server after the cloud server obtains the encrypted file and non-privacy information that are uploaded by the second user terminal, about an address at which the encrypted file is saved, where the encrypted file is an encrypted file obtained after the second user terminal encrypts a file according to a shared key delivered by a trusted server, and the non-privacy information is generated by the second user terminal according to digest information of the file;
acquiring, from the cloud server and the trusted server by the first user terminal, the non-privacy information, privacy information, and the shared key that correspond to the address information, where the privacy information is generated by the second user terminal according to the digest information of the file;
obtaining, by the first user terminal, address information of a to-be-accessed file by searching the privacy information and the non-privacy information;
acquiring, from the cloud server by the first user terminal, a first encrypted file corresponding to the address information of the to-be-accessed file; and decrypting, by the first user terminal, the first encrypted file by using the shared key, to obtain the to-be-accessed file.
sending, to the trusted server by the first user terminal, the information about the address used to save the encrypted file of the second user terminal;
receiving, by the first user terminal, the privacy information and the shared key that correspond to the address information and are returned by the trusted server;
sending, to the cloud server by the first user terminal, the information about the address used to save the encrypted file of the second user terminal; and receiving, by the first user terminal, the non-privacy information that corresponds to the address information and is returned by the cloud server.
sending, to the trusted server by the first user terminal, the information about the address used to save the encrypted file of the second user terminal;
receiving, by the first user terminal, a first shared key and a second shared key that correspond to the address information and are returned by the trusted server;
sending, to the cloud server by the first user terminal, the information about the address used to save the encrypted file of the second user terminal;
receiving, by the first user terminal, the non-privacy information and encrypted privacy information that correspond to the address information and are returned by the cloud server; and
decrypting, by the first user terminal, the encrypted privacy information by using the second shared key, to obtain the privacy information; and the decrypting, by the first user terminal, the first encrypted file by using the shared key, to obtain the to-be-accessed file is specifically: decrypting, by the first user terminal, the first encrypted file by using the first shared key, to obtain the to-be-accessed file.
matching, by the first user terminal, privacy information and non-privacy information that correspond to each piece of address information with a retrieval condition;
obtaining, according to a matching result by the first user terminal, privacy information and non-privacy information that meet the retrieval condition; and determining, by the first user terminal, address information corresponding to the privacy information and the non-privacy information that meet the retrieval condition as the address information of the to-be-accessed file.
sending, by the first user terminal, the address information of the to-be-accessed file to the cloud server; and
receiving, by the first user terminal, the first encrypted file that corresponds to the address information of the to-be-accessed file and is sent by the cloud server after the cloud server queries a saved correspondence between the address information and the encrypted file.
a generating unit, configured to generate privacy information and non-privacy information according to digest information of a file;
an encrypting unit, configured to encrypt the file by using a shared key delivered by a trusted server, to obtain an encrypted file;
an uploading unit, configured to upload the encrypted file and the non-privacy information to a cloud server;
a receiving unit, configured to receive information, returned by the cloud server, about an address at which the encrypted file is saved; and
a transmitting unit, configured to transmit the address information of the encrypted file to the trusted server, so that the trusted server saves the address information.
the transmitting unit is further configured to transmit the privacy information to the trusted server, so that the trusted server saves a correspondence between the privacy information and the address information.
the encrypting unit is specifically configured to encrypt the file by using a first shared key delivered by the trusted server, to obtain the encrypted file;
the encrypting unit is further configured to encrypt the privacy information by using a second shared key delivered by the trusted server, to obtain encrypted privacy information; and
the uploading unit is further configured to upload the encrypted privacy information to the cloud server.
an obtaining unit, configured to obtain an encrypted file and non-privacy information that are uploaded by a user terminal, where the encrypted file is the encrypted file obtained after the user terminal encrypts a file by using a shared key delivered by a trusted server, and the non-privacy information is the non-privacy information generated by the user terminal according to digest information of the file;
a saving unit, configured to save a correspondence between the encrypted file and the non-privacy information; and
a delivering unit, configured to deliver, to the user terminal, information about an address at which the encrypted file is saved, so that the trusted server saves the address information after the user terminal transmits the address information of the encrypted file to the trusted server.
the encrypted file acquired by the obtaining unit is specifically the encrypted file obtained after the user terminal encrypts the file by using a first shared key delivered by the trusted server; and
the obtaining unit is further configured to obtain encrypted privacy information uploaded by the user terminal, where the encrypted privacy information is the encrypted privacy information obtained after the user terminal encrypts privacy information by using a second shared key delivered by the trusted server, where the privacy information is the privacy information generated by the user terminal according to the digest information of the file.
a delivering unit, configured to deliver a shared key to a user terminal, so that the user terminal uploads, to a cloud server after obtaining an encrypted file by encrypting a file according to the shared key, the encrypted file and non-privacy information that is generated according to digest information of the file;
a receiving unit, configured to receive address information, sent by the user terminal, of the encrypted file, where the address information is information, returned by the cloud server to the user terminal, about an address at which the encrypted file is saved; and
a saving unit, configured to save the address information.
the receiving unit is further configured to receive privacy information that is generated according to the digest information of the file and transmitted by the user terminal; and
the saving unit is further configured to save a correspondence between the privacy information and the address information.
the delivering unit is further configured to deliver a second shared key to the user terminal, so that the user terminal encrypts, according to the second shared key, privacy information that is generated according to the digest information of the file to obtain encrypted privacy information and uploads the encrypted privacy information to the cloud server.
a receiving unit, configured to receive information, sent by a second user terminal, about an address used to save an encrypted file of the second user terminal, where the address information is information, delivered to the second user terminal by the cloud server after the cloud server obtains the encrypted file and non-privacy information that are uploaded by the second user terminal, about an address at which the encrypted file is saved, where the encrypted file is an encrypted file obtained after the second user terminal encrypts a file according to a shared key delivered by a trusted server, and the non-privacy information is generated by the second user terminal according to digest information of the file;
an acquiring unit, configured to acquire, from the cloud server and the trusted server, the non-privacy information, privacy information, and the shared key that correspond to the address information, where the privacy information is generated by the second user terminal according to the digest information of the file;
a retrieving unit, configured to obtain address information of a to-be-accessed file by searching the privacy information and the non-privacy information, where the acquiring unit is further configured to acquire, from the cloud server, a first encrypted file corresponding to the address information of the to-be-accessed file; and
a decrypting unit, configured to decrypt the first encrypted file by using the shared key, to obtain the to-be-accessed file.
a first address sending subunit, configured to send, to the trusted server, the information about the address used to save the encrypted file of the second user terminal; and
a first information receiving subunit, configured to receive the privacy information and the shared key that correspond to the address information and are returned by the trusted server, where
the first address sending subunit is further configured to send, to the cloud server, the information about the address used to save the encrypted file of the second user terminal; and
the first information receiving subunit is further configured to receive the non-privacy information that corresponds to the address information and is returned by the cloud server.
a second address sending subunit, configured to send, to the trusted server, the information about the address used to save the encrypted file of the second user terminal;
a second information receiving subunit, configured to receive a first shared key and a second shared key that correspond to the address information and are returned by the trusted server, where
the second address sending subunit is further configured to send, to the cloud server, the information about the address used to save the encrypted file of the second user terminal; and
the second information receiving subunit is further configured to receive the non-privacy information and encrypted privacy information that correspond to the address information and are returned by the cloud server; and a second information decrypting subunit, configured to decrypt the encrypted privacy information by using the second shared key, to obtain the privacy information, where
the decrypting unit is specifically configured to decrypt the first encrypted file by using the first shared key, to obtain the to-be-accessed file.
an information matching subunit, configured to match privacy information and non-privacy information that correspond to each piece of address information with a retrieval condition;
a result obtaining subunit, configured to obtain, according to a matching result, privacy information and non-privacy information that meet the retrieval condition; and
an address determining subunit, configured to determine address information corresponding to the privacy information and the non-privacy information that meet the retrieval condition as the address information of the to-be-accessed file.
a third address sending subunit, configured to send the address information of the to-be-accessed file to the cloud server; and
a third file receiving subunit, configured to receive the first encrypted file that corresponds to the address information of the to-be-accessed file and is sent by the cloud server after the cloud server queries a saved correspondence between the address information and the encrypted file.
the network interface is configured to form a network connection with a trusted server and a cloud server;
the processor is configured to: generate privacy information and non-privacy information according to digest information of a file; encrypt the file by using a shared key delivered by the trusted server, to obtain an encrypted file; through the network interface, upload the encrypted file and the non-privacy information to the cloud server and receive information, returned by the cloud server, about an address at which the encrypted file is saved; and transmit the address information of the encrypted file to the trusted server through the network interface, so that the trusted server saves the address information; and
the memory is configured to save the address information of the encrypted file.
the processor is further configured to transmit the privacy information to the trusted server through the network interface, so that the trusted server saves a correspondence between the privacy information and the address information.
the processor is further configured to: encrypt the file by using a first shared key delivered by the trusted server, to obtain the encrypted file; and encrypt the privacy information by using a second shared key delivered by the trusted server, to obtain encrypted privacy information; and upload the encrypted privacy information to the cloud server through the network interface.
the network interface is configured to form a network connection with a user terminal;
the processor is configured to obtain, through the network interface, an encrypted file and non-privacy information that are uploaded by the user terminal, where the encrypted file is the encrypted file obtained after the user terminal encrypts a file by using a shared key delivered by a trusted server, and the non-privacy information is the non-privacy information generated by the user terminal according to digest information of the file;
the memory is configured to save a correspondence between the encrypted file and the non-privacy information; and
the processor is further configured to deliver, to the user terminal through the network interface, information about an address at which the encrypted file is saved, so that the trusted server saves the address information after the user terminal transmits the address information of the encrypted file to the trusted server.
the encrypted file obtained by the processor through the network interface and uploaded by the user terminal is specifically the encrypted file obtained after the user terminal encrypts the file by using a first shared key delivered by the trusted server; and
the processor is further configured to obtain, through the network interface, encrypted privacy information uploaded by the user terminal, where the encrypted privacy information is the encrypted privacy information obtained after the user terminal encrypts privacy information by using a second shared key delivered by the trusted server, where the privacy information is the privacy information generated by the user terminal according to the digest information of the file.
the network interface is configured to form a network connection with a user terminal;
the processor is configured to: deliver a shared key to the user terminal through the network interface, so that the user terminal uploads, to a cloud server after obtaining an encrypted file by encrypting a file according to the shared key, the encrypted file and non-privacy information that is generated according to digest information of the file; and receive, through the network interface, address information, sent by the user terminal, of the encrypted file, where the address information is information, returned by the cloud server to the user terminal, about an address at which the encrypted file is saved; and
the memory is configured to save the address information.
the processor is further configured to receive, through the network interface, privacy information generated according to the digest information of the file and transmitted by the user terminal; and
the memory is further configured to save a correspondence between the privacy information and the address information.
the processor is specifically configured to deliver a first shared key to the user terminal through the network interface, so that the user terminal uploads, to the cloud server after obtaining the encrypted file by encrypting the file according to the first shared key, the encrypted file and the non-privacy information that is generated according to the digest information of the file; and
the processor is further configured to deliver a second shared key to the user terminal through the network interface, so that the user terminal encrypts, according to the second shared key, privacy information that is generated according to the digest information of the file to obtain encrypted privacy information and uploads the encrypted privacy information to the cloud server.
the network interface is configured to form a network connection with a second user terminal, a cloud server, and a trusted server; and
the processor is configured to: receive information, sent by the second user terminal, about an address used to save an encrypted file of the second user terminal, where the address information is information, delivered to the second user terminal by the cloud server after the cloud server obtains the encrypted file and non-privacy information that are uploaded by the second user terminal, about an address at which the encrypted file is saved, where the encrypted file is an encrypted file obtained after the second user terminal encrypts a file according to a shared key delivered by the trusted server, and the non-privacy information is generated by the second user terminal according to digest information of the file;
acquire, from the cloud server and the trusted server through the network interface, the non-privacy information, privacy information, and the shared key that correspond to the address information, where the privacy information is generated by the second user terminal according to the digest information of the file; obtain address information of a to-be-accessed file by searching the privacy information and the non-privacy information; acquire, from the cloud server through the network interface, a first encrypted file corresponding to the address information of the to-be-accessed file; and decrypt the first encrypted file by using the shared key, to obtain the to-be-accessed file.
the processor is specifically configured to: through the network interface, send, to the trusted server, the information about the address used to save the encrypted file of the second user terminal, and receive the privacy information and the shared key that correspond to the address information and are returned by the trusted server; and through the network interface, send, to the cloud server, the information about the address used to save the encrypted file of the second user terminal, and receive the non-privacy information that corresponds to the address information and is returned by the cloud server.
the processor is specifically configured to: through the network interface, send, to the trusted server, the information about the address used to save the encrypted file of the second user terminal; receive a first shared key and a second shared key that correspond to the address information and are returned by the trusted server; send, to the cloud server, the information about the address used to save the encrypted file of the second user terminal; receive the non-privacy information and encrypted privacy information that correspond to the address information and are returned by the cloud server; and decrypt the encrypted privacy information by using the second shared key, to obtain the privacy information, and decrypt the first encrypted file by using the first shared key, to obtain the to-be-accessed file.
the processor is specifically configured to: separately match privacy information and non-privacy information that correspond to each piece of address information with a retrieval condition; obtain, according to a matching result, privacy information and non-privacy information that meet the retrieval condition; and determine address information corresponding to the privacy information and the non-privacy information that meet the retrieval condition as the address information of the to-be-accessed file.
the processor is specifically configured to, through the network interface, send the address information of the to-be-accessed file to the cloud server and receive the first encrypted file that corresponds to the address information of the to-be-accessed file and is sent by the cloud server after the cloud server queries a saved correspondence between the address information and the encrypted file.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1A is a flowchart of an information processing method according to one embodiment of the present invention;
FIG. 1B is a flowchart of an information processing method according to another embodiment of the present invention;
FIG. 1C is a flowchart of an information processing method according to still another embodiment of the present invention;
FIG. 2 is a flowchart of an information retrieval method according to one embodiment of the present invention;
FIG. 3 is a flowchart of an information processing method according to yet another embodiment of the present invention;
FIG. 4 is a flowchart of an information retrieval method according to another embodiment of the present invention;
FIG. 5 is a flowchart of an information processing method according to still yet another embodiment of the present invention;
FIG. 6A and FIG. 6B are flowcharts of an information retrieval method according to still another embodiment of the present invention;
FIG. 7 is a block diagram of an information processing apparatus according to one embodiment of the present invention;
FIG. 8 is a block diagram of an information processing apparatus according to another embodiment of the present invention;
FIG. 9 is a block diagram of an information processing apparatus according to still another embodiment of the present invention;
FIG. 10 is a block diagram of an information retrieval apparatus according to one embodiment of the present invention;
FIG. 11 is a block diagram of a user terminal according to one embodiment of the present invention;
FIG. 12 is a block diagram of a cloud server according to an embodiment of the present invention;
FIG. 13 is a block diagram of a trusted server according to an embodiment of the present invention; and
FIG. 14 is a block diagram of a user terminal according to another embodiment of the present invention.
DESCRIPTION OF EMBODIMENTS
Step 101: A user terminal generates privacy information and non-privacy information according to digest information of a file.
Step 102: The user terminal encrypts the file by using a shared key delivered by a trusted server, to obtain an encrypted file.
Step 103: The user terminal uploads the encrypted file and the non-privacy information to a cloud server.
Step 104: The user terminal receives information, returned by the cloud server, about an address at which the encrypted file is saved.
Step 105: The user terminal transmits the address information of the encrypted file to the trusted server, so that the trusted server saves the address information of the encrypted file.
Step 110: A cloud server obtains an encrypted file and non-privacy information that are uploaded by a user terminal.
Step 111: The cloud server saves a correspondence between the encrypted file and the non-privacy information.
Step 112: The cloud server delivers, to the user terminal, information about an address at which the encrypted file is saved, so that the trusted server saves the address information after the user terminal transmits the address information of the encrypted file to the trusted server. In one specific implementation manner, the encrypted file may specifically be an encrypted file obtained after the user terminal encrypts the file by using a first shared key delivered by the trusted server. While obtaining the encrypted file and the non-privacy information that are uploaded by the user terminal, the cloud server may obtain encrypted privacy information uploaded by the user terminal. The encrypted privacy information may be encrypted privacy information obtained after the user terminal encrypts privacy information by using a second shared key delivered by the trusted server, where the privacy information is privacy information generated by the user terminal according to the digest information of the file. The first shared key and the second shared key may be the same or may be different, which is not limited in this embodiment of the present invention.
Step 120: A trusted server delivers a shared key to a user terminal, so that the user terminal uploads, to a cloud server after obtaining an encrypted file by encrypting a file according to the shared key, the encrypted file and non-privacy information that is generated according to digest information of the file.
Step 121: The trusted server receives address information, sent by the user terminal, of the encrypted file, where the address information is information, returned by the cloud server to the user terminal, about an address at which the encrypted file is saved.
Step 122: The trusted server saves the address information.
Step 201: A first user terminal receives information, sent by a second user terminal, about an address used to save an encrypted file of the second user terminal, where the address information is information, delivered to the second user terminal by a cloud server after the cloud server obtains the encrypted file and non-privacy information that are uploaded by the second user terminal, about an address at which the encrypted file is saved, where the encrypted file is an encrypted file obtained after a user terminal encrypts a file according to a shared key delivered by a trusted server, and the non-privacy information is generated by the second user terminal according to digest information of the file.
Step 202: The first user terminal acquires, from the cloud server and the trusted server, privacy information, the non-privacy information, and the shared key that correspond to the address information, where the privacy information is generated by the second user terminal according to the digest information of the file.
Step 203: The first user terminal obtains address information of a to-be-accessed file by searching the privacy information and the non-privacy information.
Step 204: The first user terminal acquires, from the cloud server, a first encrypted file corresponding to the address information of the to-be-accessed file.
Step 205: The first user terminal decrypts the first encrypted file by using the shared key, to obtain the to-be-accessed file.
Step 301: A user terminal of user A sends a key request message to a trusted server.
Step 302: The trusted server returns a shared key to the user terminal according to the key request message.
Step 303: The user terminal extracts, from a to-be-uploaded file, digest information of the file and divides the digest information into privacy information and non-privacy information. Step 304: The user terminal encrypts the to-be-uploaded file by using the shared key, to obtain an encrypted file.
Step 305: The user terminal uploads the encrypted file and the non-privacy information of the file to a cloud server.
Step 306: The cloud server saves a correspondence among the received encrypted file, non-privacy information, and a user identifier.
Step 307: The cloud server returns, to the user terminal of user A, a URL at which the encrypted file is saved.
Step 308: The user terminal transmits the URL at which the encrypted file is saved and the privacy information to the trusted server.
Step 309: The trusted server saves a correspondence among the received URL, privacy information, and user identifier A.
Step 401: Unauthorized user B sends an information retrieval request to a cloud server by using a user terminal.
Step 402: The cloud server queries saved non-privacy information of users according to the information retrieval request.
Step 403: The cloud server returns non-privacy information meeting the information retrieval request to the user terminal of user B.
Step 404: A user terminal of user A sends an authorization grant message to a trusted server, where the authorization grant message grants user C permission to access an encrypted file, stored in a cloud server, of user A.
Step 405: The user terminal of user A sends a URL of the encrypted file to a user terminal of user C.
Step 406: The user terminal of user C completes identity authentication with the trusted server by using a certificate of user C.
Step 407: The user terminal of user C sends, to the trusted server, the URL at which the encrypted file is saved.
Step 408: The trusted server queries a saved correspondence according to the received URL to obtain privacy information and a shared key that correspond to the URL.
Step 409: The trusted server returns, to the user terminal of user C, the privacy information and the shared key that correspond to the URL.
Step 410: The user terminal of user C sends, to the cloud server, the URL at which the encrypted file is saved.
Step 411: The cloud server queries a saved correspondence according to the received URL to obtain non-privacy information corresponding to the URL.
Step 412: The cloud server returns, to the user terminal of user C, the non-privacy information corresponding to the URL.
Step 413: The user terminal of user C searches the privacy information and the non-privacy information to obtain a URL corresponding to privacy information and non-privacy information that meet a retrieval condition.
Step 414: The user terminal of user C sends the obtained URL to the cloud server.
Step 415: The cloud server queries a correspondence according to the received URL to obtain an encrypted file corresponding to the URL.
Step 416: The cloud server returns the found encrypted file to the user terminal of user C. Step 417: The user terminal of user C decrypts the encrypted file according to the shared key of the encrypted file.
Step 501: A user terminal of user A sends a key request message to a trusted server.
Step 502: The trusted server returns shared key 1 and shared key 2 to the user terminal according to the key request message.
Step 503: The user terminal of user A extracts, from a to-be-uploaded file, digest information of the file and divides the digest information into privacy information and non-privacy information.
Step 504: The user terminal of user A encrypts, by using shared key 1, the to-be-uploaded file to obtain an encrypted file, and encrypts, by using shared key 2, the privacy information to obtain encrypted privacy information.
Step 505: The user terminal of user A uploads the encrypted file, the encrypted privacy information, and the non-privacy information to a cloud server.
Step 506: The cloud server saves a correspondence among the received encrypted file, encrypted privacy information, and non-privacy information and user identifier A.
Step 507: The cloud server returns, to the user terminal of user A, a URL at which the encrypted file is saved.
Step 508: The user terminal transmits the URL of the encrypted file to the trusted server.
Step 509: The trusted server saves a correspondence between the received URL and user identifier A.
Step 601: Unauthorized user B sends an information retrieval request to a cloud server by using a user terminal.
Step 602: The cloud server queries saved non-privacy information of users according to the information retrieval request.
Step 603: The cloud server returns non-privacy information meeting the information retrieval request to the user terminal of user B.
Step 604: A user terminal of user A sends an authorization grant message to a trusted server, where the authorization grant message grants user C permission to access an encrypted file, stored in a cloud server, of user A.
Step 605: The user terminal of user A sends a URL of the encrypted file to a user terminal of user C.
Step 606: The user terminal of user C completes identity authentication with the trusted server by using a certificate of user C.
Step 607: The user terminal of user C sends, to the trusted server, the URL at which the encrypted file is saved.
Step 608: The trusted server queries a saved correspondence according to the received URL to obtain shared key 1 and shared key 2 that correspond to the URL.
Step 609: The trusted server returns, to the user terminal of user C, shared key 1 and shared key 2 that correspond to the URL.
Step 610: The user terminal of user C sends, to the cloud server, the URL at which the encrypted file is saved.
Step 611: The cloud server queries a saved correspondence according to the received URL to obtain non-privacy information and encrypted privacy information that correspond to the URL.
Step 612: The cloud server returns, to the user terminal of user C, the non-privacy information and the encrypted privacy information that correspond to the URL.
Step 613: The user terminal of user C decrypts the encrypted privacy information by using shared key 2, to obtain privacy information.
Step 614: The user terminal of user C searches the privacy information and the non-privacy information to obtain a URL corresponding to privacy information and non-privacy information that meet a retrieval condition.
Step 615: The user terminal of user C sends the obtained URL to the cloud server.
Step 616: The cloud server queries a correspondence according to the received URL to obtain an encrypted file corresponding to the URL.
Step 617: The cloud server returns the found encrypted file to the user terminal of user C. Step 618: The user terminal of user C decrypts the encrypted file according to shared key 1 of the encrypted file.
the generating unit 710 is configured to generate privacy information and non-privacy information according to digest information of a file;
the encrypting unit 720 is configured to encrypt the file by using a shared key delivered by a trusted server, to obtain an encrypted file;
the uploading unit 730 is configured to upload the encrypted file and the non-privacy information to a cloud server;
the receiving unit 740 is configured to receive information, returned by the cloud server, about an address at which the encrypted file is saved; and
the transmitting unit 750 is configured to transmit the address information of the encrypted file to the trusted server, so that the trusted server saves the address information.
the transmitting unit 750 is further configured to transmit the privacy information to the trusted server, so that the trusted server saves a correspondence between the privacy information and the address information.
the encrypting unit 720 is specifically configured to encrypt the file by using a first shared key delivered by the trusted server, to obtain the encrypted file;
the encrypting unit 720 is further configured to encrypt the privacy information by using a second shared key delivered by the trusted server, to obtain encrypted privacy information; and
the uploading unit 730 is further configured to upload the encrypted privacy information to the cloud server.
the obtaining unit 810 is configured to obtain an encrypted file and non-privacy information that are uploaded by a user terminal, where the encrypted file is an encrypted file obtained after the user terminal encrypts a file by using a shared key delivered by a trusted server, and the non-privacy information is non-privacy information generated by the user terminal according to digest information of the file;
the saving unit 820 is configured to save a correspondence between the encrypted file and the non-privacy information; and
the delivering unit 830 is configured to deliver, to the user terminal, information about an address at which the encrypted file is saved, so that the trusted server saves the address information after the user terminal transmits the address information of the encrypted file to the trusted server.
the encrypted file acquired by the obtaining unit 810 is specifically an encrypted file obtained after the user terminal encrypts the file by using a first shared key delivered by the trusted server; and
the obtaining unit 810 is further configured to obtain encrypted privacy information uploaded by the user terminal, where the encrypted privacy information is encrypted privacy information obtained after the user terminal encrypts privacy information by using a second shared key delivered by the trusted server, where the privacy information is privacy information generated by the user terminal according to the digest information of the file.
the delivering unit 910 is configured to deliver a shared key to a user terminal, so that the user terminal uploads, to a cloud server after obtaining an encrypted file by encrypting a file according to the shared key, the encrypted file and non-privacy information that is generated according to digest information of the file;
the receiving unit 920 is configured to receive address information, sent by the user terminal, of the encrypted file, where the address information is information, returned by the cloud server to the user terminal, about an address at which the encrypted file is saved; and
the saving unit 930 is configured to save the address information.
the receiving unit 920 may be further configured to receive privacy information that is generated according to the digest information of the file and transmitted by the user terminal; and
the saving unit 930 may be further configured to save a correspondence between the privacy information and the address information.
the delivering unit 910 may be specifically configured to deliver a first shared key to the user terminal, so that the user terminal uploads, to the cloud server after obtaining the encrypted file by encrypting the file according to the first shared key, the encrypted file and the non-privacy information that is generated according to the digest information of the file; and
the delivering unit 910 may be further configured to deliver a second shared key to the user terminal, so that the user terminal encrypts, according to the second shared key, privacy information that is generated according to the digest information of the file to obtain encrypted privacy information and uploads the encrypted privacy information to the cloud server.
the receiving unit 1010 is configured to receive information, sent by a second user terminal, about an address used to save an encrypted file of the second user terminal, where the address information is information, delivered to the second user terminal by the cloud server after the cloud server obtains the encrypted file and non-privacy information that are uploaded by the second user terminal, about an address at which the encrypted file is saved, where the encrypted file is an encrypted file obtained after the second user terminal encrypts a file according to a shared key delivered by a trusted server, and the non-privacy information is generated by the second user terminal according to digest information of the file;
the acquiring unit 1020 is configured to acquire, from the cloud server and the trusted server, the non-privacy information, privacy information, and the shared key that correspond to the address information, where the privacy information is generated by the second user terminal according to the digest information of the file;
the retrieving unit 1030 is configured to obtain address information of a to-be-accessed file by searching the privacy information and the non-privacy information;
the acquiring unit 1020 is further configured to acquire, from the cloud server, a first encrypted file corresponding to the address information of the to-be-accessed file; and
the decrypting unit 1040 is configured to decrypt the first encrypted file by using the shared key, to obtain the to-be-accessed file.
the acquiring unit 1020 may include (not shown in FIG. 10):
a first address sending subunit, configured to send, to the trusted server, the information about the address used to save the encrypted file of the second user terminal; and
a first information receiving subunit, configured to receive the privacy information and the shared key that correspond to the address information and are returned by the trusted server, where
the first address sending subunit is further configured to send, to the cloud server, the information about the address used to save the encrypted file of the second user terminal; and
the first information receiving subunit is further configured to receive the non-privacy information that corresponds to the address information and is returned by the cloud server.
a second address sending subunit, configured to send, to the trusted server, the information about the address used to save the encrypted file of the second user terminal;
a second information receiving subunit, configured to receive a first shared key and a second shared key that correspond to the address information and are returned by the trusted server, where
the second address sending subunit is further configured to send, to the cloud server, the information about the address used to save the encrypted file of the second user terminal; and
the second information receiving subunit is further configured to receive the non-privacy information and encrypted privacy information that correspond to the address information and are returned by the cloud server; and
a second information decrypting subunit, configured to decrypt the encrypted privacy information by using the second shared key, to obtain the privacy information, where
the decrypting unit 1040 may be specifically configured to decrypt the first encrypted file by using the first shared key, to obtain the to-be-accessed file.
a third address sending subunit, configured to send the address information of the to-be-accessed file to the cloud server; and
a third file receiving subunit, configured to receive the first encrypted file that corresponds to the address information of the to-be-accessed file and is sent by the cloud server after the cloud server queries a saved correspondence between the address information and the encrypted file.
an information matching subunit, configured to match privacy information and non-privacy information that correspond to each piece of address information with a retrieval condition;
a result obtaining subunit, configured to obtain, according to a matching result, privacy information and non-privacy information that meet the retrieval condition; and
an address determining subunit, configured to determine address information corresponding to the privacy information and the non-privacy information that meet the retrieval condition as the address information of the to-be-accessed file.
the network interface 1120 is configured to form a network connection with a trusted server and a cloud server;
the processor 1130 is configured to: generate privacy information and non-privacy information according to digest information of a file; encrypt the file by using a shared key delivered by the trusted server, to obtain an encrypted file; through the network interface 1120, upload the encrypted file and the non-privacy information to the cloud server and receive information, returned by the cloud server, about an address at which the encrypted file is saved; and transmit the address information of the encrypted file to the trusted server through the network interface 1120, so that the trusted server saves the address information of the encrypted file; and
the memory 1140 is configured to save the address information of the encrypted file.
the network interface 1220 is configured to form a network connection with a user terminal;
the processor 1230 is configured to obtain, through the network interface 1220, an encrypted file and non-privacy information that are uploaded by the user terminal, where the encrypted file is an encrypted file obtained after the user terminal encrypts a file by using a shared key delivered by a trusted server, and the non-privacy information is non-privacy information generated by the user terminal according to digest information of the file;
the memory 1240 is configured to save a correspondence between the encrypted file and the non-privacy information; and
the processor 1230 is further configured to deliver, to the user terminal through the network interface 1220, information about an address at which the encrypted file is saved, so that the trusted server saves the address information after the user terminal transmits the address information of the encrypted file to the trusted server.
the encrypted file obtained by the processor 1230 through the network interface and uploaded by the user terminal is specifically an encrypted file obtained after the user terminal encrypts the file by using a first shared key delivered by the trusted server; and
the processor 1230 may be further configured to obtain, while obtaining, through the network interface, the encrypted file and the non-privacy information that are uploaded by the user terminal, encrypted privacy information uploaded by the user terminal, where the encrypted privacy information is encrypted privacy information obtained after the user terminal encrypts privacy information by using a second shared key delivered by the trusted server, where the privacy information is privacy information generated by the user terminal according to the digest information of the file.
the network interface 1320 is configured to form a network connection with a user terminal;
the processor 1330 is configured: to deliver a shared key to the user terminal through the network interface 1320, so that the user terminal uploads, to a cloud server after obtaining an encrypted file by encrypting a file according to the shared key, the encrypted file and non-privacy information that is generated according to digest information of the file; and receive, through the network interface 1320, address information, sent by the user terminal, of the encrypted file, where the address information is information, returned by the cloud server to the user terminal, about an address at which the encrypted file is saved; and
the memory 1340 is configured to save the address information.
the processor 1330 may be further configured to receive, through the network interface 1320, privacy information generated according to the digest information of the file and transmitted by the user terminal; and
the memory 1340 may be further configured to save a correspondence between the privacy information and the address information.
the processor 1330 may be specifically configured to deliver a first shared key to the user terminal through the network interface 1320, so that the user terminal uploads, to the cloud server after obtaining the encrypted file by encrypting the file according to the first shared key, the encrypted file and the non-privacy information that is generated according to the digest information of the file; and
the processor 1330 may be further configured to deliver a second shared key to the user terminal through the network interface 1320, so that the user terminal encrypts, according to the second shared key, privacy information that is generated according to the digest information of the file to obtain encrypted privacy information and uploads the encrypted privacy information to the cloud server.
the network interface 1420 is configured to form a network connection with a second user terminal, a cloud server, and a trusted server; and
the processor 1430 is configured to: receive information, sent by the second user terminal, about an address used to save an encrypted file of the second user terminal, where the address information is information, delivered to the second user terminal by the cloud server after the cloud server obtains the encrypted file and non-privacy information that are uploaded by the second user terminal, about an address at which the encrypted file is saved, where the encrypted file is an encrypted file obtained after the second user terminal encrypts a file according to a shared key delivered by the trusted server, and the non-privacy information is generated by the second user terminal according to digest information of the file; acquire, from the cloud server and the trusted server through the network interface 1420, the non-privacy information, privacy information, and the shared key that correspond to the address information, where the privacy information is generated by the second user terminal according to the digest information of the file; obtain address information of a to-be-accessed file by searching the privacy information and the non-privacy information; acquire, from the cloud server through the network interface 1420, a first encrypted file corresponding to the address information of the to-be-accessed file; and decrypt the first encrypted file by using the shared key, to obtain the to-be-accessed file.
generating privacy information and non-privacy information according to digest information of a file;
encrypting the file by using a shared key delivered by a trusted server, to obtain an encrypted file;
uploading the encrypted file and the non-privacy information to a cloud server;
receiving information, returned by the cloud server, about an address at which the encrypted file is saved; and
transmitting the address information of the encrypted file to the trusted server, so that the trusted server saves the address information.
transmitting the privacy information to the trusted server, so that the trusted server saves a correspondence between the privacy information and the address information.
obtaining an encrypted file and non-privacy information that are uploaded by a user terminal, wherein the encrypted file is the encrypted file obtained after the user terminal encrypts a file by using a shared key delivered by a trusted server, and the non-privacy information is the non-privacy information generated by the user terminal according to digest information of the file;
saving a correspondence between the encrypted file and the non-privacy information; and
delivering, to the user terminal, information about an address at which the encrypted file is saved, so that the trusted server saves the address information after the user terminal transmits the address information of the encrypted file to the trusted server.
obtaining encrypted privacy information uploaded by the user terminal, wherein the encrypted privacy information is the encrypted privacy information obtained after the user terminal encrypts privacy information by using a second shared key delivered by the trusted server, wherein the privacy information is the privacy information generated by the user terminal according to the digest information of the file.
delivering a shared key to a user terminal, so that the user terminal uploads, to a cloud server after obtaining an encrypted file by encrypting a file according to the shared key, the encrypted file and non-privacy information that is generated according to digest information of the file;
receiving address information, sent by the user terminal, of the encrypted file, wherein the address information is information, returned by the cloud server to the user terminal, about an address at which the encrypted file is saved; and
saving the address information.
receiving privacy information generated according to the digest information of the file and transmitted by the user terminal; and
saving a correspondence between the privacy information and the address information.
receiving, by a first user terminal, information, sent by a second user terminal, about an address used to save an encrypted file of the second user terminal, wherein the address information is information, delivered to the second user terminal by the cloud server after the cloud server obtains the encrypted file and non-privacy information that are uploaded by the second user terminal, about an address at which the encrypted file is saved, wherein the encrypted file is an encrypted file obtained after the second user terminal encrypts a file according to a shared key delivered by a trusted server, and the non-privacy information is generated by the second user terminal according to digest information of the file;
acquiring, from the cloud server and the trusted server by the first user terminal, the non-privacy information, privacy information, and the shared key that correspond to the address information, wherein the privacy information is generated by the second user terminal according to the digest information of the file;
obtaining, by the first user terminal, address information of a to-be-accessed file by searching the privacy information and the non-privacy information;
acquiring, from the cloud server by the first user terminal, a first encrypted file corresponding to the address information of the to-be-accessed file; and
decrypting, by the first user terminal, the first encrypted file by using the shared key, to obtain the to-be-accessed file.
sending, to the trusted server by the first user terminal, the information about the address used to save the encrypted file of the second user terminal;
receiving, by the first user terminal, the privacy information and the shared key that correspond to the address information and are returned by the trusted server;
sending, to the cloud server by the first user terminal, the information about the address used to save the encrypted file of the second user terminal; and
receiving, by the first user terminal, the non-privacy information that corresponds to the address information and is returned by the cloud server.
sending, to the trusted server by the first user terminal, the information about the address used to save the encrypted file of the second user terminal;
receiving, by the first user terminal, a first shared key and a second shared key that correspond to the address information and are returned by the trusted server;
sending, to the cloud server by the first user terminal, the information about the address used to save the encrypted file of the second user terminal;
receiving, by the first user terminal, the non-privacy information and encrypted privacy information that correspond to the address information and are returned by the cloud server; and
decrypting, by the first user terminal, the encrypted privacy information by using the second shared key, to obtain the privacy information; and
the decrypting, by the first user terminal, the first encrypted file by using the shared key, to obtain the to-be-accessed file is specifically: decrypting, by the first user terminal, the first encrypted file by using the first shared key, to obtain the to-be-accessed file.
matching, by the first user terminal, privacy information and non-privacy information that correspond to each piece of address information with a retrieval condition;
obtaining, according to a matching result by the first user terminal, privacy information and non-privacy information that meet the retrieval condition; and
determining, by the first user terminal, address information corresponding to the privacy information and the non-privacy information that meet the retrieval condition as the address information of the to-be-accessed file.
sending, by the first user terminal, the address information of the to-be-accessed file to the cloud server; and
receiving, by the first user terminal, the first encrypted file that corresponds to the address information of the to-be-accessed file and is sent by the cloud server after the cloud server queries a saved correspondence between the address information and the encrypted file.
a generating unit, configured to generate privacy information and non-privacy information according to digest information of a file;
an encrypting unit, configured to encrypt the file by using a shared key delivered by a trusted server, to obtain an encrypted file;
an uploading unit, configured to upload the encrypted file and the non-privacy information to a cloud server;
a receiving unit, configured to receive information, returned by the cloud server, about an address at which the encrypted file is saved; and
a transmitting unit, configured to transmit the address information of the encrypted file to the trusted server, so that the trusted server saves the address information.
the transmitting unit is further configured to transmit the privacy information to the trusted server, so that the trusted server saves a correspondence between the privacy information and the address information.
the encrypting unit is specifically configured to encrypt the file by using a first shared key delivered by the trusted server, to obtain the encrypted file;
the encrypting unit is further configured to encrypt the privacy information by using a second shared key delivered by the trusted server, to obtain encrypted privacy information; and
the uploading unit is further configured to upload the encrypted privacy information to the cloud server.
an obtaining unit, configured to obtain an encrypted file and non-privacy information that are uploaded by a user terminal, wherein the encrypted file is the encrypted file obtained after the user terminal encrypts a file by using a shared key delivered by a trusted server, and the non-privacy information is the non-privacy information generated by the user terminal according to digest information of the file;
a saving unit, configured to save a correspondence between the encrypted file and the non-privacy information; and
a delivering unit, configured to deliver, to the user terminal, information about an address at which the encrypted file is saved, so that the trusted server saves the address information after the user terminal transmits the address information of the encrypted file to the trusted server.
a delivering unit, configured to deliver a shared key to a user terminal, so that the user terminal uploads, to a cloud server after obtaining an encrypted file by encrypting a file according to the shared key, the encrypted file and non-privacy information that is generated according to digest information of the file;
a receiving unit, configured to receive address information, sent by the user terminal, of the encrypted file, wherein the address information is information, returned by the cloud server to the user terminal, about an address at which the encrypted file is saved; and
a saving unit, configured to save the address information.
the receiving unit is further configured to receive privacy information that is generated according to the digest information of the file and transmitted by the user terminal; and
the saving unit is further configured to save a correspondence between the privacy information and the address information.
the delivering unit is specifically configured to deliver a first shared key to the user terminal, so that the user terminal uploads, to the cloud server after obtaining the encrypted file by encrypting the file according to the first shared key, the encrypted file and the non-privacy information that is generated according to the digest information of the file; and
the delivering unit is further configured to deliver a second shared key to the user terminal, so that the user terminal encrypts, according to the second shared key, privacy information that is generated according to the digest information of the file to obtain encrypted privacy information and uploads the encrypted privacy information to the cloud server.
a receiving unit, configured to receive information, sent by a second user terminal, about an address used to save an encrypted file of the second user terminal, wherein the address information is information, delivered to the second user terminal by the cloud server after the cloud server obtains the encrypted file and non-privacy information that are uploaded by the second user terminal, about an address at which the encrypted file is saved, wherein the encrypted file is an encrypted file obtained after the second user terminal encrypts a file according to a shared key delivered by a trusted server, and the non-privacy information is generated by the second user terminal according to digest information of the file;
an acquiring unit, configured to acquire, from the cloud server and the trusted server, the non-privacy information, privacy information, and the shared key that correspond to the address information, wherein the privacy information is generated by the second user terminal according to the digest information of the file;
a retrieving unit, configured to obtain address information of a to-be-accessed file by searching the privacy information and the non-privacy information, wherein
the acquiring unit is further configured to acquire, from the cloud server, a first encrypted file corresponding to the address information of the to-be-accessed file; and
a decrypting unit, configured to decrypt the first encrypted file by using the shared key, to obtain the to-be-accessed file.
a first address sending subunit, configured to send, to the trusted server, the information about the address used to save the encrypted file of the second user terminal; and
a first information receiving subunit, configured to receive the privacy information and the shared key that correspond to the address information and are returned by the trusted server, wherein
the first address sending subunit is further configured to send, to the cloud server, the information about the address used to save the encrypted file of the second user terminal; and
the first information receiving subunit is further configured to receive the non-privacy information that corresponds to the address information and is returned by the cloud server.
a second address sending subunit, configured to send, to the trusted server, the information about the address used to save the encrypted file of the second user terminal;
a second information receiving subunit, configured to receive a first shared key and a second shared key that correspond to the address information and are returned by the trusted server, wherein
the second address sending subunit is further configured to send, to the cloud server, the information about the address used to save the encrypted file of the second user terminal; and
the second information receiving subunit is further configured to receive the non-privacy information and encrypted privacy information that correspond to the address information and are returned by the cloud server; and
a second information decrypting subunit, configured to decrypt the encrypted privacy information by using the second shared key, to obtain the privacy information, wherein
the decrypting unit is specifically configured to decrypt the first encrypted file by using the first shared key, to obtain the to-be-accessed file.
an information matching subunit, configured to match privacy information and non-privacy information that correspond to each piece of address information with a retrieval condition;
a result obtaining subunit, configured to obtain, according to a matching result, privacy information and non-privacy information that meet the retrieval condition; and
an address determining subunit, configured to determine address information corresponding to the privacy information and the non-privacy information that meet the retrieval condition as the address information of the to-be-accessed file.
a third address sending subunit, configured to send the address information of the to-be-accessed file to the cloud server; and
a third file receiving subunit, configured to receive the first encrypted file that corresponds to the address information of the to-be-accessed file and is sent by the cloud server after the cloud server queries a saved correspondence between the address information and the encrypted file.
REFERENCES CITED IN THE DESCRIPTION
Patent documents cited in the description