Encryption
Overview
AirPlay 2 encryption is associated to any of the
SupportsCoreUtilsPairingAndEncryption
bits in the receiver features.
The minimal set of features described in Multi-room support allow to disable the outer encryption layer of the protocol. The audio frames are still encrypted.
Disabled encryption
Declaring only SupportsUnifiedPairSetupAndMFi
without using any of the
CoreUtilsPairingAndEncryption
bits, we jump straight to the AirPlay 2
streaming protocol. Messages at this point are exchanged in clear text.
if !CoreUtilsPairingAndEncryption && (avoid_auth/is_apple_internal_build)
log("*** authentication/encryption disabled ***")
If CoreUtilsPairingAndEncryption
bits (38, 46, 43, 48) are disabled and the
AirPlay sender is an Apple internal build, or avoid_auth
, both authentication
and encryption are disabled.
The avoid_auth
appears to be an internal condition and needs further reversing.