Content Integrity Verification
The content integrity verification system provides a title-controlled process to verify the integrity of the content. CIV is a security mechanism designed to detect pirated or modified media. The CIV algorithm consists of verifying a series of signed hashes of the game assets and of the auto-generated pseudo random filler data. All existing anti-piracy measures also are incorporated.
Following is a discussion about how to properly integrate the CIV API.
Content Integrity Verification API
To take advantage of the content verification system, the title must call the CIV API. It is the decision of the developer to use these functions; use of the XGD3 disc format does not require use of CIV
The API consists of simple methods to check if media was altered. The full disc is verified, regardless of how much storage the title data consumes. When a title is played from another storage device, such as a hard drive or flash, CIV verifies the content on the game disc, not the content installed on the storage device.
Because these functions read data from the disc, they should be used judiciously when the disc is idle. Calling them more often and throughout the gameplay session adds more protection against compromised media. How frequently to call depends on the title, the amount of content being streamed, and the general I/O bandwidth required by the title. Each time a content verification query is requested, the API uses 3 percent of a CPU single hardware thread during execution, and 75 KB of title memory. Typical call execution time can be a few seconds.
The CIV system is enabled by calling XSecurityCreateProcess, and is disabled by calling XSecurityCloseProcess. The main function that handles the verification is XSecurityVerify, which never blocks, even when null is passed in for the OVERLAPPED structure. The OVERLAPPED structure is provided for compatibility for minimal integration impact to titles that already use OVERLAPPED I/O. Without an OVERLAPPED structure, it is impossible to determine when the function finished executing. The execution time can be capped to a maximum number of milliseconds in order to limit the amount of disc I/O activity.
Проверки используются только в играх XGD3 и ставятся на усмотрение разработчиков.
Эта новая защита вступил в силу с игрой Forza Motorsport 4. Что представляет собой новая защита?
Она добавляет проверки на диск в определенные точках игры (например, когда вы входите в комнату перед сохранением ...), запрос на проверку данных на диске отправляется, хэш производится, если он отличается от ожидаемой, мы получаем ошибку на экране.