-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
Research low level streaming protocol aka Nanov3.
Is it using this?
GET /v4/sessions/home/12D89B40-ACB6-4E1B-8E96-F744E8D05D73/configuration HTTP/1.1
{
"keepAlivePulseInSeconds": 300,
"serverDetails": {
"ipAddress": "10.0.0.174",
"port": 9002,
"ipV4Address": "10.0.0.174",
"ipV4Port": 9002,
"ipV6Address": null,
"ipV6Port": 0,
"iceExchangePath": "v4/sessions/home/12D89B40-ACB6-4E1B-8E96-F744E8D05D73/ice",
"stunServerAddress": null,
"srtp": {
"key": "iq+1DPPH/H+4k/n4wERjqXr4OXYXrwqcDiitbHkz"
}
}
}Or does it use the srtp.key above and negotiated connection/port of ICE (see Issue #2 - ICE: Negotiation) ?
UPDATE (2020/03/03)
- Yes,
srtp.keyreceived in this HTTP response is indeed the per-session MASTER KEY - This key is transformed into 3 SESSION KEYS
MS-SRTP follows the basic patterns of RFC3711 with minor differences: (https://docs.microsoft.com/en-us/openspecs/office_protocols/ms-srtp/ac253f1b-e9a7-46d2-8508-e6b3c3641a68)
Plan of action
- Research master/session key derivation
- Implement (MS-)SRTP patterns according to RFC3711
- Find out if there is a library that already provides the required SRTP patterns
- Research how Nonce for AES-GCM cryptographical context is transformed (from session key 3)