PROTECTION OF SOFTWARE TRANSMITTED OVER AN UNPROTECTED INTERFACE
First Claim
1. A computer-implemented method for protecting software, the method comprising:
- parsing a first cryptographic key into at least one component;
decrypting an encrypted second cryptographic key utilizing a first component of the at least one component;
encrypting a session key utilizing the second cryptographic key;
providing the encrypted session key;
receiving a signal indicative of an encrypted phrase, the phrase being encrypted with a decrypted version of the provided encrypted session key, the decrypted version of the provided encrypted session key being encrypted with a third cryptographic key;
decrypting the encrypted phrase with the session key for generating a decrypted phrase;
comparing the decrypted phrase with a predetermined phrase;
determining a validity of the decrypted phrase in accordance with the step of comparing; and
if the decrypted phrase is determined to be valid, allowing communication of the software.
2 Assignments
0 Petitions
Accused Products
Abstract
The same level of protection and ability to associate rights to media content available with a stand alone media player is provided with a software media player. In an example configuration, a peripheral device comprising an optical disc drive capable of reading HD DVD media, and comprising a flash memory microcontroller with cryptographic capabilities, is coupled to a host game console via a universal serial bus (USB) interface. Media content from the peripheral device is rendered on the host game console. Software protection and management are provided utilizing various cryptographic keys and protocols. Software protection and management meets the prescribed rules of the Advanced Access Content System (AACS) license agreement with respect to consumer electronics players while allowing the playback of media content (e.g., movies) to be performed by software.
-
Citations
20 Claims
-
1. A computer-implemented method for protecting software, the method comprising:
-
parsing a first cryptographic key into at least one component; decrypting an encrypted second cryptographic key utilizing a first component of the at least one component; encrypting a session key utilizing the second cryptographic key; providing the encrypted session key; receiving a signal indicative of an encrypted phrase, the phrase being encrypted with a decrypted version of the provided encrypted session key, the decrypted version of the provided encrypted session key being encrypted with a third cryptographic key; decrypting the encrypted phrase with the session key for generating a decrypted phrase; comparing the decrypted phrase with a predetermined phrase; determining a validity of the decrypted phrase in accordance with the step of comparing; and if the decrypted phrase is determined to be valid, allowing communication of the software. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for protecting software, the system comprising:
-
a processing portion configured to; parse a first cryptographic key into at least one component; decrypt an encrypted second cryptographic key utilizing a first component of the at least one component; encrypt a session key utilizing the second cryptographic key; decrypt an encrypted phrase with the session key for generating a decrypted phrase; compare the decrypted phrase with a predetermined phrase; determine a validity of the decrypted phrase in accordance with the step of comparing; and if the decrypted phrase is determined to be valid, allow communication of the software; and an input/output portion configure to; provide the encrypted session key; and receive a signal indicative of the encrypted phrase, the phrase being encrypted with a decrypted version of the provided encrypted session key, the decrypted version of the provided encrypted session key being encrypted with a third cryptographic key; - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable medium having stored thereon computer-executable instructions for protecting software by performing the steps of:
-
parsing a first cryptographic key into at least one component; decrypting an encrypted second cryptographic key utilizing a first component of the at least one component; encrypting a session key utilizing the second cryptographic key; providing the encrypted session key; receiving a signal indicative of an encrypted phrase, the phrase being encrypted with a decrypted version of the provided encrypted session key, the decrypted version of the provided encrypted session key being encrypted with a third cryptographic key; decrypting the encrypted phrase with the session key for generating a decrypted phrase; comparing the decrypted phrase with a predetermined phrase; determining a validity of the decrypted phrase in accordance with the step of comparing; and if the decrypted phrase is determined to be valid, allowing communication of the software. - View Dependent Claims (17, 18, 19, 20)
-
Specification