End‐to‐End Security And Resource Optimization For Broadband Satellite Networks
Short Description
End‐to‐End Security And Resource Optimization For Broadband Satellite Networks...
Description
UNIVERSITÀ DEGLI STUDI DI ROMA “TOR VERGATA”
Degree of Philosophy Doctor in Space Systems and Technologies XXVII Cycle
End-‐to-‐End Security And Resource Optimization For Broadband Satellite Networks Ahmed Abdelsalam
Tutor: Prof. Michele Luglio
2014/15
Coordinator: Prof. Gian Carlo Cardarilli
ACKNOWLEDGMENT
This thesis is an output of the work I have been carrying over the last three years at the Satellite Multimedia Group (TLCSat1) in the University of Rome Tor Vergata.
At this moment, I wish to thank my supervisor, Prof. Michele Luglio, for his guidance and honest feedback, leading to the development and improvement of the work presented in this thesis. Also I am very grateful to my colleagues in TLCSat group, Dr. Ing. Cesare Roseti and Dr. Ing. Francesco Zampognaro for their extended support and guidance that resulted to this final work.
I would like also to thank Dr. Ing. Daniel Caragata, Universidad Técnica Federico Santa María, Chile, for his interest, advice, and assistance that helped to improve and validate the development of the security mechanism presented in this thesis.
Finally and importantly, special thanks and appreciation to my beloved parents and my dear sister for their continuing support and encouragement during every stage of my life’s journey.
1
http://tlcsat.uniroma2.it/
I
PUBLICATIONS
Most of the work presented in this thesis has been published, accepted, or even submitted for publication in research projects, peer reviewed International conferences, and international journals: International Journals •
•
•
Caviglione L.; Gotta A.; Abdel Salam A.; Luglio M.; Roseti C.; and Zampognaro F., “Performance Evaluation of HTTP and SPDY over a DVB-‐RCS Satellite Link with Different BoD Schemes”, In Personal Satellite Services. Springer International Publishing, 2014. Abdelsalam, Ahmed; Caviglione, Luca; Celandroni, Nedo; Collina, Matto; Cruickshank, Haitham; Fairhurst, Gorry; Ferro, Erina; Gotta, Alberto; Luglio, Michele; Roseti, Cesare; Secchi, Raffaello; Sun, Zhili; Vanelli, Alessandro,“A Deep Analysis on Future Web Technologies and Protocols over Broadband GEO Satellite Networks”, International Journal of Satellite Communications and Networking, (Submitted August 2014). Abdelsalam, Ahmed; Caragata Daniel, Luglio, Michele; Roseti, Cesare; Zampognaro, Francesco, “Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)”, International Journal of Satellite Communications and Networking, (Submitted January 2015).
International Conferences •
•
•
•
•
Salam, A.A.; Luglio, M.; Roseti, C.; Zampognaro, F., "DVB-‐RCS security framework for ULE-‐based encapsulation" 9th International Wireless Communications and Mobile Computing Conference (IWCMC), 2013, vol., no., pp.131, 136, 1-‐5 July 2013, Italy. Salam, A.A.; Luglio, M.; Roseti, C.; Zampognaro, F., “SPDY Multiplexing Approach on Long-‐latency Links” IEEE Wireless Communications and Networking Conference (WCNC), 2014, pp. 3492, 3497, 6-‐9 April 2014, Istanbul, Turkey. Salam, A.A.; Luglio, M.; Roseti, C.; Zampognaro, F., “Resource Optimization Over DVB-‐RCS Satellite Links Through the Use of SPDY” 10th International Workshop on Resource Allocation, Cooperation and Competition in Wireless Network RAWNET/WNC3 2014, 25-‐29 May 2014, Hammamet, Tunisia. Salam, A.A.; Luglio, M.; Roseti, C.; Zampognaro, F., “SPDY over satellite: performance optimization through an end-‐to-‐end technology” 37th International Conference on Telecommunications and Signal Processing (TSP) 2014, 1-‐3 July 2014, Berlin, Germany. Caviglione L.; Gotta A.; Abdel Salam A.; Luglio M.; Roseti C.; and Zampognaro F., “Performance Evaluation of HTTP and SPDY over a DVB-‐RCS Satellite Link with Different BoD Schemes” 6th International Conference on Personal Satellite Services 2014, 28-‐29 July 2014, Genova, Italy. II
Research Projects •
• • •
SPARC – Space Awareness for Critical Infrastructures -‐ The Telecommunication Terrestrial Networks Role And Its Dependencies With Regard To Satellite Assets. 11, 2013 SatNEx III -‐ Future Web technologies and protocols over broadband GEO satellite networks. SatNex III. Deliverable CoO3-‐Task 3 -‐ 10, 2013. SatNex III -‐ State-‐of-‐the-‐art Web Technologies and Protocols State-‐of-‐the-‐art Web Technologies and Protocols. SatNex III. Deliverable CoO3-‐Task3 -‐ 12, 2013 SatNex III -‐ Future Web Technologies and Protocols over Broadband GEO Satellite Networks -‐ New Web Modelling for Satellite Study Recommendations. SatNex III. Deliverable CoO3-‐Task3 -‐ 1, 2014
III
ABSTRACT
The Satellites represent a solution for Internet connectivity and data distribution in isolated locations, on high mobility platforms such as planes, ships or high-‐speed trains or for disaster recovery applications. However, due to the characteristics of the satellite systems, the data transmission over the satellite networks must face some challenges. In particular, performance, from both security and communication point of view, are strongly affected by several factors introduced by the characteristics of the satellite systems (i.e. wireless nature, latency, link availability, propagation channel, link asymmetry, etc.), which significantly impact in particular web based applications, increasing both in terms of volumes and complexity
Satellite networks, either commercial or military, are prone to different security threats. To care security of the information sent over the satellite networks is very important, considering that the typology of services usually carried over includes emergency management, telemedicine, banking, off shore and airplane connectivity. In this thesis, novel end-‐to-‐end robust security architecture is introduced for securing DVB-‐RCS satellite networks. This security architecture is inspired by the robust security mechanism available in IEEE 802.11i WLAN but considers the particular characteristics of the satellite networks. An efficient authentication and key management mechanism is proposed, which performs the mutual authentication and key distribution through three round-‐trips only. Modular formalization for the security correctness is presented to prove that the proposed framework is as secure as IEEE 802.11i. Furthermore, the simulation results show that the proposed security framework has a very small data overhead and a better performance than IPSec, which is commonly used as end-‐to-‐end security solution over IP satellite networks.
The other aspect addressed in this thesis is Web performance over satellite using the future web technologies, such as SPDY protocol. SPDY is a new application technology, introduced by Google, to accelerate Web transfers over common terrestrial links. Most of the SPDY techniques (i.e. header compression, pushing and multiplexing) have been usually included in satellite Performance Enhancing Proxies (PEPs) to optimize performance. Therefore, SPDY over satellite is expected to provide end-‐to-‐end performance optimization solution without requiring any specific modification over the network. Proof of such an improvement is revolutionary for the role of satellite in the future Internet, since it could be considered as a transparent link, which does not need ad-‐hoc protocol adaptations. Performance assessment of the protocol has been obtained through a satellite emulator that reproduces in software a DVB-‐RCS link while running real implementations of both TCP/IP stacks and SPDY.
IV
ACKNOWLEDGMENT PUBLICATIONS
ABSTRACT
TABLE OF CONTENTS
I
II
IV
1 INTRODUCTION ........................................................................................................................ 11
2 BROADBAND SATELLITE NETWORKS ...................................................................................... 14 2.1 Satellite Network Architecture ............................................................................................................. 15 2.1.1 Transparent Satellite Star Networks ......................................................................................... 16 2.1.2 Transparent Satellite Mesh Networks ....................................................................................... 16
2.2 DVB Networks .............................................................................................................................................. 17 2.2.1 MPEG Transport Stream .................................................................................................................. 17 2.2.2 Data Encapsulation ............................................................................................................................ 19 2.2.2.1 Multi-‐Protocol Encapsulation (MPE) .................................................................................................. 20 2.2.2.2 Unidirectional Lightweight Encapsulation (ULE) ......................................................................... 20 2.2.2.3 Generic Stream Encapsulation (GSE) .................................................................................................. 21
2.2.3 DVB-‐S/ DVB-‐S2 .................................................................................................................................... 22 2.2.4 DVB-‐RCS/ DVB-‐RCS2 ........................................................................................................................ 23 2.2.4.1 Bandwidth on Demand ............................................................................................................................. 24
2.3 Issues Related to the Characteristics of Satellite Links .............................................................. 25 2.3.1 Latency and Bandwidth ................................................................................................................... 25 2.3.2 Bit-‐Error Rate (BER) ......................................................................................................................... 26 2.3.3 Link Asymmetry .................................................................................................................................. 26
2.4 Performance Enhancing Proxies (PEPs) ........................................................................................... 26
3 SECURITY IN DVB-‐RCS SATELLITE NETWORKS .................................................................... 29 3.1 Main Threats on the Satellite Links ..................................................................................................... 30 3.2 Security Requirements ............................................................................................................................. 30 3.3 Current Security Techniques: State-‐of-‐the-‐Art Review .............................................................. 32 3.3.1 DVB Common Scrambling ............................................................................................................... 32 3.3.2 DVB-‐RCS Privacy “Individual User Scrambling” ................................................................... 32
3.3.3 IP or higher layer security mechanisms ................................................................................... 34 3.3.4 ULE Security Extension Header ................................................................................................... 35
3.3.5 DVB-‐RCS Security Framework For ULE-‐Based Encapsulation ...................................... 36
3.4 Weaknesses of DVB-‐RCS Privacy ......................................................................................................... 38 3.4.1 Mutual Authentication ..................................................................................................................... 38 3.4.2 Security Messages Integrity .......................................................................................................... 38 3.4.3 Data Encryption and Integrity ..................................................................................................... 38 3.4.4 Destination Address Protection .................................................................................................. 39 3.4.5 Unsigned Diffie-‐Hellman Parameters ....................................................................................... 39 3.4.6 Key Derivation from the cookies ................................................................................................. 39 3.4.7 MPE/ ATM Limitation ...................................................................................................................... 39 3.4.8 Multicast Support .............................................................................................................................. 40
4 ROBUST SECURITY FRAMEWORK FOR DVB-‐RCS SATELLITE NETWORKS (RSSN) .............. 41
4.1 RSSN Framework Description .............................................................................................................. 43 4.1.1 Phase 1: Discovery, Logon, and Security Agreement ......................................................... 44 4.1.2 Phase 2: Mutual Authentication .................................................................................................. 45 4.1.3 Phase 3: Key Derivation and distribution ............................................................................... 47 4.1.4 Phase 4: Data Encapsulation and Protection ......................................................................... 50 4.1.5 Phase 5: Rekeying, ............................................................................................................................. 53 4.1.6 Phase 6: Security Teardown, log-‐off .......................................................................................... 54
4.2 RSSN Framework Analysis and Evaluation ..................................................................................... 54 4.2.1 Compatibility Evaluation ................................................................................................................ 54 4.2.2 Security Analysis ................................................................................................................................ 55 4.2.2.1 EAP-‐SAT Security Analysis ...................................................................................................................... 55 4.2.2.1.1 Security Compliance .............................................................................................................................. 55 4.2.2.1.2 Modular Security Correctness Proof .............................................................................................. 56
4.2.2.2 Key Derivation and Distribution Security Analysis ...................................................................... 59
4.2.3 Performance Evaluation ................................................................................................................. 61 4.2.3.1 FTP Traffic: .................................................................................................................................................... 63 4.2.3.2 HTTP Traffic .................................................................................................................................................. 64 4.2.3.3 UDP VoIP and Video Traffic .................................................................................................................... 65
5 FUTURE WEB TECHNOLOGIES (WEB 2.0) AND SATELLITE NETWORKS .............................. 69 5.1 Real-‐Time Data Server Push Techniques ......................................................................................... 73
5.2 AJAX Web Applications ............................................................................................................................ 75
5.3 WebSocket Protocol ................................................................................................................................... 77
5.4 New HTTP Paradigms: HTTP/2.0 (SPDY) ........................................................................................ 78 5.4.1 SPDY Request Prioritization .......................................................................................................... 79 5.4.2 SPDY Stream Prioritization ............................................................................................................ 80 5.4.3 SPDY Server Push ............................................................................................................................... 81 5.4.4 SPDY Flow Control ............................................................................................................................. 82
5.5 Impact of The Future Web Technologies On Performance Of Satellite Networks .......... 83
6 HTTP/2.0 OVER SATELLITE: AN ALTERNATIVE END-‐TO-‐END OPTIMIZATION TECHNIQUE87 6.1 Testbed Description ................................................................................................................................... 88 6.1.1 Satellite Network Emulation Platform (SNEP) ...................................................................... 88 6.1.2 SPDY Web Server & Web Client ................................................................................................... 89
6.2 SPDY Evaluation Over DVB-‐RCS Satellite Links ............................................................................. 90 6.2.1 Methodology ......................................................................................................................................... 92 6.2.2 Results ..................................................................................................................................................... 93 6.2.2.1 Analysis of Header Compression .......................................................................................................... 93 6.2.2.2 Analysis of TCP Connection .................................................................................................................... 94 6.2.2.3 Analysis of Bandwidth on Demand Impact ...................................................................................... 97 6.2.2.4 Analysis of the Resource Utilization ................................................................................................. 100 6.2.2.5 Analysis of Multi-‐Terminal Traffics .................................................................................................. 103
6.3 Impact of SPDY on The Satellite Network Architecture .......................................................... 107 6.3.1 Analysis of SPDY Multiplexing ................................................................................................... 108 6.3.2 Results .................................................................................................................................................. 109
6.4 SPDY as an Alternative End-‐to-‐End Optimization Technique .............................................. 112 6.4.1 Test Setup ........................................................................................................................................... 113 6.4.2 Results .................................................................................................................................................. 116
7 CONCLUSION .......................................................................................................................... 120
8 BIBLIOGRAPHY ...................................................................................................................... 123
LIST OF FIGURES
FIGURE 2-‐1: TRANSPARENT SATELLITE STAR NETWORK ARCHITECTURE ..................................................... 16 FIGURE 2-‐2: PES PACKET STRUCTURE ................................................................................................................................ 18 FIGURE 2-‐3: MPEG-‐2 TS FORMAT ........................................................................................................................................... 19 FIGURE 2-‐4: MAPPING OF ES, PES TO THE TRANSPORT STREAM .......................................................................... 19 FIGURE 2-‐5: MPE ENCAPSULATION FORMAT OVER MPEG-‐2TS .............................................................................. 20 FIGURE 2-‐6: ULE ENCAPSULATION FORMAT OVER MPEG-‐2 TS .............................................................................. 20 FIGURE 2-‐7: GSE ENCAPSULATION FORMAT .................................................................................................................... 22 FIGURE 2-‐8: FUNCTION DIAGRAM FOR DVB-‐S MODULATION .................................................................................. 23 FIGURE 2-‐9: TCP SPOOFING PEPS ........................................................................................................................................... 27 FIGURE 2-‐10: TCP SPLITTING PEPS ....................................................................................................................................... 28 FIGURE 3-‐1: KEY EXCHANGE MECHANISMS ...................................................................................................................... 34 FIGURE 3-‐2: LIGHTWEIGHT SECURITY EXTENSION HEADER .................................................................................. 35 FIGURE 3-‐3: ULE SECURE SNDU .............................................................................................................................................. 36 FIGURE 3-‐4: SIGN-‐ON MAC MESSAGE STRUCTURE ........................................................................................................ 37 FIGURE 4-‐1: MESSAGE EXCHANGE – PHASE 1 .................................................................................................................. 45 FIGURE 4-‐2: MESSAGE EXCHANGE – AUTHENTICATION – PHASE 2 ...................................................................... 47 FIGURE 4-‐3: KEY DERIVATION AND DISTRIBUTION DURING PHASE 3 ................................................................ 48 FIGURE 4-‐4: ULE SNDU WITH THE CCMP EXTENSION HEADER .............................................................................. 51 FIGURE 4-‐5: ULE-‐CCMP ENCRYPTION .................................................................................................................................. 52 FIGURE 4-‐6: ULE-‐CCMP COUNTER STRUCTURE .............................................................................................................. 53 FIGURE 4-‐7: OMNET++ SIMULATED SATELLITE NETWORK ..................................................................................... 62 FIGURE 4-‐8: SIMULATED FTP TRAFFIC (ZOOM VIEW) ................................................................................................. 63 FIGURE 4-‐9: SIMULATED HTTP TRAFFIC IN THE FORWARD LINK ........................................................................ 65 FIGURE 4-‐10: SIMULATED HTTP TRAFFIC IN THE RETURN LINK .......................................................................... 65 FIGURE 4-‐11: SIMULATED VOIP TRAFFIC .......................................................................................................................... 66 FIGURE 4-‐12: OVERHEAD ADDED TO THE VOIP PDU ................................................................................................... 66 FIGURE 4-‐13: THROUGHPUT VS UDP PACKET SIZE ....................................................................................................... 67 FIGURE 5-‐1: EXAMPLE OF PIPELINING OF HTTP REQUESTS. ................................................................................... 70 FIGURE 5-‐2: HOL BLOCKING EXAMPLE ............................................................................................................................... 71
FIGURE 5-‐3: ASYNCHRONOUS INTERACTIONS OF AJAX WEB APPLICATION MODEL ................................... 76 FIGURE 5-‐4: RELATIONS, SERIALIZATION AND PRIORITIZATION IN SPDY ....................................................... 80 FIGURE 5-‐5: WINODOWS_UPDATE CONTROL FRAME .................................................................................................. 83 FIGURE 6-‐1: SATELLITE NETWORK EMULATION PLATFORM (SNEP). ................................................................. 88 FIGURE 6-‐2: IMPACT OF THE HEADER COMPRESSION PER PROTOCOL. ............................................................. 94 FIGURE 6-‐3: DIFFERENT MANAGEMENT SCHEMES OF TCP CONNECTIONS PER PROTOCOL. .................. 95 FIGURE 6-‐4: THROUGHPUT ANALYSIS OF HTTP1.0 ....................................................................................................... 96 FIGURE 6-‐5: THROUGHPUT ANALYSIS OF HTTP1.1 ....................................................................................................... 97 FIGURE 6-‐6: THROUGHPUT ANALYSIS OF SPDY .............................................................................................................. 97 FIGURE 6-‐7: PLT VS. DIFFERENT BOD SCHEMES. ............................................................................................................ 98 FIGURE 6-‐8: TIME TO THE FIRST PAINT. ............................................................................................................................ 99 FIGURE 6-‐9: SPDY PAGE LOAD TIME WITH DIFFERENT PERCENTAGES OF SERVER PUSH .................... 100
FIGURE 6-‐10: SPDY TIME TO THE FIRST PAINT WITH DIFFERENT PERCENTAGES OF SERVER PUSH100 FIGURE 6-‐11: BANDWIDTH UTILIZATION DURING WEB PAGE DOWNLOAD ................................................. 102 FIGURE 6-‐12: RETURN LINK SLOTS .................................................................................................................................... 103 FIGURE 6-‐13: SNEP MULTI-‐TERMINAL TRAFFIC GENERATION ........................................................................... 104 FIGURE 6-‐14: WEB PAGE DOWNLOAD TIME IN A MULTIPLE RCST SCENARIO ............................................. 106 FIGURE 6-‐15: SPDY PERFORMANCE DETAILS IN MULTIPLE RCSTS CONFIGURATION .............................. 106 FIGURE 6-‐16: WEBPAGES LOADING TIME OVER DIFFERENT PROTOCOL CONFIGURATIONS. .............. 110 FIGURE 6-‐17: SNEP CONFIGURATION FOR SATELLITE EMULATION ................................................................. 114 FIGURE 6-‐18: WEB TEST PAGE OBJECTS HIERARCHY ............................................................................................... 114 FIGURE 6-‐19: TERRESTRIAL VS. SATELLITE PAGE LOAD TIME ............................................................................ 117 FIGURE 6-‐20: SATELLITE SPDY OPTIMIZATIONS ......................................................................................................... 118 FIGURE 6-‐21: REDUCTION OF RETURN LINK USAGE DUE TO SPDY .................................................................... 119
LIST OF TABLES
TABLE 2-‐1: MPE/ULE HEADER OVERHEAD ....................................................................................................................... 21 TABLE 4-‐1: SECURITY REVIEW, CURRENT COMMERCIAL WIRELESS NETWORKS ........................................ 43 TABLE 4-‐2: SIMULATION SETUP ............................................................................................................................................. 63 TABLE 4-‐3: AVERAGE DATA OVERHEAD RSSN VS. IPSEC ........................................................................................... 68 TABLE 6-‐1: WEB SERVER CONFIGURATIONS. .................................................................................................................. 90 TABLE 6-‐2: WEB CLIENT CONFIGURATIONS. ................................................................................................................... 90 TABLE 6-‐3: PARAMETERS USED FOR EMULATING THE DIFFERENT BOD SCHEMES. ................................... 92 TABLE 6-‐4 TESTING WEBPAGES COMPONENTS .......................................................................................................... 109 TABLE 6-‐5: STATISTICS ON PAGE-‐A DOWNLOAD ........................................................................................................ 111 TABLE 6-‐6: STATISTICS ON PAGE-‐B DOWNLOAD ........................................................................................................ 111 TABLE 6-‐7: CONFIGURATION OF SNEP FOR DIFFERENT SETUP CONSIDERED ............................................. 115
1 INTRODUCTION
The Internet has become the universal source of information exchange for most of people around the world. The growing dependency on the Internet applications (e.g. emails, web browsing, social media) created a desire for reliable, fast, and uninterrupted connectivity even in remote and rural areas with insufficient or no terrestrial infrastructure. Therefore, the wireless communications became an important solution due to its ubiquity and flexibility. For these reasons, satellite networks became a largely successful on worldwide scale due to their large geographic coverage, broadcast capabilities, and the high transmission capacity. However, being the DVB standard, largely utilized in the forward link of bidirectional broadband networks, initially designed for transmitting optimized multimedia (i.e. audio, and video), an additional adaptation layer is needed to support the carriage of Internet IP packets.
To access the Internet through a satellite system, a challenging environment shall be considered. Differently from terrestrial networks, problems of bandwidth limitation and availability, and the higher latency of the network (minimum Round Trip Time of 560ms using a geostationary satellite) require to introduce some specific optimization countermeasures. Yet, efforts to efficiently mitigate all these issues did not produce effective solutions to make satellite networks attractive as terrestrial equivalents. Thus, in practice, satellite continued to represent a backup solution in case other terrestrial networks become not available.
On the other hand, satellite networks, like any other communication networks are vulnerable to many security threats. Passive attacks are the easiest attacks for eavesdropping or monitoring data traffic to gain some information about the communication parties and the transmitted data. Active attacks including message modification, masquerading, and reply attacks are more complex since they require expensive equipment, knowledge of the communication standard and direct access to the transmitter network. Furthermore, due to its wireless broadcast nature, and the large transmission coverage area, satellite networks are lacking in physical-‐layer protection comparing to the other cable based communication 11
networks. For example, in case of wired communications, the adversary must first gain a physical access to the wire in order to perform any attacks, while this is not the case in the satellite networks. Thus, security is even more important for satellite networks than for the terrestrial cable networks.
This Ph.D. thesis concerns itself with the security and performance issues of DVB broadband satellite networks. First, the state-‐of-‐the-‐art for broadband satellite systems is studied, while presenting the drawbacks in satisfying the increasing requirements of interactive Internet communications. Thus, it proposes an end-‐to-‐end security and performance enhancement solutions that aim to justify a revision of satellite role for Internet connectivity.
The preliminary research and investigations proved that the existing security techniques either insufficient to provide an adequate protection for the data communication over satellite networks or they may introduce some incompatibilities with the necessary performance enhancement approaches. On the other hand, some performance-‐enhancing techniques (i.e. PEP [50]) could be effective solutions but specific security vulnerabilities must be faced up too. At this point it appears that unsolved problem exists. While both solutions are not incompatible, the user or network operator must choose between secure communication and better performance. Generally, it is often the case security must be traded off against other factors, in this case performance.
The research work has been extended to investigate on the different security mechanisms that are used on the commercial wireless networks. Moreover, the future web technologies and protocols aimed to improve the Internet access over the terrestrial links have been investigated too. The goal of this work was to understand the direction of the emerging technologies and to identify the most suitable for satellite networks or at least to get some useful hints. The results show that, the mature wireless security mechanism (i.e. WLAN security) and the modern web technologies (i.e. HTTP/2.0 [2]) can be revolutionary solutions to the issues addressed in satellite network, particularly those related to security and performance. Concerning communications security, a novel robust link-‐layer security mechanism is designed to secure end-‐to-‐end data communication over satellite networks. The proposed security is leverage on the mature and robust security mechanism available in IEEE 802.11i WLAN [46]. The special characteristics of satellite networks are well considered during the design of each elements of the security mechanism. It is proved that the proposed security mechanism provides mutual authentication, data confidentiality, data integrity, and lightweight key management system. In addition, it has a very minor overhead and it is compatible with network techniques that are commonly used for performance enhancements.
Concerning the performance, the goal was to understand the direction of the emerging web technologies and to evaluate their expected impact on satellite networking. Different aspects have been analysed using satellite testbed and emulation platforms. This analysis included an evaluation of the HTTP/2.0 protocol performance over satellite and experiments to understand the expected interaction with the existing traditional performance enhancement 12
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Introduction
techniques, and the effect on the satellite capacity allocation mechanisms. The analysis also considered the impact of application protocols and the delay induced by satellite system.
The research resulted to an optimized version of HTTP/2.0 protocol, including multiplexing, compression, pushing, and caching features, that allow a significant reduction of the webpage loading time, while minimizing the satellite network resources (i.e. bandwidth, return link resources). Results show that the achieved page load time is very close to the value measured when performing the same transfer over ADSL link. These results make the satellite systems suitable to act as an alternative access technology to the access Internet in the future, without the need of additional performance enhancement techniques.
This thesis is structured as follows: Chapter 2 starts with an overview of broadband satellite networks, satellite network architectures, and the specifications of DVB satellite network, describes the various data encapsulation protocols that have been standardized, and then goes on to discuss the issues related to the characteristics of the DVB satellite links, and finally presents an overview of the important intermediate devices within the network architecture. Chapter 3 provides a theoretical analysis of the security in DVB-‐RCS satellite networks, evaluates the main security threats, security requirements, and the state-‐of-‐the-‐art security techniques that are currently used on DVB-‐RCS satellite systems, presenting the limitation and drawbacks of each technique. Chapter 4 presents the design of a robust security framework for DVB-‐RCS networks, specifies the life cycle of the security framework, prescribes a detailed architecture and algorithms to be implemented, and finally presents a comprehensive evaluation of the security framework including formal security validation, performance and compatibility analysis. Chapter 5 presents a theoretical detailed study of the future Web technologies including server push techniques, AJAX web application, WebSocket protocol, and the newest HTTP/2.0 protocol, and then it analyses the impact of these technologies on the DVB-‐RCS satellite systems. Chapter 6 presents a detailed evaluation and of the future HTTP/2.0 protocol over a simulated DVB-‐RCS satellite network, presenting an alternative end-‐to-‐end performance enhancement solution through an optimized version of HTTP/2.0 protocol. The thesis concludes in chapter 7, which summarizes the work carried out and the achieved results.
13
2 BROADBAND SATELLITE NETWORKS
Broadband satellite networks are nowadays designed to offer most of the services and applications provided by the telecommunication networks such as broadband Internet access, VoIP telephony, private IP for corporate intranet, telemedicine, video conferencing, etc. Satellite network is composed of two main segments: the ground segment and the space segment. The ground segment is composed of one or several Gateways or Hub stations (GW) allowing internetworking with terrestrial networks, a pool of Satellite Terminals (STs), and finally the Network Control Centre (NCC). The NCC plays a fundamental role in configuration and management of satellite terminals, bandwidth capacity assignment, performance management, security management, synchronization and acquisition, billing and accounting.
The space segment consists of the satellite equipment, which includes the communication payload. Satellite systems are usually classified on the basis of orbits: Geostationary Earth Orbit (GEO), Low Earth Orbit (LEO), Medium Earth Orbit (MEO), Highly Elliptical Orbit (HEO), and Hybrid constellations.
GEO satellite is located on the geostationary earth orbit at altitude of 35,786 km. GEO satellites have a large coverage area (footprint) covering around 1/3 of the earth surface. Therefore, theoretically, 3 GEO satellites can be sufficient to cover the entire earth surface. However, this altitude introduces a problem of high latency in communications (around 600ms Round-‐Trip-‐Time, RTT).
LEO satellites are located on low earth orbit at an altitude ranging between few hundred and 2,000 km. LEO is deployed in constellation of several satellites in order to provide contiguous coverage. It requires a reliable handover mechanism to ensure the service continuity. 14
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Broadband Satellite Networks
MEO satellites fall between GEO and LEO with altitude ranging from 2,000-‐35,786 km. Both MEO and LEO satellites have a better propagation delay comparing to the GEO systems. However, they are more complicated concerning the management, tracking, and continuous handover.
HEO satellites are located on the elliptic orbits that are close to the Earth at one point and very far away from earth at other point. They are located on different altitudes with a low perigee altitude (around 1,000 km) and high apogee attitude (more than 35,786 km). According to the Kepler’s second law, HEO satellites move slowly at the apogee and much faster at the perigee. HEO satellites are useful to serve the areas of extreme north and south of the Earth, which cannot be covered using geostationary satellites. Finally, Hybrid constellations can use combination of existing orbital solutions. This thesis mainly concerns about satellite networks based on GEO satellites. This chapter discusses DVB broadband satellite network architectures, standards, and then describes its special characteristics and related issues.
2.1 Satellite Network Architecture
Most of communications satellite networks rely on a transparent satellite that simply acts as a signal repeater (Bent Pipe) between two ground stations. Therefore, there is no data processing taking place on board of the satellite. On the other hand, other satellite networks may rely on regenerative satellites with On-‐board Processing capabilities (OBP), which is capable to process the transmitted data on-‐board including modulation, coding, routing, packet switching, etc. Transponders on the bent pipes satellite act simply to amplify the uplink signals then shift them to lower frequencies before retransmission on the downlink. An example of bent pipe satellites is the Direct Broadcast Satellite, which support only signal broadcasting service over set of carrier frequencies to a group of number of receivers within the coverage area.
On the other hand, to support two-‐way Internet access over the satellite network, a possible solution is to utilize the existing dial-‐up telephone services or any other terrestrial networks for the upload traffic. The other solution is to provide a return channel over the satellite network itself. This is the case of the interactive satellite communications using DVB-‐RCS/ RCS2 described later in this chapter.
In case of the regenerative satellites (OBP), the satellite works for switching the packets among the receiving and transmitting beams. Thus, the satellite footprint consists of multiple spot beams.
Usually there are two kinds of topologies supported by the interactive transparent satellite networks: star and full mesh.
15
2.1.1 Transparent Satellite Star Networks
Star networks are suitable for scenarios where all satellite terminals need to communicate to the Internet or any other external networks. It is simple solution for both terminals and satellite network design. It consists of a central Hub or gateway and a pool of satellite terminals. The gateway acts as the centre of the star, where all traffic is transmitted. In this network topology, any terminal-‐to-‐terminal communication should travel from terminal to the hub and again from the hub to the other terminal. Thus, it needs a double hop over the satellite (large delay), which may be excessive especially with interactive applications, i.e. video, voice, etc. Furthermore, terminal-‐to-‐terminal communication requires twice the bandwidth required for endpoint communications. Figure 2-‐1 shows the architecture of the transparent satellite star network. The gateway performs all switching and routing procedures. Terminal-‐to-‐terminal communication passes through the central gateway station.
FIGURE 2-‐1: TRANSPARENT SATELLITE STAR NETWORK ARCHITECTURE
2.1.2 Transparent Satellite Mesh Networks
In the transparent mesh topology, satellite terminals can be directly interconnected among one another via a single hop to the satellite. Thus, this architecture minimizes the communication delay and bandwidth utilization required for mesh communications comparing to star networks.
In this architecture, each satellite terminal is capable to receive a single forward link carrier (TDM) as well as multiple return-‐link carriers (TDMA). Thus, the terminals are able to decode multiple different carriers in parallel, similar to the gateway technology.
16
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Broadband Satellite Networks
2.2 DVB Networks
Digital Video Broadcasting (DVB) refers to a suite of open standards for digital television and data delivery identified by the DVB Project1, which is an industry-‐led consortium consisting of over 200 television broadcasters, network operators, software developers, manufacturers, and regulatory. DVB specifications are standardized by the European standards bodies, such as the European Telecommunications Standards Institute (ETSI) or the European Committee for Electrotechnical Standardization (CENELEC).
2.2.1 MPEG Transport Stream
DVB specifications adopted a cell-‐oriented packet transmission system called MPEG-‐2, which is defined by the Motion Pictures Expert Group (MPEG) [19]. MPEG-‐2 specifies a basic encapsulation mechanism for multiplexing several types of multimedia information into a single MPEG-‐2 Transport Stream (TS) that can be transmitted over a variety of transmission media. The basic component of MPEG-‐2 System is the Elementary Stream (ES), which is the output for a programme encoder (i.e. video or audio). Each programme contains a combination of Elementary Streams, typically one for video, one for audio and one for metadata.
MPEG-‐2 processor (i.e. audio/ video compressor or data encapsulator) assembles data of each ES into a stream of Packetized Elementary Stream (PES). PES is a packet with variable sizes (up to 65536 bytes), of which six bytes constitute a mandatory protocol header. The PES header Figure 2-‐2 consists of 3-‐bytes Start Code, 1 byte Stream-‐ID, 2-‐bytes Length field followed by 1-‐byte PES indicator, which contains further information about the stream in order to assist the decoding process at the receiver side. This information includes: • •
• • • •
Fixed bits (2-‐bits); Data Alignment Indicator (1-‐bit), which indicates the type of the start code for the current stream, i.e. audio/ video; Copyright Information (1-‐bit), which indicates if the payload is copyright protected; Priority (1-‐bit), which indicates priority of the PES packet; PES Scrambling Control (2-‐bits), which indicates if the scrambling is used and which scramble method; Original or Copy (1-‐bit), which indicates if the current PES stream belongs to the original ES or it has been copied.
1 https://www.dvb.org/
17
FIGURE 2-‐2: PES PACKET STRUCTURE The indicator field is followed by the flag field, which completes the PES header. Flag field indicates the presence of the following optional fields, which (if present) are inserted at the end of the PES header and before the PES data payload: •
•
• • • •
Presentation Time Stamp (PTS) and the Decode Time Stamp (DTS), which are used to synchronize a set of elementary streams and to control the rate they are replayed by the receiver; Elementary Stream Clock Reference (ESCR) and Elementary Stream Rate (ESR), which synchronize the receiver clock as well as indicate the encoding rate of each ES; Trick Mode, which indicates the abnormal or special ES types (i.e. after DSM-‐CC has signalled a replay); Copyright Information, which indicates the current stream is a copyright ES; CRC, which may be used to monitor errors in the previous PES packet; PES Extension Information, which may be used to support MPEG-‐1 streams.
Sequence of PES packets with a variable length composes a Program Stream (PS). PS is sensitive to the errors in the transmission channel. Generally, it assumes the use of error free channel, i.e. storage.
MPEG-‐2 allows the conversion of different PS streams into single Transport Stream (TS), which is designed for different types of transmission channels such as telecommunications and broadcasting channels. Comparing to the PS packets, TS packet has a relatively short fixed length, which make it efficient and robust error-‐correction coding.
Each MPEG-‐TS packet (Cells) has a fixed 188 bytes, of which the first four bytes constitute the header. The basic format of the MPEG-‐TS header is shown in Figure 2-‐3. It consists of Synchronization byte, which is well known sequence of bits (0x47=01000111) and used to help receiver to recover from the synchronization loss, Payload Unit Start Indicator (PUSI), which is 1-‐bit flag indicate the presence of an additional payload following the header, Transport Error Indicator (TEI), which is 1-‐bit flag indicate the presence of un-‐correctable error in the packet, Transport Priority (TP), which is 1-‐bit flag indicates the priority of the TS cell, 13-‐bit Packet Identifier (PID), which is the most important information in the TS header serves as elementary stream identifier that can identify about 8000 types of packets, Transport Scrambling Control (TSC), 2-‐bits indicate the encryption of the payload, Adaptation Field Control (AFC), which 2-‐bits allow the extension of the TS header with another adaptation field, Continuity Counter (CC), which is 4-‐bits incremental counter incremented with every successive TS packet [19]. Only PID field is of interest for this thesis.
18
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Broadband Satellite Networks
FIGURE 2-‐3: MPEG-‐2 TS FORMAT Each TS stream is identified by a unique PID, so the receiver can filter PES packets at the high lever without performing a hard processing. Figure 2-‐4 shows how the PES packets are placed in the data payload of TS packets.
FIGURE 2-‐4: MAPPING OF ES, PES TO THE TRANSPORT STREAM
2.2.2 Data Encapsulation
MPEG-‐2 packets were originally designed to carry digital TV broadcasting. However, it is possible to carry defined data packets in addition to the audio and video. Transmission of variable length IP datagrams over fixed length MPEG-‐2 transport stream packets requires data encapsulation mechanism. Three different encapsulation protocols are defined to carry IP data packets over the MPEG-‐2 TS packets. 19
2.2.2.1 Multi-‐Protocol Encapsulation (MPE)
The DVB standard [21] has defined the Multi-‐Protocol Encapsulation (MPE) as a standard method to carry IP data packets over the MPEG-‐2 transport streams. MPE has a default header size 12-‐bytes. It is designed to provide a mechanism for transporting IPv4 packets over MPEG-‐2 TS. For other network layer protocols it requires 8-‐byte IEEE 802.2 Logical Link Control/Subnetwork Access Point (LLC/SNAP) additional header. MPE requires the presence of 48-‐bit MAC address of the distant receiver. Figure 2-‐5 shows the overview for MPE encapsulation over MPEG-‐2 TS.
FIGURE 2-‐5: MPE ENCAPSULATION FORMAT OVER MPEG-‐2TS
2.2.2.2 Unidirectional Lightweight Encapsulation (ULE)
ULE has been defined in RFC4326 [30] as an alternative for MPE. It supports transporting of IPv4, IPv6, and other network layer protocols over the MPEG-‐2 transport stream. The higher layer payload is encapsulated in Sub-‐Network Data Unit (SNDU), which is then directly placed into the MPEG-‐2 TS. It does not require destination address to identify the receiver. Figure 2-‐6 shows ULE encapsulation format over MPEG-‐2 TS.
FIGURE 2-‐6: ULE ENCAPSULATION FORMAT OVER MPEG-‐2 TS The basic header consists of Length, which 15-‐bit field identifies the total length of the SNDU, Type, which is 16-‐bit field indicate the protocol or the next header type, Network Point of Attachment (NPA), 48-‐bit optional field indicate the destination address, NPA presence is indicated by the Destination Absent (D) 1-‐bit field, CRC, 32-‐bit field for transmission error protection. 20
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Broadband Satellite Networks
ULE is more efficient than MPE thanks to the smaller and simple header with few fields, which implies less transmission overhead and less complex processing. ULE header contains 16-‐bit type field, which makes it efficient for transmitting different network layer protocols from IPv4, without needing additional LLC/SNAP header required for MPE [30][82]. Table 2-‐1 compares the header overhead and the support for different payload type for MPE and ULE encapsulations.
Encapsulation Header MPE MPE with LLC/SNAP additional Header ULE without NPA address field (D=1) ULE with NPA address field (D=0)
Protocol IPv4
Header Overhead 16 bytes
Any
8 bytes
IPv6 Any
16 + 8 = 24 bytes 8 + 6 = 14 bytes
TABLE 2-‐1: MPE/ULE HEADER OVERHEAD
In addition the basic header, ULE specification supports carrying an extension header, which is identified by the 16-‐bit Type field. Any value greater than or equal to 1536 (0x600) indicates a specific type of the encapsulated protocol, i.e. IPv4, IPv6, etc. Type field with values less than 1536 (0x600) indicates the type of the extension header carried by the ULE SNDU.
2.2.2.3 Generic Stream Encapsulation (GSE)
Generic Stream Encapsulation (GSE) has been defined by ETSI [23]. It provides an efficient and lightweight mean for carrying IP packets on DVB physical layers. It is based on the ULE protocol and shares the same extension header mechanism. However, it works in the same level as the Transport Stream, offering an alternative mean of carrying different video, audio, and data packets. The second generation of DVB standards work on multi-‐mode system, which allow the use of either traditional MPEG-‐2 TS or the modern GSE encapsulation. Since the second generation DVB standards (i.e. DVB-‐S2 links) rely on Quasi Error-‐Free (QEF) transmission link, which offers very low bit error rate of approximately 10-‐10 [26], GSE requires CRC only when the SNDU is fragmented. Thus, CRC is responsible for detection of reassembly errors instead of transmission errors. Figure 2-‐7 shows GSE encapsulation format over the physical layer of second-‐generation DVB standards (DVB-‐S).
21
FIGURE 2-‐7: GSE ENCAPSULATION FORMAT
2.2.3 DVB-‐S/ DVB-‐S2
DVB standards are implemented on a worldwide scale for the delivery of digital television. DVB-‐S or “Digital Video Broadcasting – Satellite” [22] is one of DVB standards that, first published in 1994, enables the digital broadcasting of satellite television to the public. It provides a direct reception from the satellite to the home user with an integrated receiver-‐ decoder (Direct-‐To-‐Home, DTH).
The standard identifies the physical layer properties in order to adopt the baseband signal produced by the MPEG-‐TS multiplexer to the satellite channel characteristics. Channel adaptation identifies the type of the modulation and coding schemes to meet the aimed quality of the signal. The aimed quality is the provision of “Quasi Error Free” (QEF) channel, which represents a low Bit Error Rate ranging between 10-‐10 – 10-‐11. This adaptation includes different process such as inner coding (i.e. Punctured Convolutional Code), base-‐band shaping and modulation, energy dispersal randomization, convolutional interleaving, and outer coding (i.e. Reed-‐Solomon). Figure 2-‐8 shows the function diagram for DVB-‐S modulation.
22
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Broadband Satellite Networks
FIGURE 2-‐8: FUNCTION DIAGRAM FOR DVB-‐S MODULATION The key advantage of DVB-‐S approach is that the data elements within the MPEG-‐2 TS container can carry timing independence information. This allows different information to be synchronized even if it does not arrive at the receiver at the same time. For example, video can be synchronized with audio at the receiver while both did not arrive at the same time. This feature is very essential for the television broadcasting. Also The DVB-‐S approach provides a high level of flexibility in term of multiplexing. For example, 38 Mbit/s data rate channel could provide one High-‐Definition Television (HDTV) programme or four Enhanced-‐ Definition Television (EDTV) programmes or eight Standard Definition (SDTV) Television programmes. Alternatively, a mix of different programmes can be carried over the same container.
DVB-‐S2 [26] is the second generation of Digital Video Broadcasting – Satellite. DVB-‐S2 specification modified the channel adaptation block only. It introduced a new adaptive modulation and coding scheme (ACM), which allow for a 30 -‐ 40 % improvement in bandwidth efficiency over DVB-‐S. It also deified the Generic Stream Encapsulation (GSE) for IP encapsulation over the baseband frames without MPEG-‐2 encoding.
2.2.4 DVB-‐RCS/ DVB-‐RCS2
The success of DVB-‐S standard and the desire to use the existing satellite networks for IP connectivity due to its capability to transmit huge amount of data with flexible way, have resulted in the development of DVB-‐RCS (Return Channel on Satellite) standard [25]. DVB-‐ RCS allows bidirectional communications in the return link and share the bandwidth on a Multi Frequency Division Multiple Access (MF-‐TDMA) technology. 23
By mid 2007, there were already more than 150 DVB-‐RCS systems deployed worldwide, serving around 100,000 terminals at Ku-‐band, Ka-‐band, C-‐band and EHF. It can be expected that this number has significantly grown since then2. Similar to the development of a second generation standard (DVB-‐S2), in 2009 technical work has been started to design a more powerful version of the DVB-‐RCS standard. In 2011, the new standard, DVB-‐RCS2 [25] was approved by ETSI and in 2012 a mobility extensions (DVB-‐ RCS2+M) were added in order to support mobile terminals and mesh connectivity, as driven by the market. The final version of DVB-‐RCS2 standard was published in 2012.
Similar to DVB-‐S2, DVB-‐RCS2 introduced a new Adaptive Modulation and Coding scheme (ACM), which offers a significant improvement of the bandwidth available on the return links. Additionally, DVB-‐RCS2 introduced the new “Return Link Encapsulation” (RLE), which offers an efficient and enhanced encapsulation for IP packets directly to the baseband frames (Physical layer), without use of MPEG-‐TS.
2.2.4.1 Bandwidth on Demand
Bandwidth in satellite systems is a resource typically scarce and expensive. To increase efficiency and contain costs of satellite communications, bandwidth on demand (BoD) mechanisms is often employed, able to make shared resource utilization efficient. Adopting the proper Quality of Service (QoS) approach is of paramount importance to allow the optimal response and guarantee target performance to the most widespread TCP/IP applications, in strict co-‐existence and in collaboration with BoD mechanisms.
Satellite networks use a broadcast forward link, following the DVB-‐S/(S2) standard and an interactive return link shared among a set of Satellite Terminals (RCSTs) competing for bandwidth on the return link. With reference to the DVB-‐RCS standard (common standard in Europe), return link is composed of a set of frequencies and uses a TDMA access mechanism, so that each RCST can transmit into a given frequency timeslot and avoid collisions. To extend the flexibility of this approach, the bandwidth allocation (in terms of transmission timeslots allowed) can be dynamic, and based on the variable transmission needs of each RCST (Bandwidth on Demand, or BoD). This technique in the specific case of DVB-‐RCS is called Dynamic Allocation Multiple Access (DAMA). As a drawback, DAMA introduces a further contribution to the propagation delay (sometimes referred as access delay) [19], which in geostationary satellite systems is relevant. In fact DAMA introduces a control loop with specific control messages for the request of resources exchanged with a Network Control Centre (NCC). The DVB-‐RCS standard defines three main types (out of five available) of BoD DAMA allocation schemes, which can also be used in combination: •
CRA (Constant Rate Allocation) -‐ is a fixed allocation, with some transmission timeslots permanently allocated to an RCST irrespective of whether they are actually used or needed. There is no allocation delay experienced, while resources utilization can be very inefficient;
2
DVB Fact Sheet -‐ August 2012 (http://www.dvb.org/resources/public/factsheets/DVB-‐RCS2_Factsheet.pdf)
24
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Broadband Satellite Networks
•
•
VBDC (Volume Based Dynamic Capacity) -‐ is a dynamic allocation based on requests of the RCSTs related to the volume of data stored in the MAC buffer. Each request is associated to a given volume of traffic, and requests are cumulative. Access delay is the biggest and almost constant for every packet sent, but resources utilization is the best possible; RBDC (Rate Based Dynamic Capacity) -‐ is a dynamic allocation as the VBDC one; differently from VBDC requests are issued for a given data rate (i.e., rate at which data feed MAC buffer) and are valid for a certain time. RBDC has an intermediate value for the access delay, as for resources utilization, in between CRA and VBDC cases.
In the typical context of users broadband access, access to real time streaming applications with strict requirements in terms of bandwidth, jitter and losses is very challenging, especially if taking into account delays introduced by BoD DAMA allocation mechanisms. If not correctly configured, the DVB-‐RCS satellite system can offer a poor performance to the users of these applications [19].
2.3 Issues Related to the Characteristics of Satellite Links
There are some factors and aspects related to the satellite links, which differ from their terrestrial equivalents. These issues may impact satellite communications particularly that concern about network performance and secure communications.
2.3.1 Latency and Bandwidth
Satellite network are designed with a particular propagation delay due to its own characteristics. Propagation delay imposed GEO satellite systems introduces a propagation delay of 500-‐600ms Round Trip Time (RTT). Additionally, adopting DAMA schemes on the return link introduces an additional delay called “access delay”, which is defined as the time the segment spent on the MAC buffer waiting for the actual transmission.
Total delay introduced on the satellite link may degrade the quality of the interactive applications concern voice and data communications. Furthermore, network delay is being a matter for security solutions designers; they need to ensure that the processing delay for the security solution is kept to minimum.
To achieve an efficient satellite services, it is necessary to provide a dedicated bandwidth per user in the same order of magnitude of terrestrial systems. However, recent broadband satellite although allowing a much higher throughput compared to older satellite platforms, the cost per Mbit is still much higher than in terrestrial cases. This bandwidth limitation is challengeable for many interactive communications and security solutions. 25
Satellite links have a high Bandwidth-‐Delay-‐Product (DBP), which refers to the amount of data that sender must transmit at any given time to fully utilize the link capacity. BDP = BW (bit/s). RTT. Thus, it is highly affected by the Round Trip Time (RTT). High BDP means that the transport protocol (TCP) needs to increase the transmission window in order to increase the number of the packet on the fly. This implies a long time spent by TCP to saturate the available capacity, and mostly the data transfers will complete before ever reaching the optimal TCP window size, which can fill the available bandwidth. In fact, this leads to a poor utilization for the available link resources. Additionally, keeping a large number of unacknowledged packets on transmission may imply multiples losses.
2.3.2 Bit-‐Error Rate (BER)
It is assumed that satellite links are Quasi-‐Error-‐Free (QEF) during the period of the link availability. The use of the concatenated Forward Error Correction (FEC) means that there are around 8 decades of Bit Error Rate per dB of carrier to noise ratio, which means that even the significant bit error rate still very small and can be discounted. However, satellite links are highly sensitive by the fades from atmospheric conditions, which may cause significant outage periods and high BER. BER can impact the network throughput, which leads to performance degradation and loss of security synchronization.
2.3.3 Link Asymmetry
Satellite links, both forward and return have different characteristics in term of bandwidth available, latency, bit-‐error rate, and media access mechanism. The network throughput depends on the characteristics of both links, thus the asymmetry may impact the network performance. Additionally, asymmetry is an important factor must be considered while designing a security solution. The security solution should be capable to work over links.
2.4 Performance Enhancing Proxies (PEPs)
Performance Enhancing Proxies [50] are intermediate devices, typically placed on each end of the satellite link or at the first and last hop of the connection. PEPs are used to perform processing on behalf of the TCP endpoints to achieve a greater performance. It does not only servers to enhance the performance, it can also used as a protocol adaptor or convertor that convert the standard TCP of the satellite terminals to another air interface transport protocol (i.e. UDP).
PEPs approach is to solve the issues related to TCP slow start and congestion avoidance phases by accelerating the growth of the TCP window size faster than it is normally done by the protocol. This is accomplished by a technique known as “TCP Spoofing”. Each PEP acts as a TCP endpoint; it automatically sends fake acknowledgements in correspondence to the incoming segments before the destination host has even received them; this is what enables a PEP to rapidly increase the TCP window size. In this way, the delay needed by the terminal in 26
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Broadband Satellite Networks
order to receive acknowledgments and send a new segment has been reduced to the similar delay experienced by terrestrial link. The main drawback of this technique is that it does not respect the end-‐to-‐end semantics, introducing problems to the interactive applications, which mainly relies on these properties. Additionally, in this scheme, in order to avoid duplicate acknowledgments (real and fake ACKs) arriving on the TCP segment originator, the real ACKs generated by the receiver must be intercepted and suppressed. However, in case of lost segment, the originator’s PEP is responsible for retransmitting the missed segment. Thus a symmetric routing is required to allow the TCP segment and related acknowledgment to pass through the same path. Figure 2-‐9 describes PEP TCP spoofing technique.
FIGURE 2-‐9: TCP SPOOFING PEPS Another technique used by PEPs is called “Splitting”. In this approach, the TCP connection established between two terminals is split into three separate connections, two of them are linking the endpoint hosts with the satellite PEP, and the third is linking between both PEPs over the satellite portion. The main added value of this technique is hiding the satellite link from the end users, while it take advantage of using specific transport protocols over the satellite links i.e. SCTP, XTP, etc. Figure 2-‐10 show TCP splitting approach.
27
FIGURE 2-‐10: TCP SPLITTING PEPS
28
3 SECURITY IN DVB-‐RCS SATELLITE NETWORKS
Satellite networks are generally lacking in the physical security. The open wireless characteristics of the satellite links, such as the broadcasting nature and the wide coverage, make satellite networks, either commercial or military, particularly vulnerable to different security threats. Unauthorized access, eavesdropping, traffic hijacking, and masquerading are just a few forms of attacks that can be performed against satellite communications. Therefore, these security issues suggest to satellite providers to consider the security as an important part of the system design.
Security mechanisms can be introduced in every layer of the OSI stack, from application layer to the physical one. RFC 5458 [40] recommends to place the security services on the link-‐ layer, in order to benefit from several advantages, such as protection of the whole data unit, protection of the receiver identity, transparency of the higher layer protocols, allowing the use of different networking techniques, e.g., PEPs, IP compression, or NAT. Additionally, security provision at that or lower layer can provide an efficient protection of multicast traffic. Also end-‐to-‐end security solutions such as IPSec and TLS protocols can be considered to provide a reliable level of protection for the satellite links but they may inherit shortcomings. For example, IPSec, introduces incompatibility issues with Performance Enhancing Proxies (PEPs), which are largely used in satellite networks, and affects system performance due to the large overhead and additional delay due to the necessary round trip messages.
29
3.1 Main Threats on the Satellite Links
A threat is generally defined as any potential action that causes damage to the network or the system assets.
The potential threats and attacks that satellite networks may face can be divided into two classes: passive and active attacks. The passive attacks are the most relevant ones for satellite links due to the wireless broadcast nature of the communication. An attacker can tune to different frequencies and receive traffic destined to other terminals using an inexpensive satellite terminal and basic knowledge of the communication protocols (more difficult in case of proprietary standard). The attack, easier if no encryption is used, could reveal potentially sensitive or valuable data. In addition, this kind of attack is difficult to detect since it does not require any data modification or alteration. Active attacks include a vast gamut of alternatives: •
• • •
Denial of Service (DoS Attacks), an attacker makes the system unavailable or prevents it from performing the proper functions for a limited period of time, Masquerading Attacks, an attacker can impersonate an authorized user identity to delude the trusted communicating parties, Replay Attacks, an attacker intercepts the traffic between two legitimate entities and replays them when he needs to, Traffic hijacking, an attacker is able to delay, redirect, or modify the messages exchanged between the legitimate communicating entities, also injecting forged or customized messages within the user traffic.
Generally, active attacks are more complex and typically require expensive equipment, knowledge of the communication standards and direct access to the transmitter network and/ or the terminals/ GW.
3.2 Security Requirements
To cope with the aforementioned threats, there are six main requirements for secure communication systems detailed in RFC 4949 [71]: •
•
•
30
Confidentiality, which offers protection of the traffic data against unauthorized disclosure of information; it is achieved by encrypting each message before sending, making it readable only by the intended receivers; Mutual Authentication, that implies that the communicating parties must be able to prove their identities before initializing the connection; mutual authentication prevents the intruder from impersonating sender or receiver identities to mislead the legitimate users; Integrity, which provides protection against the unauthorized modification of the data, allowing the authorized users to verify that received data is not modified during the transmission;
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Security in DVB-‐RCS Satellite Networks
• • •
Availability, which assures that the system and network resources are always accessible and available to the authorized users when needed; Authorization, which ensures that the users have the right permissions or privileges in order to access the system resources; Non-‐repudiation, which ensures that a party that has sent or received a message cannot deny having sent or received it.
In addition to these general security requirements, satellite networks have special security requirements coming from their peculiar characteristics. •
•
• •
31
Link-‐Layer security -‐ Security solutions for broadband satellite networks have to be carefully designed. The architecture must identify the ideal layer for placing the security services, avoiding replications of functionalities already included and incompatibilities with present protocols and network nodes. For example, placing the security service on the network layer (adopting IP frame) may provide secure end-‐to-‐end connection, while it may introduce some incompatibilities with Network Address Translation (NATs) [3] and TCP Performance Enhancing Proxies (PEP) [50] both requiring the ability to inspect and modify the packets sent through a satellite link. On the other hand, placing the security solutions below the PDU encapsulation function, for example on the MPEG-‐TS streaming function, protection against outsider attacks; however can be provided. MPEG-‐TS typically multiplexes IP flows from different users. Therefore, all multiplexed traffic must share the same security keys, enabling each user to monitor the traffic of the other users.
RFC 5458 [39] recommends placing the security protocols at link-‐layer, as it can provide individual protection for each user equivalent to the wired networks. This solution, being transparent to the higher layers protocols, is compatible with NAT, PEPs, and other higher layer protocols. Moreover, link layer security can provide a protection to multicast and broadcast traffics.
Security overhead -‐ satellite networks generally have limited bandwidth on the return link, and hence they are sensitive to the data overhead added by security mechanisms; therefore, the applied security mechanisms should add a minimal overhead while ensuring the required security services; Efficient key management -‐ security mechanisms are required to support both automatic and manual distribution of encryption keys and security policies. Manageability and Scalability -‐ very critical issues in the modern wireless networks, and in particular for broadband satellite networks, which can grow up to thousands of STs; any security mechanism must provide flexible and scalable solutions to support a wide deployment.
•
•
Cryptographic agility -‐ the security mechanism must allow the update of the crypto algorithms and hashes when they become obsolete without affecting the overall security of the system; Multicast support -‐ multicast applications are efficiently supported over the satellite downlink; a multicast transmission allows the source to send data simultaneously to multiple clients whilst transmitting only a single copy to the network.
3.3 Current Security Techniques: State-‐of-‐the-‐Art Review
Most of satellite providers rely on their own proprietary security solutions (e.g. Comtech’s Streamline Encapsulation [14] or Newtec’s Extended Performance Encapsulation (XPE) [86], while military services implements unique and complex security measures that imply decrease of performance. Nonetheless, relying on undocumented and unstandardized protocols and proprietary security mechanisms exposes the system to high-‐risks and limits the interoperability of equipment from different manufacturers. For example, a recent research from IOActive [73] reported critical vulnerabilities in six different satellite network terminals manufactured by three different vendors and used for military, aerospace communications, maritime communications, and home users. These vulnerabilities include undocumented protocols, hardcoded credentials, insecure protocols, and backdoors.
On the other hand, three security frameworks can be identified for IP services over DVB-‐RCS links, which is the reference scenario for this work. DVB-‐S proposes a Common Scrambling for encryption of satellite downstream. DVB-‐RCS standard [24] introduces an Individual User scrambling for interactive satellite networks. Finally, IPSec and other Internet upper layer security protocols can be included as possible security solutions for the target scenario. Such mechanisms are described in the next sub-‐sections, highlighting their limitations and drawbacks.
3.3.1 DVB Common Scrambling
Common Scrambling Algorithm (CSA) [27] is used to secure MPEG-‐2 TS forward link by encrypting the broadcast traffic so that only authorized users can access the audio/video channels. This encryption algorithm uses per flow only one key, which is shared among all the receivers for decryption. Therefore, it is not a suitable mechanism for the encryption of IP over MPEG-‐2 TS because any user holding the key can use it to decrypt the traffic destined to other users. As a consequence, this mechanism won’t be addressed in details in this document.
3.3.2 DVB-‐RCS Privacy “Individual User Scrambling”
DVB-‐RCS standard [24] identified an optional security mechanism for an individual user scrambling over interactive satellite networks. This security mechanism is implemented at 32
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Security in DVB-‐RCS Satellite Networks
the Data-‐Link layer to obtain an inherently secure system. It consists of two main stages: the first is a set of message exchanges used for authentication and key agreement; the second stage provides on the fly encryption and decryption for the data stream. Finally, each RCST holds 160-‐bit pre-‐shared secret, called “cookie”, stored in non-‐volatile memory, while the NCC keeps a database with cookies of all RCSTs.
The general scheme is shown in Figure 3-‐1. When a user terminal behind the RCST requests to use the satellite link, it sends a logon request to the NCC. Next, both NCC and RCST perform security handshake procedure composed of Sign-‐On Request/Response messages to agree the security profile and to negotiate a set of cryptographic primitives and key sizes. In fact, the NCC indicates supported cryptographic parameters and algorithms in the Sign-‐On request message, while the RCST indicates the specific parameters to be used in Sign-‐On response message. For authentication, the specification identified three key exchange mechanisms aimed to both authenticate the RCST and agree on a session key. The three key exchanges and their principal features are: •
• •
Main Key Exchange (MKE) -‐ it uses Diffie-‐Hellman scheme to allow both NCC and RCST to agree on a shared secret; consequently, the shared secret is used as an input to hash functions to derive the session key; Quick Key Exchange (QKE) -‐ it uses the cookie to authenticate the RCST to the NCC similarly to MKE; it derives a session key directly from the cookie; Explicit Key Exchange (EKE) -‐ the NCC generates the session key, and then transmits the encrypted session key to the RCST.
In every case, once the session key has been agreed between the NCC and the RCST, the secure communication is established. Symmetric key block cipher will be used for encryption of transmitted data and an 8-‐bit counter is used to prevent the cloning of the RCST.
33
FIGURE 3-‐1: KEY EXCHANGE MECHANISMS
3.3.3 IP or higher layer security mechanisms
IPSec [53] or higher layers security protocols, such as TLS [83], PGP [51], SSH [84] or other application layer security protocols represent suitable options to secure IP traffic over MPEG-‐ 2 TS. However, these standard security protocols employed for end-‐to-‐end communication in terrestrial networks perform poorly in the satellite networks. In particular, IPSec operates at network layer and is widely used in IP networks to provide end-‐to-‐end security. On the other hand, IPSec provides data protection through the use of Encapsulating Security Payload (ESP), where the IP payload, including the TCP header and all other upper layer information, is encapsulated and encrypted. Satellite links often exploit Performance Enhancing Proxies (PEPs), which mainly split TCP connections in order to use an optimized transport protocol over the satellite segment. Hence, IPSec is incompatible with several PEP functionalities, which require access to TCP header information. IPSec can be used together with PEPs only in the following configurations [36]: TCP header is encrypted with a key shared between the terminal and the PEP, while the payload is encrypted with a different key, shared by the end users. However, this approach revokes the concept of end-‐to-‐end security since the trust relationship between the endpoints depends on an intermediate node on the network.
The limitations of using IPSec to secure satellite-‐based links have been discussed in several studies [36] and include high overhead and lack of support for multicasting. Transport layer security protocols, such as SSL (Secure Socket Layer) and TLS (Transport Layer Security) also have drawbacks that make them inefficient in some circumstances. For example, TLS is only able to secure TCP flows and does not provide any security mechanisms for UDP flows, which support most of the real-‐time applications, such as telemedicine or video surveillance systems.
34
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Security in DVB-‐RCS Satellite Networks
3.3.4 ULE Security Extension Header
ULE encapsulation does not provide any security mechanism but its specification supports carrying an extension header, as defined in [30], which can be utilized to provide secure ULE encapsulation over DVB-‐S/RCS.
Different security extension headers for ULE have been presented [40][59][11] and a unified lightweight security extension header is identified in [60][58] to address the security requirements within RFC5458 [39] but so far none of these proposed solutions have been standardized as mandatory security extension header for ULE.
Lightweight security extension header (Figure 3-‐1) suggests using a 16-‐bit security identifier (SID), similar to the Security Parameter Index (SPI) used in IPSec, to filter the security policies for transmitted and received traffic. It also suggests using a key to encrypt the data payload and receiver address. Message Authentication Code (MAC) is suggested to provide authentication and integrity. It finally suggests adding a sequence number to the SNDU for reply attack protection.
The lightweight security extension header satisfies most of the security requirement of DVB-‐ S/RCS; however, using message authentication code (MAC) may not be reliable for source authentication. In fact, being MAC a symmetric function, anyone holding the key, such as a legitimate receiver, can pretend to be the real author of the authenticated message. This is an issue in environments where there are multiple senders, like mesh networks.
FIGURE 3-‐2: LIGHTWEIGHT SECURITY EXTENSION HEADER Moreover, the security of the suggested mechanism depends on the security of the key management system and how the encryption key is generated and distributed among the communication parties. Key management protocols for secure ULE can be implemented at different layers: DVB-‐RCS at the link layer, IKEv2/IPSec at the network layer, TLS at transport layer and SSH at application layer. However, DVB-‐RCS link layer key management technology is the most directly usable for ULE [40]. 35
3.3.5 DVB-‐RCS Security Framework For ULE-‐Based Encapsulation
In addition to security techniques mentioned above, an additional security framework to secure ULE traffic is proposed [75], while making use of the built-‐in key management mechanism identified in the DVB-‐RCS privacy mechanism. This security mechanism utilizes the features of ULE security extension header and adapts it to the existing DVB-‐RCS link layer security specification, benefiting from mutual authentication and the built-‐in key management system to provide an enhanced and lightweight security mechanism for ULE traffic over DVB-‐RCS. To secure ULE traffic using DVB-‐RCS data link layer privacy system, a new security extension header is proposed, which is aiming to:
a) associate the encryption key and security information to the ULE SNDU; b) inform the receiver about the used cryptographic context by exchanging sign_on MAC messages after the successful authentication of RCST; c) hide the traffic characteristics by encrypting the data carried on the SNDU, the data type field, and the real destination address.
Figure 3-‐3 shows the proposed security extension header for ULE over DVB-‐RCS, with in grey the proposed extensions:
FIGURE 3-‐3: ULE SECURE SNDU • •
• •
•
36
Type Field (16-‐bit) indicates the type of the extension header (Secure_ULE); Receiver Destination NPA Address (48 bits) optional field in the standard ULE header to identify the destination address; present if D = 0 and absent if D = 1; when ‘hiding destination identity’ is enabled, this field is omitted and replaced with the encrypted NPA address field in the security extension header; Reserved (10-‐bit) additional field for future use, reserved for header alignment; Key_id field (6-‐bit) referring to the class Security_Ctxt_Version_Flow in the sign-‐on MAC message to identify the security context for DVB-‐RCS security which contains two session keys; only one key is used for encryption and decryption of a payload stream; Encrypted Destination NPA Address (48 bits), if the destination address NPA field is exist (D=0), it has to be removed from the standard ULE header, D bit changed to
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Security in DVB-‐RCS Satellite Networks
•
1, encrypted NPA field inserted to ULE security extension header which will be encrypted along with the (Protocol Data Unit) PDU; Encrypted Next PDU Type field (16 bit), indicate the type of the ULE PDU or the type of the next extension header.
To secure the ULE data streaming, the key_id field (greyed in Figure 3-‐4) is mapped to the proposed ULE security extension header (Figure 3-‐3) to associate the security context identified within the Sign-‐On MAC message to the ULE SNDU stream. Key_id field in the extension header is used to represent the security association between the transmitter and the receiver. As soon as transmitter and receiver will have matched security context, they will be able to use it to encrypt/decrypt both upstream and downstream. The receiver will be able to use the key_id in addition to the address information of the received SNDU to filter the received traffic.
FIGURE 3-‐4: SIGN-‐ON MAC MESSAGE STRUCTURE Security Policy Database (SPD) contains a list of security policies for incoming and outgoing traffic in both sender side and receiver side. Each security policy contains some security parameters (i.e. cryptographic algorithm and parameters, key information). Security policies will be dynamically distributed through DVB-‐RCS key management process over the MAC messages. Security Association Database (SAD) contains a list of security association (SA) describing the state of the connection. Each SA is a set of security policy instruction to describe the status of the secure connection between the sender and receiver. SA contains important information about the cryptographic context used i.e. key_id, and the other security parameters identified by the NCC to RCST during the negotiation procedure. 37
Efficiency of the proposed security extension header has been evaluated and compared to other type of encapsulation and security mechanisms available for DVB-‐RCS [75].
3.4 Weaknesses of DVB-‐RCS Privacy
After solving the compatibility issue of DVB-‐RCS privacy mechanism and the ULE encapsulation, as described 3.3.5, it is decided to evaluate the DVB-‐RCS privacy mechanism in terms of security, performance, and incompatibility.
DVB-‐RCS privacy mechanism presented in sub-‐section 3.3.2 was identified in the DVB-‐RCS standard published in May 2009 [24]. However, this mechanism is derived, with minor modifications, from the security mechanism of DVB Interaction Channel for Cable TV Distribution Systems (CATV) [20] published in October 2001. Therefore, employing a security mechanism designed for the Cable TV may not be adequate and fully compliant to the security requirements of satellite networks. In addition, designing a security specification based on an old or out-‐dated security framework may provide risks instead of security.
This section pinpoints the main problems, limitations, and vulnerabilities of DVB-‐RCS privacy “Individual User Scrambling” security framework.
3.4.1 Mutual Authentication
A first weakness in the DVB-‐RCS privacy mechanism is the use of one-‐way authentication. Only the NCC authenticates the RCST, there is no provision for mutual authentication. In fact, this makes the satellite network potentially vulnerable for different types of attacks such as man-‐in-‐the-‐middle. For example, RCST can communicate with an illegitimate NCC, exchange security parameters, and exchange traffic. Consequently, the attacker updates the RCST’s cookie causing a denial of service when it connects back to the legitimate NCC.
3.4.2 Security Messages Integrity
DVB-‐RCS Individual User Scrambling uses a message exchange at the MAC layer for security policy agreement, authentication, key agreement, and key update. However, the specification does not provide any mechanism to ensure the integrity of these messages. Hence, an intruder can tamper or generate security messages. Thus, it can, for example, determine the terminal to change its session key.
3.4.3 Data Encryption and Integrity
DVB-‐RCS provides on the fly data encryption/decryption using a symmetric block cipher. However, the specification only supports Data Encryption Standard (DES) with 40-‐bit key length as minimum-‐security requirement and 56-‐bit keys length as an optional. 56-‐bit keys are no longer considered secure since key space is very small, and it can be broken by brute 38
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Security in DVB-‐RCS Satellite Networks
force in relatively short time [85]. Moreover, this security specifications do not provide any integrity and authenticity protection for the data payloads, i.e. using Message Authentication Codes.
3.4.4 Destination Address Protection
Destination address (ATM VPI/VCI or MPE MAC address) is not scrambled. Thus, the traffic can be vulnerable to traffic analysis where the eavesdropper can track the receivers and the volume of their traffic.
3.4.5 Unsigned Diffie-‐Hellman Parameters
The DVB-‐RCS privacy mechanism depends on Diffie-‐Hellman algorithm with unsigned integer scheme, to allow the NCC and RCST to agree on a shared secret. However, the public values are exchanged between NCC and RCST without mutual authentication, i.e. they do not use certificates. Diffie-‐Hellman unsigned key exchange is vulnerable to man-‐in-‐the-‐middle attack [72]. Hence, if the attacker can perform a man-‐in-‐the-‐middle attack, he can also establish two shared secrets, one with the NCC and the other with RCST, while the NCC and the RCTS will think they are sharing the secret between each other.
3.4.6 Key Derivation from the cookies
DVB-‐RCS specification has identified the Quick Key Exchange (QKE) for RCST authentication and derivation of the session key used for the data encryption. Accordingly, the NCC sends its Nonce to the RCST, then the RCST replies with its Nonce value and the authentication value “Auth”. Then, both NCC and RCST derivate the session key directly from the cookie’s value using an HMAC hash function. In fact, this independency of the session key derivation from the authentication process reveals to any eavesdropping party what the session key has been agreed upon. Definitively, this mechanism doesn’t provide forward secrecy: if the cookie’s value is compromised, the secrecy of previously established session keys is affected. For example, the attacker can passively listen to the traffic recording and storing the important values (nonce1, nonce2, and Auth), in order to perform brut-‐force attack against the cookie value. As a result, the obtained cookie’s value can be used to derive any past session keys.
3.4.7 MPE/ ATM Limitation
DVB-‐RCS privacy provides the security mechanism for ATM and MPE encapsulations only. However, MPE is proven to be less efficient with more overhead than the modern encapsulation protocols such as ULE and GSE. In addition, MPE supports only IPv4 traffic and requires Logical Link Control/Sub-‐Network Attachment Point (LLC/SNAP) additional header 39
to support other network layer protocols. In contrast, ULE and GSE provide an easy and efficient encapsulation for any network layer protocols over DVB-‐S and DVB-‐RCS with an improved transmission performance compared to MPE [72].
3.4.8 Multicast Support
DVB-‐RCS privacy mechanism mentioned the use of Explicit Key Exchange (EKE) for multicast (Section 9.4.6.1 of the standard [24]). However, it is not clear how the multicast encryption key is exchanged through EKE messages, and how this key can be linked to a multicast group, or generated from a specific multicast security profile. Also, rekeying of the multicast groups is not defined. Since only one key is used per session, it is expected that this key will support both unicast and multicast traffic to the RCST. Modifications to security specification are proposed by [32] to support multicasting, but it did not address any of the weaknesses discussed above.
40
4 ROBUST SECURITY FRAMEWORK FOR DVB-‐RCS SATELLITE NETWORKS (RSSN)
Based on analysis of the security threats and requirements, and weaknesses of the current satellite security mechanism (in Chapter 3), it is decided to study the current practices for security mechanism used in the modern commercial wireless networks to identify the best mechanisms framework suitable for satellite networks or at least to get some useful hints. The study covered a relevant set of modern wireless technologies including WLAN, WiMax, Bluetooth, Zigbee, and UTMS. Table 4-‐1 summarizes the security review for these wireless technologies. Technology
Mechanism Description
§
WLAN IEEE802.11i
§
41
Drawback and Analysis
New security architecture called § Authentication and key derivation Robust Security Network Association process requires multiple round-‐trip (RSNA) [46]. RSNA is a link-‐layer messages to perform the security mechanism providing authentications and key distribution. enhanced mutual authentication, This can be bulky time-‐consuming for advanced data confidentiality, data initial link setup in case of satellite authenticity and integrity, reply networks. protection, and robust advanced cryptographic key management mechanism; Protects unicast, multicast, and broadcast traffics between the
§ §
§
§ WiMax IEEE802.16
§ §
Bluetooth IEEE802.15.1
§
§
§
§ Zigbee
§
IEEE802.15.4 §
42
wireless client and the access point or between two wireless stations; Relies on 802.1x for access control, EAP for mutual authentication, CCMP for data confidentiality and integrity; Secure key derivation mechanism consists of 4-‐Way Handshake to derive and agree on the pairwise encryption keys, and Group Key Handshake to transmit the multicast/ broadcast group key from the access point to the wireless client. • IEEE802.16 identified a link-‐layer § It can be vulnerable to some “man-‐in-‐ security [36]. It provides one way the-‐middle” attacks [68] because there authentication, to authenticate the is no mutual authentication for end user to the network; Users. The new version of Privacy and Support two ways for authentication, Key Management protocol (PKMv2) is either using X.509 certificates or using identified in the enhanced 802.16e EAP; specification. However, the new PKMv2 For data encryption, it uses DES in protocol is vulnerable to some attacks either CBC mode or AES-‐CCM mode. [88]; § It requires each client to hold a unique certificate. For satellite networks, this may introduce some scalability and manageability issues.
Security provided at both the § Bluetooth security is very complex and application layer and the link-‐layer. many applications can be designed and The current specification defines a implemented. This makes the security mechanism at the link level technology somewhat complicated and only, while the application determines cumbersome to deploy especially when security property to use; security is a priority. Authentication is based on challenge-‐ response, and the application decides which type of authentication is required; The data payload encryption is processed with a stream cipher called E0. Basic security mechanism, § This security mechanism is designed transceiver holds a list of “trusted for nodes with limited resources. peers” along with corresponding the Usually, limited power, memory and security policy; processing capability prevent A simple Message Integrity Code implementing an advanced and (MIC) is used to provide message complex security solution. authentication and integrity; Data can be protected using different cipher suites such as AES-‐CTR and AES-‐CCM; Simple key management mechanisms with three keying models: i) network keying, where all stations use the same key to communicate. ii) pairwise keying, each pair of nodes sharing a unique key. iii) group keying, single key shared among a group of nodes.
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
§
§
UMTS
§
Universal Subscriber Identity Module § UMTS security architecture is the lack (USIM), sets up a protected of integrity for the user data. Integrity connection between the user is provided only for system signalling; equipment (UE) and the serving § Security architecture doesn’t support network (SN); public key cryptography. Public key is a Both the UE and the SN are mutually useful approach from security point of authenticated. Set of cryptographic view. However, they are functions called “MILENAGE” is used computationally extensive and usually to provide challenge-‐response require more signalling overhead. authentication, key derivation; Confidentiality and integrity services are based on a block cipher algorithm called “KASUMI”.
TABLE 4-‐1: SECURITY REVIEW, CURRENT COMMERCIAL WIRELESS NETWORKS
Relying on the state of the art for the modern security mechanisms of different wireless networks, this chapter goes on to draw the main objectives and guidelines for a link-‐layer security framework applicable for DVB-‐RCS satellite networks. Its key aspects are: •
•
• • •
Target – A link-‐layer security framework tailored to secure user data in unidirectional broadcast, multicast, and point-‐to-‐point satellite links and designed to efficiently satisfy the security requirements discussed in Section III, considering the characteristics of satellite networks. Orientation -‐ to leverage on the mature and robust security technology 802.11i WLAN RSNA [46]; rather than using the current full RSNA framework, specific methods have been designed for every security stage and rationally integrated on the satellite network. Security -‐ The resulting security level must be not lower than the one provided in 802.11i WLAN networks; Performance – performance must be optimized with respect to the other security practices currently deployed on satellite networks; Compatibility and Manageability -‐ It must be compatible with the lightweight encapsulation protocols and the IP network layer techniques deployed on the satellite networks; additionally, it must provide an acceptable level of manageability and extensibility to facilitate the deployment procedures applied by service operators.
4.1 RSSN Framework Description
This section describes in detail the proposal of the new Robust Security Satellite Network (RSSN) framework, for data connectivity over DVB-‐RCS satellite networks. It describes the life cycle model for RSSN framework starting from terminal log-‐on and ending with security termination and terminal log-‐off. It will also highlight the strength points for each phase in the life cycle. 43
Special SNDU is used to provide a way to transport the security messages exchanged during the different phases of RSSN. The structure of the security SNDU is similar to the structure of a normal encapsulated SNDU. It only contains a header that identifies its type as a “Security Message”, as explained in Phase 4. In fact, due to small size of most security messages, the carrier SNDU is sent over MPEG-‐TS frames that also contain data SNDUs. The proposed RSSN framework envisages six phases: security agreement, mutual authentication, key derivation and distribution, data protection, rekeying, and log-‐off.
4.1.1 Phase 1: Discovery, Logon, and Security Agreement
DVB-‐RCS standard defines RCST discovery and logon procedures. After the RCST powers on, it performs initial synchronization procedures to log on to the NCC and to be registered in the network. During the initial synchronization stage, RCST sends a logon request on the Common Signalling Channel (CSC), through Slotted-‐Aloha random access. Logon request encapsulates the Terminal MAC address and terminal capabilities, including security support, terminal software version, type of supported streams, and frequency range. CSC burst is encoded and identified by a “Preamble” with a variable size for burst detection and identifying the start and end of the burst. A 1-‐bit field in the logon message indicates if the RCST supports security.
When the NCC receives the logon request, it identifies the terminal from the MAC address, checks the validity of the account and other administrative aspects. If the verification of the results is positive, the NCC responds with a unicast Terminal Information Message (TIM) to the RCST. The TIM includes two important tables supporting secure communications. The first table is called Return_interaction_path_descriptor and informs the RCST about the PID to use on the return link for every data stream. It is a 13-‐bit value with 3-‐bits reserved and used to identify the specific MPEG-‐2 stream. The second table is the Logon_Initialize_Descriptor, which provides the basic network functionalities and indicates if security is required through the security_handshake_required 1-‐bit field. In the proposed RSSN scheme, password is a long term shared secret, witch was previously shared between each RCST and the NCC. The password can be inserted manually by the user behind the RCST, or stored on smart card, or a secure media. On the other hand, the NCC maintains a database of all passwords stored in randomized values as a password-‐equivalent, rather than the clear text password.
To proceed with a secure communication, the NCC and the RCST need to agree the cryptographic algorithms and the security capabilities to be used during the later phases. As well as 802.11i, the proposed RSSN envisages that the NCC and RCST negotiate a set of cryptographic algorithms and security capabilities, called RSN Elements (RSNE). However, a simpler version of the RSNE is proposed to agree on the following information only: •
• 44
Mutual Authentication and key management methods, for example 802.1X, EAP method, Hash function, and key length; Encryption and integrity cryptographic algorithms, for example CCMP.
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
Unlike 802.11i, where the station gets the WLAN information through the proactive scan, in RSSN scheme the NCC initiates the security negotiation stage by sending a “Sec_Req” message that contains the NCC RSNE proposition for the cryptographic algorithms and parameters, in addition to the NCC identity (NCC-‐ID) that can be MAC address or a temporary ID agreed between NCC and RCST after every successful authentication. The RCST selects which algorithms and parameters to use from the proposed RSNE, by choosing at least one suggestion for every parameter proposed by the NCC. The RCST replies to the NCC with a “Sec_Resp” message, which contains RCST identity (RCST-‐ID) and RSNE selection. Figure 4-‐1 shows the message exchange between NCC and RCST during phase 1 in order to establish security agreement.
FIGURE 4-‐1: MESSAGE EXCHANGE – PHASE 1
4.1.2 Phase 2: Mutual Authentication
Similar to 802.11i, RSSN depends on 802.1X standard [47] for mutual authentication between NCC and RCST. Therefore, the EAP authentication framework [4] is applied. The flexibility of EAP makes it an ideal solution for authentication in the satellite networks, especially in the lower layers, and it provides transparent authentication and key derivation mechanisms. However, EAP is a new concept in the satellite networks and so far no identified EAP methods are identified.
The existing EAP methods are designed for specific frameworks and need a different number of round-‐trip messages to achieve the authentication and key distribution. For example, EAP-‐ TLS needs 13 messages, PEAP needs 16 messages, and EAP-‐EKE needs 7 messages. Large number of messages implies that a lot of time is needed for NCC and RCST to authenticate each other, which is inefficient for satellite networks considering the long delay. Hence, a new EAP method (EAP-‐SAT) is proposed, which is optimized for the authentication phase of RSSN framework. 45
Our proposed EAP-‐SAT is derived from EAP Encrypted Key Exchange (EAP-‐EKE) [39] properly modified to take into account peculiar satellite network characteristics. To shorten the authentication delay, EAP-‐SAT foresees just three messages for mutual authentication instead of seven as in AEP-‐EKE. Moreover, EAP-‐SAT presents more efficient key management and add security features. For example, it derives earlier the integrity key (Ki) and it uses this key to protect the integrity of the authentication messages. In fact, this protection is not offered for the first three messages of EAP-‐EKE. EAP-‐SAT authentication method is based on Diffie-‐Hellman algorithm, and the pre-‐shared “Password”.
The first EAP-‐SAT authentication message (EAPMsg1) {𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝐾𝐾, 𝐾𝐾𝐾𝐾, 𝑔𝑔|𝑝𝑝|𝑇𝑇 |𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1)} is sent to the RCST from the NCC. This is a protected message, which means that it is encrypted and integrity protected. Ke and Ki are encryption key and integrity protection key respectively, derived using the following PRF-‐X pseudorandom function 𝐾𝐾𝐾𝐾|𝐾𝐾𝐾𝐾 = 𝑃𝑃𝑃𝑃𝑃𝑃 − 𝑋𝑋 (𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝑁𝑁𝑁𝑁𝑁𝑁 − 𝐼𝐼𝐼𝐼|𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 − 𝐼𝐼𝐼𝐼) , where Temp is the output of the hashed Password, computed using HMAC hash function random number generator as a hash key [Temp = PRF (0+, password)], 0+ is a random number generator with a length equal to the output of the hash (160 for HMAC), X is the key size. Since the required keys size (X) has to be larger than the output of the HMAC-‐SHA1 (160-‐bit), multiple iterations of the PRF function are used, and then outputs are concatenated together. g, p, and T are Diffie-‐Hellman values (T= g^y mod p). nonce1 is the random value generated by the NCC. Upon receiving the first authentication message, the RCST similarly derives the Ke and Ki from the Password to verify the integrity and decrypt the message received. Consequently, RCST generates its Diffie-‐Hellman secret value x and calculates its public key R. Additionally, RCST generates random value, nonce2. However, before sending the reply message to the NCC, the RCST will compute the Shared Secret (𝑆𝑆) = (𝑔𝑔^𝑥𝑥𝑥𝑥 𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝). Therefore, S is used as an input to the keyed hash function to generate the RCST authentication value “Auth-‐RCST” and Auth encryption key (Ka), where
𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 = 𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝐾𝐾, 𝑆𝑆𝑆𝑆𝑆𝑆_𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 𝑆𝑆𝑆𝑆𝑆𝑆_𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 𝐴𝐴𝐴𝐴𝐴𝐴M𝑠𝑠𝑠𝑠1) , 𝐾𝐾𝐾𝐾 = 𝑃𝑃𝑃𝑃𝑃𝑃 − 𝑋𝑋 (𝑆𝑆, 𝑁𝑁𝑁𝑁𝑁𝑁 − 𝐼𝐼𝐼𝐼|𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 − 𝐼𝐼𝐼𝐼|𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1|𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛2) .The previously exchanged messages during phase1 (Sec_Req/ Sec_Resp) are used in Auth calculation including the header and the payload. Therefore, Auth value is used to ensure the authenticity of the unprotected security agreement messages of phase1. Finally, RCST replies to the NCC with the second authentication message (EAPMsg2) {𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝐾𝐾, 𝐾𝐾𝐾𝐾, 𝑅𝑅|𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1|𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛2), 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 (𝐾𝐾𝐾𝐾, 𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑅𝑅C𝑆𝑆𝑇𝑇)}
Upon receiving the second authentication message, the NCC verifies the integrity of the protected part using Ki, and use Ke to decrypt the message. Similarly, the NCC computes S and Ka. Furthermore, the NCC computes the Auth-‐RCST and uses it to check the correctness of the received value. If the received Auth-‐RCST value is different from the value computed by the NCC, the authentication of the RCST fails and the authentication phase will be terminated; otherwise, the authentication of the RCST succeeds.
46
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
For the mutual authentication, similarly to RCST, the NCC prepares its authentication value (Auth-‐NCC) then encrypts it using the computed
𝐾𝐾𝐾𝐾. 𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑁𝑁𝑁𝑁𝑁𝑁 = 𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝐾𝐾, 𝑆𝑆𝑆𝑆𝑆𝑆_𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅|𝑆𝑆𝑆𝑆𝑆𝑆_𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅|𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴1|𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴2).
The NCC sends the last authentication message (EAPMsg3) to the RCST to prove its identity {𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝐾𝐾, 𝐾𝐾𝐾𝐾, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1), 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 (𝐾𝐾𝐾𝐾, 𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑁𝑁𝑁𝑁𝑁𝑁)}
Upon receiving the last authentication message, the RCST first validates the integrity of the message, and then decrypts the Auth-‐NCC value. Finally, it compares it to the calculated Auth. The correctness of Auth-‐NCC value proves the NCC identity.
Upon the successful mutual authentication between the NCC and RCST, both are able to generate a common secret called Master Shared key (MSK) using this keyed-‐hash function 𝑀𝑀𝑀𝑀𝑀𝑀 = 𝑃𝑃𝑃𝑃𝑃𝑃 − 512 (𝑆𝑆, 𝑁𝑁𝑁𝑁𝑁𝑁 − 𝐼𝐼𝐼𝐼|𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 − 𝐼𝐼𝐼𝐼|𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛e1|𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛2).
MSK is 512-‐bit key used by NCC and RCST to derive the Pairwise Master Key (PMK). PMK is a 256-‐bit auxiliary key that is used during the key derivation and distribution phase (Phase 3) to derive different traffic protection keys. Figure 4-‐2 shows the message exchanges between the NCC and the RCST during the EAP-‐SAT mutual authentication mechanism.
FIGURE 4-‐2: MESSAGE EXCHANGE – AUTHENTICATION – PHASE 2
4.1.3 Phase 3: Key Derivation and distribution
Following the authentication and PMK establishment, both NCC and RCST enter the key derivation and distribution phase. First, this phase ensures the successful completion of authentication phase and confirms the establishment of the PMK. Second, it derives fresh keys to protect the data traffic between NCC & RCST. Third, this phase synchronizes the installation of encryption keys into the NCC and RCST based on their unique ID (NCC-‐ID and RCST-‐ID). As discussed in section V, key management in WLAN 802.11i consists of 6 handshakes for derivation and distribution of the pair-‐wise and group-‐wise encryption keys. 47
Considering the large delay of satellite networks, an efficient mechanism is proposed, which relies on 4-‐message exchange only to agree and distribute the encryption keys used to protect both unicast and multicast traffics. The first two messages between the NCC and RCST are used to agree on the Pairwise Transient Key (PTK), which is used to protect the unicast traffic. The last two messages are used to exchange the Group Transient Key (GTK), which is used to protect both multicast and broadcast traffics. This approach is very efficient for satellite networks, where only a single round-‐trip message exchange is needed to derive the encryption key in case multicast is not required. The proposed message interactions between NCC and RCST for key derivation and distribution are similar to the four-‐way handshake of 802.11i; therefore, these messages retain the same security features of the 4-‐way handshake. However, all information related to WLAN features have been removed. For example fast authentication, SSID info, wireless domain, etc. [46]. Details of the proposed scheme for key derivation and distribution are shown in Figure 4-‐3:
FIGURE 4-‐3: KEY DERIVATION AND DISTRIBUTION DURING PHASE 3 The messages exchanged in phase 3 are:
First Key Derivation Message (HandshakeMsg1): {𝑁𝑁𝑁𝑁𝑁𝑁 − 𝐼𝐼𝐼𝐼, 𝑁𝑁𝑁𝑁 − 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛, 𝑅𝑅𝑅𝑅} is sent from the NCC to the RCST, where NC-‐nonce is a random value generated by the NCC. RC is a reply 48
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
protection counter with an initial value set to 1. The NCC increases the RC counter by one every time it sends this message. NCC-‐ID is the NCC identity that can be a temporary ID agreed between NCC and RCST after every successful authentication.
Upon receiving the first message, the RCST verifies the received RC value. If the received RC value is less than or equal to the local value stored from previous communication, RCST will discard the message. Otherwise, if correct, the RCST generates its own random value, ST-‐ nonce and computes the Pairwise Transient Key (PTK) 𝑃𝑃𝑃𝑃𝑃𝑃 = 𝑃𝑃𝑃𝑃𝑃𝑃 − 384 (𝑃𝑃𝑃𝑃𝑃𝑃, (𝑁𝑁𝑁𝑁𝑁𝑁 − 𝐼𝐼𝐼𝐼, 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 − 𝐼𝐼𝐼𝐼)||(𝑁𝑁𝑁𝑁𝑁𝑁 − 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛, 𝑆𝑆𝑆𝑆 − 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛)). The derivation of the PTK is the same of 802.11i. However, here it is assumed that the Authentication Server (AS) coexists within the NCC. Therefore, the message interactions are done between the NCC and RCST only. Then, the PTK is partitioned into three different keys used for unicast traffic protection:
a) Key Confirmation Key (KCK), the first 128-‐bit of the PTK and used to verify the integrity and data authenticity for the messages exchanged during the key distribution phase (Phase 3); b) Key Encryption Key (KEK), derived of bits from 128-‐255 of the PTK, used to encrypt the messages exchanged during the key distribution phase; c) Temporary Encryption Key (TEK), consists of bits from 256-‐384 of the PTK, used as a session key for unicast data stream protection between the NCC and RCST.
Second Key Derivation Message (HandshakeMsg2): {𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 − 𝐼𝐼𝐼𝐼, 𝑆𝑆𝑆𝑆 − 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁, 𝑅𝑅𝑅𝑅, 𝑀𝑀𝑀𝑀𝑀𝑀1 = (𝐾𝐾𝐾𝐾𝐾𝐾, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎2)}. This message is constructed by the RCST and sent to the NCC. It consists of ST-‐nonce, RCST-‐ID, RC, and the Message Integrity Code (MIC1). MIC1 is computed over this message by the RCST using the derived KCK and RC is the updated value of RCST’s reply counter. Upon receiving message 2, the NCC first verifies the correctness of the RC value. If the reply counter value is not correct, the NCC will discard the message. Otherwise, the NCC uses the NC-‐nonce and ST-‐nonce values to compute PTK and derive KCK, KEK, and TEK, using the same method as the RCST. At the same time, the NCC uses KCK to verify the correctness of the MIC1 value to ensure the integrity of the received message. Finally, once the NCC and the RCST computed the PTK and derived the Temporary Encryption Key (TEK), the TEK can be used as a session key to protect the unicast data streaming using the agreed unicast cipher suite (See Phase 4). However, in order to support secure multicasting over satellite network, Group Temporary Key (GTK) is generated by the NCC and transmitted to group of RCSTs within the same multicast group. GTK is used to protect the multicast traffic from NCC to RCSTs in the multicast group. Messages 3 and 4 are used to transmit and confirm the GTK.
Third Key Derivation Message (HandshakeMsg3): The NCC sends the third message to the RCST, {𝐺𝐺 − 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛, 𝑅𝑅𝑅𝑅, 𝐸𝐸𝐸𝐸𝐸𝐸!"! (𝐺𝐺𝐺𝐺𝐺𝐺, 𝐺𝐺𝐺𝐺𝐺𝐺 − 𝐼𝐼𝐼𝐼), 𝑀𝑀𝑀𝑀𝑀𝑀2 = (𝐾𝐾𝐾𝐾𝐾𝐾, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎3)}, where G-‐ nonce is a random value generated by the NCC for this specific multicast group. GTK is 49
generated from Group Master Key (GMK) using a hash function, GTK = PRF-‐128 (GMK, NCC-‐ ID||G-‐Nonce). At the same time, NCC encrypts the computed GTK and GTK_ID using KEK. Additionally, NCC uses KCK to compute the MIC over the whole message body.
Upon receiving the third message, distributing the group key, the RCST will first check the reply counter. If it doesn’t match the expected value, the message is discarded. Otherwise, KCK is used to validate the MIC2 value to ensure that there is no data integrity error. If the computed MIC doesn’t match the received MIC, it discards the message. Otherwise, if correct, KEK will be used to decrypt GTK and GTK-‐ID.
Fourth Key Derivation Message (HandshakeMsg4): the RCST sends the fourth message to the NCC, {𝐺𝐺 − 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛, 𝑅𝑅𝑅𝑅, 𝑀𝑀𝑀𝑀𝑀𝑀3 = (𝐾𝐾𝐾𝐾𝐾𝐾, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎4)}, in order to confirm the reception of the GTK. MIC3 is computed over the received G-‐nonce and the updated RC value. Upon receiving the fourth message, the NCC verifies the RC value. If it is correct, it verifies the correctness of MIC3. Afterwards, the NCC can start protecting the multicast traffic using the GTK and the agreed multicast cipher suite (See phase 4).
4.1.4 Phase 4: Data Encapsulation and Protection
After the generation, distribution, and confirmation of the encryption keys, both the NCC and the RCST are ready to communicate securely. During the data protection phase, the traffic transferred between the NCC and the RCST (Unicast, Multicast, and Broadcast) is protected for data confidentiality and integrity using the encryption and integrity cryptographic algorithms agreed during the security agreement phase (Phase1).
In the proposed RSSN framework, CCMP protocol is used for traffic protection between the NCC and RCST. Generally, CCMP is designed for traffic protection over the WLAN. It encrypts the data at the Media access control Protocol Data Unit (MPDU) level. In WLAN, the MPDU corresponds to the frames that actually get transmitted over the radio link. However, satellite networks have a different structure for the MAC layer, where data has to be encapsulated before being sent over the MPEG-‐TS stream. Therefore, a new mode of operation is proposed for the CCMP protocol in order to protect the encapsulated SNDU. This phase describes the operation of CCMP protocol with the lightweight encapsulation mechanisms (ULE), used for packing IP datagrams (or other network protocols) over MPEG-‐ TS packets. However, similar mode of operation can be used with Generic Stream Encapsulation (GSE) but the description for this operation is omitted due to space constrains.
The data arrives to the encapsulation layer in a form of Payload Data Units (PDUs) such as IP datagrams, Ethernet frames, and any other network layer protocol. The PDUs pass through the encapsulator, which formats each PDU into a Sub-‐Network Data Unit (SNDU), assigns encapsulation headers and any other extension headers that may be required depending on the encapsulation protocol used. At this point, CCMP protocol processes each SNDU to generate a new protected SNDU. To protect ULE traffic using CCMP protocol, a new security extension header (ULE-‐CCMP) is proposed with the following goals:
50
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
• • •
To provide a reply protection using a 48-‐bit packet number (PN), To enable the receiver to derive the nonce value used in the encryption, To inform the receiver, in case of multicast, which GTK key is used using GTK-‐ID.
Figure 4-‐4 shows ULE SNDU with CCMP extension header (H1).
FIGURE 4-‐4: ULE SNDU WITH THE CCMP EXTENSION HEADER (BASE HEADER -‐ LIGHT GRAY, EXTENSION HEADER – DARK GREY) Where:
D is 1-‐bit identifying the presence or absence of NPA address (D=0; NPA is present, D=1; NPA is absent);
Length is a 15-‐bit field that indicates the length in bytes, of the SNDU counted from the byte following the Type field of the base header (T1) up to and the end of CRC; Length includes the size of any extension headers;
T1 is the 16-‐bit base header Type field; in this case, T1 specifying the type identified for the extension header (ULE-‐CCMP header); NPA is the destination Network Point of Attachment; it is optional field in ULE header.
H1 is the 56-‐bit extension header consisting of ULE-‐CCMP header fields (PN and GTK_ID) •
•
PN: is the 48-‐bit packet number incremented with each SNDU; PN shall not be repeated for encrypted SNDUs using the same encryption key; GTK_ID: 8-‐bit field contains the identifier of GTK encryption key used to protect the multicast traffic;
T2 is the 16-‐bit Type field of the security extension header, identifying the type of the carried PDU, i.e. secured IPv4 datagram, security message exchange;
CRC is the 4-‐byte CRC-‐32 ULE checksum.
The steps for protecting SNDU using ULE-‐CCMP are shown in Figure 4-‐5 and described below.
51
FIGURE 4-‐5: ULE-‐CCMP ENCRYPTION The unencrypted PDUs (IP packets, or other network protocol packets) are encapsulated using ULE to form Sub-‐network Data Units (SNDUs). Each SNDU carries two headers: ULE base header, and ULE security extension header (ULE-‐CCMP header). To proceed with SNDU protection four steps are identified:
a) the PN is incremented to obtain a fresh PN for each SNDU; then, the fresh generated PN, and GTK_ID are used to construct the ULE-‐CCMP header; b) Information of ULE base header (including the NPA, if present) is used for computing the Message Integrity Code (MIC); MIC is 64-‐bit computed using CBC-‐ MAC to protect the PDU, ULE-‐CCMP header, and ULE base header; MIC is appended to the PDU and the resulting field is encrypted; AES counter mode encryption is used with TEK for unicast traffic or GTK for multicast traffic to encrypt T2 field, the PDU, and MIC; on the other hand, ULE base header and ULE-‐ CCMP header are protected by MIC but are not encrypted, since both headers are carrying information required by the receiver in order to de-‐capsulate and decrypt the SNDU; generally, it is important for the counter mode encryption to avoid using the same counter value more than once; therefore, the counter that will be used by the counter mode is constructed using PN, source MAC address, Length field, and 16-‐bit incremental counter, which increments with every block in the counter mode. Figure 4-‐6 shows the nonce structure;
52
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
FIGURE 4-‐6: ULE-‐CCMP COUNTER STRUCTURE c) After the encryption, the SNDU is ready for transmission over MPEG-‐2 transport stream cells and the protected SNDUs are segmented into a series of MPEG-‐2 TS sections; these are transmitted over the logical channel using a fixed size MPEG-‐2 TS cells (184-‐bytes payload, 4-‐bytes header).
On the other hand, when the protected SNDUs are delivered to the receiver, first it validates the correctness of the attached CRC, in order to ensure that there are no transmission errors. If any, the receiver will discard the message. Otherwise, the receiver reads the PN in the ULE-‐ CCMP header and compares it with the last packet received to ensure that the packet is not replayed. If PN matches the expected packet counter, the receiver uses the TEK/GTK to decrypt the cipher text using AES CTR mode, therefore it restores the unencrypted PDU and MIC value. Afterwards, the receiver verifies if the MIC value is correct by recalculating it over the same data as previously done by the sender. The receiver should obtain the same value of the received MIC using the same encryption key if the data is not altered. Undoubtedly, MICs mismatch is an evidence of attack. Thus, the receiver has to discard the entire SNDU. If the MIC matches, the receiver removes the MIC and the ULE-‐CCMP header, then de-‐ capsulate the ULE SNDU by removing both base and extension headers, then passes the unencrypted PDU to the upper layers. ULE-‐CCMP encryption and decryption process are identical, which makes it simple, easy to implement, and speed up data processing. In addition, it provides strong protection against forgery, eavesdropping, and reply attacks.
4.1.5 Phase 5: Rekeying,
RSSN security framework provides on the fly re-‐keying to update the encryption keys PTK and GTK. Rekeying is always initiated by the NCC, however, RCST can request rekeying when needed. For example, rekeying is mandatory once the packet number (PN), which is used in CCMP-‐ULE encryption, has reached the maximum value (248) and could possibly warp.
Re-‐keying requires the use of the shared Pairwise Master Key (PMK) to drive a fresh PTK. Similarly, it requires the NCC to use the Group Master Key (GMK) to derive a new GTK for multicast traffic protection.
Similar to key distribution and derivation phase, for PTK re-‐keying, the NCC initiates the re-‐ keying process by sending the first re-‐keying message to the RCST including a fresh generated NC-‐nonce value. Once the RCST receives the message, it generates a new random value ST-‐ nonce and uses both nonces to compute a fresh PTK. Additionally, it will partition the PTK to derive the set of operational keys (KEK, KCK, and TEK). Finally, the RCST constructs the re-‐ 53
keying confirmation message including ST-‐nonce value and MIC computed over the full message body, using KCK. For GTK rekeying, NCC generates a new G-‐nonce value and uses it to compute a fresh GTK. Afterwards, it uses the last valid KEK to encrypt the new generated GTK.
This re-‐keying mechanism allows the establishment of new keys to take place without interrupting the data traffic. The NCC starts using the new generated key to encrypt the unicast traffic after receiving the RCST reply to the re-‐keying message. Similarly, for multicast traffic, the NCC uses the new GTK immediately after receiving the confirmation message from the RCST. At the same time, the RCST uses the same key the NCC used in the last encrypted message for both unicast and multicast traffics.
4.1.6 Phase 6: Security Teardown, log-‐off
At the end of the communication session, the logoff request can be initiated either by RSCT or NCC. However, terminal logoff can be necessary if the terminal lost the synchronization or errors occurred during the security establishment. When a peer receives the logoff request, it initiates deauthentication service, which will terminate the secure communication, and destroy all keys generated as a result of the successful authentication (MSK, PMK, PTK, and GTK).
4.2 RSSN Framework Analysis and Evaluation
RSSN is designed to provide robust security services to satellite networks, considering the specific environment and leveraging on existing and enhanced security procedures. This section presents a detailed analysis of the proposed RSSN in terms of compatibility of the solution, the security correctness, and a performance evaluation.
4.2.1 Compatibility Evaluation
In developing the RSSN security framework, a series of established cryptographic constructions (protocols, modes of operation, and algorithms) are used, while adapted them to the characteristics of satellite communications. this subsection highlights the elements that give RSSN a very high level of compliance with the characteristics of satellite communications.
For access control and authentication, the NCC and the RCST exchange only three messages within the lightweight EAP-‐SAT authentication method to prove their identity.
The limited number of messages and the request of mutual authentication only once allow to strongly reducing the impact of satellite link characteristics on performance, making it acceptable. 54
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
For data protection CCMP protocol is used to protect unicast and multicast data travelling over the wireless link. CCMP uses a single key to provide data protection services that include, data confidentiality, data origin authenticity, data integrity, and reply protection. CCMP encryption occurs within the IP encapsulation layer. Thus, it is transparent to the upper layer, allowing the use of different network layer techniques required for satellite networks i.e. Network Address Translation (NAT), PEPs, and IP compression. Additionally, CCMP expands the encapsulated SNDU by 17-‐bytes only, which makes it a lightweight data protection algorithm suitable for satellite networks. Finally, RSSN depends on EAP authentication and simple key management mechanism. Thus, it provides a high level of flexibility for the satellite operators that improve the manageability and scalability of satellite networks.
4.2.2 Security Analysis
RSSN framework first employs EAP-‐SAT method for the mutual authentication. Then, it relies on combined handshake for pairwise and group key distribution before proceeding for data protection. To analyse the security of the proposed RSSN framework, it is required to prove the correctness of security properties for both. Since data protection phase is built on idealized cryptographic protocol, the analysis of this phase is not presented within this security analysis.
4.2.2.1 EAP-‐SAT Security Analysis
The security of the authentication method is of paramount importance for the entire framework security. Hence, first it is important to verify the compliance of EAP-‐SAT method to the mandatory security requirements identified in EAP framework specification, which are required to be met by any EAP authentication method. Secondly, to carry out a modular proof of the security correctness for EAP-‐SAT using Protocol composition Logic (PCL) [16]. PCL is a provably reliable formal method for proving the security properties of authentication and key agreement protocols.
4.2.2.1.1 Security Compliance
As required by EAP specification, any proposed EAP compliant authentication method must declare the following security requirements: •
•
55
Mutual authentication -‐ both NCC and RCST are able to prove their identities based on a pre-‐shared password and agreed IDs; Forward secrecy -‐ MSK security is independent on the password security; should the password be compromised no impact on past communications;
•
•
• • •
Replay protection -‐ if an attacker replays messages from previous authentications, he cannot reveal the password or any of the derived keys, nor he can masquerade any of the legitimate parties; Key derivation -‐ MSK is derived from a shared secret that has been established during the authentication phase and that has been derived using secret data from both the NCC and the RCST; Dictionary attack resistance -‐ an attacker cannot capture the authentication messages and then use dictionary attack against the password; Man in the middle attack -‐ this method is resistant to man in the middle attack by ensuring both integrity and confidentiality of every message; Shared state equivalence -‐ NCC and RCST authenticate each other based on equivalent parameters; NCC-‐ID, RSCT-‐ID, Password, and the shared secret; all these parameters are combined to ensure the successful authentication that generates the master shared key.
4.2.2.1.2 Modular Security Correctness Proof
A formal security correctness proof of the complete 802.11i security protocol has been presented in [43]. The proof is modular, comprising a separate proof for each stage of 802.11i security protocol and providing insight into the networking environment in which each protocol section can be reliably executed. However, this proof is formalizing the security of TLS as an authentication mechanism for 802.11i.
A formal modelling of EAP-‐SAT authentication method is presented as set of statements, each specifying a sequence of actions to be executed by the honest parties (NCC and RCST). Then, this formal modelling is used to produce an input for the subsequent security proof operations as in [18]. The following is the formal modelling of EAP-‐SAT authentication method presented in “protocol programming language” based on cords [42]. The match action is used to perform and verify keyed hashes and to perform decryption processes. 𝑁𝑁𝑁𝑁𝑁𝑁 = (𝑌𝑌, 𝑋𝑋 ̂, 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃) [ 𝑛𝑛𝑛𝑛𝑛𝑛 𝑚𝑚, 𝑦𝑦, 𝑔𝑔, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1;
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝑔𝑔ˆ𝑦𝑦 𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝 /𝑇𝑇;
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!"##$%&' (𝑁𝑁𝑁𝑁𝑁𝑁 − 𝐼𝐼𝐼𝐼, 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 − 𝐼𝐼𝐼𝐼)/ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇; 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!"#$ (𝑁𝑁𝑁𝑁𝑁𝑁 − 𝐼𝐼𝐼𝐼, 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 − 𝐼𝐼𝐼𝐼) /𝐾𝐾𝐾𝐾|𝐾𝐾𝐾𝐾;
𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑌𝑌 , 𝑋𝑋, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!" (𝐸𝐸𝐸𝐸𝐸𝐸!" (𝑔𝑔, 𝑦𝑦, 𝑇𝑇, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1)); 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑋𝑋 , 𝑌𝑌 , 𝑧𝑧;
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝑧𝑧/ ℎ𝑎𝑎𝑎𝑎ℎ1, 𝐸𝐸𝑁𝑁𝑁𝑁!" (𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅);
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ ℎ𝑎𝑎𝑎𝑎ℎ1/ 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!" (𝐸𝐸𝐸𝐸𝐸𝐸!" (𝑅𝑅, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛2));
𝑚𝑚𝑚𝑚𝑚𝑚cℎ 𝐸𝐸𝐸𝐸𝐸𝐸!" (𝑅𝑅, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛2)/ (𝑅𝑅, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛2);
56
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝐸𝐸𝐸𝐸𝐸𝐸!" (𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅)/𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!" (𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆, 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆, 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸1); 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!" (𝑆𝑆𝑆𝑆𝑆𝑆_𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅, 𝑆𝑆𝑆𝑆𝑆𝑆_𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑀𝑀𝑀𝑀𝑀𝑀,
𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸1, 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸2)/𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑁𝑁𝑁𝑁𝑁𝑁;
𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑌𝑌 , 𝑋𝑋 , 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!" (𝐸𝐸𝐸𝐸𝐸𝐸!" (𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1)), 𝐸𝐸𝐸𝐸𝐸𝐸!" (𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑁𝑁𝑁𝑁𝑁𝑁).
𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 = (𝑋𝑋, 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)[ 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑌𝑌 , 𝑋𝑋 , 𝑚𝑚;
𝑛𝑛𝑛𝑛𝑛𝑛 𝑥𝑥, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛2;
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝑔𝑔ˆ𝑥𝑥 𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝 /𝑅𝑅;
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!"##$%&' (𝑁𝑁𝑁𝑁𝑁𝑁 − 𝐼𝐼𝐼𝐼, 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 − 𝐼𝐼𝐼𝐼)/ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇; 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!"#$ (𝑁𝑁𝑁𝑁𝑁𝑁 − 𝐼𝐼𝐼𝐼, 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 − 𝐼𝐼𝐼𝐼) /𝐾𝐾𝐾𝐾|𝐾𝐾𝐾𝐾;
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝑚𝑚/ 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!" (𝐸𝐸𝐸𝐸𝐸𝐸!" (𝑔𝑔, 𝑦𝑦, 𝑇𝑇, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1));
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ; 𝐸𝐸𝐸𝐸𝐸𝐸!" (𝑔𝑔, 𝑦𝑦, 𝑇𝑇, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1)/ (𝑔𝑔, 𝑦𝑦, 𝑇𝑇, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1); 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝑔𝑔^𝑥𝑥𝑥𝑥 𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝 /𝑆𝑆;
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻! (𝑁𝑁𝑁𝑁𝑁𝑁 − 𝐼𝐼𝐼𝐼, 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 − 𝐼𝐼𝐼𝐼, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛2)/ 𝐾𝐾𝐾𝐾;
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!" (𝑆𝑆𝑆𝑆𝑆𝑆_𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅, 𝑆𝑆𝑆𝑆𝑆𝑆_𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅, 𝐸𝐸𝐸𝐸𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃1)/ 𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅;
𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!" 𝐸𝐸𝐸𝐸𝐸𝐸!" 𝑅𝑅, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1, 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛2 , 𝐸𝐸𝐸𝐸𝐸𝐸!" (𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅); 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑌𝑌 , 𝑋𝑋 , 𝑤𝑤;
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝑤𝑤/ ℎ𝑎𝑎𝑎𝑎ℎ2, 𝐸𝐸𝐸𝐸𝐸𝐸!" (𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑁𝑁𝑁𝑁𝑁𝑁);
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ ℎ𝑎𝑎𝑎𝑎ℎ2/𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!" (𝐸𝐸𝐸𝐸𝐸𝐸!" (𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1)); 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝐸𝐸𝐸𝐸𝐸𝐸!" (𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1)/ 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛1;
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚ℎ 𝐸𝐸𝐸𝐸𝐸𝐸!" (𝐴𝐴𝐴𝐴𝐴𝐴ℎ − 𝑁𝑁𝑁𝑁𝑁𝑁)/𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!" (𝑆𝑆𝑆𝑆𝑆𝑆_𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅, 𝑆𝑆𝑆𝑆𝑆𝑆_𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅, 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸1, 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸2).
Following this formal presentation of the EAP-‐SAT authentication method, the definitions of Protocol Composition Logic (PCL) are used to prove the security correctness of this authentication method. Generally, PCL depends on the formula 𝜃𝜃 [𝑃𝑃] 𝑋𝑋 ∅ to prove the security correctness of the communication protocol, which means that starting from state where θ is true, after executing series of actions P by the process X, the final resulting state θ holds. PCL formulas typically ensure the possession of the data by the principles that execute the protocol rules (useful to state the data secrecy), and/or the order of rules executed during the protocol runs (useful to state the protocol session authenticity) [16].
The proof system of PCL combines different axioms and proof rules together with the protocol actions, first-‐order logic, knowledge model, temporal reasoning, and an important invariance rule for proving properties about the actions of principals that execute the rule of 57
the protocol, called the “honesty rule”. Honesty is an essential rule for the principles that executes that protocol because the intruder may perform unpredictable actions with any key that has been compromised. To ensure the security properties of EAP-‐SAT authentication method, both the NCC (Y) and the RCST (X) are expected to be honest and are the only parties, which recognize and share the corresponding “Password”. However, other principals in the network are expected to be potentially malicious and capable of reading, blocking and modifying messages transmitted over the network. To characterize PCL states, these definitions below formalize the two security properties, “Key Secrecy” and “Session Authenticity” [43].
Definition1: The authentication theorem requires that on completion of the protocol, the NCC and RCST accede on each other’s identity, protocol completion status, the cryptographic suite selection, each other’s nonces, and the MSK that is generated after the successful authentication. This authenticity property is determined in terms of matching conversations [43]. The basic idea of matching conversations is to guarantee that both NCC and RCST have consistent views of protocol runs. This definition is called “Session Authenticity”. The authentication mechanism is said to provide “Session Authenticity” if ϕ!"#!!"#,!"#$ holds, where: 𝜙𝜙!"#!!"#,!"#! ∷= 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻 (𝑋𝑋 ) ⋀ 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻 (𝑌𝑌) ⊃ ∃𝑌𝑌. 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴( 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 (𝑌𝑌, 𝑌𝑌 , 𝑋𝑋 , 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸1),
𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 (𝑋𝑋, 𝑌𝑌 , 𝑋𝑋 , 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸1), 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 (𝑋𝑋, 𝑋𝑋 , 𝑌𝑌 , 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸2),
𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 (𝑌𝑌, 𝑋𝑋 , 𝑌𝑌 , 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸2),
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 (𝑌𝑌, 𝑌𝑌 , 𝑋𝑋 , 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸3),
𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 (𝑋𝑋, (𝑌𝑌 ) ̂, (𝑋𝑋 ) ̂, 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸3),
Definition2: The established secret by the successful authentication (MSK) must be known only to the honest NCC and the honest RCST. This definition is called “Key Secrecy”. The authentication mechanism is said to provide “Key Secrecy” if 𝜙𝜙!"#!!"#,!"# holds, where:
𝜙𝜙!"#!!"#,!"#! ∷= 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻 (𝑋𝑋 ) ⋀ 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻 (𝑌𝑌) ⊃
𝐻𝐻𝐻𝐻𝐻𝐻 (𝑋𝑋 , 𝑀𝑀𝑀𝑀𝑀𝑀) ⋀ 𝐻𝐻𝐻𝐻𝐻𝐻 (𝑌𝑌 , 𝑀𝑀𝑀𝑀𝑀𝑀) ⋀ (𝐻𝐻𝐻𝐻𝐻𝐻 (𝑍𝑍 , 𝑀𝑀𝑀𝑀𝑀𝑀) ⊃ 𝑍𝑍 = 𝑋𝑋 ⋁ 𝑍𝑍 = 𝑌𝑌)
In fact, the “Session Authenticity” can be guaranteed only when the “Key Secrecy” is guaranteed. Moreover, by satisfying these two definitions, it can state that the security guarantees for both NCC and RCST equivalently.
Security of the exchanged key material during the authentication is based on actions performed by the honest principles, NCC and RCST. First, the generated secret materials such as nonce, keys, or Auth are sent out either encrypted with encryption key known only for the honest principles or used as an input for keyed hashes. Second, the honest principles are
58
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
prohibited to decrypt any protected material and send out the output in clear. To characterize these two facts formally, PCL assures that on the execution of the authentication rules, both the key secrecy and session authenticity are guaranteed if the formulas below hold. Formally: 𝛤𝛤!"#!!"#,! ⋀ 𝛤𝛤!"!!!"#,! ⊢ [𝐴𝐴𝐴𝐴𝐴𝐴ℎ𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃] 𝑋𝑋 ∅!"#!!"#,!"# ⋀ ∅!"#!!"#,!"#!
Where:
𝜞𝜞𝑬𝑬𝑬𝑬𝑬𝑬!𝑺𝑺𝑺𝑺𝑺𝑺,𝟏𝟏 ∷= ¬∃𝑚𝑚. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑌𝑌, 𝑚𝑚) ∧ (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚, 𝐻𝐻𝐻𝐻𝐻𝐻ℎ!"#$"% (𝐸𝐸𝐸𝐸𝐸𝐸 − 𝑀𝑀𝑀𝑀𝑀𝑀1, 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑟𝑟i𝑎𝑎𝑎𝑎))) ∨ (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝑚𝑚, 𝐻𝐻𝐻𝐻𝐻𝐻ℎ!"#$"% 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸3, 𝑁𝑁𝑁𝑁𝑁𝑁 − 𝐴𝐴𝐴𝐴𝐴𝐴ℎ ⋀
¬∃𝑚𝑚. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑋𝑋, 𝑚𝑚) ∧ (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚, 𝐻𝐻𝐻𝐻𝐻𝐻ℎ!"#$"% (𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸2, 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅)) 𝜞𝜞𝑬𝑬𝑬𝑬𝑬𝑬!𝑺𝑺𝑺𝑺𝑺𝑺,𝟐𝟐 ∷=
𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻 (𝑌𝑌)⋀𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 (𝑌𝑌, 𝑚𝑚) ∧ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚, 𝐸𝐸𝐸𝐸𝐸𝐸!" (𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆)) ⊃ (¬𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑌𝑌, 𝑚𝑚) ∧ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚 , 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆)) ∨ (𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅(𝑌𝑌, 𝑚𝑚) < 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑌𝑌, 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 ⋀
𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚, 𝐸𝐸𝐸𝐸𝐸𝐸!" (𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆)))
First, 𝛤𝛤!"#!!"#,! states that the authentication messages that contain a secret material (Diffie-‐ Hillmans values, nonce, and Auth) must not be sent out in clear during the protocol run. Instead, the authentication messages can be only sent out encrypted with a shared secret established between the honest principles. Second, 𝛤𝛤!"#!!"#,! states that the security of the authentication protocol is lost if the honest NCC or honest RCST is tricked into decrypting the message containing the secret materials and sends the output out the contests in clear. The formal modelling for the authentication method (EAP-‐SAT) presented above shows that the proposed EAP-‐SAT authentication method does not violate these two assumptions. Therefore, the proposed scheme guarantees the security property of the authentication method.
4.2.2.2 Key Derivation and Distribution Security Analysis
The message interactions for key derivation in RSSN are similar to the 802.11i 4-‐way handshake protocol. The only difference is that in 802.11i 4-‐way handshake protocol is used to agree on the PTK between the access point and computer station. In addition, a group key handshake is used to deliver the GTK. However, in RSSN the NCC and the RCST derive the PTK and GTK through combined handshake with 4 messages only. Therefore, if the security of the 4-‐way handshake and group key handshake is guaranteed, the key derivation handshake of RSSN is secure.
The security of the 4-‐way handshake and group-‐key handshake protocols are formally proved in [43]. Similarly to this formal proof of 4-‐way handshake and group key handshake, the security of RSSN key derivation and distribution handshakes is guaranteed only if these formulas hold. 59
For NCC (Y) and RCST (X)
∅!""#,!"# ∷= 𝐻𝐻𝐻𝐻𝐻𝐻(𝑌𝑌, 𝑃𝑃𝑃𝑃𝑃𝑃) ∧ 𝐻𝐻𝐻𝐻𝐻𝐻(𝑋𝑋, 𝑃𝑃𝑃𝑃𝑃𝑃) ∧ 𝐻𝐻𝐻𝐻𝐻𝐻 𝑍𝑍, 𝑃𝑃𝑃𝑃𝑃𝑃 ⊃ 𝑍𝑍 = 𝑋𝑋 ∨ 𝑍𝑍 = 𝑌𝑌 ∧ 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁(𝑌𝑌, 𝑃𝑃𝑃𝑃𝑃𝑃, 𝐸𝐸𝐸𝐸𝐸𝐸! (𝑃𝑃𝑃𝑃𝑃𝑃)) ∧ 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁(𝑋𝑋, 𝑃𝑃𝑃𝑃𝑃𝑃, 𝐸𝐸𝐸𝐸𝐸𝐸! (𝑃𝑃𝑃𝑃𝑃𝑃)) ∧ (𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑋𝑋, 𝑚𝑚) ∧ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚, 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆) ⊃ 𝑖𝑖𝑖𝑖L𝑒𝑒𝑒𝑒𝑒𝑒(𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆)))
𝛤𝛤!"#,! ∷= 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑌𝑌, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!"# (𝑥𝑥, 𝑦𝑦)) ⊃ ¬(𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑌𝑌, 𝑚𝑚) ∧ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!"# (𝑥𝑥, 𝑦𝑦)) ∧ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑋𝑋, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!"# (𝑥𝑥, 𝑦𝑦)) ⊃ ¬(𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑋𝑋, 𝑚𝑚) ∧ 𝐶𝐶𝐶𝐶𝐶𝐶𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡(𝑚𝑚, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻!"# (𝑥𝑥, 𝑦𝑦))
𝛤𝛤!"#,! ∷= (𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻 𝑌𝑌 ∧ 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑌𝑌, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎1 ⊃ ¬𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑌𝑌, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎2 ) ∧ (𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻(𝑋𝑋) ∧ 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑋𝑋, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎2) ⊃ ¬𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑋𝑋, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎1))
𝛤𝛤!"#,! ∷= 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻(𝑌𝑌) ∧ (𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑌𝑌, 𝑌𝑌, 𝑋𝑋, 𝑚𝑚’)) < 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑌𝑌, 𝑌𝑌, 𝑋𝑋, 𝑚𝑚”))⋀𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚’, 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆1) ∧ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚”, 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆2) ⊃ 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖(𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆1, 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆2) 𝛤𝛤!"#,! ∷= 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻(𝑌𝑌)⋀𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑌𝑌, 𝑚𝑚)⋀𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚, 𝐸𝐸𝐸𝐸𝐸𝐸!"# (𝐺𝐺𝐺𝐺𝐺𝐺)) ⊃ (¬𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑌𝑌, 𝑚𝑚)⋀𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚, 𝐺𝐺𝐺𝐺𝐺𝐺)) ∨ (𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅(𝑌𝑌, 𝑚𝑚) < 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑌𝑌, 𝐺𝐺𝐺𝐺𝐺𝐺)⋀𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑚𝑚, 𝐸𝐸𝐸𝐸𝐸𝐸!"# (𝐺𝐺𝐺𝐺𝐺𝐺))) 𝛤𝛤(!"#,!) ∷= (𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻(𝑌𝑌 )⋀𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑌𝑌, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻ℎ𝑎𝑎𝑎𝑎𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒3) ⊃ ¬𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑌𝑌 , 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎4))⋀ (𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻(𝑋𝑋)⋀
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑌𝑌, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎4) ⊃ ¬𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑋𝑋, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎3))
The precondition 𝛩𝛩!""#,!"# requires that only the honest entities know the PMK. Additionally, PMK will only be sent encrypted. Furthermore, the NCC monotonically increases the sequence number for every key exchange message sent to prevent reply attacks.
Starting from a state in which the precondition (∅!""#,!"# ) holds, executing the key exchange
rules will guarantee the desired authentication and secrecy properties if these formulas (𝛤𝛤!"#,! , 𝛤𝛤!"#,! , 𝛤𝛤!"#,! , 𝛤𝛤!"#,! , 𝑎𝑎𝑎𝑎𝑎𝑎 𝛤𝛤!"#,! ) hold. In fact, assuming these formulas hold, the security property is guaranteed. 𝛤𝛤!"#,! ⋀𝛤𝛤!"#,! ⋀𝛤𝛤!"#,! ⋀𝛤𝛤!"#,! ∧ 𝛤𝛤!"#,! ⊢ ∅!""#,!"# [𝑘𝑘𝑘𝑘𝑘𝑘 𝑒𝑒𝑒𝑒𝑒𝑒ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟]𝑋𝑋∅!""#,!"#,!"# ∧ ∅!""#,!"#,!"#!
Formula 𝛤𝛤!"#,! listed above implies that the NCC and RCST will derive the PTK locally and must not reveal it. 𝛤𝛤!"#,! states that no entity is allowed to perform the role of both the NCC and the RCST. This is a valid assumption in the satellite network. 𝛤𝛤!"#,! states that the sequence number should be monotonically increased and included in both GTK exchange messages (message 3 and 4) to guarantee the key ordering for the RCST. 𝛤𝛤!"#,! states that, the NCC and the RCST must not share or send the GTK. This can be an issue if the GTK is encrypted with the same key used to encrypt the data traffic, because if the TEK of one terminal would be compromised, for any reason, it would affect the security of all the other terminals as well. However, the proposed key derivation mechanism uses KEK to encrypt the GTK and TEK for data traffic encryption. Finally, 𝛤𝛤!"#,! states that, during the GTK distribution no entity is allowed to play the role of both the NCC and the RCST. 60
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
In conclusion, if the NCC and the RCST derive the encryption key (PTK) locally and do not reveal the MSK, PMK, PTK, or GTK, the proposed RSSN key derivation provides secure key management scheme between the NCC and RCST.
4.2.3 Performance Evaluation
To evaluate the performance of the proposed security mechanism, the cost of security is studied in terms of Data Overhead (DO) then it is compared to other commonly used security mechanisms. Theoretically, DO is the expression of the added quantity of data that need to be sent using the satellite link to provide security services. It is expressed as the ratio between the added information and the total information sent. DO = AI /TI * 100
Where AI is the added information and TI is the total information. In the proposed RSSN framework, the DO has three components: a) the authentication and key agreement components; b) the rekeying components; c) the data protection components.
The authentication and key management components are exchanged only once before initializing the secure communication. Also rekeying components are required every 248 protected SNDUs. Therefore, these components are negligible and only the data protection component will be considered in the analysis of DO. The data protection represents the quantity of added information by the CCMP-‐ULE header and the MIC and is not influenced by the security parameters that are used. Thus, it is only a function of the encapsulated packet length, because a fixed number of bytes, 9 for CCMP-‐ULE header and 8 for MIC, are added to each SNDU, regardless its length.
In order to provide an extensible and precise performance evaluation of RSSN framework, a simulation framework has been developed based on Omnet++ 4.4.1 discrete event simulation environment [44].
Omnet++ has been used to reproduce a realistic satellite link between a satellite terminal (RCST) and a network control centre (NCC). The simulated environment is configured to envisage a single client PC connected to the RCST and accessing the Internet through the satellite gateway, which is co-‐located with the NCC. Additionally, INET framework 2.4.0 for Omnet++ has been used to provide accurate models for IPv4, TCP, UDP protocols and other application layer protocols like FTP, HTTP, VoIP, and video streaming. Further, INET framework is used to implement the link-‐layer model. Figure 4-‐7 shows the simulated network environment using Omnet++.
61
FIGURE 4-‐7: OMNET++ SIMULATED SATELLITE NETWORK The developed simulation framework is built on top of EtherMAC link-‐layer model of INET [48] to simulate three different scenarios based on the security mechanism: •
•
•
Scenario 1 ULE encapsulation – No security -‐ In this scenario, the aim is to simulate the overhead of ULE encapsulation for IP traffic over DVB-‐S/RCS network; this scenario will produce the baseline traffic for the performance benchmarking without any added security features; the EtherMAC model is configured to add additional bytes to each IP packet before transmission equal to the overhead of ULE encapsulation; for example, adding additional 14-‐bytes for ULE with NPA and 8-‐bytes for ULE without NPA; Scenario 2 ULE encapsulation + RSSN security -‐ In this scenario the aim is to simulate the data overhead of the proposed RSSN framework; RSSN authentication and key management components are simulated as a set of MAC layer messages exchanged between the RCST and NCC when the simulation starts; additionally, RSSN data protection overhead including 9-‐bytes for CCMP-‐ULE header and 8-‐bytes MIC is added to each SNDU before transmission; Scenario 3: ULE encapsulation + IPSec -‐ IPSec is an end-‐to-‐end solution that provides basic security services for satellite links; in this scenario IPSec overhead with ESP tunnel mode is simulated; it simulate the IPSec overhead with AES-‐128 encryption, HMAC-‐SHA-‐1 authentication code, and an IV of the same size as the encryption block size, as specified in [34]; IPSec data overhead is computed over each IP packet and considers the padding requirements for the chosen AES encryption mode and HMAC-‐ SHA-‐1 operation.
For each scenario, four types of data traffic are simulated between the RCST and the NCC: FTP and HTTP over TCP transport protocol and VoIP, and Video Streaming over UDP transport protocol. For each protocol, one hour of traffic have simulated to obtain a realistic user behaviour over satellite network. The evaluation involves the measurement of SNDU size as well as the data overhead for both security mechanisms, RSSN and IPSec on each of the simulated protocols. Finally, the results achieved for each protocol will be assessed. Table 4-‐2 summarizes the simulation setup.
62
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
Simulation Time RTT Bandwidth MTU Link-‐Layer Network Protocol Transport Protocol Application Protocols over TCP
1-‐hours 600ms 4 Mbps 1500 Bytes Ether-‐MAC IPv4 TCP (Reno) / UDP FTP: 1MB file transfer every 10 min. HTTP/1.0: Resources Size: 500B -‐ 20KB Video Streaming: Packet length 256, 512, 1024, Application Protocols 1500 Bytes over UDP VoIP: 40-‐bytes voice packets
TABLE 4-‐2: SIMULATION SETUP
4.2.3.1 FTP Traffic:
To simulate FTP traffic, the terminal is configured to download 1MB file from the NCC over the satellite link every 10 minutes. In fact the simulation run for 1 hour for each scenario, ULE no security, ULE with RSSN, and ULE with IPSec. For detailed investigation, Figure 4-‐8 shows a zoomed view for the first 10s of the traffic, using all the simulated scenarios and starting the simulation at time 0s. The packets at the bottom present ARP request and TCP establishment handshake (3 packets) for each scenario, while the upper packets presents the FTP traffic.
FIGURE 4-‐8: SIMULATED FTP TRAFFIC (ZOOM VIEW) RSSN slightly increases the packet size because of the overhead added to the encapsulated SNDU, namely ULE-‐CCMP header for confidentiality (9-‐bytes) and the MIC for the data authentication (8-‐bytes). This adds a fixed size overhead total 17-‐bytes, to each SNDU regardless the packet size. Since FTP uses a large packet size, 17-‐bytes the overhead will have a very minor influence on the total packet size.
IPSec increases the packet size because of the headers added to the original IP packet, namely the ESP header for confidentiality (40-‐bytes) and the new IP header for the tunnel (20-‐bytes). Additionally, IPSec uses block cipher for encryption and HMAC-‐SHA1 for authentication. 63
Thus, IPSec requires original IP packets long multiple of the block size, so that packets may have to be padded to bring them to the block length.
In addition to the increase of the packet size discussed above, Figure 4-‐8 shows in each scenario the connection setup time, which is the time required for communicating security handshakes between the NCC and the RSCT in order to setup a secure connection. It is considered that every two-‐handshake messages require 1 RTT. Although connection setup time is required only once after the terminal log-‐on procedure, it is still important to consider it as part of the cost of the proposed mechanism. Less than 3 seconds are required to setup the secure connection in RSSN due to the exchange of security agreement, authentication, and key distribution messages. IPSec requires at least 4.5 seconds to exchange a total of 9 messages: 6 in phase1 (main mode) and 3 in phase2 (Quick mode)[5].
4.2.3.2 HTTP Traffic
HTTP traffic is evaluated to simulate Internet surfing over the broadband satellite network. In fact, with HTTP it is important to evaluate the traffic on both directions, forward (from NCC to RCST) and return (From RCST to NCC) links since HTTP protocol works on request/response basis. For clarification, Figure 4-‐9 and Figure 4-‐10 show the average SNDU size for HTTP traffic in both forward and return links respectively, using the three simulated scenarios.
64
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
FIGURE 4-‐9: SIMULATED HTTP TRAFFIC IN THE FORWARD LINK
FIGURE 4-‐10: SIMULATED HTTP TRAFFIC IN THE RETURN LINK Generally, the analysis of HTTP results proves that RSSN overhead is negligible on the forward link because the 17-‐bytes overhead is very small compared to the packet size, which is on average 1000 bytes. On the return link, where the request packets are very small (Avg. 100-‐bytes) the RSSN overhead is larger. However, in the worse scenario, when the packet size is very small, such as HTTP request packets, the RSSN overhead is only 15%.
In contrast, IPSec increases the packets size in both forward and return links due to the added headers. However, the influence in the packets size in the return link is much higher than the influence in the forward link. This is mainly due to the padding requirements of IPSec. IPSec adds padding data to IP packets to bring them to the block size, 16-‐bytes for CBC and 64-‐ bytes for HMAC-‐SHA1. Therefore, the overhead of IPSec is much higher in case of smaller packets.
4.2.3.3 UDP VoIP and Video Traffic
Interactive applications are sensitive to the bandwidth available, data loss, delay, jitter, and the efficiency of data transmission. Thus, the impact of the RSSN security on the interactive multimedia applications including audio and video was evaluated. 65
Voice and video streams are transmitted over the simulated scenarios while fixing all other network parameters (loss, delay, etc.) and monitoring the influence on the packet size. For voice, VoIPStream model of INET is used to generate a realistic VoIP packet stream over UDP with 40-‐byte payload size, a typical packet length for the voice traffic.
Figure 4-‐11 shows the behaviour for UDP VoIP streaming. Clearly, the difference between the influence in the packet size in both RSSN and IPSec is noticed.
FIGURE 4-‐11: SIMULATED VOIP TRAFFIC In a further analysis, the impact of RSSN and IPSec on the quality of the transmitted voice streams is analyzed. In fact, the voice quality is affected by the ratio of the VoIP payload to the total packet length [6]. Figure 4-‐12 shows the format and the size change of the VoIP packet with every scenario.
FIGURE 4-‐12: OVERHEAD ADDED TO THE VOIP PDU As it can be observed, results in Figure 4-‐12 show that the packet size is slightly increased in RSSN traffic. On the contrary, IPSec dramatically increases the packet size to reach 210-‐bytes. As a consequence, the ratio between the actual voice payload and the total packet length decreases, indicating an increase in the wasted bandwidth. i.e. bandwidth that doesn’t carry actual data. The increase in the packet size also impacts the transmission delay, queuing
66
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Robust Security framework for DVB-‐RCS Satellite Networks (RSSN)
delay, jitter and buffering delay [6], affecting the overall voice quality. Therefore, the use of RSSN when dealing with voice traffic can present a better bandwidth utilization, and reduce the transmission delay. Hence, a better voice quality.
For Video Streaming, INETVideoStreamSvr model is used to generate CBR video streaming traffic. The model is configured to generate different UDP payload sizes, namely 256, 512, 1024 and 1500 bytes. The influence of the added data overhead is measured on the final packet size at every scenario.
The results show that the RSSN overhead is constant (17-‐bytes) over all packet sizes. Moreover, when UDP packets with size equal to the MTU (1500 bytes) have been used, the IP payload has exceed the maximum transmission unit (MTU). Hence, IP fragmentation is necessary. In this case RSSN behaves similarly and increases the size of the fragmented packets by adding 17-‐bytes to each fragment.
In fact, video streaming is very sensitive to parameters of the network such as delay, packet loss, jitter, and channel bit rate. When these parameters exceed certain thresholds, the quality of the video drops abruptly.
By fixing all network related parameters including delay, packet loss, etc. The average UDP throughput for the proposed RSSN is measured in comparison to ULE and IPSec traffic, in order to understand the impact of the security overhead on the video quality. Figure 4-‐13 shows the throughput (bits/sec) for ULE, RSSN, and IPSec for the simulated UDP payload sizes, namely, 256, 512, 1024, and 1500 bytes.
FIGURE 4-‐13: THROUGHPUT VS UDP PACKET SIZE While both ULE and RSSN traffics show similar throughput, IPSec requires a higher throughput. The bend in the IPSec line is caused by the high IPSec overhead on the
67
fragmented IP payloads. Generally, IP needs to fragment packets with a UDP payload greater than 1472 bytes to avoid the total packet size exceed the MTU.
Table 4-‐3 compares the data overhead added by RSSN and IPSec to the non-‐secure ULE traffic using all evaluated protocols. Protocol
FTP HTTP (FWD) HTTP (RTRN) VoIP Video
Added Data Overhead % (Avg.) RSSN IPSec 1.5 8.8 4.9 18.6 15.3 46.7 14.0 54.0 1.0 10.0
TABLE 4-‐3: AVERAGE DATA OVERHEAD RSSN VS. IPSEC It can be inferred from Table 4-‐3 that RSSN outperforms IPSec with all evaluated protocols. The improvement in the data overhead offered by RSSN consequently results in an enhancement in the bandwidth utilization, providing bandwidth savings up to 31% comparing to the IPSec, e.g. with HTTP traffic on the return link. Furthermore, RSSN enhances the performance of interactive applications and provides all the required security services.
68
5 FUTURE WEB TECHNOLOGIES (WEB 2.0) AND SATELLITE NETWORKS
At the beginning of the Web, pages were rendered server-‐side and every user interaction required a page reload. In the post-‐Facebook era, pages usually change dynamically inside the browser, without triggering a reload. This paradigm has been mainly applied to the World Wide Web (WWW), which now approximates the Social Web envisaged by the World Wide Web Consortium (W3C) [49]. Yet, its implementation is based on a heterogeneous set of specific services, rather than by pursuing a single unified design. Components include: blogs, wikis, Online Social Networks (OSNs), and multimedia sharing platforms. In parallel, legacy websites have also been enriched with such functions. It has been proven that the more that load times are reduced the more a content provider can sell on Internet [69]. Thus, being fast is the true call of every web application: fast to load, fast to use, and fast to update.
This enriched vision has not been limited only to content and speed. Another trend is the creation of applications embedded within Web pages, i.e., Software-‐as-‐a-‐Service (SaaS) platforms [54], where interactive Graphical User Interfaces (GUIs) are operated from the browser. Yet, to issue commands and provide feedbacks to users, they require a non-‐ negligible amount of bandwidth and real-‐time constraints for assuring prompt data synchronization with a remote back-‐office.
The growing complexity of the Web content also impacts the network, and vice versa. Some issues that have been resolved by amending the HTTP protocol specification: 69
a) An increased number of objects per page requires parallelization of the retrieval process to avoid performance degradation;
b) The rising volume of data needs an increase in protocol efficiency by reducing overheads; c) The distributed nature of many contents (i.e., data stored by different content providers), jointly with the need of long-‐held connections for interactivity purposes, requires more flexible policies.
To partially fulfil the requirements i) — iii), the HTTP/1.1 [32] relied on multiple connections for concurrency. However, this can introduce additional hazards, including supplementary round trips for completing the connection setup/teardown phases, delays in the slow-‐start phase of the TCP, as well as connection rationing by the client, e.g., when a client tries to avoid opening too many connections to a single server. Such issues are even more severe when in presence of links having high delays, such as those provided through satellites.
FIGURE 5-‐1: EXAMPLE OF PIPELINING OF HTTP REQUESTS. Nevertheless, the support of multiple connections is not the only mechanism to improve data rates. Another important methodology is pipelining in which multiple HTTP requests are sent using a single TCP connection without waiting for a response. This can reduce the load times of pages, with potential gains greater over high latency connections, such as satellite networks [73]. This improvement is possible, since several HTTP requests may be sent in a single TCP packet. Hence, pipelining HTTP connections reduces the offered load in terms of TCP Protocol Data Units (PDUs). Figure 5-‐1 shows how pipelining reduces the connection time with the respect to sequential HTTP requests.
However, the gains achievable through pipelining are limited by the HTTP/1.1 protocol specification, since the server must generate responses in the same order that the requests were received. Thus, the entire flow of information belonging to a connection is ruled according to a first-‐in-‐first-‐out policy. This can lead to performance degradation also known as Head of Line (HOL) blocking phenomena Figure 5-‐2.
70
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS]
Web Technologies (WEB 2.0) and Satellite Networks Future
VHUYHU
FOLHQW
+2/
FIGURE 5-‐2: HOL BLOCKING EXAMPLE
HOL blocking is a performance-‐limiting event occurring when a line of packets is held-‐up by the first packet, for example in input buffered network switches, out-‐of-‐ order delivery, and multiple requests in HTTP pipelining. This HTTP pipelining requires the proper support both by the client and the server. Flows in HTTP have introduced a series of workarounds:
a) Files Concatenations; on most sites, the major component of download time is not the base HTML file itself, but the number of subsequent HTTP requests to load the page’s supporting files – CSS, JavaScript, images, etc. Each requires extra HTTP requests, and each unique request adds time. The fewer the requests to the server that the browser has to make, the faster the page will load. There is an inherent overhead in each HTTP request. It takes substantially less time to serve one 60K file than it does three 20K files and much less than it does six 10K files. Minimizing CSS and JavaScript files can be done by just concatenating all files into two combined files (one for CSS and one for JavaScript) and minimizing them by data compressors. It allows to quickly going from 10 or more files down to 2 files only, and their size can be greatly reduced. These methods could be used in link-‐specific protocol enhancing proxies. b) Image sprite; is a collection of images put into a single image. A web page with many images can take a long time to load and generates multiple server requests. Using image sprites will reduce the number of server requests and save bandwidth. For instance, instead of using three separate images, this single image is "img_sprites.gif" is used and using the CSS file, the client can show just the part of the image needed. In the following example the CSS file specifies which part of the "img_sprites.gif" image to show: img.home { width:46px; height:44px; background:url(img_sprites.gif) 0 0;
71
} d) Domain sharding; is a well-‐known practice to share content server load between multiple sites. It can also trick browsers into opening many more connections with a server than what is allowed by default. This is important for improving page load times in the face of a page containing many objects. Given that the number of objects comprising a page has more than tripled in the past 8 years, now averaging nearly 85 objects per page [70], this technique is not only useful, it is often a requirement. Modern browsers like to limit browsers to 6-‐8 connections per host, which means just to load one page a browser has to not only make 85 requests over 6-‐8 connections, but it must also receive those requests over those same, limited number of connections. Consider, too, that the browser only downloads 2-‐ 6 objects over a single connection at a time, making this process somewhat fraught with peril when it comes to performance. This is generally why capacity is not a bottleneck for web applications but rather it is TCP-‐related issues such as round trip time (latency). e) Resource inlining; is the use of a linked object, often an image, from one site by a web page belonging to a second site. The second site is said to have an inline link to the site where the object is located.
The ability to display content from one site within another is part of the original design of the Web's hypertext medium. The blurring of boundaries between sites can lead to other problems when the site violates the user expectations. Inline linking can also be exploited for malicious purposes.
These techniques are driving significant alterations in the traffic patterns generated by applications. This traffic exhibits new features. Specifically, for a classic Web page is composed of many objects, which have to be retrieved to compose whole content, i.e., the main object containing the HTML code, and (multiple) in-‐line objects linked within the hypertext. Thus, the enriched requirements of the web significantly alter the characteristics of in-‐line objects, which still looking for additional services, e.g., for audio/video streaming, or to interact with an OSN.
Another important feature is increased support of mobility. Thus, network appliances mostly assure connectivity while “on the road” via wireless links, e.g., IEEE 802.11, the Universal Mobile Telecommunication System (UMTS) and satellite networks. In this perspective, mobile nodes impose constraints clashing with the resource-‐consuming nature of the Web technology. This is particularly true for satellite network, potentially leading to additional hazards in terms of performances (e.g., [77] evaluated the performance of OSN accessed through a geostationary satellite link). Therefore, the process of the utilization of the Web has changed, and it is expected this trend will eventually become the so-‐called Web 2.0. The latter is a hyponym embracing a variety of technologies and development methods, include: the future techniques for server initiated data transmission (Server Push), which transmit the webpage contents from the server to the web browser without an explicit user request; Asynchronous JavaScript and XML (AJAX) 72
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Future Web Technologies (WEB 2.0) and Satellite Networks
technique, which is based on the use of the XML-‐ HTTP-‐Request Javascript object for constant data transmission between the server and the client by means of an indefinitely held HTTP connection; WebSocket protocol, which provides a full-‐duplex communication channel between the server and web browser over a single TCP connection.
Web 2.0 technologies are also set to change the requirements placed on a network – with an increasing emphasis on minimizing webpage download time, and an increasing need to consider on-‐off interactivity. The motivation for transport changes is a growing availability of high-‐speed xDSL/cable access. However, these high-‐speed services differ from most wireless and satellite systems in key ways. Current wireless/satellite systems typically employ dynamic capacity schemes with protocol accelerators and access methods that have been tuned for the existing web traffic. The traffic patterns and protocol behaviour of new web protocols is very different. It is therefore important to assess the implications on the design and operation of satellite systems as the new web is increasingly used. This is the focus of this chapter.
5.1 Real-‐Time Data Server Push Techniques
Several techniques emerged for delivering data from a web server to the browser, without an explicit user action. Like most technologies, their development was driven by explicit user demand. It is then important to analyse the requirements of these new “real-‐time” web applications. The use cases for server push are two: collaborative and informational applications. Collaborative applications allow users to work together, e.g. work on a shared document, or activity in a chat-‐room. In that sense, social networks are the ultimate collaborative tools, as the updates of friends/followers/connections are automatically delivered to the browser. Users of these applications are millions. Informational applications are usually less interactive, however users increasingly seek to know what it is happening now. The popular booking.com website let users know in real-‐time how many of them are browsing that page. This is deliberately inserted because it causes a “sense of urgency” to book the hotel room.
Informational applications also include applications that show graphs to the end user. It is possible to update these graphs automatically, without user intervention. Some very popular applications, such as Gmail, show counters in their home page to invite users to sign up.
These two use cases are similar in their need for a fast and cheap way to send updates to the client. The use cases differ in the way the client-‐server communication must be handled. Collaborative applications are bidirectional and symmetrical, as they have usually the same number of messages to be sent and received, while informational applications are unidirectional, as they just receive messages. 73
The core idea behind server push is that a communication channel must stay open between the browser and the server and that this channel must have the lowest possible overhead and latency. However, HTTP/1.1 [32] does not natively support this. HTTP is a request/response protocol, and it was not designed to handle long-‐lived connections, and most major server sites were keen to avoid accumulating state for inactive connections – both because it consumed memory and because it reduces the ability to perform server load balancing: Inside a server every request is usually processed by a worker and after some milliseconds it emits the response. This processing architecture is not compatible with long-‐lived connections, as each connection may keep one worker busy, thus quickly saturating the worker pool.
The first family of techniques leveraged a loophole inside the HTTP 1.1 spec. After receiving a response, the server need not respond immediately, but can wait and reply when it prefers. By issuing this kind of requests in series, it is possible to simulate a communication channel from the server to the browser. This technique, called “long polling”, has been in use for years across most browsers. Unfortunately, long polling has a very high overhead, because full HTTP headers are transferred for every request. Note that usually the undergoing TCP connection does not close, as HTTP/1.1 supports the “keep-‐alive” header to avoid the cost of opening a new connection at each request.
The second technology, which has not seen significant use, is called Server-‐Sent Events (SSE). This is a part of the HTML5 specifications [45]. SEE defines both a Javascript API and a data format to send data through a normal HTTP request. Unlike long polling, the response HTTP body is left open, so new events can be forwarded to the client. SSE is a backward compatible specification and most browsers (excluding IE) implement this.
Both long polling and SSE address the requirements of informational applications. However they lack proper ways of dealing with user-‐generated updates. The only possible technique is a simple AJAX call, which involves header parsing. Because browsers may be restricted not to open more than three connections to the same website, updates cannot be sent concurrently, and so must be queued or batched.
To support a collaborative use case, WebSocket [51] has been included inside the HTML5 spec. Like SSE, this is composed of a Javascript API and a data format. Unlike SSE, both the request and the response are left open, thus leading to a full-‐duplex channel. The WebSocket specification is much more complicated, and it allows transferring both data and controlling packets. Web servers started to support this in 2013.
Most web development frameworks were not designed to support a long-‐lived connection, but focus on the request/response cycle. In the last year, leading web application frameworks, such as Ruby on Rails [38], Django (Python)[53], or Symphony (PHP)[44], have been deployed side-‐by-‐side with a new generation of technologies to deal with concurrent requests. The most popular is the socket.io library [35] that runs on top of node.js, a server-‐ side Javascript environment built for asynchronous I/O. The development of server data push was driven by a reduction of the cost of sending an update. The overall cost may be evaluated in terms of network capacity consumed, and the time and memory consumed for both the server and the client. 74
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Future Web Technologies (WEB 2.0) and Satellite Networks
5.2 AJAX Web Applications
The classical HTTP request/response model, where each web object is singularly requested by the client interface, has been shown to not scale to modern complex webpages and introduces a significant overhead for webpage loading. In addition, it introduced a poor cross-‐ layer interaction with the lower layers, in particular the transport layer protocols (i.e. TCP) contributing to poor performance for web applications [42].
This diversity of applications and functions of the Web 2.0 and classical model of HTTP has determined the spreading of techniques to facilitate the real-‐time web contents based on HTTP models.
AJAX (Asynchronous JavaScript and XML)[37], is one of these techniques based on HTTP to exchange pieces of Javascript code that perform dynamic functions. AJAX is an application that introduce an intermediately layer between the client interface and the webserver in order to eliminates the request/ response cycle of HTTP. Garret [37] defined AJAX as a several technologies that are incorporating together to create the interactive webpages: • •
• • • •
75
HTML/ XHTML pages with CSS style files for the page presentation; Document Object Model (DOM) for the dynamic display and real time interactions of the webpage; XML file for the interchange of webpage data and XSLT file for its manipulation; formats; XMLHttpRequest object for asynchronous communication and data retrieval; JavaScript file or other client-‐side scripting language files to bind all these technologies together.
FIGURE 5-‐3: ASYNCHRONOUS INTERACTIONS OF AJAX WEB APPLICATION MODEL With AJAX, developers can move some of the page requesting process to the client interface and eliminates the request/ response direct interactions with the web server as in the classical HTTP model. To this aim, AJAX introduces an intermediary layer between the client interface and the web server, namely, “AJAX Engine”. Instead of requesting the webpage directly from the web server, the client interface loads an AJAX engine that is responsible for both communicating with the web server on behalf of the client interface, and rendering the webpage that the user sees. The AJAX engine allows the user's interaction with the web applications to happen asynchronously and most of the times independent of the communication with the web server Figure 5-‐3.
With AJAX model, the asynchronous connection between the client interface and the web server is handled at the client side by JavaScript code. Thus, every user action that would generate an HTTP request in the case of classical HTTP model, now takes the form of a JavaScript call to the underlying AJAX engine instead. Because part of the application's processing is moved at the client side, any response to a user action that doesn't require a trip back to the web server (e.g. editing some data in memory, data validation, or even some navigation) is handled by the AJAX engine itself. Depending on the data available to the engine, the client handler changes the content or structure of the webpage through the Document Object Model (DOM). In fact, this improves the web application application's response time by saving some round trips between the client and server. If the AJAX engine requires something from the server in order to respond (e.g. requesting a new data, submitting data, or reloading the web application) the engine handles those requests asynchronously, without interrupting the user's interaction with the application.
76
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Future Web Technologies (WEB 2.0) and Satellite Networks
The asynchronous communication between the client and server, combined with the reflection mechanism provided by the DOM, together allow AJAX to provide on-‐the-‐fly data validation, producing a sophisticated graphical controls or forming a data and contents based on the client side components, which allow updating parts of the webpage without reloading the entire page.
To provide an intuitive web browsing experience to the users, AJAX Long Polling (ALP) technique has been introduced to update the results user sees in his web application automatically. ALP is a technique in which when request is sent to the server by Ajax engine, the server waits for the data requested to be available while retain the connection open, and as soon as the data is available, it is positively sent to client. This technique introduces a continuous real-‐time streaming between the server and client. It reduces the number of HTTP requests; client is not asking over and over again for new data, it asks once and waits for an answer. In most cases this approach can reduces the latency in which data becomes available to the client. However, ALP relies on the underlying TCP connection not closing down by sending “keep-‐alive” messages to avoid the cost of opening a new TCP connection for each request. Unfortunately, ALP has a very high overhead due to the need to transfer the full HTTP header at each request.
5.3 WebSocket Protocol
In order to support the collaborative paradigm of Web 2.0, WebSocket protocol [31] has also been identified by HTML5 specifications. The WebSocket Protocol is designed to address the requirements of existing two-‐way web applications in the context of the existing HTTP infrastructure. It enables a single TCP connection to use bidirectional multiple messages simultaneously between the client and the server. It aims to allow the web browser and web server to communicate with less effect of delay and packet-‐loss rate.
WebSocket is designed to work over port 80 and support HTTP proxies and intermediaries. However, the implementation does not limit the WebSocket only to HTTP model, but it could use a dedicated traffic patterns for interactive applications that do not match the standard HTTP traffic.
The protocol consists of a handshake messages for connection establishment followed by framing messages, layered above the transport layer. Once the client and server have both completed a successful handshakes, the data transfer starts through the established two-‐way communication channel. Data is sent from each side independently from the other, each transmitted data unit is called “message”. Message is composed of frames, and it doesn’t correspond to any particular network framing since the protocol allows the messages to be coalesced or split by proxies or intermediary network devices. Since WebSocket protocol only defines the protocol header, generally it can send/ receive any data type. Thus, client can request the server to use a specific sub-‐protocol within the WebSocket connection (i.e. chat or 77
booking protocols) by identifying the sub-‐protocol within the handshake messages, while the connection appears to the web server as a regular HTTP GET request.
The WebSocket is a frame-‐based protocol, where the application layer frames are layered on top of WebSocket, which is really just a layer on top of TCP that does the following [31]: • • • •
Creates a security model for the connection between the webpage and WebSocket enabled server. Identify the connection parameters for every host including, port number, services, addressing, and protocols. The framing mechanism layered on top of the transport layer, creates the packets with variant lengths. Includes handshake mechanism that is designed to work in presence of proxies and other intermediate boxes.
WebSocket protocol is independent from transport layer protocols. However, it can be used to avoid the delay of TCP acknowledgements, especially in networks with a large delay as in case of satellite. Because WebSocket enables both browser and server to transfer bidirectional-‐multiplexing messages, it acts as same as TCP stream without caring about payload content. Moreover, WebSocket doesn’t allow connection establishment between the client and server over a pre-‐existing protocols i.e. SMTP and HTTP, while it allows the server to upgrade this pre-‐existing protocol. This is achieved by connection handshake, while limiting data transfer before successful handshakes. Data is transmitted over WebSocket connection is parsed as sequence of frames. The framing layer of WebSocket defines each frame type with an op-‐code identifying the frame type (data or control frame), payload length, and designated locations for “Extension data” and “Application data”, which together define the “Payload data”. Data frames are transmitted either by the client or by the server after the successful handshake for opening a new connection and before the connection termination by the endpoint. Endpoint terminates the connection and then terminates the underlying TCP connection.
5.4 New HTTP Paradigms: HTTP/2.0 (SPDY)
To cope with the more traffic intensive behaviour of Web 2.0 application, several initiatives from private industry and standardization bodies recently started a review of HTTP and the related protocol stack to make it more suited to the new web. SPDY (Speedy Protocol)[8] is prototypal protocol implementations from Google™ that seek to make HTTP more responsive, more network-‐friendly and more suitable to the design of new web applications. This experimental protocol has been taken by the Internet Engineering Task Force (IETF) and Worldwide Web Consortium (W3C) as an input to the definition of HTTP/2.0, a new standard to improve HTTP performance using the experience cumulated in the last years with web traffic. HTTP/2.0 is intended as a leap forward with respect to HTTP/1.1, defining a completely new protocol, which is not required to maintain backward compatibility with HTTP/1.1. HTTP/2.0
78
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Future Web Technologies (WEB 2.0) and Satellite Networks
is expected to supersede HTTP/1.1 in all the user cases where HTTP/1.1 is currently employed. At the present time, the scope and content of the standards are being developed within the relevant working groups. There are, as yet, no formal standards, so this analysis is based on the available material only. HTTP/2.0 aims to adopt the “Single Connection” paradigm. A single connection per domain should be sufficient to transport all the data for a web page, as long as is multiple objects can be multiplexed onto the same flow. If a stream identifier is associated with a message, the server can insert more small messages into the same response. This reduces sensibly the packet overhead. In addition, this mitigates the head of line blocking problem with persistent HTTP/1.1 which more important objects for visualization to be queued behind less important ones to the same TCP connections.
The gain in multiplexing and prioritizing objects of a web page is clearly dependent on the type of page. Web pages more fragmented will probably benefit more of serializing object into the same connection. However, the benefits of HTTP/2.0 can be significant. SPDY leverages on the reduction of the TCP connections allowing multiple SPDY streams over a single TCP connection. With this strategy, SPDY is in charge to drive stream priority in order to accelerate transfer of the “high-‐priority” contents in despite of other ones. Expected performance is more oriented to provide a better user experience reducing transfer time of the high-‐priority contents.
5.4.1 SPDY Request Prioritization
SPDY request prioritization allows server to decide which resources are more important than another so it will handle them earlier or holding back less important resources. The client can recommend a priority to the server, helping it to make the right decision. A good prioritization can maintain progressive rendering, resulting in a better user experience.
While SPDY aims to decrease the page load time by multiplexing the page objects over a single connection, one side effect of such a multiplexing is that some high-‐priority resources might be delivered slowly due to the concurrent delivery of some non-‐critical resources. To avoid this issue, SPDY provides a scheme to allow client to indicate a priority for the requested resources; for example, a java script used to request another page or image could be requested by client with the highest priority in order to accelerate subsequent requests. Efficiency of SPDY prioritization depends on a number of implementation details [83], for example: • •
79
How to select criteria to assign priority to requests (client-‐side); How to set buffer size at the server side to hold the low priority resources while processing the high priority resources.
The current SPDY specification does not define how the clients make these decisions, and leaves them up to the browser implementations.
5.4.2 SPDY Stream Prioritization
SPDY offers a stream priority mechanism allowing stream creator to assign an integer from 0 to 7 to each created stream. The 0 value represents the highest priority while 7 represent the lowest priority. Both sender and recipient will process the streams in the order of highest priority to lowest priority.
Stream priority informs the server which streams are most important to the client, but it is still poorly suited in several cases [61]; for example the server is transferring two resources i.e. script1 and script2 where script2 cannot be executed until script1 is completely transferred to the client, or video chunks that will be played in order. In these cases, the browser may prefer to specify a specific order for the objects: for example, ordering HTML before script1 before script2 or video-‐chunk-‐1 before video-‐chunk-‐2 and so on. Moreover, the sequential transmission of some high priority resources can improve on performance since a large script can be interpreted and executed more quickly if it does not compete for bandwidth with another large HTML transfer.
In this example below, SPDY is multiplexing multiple browser tabs from a single user connected to a SPDY proxy, with parent pointers and priorities (P=6, P=3) as shown in Figure 5-‐4.
FIGURE 5-‐4: RELATIONS, SERIALIZATION AND PRIORITIZATION IN SPDY Tab1 and Tab2 are two browser tabs with different priorities loading together in parallel, where Tab1 is the foreground tab and Tab2 is in the background. Tab1 require two JavaScripts, “a.js” and “b.js”, where loading of “a.js” depends on “b.js” depends on Tab1.htm. In the background tab (Tab2), the two images “a.jpg” and “b.jpg” have the same parent (Tab2.htm), they are transferred simultaneously, and share the transmission capacity. Since both tabs tab1.htm and tab2.htm have no parents, so transmission of both tabs always scheduled before any other resources in their trees, but bandwidth allocation for the child objects within each tree remains similar to what required by the root of the tree. For example, if the transfer of tab2.htm is still in progress and tab1.htm is selected so the download of a.js will be scheduled before tab2.htm completes. SPDY priority mechanism aims to improve performance by serializing the transmission of some objects and resources on the critical path. Client browser can ensure that resources needed immediately do not compete for bandwidth capacity with less important resources
80
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Future Web Technologies (WEB 2.0) and Satellite Networks
transfer. Requested resources with a lower priority are queued waiting to fill any spare bandwidth with useful data. This scheduling mechanism is not possible in HTTP1.1 currently used. Any request, once issued, cannot be reprioritized or reordered on a single connection. In addition, it is essential to find a way to ensure the concurrency to keep the client-‐server pipe full. While the browser might serialize the transfer itself, the many small transfers typical of page loads would significantly limit utilization. With ordering and reprioritization in SPDY, browsers can jointly optimize both the transfer pipeline and resource priority, rather than being forced to accept poor utilization or poor transfer schedules.
5.4.3 SPDY Server Push
With a traditional HTTP transfer, server can only send a resource to the client when the client explicitly sends the corresponding request. When client requests an HTML page, the server knows that the client will also need the associated Java scripts and CSS files for that page, but it cannot start sending them until the client explicitly request those resources as well. Such a behaviour wastes time making the overall page loading time longer, especially in case of network with large latencies (i.e. satellite). Server push is a feature of SPDY protocol (ver. 3) that allows the server to proactively send some resources to the client without waiting for the client request. Pushing of resources avoids the round-‐trip delay for resource request with a relevant improvement on the page loading time. Then, the entire objects correlated one with other should be pushed to the client before it discovers the need to send requests for such objects. SPDY enables the server to send multiple replies to the client for a single request. The browser validates and caches pushed responses in same way that it would cache any other response.
Push option of SPDY is expected to particularly improve on performance over satellite networks since it well exploits satellite channel characteristics. Broadcast/multicast forward link can issue push resources without any particular congestion problem. In addition, broadcast channel should be used to send the same request to multiple terminals at once increasing efficiency Cashing proxy implementation at the user terminal to cash the pushed objects from the server will increase the efficiency of the broadcast channel avoiding pushing the same objects many times over the broadcast channel. In fact, many users should simultaneously (or within of a short time-‐range) access the same web page (i.e. web page with embedded video of a live press conference) can receive the pushed objects from the cash proxy instead of utilizing the broadcast channel to receive similar resources. On the other hand, since the pushed resources have no request headers associated with every object, so server push strategy helps to reduce user-‐experienced latency by reliving the client from sending a separate request header for each object, which in satellite link is at least half second (request-‐response round-‐trip). 81
5.4.4 SPDY Flow Control
In the current versions of HTTP/1.0 or HTTP/1.1, there is no interleaving of Request/Response pairs so any flow control issues are handled by the underlying TCP congestion control mechanism at the transport layer. While SPDY multiplexing multiple streams over a single TCP connection, so each Request/Response pair uses a separate stream. Multiple streams share the same TCP connection. This interaction among multiple streams introduces different issues i.e. prioritization, head of line blocking, and flow control, perhaps flow control is the most complex aspect [66]. Since streams interaction is not visible to the TCP layer to handle any of these issues, handling of streams interaction. Flow control for Multiplexing in SPDY follows these principles: • • •
Flow control is hop by hop not end-‐to-‐end. Flow control is depends on window update control messages. Flow control is declared by the receiver and will be advertised to the sender. For example, a client, a server or a proxy (when they acting role as a receiver) they will advertise their flow control preference to the sender, which will regulate the transmission as per that preference.
SPDY implements a flow control mechanism at the framing layer relying on a data transfer window kept by the sender of each data stream. The data transfer window is a 32 unit that indicates the amount of data bytes the sender can transmit to the recipient [55].
After a stream is created, and before transmitting any data frames, the sender starts with the default initial window size. This window size is used to measure the buffering capability of the recipient. The sender can only send data frame with length less than or equal to the transfer window size. After sending every data frame, the sender can decrements its transfer window size by the amount of data transmitted. When the window size becomes less than or equal to 0, the sender will pause the data frames transmission. At the other side of the stream, the recipient sends a “WINDOW_UPDATE” control back to notify the sender that it has processed some data and freed up buffer space to receive more data.
The “WINDOW_UPDATE” control frame is used to implement a per-‐stream flow control in SPDY. Flow control in SPDY is per hop, which is between the two SPDY endpoints. If there are one or more intermediate points between the client and the server, flow control updates are not forwarded by these intermediates. Flow control only applies to the data portion of data frames, while recipients must buffer all control frames received. In case recipient fails to buffer the control frame, it will issue a stream FLOW_CONTROL_ERROR error for that stream. Figure 2 shows a typical window update control frame, which is composed of the following fields: • • •
82
Control bit: The control bit is always 1 for this message. Version: The HTTP/2.0 version number. Type: The message type for a WINDOW_UPDATE message is 9.
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Future Web Technologies (WEB 2.0) and Satellite Networks
• • •
Length: The length field is always 8 for this frame (there are 8 bytes after the length field). Stream-‐ID: The stream ID that this WINDOW_UPDATE control frame is for. Delta-‐Window-‐Size: The additional number of bytes that the sender can transmit in addition to existing remaining window size. The legal range for this field is 1 to 2^31 -‐ 1 (0x7fffffff) bytes. 1
X X
Version 9 0 (Flags) 8 (Length) Stream-‐ID (31-‐bits) Delta-‐Window-‐Size (31-‐bits)
FIGURE 5-‐5: WINODOWS_UPDATE CONTROL FRAME The window size as kept by the sender must never exceed 231 Bytes. If a sender receives a “WINDOW_UPDATE” that makes the window size to exceed this limit, it will send FLOW_CONTROL_ERROR RST_STREAM to terminate this stream. At the beginning, when SPDY connection is established, the default initial window size for all streams is 64KB. Both endpoints can use the SETTINGS control frame to adjust the initial window size for the connection. Depending on “WINDOWS_UPDATE” messages to advertise the receiver preference of flow control could be an issue in satellite network due to the considerable delay on the return link.
Since flow control is hop to hop and not supporting end-‐to-‐end connection so this make it no very efficient in case of satellite network since the sender cannot satisfy the flow control preferences for every client behind the user terminal where it can receive the “WINDOWS_UPDATE” messages.
5.5 Impact of The Future Web Technologies On Performance Of Satellite Networks
After introducing the key characteristics of the future web technologies, it is sought to understand and evaluated the implications for satellite networking of the introduction of such technologies and its related TCP/IP stack modifications. The purpose was to evaluate, the suitability of the new technologies to satellite network and whether the satellite research community should take part in this definition.
Server-‐side push technology determines additional content that may benefit a user in future and uses network/client/server resources to deliver this content to reduce the future download latency. This trade-‐off resembles pre-‐fetching of content by http-‐level protocol enhancing proxies, which can pre-‐fill a cache with content before a user requests the content. However there are differences. One difference is the decision on which content is sent – in the 83
one case the accelerating proxy decides (e.g. based on heuristics of user demand and understanding of the satellite network capacity, in the other case the content provider decides (with better heuristics on content demand but less understanding of the specific characteristics of the links. For example, loading and Return link Resource Management (RRM) interactions for satellite).
The algorithms used in pre-‐fetching systems may be subject to Intellectual Property Rights, making this an area where there is little published research or open algorithms. For high-‐ speed fixed networks the merits of server push and prefetching is clear, for wireless technologies there are concerns that this reduces control of the volume/rate of traffic. These concerns also apply to networks that use satellite technology. The concerns are aggravated because encryption of the transfer streams could mean there is currently little opportunity for the wireless/satellite operator to intercept the protocol and then influence the decisions made at the server.
In the satellite scenario a round-‐trip-‐time of 600ms is typical, including all processing times, because of the long propagation delay. This leads to a reduced responsiveness in these Real-‐ Time web applications. In particular collaborative applications are not usually tested in regime of high delays, and they may behave incorrectly. In order to prevent these problems, applications should employ Operational Transformation Algorithms [9] to enforce consistency of edits in a shared document. Unfortunately, most applications do not employ them.
AJAX application can provide a faster data transfers and lower overhead compared to the classical HTTP model. Moreover, the JavaScript Object Notation (JSON) is increasingly preferred to the more complex XML as a transfer language. However, The main limiting factor of the modern web technologies, including AJAX is the network-‐induced latency, which is strictly related to the Round Trip Time (RTT) between the client and the server. As the RTT increases, the responsiveness of web protocols degrades. This is particularly critical when the Internet access is through satellite, as the RTT might be several times the one of terrestrial connections (RTT is about 600ms for a GEO satellite).
AJAX depends on two main technologies, asynchronous communications and Document Object Model (DOM) manipulation. Thus, it expected that the faults associated with these two technologies become more common and widespread in case of Internet access through satellite. AJAX implementations often assume that server response comes immediately after the client request, with nothing occurring in-‐between. However, this is a reasonable assumption under networks with a good performance, when the network performance become inconsistent due to variant RTT, high bit error rate as in satellite networks, AJAX applications may occasionally face some unintended interleaving of server messages, swapped call-‐backs, and incorrect DOM manipulation. All such faults are hard to reveal and require dedicated techniques. Some AJAX techniques (i.e. ALP), maintains multiple parallel persistent connections between users and the web server. This reduces the overhead implied by frequently opening of TCP connections, as at least 3 handshakes are required for every connection (SYN, SYN-‐ACK and 84
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Future Web Technologies (WEB 2.0) and Satellite Networks
ACK). However, the multiplication of TCP connections per page has serious consequences on the satellite networks: •
• •
First, the aggregate of connections behaves aggressively with respect to other traffic (i.e. it behaves as an aggregate of TCP flow rather than a single flow). Second, it increases the per-‐connection setup overhead, including the signalling to setup a connection and start-‐up latency. Moreover, it increases the per-‐connection load to the network. This is an issue for intermediaries that need to monitor user traffic or track connection state, such as gateway or PEPs, and need to track up hundreds of connections per user. Fewer longer-‐lived flows offer better performance anyway, and require much less state in the satellite system.
At the time of writing, the HTTP/2.0 (SPDY) specification is far from finished and many points remain under discussion within the HTTPbis WG1. However, some presently open issues that expected to impact on satellite networks can be highlighted. Server Push is still a debated topic within the HTTPbis WG. Although it can be used to anticipate client requests, it could also transmit data that the client is not able to receive or use. Several people fear that Server Push may lead to large amounts of undesired data to the client.
Since Server Push is a server-‐side optimization, it assumes a server has good knowledge of the network characteristics and user expectations. In any non-‐cabled environment the path characteristics may be hard to be predict a priori, being a function of many parameters (propagation conditions, system load, SLA-‐enforcement, etc.), and therefore different optimizations may be need when a path includes a satellite, mobile cellular or wireless network. The way in which these impact the design and usage of Server Push will need to be determined before the effect on satellite networks can be fully understood.
In addition, major server sites are keen to avoid accumulating state for inactive connections – both because it consumed memory and because it reduces the ability to perform server load balancing.
Many satellite networks rely on protocol enhancing proxies (PEPs) to perform TCP and HTTP/1.1 acceleration. These have often become regarded as essential components for satellite networks that support web access. In networking terms, these boxes are a proxy/middle-‐box that works as an intermediary between the content server and the client.
Transport layer PEPs (e.g., split TCP) have been shown to work effectively with SPDY, and are hence expected to continue to work with HTTP/2.0 The main issue is that HTTP/2.0 has motivated changes in the transport protocols, and that any future transport PEP needs to be
https://tools.ietf.org/wg/httpbis/
1
85
able to accommodate these changes to avoid the pitfalls of ossification (i.e. down-‐grading the transport to an old version so that the PEP can accelerate the transport, whereas a native transport with no transport PEP would have achieved higher performance).
The role of the intermediary in HTTP/2.0 and in particular how HTTP/2.0 interacts with HTTP/1.1, still needs to be specified. The use of session encryption (TLS) ensures that a HTTP/2.0 client and server explicitly acknowledge the presence of any intermediary that is allowed access and manipulates data transmitted between the server and the client. This form of middle-‐box interception is a much-‐requested feature, because many network administrators wish to protect their network and filter and/or disallow certain sites.
Defining the (trusted) interaction of HTTP behaviour with middle-‐boxes creates a range of problems, such as how to ensure confidentiality while granting access to data to third parties and how to provide end-‐to-‐end control of a flow that needs to be operated from within the network.
In present satellite systems, the interception of application layer protocols is a key function of application layer PEPs, and used by products such as Turbo Page™2. The use of intermediaries will need to be different, and this suggests that the currently combined role of applications and transport PEPs could be better viewed as two separate roles, with the possible use of a “standard” configured proxy for web acceleration.
PEPs can also influence the quality of service requested in the lower layer satellite service, defining how flows are mapped to lower layer functions. Such PEPs need to be aware of flow traffic patterns/requirements. Present systems often rely on deep packet inspection. This could not be studied in the current project, but as the transport layer evolves (possibly away from TCP) and there is increased use of encryption (e.g. TLS used by HTTP/2.0) and automated compression, access to upper layer protocol headers will become impossible at PEP. Satellite networks therefore need to differentiate traffic using other mechanisms, such as support of Differentiated Services packet marking.
SPDY does not offer a single protocol or solution. Instead, it should be viewed as a toolkit of methods that are dynamically tuned by the client and server, and where the set of methods and tuning are both expected to evolve over time. This model can make it hard to understand why a particular choice were made by a server, but is expected to be addressed as the protocol evolves (e.g. some satellite characteristics are also common to the more common mobile cellular use-‐case). However, it re-‐enforces the need for any satellite-‐specific optimizations to avoid ossification.
2 TurboPage
with
Active
Compression,
Hughes®,
systems/hughes-‐technology/turbopage-‐withactivecompression
86
http://www.hughes.com/technologies/satellite-‐
6 HTTP/2.0 OVER SATELLITE: AN ALTERNATIVE END-‐TO-‐ END OPTIMIZATION TECHNIQUE
There is still a lack of literature examining the performance analysis of HTTP/2.0 (namely SPDY) over a wide variety of network scenarios. Hence, this study specifically focuses on the multiplexing ability of SPDY when used over a satellite channel. While this emphasizes benefits of exchanging data within a single SPDY stream relying upon a single TCP connection, the aim is also to explore the impact of header compression when juxtaposed over a network characterized by high access delays. Investigating a satellite use-‐case has the additional benefit of increasing the understanding of SPDY in terms of HOL blockings due to loss, as well as poor performances due to large propagation delays influencing the congestion control of the TCP.
Nevertheless, since SPDY can dramatically reduce the number of open connections, its deployment in satellite networks can lead to additional benefits. For instance, typical transport-‐layer enhancements like Performance Enhancing Proxies (PEPs) can experience a reduced workload, i.e., in terms of TCP connections to be handled to serve multiple Web sessions. In conclusion, this study aims at evaluating the feasibility of using SPDY to increase performances of Web data over broadband satellites. From the authors’ best knowledge, this is the first study evaluating SPDY over satellite links. The contributions are: 87
• • • •
To bring out lights and shadows of SPDY protocol when used over large delay-‐ bandwidth channels; To showcase the creation of an ad-‐hoc testbed, which can be reused for similar investigations; To provide an earlier comparison among the most popular websites accessed via HTTP and SPDY. To assess performance gap between satellite and terrestrial (xDSL-‐like) in order to understand if satellite role can be reviewed for the future Internet.
6.1 Testbed Description
It was aimed to analyse how SPDY traffic interacts with various Bandwidth-‐on-‐Demand (BoD) mechanisms and evaluate the efficiency of usage of satellite link resources. All performed tests are based on the Satellite Network Emulation Platform (SNEP), developed by TLCSat group1 at the University of Rome, which emulates a DVB-‐RCS network [28] with Bandwidth on Demand. SNEP is briefly described in the following section. In addition, an Apache web server with SPDY is setup to investigate the impact of multiplexing, header compression, and server push functions of SPDY. The testing web server is accessed through a SPDY supported web browser (Google Chrome and Firefox).
6.1.1 Satellite Network Emulation Platform (SNEP)
FIGURE 6-‐1: SATELLITE NETWORK EMULATION PLATFORM (SNEP). The Satellite Network Emulation Platform (SNEP) [28] is a satellite Virtual Network where the behaviour of components of a DVB-‐RCS network is emulated on a virtual environment managed by the VMware vSphere Hypervisor ESXi software [87]. Each virtual node emulates a single component of a typical VSAT satellite network with DVB-‐RCS or terrestrial link technology as return channel. The core components of SNEP are: http://tlcsat.uniroma2.it
1
88
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
• • • • •
The Gateway (access router); The Network Control Centre (NCC) or Hub; The Satellite; The Satellite Terminals (ST); The User Terminals (UTs), connected to the STs through a Local Area Network (LAN).
A separate image of a Linux file system is developed for each component and used to instantiate the component in SNEP. Figure 6-‐1 shows an example of interconnections between emulated nodes in SNEP and real external nodes or external networks (Wi-‐Fi, etc.). Connection to external entities is required to test the interoperation of the DVB-‐RCS network with other systems. To this purpose, the physical Ethernet interfaces of the hypervisor are logically attached to every subnet of the emulated network, so that real hardware can be connected in each emulated segment. Moreover, a VPN can be used to bridge an external interface onto the emulated LAN. SNEP be accessed remotely through a public web interface [28]. The remote user can access several configuration web interfaces for configuring the platform configuration, executing tests, generating real-‐time plots, and configuring a target satellite scenario.
SNEP is implemented by a series of software modules in user and kernel space (a stable version of kernel 2.6 is currently used). Ethernet frames are brought at user space from an Ethernet interface in promiscuous mode and processed by an application-‐layer agent. DVB-‐ RCS signalling messages are separated from the rest of the traffic to operate BoD methods. The DVB-‐RCS messages are used to negotiate the bandwidth allocated to satellite terminals (STs). A set of commands to the kernel through the Linux traffic controller [28] implements the actual bandwidth regulation. Moreover, in order to emulate the DiffServ queuing system of DVB-‐RCS [80], packets are stored in a buffer that implements multiple parallel queues. Individual queues may receive priority for traffic scheduling on the Ethernet interface.
6.1.2 SPDY Web Server & Web Client
An Apache web server with SPDY/3 is setup at UNIROMA’s laboratory. The web server is configured with the “Server Push” feature. When the Server Push is enabled (named XAssociated-‐Content in SPDY/3), the server is allowed to send HTTP objects without a request. For example, upon the initial requests for the main page, all the other objects related to that page can be sent without solicitation from the client.
SPDY web server is configured with access to different static HTML pages. One of these pages (https://tlcweb.eln.uniroma2.it/spdy_Demo.html) contains a picture made up of many smaller images. As the page is accessed, the server sends the images before a request is explicitly submitted for them, thus saving several round-‐trips. 89
For what concerns the hardware, both the Web client and the server are based on quad-‐core PCs with 32 gigabytes RAM. Therefore, hardware performance is not a limiting constraint in any of the performed tests.
To capture data, the Wireshark sniffer with the SPDYShark extension is used enabling to decode protocol messages and to inspect its relevant parameters. When TLS/SSL encryption is used, Wireshark is configured to use the proper SSL keys to decrypt/decode the gathered data. Web Server and Client configurations are detailed in Table 6-‐1 and Table 6-‐2, respectively. Parameter
Value
Operating System Ubuntu 12.04 LTS/ i686. Linux kernel 3.2
TCP Cubic (configurable TCP parameter will be selected to optimise performance over satellite) TCP configuration tcp_moderate_rcvbuf IW = 10 Web Server configuration
Apache/2.2.22 SPDY: Mod_SPDY 0.9.3.3 Server Push (X-‐Associated-‐Content header) enabled with different percentage for the pushed objects. Apache KeepAlive settings enabled / disabled Default Apache configurations
TABLE 6-‐1: WEB SERVER CONFIGURATIONS.
Parameter Value Operating System: Ubuntu 12.04 LTS/ i686. Linux kernel 3.2 Google Chrome 26.0.1410.40 Web Browser Mozilla Firefox (24.0) Chrome browser is equipped with the following tools: Page Benchmarking tools for Chrome; Speed Tracker for Chrome; Benchmarking and SPDY Indicator; Analysis tools Google Chrome Developer Tool (GCDT). Wireshark SPDYShark (SPDY module for Wireshark)
TABLE 6-‐2: WEB CLIENT CONFIGURATIONS.
6.2 SPDY Evaluation Over DVB-‐RCS Satellite Links
To effectively pursue the vision of the future Internet, satellites must also handle Web traffic, which is increasing both in terms of volumes and complexity. In fact, modern web pages do not primarily rely on the main object containing the HTML code, but they also need several in-‐line objects.
The evolution of the Web heavily requires in-‐line objects embedding interactive services, and content-‐rich graphic elements. As a consequence, the legacy page-‐by-‐page model should be updated, along with related protocols, such as the HTTP.
To partially full such issues impairing the original HTTP, the HTTP/1.1 introduced multiple connections to increase concurrency, and pipelining to send multiple object requests over a 90
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
single TCP connection without waiting for a response. Even if such additions improve the performance over satellites, they are not definitive. In fact, the server must generate responses ordered as the requests were received, thus limiting gains and possibly leading to blocking. Nevertheless, parallelism of HTTP/1.1 is usually limited (i.e., 6-‐8 connections in standard browsers), and not supported by-‐default by many servers.
On the contrary, SPDY is engineered to reduce download times of content-‐rich pages, as well as for managing wireless channels, which can be characterized by large RTTs and high packet losses. Especially, to overcome to HTTP limitations, SPDY introduces: •
•
•
•
Multiplexed requests -‐ the number of concurrent requests that can be sent over a single connection is unbounded and properly handled by a framing layer; Prioritization -‐ retrievals of in-‐line objects composing a page can be properly scheduled, as to avoid congestion or to enhance the Quality of Experience (QoE). For instance, the client could fetch contents enabling to understand a page, even if incomplete; Header Compression -‐ since the more sophisticated pages may need up to 100 requests, enforcing compression prevents bandwidth wastes due to duplicated headers; Server push -‐ contents can be pushed from servers to client without additional requests.
From an architectural point of view, the previous features are grouped within a high-‐level framing layer, which tunnels data into a single SSL/TCP connection. Hence, SPDY could be a suitable solution for the delivery of Web contents over satellite links. While the performance of HTTP has been extensively studied in literature both for wired [52] and satellite networks [42], a complete understanding of SPDY is still an open research problem. Moreover, many works focus on evaluating the protocol over wired and IEEE 802.11/cellular mobile scenarios [41]. For what concerns satellites, from own best knowledge, [1] and [2] are the only previous attempts. Therefore, this evaluation compares HTTP and SPDY when used over a satellite link. To this aim, the Satellite Network Emulation Platform (SNEP) is used to conduct tests on a realistic DVB-‐RCS environment, with different Bandwidth on Demand (BoD) schemes [12]. The contributions of this work are:
a) to understand the most relevant behaviours of SPDY when used over a realistic DVB-‐RCS channel; b) to provide a comparison between HTTP and SPDY emphasizing the impact of inline objects; c) to understand whether SPDY could be a suitable tool to enhance satellite communications in place of middleboxes.
91
6.2.1 Methodology
Planned measurements aim at comparing the behaviour of SPDY with the most popular versions of the HTTP protocol, especially when different BoD mechanisms are deployed in the DVB-‐RCS return link. To this aim, a single user terminal (UT1) is connected to the virtual satellite terminal (ST1), which is implemented by SNEP. The available bandwidth is 4 Mbit/s and 1 Mbit/s, for the forward and the return link, respectively. The round-‐trip propagation delay is set equal to 520ms, which is typical for a GEO satellite link. Besides, SNEP introduces an additional delay taking into account the MAC layer, i.e., the TDMA overhead and latencies due to the framing of the DVB-‐RCS. Tested BoD methods are: •
•
•
CRA (Constant Rate Assignment) -‐ all the time slots are permanently assigned to the target station for the whole simulation duration; RBDC (Rate Based Dynamic Capacity) or VBDC (Volume Based Dynamic Capacity) -‐ slots are dynamically assigned to the return link, depending on the traffic incoming to the satellite terminal: RBDC considers the ingress data rate, while VBDC uses the cumulative volume of queued data to compute capacity requests; Mixed -‐ a mix of the previous.
The values used for each BoD scheme are summarized in Table 6-‐3 BoD Scheme CRA RBDC VBDC Mixed
Values (avg. on 50 repeated trials)
228 slots at a constant rate 228 rate-‐based slots 228 volume-‐based slots 18 CRA slots, 105 RBDC slots, 105 VBDC slots
TABLE 6-‐3: PARAMETERS USED FOR EMULATING THE DIFFERENT BOD SCHEMES. To have a fair assessment, some parameters ruling the behaviour of the browser (Mozilla Firefox Ver. 24.0) were modified, both for the case of HTTP and SPDY. In fact, default values are optimized for the wired Internet. In more details: •
•
•
•
92
network.http.connection-‐retry-‐timeout : d efines the amount of time before considering a connection attempt aborted. Upon expired, the browser will open a parallel backup connection. Since this parameter is set to 250ms by default, having an RTT of more than 520ms would lead to unneeded TCP connections. Thus, it has been set to 0 in these trials (i.e., deactivated); network.http.pipelining : enables HTTP pipelining, i.e., the browser can send multiple GET without waiting for a server response. Pipelining has been enabled and set to 32 simultaneous requests, at the maximum; network.http.speculative-‐parallel-‐limit : normally, set to 6, it specifies the number of half-‐opened sockets to be kept for frequently used destinations (e.g., Google APIs). To avoid unpredictable behaviours of the browser, as well as to reduce overheads on the satellite link, this parameter is imposed to 0; network.http.spdy.timeout : defines the amount of time to wait after the page is considered received completely and the used TCP connection is closed (i.e., the
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
RST/FIN ). The default value is 180s and is generally suitable to handle AJAX-‐ based interactive contents. However, since these tests are aimed to verify performance during the page load, this value has been reduced to 5s, as to not add noise to the measured times. It is pointed out that this value is equal to the default keep-‐alive option of the “Apache 2.2.2” used in these tests, as to guarantee a fair scenario.
To emphasize the most critical behaviours when retrieving pages with different protocols, ad-‐ hoc HTML pages are created for testing purposes. Specifically, to stress the iterations of the request-‐response exchange, each page contains a very large number of in-‐line objects, i.e., 640 small images. The main object implementing the hypertext (index.html) has a size of 24.8 Kbytes. It is pointed out that the test page has been crafted to highlight performance aspects of HTTP/SPDY when acting over high RTT links. The Web server has been configured to support SPDY and different versions of HTTP, i.e., HTTP1.0, HTTP1.1, SSL/HTTP1.0, and SSL/HTTP1.1. It is underlined that since SPDY uses SSL by default, this choice has been made to provide a more fair comparison. Trials have been performed with an instrumented Firefox browser, and each trial has been repeated 50 times.
6.2.2 Results
This sub-‐section presents the outcome of the performance evaluation of the different version of HTTP and SPDY using an emulated DVB-‐RCS satellite access. For the sake of conciseness, some results are present only using the BoD method defined as “mixed” (see sub-‐section 6.2.1). Nevertheless, 6.2.2.3 offers a vis-‐à-‐vis comparison among the different BoD schemes.
Since it will be largely used in the rest of this sub-‐section, the Page Loading Time (PLT) can be defined as: 𝑃𝑃𝑃𝑃𝑃𝑃 = 𝑇𝑇!! − 𝑇𝑇! where 𝑇𝑇!! is the time at which the last i-‐th inline object composing the page is completely received (i = 642 in these tests), and 𝑇𝑇! is the time when the first GET for the index.html is performed.
6.2.2.1 Analysis of Header Compression
Native header compression is one of the most important design choices of SPDY, since it allows reducing the amount of transferred bytes. Figure 6-‐2 summarizes the amount of data transferred to retrieve the test page.
93
FIGURE 6-‐2: IMPACT OF THE HEADER COMPRESSION PER PROTOCOL. Even if SPDY only needs 416 Kbytes to complete the transfer, such a result is very close to the cases when HTTP is adopted (~508 Kbytes). On the contrary, the real issue preventing the effectiveness of compression is due to SSL encryption, which accounts for overheads needed for the additional handshaking. In fact, the usage of SSL with the “traditional” HTTP leads to a significant increase of the transferred data: ~871 Kbytes for SSL/HTTP1.0 and ~659 Kbytes for SSL/HTTP1.1. Thus, the optimized design of SPDY in managing encryption definitely plays a role.
6.2.2.2 Analysis of TCP Connection
Understanding how TCP connections are managed by different protocols is mandatory to enhance their behaviours over satellite. Hence, Figure 6-‐3 compares different evolution of the transport layer against the time.
94
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
FIGURE 6-‐3: DIFFERENT MANAGEMENT SCHEMES OF TCP CONNECTIONS PER PROTOCOL. For the case of HTTP1.0, which does not allow connection reuse, the browser opens the first TCP flow to send a GET for the index.html. As soon as it is received and parsed, a batch of 6 parallel connections is spawned to retrieve the needed in-‐line objects. The process is then iterated until the completion of the whole page. This leads to a PLT of 131s (out of the graph scale), which is not acceptable. A similar evolution happens for the case of SSL/HTTP1.0 (again out of the graph scale). Yet, the need of performing additional exchanges for the SSL signalling makes the first connection longer. Besides, encryption overheads account for longer transfer times, thus resulting into a PLT of 198s.
When using HTTP/1.1, the first steps are still the same of the previous cases. Specifically, it uses a connection to retrieve the main object, and then uses the maximum allotted of 6 parallel TCP connections to retrieve additional contents. Then, it exploits the feature of connection reuse, and each one remains open to download 100 objects (which is a limit imposed by the Apache Web Server). Recalling that the test page is composed of 642 objects, after hitting the limit of 600 items (i.e., 100 objects x 6 connections), a new batch of TCP connections is created. Such connections are mostly underutilized, since they are used to retrieve only a small fraction of data (equivalent to 42 objects only). However, compared to HTTP1.0, the overall performance achieved in terms of PLT is better of an order of magnitude, i.e., PLT ~10s. The additional 5s, for which the connections remain active are due to timeouts of Apache (i.e., the parameter network.http.spdy.timeout, as discussed in Section 6.2.1). Also SSL/HTTP1.1 behaves similarly, with times inflated by the overheads due to SSL (as explained earlier), accounting for an additional time of ~2s in the PLT compared to the plain HTTP1.1. 95
Finally, in the SPDY case, the single-‐connection setup is clearly depicted. Thus, all objects are multiplexed into a unique TCP conversation. Once the page is completely received, the TCP connection is kept open by the browser for 5s, as to maintain the same timeout period for an easier comparison. Its reduced overheads, and utilization of a unique (longer) connection, enable to better exploit the available bandwidth (even without using parallelization/pipelining). Then, SPDY has a PLT of 9s, which is similar to HTTP1.1, but with a simpler complexity in the transport layer and supporting security. This is a plus, since satellite links are usually accessed through Performance Enhancement Proxies (PEPs) or middleboxes. Another important aspect to understand how the different Web protocols behave over a DVB-‐ RCS link concerns the analysis of the throughput. Figure 6-‐4 focuses on the HTTP1.0. Results indicate that the average rate is ~9 Kbyte/s. A deeper analysis reveals that the main cause is due to the usage of separate connections (one per object, 642 on the overall). Therefore, for each connection, a set-‐up and teardown have to be performed, also worsened by the high values of the RTT, and impairments due to the slow-‐start. Similar considerations can be made when SSL is used.
HTTP1.1
SSL/HTTP1.1
FIGURE 6-‐4: THROUGHPUT ANALYSIS OF HTTP1.0 Figure 6-‐5 considers HTTP1.1. Since it implements pipelining and connection reusing, the latency impacts less on the behaviour of the TCP. As a result, the achieved throughput is more than 200 Kbyte/s. Also in this case, SSL accounts for an overhead, slightly reducing the overall performances.
96
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
HTTP1.1
SSL/HTTP1.1
FIGURE 6-‐5: THROUGHPUT ANALYSIS OF HTTP1.1 Finally, Figure 6-‐6 shows the evolution of SPDY. Since, it uses a single connection, the delays introduced by the satellite network are absorbed (with the acceptation that they are experienced once, and not on a per-‐flow basis). Therefore, the achieved throughput is ~250 Kbyte/s, which is the best-‐obtained value in these tests.
FIGURE 6-‐6: THROUGHPUT ANALYSIS OF SPDY
6.2.2.3 Analysis of Bandwidth on Demand Impact
Figure 6-‐7 shows how the different BoD schemes impact on the PLT, for each protocol. Since previous results clearly show degradations due to the joint use of SSL and HTTP, the evaluation of the BoD scheme only considers the plain HTTP/HTTP1.1 and SPDY. In essence, the BoD increases the latency experienced by the application, which worsen the PLT. To highlight its impact, data transfers are performed on the return link. As showcased, SPDY always outperforms the HTTP, and improvements increase for higher values of the RTTs, which characterize the VBDC and the RBDC schemes. In particular, SPDY 97
is resilient enough to the increased latencies. In the worst case (i.e., the VDBC with an RTT of 1.6s), its PLT is ~21 s, that is only 10s greater than when using CRA. On the contrary, all the flavours of HTTP are greatly impaired by the VBDC, with a PLT ranging from ~150s (for HTTP1.1) to ~300 s (for HTTP1.0).
FIGURE 6-‐7: PLT VS. DIFFERENT BOD SCHEMES. To assess more in depth user experience, the “Time to the first paint” can be evaluated. This parameter indicates the time when browser starts to render the web page. As a user-‐level qualitative metric, this time is more representative than the overall page load time, since it is a better indication of content readiness (first objects starts to appear on the browser window). Results are shown in Figure 6-‐8. In general, HTTP starts rendering the page faster than SPDY, since the latter needs an additional time for object multiplexing, header compression, and framing process. From result analysis, it is possible to conclude that the rendering start is constrained by security-‐related operations. Therefore, with SPDY the time of the first paint is very close to time needed to perform the overall transfer. From a different perspective, joining results in the Figure 6-‐8 with those in Figure 6-‐7, it is possible to state that with SPDY the time to complete a web page transfer is very similar to time to the first paint with HTTP.
98
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
FIGURE 6-‐8: TIME TO THE FIRST PAINT. Another important feature introduced by SPDY is server push. Pushing method consists on proactively transmitting a number of objects without waiting for the corresponding requests from the client. In this way, the PLT can be reduced by eliminating the round trip time between a client request for a resource and the corresponding server’s response, while using at best available bandwidth. Server push configuration is usually set with the scope to send at once all the resources believed important for the client. However, SPDY basic mechanisms already envisage multiplexing with priority of multiple objects on a single connection. Therefore, expected advantages are not significant. Several tests have considered SPDY with different percentage of pushed objects over different BoD settings. This feature in HTTP (S) is not available. Results in Figure 6-‐9 show that SPDY download time is quite independent from the percentage of pushed objects. Again, overall performance depends on the experienced RTT, so that CRA outperforms the other schemes since leading to an RTT close to the two-‐way propagation delay only. On the other hand, VBDC provides the worst performance due to an overall RTT of about 1.6s. While the page load time is not particularly impacted by server push, the time required by the browser to start rendering (defined as time to the first paint) increases proportionally to the percentage of the pushed objects. This is due to resource encoding and header processing required by pushing process. The increase of time to the first paint as a function of an increasing percentage of the pushed objects is shown in Figure 6-‐10.
99
FIGURE 6-‐9: SPDY PAGE LOAD TIME WITH DIFFERENT PERCENTAGES OF SERVER PUSH
FIGURE 6-‐10: SPDY TIME TO THE FIRST PAINT WITH DIFFERENT PERCENTAGES OF SERVER PUSH
6.2.2.4 Analysis of the Resource Utilization
After a characterization of SPDY performance and the impact of different BoD schemes, this evaluation focuses on the network related performance in term of the resource utilization of the DVB-‐RCS links [76]. The overall transmission rate has been first monitored on both forward (web page download) and return (web requests and signalling) links. In addition, time-‐slots actually allocated on the return link have been tracked for the different application 100
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
protocol configurations. Without lost of generality, the mixed DAMA algorithm, as presented in Table 6-‐3, is considered for simulations.
Figure 6-‐11 reports throughput (Kbit/s) on both satellite downlink and uplink. SPDY bandwidth profile presents a spike in the downlink corresponding to the download of all objects multiplexed on a single connection and sent at once. This behaviour reduces also traffic measured on the return link, thanks to the limited number of active connections and the low number of requests generated by the client. Then, download terminates in few seconds as already proved in the previous simulation tests. HTTP/1.1 with pipelining leads to a web download spread over a longer interval time. Although pipeline allows sending multiple object requests together, object downloads are still sequentially sent, limiting the maximum achievable rate over the TCP connection (application-‐limited rate). In addition, signalling over the return link is increased: it is about one half of the traffic over the forward link. HTTP/1.0 (no pipelining) presents even worse performance in terms of both achieved data rate and traffic over the return link: • •
Download is performed at about 50 Kbit/s out of the 4 Mbit/s available; Traffic on the return link is very close to the amount of data downloaded; then, a higher request of shared return link resources will be needed.
As usual, HTTPS presents the worst performance. Even SSL signalling leads return link traffic to exceed the amount of downloaded data. This result demonstrates that the lower PLT is in particular associated to a much better exploitation of the available bandwidth if using SPDY.
101
FIGURE 6-‐11: BANDWIDTH UTILIZATION DURING WEB PAGE DOWNLOAD Finally, Figure 6-‐12 shows the dynamic assignment of available slots on the return link (using the mixed DAMA BoD) when web page download is performed four consecutive times varying the configuration. SPDY allows a better utilization of the resources getting a large number of slots for a limited time interval: at around 15s all the available slots are used to send most of data. The overall oscillatory trend is due to the burst nature of the TCP transmission on links with large delay-‐bandwidth product. In general, simulation outcomes show how SPDY transmission based on multiplexed objects allows a rapid allocation of the needed resources, limiting the impact of the DAMA allocation control loop.
102
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
FIGURE 6-‐12: RETURN LINK SLOTS To opposite, with the other configurations, overall transfer is segmented into sequential smaller data chunks (i.e. a single web object) on different TCP connections. As a consequence, when a new connection is established, slots are requested proportionally to the carried data (a smaller amount than in the SPDY case). Then, when connection terminates, previous assigned slots are released, to be requested again when a new connection is established. Definitively, the average number of slots is much lower (black lines in Figure 6-‐12), while the overall transfers last a longer time period.
6.2.2.5 Analysis of Multi-‐Terminal Traffics
This evaluation aims to assess the behaviour of SPDY when bandwidth on the satellite return link is variable due to Bandwidth on Demand (BoD) allocation, when multiple satellite terminals are competing for resources. Three additional satellite terminals (RCST1, RCST2 and RCST3) generate competing traffic sharing the satellite DVB-‐RCS return channel. An IP traffic loader is installed on each competing satellite terminal (RCST1, RCST2, and RCST3) with the aim to simulate a real user’s activity by generating random web browsing of different websites and file downloads. In more details, 8 UTs are connected to each competing RCSTs. The total generated traffic dynamically varies over time and in average requires the 103
75% and the 35% of bandwidth on forward and return link respectively. Overall traffic profiles are shown in Figure 6-‐13. On the other hand, UT connected to the target satellite terminal (RCST4) is used to browse the SPDY enabled server.
A capture of RCST4 traffic activity is also shown in Figure 6-‐13. Resource assignment processed relies on the RBDC, which allows to dynamically allocating return link time slots (228 in total) depending on the rate of data filling RCST buffers.
FIGURE 6-‐13: SNEP MULTI-‐TERMINAL TRAFFIC GENERATION Figure 6-‐14 presents the average download time for the different configurations, together with the variation range. The black lines indicate the maximum and minimum values for page download time resulted from the test run for 50 iterations. In addition, results for multiple RCST are compared to the ones achieved in previous test, when target RCST does not compete for return link bandwidth.
Dynamic bandwidth variations mainly affect performance of both HTTP and HTTPS: page download time is increased by 22% and 24% respectively. HTTP with pipelining is more resilient to bandwidth variations (page download time increased by 11%). The rationale is that pipelining allows sending more objects together over a single connection reducing the overall transmission time. Then, the probability that page download time interval is overlapped with a traffic peak coming from a competing RCST is lower. To opposite, HTTP 104
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
and HTTPS require a longer time for transmission of the same objects increasing the chance of competition on the bandwidth with other RCSTs.
SPDY object multiplexing leads to a transmission similar to a single file transfer (i.e. FTP). As a consequence, considering that initial TCP settings are optimized for the satellite link (IW=10 MSS and slow start threshold= bandwidth-‐delay product), SPDY tries to use all the available resources in a short time. Then, competing traffic constantly limits SPDY transfer transmission rate with respect to the case of absence of concurrent traffic. This explains the 56% increase of the download time, although it is still much lower than the one experienced with the other configurations.
105
FIGURE 6-‐14: WEB PAGE DOWNLOAD TIME IN A MULTIPLE RCST SCENARIO
FIGURE 6-‐15: SPDY PERFORMANCE DETAILS IN MULTIPLE RCSTS CONFIGURATION Figure 6-‐15 details SPDY results providing page download time achieved in every run for the multi-‐terminal scenario. Page download time over 50 iterations varies from 13.5s to 31.5s depending on the variations of the bandwidth utilized by the other terminals during the specific run. For comparison, Figure 6-‐15 includes also results related to 50 test iterations in a configuration where target RCST can exploit all the available bandwidth without competition with other RCSTs.
106
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
6.3 Impact of SPDY on The Satellite Network Architecture
The previous study (Section 6.2) compared the behaviours of different flavours of HTTP and SPDY over a DVB-‐RCS satellite link. Results indicated that, owing to its single-‐connection architecture, SPDY is a promising solution to access the Web when using satellites. However, Also, it has reduced TCP footprints, which can interact with other important architectural components and middleboxes usually deployed in satellite service providers.
Satellite networks are critical test benches for applications and transport protocols, having transmission characteristics much different compared to terrestrial networks, for which most of Internet protocols (included SPDY) have been designed. In particular, HTTP protocol over TCP results particularly impaired over satellite links due to the high experienced latency. In fact, TCP protocol has been originally designed to efficiently support long data transfers over terrestrial links (characterized by limited delays). TCP probes available bandwidth (congestion control mechanism) by gradually increasing its transmission rate after the reception of packet ACKnowledgements (ACKs), sent by data receiver. Therefore, the rate growth relies on a Round Trip Time (RTT) basis, which is more than 0.5s over geostationary satellite links. On the other hand, HTTP transfers, which make use of TCP, are characterized by a set of relatively small objects, often carried by 2-‐3 IP packets. With HTTP/1.0 protocol, each object is managed by a separated TCP connection, while HTTP/1.1 introduces possibility to group a set of object requests into a single connection that is kept open for a given time interval. In general, small data transfers terminate before TCP achieves the maximum achievable throughput, significantly affecting overall performance.
Several mitigation solutions have been proposed in literature, which imply the change of transport protocol (connection splitting) to a more optimized one for the air interface. Some solutions are focused at transport layer (larger initial window [65], fast connection open [74], TCP proportional rate reduction [64]), new congestion control algorithms (i.e. Vegas, Laminar, Compound, Cubic [79] TCP-‐Noordwijk [10], etc.). The rationale of this approach is to speed up data transfer, which is impaired on high delay-‐latency links, with protocols allowing a faster start-‐up (e.g., larger window, or a transmission window not clocked by ACKs). In this way, especially smaller objects may be transferred in shorter time and more efficiently. Objects of this kind are typically those transferred during an HTTP session, so that the connection establishment and the initial phases are critical.
A second solution consists in a multiplexing approach, in which several TCP connections are merged together on a single one. This approach can also be combined with the previous one, so that the multiplexed connection can also use a specific “accelerated” transport protocol. Multiplexing of several connections over a single one reduces the number of the initial handshakes of TCP connections (connection establishment 3-‐way handshake), both avoiding overhead and additional RTTs. It also allows using an already established TCP connection, which at steady state may have a large window, for the transfer. At the same time this 107
technique can also reduce the workload network nodes in terms of number of TCP connection to be handled.
All these kinds of solutions (and many others) fall under the PEPs class, which is nowadays an important component of a satellite network (and typically integrated within the edge nodes of the network). PEPs employ connection splitting, so that newer and more optimized transport protocols can be used on the air interface, including features of compression, secure tunnelling, etc. which disrupt the end-‐to-‐end TCP semantic. Moreover PEPs may perform higher layer operations, such as pre-‐fetching and Deep Packet Inspection (DPI) at HTTP or TCP level. As the SPDY protocol implements the multiplexing solution at application layer, it can introduce meaningful benefits also into a satellite network. In fact, this characteristic of SPDY is not related to the lower transport layer, or any PEP mechanism that may be implemented. SPDY peculiar mechanisms may save few round-‐trip messages to transport a web page and transmit in a more efficient way larger objects, having a noticeable effect on the transfer performance.
Differently from PEPs, SPDY does not require architectural changes in the network limiting interoperability problems. However, there are a few literature studies addressing performance analysis of the SPDY protocol over complex network scenarios, and in particular satellite ones, where it is already introduced a better performance than standard web protocols. Hence, this study aims to fill this gap with particular focus on the SPDY when used over a satellite channel. This work will emphasize benefits of exchanging data within a SPDY stream relying upon a single TCP connection (multiplexing feature), over a network characterized by high access delays. This study is a necessary initial stage, and will validate the key concepts of the SPDY protocol (standalone) over satellite, independently from lower layer optimizations. To verify the applicability and benefit in the use of SPDY in a satellite-‐based scenario additional testing activities are required. Should the SPDY protocol underperform or present issues at this early stage, neither all the other available capabilities are usable. At the same time, this early check is a pre-‐requisite to further study and assess the integration of the SPDY protocol within the PEPs nodes and all IP-‐based functions typically present in a VSAT satellite network (Shaping, firewalling, billing per service, etc.).
6.3.1 Analysis of SPDY Multiplexing
Performed tests aim to provide an assessment of SPDY multiplexing performance over satellite links against traditional HTTP transfers [77]. The core of this study is to demonstrate classic HTTP inefficiency to manage short transfers especially when the experienced latency becomes high. On the contrary, multiplexing makes a set of short transfers into a longer transfer better exploiting TCP transfer.
Two different static HTML webpages (Page-‐A & Page-‐B) built ad-‐hoc with different number of objects have been considered. The rationale is to demonstrate that multiplexing improvement
108
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
grows as the number of objects increases. Then, a detailed analysis of request-‐response loops under all the target configurations together with the evaluation of the web page load time are provided.
In order to stress web request-‐response iterations, the first webpage (Page-‐A) is structured as an index.html of 24.8 Kbytes and 640 small images. The second webpage (Page-‐B) is lighter and structured as an index.html of 18.4 Kbytes and 21 small images.
Page benchmarking tool, installed on Google Chrome browser in a single user terminal (UT1), which is connected to the virtual satellite terminal (ST1) of the Satellite Network Emulation Platform (SNEP). The benchmarking tool is used to access the testing webpages described in Table 6-‐4 it is configured to close the connection and clean the browser cache before every test’s iteration in order to ensure that all page objects are requested and downloaded from the server from scratch. SPDYShark debug tool is configured to capture all the transmitted packets between the endpoints. Page-‐A Page-‐B
• • • • • •
Consists of 640 small images Index.html 24.8 Kbytes 640 small images totalling 333 Kbytes. Consists of 21 small images Index.html 18.4 Kbytes 21 small images totalling 138.5 Kbytes
TABLE 6-‐4: TESTING WEBPAGES COMPONENTS
6.3.2 Results
Page load time represents the best metric to quantify the user experience in downloading a web page. Therefore, results in Figure 6-‐16 present the average download time of the Page-‐A (blue bars) and page-‐B (red bars) for the different protocol configurations. In addition, detailed protocol performance indicators of the tests are summarized in Table 6-‐5 and Table 6-‐6.
109
FIGURE 6-‐16: WEBPAGES LOADING TIME OVER DIFFERENT PROTOCOL CONFIGURATIONS. In case of 640 objects (Page-‐A), SPDY acceleration is much evident and provides 80% to 96% reduction in download time if compared with other protocols. The reason for such a great improvement is that SPDY drastically reduces the number of connections, efficiently exploiting multiplexing of the objects. It opens 4 connections among which only one is used for actual data transmission, while the other 3 connections are established by the browser as backup. HTTP/1.0 manages a connection for every object, while HTTPS has a number of connections equal to the double of the downloaded objects, due to the security additional procedures involved since a self-‐signed certificate is used, which has to be verified by the browser before initiating any connection. In both HTTP cases, connections carry a few bytes (only 5-‐9 packets per connection) and lasts less than 3s in average. Under these conditions, considering satellite RTT of about 560ms, TCP manages transfers within Slow Start phase providing an actual transmission rate well below the available capacity over the current satellite systems. Note that performed simulations envisage a very large bandwidth (4 Mbit/s in both communication directions) in order to assess the nominal efficiency of the different protocol configurations.
HTTP/1.1 is able to limit to 12 the total number of connections (Chrome allows 6 persistent connections and Apache server sets a KeepAlive threshold of 5s for each connection). Then, the overall number of connections is closer to the 4 measured in the SPDY configuration. Nevertheless, SPDY still allows a better utilization of the TCP connection achieving higher throughput per connection: 312 Kbit/s against the 11 Kbit/s with HTTP1.1 for the server-‐to-‐ client (S>C) transfers. Definitively, it is possible to conclude that SPDY approach, based on multiplexing, results much better than other ones in case of a large number of objects composing the web page.
110
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
No. Of Connections Av. Duration of Data Connection (s) Av. Throughput / Connection (C>S) bit/s Av. Throughput / Connection (S>C) bit/s Total Bytes Transferred Av. Bytes/ Connection Av. Bytes Transferred (C>S) Av. Bytes Transferred (S>C) Av. Packets/ Connection(C-‐>S) Av. Packets/Connection (S-‐>C)
Page A HTTP1.0 642 1 4852 7361
1187119 1849 735 1114 5 5
HTTP1.1 12 33
HTTPS 1291 2
11019
4598
5882
868021 72335 25102 47233 59 57
SPDY 4 12
5626
102152
2996331 2321 1276 1045 8 6
613633 610126 150368 459758 548 752
TABLE 6-‐5: STATISTICS ON PAGE-‐A DOWNLOAD
312335
In the second test with 21-‐objects page (Page-‐B), performance comparison results quite different than in the previous case. As a general comment, the lower number of objects makes multiplexing effect less significant. In fact, differences on the number of connections observed in the different configurations are shortened, but with SPDY still representing a lower bound (4 total connections irrespective from the number of objects). From Figure 6-‐16, SPDY outperforms only HTTPS, while providing a page loading time similar to HTTP/1.0. Instead, HTTP/1.1 apparently results the most efficient configuration employing only 3.7s against the 6.7s of SPDY. The rationale of such an outcome relies on the SPDY TLS session management, which takes at least 3 RTT for the initial establishment. On the other hand, SPDY provides secure communications at the cost of an initial delay. Then, a fair performance evaluation must take into account that both HTTP/1.0 and HTTP/1.1 do not provide any security to transferred data. No. Of Connections Av. Duration of Data Connection (s) Av. Throughput / Connection (C>S) bit/s Av. Throughput / Connection (S>C) bit/s Total Bytes Transferred Av. Bytes/ Connection Av. Bytes Transferred (C>S) Av. Bytes Transferred (S>C) Av. Packets/ Connection(C-‐>S) Av. Packets/Connection (S-‐>C)
Page B HTTP1.0 23 1 5909
39251
175844 7645 968 6678 9 9
HTTP1.1 6 4
HTTPS 27 2
SPDY 4 7
53158
14549
167297
5745
167930 27988 31855 25258 19 22
5509
243485 4870 1280 3590 9 8
TABLE 6-‐6: STATISTICS ON PAGE-‐B DOWNLOAD
8897
163401 156226 7889 148337 58 118
Finally, statistics of both Table 6-‐5 and Table 6-‐6 demonstrate how SPDY always allows the best throughput per connection, for both traffic directions. That is, after the initial delay for security establishment, SPDY guarantees the most efficient data transmission, since it keeps 111
alive the connection with data multiplexing reaching a close to optimal TCP window. These results are directly linked to the application protocol used (SPDY or HTTP based) and unrelated to the TCP protocol underneath which is common during all tests.
6.4 SPDY as an Alternative End-‐to-‐End Optimization Technique
Satellite communications are well suited for multicast/broadcast applications, while presenting drawbacks in supporting traditional Internet applications. In past years, research community presented a lot of proposals [57][49][56][29], at both architectural and protocol level, to make satellite networks attractive as a terrestrial ADSL alternative [17][62]. Main issues rely on difficult to allow a convenient commercial offer (cost of satellite bandwidth), need for adaptation of technologies designed for terrestrial networks and dealing with physical impairments that cause degraded performance if compared with terrestrial networks. Then, satellite networks represented a weak option to provide Internet access, requiring ad-‐hoc countermeasures. Such countermeasures in the best case led to additional costs for either service or network providers (in some cases for both), which inflate customer leases. Two complementary approaches were proposed and were developed in parallel:
Satellite Resource Optimization includes proposals of efficient resource allocations, advanced traffic shaping to limit traffic, ACM. In this case costs for the design and deployment of technology are relevant, with a low-‐lever impact on the system.
Performance optimizations – PEP architectures, including proposal of ad-‐hoc protocols, caching/pre-‐fetching, compression and other higher layer enhancement. In most cases, these optimizations require the introduction of specialized network elements and/or various protocol adaptations.
In general, efforts and investments to efficiently address all the above issues did not bring to effective solutions allowing an actual market penetration. Then, in practice, satellite continued to represent just gap filler for some specific scenarios (rural areas, oceans, deserts, aircraft, etc.), or backup solutions in case other terrestrial network become not available. To achieve an efficient satellite Internet solution, it is necessary to propose a bandwidth per user in the same order of magnitude of terrestrial systems, while proposed price should be still kept low.
From a commercial point of view, terrestrial broadband access is provided with a contention ratio of 1:N. It means that N users share the same capacity (assuming for instance C Mbit/s). At a given time, the sum of all the capacity in use by the N users must always be less than or equal to C. Of course, in the worst case when all N users are simultaneously accessing web contents at a sustained rate, each one will only achieve C/N Mbit/s. From a statistical analysis, users do not transmit simultaneously, so that actual capacity experienced by each users is higher than C/N. ADSL system dimensioning envisages that N is kept as low as economically possible, with a general overprovision of capacity C (which is possible if considering ADSL2+ standards allowing up to 20 Mbit/s). The goal is to provide a nominal capacity C to each user (exploited for most of time), although it is actually shared among N users 112
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
When considering recent broadband access by satellite (i.e. Tow-‐way Ka-‐Sat platform2), although allowing a much higher throughput compared to older satellite platforms, the cost per Mbit is still much higher than in terrestrial cases. Therefore, with the aim to preserve a competitive commercial offer (compared to terrestrial ADSL), it is not possible to reduce the contention ratio below a certain threshold (to not compromise performance experienced by users) or further increase the maximum per-‐user capacity (overprovision) as in the terrestrial systems. Fixing N and C values for satellite as a cost-‐performance trade off, the only way to guarantee an acceptable Quality of Experience (QoE) is to invest on traffic control methods (in compliancy to Service Level Agreements -‐ SLAs) in order to avoid harmful effects of traffic peaks and carefully utilizing shared resources, avoiding any possible resource wasting (network underutilization). Maximization of resource utilization in the return link is usually addressed by Bandwidth on Demand (BoD) algorithms, dynamically assigning transmission slots based on actual needs. To this extent, the amount of dynamic slots used by users shall be reduced, to contain the cost of the service. For the reason, envisaged emulation platform includes DVB-‐RCS link layer, where return link time-‐slots are assigned through Demand Assignment Multiple Access (DAMA) schemes [57]. This study considers the newest SPDY protocol to perform some tests over an emulated DVB-‐ RCS link [78]. The goal is to assess performance gap between satellite and terrestrial (xDSL-‐ like) link. The latter aspect will allow to understand if satellite role can be reviewed for the future Internet.. In particular, test configuration focuses on the Volume Based Dynamic Capacity (VBDC) algorithm, which requests capacity on the basis of the actual bytes stored in the satellite terminal buffer, then maximizing resource utilization. SPDY performance over VBDC is then a good meter to evaluate effectiveness with respect to terrestrial systems, in particular to assess its benefit with regard to protocol timings and performance as well as the resource utilization in co-‐existence with DAMA. In additional, testing real SPDY implementation allows to evaluate if a specialized tuning of Web client/server can further increase performance over satellite.
6.4.1 Test Setup
Satellite Network Emulation Platform (SNEP), have been setup to emulate a fully star-‐based DVB-‐RCS network, or simple point-‐to-‐point xDSL links. In satellite configuration, represented in Figure 6-‐17, each virtual node emulates a single component of a typical VSAT satellite network adopting DVB-‐RCS standard, whereas for terrestrial link emulation, the satellite node is disabled.
2 Europe’s first High Throughput Satellite (Eutelsat), “http://www.eutelsat.com”
113
FIGURE 6-‐17: SNEP CONFIGURATION FOR SATELLITE EMULATION Attached to the SNEP platform, two customized Virtual machines were configured: an Apache Web Server with SPDY/3 support and a reference Client (Chrome).
The Apache server is configured with mod_spdy 0.9.4.1, hosted by an Ubuntu 12.04 O.S., with pre-‐configured Initial TCP Window size of 10 packets. The Web page used for testing consists in a complete mirror (including dynamic content and Javascripts) of the European Space Agency (ESA) institutional home page (http://www.esa.int). This testing page represents a good reference page of a typical web portal, and it is used for all the following analysis. The main page in fact contains several heterogeneous objects as shown in the structure reported in Figure 6-‐18. The Chrome client starts downloading by sending GET request for index.html then the browser will request 2 CSS files, 9 Javascripts, 79 images, and 3 TTF font files. One Javascript file (JS1) will request 20 images interactively (AJAX) to complete the page download.
FIGURE 6-‐18: WEB TEST PAGE OBJECTS HIERARCHY The full web page has been moved to the local server, so that specific Apache and SPDY parameters can be fine-‐tuned (in particular SPDY is not available on the real ESA web server) and controlled locally. Apache web server has a local Certificate used to establishing secure connections, which has been exported in Wireshark tool in order to inspect the traffic (together with the SPDYShark plugin used to decode the SPDY messages and inspect parameters of SPDY framing and streaming layers when SPDY is in use) and enable statistics. The server is accessed through the SNEP emulated satellite or terrestrial link. 114
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
Concerning the client, benchmarking extension required to measure the test performance has been included in order to support SPDY with server push. In addition, Chrome browser starts a backup connection by default after 250ms in parallel to the first established connection, to avoid the 3s required for SYN retry in case of losses. In operative satellite networks, the average actual value for RTT is always greater than 650ms, so parallel connection is erroneously established, causing some confusion in the browser behaviour. In order to solve this issue, authors rebuild the Chrome from source code with some modifications to SPDY start-‐up module and increasing parallel connection default value from 250ms to 2000ms.
Finally, the last adaptation for the testbed concerns the pre-‐connections. Chrome browser learns the websites history and the required resources (number of domains used in every website and recurrent domains) to start TCP pre-‐connections to these websites. During these tests the Chrome browser is started without pre-‐connections option, to avoid both any performance inefficiency due to unwanted connections and misuse of satellite resources. It is possible to selected into the SNEP: i) terrestrial, ii) fixed rate satellite (satellite best-‐case scenario) and iii) on demand bandwidth satellite configurations. The detailed parameters adopted for testing are presented in Table 6-‐7, with the indication of reference set of protocols used for the first comparative tests. Test setup
Bandwidth
Satellite with Fixed bandwidth assignment
4/1 Mbit/s Forward/ Return link
ADSL
Satellite with on demand bandwidth assignment
Download: 4Mbit/s, Upload: 384kbit/s,
4/1 Mbit/s Forward/ Return link
Average RTT 50 ms (reported as a reliable European average value [17]) 660 ms Constant Rate Assignment -‐ CRA 660ms + BoD access delay for Volume-‐ based requests VBDC algorithm (variable)
Protocols HTTPS (with default options for server and client) HTTPS; HTTPS w/ pipelining; SPDY HTTPS; HTTPS w/ pipelining; SPDY
TABLE 6-‐7: CONFIGURATION OF SNEP FOR DIFFERENT SETUP CONSIDERED
HTTPS/1.0 is referred to the HTTPS protocol implementation without changing both the default configuration of Apache and the Web browser settings, as baseline in all test configurations. In this case (which represents the majority of practical real-‐life cases) the KeepAlive for SSL is not established.
To enhance performance over satellite, HTTP/1.1 over SSL was then introduced (HTTPS/1.1), enabling both pipelining option in the client browser and KeepAlive option in the apache server to enable HTTP – Pipelining. This optimization was proposed for satellite transfers to offer a consistent reference to compare standard HTTP with security versus a default SPDY configuration over satellite. Among all the SPDY features, default configuration envisage only multiplexing.
115
Page-‐benchmarking tool, installed on Google Chrome browser, was used to access the testing webpage described above. Benchmark tool is configured to close the connection and clean the browser cache before each run. The rationale is to ensure that all page objects are requested and downloaded from the server (Cold Loading). Each test is repeated for 50 times and results are averaged providing a single averaged value.
In a second set of tests, the focus has been on how SPDY can be further tailored to the satellite environment and if there are additional margins for improvement. To this aim, default SPDY was compared with an ad-‐hoc setup of SPDY with push (modification at server side), data compression and partial content caching (at client side and updating some objects lifetime property at server side).
6.4.2 Results
The first test concerns the initial assessment on the use of SPDY in a satellite realistic scenario, with comparison to a terrestrial ADSL reference case. The complexity of the dynamic page, and the necessity of establishing an SSL secure relation before sending data, lead to a Page Load Time (PLT) of around 7 s in the ADSL case. Performance comparison with satellite transfers relying on both HTTPS versions and SPDY is shown in Figure 6-‐19. When using HTTPS without pipelining over satellite, PLT becomes unacceptable: more than 40 s in case of a fixed bandwidth assignment (Constant Rate Assignment -‐ CRA) and more than 1 minute in case of DAMA VBDC algorithm. This outcome summarizes a performance assessment for the “old-‐style” web protocols, which makes satellite not suitable to support Internet access. To opposite, when introducing pipelining and especially with the use of SPDY, the PLT reduction is significant (as low as 13 s) and represents a very good result. In fact, considering that satellite delay is (at-‐least) ten times higher, PLT is only 2 (with CRA) or 3 (with VBDC) times higher. Performance is considered satisfactory also because part of the page is usually displayed much earlier than PLT (first paint), giving to user a good interactivity sensation, even when using VBDC. In addition, with VBDC optimization of resource utilization is achieved, which is a key improvement for reduction of bandwidth costs.
116
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
FIGURE 6-‐19: TERRESTRIAL VS. SATELLITE PAGE LOAD TIME The second test run focuses on possible optimization of SPDY tailored to satellite link characteristics. Specifically, object pushing and local caching have been progressively enabled in the configuration. Such mechanisms co-‐exist with the default SPDY multiplexing behaviour (and security), which already led to good performance of first test. As far as caching is concerned, freshness lifetime has been configured for Javascript and CSS files only, to allow the browser to cache these resources in the HTTP cache disk. All other page resources including HTML and images are downloaded from the server normally. This represents a very likely case, where the user is returning the next day on the same Web portal, where the style and the main components remain the same and only part of the content is updated. Then, starting from the worst satellite case (SPDY over VBDC), Figure 6-‐20 reports performance improvements with the addition of SPDY features. PLT is reduced of about 4s by server push, selecting the page root elements of Javascript and CSS. If also local caching is enabled (which is the default clients setting) in addition to push, performance improvement becomes much more significant with an average PLT of about 12s. Finally, this latter configuration is run for comparison also over CRA (satellite with dedicated access representing the best case scenario) providing the maximum performance improvement: PLT equal to 8s, just 1s higher than result of HTTPS over terrestrial links.
117
FIGURE 6-‐20: SATELLITE SPDY OPTIMIZATIONS To complete the analysis, a last test run provides the amount of resources required (in terms of assigned bytes) on the return link during the web page download, when VBDC is considered. The overall bytes-‐budget is presented in Figure 6-‐21. The first contribution to the return link occupation represents the amount of bytes transmitted by the browser (measured by means of the Chrome benchmarking tools) with different protocol configuration. Such a value represents the “neat” amount of bytes sent by the web server.
The second stacked value (waved blocks) represents the network level bytes, measured by Wireshark network analysis tool considering IP packets sent on the emulated modem Ethernet interface. These bytes are related to application, transport and network specific overheads. Finally the last contribution is measured at the satellite data link level and it includes effective slots assigned with VBDC including DVB-‐RCS framing overhead and possible overprovisioning of slots when sent bytes do not exactly match RCS TDMA slots capacity.
118
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] HTTP/2.0 Over Satellite: an Alternative End-‐to-‐End Optimization Technique
FIGURE 6-‐21: REDUCTION OF RETURN LINK USAGE DUE TO SPDY Optimized SPDY allows a great reduction of resource effectively used on the satellite link at all layers, and especially at the most significant layer for the satellite operator, the link layer. In fact, requested capacity is more than 200 Kbytes lower than the about 350 Kbytes needed when running traditional HTTPS.
This study provided a performance assessment of the SPDY protocol to perform realistic web page transfers over satellite. Results show that an optimized version of SPDY, including multiplexing, compression, pushing and caching features, allow a significant reduction of the Page Load Time (PLT), while minimizing resources requested on the satellite return link. In particular, PLT is very close to the value measured when performing the same transfer over an ADSL-‐like link with standard secure protocols.
These results make broadband satellite network suitable to act as an alternative access technology in the future Internet, without the need of additional architectural block (e.g., PEPs). In addition, minimization of the used resources provides a framework to make satellite competitive also in terms of costs and users contention ratio.
119
7 CONCLUSION
Security is a paramount requirement in satellite communication. This thesis analyzed the currently available security techniques for DVB-‐RCS satellite networks. After reviewing the existing security techniques available for modern commercial wireless networks, a suitable robust security framework is proposed for security IP traffic over DVB-‐RCS networks. The proposed security framework is inspired from the robust security mechanism of IEEE802.11i WLAN. However, the special characteristics of satellite networks were considered during the design of each phase of the framework. The proposed security provides mutual authentication, data confidentiality, data integrity, reply-‐attack protection, and lightweight key exchange mechanism. In addition, it supports different network layer protocols, encapsulation protocols, and compatible with other network devices and techniques that are widely used in satellite networks, such as PEPs, NAT. The proposed security mechanism is evaluated considering the main three aspects required: compatibility, security, and performance. For compatibility, the security framework is evaluated considering the special security requirements for satellite network. For security, a formal correctness proof of the framework is presented using Protocol Composition Logic (PCL), which demonstrated the correctness of the security framework. Third, the performance of the framework is evaluated using Omnet++ simulation platform with different realistic protocols over emulated satellite network. Finally the performance is compared to IPSec protocol, which is commonly used in satellite network. HTTP request/response transmission mechanism is not in general efficient over satellite link because of the high RTT (half second). Actual RTT is further inflated when BoD techniques are adopted reaching up to 2 s in case of VBDC, as analyzed in section 6.2. This means that any iteration (i.e. reception of index.html) is managed in a second-‐based time scale. Such an order of magnitude is completely not compliant to web performance over terrestrial links. In addition, distribution of single web objects on different connections further increases the above harmful effect, since TCP congestion control is tailored for long data transfers, while
120
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Conclusion
small transfers are managed in slow start phase strongly underutilizing available resources. HTTP/1.1 offers KeepAlive, and with pipelining options enabled in the browser (leveraging as well on the 6 parallel connections) improves performance. In fact, pipelining allows managing multiple objects over a single connection reducing TCP overhead and avoiding multiple request-‐response loops. Parallel connections, on the other hand, aim to overcome TCP slow start by arranging simultaneous transfers. The latter could cause some scalability problems depending on the network characteristics. SPDY approach aims to actually transform web transfers in a single larger data transfer, which can be more efficiently served by TCP. At the same time TCP Initial Window (IW) is properly increased in order to accelerate start up phase without affecting scalability. Based on these considerations, the following conclusions can be drawn: •
•
•
•
Management of a single connection improves throughput, benefits increase for higher delays. Due to its multiplexing functionalities, SPDY allows a better utilization of the available resources by replacing small object transfers to a single bulk transfer. As a consequence, data rate in only constrained by TCP (and not more by multiple HTTP request-‐response loops) and DAMA allocation control procedure can avoid to restart by 0 up on each object transfer bringing a further delay contribution. This explains the huge improvement over RBDC and VBDC algorithms. Parallel multiple connections help performance by saving time from sequential TCP connection establishment. This applies to traditional HTTP. This is driven by browser and server settings. Most of the modern websites use many different domains, and SPDY works per domain. This means SPDY can’t reduce connections or multiplex requests across the different domains. Discussion on the relation between browser settings and performance, selected browser greatly impacts on performance. Settings are of a paramount importance and must depend on some physical parameters. Web browsers are optimizing their default settings depending on the basic characteristics of terrestrial broadband networks, which are different than satellite networks. For a better performance, stellate network user has to change some settings in the browser.
Presented results demonstrate effectiveness of the SPDY mainly based on multiplexing. As the number of Web page objects increases, SPDY performance improvements become relevant with respect to all the past web protocol configurations. With a limited number of objects, SPDY performance is more similar to that achieved by HTTP/1.0 and HTTP/1.1 in terms of overall page load time. This is due to the initial SPDY signalling exchanges for establishing secure session (SSL protocol). Nevertheless, at the cost of a small increase of the web page load time, SPDY provides both security and a better management of TCP connections (higher throughput). Furthermore, SPDY allows also introducing additional mechanisms and 121
optimization (compression, priority, etc.), which can further enhance web applications performance and shall be investigated.
Performance Enhancing Proxies (PEPs) are designed and used. PEPs are widely deployed in present satellite networks. They have been crucial to providing acceptable performance using the traditional HTTP. To accelerate performance, PEPs operate at multiple layers influencing the lower layers (e.g. Radio Link), the transport (e.g. TCP Splitting) and applications (e.g. compression, pre-‐fetching, and http proxy). Considering SPDY, it is important to differentiate the PEP functions into Transport, Application, and Physical layers. This suggests that the need of both applications and transport PEPs could be reviewed or completely offloaded when SPDY is implemented.
122
8 BIBLIOGRAPHY [1]
[2]
[3] [4] [5]
[6]
[7] [8] [9]
123
A. Cardaci, L. Caviglione, A. Gotta, N. Tonellotto, “Performance Evaluation of SPDY over high Latency Satellite Channels”, PSATS 2013, LNICST 123, pp. 123-‐134, 2013, Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, Springer, 2013.
A. Cardaci, N. Celandroni, E. Ferro, A. Gotta, F. Davoli, L. Caviglione, “SPDY – a new Paradigm in Web Technologies: Performance Evaluation on a Satellite Link”, in Proceedings of the 19th Ka and Broadband Communications Navigation and Earth Observation Conference, Florence, Italy, FGM Events LLC 239, Oct. 2013. Aboba, B. and W. Dixon, “IPsec-‐Network Address Translation (NAT) Compatibility Requirements”, RFC 3715, March 2004. Aboba, Bernard, et al., “Extensible authentication protocol (EAP)”, RFC 3748, June 2004.
Alshamsi, A.; Saito, T., “A technical comparison of IPSec and SSL” Advanced Information Networking and Applications, 2005. AINA 2005. 19th International Conference on, vol.2, no., pp.395-‐398 vol.2, 28-‐30 March 2005.
Barbieri, Roberto, Danilo Bruschi, and Emilia Rosti. “Voice over IPsec: Analysis and solutions”, Computer Security Applications Conference, 2002. Proceedings. 18th Annual, pp. 261-‐270. IEEE, 2002. Bellare, Mihir, and Phillip Rogaway. “Entity authentication and key distribution” Advances in Cryptology -‐ CRYPTO’93. Springer Berlin Heidelberg, 1994.
Belshe, M., Peon, R. SPDY protocol (draft 3): http://www.chromium.org/spdy/spdy-‐ protocol/spdy-‐protocol-‐draft3 (Online accessed Dec. 2014)
C. A. Ellis, and C. Sun, "Operational Transformation in Real-‐Time Group Editors: Issues, Algorithms, and Achievements", Proc. of ACM 1998 CSCW, pp. 59-‐68, Nov 1998, Seattle (US).
[10] C. Roseti, M. Luglio, F. Zampognaro, “Analysis and Performance evaluation of a burst-based TCP for Satellite DVB RCS links”, IEEE/ACM Transactions on Networking, Vol. 18, Issue 3, pp. 911-921, Jun. 2010. [11] Caragata, Daniel, Emil Sofron, Ion Tutanescu, and S. E. Assad. "Secure IP multicast over satellite." In Electrical and Electronics Engineering (ISEEE), 2010 3rd International Symposium on, pp. 49-‐53. IEEE, 2010.
[12] Caviglione L.; Gotta A.; Abdel Salam A.; Luglio M.; Roseti C.; and Zampognaro F., “Performance Evaluation of HTTP and SPDY over a DVB-‐RCS Satellite Link with Different BoD Schemes” 6th International Conference on Personal Satellite Services 2014, 28-‐29 July 2014, Genova, Italy.
[13] Caviglione, L.: “Can satellites face trends? the case of web 2.0. In: Satellite and Space Communications”, 2009. IWSSC 2009. Int. Workshop on. (2009) 446 –450
[14] Comtech EF Data, “Streamline Encapsulation Support”, Software Release Notification, 2009.
[15] Cruickshank, H., et al. “Securing multicast in DVB-‐RCS satellite systems”, Wireless Communications, IEEE 12.5 (2005): 38-‐45. [16] Datta, Anupam, et al. “Protocol composition logic (PCL)”, Electronic Notes in Theoretical Computer Science 172 (2007): 311-‐358. [17] DSL-Forum, http://www.broadbandforum.org
[18] Durgin, Nancy, John Mitchell, and Dusko Pavlovic, "A compositional logic for protocol correctness. "Computer Security Foundations Workshop, IEEE. IEEE Computer Society, 2001.
[19] EBU/ETSI, “Digital Video Broadcasting (DVB); Implementation guidelines for the use of MPEG-‐2 Systems, Video and Audio in satellite, cable and terrestrial broadcasting applications”, ETR 154, Sep. 1997.
[20] ETSI, “Digital Video Broadcasting (DVB); DVB interaction channel for Cable TV distribution systems (CATV)”, ETSI ES 200 800 V1.3.1 (2001-‐10). [21] ETSI, “Digital Video Broadcasting (DVB); DVB specification for data broadcasting” ETSI EN 301 192 V1.4.1 (2004-‐06).
[22] ETSI, “Digital Video Broadcasting (DVB); Framing structure, channel coding and modulation for 11/12 GHz satellite services”, EN 300 421 V1.1.2 (1997-‐08). [23] ETSI, “Digital Video Broadcasting (DVB); Generic Stream Encapsulation (GSE) Protocol”, ETSI EN 102 606 v. 1.1.1, Oct. 2007. [24] ETSI, “Digital Video Broadcasting (DVB); Interaction Channel for Satellite Distribution Systems”, ETSI EN 301 790 v. 1.5.1, May. 2009.
[25] ETSI, “Digital Video Broadcasting (DVB); Second Generation DVB Interactive Satellite System (DVB-‐RCS2)” ETSI TS 101 545-‐1, V1.1.1, (2012-‐05). 124
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Bibliography
[26] ETSI, “Digital Video Broadcasting (DVB); Second generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satellite applications (DVB-‐S2)”, ETSI EN 302 307, V1.2.1, (2009-‐ 08).
[27] ETSI, “Digital Video Broadcasting (DVB); Support for use of the DVB Scrambling Algorithm version 3 within digital broadcasting systems” DVB Document A125, Nov. 2013. [28] F. Belli, M. Luglio, C. Roseti, and F. Zampognaro, “Evaluation of TCP performance over emulated multiple RCST DVB-‐RCS scenario”, In proc. Of Intl Workshop on Satellite and Space Communication (IWSSC), pp. 424-‐428, Sept 2009, Siena (Italy).
[29] F. Belli, M. Luglio, C. Roseti, G. Savone and F. Zampognaro, “Performance evaluation of TCP Noordwijk over satellite systems for fixed and mobile services”, 15th IEEE International Workshop on Computer Aided Modelling Analysis and Design of Communication Links and Networks (CAMAD2010), 3-‐4 Dec. 2010, Miami, Florida.
[30] Fairhurst, G. and B. Collini-‐Nocker, “Unidirectional Lightweight Encapsulation (ULE) for Transmission of IP Datagrams over an MPEG-‐2 Transport Stream (TS)”, RFC4326, December 2005.
[31] Fette, I., and A. Melnikov. “RFC 6455: The WebSocket Protocol” IETF, December (2011).
[32] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P.,Berners-‐Lee, T., “RFC 2616, Hypertext Transfer Protocol – HTTP/1.1”, (1999).
[33] Forcier, Jeff, Paul Bissex, and Wesley Chun, “Python web development with Django”, Addison-‐Wesley Professional, 2008.
[34] Frankel, Sheila, R. Glenn, and S. Kelly, “The AES-‐CBC cipher algorithm and its use with IPSec. RFC 3602”, September, 2003. [35] G. Rauch, “Socket.io”, open source software, MIT License, http://socket.io.
[36] G. Totsline, “Issues When Using IPSec Over Geosynchronous Satellite Links”, SANS Institute Reading Room, Ver. 1.4 August 12, 2002. [37] Garrett, Jesse James, "Ajax: A new approach to web applications." (2005): 1-‐6. [38] Guide, A. Pragmatic, "Agile web development with Rails." (2006).
[39] H. Cruickshank, P. Pillai, M. Noisternig, S. Iyengar, “Security Requirements for the Unidirectional Lightweight Encapsulation (ULE) Protocol”, RFC 5458, IETF, March 2009
[40] H. Cruickshank, P. Pillai, S. Iyengar. “Security Extension for Unidirectional Lightweight Encapsulation Protocol”, IETF, draft-‐cruickshank-‐ipdvb-‐sec-‐05 (expired), (2008). 125
[41] H. Kim, G. Yi, H. Lim, J. Lee, B. Bae, S. Lee, “Performance Analysis of SPDY Protocol in Wired and Mobile Networks", In Ubiquitous Information Technologies and Applications, pp. 199-‐206, Springer Berlin Heidelberg, Jan. 2014.
[42] H. Kruse, M. Allman, J. Griner, D. Tran, “Experimentation and modelling of HTTP over satellite channels", International Journal of Satellite Communications, vol. 19, no. 1, pp. 51-‐ 68, 2001. [43] He, Changhua, et al. “A modular correctness proof of IEEE 802.11i and TLS.” Proceedings of the 12th ACM conference on Computer and communications security. ACM, 2005. [44] http://www.symfony-project.org/ (accessed online December 2014).
[45] I. Hickson, “Server-‐Sent Events”, W3C Editor’s Draft, http://dev.w3.org/html5/eventsource/, Jan 2013, (accessed online December 2014).
[46] IEEE Standard for “Information technology-‐Telecommunications and information exchange between systems Local and metropolitan area networks-‐Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications," IEEE Std. 802.11-‐2012 (Revision of IEEE Std. 802.11-‐2007), vol., no., pp.1,2793, March 29 2012.
[47] IEEE Standard for Local and metropolitan area networks -‐ Port-‐Based Network Access Control," IEEE Std. 802.1X-‐2010 (Revision of IEEE Std. 802.1X-‐2004), vol., no., pp.C1,205, Feb. 5 2010.
[48] INET Framework. http://inet.omnetpp.org, (accessed online December 2014).
[49] Interoperable PEP (I-‐PEP) Transport Extensions and Session Framework for Satellite Communications: “Air Interface Specification”, Oct. 2005.
[50] J. Border, M. Kojo, J. Griner, G. Montenegro, “Performance Enhancing Proxies Intended to Mitigate Link-‐Related Degradations”, RFC 3135, IETF, June 2001.
[51] J. Callas, L. Donnerhacke, H. Finney, D. Shaw, and R. Thayer, “Open PGP Message Format”, RFC 4880, Nov. 2007.
[52] J. Heidemann, K. Obraczka, J. Touch, “Modelling the performance of HTTP over several transport protocols”, IEEE/ACM Transactions on Networking, Vol. 5, No. 5, pp. 616-‐630, 1997.
[53] Kent, S., and K. Seo., “Security Architecture for the Internet Protocol (RFC 4301)”, (2005).
[54] Knorr, E. Software as a Service: The Next Big Thing. http://www.infoworld.com/article/06/03/20/7610312FEsaas1.html (2009), (accessed online December 2014).
[55] M. Belshe, Twist, R. Peon, M. Thomson, A. Melnikov, “Hypertext Transfer Protocol version 2.0”, IETF, draft-‐ietf-‐httpbis-‐http2-‐01, (Jan. 2013).
[56] M. Luglio, C. Roseti, F. Zampognaro, “Analysis and Performance evaluation of a burst-‐ based TCP for Satellite DVB RCS links”, IEEE/ACM Transactions on Networking, Vol. 18, Issue 3, pp. 911-‐921, Jun. 2010. 126
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Bibliography
[57] M. Luglio, C. Roseti, F. Zampognaro, Performance evaluation of TCP-‐based applications over DVB-‐RCS DAMA schemes, International Journal of Satellite Communications and Networking, Volume 27 Issue 3, Pages 163–191, Published Online: 2 Mar 2009, DOI:10.1002sat.930. [58] M. Noisternig, B. Collini-‐Nocker, P. Pillai, L. Liang, H. Cruickshank, “Transmitter and receiver processing specification for a unified ULE security extension”, IWSSC 2009.
[59] M. Noisternig, B. Collini-‐Nocker. “A lightweight security extension for the Unidirectional Lightweight Encapsulation (ULE) protocol”, IETF, draft-‐noisternig-‐ipdvb-‐ulesec-‐01, (2008).
[60] M. Noisternig, P. Pillai, H. Cruickshank. “Security Extension for Unidirectional Lightweight Encapsulation”, IETF, draft-‐noisternig-‐ipdvb-‐sec-‐ext-‐01.txt, (2009).
[61] M. Piatek, “Proposal for Stream Dependencies in SPDY”, Draft 1, https://docs.google.com/document/d/1pNj2op5Y4r1AdnsG8bapS79b11iWDCStjCNHo3 AWD0g/edit , (Oct. 2012), (accessed online December 2014).
[62] M. Siekkinen, D. Collange, G. Urvoy-‐Keller, and E.W. Biersack, “Performance limitations of ADSL users: a casa study”, in proceedings of the 8th Passive and Active Measurements Conference, 2007.
[63] Marks, Roger B. “IEEE standard 802.16: a technical overview of the Wireless MAN air interface for broadband wireless access”, IEEE communications magazine (2002).
[64] N. Dukkipati, M. Mathis, Y. Cheng, M. Ghobadi, “Proportional Rate Reduction for TCP”, ACM SIGCOMM, 2011.
[65] N. Dukkipati, T. Refice, Y. Cheng et al., “An Argument for Increasing TCP's Initial Congestion Window”, ACM SIGCOMM Computer Communications Review, vol. 40 (2010), pp. 27-‐33, 2010. [66] O. Mazahir, J. Padhye, W. Chan, R. Peon, R. Trace, S. Loreto, G. Montenegro, “HTTP 2.0 Principles for Flow Control”, IETF, draft-‐montenegro-‐httpbis-‐http2-‐fc-‐principles-‐01, (Dec. 2012).
[67] Omnet++ “www.omnetpp.org”
[68] Perez, Fabian Andre. "Security in current commercial wireless networks: A survey." School of Electrical and Computer Engineering, Purdue University West Lafayette (2004).
[69] R. Kohavi, and R. Longbotham, “Online experiments: Lessons learned”, IEEE Computer, 40(9), pp. 103-‐105, 2007. 127
[70] R. Secchi, A. Sathiaseelan, and G. Fairhurst, “Evaluating Web Traffic Performance over DVB-‐RCS2”, 4th ICST conference on Personal Satellite Services (PSATS), Mar. 2012, Bradford. [71] R. Shirey, “Internet security glossary”, Version 2, RFC4949 (Informational), 2007.
[72] Raymond, Jean-‐Fransico, and Anton Stiglic, “Security issues in the Diffie-‐Hellman key agreement protocol”, IEEE Transactions on Information Theory 22, pp. 1-‐17, (2000).
[73] Ruben Santamarta, “A Wake-‐up Call for SATCOM Security”, Technical White Paper, IOActive, 2014.
[74] S. Radhakrishnan, Y. Cheng, J. Chu, A. Jain, B. Raghavan, “TCP Fast Open”, CoNEXT, ACM, 2011. [75] Salam, A.A.; Luglio, M.; Roseti, C.; Zampognaro, F., “DVB-‐RCS security framework for ULE-‐ based encapsulation”, Wireless Communications and Mobile Computing Conference (IWCMC), 2013 9th International, vol., no., pp.131-‐136, 1-‐5 July 2013.
[76] Salam, A.A.; Luglio, M.; Roseti, C.; Zampognaro, F., “Resource Optimization Over DVB-‐RCS Satellite Links Through the Use of SPDY” 10th International Workshop on Resource Allocation, Cooperation and Competition in Wireless Network RAWNET/WNC3 2014, 25-‐29 May 2014, Hammamet, Tunisia.
[77] Salam, A.A.; Luglio, M.; Roseti, C.; Zampognaro, F., “SPDY Multiplexing Approach on Long-‐ latency Links” IEEE Wireless Communications and Networking Conference (WCNC), 2014, pp. 3492, 3497, 6-‐9 April 2014, Istanbul, Turkey.
[78] Salam, A.A.; Luglio, M.; Roseti, C.; Zampognaro, F., “SPDY over satellite: performance optimization through an end-‐to-‐end technology” 37th International Conference on Telecommunications and Signal Processing (TSP) 2014, 1-‐3 July 2014, Berlin, Germany.
[79] Sangtae Ha, Injong Rhee, and Lisong Xu, CUBIC ”A New TCP-‐Friendly High-‐Speed TCP Variant”, ACM SIGOPS Operating System Review, Volume 42, Issue 5, July 2008, pp. 64-‐ 74, 2008
[80] SatLabs System Recommendations, http://www.satlabs.org.
“Quality
of
Service
Specifications”,
[81] Sheffer, Y., et al. “An EAP authentication method based on the encrypted key exchange (EKE) protocol” RFC 6124, Zhou, et al. Expires January 16, 2014 [Page 78] TEAP July 2013 February 2011.[RFC6678. 2011].
[82] T. C. Hong, W. T. Chee, R. Budiarto,“A Comparison of IP Datagrams Transmission using MPE and ULE over MPEG-‐2/DVB Networks”, (ICICS 2005), 2005. [83] T. Dierks, C. Allen, “The TLS Protocol -‐ Version1.0”, IETF RFC 2246, January 1999.
[84] T. Ylonen, C. Lonvick, “The Secure Shell (SSH) Transport Layer Protocol”, RFC 4253, Jan 2006. [85] Van De Zande, Paul. “The Day DES Died”, SANS Institute, July (2001). 128
[END-‐TO-‐END SECURITY AND RESOURCE OPTIMIZATION FOR BROADBAND SATELLITE NETWORKS] Bibliography
[86] W. Sun, “DVB-‐S2”, Incospec Seminar 2010, available http://www.incospec.com/resources/downloads/CTID2010/Files/DVB-‐ S2%20at%20Incospec%20Seminar.pdf, (accessed Sept 2014).
at:
[87] VMware, VMware vSphere Hypervisor, http://www.vmware.com/products/ vSphere-‐ hypervisor/overview.html, US.
[88] Xu, Sen, and Chin-‐Tser Huang, “Attacks on PKM protocols of IEEE 802.16 and its later versions” In Wireless Communication Systems, ISWCS'06 3rd International Symposium on, pp. 185-‐189, IEEE, 2006.
129
View more...
Comments