SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Privacy Enhanced WebRTC
Dr Alex & Dr Dan
Why do we need Privacy Enhanced WebRTC?
WebRTC is end – to end encrypted by default, but webrtc is also p2p.
Most recent webrtc solutions include a media server for many reasons including
scalability.
When used with a media server, webrtc is not end-to-end encrypted anymore, but
only hop-by-hop (between the local peer and the media server, then between the
media server and the remote peer)
Large enterprises and banks in particular are slowly moving to the cloud but having
their media content transparent to any 3rd party is a blocker, even worse if the
solution is a mutualized (multi-tenants) infrastructure
Cloud provider
Alice
Bob
Encryption Key are generated
in/by the browser
Application
Server
Communications over the public internet via a 3rd party Cloud Provider
Javascript
Frontend
Javascript
Frontend
WebRTC Default Case - P2P
This is a true End-To-End
encryption (E2E)
TURN Server
Cloud provider
Alice
Bob
Encryption Key are generated
in/by the browser
Application
Server
Communications over the public internet via a 3rd party Cloud Provider
Javascript
Frontend
Javascript
Frontend
WebRTC Default Case - TURN
A TURN Server DOES NOT
terminates the encryption. In
this case this is also a true
End-To-End encryption
(E2E)
Media Server
Cloud provider
Alice
Bob
Encryption Key are generated
in/by the browser
Application
Server
Communications over the public internet via a 3rd party Cloud Provider
WebRTC Default Case - Media Server A media Server DOES
terminate the encryption: The
content is accessible in clear
on the server. It is called Hop-
by-Hop encryption (HBH)
RAW MEDIA / CONTENT
Javascript
Frontend
Javascript
Frontend
Enterprise
Internal Network
Media Server
Cloud “Untrusted” provider
Alice
Bob
Encryption Keys
Application
Server
Internal Communications via a 3rd party Cloud Provider
Javascript
Frontend
Javascript
Frontend
Double encryption
Trusted Network Connection
The key manager is separated from the browser UA. Browser/app are provided
with two keys. One is used to encrypt the content itself, and not accessible to
the media server. It acts as a garant of ETE encryption of the content. The
other one is used for the normal SRTP encryption, an HBH encryption of the
global stream. This allow backward compatibility with webRTC while adding
true E2E encryption.
What are the specs surrounding secure media transfer?
RTP
SRTP
PERC – DOUBLE SRTP
2 standard committees involved in WebRTC
Standard committees
Committee Focus Scope Effort
W3C Browser (UserAgent) Javascript API in
browsers
Key management API
IETF Encryption, Network Libwebrtc native
code (C++)
Second encryption
=
Payload encryption
1 existing standard, currently looking for any implementations to get feedback:
➠ Privacy Enhanced RTP Conferencing (perc)
Normal Media Transfer: RTP
Encryption
RTP
Packet
(VP8)
Encoded
Media
RTP Header
VP8 payload descriptor
(Media Metadata)
Normal Media Transfer: RTP example with MPEG payload
Encryption
RTP Packet
(MPEG)
Encoded
Media
RTP Header
MEPG payload descriptor
(Media Metadata)
SRTP
Encryption
SRTP Packet
RTP Header
Encrypted
VP8
Encoded
Media
VP8 payload
descriptor
Signature
Existing double encryption standard: PERC
PERC (Privacy Enhanced RTP Conferencing, ietf working group)
Enabling end-to-end security in centralized switched RTP based conferences.
Trusted: Entities in the trusted domain are fully trusted to
perform the role and actions put on them. They may have
access to unprotected content and keying material used to
protect content end-to-end.
Semi-trusted: Semi-trusted entities have no access to
confidential material such as the content and the keying material
used to protect content end-to-end. They are however trusted to
perform basic operations for selective forwarding of content as
well as session establishment.
Semi-trusted on public internet
Existing double encryption standard: PERC
PERC (Privacy Enhanced RTP Conferencing, ietf working group)
Enabling end-to-end security in centralized switched RTP based conferences.
Javascript
Trusted For non-public networks
(vpns) javascript can be a trusted
layer
Steps:
1) Key exchange in client application
(javascript)
1) W3C api to set encryption keys
1) Media encryption / decryption in
webrtc.org
First Real World implementation with Jitsi
How packets flow in a webrtc SFU today
What’s the problem in case of double-encryption
Possible Solution
SRTP Encrypted Media Transfer: within an SFU
RTP
Packet
(VP8)
Encoded
Media
RTP Header
VP8 payload descriptor
(Media Metadata)
RTP
Packet
(VP8)
Encoded
Media
RTP Header
VP8 payload descriptor
MODIFIED
RTP
Packet
(VP8)
Encoded
Media
RTP Header
VP8 payload descriptor
MODIFIED
Note: You need to modify the SSRC to be able to terminate
RTCP and handle “noisy neighbors”
Encryption
Encryption
Encryption
EncryptionEncryption
EncryptionEncryption
SRTP Packet
RTP Header
Encrypted
VP8
Encoded
Media
VP8 payload
descriptor
Signature
EncryptionEncryption
RTP Header
Encrypted
VP8
Encoded
Media
VP8 payload
descriptor
Signature
EncryptionEncryption
EncryptionEncryption
RTP Header
Encrypted
VP8
Encoded
Media
VP8 payload
descriptor
Signature
Route packet
depending on
Payload
Headers
Encrypted HBH
Double-Encrypted Media Transfer: PERC (ex: WebRTC)
EncryptionEncryption
SRTP
PacketRTP Header
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
RTP
Packet
VP8
Encoded
Media
RTP Header
VP8 payload descriptor E2E HBH
Encryption
PERC Packet
RTP Header
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
Signature HBH
PERC Encrypted Media Transfer: within an SFU - PROBLEM
EncryptionEncryption
EncryptionEncryption
RTP Header
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
Route packet
depending on
Payload
Headers
HBH
SRTP
Packet
Encrypted HBH
Encryption
PERC Packet
RTP Header
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
Signature HBH
Solution: Frame Marking. Some info from the payload
descriptor is copied over in the RTP Header as an Extension
EncryptionEncryption
SRTP
PacketRTP Header
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
RTP
Packet
VP8
Encoded
Media
RTP Header
VP8 payload descriptor
E2E HBH
RTP Header Extention
NEW !
Impl By DrAlex
DrAlex modified Libwebrtc to copy the info from the payload descriptor into a RTP Header
Extension, to use external keys for E2E encryption, and implemented the second encryption in
the pipeline.
Encrypted HBH
Encryption
PERC Packet
RTP Header
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
Signature HBH
EncryptionEncryption
PERC Encrypted Media Transfer:
within a smart SFU
EncryptionEncryption
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
NEW !
Impl. By Jitsi
Encrypted HBH
Encryption
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
Signature HBH
HBH
PERC Packet SRTP
PacketRTP Header
RTP Header Extention
RTP Header
RTP Header Extention
EncryptionEncryption
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
RTP Header
RTP Header Extention
EncryptionEncryption
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
RTP Header
RTP Header Extention
Encrypted HBH
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
Signature HBH
RTP Header
RTP Header Extention
Encrypted HBH
Encrypted E2E
VP8
Encoded
Media
VP8 payload
descriptor
Signature E2E
Signature HBH
RTP Header
RTP Header Extention
The Jitsi team modified the Jitsi server to read the frame marking
header extension at the right place, but also to handle another
header extension proposed by PERC (2 items).
Thanks! Questions ?
How packets flow in a webrtc SFU today
What’s the problem in case of double-
encryption
Solution using standards.
RTP
SRTP
PERC – DOUBLE SRTP

