WebRTC Expo - Signaling Workshop2014nov

18

Transcript of WebRTC Expo - Signaling Workshop2014nov

Page 1: WebRTC Expo - Signaling Workshop2014nov
Page 2: WebRTC Expo - Signaling Workshop2014nov

Signaling  for  Different  Applica2ons  

Tom  Sheffler  

Page 3: WebRTC Expo - Signaling Workshop2014nov

Signaling  Challenges  in  the  Large  

•  Signaling  –  what  is  it?  •  Scaling  Issues  •  Security  Issues  •  Mobility  Issues  

Page 4: WebRTC Expo - Signaling Workshop2014nov

•  WebRTC  defines  the  media  plane  but  leaves  Signaling  undefined  

UDP    or    TCP  

Media  Flow  

DTLS-­‐SRTP  

*Web  browsers  are  not  servers  

Page 5: WebRTC Expo - Signaling Workshop2014nov

How  to  send  a  no2fica2on  to  web  page?  

Signaling  Server  

WSS  

WSS  

“I  want  to  call  you”  

“OK,  here  is  how  you  call  me”  

*UDP  is  not  an  op2on  

Page 6: WebRTC Expo - Signaling Workshop2014nov

Signaling  Server  

WSS  

WSS  

“I  want  to  call  you”  

“OK,  here  is  how  you  call  me”  

UDP    or    TCP  

Media  Flow  

DTLS-­‐SRTP  

Page 7: WebRTC Expo - Signaling Workshop2014nov

Signaling  with  SIP  –  an  example  

db  

INVITE  INVITE  

100  Trying  183  Progress  

183  Progress  200  OK  

200  OK  

ACK  ACK  

Media:  RTP/RTCP  Stream  

BYE  

200  OK  200  OK  

BYE  

SIP  Server  

Terminal  1   Terminal  2  

Page 8: WebRTC Expo - Signaling Workshop2014nov

Implica2ons  of  Signaling  on  Scaling  

Signaling  Server  

WSS  

WSS  

Terminal  1   Terminal  2   Terminal  3   Terminal  1,000,000  

WSS  

WSS  

*  millions  of  open  connec2ons  

Page 9: WebRTC Expo - Signaling Workshop2014nov

Scaling  

•  The  Signaling  Service  must  be  capable  of  maintaining  millions  of  open  TCP  connec2ons.  

•  A  single  server  cannot  do  this.  •  A  distributed  architecture  is  necessary.  –  this  is  difficult  

Page 10: WebRTC Expo - Signaling Workshop2014nov

Security  

•  WebRTC  Security  evaluated  against  three  safety  objec2ves  – Confiden2ality  -­‐  WebRTC  –  Integrity  -­‐  WebRTC  – Authen2city  -­‐  WebRTC  

Page 11: WebRTC Expo - Signaling Workshop2014nov

Confiden2ality  

•  Data  transferred  between  two  peers  does  not  reach  an  untrusted  third  party.  – handled  by  encryp2on  

Media  Flow  

DTLS-­‐SRTP  

Page 12: WebRTC Expo - Signaling Workshop2014nov

Integrity  

•  Data  is  not  modified  on  the  way  to  the  receiver  and  that  the  receiver  can  detect  modifica2on.  

DTLS-­‐SRTP  

Man-­‐in-­‐the-­‐Middle  

Page 13: WebRTC Expo - Signaling Workshop2014nov

Authen2city  

•  The  claim  that  the  real-­‐2me  data  is  really  coming  from  who  you  think  it  is.  

•  WebRTC  endpoints  are  not  2ed  to  user  iden22es.  •  This  becomes  an  issue  of  the  signaling  layer.  

Page 14: WebRTC Expo - Signaling Workshop2014nov

Authen2ca2on  

Partner  Applica2on  

Auth  Client  

RTC  Cloud  

RTC  JS  

token  

authen

2cate  

“bob”  

token  

Users  

uid1:bob  uid2:alice  

authorize  uid1   Connec2ons  

bob:token  

Signaling  Server  

WSS  

Page 15: WebRTC Expo - Signaling Workshop2014nov

Authen2city:  Maintain  a  Chain  Of  Trust  

Terminal  1  Terminal  2  

Signaling  Server  

Iden2ty  Provider  

“I  am  Dr.  Welby”   “T1  is  Dr.  Welby”   “Dr.  Welby  is  calling”  

Page 16: WebRTC Expo - Signaling Workshop2014nov

Mobility  

•  mobile  devices  hop  networks  (4G  <-­‐>  WiFi)  •  their  IP  address  changes  

•  Handoffs  between  cells  affects  IP  addresses  – sudden  changes  in  network  connec2vity  [RFC5944:  mobilility]  

•  WebRTC  technologies  do  not  really  address  changing  network  topologies  

Page 17: WebRTC Expo - Signaling Workshop2014nov

When  Bob  moves  his  IP  address  changes  

Signaling  Server  

Connec2ons  

bob:IP-­‐Address  

“bob”  

Internet  

Page 18: WebRTC Expo - Signaling Workshop2014nov

Summary  

•  WebRTC  defines  media  flow,  but  leaves  signaling  undefined  – This  leaves  room  for  lots  of  innova2on  •  SIP  over  WebSockets,  PubNub,  Bespoke  Protocols  

– Be  aware  of  the  challenges  •  Scaling  -­‐  to  millions  of  open  TCP  connec2ons  •  Security  -­‐  ensuring  the  Authen2city  of  callers  •  Mobility  –  signaling  in  the  face  of  changing  network  topology