If an attacker can find 40
linearly independent vectors (A_1) keys ... (A_{40})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: A_1 .... A_n, 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 (A_i)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 (A_i) 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 – [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 (A_i)keys are known, the above algorithm can be used to find the secret keys to produce a new derived key from
arbitrary new KSV. If the space spanned by the (A_i)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, 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 with the existing set. (roughly 1/2^[40-dimensionality-of-spanned-space]. This analysis of probabilities of linear dependence is similar to the analysis of
Simon's Algorithm). ==See also==