Encrypting High Definition Video For Network Transmission Using HDCP
Encrypting High Definition Video For Network Transmission Using HDCP
using HDCP
The currently actual HDCP 1.4 specification [5] describes The Authentication and Key Exchange (AKE) process af-
the protection mechanism between a HD-source device (e.g. firms the HDCP Transmitter that the HDCP Receiver is
Bluray Player) and a HD-sink (e.g. TV-monitor or sur- authorized to receive HDCP content and results in a com-
round amplifier). The physical interface is not restricted mon secret Master Key (km), which is used to exchange a
to a HDMI cable but could be also Display Port, DVI or Session Key (ks). The Session Key is used for the AES
other cable links allowing transmission of HDCP content. encryption of audiovisual content.
1.3 HDCP 2.1 Interface Independent Adapta- 2.1.1 Principles of the RSA Crypto System
tion Authentication and Key Exchange is based on derivates of
the RSA Crypto System which is used for encrypting the
In parallel to the original 1.x HDCP Specifications, which
Master Key(km) and verifying a so called HDCP Receiver
describe the protection mechanism of point to point cable
Certificate.
connected devices, there is also a HDCP 2.1 specification
[7], which describes Interface Independent HDCP adapta-
tions such as Ethernet, WLAN, Wireless Home Digital In-
RSA is a cryptographic procedure which is used for decrypt-
terface (WHID) and others. The HDCP 2.1 specification
ing and encrypting data. It is using a pair of keys consisting
provides more sophisticated cryptography and additional
of a Private Key and a Public Key.
features such as measuring the link round trip time to con-
tain transmission inside a local area (locality check). HDCP
2.1 does not replace but coexists with the 1.4 specification.
The Public Key is used to encrypt and check signatures. The
Private Key is used to decrypt or sign data. The Public Key
HDCP 2.1 is found in HD-players which distribute contents
is not secret and can be transmitted in plain text.
to one or several HD-Monitors via wireless interfaces or in
The Private Key is kept secret and can be derived from the
bridges which convert HDMI to Ethernet and vice versa.
Public Key only with extremely high effort.
In HDCP 2.1 each receiver has its own Private Key and
Public Key pair.
Figure 6 shows how clear text ((m)) is encrypted into cyphered This is more efficient than computing m = cd ( mod pq) even
text ((c)). though two modular exponentiations have to be computed.
The reason is that these two modular exponentiations use a
smaller exponent and a smaller modulus.
Figure 9: Applying the HMAC-SHA256 for message After a transmitter sent the encrypted Master Key, it checks
authentication whether the Receiver ID of the connected device is found on
the Revocation List. A Receiver ID found on the Revoca-
Figure 9 shows how the HMAC-SHA256 is applied for mes-
tion List means that the HDCP revoked the license for the
sage authentication. The transmitter asks the receiver to
receiver and the AKE is aborted.
calculate the HMAC value of the message. The message is
sent in plain text to the receiver. The receiver calculates a
HMAC based on a key and a message and sends it back to
In the meantime the receiver received the encrypted km and
the transmitter. The transmitter compares if the received
RSA decrypts it with the corresponding Receiver Private
HMAC is identical to its own HMAC. Only someone who is
Key. This process is the most calculation intensive, due to
in possession of the pre-shared key and pre-shared random
the large RSA private key. HDCP requires that this process
number can compute the correct HMAC. Additionally, it is
and the subsequent hash value calculation must be com-
impossible to conclude the key from the HMAC, because the
pleted within one second.
HMAC-SHA256 algorithm is a one way function.
After the receiver successfully has decrypted km, it sends
back (H), a HMAC-SHA256 (see section 2.1.5) hash value
In HDCP the HMAC-SHA256 method is used for:
of the Master Key derivate. Sending back the hash value
assures the transmitter, that the receiver could successfully
1. Proving the transmitter that the receiver correctly de- decrypt the Master Key (km).
crypted the Master Key(km) After the transmitter successfully received the hash Value(H)
from the receiver and compared it to the own calculated
2. Authentication required when measuring the distance hash value (H), the Authentication and Key Exchange is
between receiver and transmitter (locality check) completed; otherwise the AKE is aborted.