A Key Selection Vector (KSV) is a numerical identifier associated with a Device Key Set which is distributed by a Licensor or its designee to Adopters and is used to support authentication of Licensed Products and Revocation as part of the HDCP copy protection system. The KSV is used to generate confidential keys, specifically used in the Restricted Authentication process of HDCP. Restricted Authentication is an AKE method for devices with limited computing resources. This method is used by copying devices of any kind (such as DV recorders or D-VHS recorders) and devices communicating with them for authenticating protected content. The restricted authentication protocol uses asymmetric key management and common key cryptography, and relies on the use of shared secrets and hash functions to respond to a random challenge.[1]
The goal of Restricted Authentication is for a device to prove that it holds a secret shared with other devices. One device authenticates another by issuing a random challenge for which the response is generated by combining the shared secrets and multiple hashes. Formally, a Key Selection Vector is a 40-bit vector containing 20 ones and 20 zeros, and is used to specify the random challenge. The Device Key Set is a collection of 40 56-bit values, and is the set of shared secrets for this protocol
During the authentication process, both parties (a transmitter and a receiver) exchange their KSVs. Then each device adds (unsigned addition modulo
256
Since valid keys can become compromised (hacked, for instance through reverse engineering hardware), the HDCP scheme includes a mechanism to revoke keys. The KSV values are unique to each key set and, therefore to each device. The HDCP system can then compare these values to a revocation list, and authentication fails if either the transmitter or receiver appears on the revocation list. Updates to the revocation list arrive with new media and are automatically integrated into a device's revocation list. This means that damage can be limited if a key set is exposed or copied.
This revocation process does not affect other devices, even if the devices are of the same make and model. KSV values are similar to serial numbers in this sense. As an example of how this system works, if two customers were to buy the same model of television on the same day at the same store, and the first customer hacked their television, the first customer's key could be revoked without affecting the ability of the other customer's television to play content.
If an attacker can find 40 linearly independent vectors (
A1
A40
A1
An
In other cases where the extracted keys are not linearly independent, it is still possible to create a new XKey for a new Xksv that is within the span of the (
Ai
Assuming there are 40 (
Ai
[Xkeys] * (A1)ksv = = [(A1)keys] * Xksv[Xkeys] * (A2)ksv = = [(A2)keys] * Xksv...[Xkeys] * (A40)ksv = = [(A40)keys] * Xksv
By having acknowledgment on all the KSVs, and assuming the secret key vectors (
Ai
Ai