Secure Remote Service Execution for Web Media Streaming
Total Page:16
File Type:pdf, Size:1020Kb
Secure Remote Service Execution for Web Media Streaming vorgelegt von Dipl.-Ing. Alexandra Mikityuk geb. in Leningrad, UdSSR von der Fakultät IV – Elektrotechnik und Informatik der Technischen Universität Berlin zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften - Dr.-Ing. - genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr. Thomas Magedanz, Technische Universität Berlin Gutachter: Prof. Dr. Jean-Pierre Seifert, Technische Universität Berlin Gutachter: Prof. Dr. Jean-Claude Dufourd, ParisTech Gutachter: Prof. Dr.-Ing. Ina Schieferdecker, Technische Universität Berlin Tag der wissenschaftlichen Aussprache: 29. August 2017 Berlin 2017 D 83 Abstract Through continuous advancements in streaming and Web technologies over the past decade, the Web has become a platform for media delivery. Web standards like HTML5 have been designed accordingly, allowing for the delivery of applications, high-quality streaming video, and hooks for interoperable content protection. Efficient video encoding algorithms such as AVC/HEVC and streaming protocols such as MPEG-DASH have served as additional triggers for this evolution. Users now employ Web browsers as a tool for receiving streaming media and rendering Web applications, and browsers have been embedded into almost every kind of connected device. The drawback of these technical developments and quick rate of user adoption is that modern Web browsers have introduced significant constraints on devices’ capabilities. First, the computational requirements have risen continuously, resulting in a cycle where modern devices can be nearly outdated after a year or two. Second, as the integration of browser technologies is a complicated matter, not every platform provides the same performance. Different Operating Systems (OSs), chipsets and software engines are the main reasons for this difference in performance. The result is a tremendous diversity of devices, which demands significant efforts in appli- cation development and requires platform-specific adaptions. Finally, browsers, with their prominence on the Web, have become an attractive weak point for hackers to attack. This thesis addresses the drawbacks of local browser execution with a novel concept for Secure Remote Service Execution (SRSE). SRSE does not treat the symptoms of the problem. Instead, it addresses the cause. By shifting application execution to a remote machine, it delivers the entire user interface as a video stream to end-users. This resolves device dependencies and enables a secure execution, as none of the application code is executed on the device. This thesis also defines various architectural approaches to SRSEs. They enable flexibility with regard to addressing traditional media services with SRSEs and can create significant computing and network resource savings. As state-of-the-art Web media delivery is based on locally executed services, SRSEs have a profound impact on existing standards and corresponding implementations. As a response to these environments, new techniques and interfaces are identified and specified throughout this thesis as the need for them arises. iii Zusammenfassung Im letzten Jahrzehnt hat sich das Internet durch kontinuierliche Fortschritte im Bereich der Streaming- und Web-Technologien zu einer Plattform für die Videobereitstellung entwickelt. Entsprechend wurden Web-Standards wie HTML5 eingeführt, welche die Bereitstellung von Anwendungen, qualitativ hochwertigem Video-Streaming und die Integrationen von interoperablen Inhalte-Schutz-Mechanismen ermöglichen. Neben effizienten Video-Kodierungsalgorithmen dienten moderne Streaming-Protokolle als zusätzliche Auslöser für diese Entwicklung. Für den Anwender ist der Web-Browser zum uni- versellen Werkzeug für den Empfang von Video und dem Rendering von Web-Anwendungen geworden und ist heute in fast alle Arten von internetfähigen Geräten integriert. Der Nachteil dieser sehr schnellen technischen Entwicklungen und großen Benutzerakzep- tanz ist, dass moderne Web-Browser erhebliche und ständig steigende Anforderungen an die Fähigkeiten der Geräte stellen. Erstens sind die Rechenanforderungen kontinuierlich gestiegen, was zu einem Zyklus führte, in dem moderne Geräte bereits nach zwei Jahren ersetzt werden müssen. Zweitens - und speziell aufgrund der Komplexität bei der Integration von Browser-Technologie in die Endgeräte - bietet nicht jede Plattform die gleiche Leis- tung: unterschiedliche Betriebssysteme, Chipsätze und Software-Treiber sind die wichtigsten Gründe für Leistungsunterschiede. Hiermit ergibt sich eine enorme Vielfalt von Geräten, die erhebliche Anstrengungen bei der Anwendungsentwicklung verlangen und oft plattformspezifische Anpassungen erfordern. Schließlich ist der Browser durch seine Bedeutung im Web und bekannte Schwachstellen zu einem attraktiven Ziel für Hacker geworden. Die vorliegende Arbeit adressiert die soeben beschriebenen Nachteile der lokalen Aus- führung von Web-Applikationen mit der Einführung eines neuartigen Konzepts, genannt Secure-Remote-Service-Execution (SRSE). SRSE behandelt nicht die Symptome der lokalen Applikationsausführung, sondern befasst sich mit der Ursache: Durch das Verlagern der Ausführung der Web-Anwendungen auf einen entfernten Rechner liefert SRSE ein Abbild der Applikation als Videostrom zum Endnutzer. Dies löst das Problem der Abhängigkeit vom Endgerät und ermöglicht hiermit eine sichere, in der Cloud gekapselte Dienstausführung. Im Rahmen der Arbeit werden verschiedene Architekturansätze für SRSEs definiert. Sie ermöglichen Flexibilität bei der Adaptierung von traditionellen Mediendiensten für SRSEs und schaffen erhebliche Einsparungen von Rechen- und Netzwerkressourcen. Durch die Einführung der SRSE ergibt sich außerdem ein nachhaltiger Anpassungsbedarf an die bisherigen Spezifikationen, Protokolle und Schnittstellen zur lokalen Applikationsaus- führung. Die neuen Anforderungen werden in der vorliegenden Arbeit analysiert, bewertet und anschließend in Form von neuen Verfahren und Schnittstellen definiert und teilweise prototypisch implementiert und evaluiert. v Acknowledgement I am very grateful to my advisor Prof. Dr. Jean-Pierre Seifert for his knowledge and assistance, as well as motivating and encouraging me through all the years of my research. I would also like to thank my supervisors Prof. Dr.-Ing. Ina Schieferdecker and Prof. Dr. Jean- Claude Dufourd for their very thorough feedback and insightful comments. I am indebted to my colleagues Dr. Oliver Friedrich, Dr. Stefan Arbanowski and Dr. Randolph Nikutta for their constant support, valuable feedback and generous guidance. Their immense knowledge was essential in building my understanding of this field of research. My special thanks go out to my lab partners Stefan Pham, Benjamin Zachey, David Livshits, Eugen Osiptschuk, Robin Stinder and Dr. Julian Vetter for contributing to my work, support- ing with their experience and our effective and fun collaboration. I want to thank my family and friends for taking on the sometimes difficult task of consis- tently supporting me throughout all the PhD years, for their patience and for constantly motivating me. To Jocky for his incredible support and endless belief in me. Alexandra Mikityuk vii Contents 1 Introduction 1 1.1 Motivation . 1 1.2 Problem Statement . 3 1.3 Scope . 4 1.4 Research Questions . 8 1.5 Research Methodology & Outline . 9 1.6 Author’s Publications . 9 2 State-of-the-Art 13 2.1 Media Service Execution . 13 2.1.1 Media Service Execution Environments . 14 2.1.2 Browser-based Approach . 15 2.1.3 Web Browser Insecurity . 17 2.2 Web Media Streaming and its Protection . 18 2.2.1 Media Streaming on the Web . 18 2.2.2 Protecting Media Streaming on the Web . 21 2.2.3 Trusted Execution Environments . 28 2.3 Interactive Services . 31 2.3.1 Interactive TV . 32 2.3.2 Hybrid Broadcast Broadband TV Standard . 32 2.3.3 Processing of HbbTV Applications . 33 2.3.4 HbbTV Insecurity . 36 2.4 Related Work . 37 2.4.1 Remote Service Execution and its Security Threats . 37 2.4.2 Protected Streaming . 40 2.4.3 Interactive Services . 43 2.5 Summary . 44 3 Requirements Analysis for Secure Remote Service Execution 47 3.1 Secure Remote Service Execution . 47 3.1.1 Remote Function Execution . 47 3.1.2 Secure Hardware-agnostic System . 49 3.1.3 Security Functions . 49 3.2 Secure Streaming . 50 3.2.1 Streaming . 50 3.2.2 Secure Streaming . 51 3.3 Secure Interactive Contents . 51 3.3.1 Secure Integration . 51 3.3.2 Interoperability . 52 ix 3.3.3 Signaling Processing . 52 3.4 Analysis of Requirements . 52 3.5 Summary . 57 4 Secure Remote Service Execution Functional Architecture and Specification 59 4.1 Secure Remote Service Execution . 59 4.1.1 Secure Remote Service Execution Functions . 59 4.1.2 SRSE Functional Architecture . 62 4.1.3 Specification of Secure Cloud Browser . 64 4.2 Secure Streaming Service . 67 4.2.1 Functional Architecture . 67 4.2.2 Specification of Streaming . 69 4.2.3 Specification of Secure Streaming . 75 4.3 Secure Interactive Contents . 80 4.3.1 Secure Interactive Contents Functions . 81 4.3.2 Functional Architecture . 82 4.3.3 Specification of Secure Interactive Contents Service . 83 4.4 Summary . 86 5 Implementation 87 5.1 Secure Cloud Browser Client . 87 5.2 Hardware-assisted EME . 89 5.2.1 Implementation Platform . 90 5.2.2 Architecture Implementation . 92 5.3 Hardware-assisted Red-button Signaling Processing . 95 6 Evaluation 99 6.1 Secure Remote Service Execution . 99 6.1.1 Media Service Execution Models . 99 6.1.2 Network Load Impact . 102 6.1.3 Cloud Browser