Weitere ähnliche Inhalte

Andere mochten auch

WebRTC on Mobile | Kranky Geek SF 2016
WebRTC on Mobile | Kranky Geek SF 2016WebRTC on Mobile | Kranky Geek SF 2016
WebRTC on Mobile | Kranky Geek SF 2016Tsahi Levent-levi
 
Webrtc 동향과 이슈 2016.08
Webrtc 동향과 이슈 2016.08Webrtc 동향과 이슈 2016.08
Webrtc 동향과 이슈 2016.08sung young son
 
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Luis Lopez
 
WebRTC meetup barcelona 2017
WebRTC meetup barcelona 2017WebRTC meetup barcelona 2017
WebRTC meetup barcelona 2017Juan De Bravo
 
How WebRTC ushers the next wave of e-Learning innovation
How WebRTC ushers the next wave of e-Learning innovationHow WebRTC ushers the next wave of e-Learning innovation
How WebRTC ushers the next wave of e-Learning innovationTsahi Levent-levi
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTCvline
 
Kranky Geek 2015 - Decisions & Considerations in building your WebRTC App
Kranky Geek 2015 - Decisions & Considerations in building your WebRTC AppKranky Geek 2015 - Decisions & Considerations in building your WebRTC App
Kranky Geek 2015 - Decisions & Considerations in building your WebRTC AppKranky Geek
 
