IOCTL_AACS_GET_CHALLENGE_KEY IOCTL (ntddcdvd.h)

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

Requirement Value
Header ntddcdvd.h (include Ntddcdvd.h)