-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal to add support for RFC 7714 SRTP with AES-GCM #420
base: development
Are you sure you want to change the base?
Conversation
…protocol negotiation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding support for multiple signature algorithm is a good idea.
However the proposal has two issues:
Minor: for backward compatibility reasons SecureRTSPStreamingAlgorithms may not be present for old devices.
Major: Inserting a parameter is a breaking change. We have never appended a parameter. Doing so would need a compatibility assessment.
…ecurity protocol negotiation" This reverts commit d40607a.
The proposal has changed significantly since. There are now no changes to the StreamingCapabilities. |
…ANA SRTP Crypto Suite Registrations.
This approach is not RFC-compliant, RFC 4567 explicitly forbids using multiple
Few possible alternatives which better follows RFCs:
BTW, MIKEY protocol can be used in different ways. Existing RTSP implementations with SRTP support use in are not compatible with each others and have some details wrong (send concatenated key and salt as TEK instead of separate as TEK+SALT). I listed all discovered differences here: #436 . Make sure to review them and add necessary clarifications here to avoid ambiguities and incompatible implementations in the future. |
Thank you, we will revise the proposal. |
Few more thoughts about this:
Please also check how Genetec handles SRTP. It has its own extension to ONVIF for this, and performs key exchange in RTSP 2.0 way (client is initiator) while using RTSP 1.0 headers. It also specifies rekeying procedure. |
@jcbeaulieu is this still in rework? |
@kieran242, Yes, I wanted to discuss it during the meeting. |
We've changed the proposal to configure the algorithm negotiation in ONVIF itself. For GetStreamUri, no any parameter has been defined, so a GetStreamUri2 has been added. @sirzooro, I've added clarification that the MKI must be used and an example for session opening. |
Proposal for cryptographic algorithm negotiation to add support for RFC 7714 SRTP AES-GCM.
Reason:
EU governments will start forbidding SHA-1 starting 2025 December 31.
RFC 3711 defines an 80 bit SHA-1 authentication tag, which will be forbidden.
Using AES-CM (Counter Mode) without an authentication tag is insecure and forbidden by FIPS.
Compatibility analysis:
Devices that do not support the feature will not include the SecureRTSPStreamingAlgorithms in the StreamingCapabilities.
Clients that do not support the feature will not include the SecurityProtocolAlgorithm the GetStreamUri.
When either a client or device does not support the feature, AES-128-CM-SHA1_80 is implied. (As defined in RFC 3711).