The present disclosure relates generally to a method for sharing encrypted data stored in a cloud-based storage system.
The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
In cloud computing, a cloud may be a computer server or a collection of computer servers that provide file storage services. Typically, a user obtains cloud file storage services from a third party that owns and operates the cloud. Third party cloud storage may be desirable because it frees the user from having to maintain file storage servers. A user may store files on and retrieve files from the cloud through a computer network such as, for example, the Internet. Various cloud-based storage services typically use shared key solutions to enable file sharing and other access functionality through the cloud. However, these solutions, which implement public key infrastructure, have several disadvantages including complex infrastructure maintenance that generally involves a high level of technical competency.
In one embodiment, the present disclosure provides a method for sharing an encrypted file stored in a cloud server, the method comprising: generating a file key associated with the encrypted file stored in the cloud server; encrypting the file key using a symmetric key to generate a share key; storing the share key in the cloud server; retrieving the encrypted file and the share key from the cloud server; decrypting the share key using the symmetric key to reconstruct the file key; and using the reconstructed file key to decrypt the encrypted file.
In another embodiment, the present disclosure provides a method for sharing an encrypted file stored in a cloud server, the method comprising: generating a file key associated with the encrypted file stored in the cloud server; encrypting the file key using a public key of an asymmetric key pair to generate a share key; storing the share key in the cloud server; retrieving the encrypted file and the share key from the cloud server; decrypting the share key using a private key of the asymmetric key pair to reconstruct the file key; and using the reconstructed file key to decrypt the encrypted file.
In yet another embodiment, the present disclosure provides a method for sharing an encrypted file stored in a cloud server, the method comprising: generating a file key associated with the encrypted file stored in the cloud server; generating a share message, the share message including the generated file key and identifying at least a recipient user and the encrypted file stored in the cloud server; encrypting the file key using an identification key of the recipient user, which can be either a symmetric key of the recipient user or the public key of a public/private asymmetric key pair of the recipient user, to generate a share key; storing the share key in the cloud server; notifying the recipient user of at least one of the encrypted file and shared key stored in the cloud server; retrieving the encrypted file and the share key from the cloud server; decrypting the share key using the identification key of the recipient user, which is either the symmetric key of the recipient user or the private key of the public/private asymmetric key pair of the recipient user, to reconstruct the file key; and using the reconstructed file key to decrypt the encrypted file.
Further embodiments and apparatuses, including other areas of applicability, will become apparent from the description provided herein. It should be understood that the description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure in any manner.
For a more complete understanding of various embodiments of the present invention and the advantages thereof, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts, and in which:
In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the present disclosure. However, those skilled in the art will appreciate that the present disclosure may be practiced, in some instances, without such specific details. In other instances, well-known elements have been illustrated in schematic or block diagram form in order not to obscure the present disclosure in unnecessary detail. Additionally, for the most part, specific details, and the like, have been omitted inasmuch as such details are not considered necessary to obtain a complete understanding of the present disclosure, and are considered to be within the understanding of persons of ordinary skill in the relevant art.
It is further noted that, unless indicated otherwise, all functions described herein may be performed in hardware or as software instructions for enabling a computer to perform predetermined operations, where the software instructions are embodied on a computer readable storage medium, such as RAM, a hard drive, flash memory or other type of computer readable storage medium known to a person of ordinary skill in the art. In certain embodiments, the predetermined operations of the computer are performed by a processor such as a computer or an electronic data processor in accordance with code such as computer program code, software, firmware, and, in some embodiments, integrated circuitry that is coded to perform such functions. Furthermore, it should be understood that various operations described herein as being performed by a user may be operations manually performed by the user, or may be automated processes performed either with or without instruction provided by the user.
Referring now to
The first user node 102 provides a user interface, whereby a first user 102A may interact with various components of the system 100 via a first user device 116 such as, for example, a computer, mobile device, smart phone, or any other device capable of interfacing with the system 100. The second user node 104 provides a user interface, whereby a second user 104A may interact with various components of the system 100 via a second user device 118 such as, for example, a computer, mobile device, smart phone, or any other device capable of interfacing with the system 100.
In some embodiments, each user having access to the system 100 has a unique user identifier (e.g., email address, user name, user identification number, etc.) and private identification key. For example, as shown in
The network server 106 includes a computer processor 120 and database 122, for interfacing with the system 100, performing various tasks, and storing information such as a listing 122A of user identifiers and a listing 122B of corresponding private identification keys. It should be appreciated that, although the network server 106 of
The system 100 also includes a cloud server 108 capable of providing a network storage system for storing data. The data stored on the cloud server 108 is typically encrypted, and may be accessed by system users (e.g., the first user 102A and second user 104A) having proper credentials and access rights. The first user node 102, second user node 104, network server 106 and cloud server 108 operate over a network such as, for example, the Internet, and are therefore connected via one or more network connections 112. It should be understood that, in some embodiments, the cloud server 108 may be a computer server or a collection of computer servers that comprise a component of the system 100 and is therefore operated by one or more administrators managing the components of the system (i.e., the first user node 102, second user node 104 and network server 106). In other embodiments, the cloud server 108 may be provided and/or operated by a third party.
The present disclosure provides a method for securely sharing data stored on the cloud server 108. An example of one such method is provided in the flow diagram 200 illustrated in
At block 202 of
The first user 102A is capable of generating the file key 124 when desired. Therefore, it is not necessary for the first user 102A to store or retain the file key 124 for later use. For example, in some embodiments, the file key 124 may originally be used to encrypt the document 114 to generate the encrypted file 110. In such embodiments, the first user 102A generates the file key 124 to encrypt the document 114 to generate the encrypted file 110. After the encrypted file 110 is generated, the first user 102A does not need to retain or store the file key 124 for later use (for example, to decrypt the encrypted file 110) because the first user 102A is capable of regenerating the file key 124 as needed. In embodiments in which the file key comprises an asymmetric key system, the file key used to encrypt the document 114 may be a public key of an asymmetric key pair, and the file key 124 used to decrypt the encrypted file 110 may be a private key of the asymmetric key pair.
At block 204 of
The network server 106 receives the share message 126 and, at block 206 of
In some embodiments, the recipient user's identification key may comprise either a symmetric key system or an asymmetric key system. In embodiments in which the recipient user's identification key comprises a symmetric key system, the recipient user's identification key is used to encrypt the file key 124, and is also used to decrypt the share key 128, as explained below. In embodiments in which the recipient user's identification key comprises an asymmetric key system, the identification key used to encrypt the file key 124 is a public key of an asymmetric key pair, and the key used to decrypt the share key 128 is a private key of the asymmetric key pair.
The database 122 maintains, in some embodiments, a table 122A of user identifiers and a table 122B of corresponding user identification keys. In some embodiments, when the network server 106 receives the identification of the recipient user (via the share message 126) the server 106 retrieves the appropriate user identifier (e.g., the second user identifier 104B) from the table 122A and the corresponding identification key (e.g., the second user's identification key 104C) from the table 122B. It should be appreciated that, in some embodiments, if the data 126B identifying the recipient user contains the recipient user's user identifier, the network server 106 retrieves the corresponding identification key without retrieving the user identifier from the database 122. This data may then be used to generate the share key 128 as described above.
Referring now to block 208 of
At block 210 of
At block 212 of
The disclosed method for sharing an encrypted file stored in a cloud server provides various advantages and benefits. For example, the method disclosed herein does not require that users manage their own keys, as this is handled by the system 100 or, more particularly, by the network server 106. As a result, the disclosed method removes the need for additional key infrastructure because the method does not rely on public key infrastructure, but rather on a software architecture that is simpler to use and administrate. Additionally, the disclosed method provides a system for sharing encrypted information such that the identification key for the recipient user is not shared with other users or stored on the cloud server 108, thereby providing greater security.
A number of additional and alternative embodiments of the disclosed system and method may be provided without departing from the spirit or scope of the present disclosure as set forth in the claims provided herein. For example, in some embodiments, the disclosed method and system may be expanded to share more than one encrypted file stored in a cloud server with a user. In other embodiments, the disclosed method and system may be expanded to share one encrypted file stored in a cloud server with multiple users. In yet another embodiment, the disclosed method and system may be expanded to share various encrypted files stored in a cloud server with multiple various users. These various embodiments are believed to be understood by one of ordinary skill in the art in view of the present disclosure.
Pursuant to 35 U.S.C. §119(e), this application claims priority from, and hereby incorporates by reference for all purposes, U.S. Provisional Patent Application Ser. No. 61/786,828, entitled “Secure Cloud Data Sharing,” filed Mar. 15, 2013, and naming Thomas D. Selgas and John D. Heintz as inventors.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5204966 | Wittenberg et al. | Apr 1993 | A |
| 5432934 | Levin et al. | Jul 1995 | A |
| 5497421 | Kaufman et al. | Mar 1996 | A |
| 5581700 | Witte | Dec 1996 | A |
| 5673316 | Auerbach et al. | Sep 1997 | A |
| 5708777 | Sloan et al. | Jan 1998 | A |
| 5719941 | Swift et al. | Feb 1998 | A |
| 5748735 | Ganesan | May 1998 | A |
| 5850443 | Van Oorschot et al. | Dec 1998 | A |
| 5941947 | Brown et al. | Aug 1999 | A |
| 6009173 | Sumner | Dec 1999 | A |
| 6061448 | Smith et al. | May 2000 | A |
| 6151609 | Truong | Nov 2000 | A |
| 6161139 | Win et al. | Dec 2000 | A |
| 6182142 | Win et al. | Jan 2001 | B1 |
| 6223284 | Novoa et al. | Apr 2001 | B1 |
| 6370250 | Stein | Apr 2002 | B1 |
| 6408336 | Schneider et al. | Jun 2002 | B1 |
| 6412070 | Van Dyke et al. | Jun 2002 | B1 |
| 6453353 | Win et al. | Sep 2002 | B1 |
| 6533583 | Sportelli | Mar 2003 | B1 |
| 6571290 | Selgas et al. | May 2003 | B2 |
| 6625734 | Marvit et al. | Sep 2003 | B1 |
| 6636973 | Novoa et al. | Oct 2003 | B1 |
| 6834112 | Brickell | Dec 2004 | B1 |
| 6871286 | Cagle et al. | Mar 2005 | B1 |
| 6986049 | Delany | Jan 2006 | B2 |
| 7039949 | Cartmell et al. | May 2006 | B2 |
| 7051077 | Lin | May 2006 | B2 |
| 7149893 | Leonard et al. | Dec 2006 | B1 |
| 7167981 | Tanimoto | Jan 2007 | B2 |
| 7185192 | Kahn | Feb 2007 | B1 |
| 7213158 | Bantz et al. | May 2007 | B2 |
| 7228437 | Spagna et al. | Jun 2007 | B2 |
| 7249261 | Charbonneau | Jul 2007 | B2 |
| 7272231 | Jonas | Sep 2007 | B2 |
| 7299502 | Schmeling et al. | Nov 2007 | B2 |
| 7308580 | Nelson et al. | Dec 2007 | B2 |
| 7320076 | Caronni | Jan 2008 | B2 |
| 7330971 | Kukreja et al. | Feb 2008 | B1 |
| 7346930 | Boydstun et al. | Mar 2008 | B1 |
| 7487548 | Conover | Feb 2009 | B1 |
| 7506010 | Kulkarni et al. | Mar 2009 | B2 |
| 7680819 | Mellmer et al. | Mar 2010 | B1 |
| 7693285 | Curry | Apr 2010 | B2 |
| 7761404 | Chen et al. | Jul 2010 | B2 |
| 7765298 | Villavicencio | Jul 2010 | B2 |
| 7865373 | Punzak et al. | Jan 2011 | B2 |
| 7869591 | Nagel et al. | Jan 2011 | B1 |
| 7975292 | Corella | Jul 2011 | B2 |
| 7996683 | Lyseggen et al. | Aug 2011 | B2 |
| 8019085 | Adams et al. | Sep 2011 | B2 |
| 8127149 | Nachenberg | Feb 2012 | B1 |
| 8151112 | Lin | Apr 2012 | B2 |
| 8281125 | Briceno et al. | Oct 2012 | B1 |
| 8296827 | Paganetti | Oct 2012 | B2 |
| 8379857 | Zheng | Feb 2013 | B1 |
| 8379867 | Selgas et al. | Feb 2013 | B2 |
| 8396933 | Patterson | Mar 2013 | B2 |
| 8549317 | Funayama | Oct 2013 | B2 |
| 8583911 | Miller | Nov 2013 | B1 |
| 8601263 | Shankar et al. | Dec 2013 | B1 |
| 8625802 | Parann-Nissany | Jan 2014 | B2 |
| 8649515 | Zhao et al. | Feb 2014 | B1 |
| 8707034 | Ryan | Apr 2014 | B1 |
| 8737614 | Mulligan | May 2014 | B1 |
| 8737624 | Selgas et al. | May 2014 | B2 |
| 20010055396 | Jevans | Dec 2001 | A1 |
| 20020007453 | Nemovicher | Jan 2002 | A1 |
| 20020095499 | Barnett et al. | Jul 2002 | A1 |
| 20020129238 | Toh et al. | Sep 2002 | A1 |
| 20030172262 | Curry | Sep 2003 | A1 |
| 20040078603 | Ogura et al. | Apr 2004 | A1 |
| 20040091114 | Carter et al. | May 2004 | A1 |
| 20040103324 | Band | May 2004 | A1 |
| 20040125957 | Rauber et al. | Jul 2004 | A1 |
| 20040146164 | Jonas | Jul 2004 | A1 |
| 20050027713 | Cameron et al. | Feb 2005 | A1 |
| 20050204030 | Koch et al. | Sep 2005 | A1 |
| 20060026682 | Zakas | Feb 2006 | A1 |
| 20060075258 | Adamson et al. | Apr 2006 | A1 |
| 20060259960 | Kondo | Nov 2006 | A1 |
| 20070033657 | Murakawa | Feb 2007 | A1 |
| 20070250920 | Lindsay | Oct 2007 | A1 |
| 20070255943 | Kern et al. | Nov 2007 | A1 |
| 20070282951 | Selimis et al. | Dec 2007 | A1 |
| 20080065878 | Hutson et al. | Mar 2008 | A1 |
| 20080148067 | Sitrick et al. | Jun 2008 | A1 |
| 20080162646 | Pizano et al. | Jul 2008 | A1 |
| 20080313730 | Iftimie et al. | Dec 2008 | A1 |
| 20080313731 | Iftimie et al. | Dec 2008 | A1 |
| 20090064297 | Selgas et al. | Mar 2009 | A1 |
| 20090075630 | McLean | Mar 2009 | A1 |
| 20090077136 | Igawa et al. | Mar 2009 | A1 |
| 20090080650 | Selgas et al. | Mar 2009 | A1 |
| 20090100529 | Livnat et al. | Apr 2009 | A1 |
| 20090158037 | Lee et al. | Jun 2009 | A1 |
| 20090198997 | Yeap et al. | Aug 2009 | A1 |
| 20090241167 | Moore | Sep 2009 | A1 |
| 20090259588 | Lindsay | Oct 2009 | A1 |
| 20090300351 | Lei et al. | Dec 2009 | A1 |
| 20100146268 | Van Dorsselaer et al. | Jun 2010 | A1 |
| 20100161759 | Brand | Jun 2010 | A1 |
| 20100169948 | Budko et al. | Jul 2010 | A1 |
| 20100217987 | Shevade | Aug 2010 | A1 |
| 20100257372 | Seifert | Oct 2010 | A1 |
| 20100293147 | Snow et al. | Nov 2010 | A1 |
| 20100318782 | Auradkar et al. | Dec 2010 | A1 |
| 20100333116 | Prahlad et al. | Dec 2010 | A1 |
| 20110238985 | Sovio et al. | Sep 2011 | A1 |
| 20110264906 | Pourzandi et al. | Oct 2011 | A1 |
| 20110289310 | Selgas et al. | Nov 2011 | A1 |
| 20120117171 | Patterson | May 2012 | A1 |
| 20120317414 | Glover | Dec 2012 | A1 |
| 20130007464 | Madden | Jan 2013 | A1 |
| 20130073854 | Patti et al. | Mar 2013 | A1 |
| 20130114812 | Gidwani | May 2013 | A1 |
| 20130156184 | Selgas et al. | Jun 2013 | A1 |
| 20130191629 | Treinen et al. | Jul 2013 | A1 |
| 20130254536 | Glover | Sep 2013 | A1 |
| 20130254537 | Bogorad | Sep 2013 | A1 |
| 20130263240 | Moskovitch | Oct 2013 | A1 |
| 20130283060 | Kulkarni | Oct 2013 | A1 |
| 20130305039 | Gauda | Nov 2013 | A1 |
| 20130318347 | Moffat | Nov 2013 | A1 |
| 20140006773 | Chazalet | Jan 2014 | A1 |
| 20140140508 | Kamath | May 2014 | A1 |
| 20140215210 | Wang et al. | Jul 2014 | A1 |
| 20150113279 | Andersen et al. | Apr 2015 | A1 |
| Number | Date | Country |
|---|---|---|
| 2544117 | Jan 2013 | EP |
| Entry |
|---|
| Menezes, Alfred J. et al. Handbook of Applied Cryptography, 1997 CRC Press, LLC, pp. 31-32. |
| Zhao, Gansen, et al. “Trusted data sharing over untrusted cloud storage providers.” Cloud Computing Technology and Science (CloudCom), 2010 IEEE Second International Conference on. IEEE, 2010. |
| U.S. Appl. No. 12/201,150—Response to Non-Final Office Action, dated Aug. 26, 2014. |
| U.S. Appl. No. 12/201,150—Non-Final Office Action, dated Feb. 26, 2014. |
| U.S. Appl. No. 12/201,150—Request for Continued Examination (RCE), dated Dec. 5, 2013. |
| U.S. Appl. No. 12/201,150—Response to Final Office Action, dated Dec. 5, 2013. |
| U.S. Appl. No. 12/201,150—Final Office Action, dated Jun. 7, 2013. |
| U.S. Appl. No. 12/201,150—Response to Non-Final Office Action, dated Feb. 25, 2013. |
| U.S. Appl. No. 12/201,150—Non-Final Office Action, dated Nov. 23, 2012. |
| U.S. Appl. No. 12/201,150—Response to Office Action, dated Aug. 1, 2012. |
| U.S. Appl. No. 12/201,150—Non-Final Office Action, dated Feb. 14, 2012. |
| U.S. Appl. No. 12/201,150—Notice of Panel Decision from Pre-Appeal Brief Review, dated Oct. 18, 2011. |
| U.S. Appl. No. 12/201,150—Pre-Appeal Brief Request for Review, dated Aug. 31, 2011. |
| U.S. Appl. No. 12/201,150—Notice of Appeal, dated Aug. 31, 2011. |
| U.S. Appl. No. 12/201,150—Final Office Action, dated Apr. 19, 2011. |
| U.S. Appl. No. 12/201,150—Response to Office Action, dated Jan. 31, 2011. |
| U.S. Appl. No. 12/201,150—Interview Summary, dated Dec. 14, 2010. |
| U.S. Appl. No. 12/201,150—Non-Final Office Action, dated Aug. 30, 2010. |
| U.S. Appl. No. 13/112,931—Notice of Abandonment, dated Jan. 6, 2014. |
| U.S. Appl. No. 13/112,931—Final Office Action dated May 15, 2013. |
| U.S. Appl. No. 13/112,931—Response to Non-Final Office Action, dated Mar. 4, 2013. |
| U.S. Appl. No. 13/112,931—Non-Final Office Action dated Nov. 2, 2012. |
| Ala-Luukko Sami, Mobility Management in IEETF and GPRS Specifications, Helsinki University of Technology, May 15, 2000. |
| Proofpoint; Encryption Made Easy: The Advantages of Identity Based Encryption:; Proofpoint, Inc., Sunnyvale, California; 2005. |
| Wong, M. et al; RFC 4408—Sender Policy Framework (SPF) for Authorizing Use of Domains in E-Mail, Version 1:; Network Working Group, the Internet Society; Apr. 2006. |
| Microsoft; “Microsoft Exchange Hosted Encryption” Data sheet; Microsoft Corp.; 2006; http://www.microsoft.com/exchange/services. |
| Allman et al.; “RFC 4870—Domain Keys Identified Mail (DKIM) Signatures”; Network Working Group, IETF Trust; May 2007. |
| Microsoft; “Sender Reputation, Microsoft TechNet, Exchange 2007”; Microsoft Corp. 2008. |
| Schneier, Applied Cryptography, 1996, John Willey & Sons, 2nd Edition, pp. 179-180. |
| U.S. Appl. No. 12/201,150—Non-Final Office Action, dated Jun. 17, 2015. |
| U.S. Appl. No. 12/201,150—Response to Final Office Action, dated Jan. 11, 2017. |
| U.S. Appl. No. 12/201,150—Final Office Action, dated Jul. 14, 2016. |
| U.S. Appl. No. 12/201,150—Response to Non-Final Office Action, dated Dec. 17, 2015. |
| U.S. Appl. No. 12/201,150—Non-Final Office Action, dated Mar. 21, 2017. |
| Number | Date | Country | |
|---|---|---|---|
| 20140281520 A1 | Sep 2014 | US |
| Number | Date | Country | |
|---|---|---|---|
| 61786828 | Mar 2013 | US |