1. Field of the Invention
The present invention relates generally to computer security, and more particularly but not exclusively to methods and apparatus for controlled sharing of media data.
2. Description of the Background Art
A public computer network, such as the Internet, encourages information exchange and collaboration among computer users. On the Internet, for example, Web 2.0, cloud computing, media sharing (e.g., Flickr™ website), and social networking (e.g., Facebook™ website), allow users to store media data on a public server computer for access by friends and other users. As a particular example, a user may store vacation photos on a photo sharing website for viewing by family members, friends, and colleagues. While public storage and access have undeniable benefits, a user loses control over his media data once it is published. In the photo sharing example, those who were given access to the photos can keep copies for further distribution to other people. Furthermore, when the user deletes his photos from the website, it is possible for the website to keep copies of the photos or not actually delete the photos from storage devices.
In one embodiment, an owner of media data encrypts the media data using a session key. The session key is encrypted using a public key of a designated recipient of the media data. A key manager provides the encrypted session key to the recipient while the owner is sharing the media data with the recipient. The encrypted media data is published and accessed by the recipient over a public computer network. The encrypted session key and the encrypted media data are received in the recipient's computer, where the encrypted session key is decrypted into the session key using the recipient's private key and the encrypted media data is decrypted into the media data using the session key. A client side logic configured to render the media data in the recipient's computer allows viewing or playing of the media data, but prevents copying and storage of the media data in the recipient's computer. When the owner is no longer sharing the media data with the recipient, the client side logic is prevented from further receiving the encrypted session key from the key manager.
These and other features of the present invention will be readily apparent to persons of ordinary skill in the art upon reading the entirety of this disclosure, which includes the accompanying drawings and claims.
The use of the same reference label in different drawings indicates the same or like components.
In the present disclosure, numerous specific details are provided, such as examples of apparatus, components, and methods, to provide a thorough understanding of embodiments of the invention. Persons of ordinary skill in the art will recognize, however, that the invention can be practiced without one or more of the specific details. In other instances, well-known details are not shown or described to avoid obscuring aspects of the invention.
Being computer-related, it can be appreciated that some components disclosed herein may be implemented in hardware, software, or a combination of hardware and software (e.g., firmware). Software components may be in the form of computer-readable program code stored in a computer-readable storage medium, such as memory, mass storage device, or removable storage device. For example, a computer-readable storage medium may comprise computer-readable program code for performing the function of a particular component. Likewise, computer memory may be configured to include one or more components, which may be executed by a processor. Software components may be implemented in logic circuits, for example. Components may be implemented separately in multiple modules or together in a single module.
Referring now to
In the example of
In the example of
The client computers 220 and 250 may comprise a desktop computer, laptop computer, or other computing device.
In the example of
In the example of
In one embodiment, the recipient client side logic 251 is integrated into a web page by way of embedded objects, such as flash components, ActiveX control, or Java applet, for example. For example, instead of viewing the media data directly on a web page, the media data is displayed by a flash component that renders the media data with the same look and feel as directly embedded media. To control access to the media data, the media data is not directly embedded in the web page. In one embodiment, the recipient client side logic 251 is configured to prevent storage or hard printing of the media data on a local computer. For example, the recipient client side logic 251 may prevent a recipient from saving the media data on the client computer 250. This prevents the recipient from viewing/playing encrypted media data without the corresponding session key. For example, the media data may be rendered by a flash component that disables hard copy printing and copying of the media data. The media data may include a digital signature, such as a watermark, to allow for tracing and identification of the media data in the event the recipient performs a screen copy directly off the display screen or some other workaround. The digital signature may indicate the recipient of the media data to allow for identification on who further distributed the media data.
The media sharing platform 201 may comprise a media sharing website or social networking website hosted by the server computer 231-1. For example, the media sharing platform 201 may comprise a photo-sharing website or a social networking website that allows the owner to upload or link to the media data for sharing with a recipient.
The key management server 203, which is hosted on the server computer 231-3, may comprise a server for storing encrypted session keys for encrypted media data and for generating private-public key pairs for encryption/decryption of session keys. When using identity-based encryption, the key management server 203 may generate and provide private keys to users; a user can generate another user's public key from that user's identity. In the example of
The encrypted media storage 202 on the server computer 231-2 may comprise data storage accessible over the Internet. The encrypted media storage 202 is configured to store encrypted media data. In the example of
For ease of identification, the encrypted media storage 202 may store not only the encrypted media but also its description, such as text, metadata, tags, thumbnail, and other identifying information. The encrypted media storage 202 may also store a recipient client side logic 251 for download to a client computer along with the encrypted media data.
In the example of
In the example of
In operation, the media owner client side logic 221 encrypts the media data and forwards the encrypted media data to the encrypted media storage 202, where the encrypted media data is stored (arrow 361). In the example of
The user 303 is not a designated recipient of the media data. Accordingly, the user 303 is not provided the key needed to decrypt the encrypted media data. In particular, even when the user 303 visits the media sharing platform 201 to get the web page that has the link (arrow 365) and follows the link to retrieve the encrypted media data and the recipient client side logic 251 (arrow 366), the user 303 will still not be able to decrypt the encrypted media. This allows the user 302 to control who can access the media data, allowing him to privately share the media data only with designated recipients. This also prevents the media sharing platform 201 or encrypted storage media 202 from accessing the media data without permission from the user 302.
In the example of
The media owner client side logic 221 runs on the computer 220 employed by the user 302. The owner client side logic 221 randomly generates a session key 421 using a symmetric encryption algorithm, such as Advanced Encryption Standard (AES). The owner client side logic 221 uses the session key 421 to encrypt the picture 430 into an encrypted picture 430A (arrow 401). The owner client side logic 221 forwards the encrypted picture 430A to the encrypted media storage 202 for storage (arrow 402). The owner client side logic 221 encrypts the session key 421 into an encrypted session key 421B using the public key 443 of the user 403. Similarly, the owner client side logic 221 encrypts the session key 421 into an encrypted session key 421A using the public key 441 of the user 301. In general, the owner client side logic 221 may repeat this encryption of the session key for each designated recipient with whom the owner wants to share his media data. The owner client side logic 221 forwards the session key 421B (arrow 403) and the session key 421A (arrow 404) to the key management server 203.
In the case of the user 403, the recipient client side logic 251-2 downloads the encrypted picture 430A from the encrypted media storage 202 to the client computer 410 (arrow 405). The recipient client side logic 251-2 also downloads the encrypted session key 421B from the key management server 203 to the client computer 410 (arrow 406), and uses the private key 503 of the user 403 to decrypt the encrypted picture 430A back into the picture 430 (arrow 407). The recipient client side logic 251-2 renders the picture 430 for viewing by the user 403 on the client computer 410.
In the case of the user 301, the recipient client side logic 251-1 downloads the encrypted picture 430A from the encrypted media storage 202 to the client computer 250 (arrow 408). The recipient client side logic 251-1 also downloads the encrypted session key 421A from the key management server 203 to the client computer 250 (arrow 409), and uses the private key 501 of the user 301 to decrypt the encrypted picture 430A back into the picture 430 (arrow 411). The recipient client side logic 251-1 renders the picture 430 for viewing by the user 301 on the client computer 250.
A recipient client side logic 251 renders the picture 430 but prevents its storage or hard printing. As a result, the users 403 and 301 will have to decrypt the encrypted picture 430A for each session of viewing the picture 430. In one embodiment, the recipient client side logic 251 is configured to obtain the session key 421 from the key management server 203 for each viewing session. This allows the user 302 to have the option to prevent a user who previously received the picture 430 from further viewing it in the future.
In a following session to view the picture 430, the recipient client side logic 251-2 is still able to download the encrypted picture 430A from the encrypted media storage 202 (arrow 602). However, this time, the encrypted session key 421B is no longer available for download, preventing decryption of the encrypted picture 430A on the client computer 410. This prevents the user 403 from viewing the picture 430.
Because the user 301 is still a recipient, the encrypted session key 421A remains available for download from the key management server 203 to the client computer 250 (arrow 603). As before, the recipient client side logic 251-1 retrieves the encrypted picture 430A from the encrypted media storage 202 (arrow 604), decrypts the encrypted session key 421A into the session key 421, and uses the session key 421 to decrypt the encrypted picture 430A into the picture 430 (arrow 605). The recipient client side logic 251-1 renders the picture 430 for viewing by the user 301.
Computer networks and methods for controlled sharing of media data have been disclosed. While specific embodiments of the present invention have been provided, it is to be understood that these embodiments are for illustration purposes and not limiting. Many additional embodiments will be apparent to persons of ordinary skill in the art reading this disclosure.
Number | Name | Date | Kind |
---|---|---|---|
7325127 | Olkin et al. | Jan 2008 | B2 |
7627892 | Lin et al. | Dec 2009 | B2 |
7716288 | Graham et al. | May 2010 | B2 |
20020099837 | Oe et al. | Jul 2002 | A1 |
20030200105 | Borden et al. | Oct 2003 | A1 |
20040205330 | Godfrey et al. | Oct 2004 | A1 |
20080306974 | Van Steenbergen et al. | Dec 2008 | A1 |
Entry |
---|
Tootoonchian et al., “Lockr: Better Privacy for Social Networks,” CoNEXT, Dec. 1-4, 2009, all pages. |
Session Key—Wikipedia, the free encyclopedia, 1 page [retrieved on Jan. 14, 2010], retrieved from the internet: http://en.wikipedia.org/wiki/Session—key. |
ID-based cryptography—Wikipedia, the free encyclopedia, 1 page [retrieved on Jan. 14, 2010], retrieved from the internet: http://en.wikipedia.org/wiki/ID-based—cryptography. |
Digital watermarking—Wikipedia, the free encyclopedia, 5 pages [retrieved on Jan. 14, 2010], retrieved from the internet: http://en.wikipedia.org/wiki/Digital—watermarking. |
Public-key cryptography—Wikipedia, the free encyclopedia, 11 pages [retrieved on Jan. 14, 2010], retrieved from the internet: http://en.wikipedia.org/wiki/Public-key—cryptography. |
Dan Boneh, et al. “Identity-Based Encryption from the Weil Pairing”, 31 pages [retrieved on Jan. 14, 2010], retrieved from the internet: http://crypto.stanford.edu/˜dabo/papers/ibe.pdf. |