Kranky Geek WebRTC 2015 - Beyond P2P: Video routing in WebRTC
Kranky Geek WebRTC 2015 - Beyond P2P: Video routing in WebRTCKranky Geek WebRTC 2015 - Beyond P2P: Video routing in WebRTC
Kranky Geek WebRTC 2015 - Beyond P2P: Video routing in WebRTCKranky Geek
 
Kranky Geek WebRTC 2015 - Optimizing the customer experience
Kranky Geek WebRTC 2015 - Optimizing the customer experienceKranky Geek WebRTC 2015 - Optimizing the customer experience
Kranky Geek WebRTC 2015 - Optimizing the customer experienceKranky Geek
 
Kranky Geek WebRTC 2015 - What is Mozilla doing with Firefox?
Kranky Geek WebRTC 2015 - What is Mozilla doing with Firefox?Kranky Geek WebRTC 2015 - What is Mozilla doing with Firefox?
Kranky Geek WebRTC 2015 - What is Mozilla doing with Firefox?Kranky Geek
 
Kranky Geek WebRTC 2015 - A closer look at the WebRTC UX/UI API
Kranky Geek WebRTC 2015 - A closer look at the WebRTC UX/UI APIKranky Geek WebRTC 2015 - A closer look at the WebRTC UX/UI API
Kranky Geek WebRTC 2015 - A closer look at the WebRTC UX/UI APIKranky Geek
 
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTC
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTCKranky Geek WebRTC 2015 - The future of ORTC with WebRTC
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTCKranky Geek
 
Kranky Geek WebRTC 2015 - Best practices from billions of calls
Kranky Geek WebRTC 2015 - Best practices from billions of callsKranky Geek WebRTC 2015 - Best practices from billions of calls
Kranky Geek WebRTC 2015 - Best practices from billions of callsKranky Geek
 
