webrtcendpoint improving establishment connection time
play

WebRtcEndpoint: improving establishment connection time IETF 96 - PowerPoint PPT Presentation

WebRtcEndpoint: improving establishment connection time IETF 96 Hackathon July 16-17, 2016 Berlin, Germany Miguel Pars mparisdiaz@gmail.com Who I am Miguel Pars Software Engineer T elematic Systems Master's Researcher at


  1. WebRtcEndpoint: improving establishment connection time IETF 96 Hackathon July 16-17, 2016 Berlin, Germany Miguel París mparisdiaz@gmail.com

  2. Who I am Miguel París Software Engineer ● T elematic Systems Master's ● Researcher at Universidad Rey ● Juan Carlos (Madrid, Spain) Kurento real-time responsible ● mparisdiaz@gmail.com ● T witter: @mparisdiaz ● 2

  3. Goals Support ECDSA in Kurento Media Server  [rtcweb] Security architecture: Making ECDSA mandatory – https://www.ietf.org/mail-archive/web/rtcweb/current/msg14754.html ● Verifying DTLS handshake ● Chrome – KMS – Firefox – KMS – KMS - KMS – Profjling ● RSA vs ECDSA – Relate saved CPU to SRTP (protect/unprotect) – 3

  4. Implementation Use libssl 1.0.2d (OpenSSL)  Generate EC private key  Generate EC parameters from EC group  Generate self-signed certifjcate  Add confjguration to use RSA or ECDSA ● 4

  5. Verifying At the beginning it didn't work because we missed the next  line, but thanks to David Benjamin's help we could fjx it :D EC_GROUP_set_asn1_flag (group, OPENSSL_EC_NAMED_CURVE); Then everything worked fjne ● Chrome – KMS – Firefox – KMS – KMS - KMS – 5

  6. Profjling types Only time  Could be indicative – But it is not a good idea for precise comparatives – Depends on the CPU load, locks, number of context – switchings, etc. CPU cycles per function ● Deterministic measure – callgrind – 6

  7. Profjling results CPU cycles/call RSA ECDSA ~250k EC_GROUP_new_by_curve_name ~420M KEY GENERATION (110k) (RSA_generate_key) EC_KEY_generate_key (140k) ~12.9M ~400k SIGN (RSA_sign) (ECDSA_sign) Key generation improvement: ~1680x  Sign improvement: ~32x  7

  8. Comparing to SRTP RSA –> ECDSA SRTP SRTP CPU cycles/call (saving) audio video KEY GENERATION ~420M ~9k ~22k (150-200 (~1200 Bytes/packet) Bytes/packet) SIGN ~12.5M Number Audio Number Video (500kbps) audio packets seconds video packets seconds KEY GENERATION ~46.5k ~920 ~19k ~320 SIGN ~1400 ~30 ~570 ~10 8

  9. Future work Finish landing this improvements into Kurento Media Server  Continuous Integration verifying (Jenkins) Code review (Gerrit)   Update KMS automatic profjling  Contribute to GStreamer community ● gst-plugins-bad: dtlsenc/dtlsdec elements – Also used by OpenWebRTC (Ericsson) – 9

  10. Thank you http://www.nubomedia.eu http://www.kurento.org http://www.github.com/kurento http://www.fj-ware.org info@kurento.org T witter: @kurentoms http://ec.europa.eu Miguel París mparisdiaz@gmail.com

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend