Crypto proxy for cloud storage services
First Claim
Patent Images
1. A computer implemented method comprising:
- receiving, by a proxy from a first client node, a file to be stored by a cloud storage server, the proxy and the client node being part of a private network that does not include the cloud storage server;
retrieving, by the proxy, an encryption key associated with a user of a client node;
encrypting, by the proxy, the file using the encryption key;
transmitting, by the proxy, the encrypted file to the cloud storage server;
generating, by the proxy, a public link for accessing the file, wherein the public link includes a unique identifier for the file and points to an address of the proxy, and wherein the public link is provided by the first user of the first client node to a second user of a second client node;
receiving, by the proxy from said second client node, a request to access the file, the request being initiated via the public link;
verifying, by the proxy upon receiving the request, that the public link was previously generated by the proxy; and
in response to the verifying, if a copy of the file is not locally available on the proxy;
retrieving, by the proxy, the encrypted file from the cloud storage server;
retrieving, by the proxy, a decryption key associated with the first user;
decrypting, by the proxy, the encrypted file using the decryption key; and
transmitting, by the proxy, the decrypted file to said second client node.
4 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a proxy receives, from a client node, a file to be stored by a cloud storage server, where the proxy and the client node are part of a private network that does not include the cloud storage server. The proxy retrieves an encryption key associated with a user of the client node and encrypts the file using the encryption key. The proxy then transmits the encrypted file to the cloud storage server.
17 Citations
21 Claims
-
1. A computer implemented method comprising:
-
receiving, by a proxy from a first client node, a file to be stored by a cloud storage server, the proxy and the client node being part of a private network that does not include the cloud storage server; retrieving, by the proxy, an encryption key associated with a user of a client node; encrypting, by the proxy, the file using the encryption key; transmitting, by the proxy, the encrypted file to the cloud storage server; generating, by the proxy, a public link for accessing the file, wherein the public link includes a unique identifier for the file and points to an address of the proxy, and wherein the public link is provided by the first user of the first client node to a second user of a second client node; receiving, by the proxy from said second client node, a request to access the file, the request being initiated via the public link; verifying, by the proxy upon receiving the request, that the public link was previously generated by the proxy; and in response to the verifying, if a copy of the file is not locally available on the proxy; retrieving, by the proxy, the encrypted file from the cloud storage server; retrieving, by the proxy, a decryption key associated with the first user; decrypting, by the proxy, the encrypted file using the decryption key; and transmitting, by the proxy, the decrypted file to said second client node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory machine readable storage medium embodying computer software, the computer software causing a proxy to perform a method, the method comprising:
-
receiving, from a first client node, a file to be stored by a cloud storage server, the proxy and the client node being part of a private network that does not include the cloud storage server; retrieving an encryption key associated with a user of the client node; encrypting the file using the encryption key; transmitting the encrypted file to the cloud storage server; generating a public link for accessing the file, wherein the public link includes a unique identifier for the file and points to an address of the proxy, and wherein the public link is provided by the first user of the first client node to a second user of a second client node; receiving from said second client node, a request to access the file, the request being initiated via the public link; verifying upon receiving the request, that the public link was previously generated by the proxy; in response to the verifying, if a copy of the file is not locally available on the proxy; retrieving the encrypted file from the cloud storage server; retrieving a decryption key associated with the first user; decrypting the encrypted file using the decryption key; and transmitting the decrypted file to said second client node. - View Dependent Claims (15, 16, 17)
-
-
18. A Proxy comprising:
-
a memory; and one or more processors configured to; receive from a first client node, a file to be stored by a cloud storage server, the apparatus and the client node being part of a private network that does not include the cloud storage server; retrieve an encryption key associated with a user of the client node; encrypt the file using the encryption key; transmit the encrypted file to the cloud storage server; generate a public link for accessing the file, wherein the public link includes a unique identifier for the file and points to an address of the proxy, and wherein the public link is provided by the first user of the first client node to a second user of a second client node; receive from said second client node, a request to access the file, the request being initiated via the public link; verify upon receiving the request, that the public link was previously generated by the proxy; and in response to the verifying, if a copy of the file is not locally available on the apparatus; retrieve the encrypted file from the cloud storage server; retrieve a decryption key associated with the first user; decrypt the encrypted file using the decryption key; and transmit the file to said second client node. - View Dependent Claims (19, 20, 21)
-
Specification