measuring performance overhead of trans encrypting http
play

Measuring Performance Overhead of Trans-encrypting HTTP Adaptive - PowerPoint PPT Presentation

Measuring Performance Overhead of Trans-encrypting HTTP Adaptive Streaming Abe Wiersma BSc. July 4, 2017 University of Amsterdam TNO Media-lab Introduction Problem Major leaks of blockbuster titles. 1 Introduction Problem Major leaks of


  1. Measuring Performance Overhead of Trans-encrypting HTTP Adaptive Streaming Abe Wiersma BSc. July 4, 2017 University of Amsterdam TNO Media-lab

  2. Introduction Problem Major leaks of blockbuster titles. 1

  3. Introduction Problem Major leaks of blockbuster titles. 2

  4. Introduction Problem Major leaks of blockbuster titles. • Push to better secure DRM pipeline. 3

  5. Introduction Problem Major leaks of blockbuster titles. • Push to better secure DRM pipeline. Solution Testing trans-encryption as an alternate form of encryption for the DRM pipeline. 3

  6. Research question • What is the performance overhead of doing a trans-encryption step for HTTP Adaptive Streaming. • How can available hardware efficiently be used to trans-encrypt content. 4

  7. Background

  8. HTTP Adaptive streaming • Segment(ed/able) video. • Manifest • Four flavours: • Microsoft HTTP Smooth Streaming (HSS) • Adobe HTTP Dynamic Streaming (HDS) • Apple HTTP Live Streaming (HLS) • MPEG Dynamic Adaptive Streaming over HTTP (DASH) • Traditional HTTP client/server architecture. 5

  9. HTTP Adaptive streaming Server Diagram showing simplified content preparation for HTTP Adaptive Streaming. 6

  10. HTTP Adaptive streaming Client Available Bandwidth Network Congestion High bitrate Medium bitrate Low bitrate time Diagram showing simplified adaptive algorithm for HTTP Adaptive Streaming. 7

  11. Digital Rights Management Components 1. Common Encryption Scheme (CENC) • AES-128 Cipher Block Chaining (CBC) • AES-128 Counter (CTR) 8

  12. Digital Rights Management Components 1. Common Encryption Scheme (CENC) • AES-128 Cipher Block Chaining (CBC) • AES-128 Counter (CTR) 2. Browser 8

  13. Digital Rights Management Components 1. Common Encryption Scheme (CENC) • AES-128 Cipher Block Chaining (CBC) • AES-128 Counter (CTR) 2. Browser 3. DRM Systems & License Servers • Google Widevine • Microsoft Playready • Apple Fairplay • Adobe Primetime • Others (OSS also) 8

  14. Digital Rights Management Intermission 1. Common Encryption Scheme (CENC) • AES-128 Cipher Block Chaining (CBC) • AES-128 Counter (CTR) 2. Browser 3. DRM Systems & License Servers • Google Widevine • Microsoft Playready • Apple Fairplay • Adobe Primetime • Other (OSS also) 9

  15. Digital Rights Management Components 1. Common Encryption Scheme (CENC) • AES-128 Cipher Block Chaining (CBC) • AES-128 Counter (CTR) 2. Browser 3. DRM Systems & License Servers • Google Widevine • Microsoft Playready • Apple Fairplay • Adobe Primetime • Others 4. Encrypted Media Extensions (EME) 10

  16. Digital Rights Management Components 1. Common Encryption Scheme (CENC) • AES-128 Cipher Block Chaining (CBC) • AES-128 Counter (CTR) 2. Browser 3. DRM Systems & License Servers • Google Widevine • Microsoft Playready • Apple Fairplay • Adobe Primetime • Others 4. Encrypted Media Extensions (EME) 5. Content Decryption Module (CDM) 10

  17. Approach

  18. Split-key cryptosystem Theory 11

  19. Split-key cryptosystem Theory Trans-encryption 1 • RSA • One time path • LFSR stream cipher • ElGamal • Damgard-Jurik 1 As per patent: Secure distribution of content. 12

  20. Split-key cryptosystem Theory Trans-encryption 2 • RSA - Widely standardized. • One time path - Keysize increases with 100% keysize per trans-encryption. • LFSR stream cipher - A number of insecure applications.. • ElGamal - Similar performance, hangs on discrete log, less standardized. • Damgard-Jurik - No notable implementations. 2 As per patent: Secure distribution of content. 13

  21. Split-key cryptosystem RSA E ( X ) = X e (mod n ) D ( X ) = X d (mod n ) 14

  22. Split-key cryptosystem Implementation RSA • Generate Pair 1 (Public & Private) • Create Pair 2 (same mod) and Combined pair (Pair 1 × Pair 2) • Encrypt (Pair 1/Combined) • Trans-encrypt (Encryption/Decryption 1) • Client-decrypt (Decryption combined/Decryption 2) 15

  23. Split-key cryptosystem Implementation RSA-2048 • openssl genrsa • C rsa create combined • Python encrypt.py + C rsa encrypt • C rsa trans / rsa trans dec • C rsa client decrypt 16

  24. HTTP server Japronto? Requirements • Low overhead • Simple • Fast • Free? (Opensourced) Solution Japronto 17

  25. HTTP server Japronto! 18 A graph by the author squeaky-pl showing the performance of japronto.

  26. Experimental Set-up A diagram showing the experimental set-up. 19

  27. Results

  28. Results Throughput for HTTP Adaptive Segments 1000MB/s Passthrough MB/s AES re-encryption MB/s RSA trans-encryption (encryption) MB/s RSA trans-encryption (decryption) MB/s 1Gbit/s - Link Speed 100MB/s (111.47) (75.04) (log scale higher is better) Mean throughput MB/s (33.69) (27.76) (24.51) (21.73) (14.5) 10MB/s (8.83) Required throughput for H.264 1080p streams (1.04) 1MB/s (0.65) (0.35) (0.17) 20 0MB/s 1 10 100 1000 concurrent connections

  29. Conclusion

  30. Conclusion Conclusion Server-side trans-encryption with the public exponent is possible Drawback Client-side decryption will prove tough on the performance 21

  31. Future work

  32. Future work Future work Possibly implement a decrypting client. 22

  33. Questions? 22

  34. 23 A graph showing factorization efforts. 3

Recommend


More recommend