[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래NAVER D2
 
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and AnalyticsKranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analyticscallstats.io
 
Kranky Geek WebRTC 2015 - What's next for WebRTC?
Kranky Geek WebRTC 2015 - What's next for WebRTC?Kranky Geek WebRTC 2015 - What's next for WebRTC?
Kranky Geek WebRTC 2015 - What's next for WebRTC?Kranky Geek
 

Andere mochten auch (17)

WebRTC on Mobile | Kranky Geek SF 2016
WebRTC on Mobile | Kranky Geek SF 2016WebRTC on Mobile | Kranky Geek SF 2016
WebRTC on Mobile | Kranky Geek SF 2016
 
Webrtc 동향과 이슈 2016.08
Webrtc 동향과 이슈 2016.08Webrtc 동향과 이슈 2016.08
Webrtc 동향과 이슈 2016.08
 
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
 
WebRTC meetup barcelona 2017
WebRTC meetup barcelona 2017WebRTC meetup barcelona 2017
WebRTC meetup barcelona 2017
 
How WebRTC ushers the next wave of e-Learning innovation
How WebRTC ushers the next wave of e-Learning innovationHow WebRTC ushers the next wave of e-Learning innovation
How WebRTC ushers the next wave of e-Learning innovation
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTC
 
Kranky Geek 2015 - Decisions & Considerations in building your WebRTC App
Kranky Geek 2015 - Decisions & Considerations in building your WebRTC AppKranky Geek 2015 - Decisions & Considerations in building your WebRTC App
Kranky Geek 2015 - Decisions & Considerations in building your WebRTC App
 
Kranky Geek WebRTC 2015 - Beyond P2P: Video routing in WebRTC
Kranky Geek WebRTC 2015 - Beyond P2P: Video routing in WebRTCKranky Geek WebRTC 2015 - Beyond P2P: Video routing in WebRTC
Kranky Geek WebRTC 2015 - Beyond P2P: Video routing in WebRTC
 
Kranky Geek WebRTC 2015 - Optimizing the customer experience
Kranky Geek WebRTC 2015 - Optimizing the customer experienceKranky Geek WebRTC 2015 - Optimizing the customer experience
Kranky Geek WebRTC 2015 - Optimizing the customer experience
 
Kranky Geek WebRTC 2015 - What is Mozilla doing with Firefox?
Kranky Geek WebRTC 2015 - What is Mozilla doing with Firefox?Kranky Geek WebRTC 2015 - What is Mozilla doing with Firefox?
Kranky Geek WebRTC 2015 - What is Mozilla doing with Firefox?
 
Kranky Geek WebRTC 2015 - A closer look at the WebRTC UX/UI API
Kranky Geek WebRTC 2015 - A closer look at the WebRTC UX/UI APIKranky Geek WebRTC 2015 - A closer look at the WebRTC UX/UI API
Kranky Geek WebRTC 2015 - A closer look at the WebRTC UX/UI API
 
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTC
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTCKranky Geek WebRTC 2015 - The future of ORTC with WebRTC
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTC
 
Kranky Geek WebRTC 2015 - Best practices from billions of calls
Kranky Geek WebRTC 2015 - Best practices from billions of callsKranky Geek WebRTC 2015 - Best practices from billions of calls
Kranky Geek WebRTC 2015 - Best practices from billions of calls
 
[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래
 
WebRTC
WebRTCWebRTC
WebRTC
 
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and AnalyticsKranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
 
Kranky Geek WebRTC 2015 - What's next for WebRTC?
Kranky Geek WebRTC 2015 - What's next for WebRTC?Kranky Geek WebRTC 2015 - What's next for WebRTC?
Kranky Geek WebRTC 2015 - What's next for WebRTC?
 

Mehr von Alexandre Gouaillard

Janus conf19: TUTORIAL: KITE with network-instrumentation
Janus conf19: TUTORIAL: KITE with network-instrumentationJanus conf19: TUTORIAL: KITE with network-instrumentation
Janus conf19: TUTORIAL: KITE with network-instrumentationAlexandre Gouaillard
 
KITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC TestingKITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC TestingAlexandre Gouaillard
 
Deploying WebRTC in a low-latency streaming service
Deploying WebRTC in a low-latency streaming serviceDeploying WebRTC in a low-latency streaming service
Deploying WebRTC in a low-latency streaming serviceAlexandre Gouaillard
 
Streaming Media West: Webrtc the future of low latency streaming
Streaming Media West: Webrtc the future of low latency streamingStreaming Media West: Webrtc the future of low latency streaming
Streaming Media West: Webrtc the future of low latency streamingAlexandre Gouaillard
 
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)Alexandre Gouaillard
 
Real-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCAlexandre Gouaillard
 
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoTAlexandre Gouaillard
 
2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - EnglishAlexandre Gouaillard
 
2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語Alexandre Gouaillard
 
WebRTC Object Model API - Transceivers
WebRTC Object Model API - TransceiversWebRTC Object Model API - Transceivers
WebRTC Object Model API - TransceiversAlexandre Gouaillard
 
WebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differencesWebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differencesAlexandre Gouaillard
 
Testing and packaging WebRTC Stack
Testing and packaging WebRTC StackTesting and packaging WebRTC Stack
Testing and packaging WebRTC StackAlexandre Gouaillard
 
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFWebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFAlexandre Gouaillard
 
WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015Alexandre Gouaillard
 
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaPlugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaAlexandre Gouaillard
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCAlexandre Gouaillard
 

Mehr von Alexandre Gouaillard (19)

Janus conf19: TUTORIAL: KITE with network-instrumentation
Janus conf19: TUTORIAL: KITE with network-instrumentationJanus conf19: TUTORIAL: KITE with network-instrumentation
Janus conf19: TUTORIAL: KITE with network-instrumentation
 
Janus conf'19: janus client side
Janus conf'19:  janus client sideJanus conf'19:  janus client side
Janus conf'19: janus client side
 
KITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC TestingKITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC Testing
 
Deploying WebRTC in a low-latency streaming service
Deploying WebRTC in a low-latency streaming serviceDeploying WebRTC in a low-latency streaming service
Deploying WebRTC in a low-latency streaming service
 
Streaming Media West: Webrtc the future of low latency streaming
Streaming Media West: Webrtc the future of low latency streamingStreaming Media West: Webrtc the future of low latency streaming
Streaming Media West: Webrtc the future of low latency streaming
 
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
 
Real-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTC
 
WebRTC Status Update - 2017Q2
WebRTC Status Update - 2017Q2WebRTC Status Update - 2017Q2
WebRTC Status Update - 2017Q2
 
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
 
2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English
 
2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語
 
WebRTC Object Model API - Transceivers
WebRTC Object Model API - TransceiversWebRTC Object Model API - Transceivers
WebRTC Object Model API - Transceivers
 
2015 Q4 webrtc standards update
2015 Q4 webrtc standards update2015 Q4 webrtc standards update
2015 Q4 webrtc standards update
 
WebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differencesWebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differences
 
Testing and packaging WebRTC Stack
Testing and packaging WebRTC StackTesting and packaging WebRTC Stack
Testing and packaging WebRTC Stack
 
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFWebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
 
WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015
 
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaPlugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
 

Kürzlich hochgeladen

Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 

Kürzlich hochgeladen (20)

Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 

PERC - Webrtc e2e media encryption with SFU

  • 2. Why do we need Privacy Enhanced WebRTC? WebRTC is end – to end encrypted by default, but webrtc is also p2p. Most recent webrtc solutions include a media server for many reasons including scalability. When used with a media server, webrtc is not end-to-end encrypted anymore, but only hop-by-hop (between the local peer and the media server, then between the media server and the remote peer) Large enterprises and banks in particular are slowly moving to the cloud but having their media content transparent to any 3rd party is a blocker, even worse if the solution is a mutualized (multi-tenants) infrastructure
  • 3. Cloud provider Alice Bob Encryption Key are generated in/by the browser Application Server Communications over the public internet via a 3rd party Cloud Provider Javascript Frontend Javascript Frontend WebRTC Default Case - P2P This is a true End-To-End encryption (E2E)
  • 4. TURN Server Cloud provider Alice Bob Encryption Key are generated in/by the browser Application Server Communications over the public internet via a 3rd party Cloud Provider Javascript Frontend Javascript Frontend WebRTC Default Case - TURN A TURN Server DOES NOT terminates the encryption. In this case this is also a true End-To-End encryption (E2E)
  • 5. Media Server Cloud provider Alice Bob Encryption Key are generated in/by the browser Application Server Communications over the public internet via a 3rd party Cloud Provider WebRTC Default Case - Media Server A media Server DOES terminate the encryption: The content is accessible in clear on the server. It is called Hop- by-Hop encryption (HBH) RAW MEDIA / CONTENT Javascript Frontend Javascript Frontend
  • 6. Enterprise Internal Network Media Server Cloud “Untrusted” provider Alice Bob Encryption Keys Application Server Internal Communications via a 3rd party Cloud Provider Javascript Frontend Javascript Frontend Double encryption Trusted Network Connection The key manager is separated from the browser UA. Browser/app are provided with two keys. One is used to encrypt the content itself, and not accessible to the media server. It acts as a garant of ETE encryption of the content. The other one is used for the normal SRTP encryption, an HBH encryption of the global stream. This allow backward compatibility with webRTC while adding true E2E encryption.
  • 7. What are the specs surrounding secure media transfer? RTP SRTP PERC – DOUBLE SRTP
  • 8. 2 standard committees involved in WebRTC Standard committees Committee Focus Scope Effort W3C Browser (UserAgent) Javascript API in browsers Key management API IETF Encryption, Network Libwebrtc native code (C++) Second encryption = Payload encryption 1 existing standard, currently looking for any implementations to get feedback: ➠ Privacy Enhanced RTP Conferencing (perc)
  • 9. Normal Media Transfer: RTP Encryption RTP Packet (VP8) Encoded Media RTP Header VP8 payload descriptor (Media Metadata)
  • 10. Normal Media Transfer: RTP example with MPEG payload Encryption RTP Packet (MPEG) Encoded Media RTP Header MEPG payload descriptor (Media Metadata)
  • 12. Existing double encryption standard: PERC PERC (Privacy Enhanced RTP Conferencing, ietf working group) Enabling end-to-end security in centralized switched RTP based conferences. Trusted: Entities in the trusted domain are fully trusted to perform the role and actions put on them. They may have access to unprotected content and keying material used to protect content end-to-end. Semi-trusted: Semi-trusted entities have no access to confidential material such as the content and the keying material used to protect content end-to-end. They are however trusted to perform basic operations for selective forwarding of content as well as session establishment. Semi-trusted on public internet
  • 13. Existing double encryption standard: PERC PERC (Privacy Enhanced RTP Conferencing, ietf working group) Enabling end-to-end security in centralized switched RTP based conferences. Javascript Trusted For non-public networks (vpns) javascript can be a trusted layer Steps: 1) Key exchange in client application (javascript) 1) W3C api to set encryption keys 1) Media encryption / decryption in webrtc.org
  • 14. First Real World implementation with Jitsi How packets flow in a webrtc SFU today What’s the problem in case of double-encryption Possible Solution
  • 15. SRTP Encrypted Media Transfer: within an SFU RTP Packet (VP8) Encoded Media RTP Header VP8 payload descriptor (Media Metadata) RTP Packet (VP8) Encoded Media RTP Header VP8 payload descriptor MODIFIED RTP Packet (VP8) Encoded Media RTP Header VP8 payload descriptor MODIFIED Note: You need to modify the SSRC to be able to terminate RTCP and handle “noisy neighbors” Encryption Encryption Encryption EncryptionEncryption EncryptionEncryption SRTP Packet RTP Header Encrypted VP8 Encoded Media VP8 payload descriptor Signature EncryptionEncryption RTP Header Encrypted VP8 Encoded Media VP8 payload descriptor Signature EncryptionEncryption EncryptionEncryption RTP Header Encrypted VP8 Encoded Media VP8 payload descriptor Signature Route packet depending on Payload Headers
  • 16. Encrypted HBH Double-Encrypted Media Transfer: PERC (ex: WebRTC) EncryptionEncryption SRTP PacketRTP Header Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E RTP Packet VP8 Encoded Media RTP Header VP8 payload descriptor E2E HBH Encryption PERC Packet RTP Header Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E Signature HBH
  • 17. PERC Encrypted Media Transfer: within an SFU - PROBLEM EncryptionEncryption EncryptionEncryption RTP Header Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E Route packet depending on Payload Headers HBH SRTP Packet Encrypted HBH Encryption PERC Packet RTP Header Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E Signature HBH
  • 18. Solution: Frame Marking. Some info from the payload descriptor is copied over in the RTP Header as an Extension EncryptionEncryption SRTP PacketRTP Header Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E RTP Packet VP8 Encoded Media RTP Header VP8 payload descriptor E2E HBH RTP Header Extention NEW ! Impl By DrAlex DrAlex modified Libwebrtc to copy the info from the payload descriptor into a RTP Header Extension, to use external keys for E2E encryption, and implemented the second encryption in the pipeline. Encrypted HBH Encryption PERC Packet RTP Header Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E Signature HBH
  • 19. EncryptionEncryption PERC Encrypted Media Transfer: within a smart SFU EncryptionEncryption Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E NEW ! Impl. By Jitsi Encrypted HBH Encryption Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E Signature HBH HBH PERC Packet SRTP PacketRTP Header RTP Header Extention RTP Header RTP Header Extention EncryptionEncryption Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E RTP Header RTP Header Extention EncryptionEncryption Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E RTP Header RTP Header Extention Encrypted HBH Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E Signature HBH RTP Header RTP Header Extention Encrypted HBH Encrypted E2E VP8 Encoded Media VP8 payload descriptor Signature E2E Signature HBH RTP Header RTP Header Extention The Jitsi team modified the Jitsi server to read the frame marking header extension at the right place, but also to handle another header extension proposed by PERC (2 items).
  • 20. Thanks! Questions ? How packets flow in a webrtc SFU today What’s the problem in case of double- encryption Solution using standards. RTP SRTP PERC – DOUBLE SRTP