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
High-bandwidth Digital Content Protection (HDCP) is a form of digital copy protection developed by Intel Corporation to prevent copying of digital audio and video content as it travels across connections. Types of connections include DisplayPor ...
copy protection system. The KSV is used to generate confidential
keys
Key or The Key may refer to:
Common meanings
* Key (cryptography), a piece of information that controls the operation of a cryptography algorithm
* Key (lock), device used to control access to places or facilities restricted by a lock
* Key (ma ...
, specifically used in the Restricted
Authentication
Authentication (from ''authentikos'', "real, genuine", from αὐθέντης ''authentes'', "author") is the act of proving an assertion, such as the identity of a computer system user. In contrast with identification, the act of indicat ...
process of HDCP. Restricted Authentication is an
AKE
Ake (or Aké in Spanish orthography) is an archaeological site of the pre-Columbian Maya civilization. It's located in the municipality of Tixkokob, in the Mexican state of Yucatán; 40 km (25 mi) east of Mérida, Yucatán.
The name ...
method for devices with limited computing resources. This method is used by copying devices of any kind (such as
DV recorders or
D-VHS
D-VHS is a digital video recording format developed by JVC, in collaboration with Hitachi, Matsushita, and Philips. The "D" in D-VHS originally stood for "Data", but JVC renamed the format as "Digital VHS". Released in 1998, it uses the same ...
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
A hash function is any function that can be used to map data of arbitrary size to fixed-size values. The values returned by a hash function are called ''hash values'', ''hash codes'', ''digests'', or simply ''hashes''. The values are usually ...
to respond to a
random challenge.
Restricted Authentication Protocol
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
Authentication (from ''authentikos'', "real, genuine", from αὐθέντης ''authentes'', "author") is the act of proving an assertion, such as the identity of a computer system user. In contrast with identification, the act of indicat ...
process, both parties (a transmitter and a receiver) exchange their KSVs. Then each device adds (unsigned addition modulo
) its own device secret keys according to a KSV received from another device. If a particular bit in the KSV is set to 1, then the corresponding secret key is used in the addition and otherwise it is ignored. For each set of keys a special key called a KSV (Key Selection Vector) is created. Each KSV has exactly 20 bits set to 0 and 20 bits set to 1. Keys and KSVs are generated in such a way that during this process both devices get the same 56 bit number as a result. That number is later used in the
encryption
In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can dec ...
process.
Uniqueness and Revocation of KSVs
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
Revocation is the act of recall or annulment. It is the cancelling of an act, the recalling of a grant or privilege, or the making void of some deed previously existing. A temporary revocation of a grant or privilege is called a suspension.
C ...
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.
Attacks on Restricted Authentication
If an attacker can find 40
linearly independent
In the theory of vector spaces, a set of vectors is said to be if there is a nontrivial linear combination of the vectors that equals the zero vector. If no such linear combination exists, then the vectors are said to be . These concepts ...
vectors (
) keys ... (
)keys (i.e. the vectors generated by adding together a device's Device Key Set based on a KSV,) then they can completely break the HDCP system for all devices using a given Device Key Set. At this point, they can extract the secret key array for any number of KSVs, which allows them to access the shared secrets used in the HDCP authentication protocol. Since the keys generated from the KSVs are produced linearly in the given
system (i.e. getting a key from a KSV can be viewed as matrix multiplication), someone could determine the Device Key Set matrix from any 40-50 different systems:
....
, and the associated KSV (this is public information from the protocol).
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 (
)KSVs (by taking linear combinations) for which the private keys have been found. There will be, however, no guarantee of them satisfying the required property that a KSV must have; 20 ones and 20 zeros.
Setting up the Equations
Assuming there are 40 (
) KSVs that are linearly independent (and naming Xkeys the matrix of the keys in the Device Key Set), this gives a set of n linear equations on 40 unknowns –
keys
Key or The Key may refer to:
Common meanings
* Key (cryptography), a piece of information that controls the operation of a cryptography algorithm
* Key (lock), device used to control access to places or facilities restricted by a lock
* Key (ma ...
* (A1)ksv = =
A1)keys* Xksv
keys
Key or The Key may refer to:
Common meanings
* Key (cryptography), a piece of information that controls the operation of a cryptography algorithm
* Key (lock), device used to control access to places or facilities restricted by a lock
* Key (ma ...
* (A2)ksv = =
A2)keys
A, or a, is the first letter and the first vowel of the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''a'' (pronounced ), plural ''ae ...
* Xksv...
keys
Key or The Key may refer to:
Common meanings
* Key (cryptography), a piece of information that controls the operation of a cryptography algorithm
* Key (lock), device used to control access to places or facilities restricted by a lock
* Key (ma ...
* (A40)ksv = =
A40)keys
A4 most often refers to:
* A4 paper, a paper size defined by the ISO 216 standard, measuring 210 × 297 mm
A4 and variants may also refer to:
Science and mathematics
* British NVC community A4 (''Hydrocharis morsus-ranae - Stratiotes aloid ...
* Xksv
By having
acknowledgment on all the KSVs, and assuming the secret key
vectors (
)keys are known, the above algorithm can be used to find the secret keys to produce a new derived key from
arbitrary
Arbitrariness is the quality of being "determined by chance, whim, or impulse, and not by necessity, reason, or principle". It is also used to refer to a choice made without any specific criterion or restraint.
Arbitrary decisions are not necess ...
new KSV. If the space spanned by the (
)KSVs doesn't span the full 40 dimensional space, this may be okay because the KSVs were either not designed to not span the
space
Space is the boundless three-dimensional extent in which objects and events have relative position and direction. In classical physics, physical space is often conceived in three linear dimensions, although modern physicists usually con ...
, or only a small number of extra keys are needed to find a set of vectors spanning the full space. Each additional device has low odds of being
linearly dependent
In the theory of vector spaces, a set of vectors is said to be if there is a nontrivial linear combination of the vectors that equals the zero vector. If no such linear combination exists, then the vectors are said to be . These concepts ar ...
with the existing set. (roughly 1/2^
0-dimensionality-of-spanned-space This analysis of probabilities of linear dependence is similar to the analysis of
Simon's Algorithm
In computational complexity theory and quantum computing, Simon's problem is a computational problem that is proven to be solved exponentially faster on a quantum computer than on a classical (that is, traditional) computer. The quantum algorithm ...
).
See also
*
HDCP
High-bandwidth Digital Content Protection (HDCP) is a form of digital copy protection developed by Intel Corporation to prevent copying of digital audio and video content as it travels across connections. Types of connections include DisplayPor ...
*
Hash Functions
A hash function is any function that can be used to map data of arbitrary size to fixed-size values. The values returned by a hash function are called ''hash values'', ''hash codes'', ''digests'', or simply ''hashes''. The values are usually ...
References
External links
Apparent HDCP weaknesses
{{DEFAULTSORT:Key Selection Vector
Digital rights management standards