3.1.1.3 Registration and Revalidation
The registration and revalidation procedures are essential parts of WMDRM: Network Devices Protocol. If a receiver successfully completes registration or revalidation, it is said to be registered.
Registration and revalidation are required before receivers can retrieve content from the transmitter. Registration and revalidation allow the transmitter to identify a receiver through a unique combination of an XML certificate and a 128-bit serial number. This combination can be unique in two ways: either multiple receivers have different serial numbers but the same certificate, or multiple receivers have the same serial number but different certificates. For example, a manufacturer might want all of its receivers to have the same certificate. In this case, each Receiver would then need a unique serial number so that the combination of serial number and certificate would uniquely identify it. And, if the receiver uses a unique certificate, its serial number MUST be zero.
If a receiver's certificate has been revoked, it will not be allowed to register, revalidate, or start a data transfer. For more information on certificates, see the Machine Certificate Specification [XMR]. For more information on CRLs, see section 2.2.1.5.3.
Revalidation differs from registration in that the receiver is already registered with the transmitter. During revalidation, the registration and proximity detection procedures are performed again, and the last revalidation time is updated. The transmitter MUST enforce revalidation by ensuring it occurs at least once every 48 hours.
If a receiver has not successfully revalidated itself in 48 hours and is receiving content when that limit is reached, the transmitter MUST stop the data transfer to the receiver. Receivers SHOULD revalidate themselves at least once every 48 hours to avoid a possible interruption during playback.
The following diagram shows the registration procedure:
Figure 4: Registration Procedure Flow
The following table describes elements of the preceding diagram:
Value |
Description |
---|---|
SN |
128-bit serial number. |
CertReceiver |
Receiver's device certificate. |
VerReceiver |
WMDRM-ND protocol version that is implemented by the receiver. |
VerTrans |
WMDRM-ND protocol version that is implemented by the transmitter. |
PReceiver |
Public key of the receiver. |
{Seed}PReceiver |
128-bit seed that is encrypted with the public key of the receiver. The seed is used to derive the content encryption key, content integrity key, and authenticated commands key. |
KCE |
128-bit content encryption key that is derived from the encrypted seed. This key is different from the one used in data transfer. |
KCI |
128-bit content integrity key that is derived from the encrypted seed. This key is different from the one used in data transfer. |
KAC |
128-bit authenticated commands key that is derived from the encrypted seed. This key is used to sign the authenticated commands message. |
Address |
IP address of the transmitter's incoming and outgoing proximity packets socket. |
Session ID |
128-bit random session identifier. |
OMAC |
OMAC1 [OMAC] of the message using the content integrity key. |
The syntax of the registration messages is defined in section 2.1.1.
The mapping of registration to UPnP is specified in section 2.1.1.1.2.