IOCTL_AACS_GET_CHALLENGE_KEY IOCTL

Queries the logical unit for the device's challenge key. The challenge key consists of a point on an elliptic curve and its associated signature.

Major Code

IRP_MJ_DEVICE_CONTROL

Input Buffer

The buffer at Irp->AssociatedIrp.SystemBuffer contains a value of type DVD_SESSION_ID that specifies an Authentication Grant Identifier (AGID). The AGID identifies the secure session.

Input Buffer Length

Length of a DVD_SESSION_ID.

Output Buffer

The buffer at Irp->AssociatedIrp.SystemBuffer contains the drive challenge key with a format of AACS_CHALLENGE_KEY.

Output Buffer Length

Length of an AACS_CHALLENGE_KEY.

Status Block

The Information field is set to the number of bytes transferred. The Status field is set to STATUS_SUCCESS or possibly STATUS_INSUFFICIENT_RESOURCES.

Remarks

The IOCTL_AACS_GET_CHALLENGE_KEY request corresponds to the step in the Advanced Access Content System (AACS) authentication algorithm (AACS-Auth) in which the drive provides the host with a point on the curve. For a complete description of AACS-Auth, see the Advanced Access Content System, Introduction and Common Cryptographic Elements specification that is published by Advanced Access Content System Licensing Administrator (AACS LA).

Requirements

   
Header ntddcdvd.h (include Ntddcdvd.h)