3

We would like to be able to leverage WebRTC to provide video chat in several native iOS applications that we have developed for in-house/enterprise use (read: NOT for the Apple AppStore). However, due to the nature of our business, we'd like to be able to encrypt the video stream prior to transmission, and then decrypt it once it is received on the other end.

I've taken a quick look at the AppRTC demo to get a little familiar with WebRTC in general. I've also found a Java port of the demo that we can use as a starting point in standing up a WebRTC server. What I have no found, however, is any mention of encryption within WebRTC. Is this something that is supported within the protocol at all? If so, are there standard algorithms/keylengths specified for use? If it is not built into the protocol, is it something that could easily be incorporated as a sort of "extension" of WebRTC we would code ourselves?

I'd be very interested in any experiences you may have had or products you have worked with to accomplish anything similar to this.

1 Answer 1

3

All your WebRTC components should be encrypted using DTLS. (source, spec)

Both Chrome and FireFox implement this. (source)

The use of plain RTP is specifically prohibited. (source)

Sign up to request clarification or add additional context in comments.

1 Comment

If it can't be unencrypted by the TURN server how do the two clients decrypt it without the turn server seeing it? Somewhere that message is sent through the TURN server if it's used. Additionally who ensures the STUN servers success rates don't drop to 0%. Why isn't there option to add additional encryption?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.