Skip to content

Would you like an update to your SRP document (for server details) #34

@fduncanh

Description

@fduncanh

I finally got server SRP working on the UxPlay AirPlay server (see https://github.com/FDH2/UxPlay/tree/pair-pin2 )

Your SRP doc is very useful, but is missing some details crucial to the server (as opposed to client) implementation that I discovered.

UxPlay already had a full server implementation of "10.2 RTSP session authentication", so only the SRP needed to be added to provide pair-pin-setup (it already did pair-setup without pin, which we recently switched off, as someone discovered that things worked fine without pairing, which eliminated a 5sec connection delay).

The 10.1 SRP step 3 (AES CRM 128 encrypted epk exchange has a crucial server detail that I discovered luckily (I dont believe there is a previous open source server implementation of apple SRP) which is a second iv[15]++ nonce after decrypting the client epk, before encrypting the server epk in the server response.

libraop client does not check the server epk, but true Apple clients do, and reject the server unless the iv was updated again before encrypting the server epk.

If you are interested, I could do a PR to update your doc with server details. Do you have a .md version that produces the html ,or would you accept hand-edited HTML?

  • one issue I don't understand is what happens after the pairing is finalized to switch to fully-encrypted communication?
    UxPlay decrypts audio and video streams, but I thought full AirPlay2 encrypted all communications after pairing? Perhaps this is only with HomeKit authentication?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions