Performance Analysis of Proxy Based Encrypted Communication in Iot Environments
Total Page:16
File Type:pdf, Size:1020Kb
Master of science in Electrical Engineering with emphasis on Telecommunication Systems October- 2017 Performance analysis of Proxy based encrypted communication in IoT environments Security and Privacy ~ Distributed systems security Budda Shiva Tarun Faculty of Computing Blekinge Institute of Technology SE-371 79 Karlskrona Sweden This thesis is submitted to the Faculty of Computing at Blekinge Institute of Technology in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering with emphasis on Telecommunication Systems. The thesis is equivalent to 20 weeks of full time studies. Contact Information: Author(s): Budda Shiva Tarun E-mail: [email protected] [email protected] University advisor: Dr. Dragos Ilie Assistant Professor of Telecommunication Systems Department of Computer Science and Engineering University Examiner: Dr. Adrian Popesco Professor of Telecommunication Systems Faculty of Computing Internet : www.bth.se Blekinge Institute of Technology Phone : +46 455 38 50 00 SE-371 79 Karlskrona, Sweden Fax : +46 455 38 50 57 i ABSTRACT Context: The Internet of Things is an emerging technology which has made our life easier. IoT refers to network of the physical devices that are reachable over Internet. IoT environment use Low power wireless Private Area Network (6LOWPAN) which enables IoT devices to interoperate in a standard way. Security among these devices is an important concern that needs to be addressed. There is no standard way to protect end-to-end communication among IoT devices. The major drawback of the IoT devices is that they are resource constrained and are unable to run the fully featured IP stack. To address this, IETF defined Constrained Application Protocol(COAP) that includes HTTP functionalities. Datagram Transport Layer Security (DTLS) can protect the COAP traffic. There are other solutions based on the IPsec and Host Identity protocol(HIP). This thesis focusses on the performance evaluation of spliced TLS/DTLS and IPsec/DTLS protocols in an IoT environment. Objectives: The objectives of this research are: To implement proxy-based security protocols (for example, TLS, DTLS and IPsec) in an emulated IoT environment. To extract performance metrics such as CPU Utilization, memory utilization, elapsed time, network overhead for spliced TLS/DTLS, spliced IPsec/DTLS, spliced TLS/plain, Spliced IPsec/plain. Compare spliced TLS/DTLS, spliced IPsec/DTLS based on protocol features and statistical analysis of the data. Methods: A virtual network is set up in the Linux kernel which consists of the server, client and the border router. 6LoWPAN devices are emulated in the Linux kernel in separate namespace where COAP servers are deployed. A HTTP-COAP proxy is deployed on the border router which is also emulated in the separate namespace. The TLS client in the global namespace invokes the server methods (GET, POST, PUT) for an operation to be performed. Secure communication is established among these devices using the TLS/DTLS, IPsec/DTLS protocols. Tests are performed by implementing TLS/DTLS, IPsec/DTLS various performance metrics like CPU utilization, memory utilization, network overhead, elapsed time are calculated for the various tests that are considered. Statistical analysis is done the performance metrics that are considered. Results: Based on the tests performed and the performance metrics extracted, statistical analysis is done. CPU Utilization, Memory Utilization, Network Overhead and elapsed time for spliced TLS/DTLS, spliced IPSec/DTLS, spliced TLS/Plain, Spliced IPSec/DTLS are calculated respectively and the corresponding graphs are plotted to give the better picture visually. Limitations of implementing the spliced protocols in the constrained devices are provided. Conclusions: From this research based on the limitations and implementation of protocols TLS/DTLS protocols has better performance in terms of CPU Utilization, memory utilization, network overhead when compared to the spliced IPsec/DTLS Keywords: DTLS, IoT, IPsec, Performance, Security. ACKNOWLEDGEMENTS I would like to express my gratitude to my supervisor Dr. Dragos Ilie for his support and encouragement during the entire course work. It was a great experience to work under his supervision. His immense knowledge and constant supervision makes him a great teacher. I would like to thank Dr. Adrian Popescu for conducing and managing this course efficiently. I would also like thank my partner Kuna Vignesh for the constant support and encouragement during the course work. He stood on behalf of me in the hard times which I faced during this thesis work. I am very grateful to my parents and my brother for the constant support and encouragement. They thought me the value of the hard-work, Discipline in my life. Without their encouragement and motivation, I may not be here today. I would like to extend my deep sense of gratitude to all my friends and the faculty of the BTH. Lastly, I would like to thank the almighty for blessing with good health during my stay in the Sweden. Contents ABSTRACT ...........................................................................................................................................I ACKNOWLEDGEMENTS ................................................................................................................ II LIST OF FIGURES ............................................................................................................................. V 1 INTRODUCTION ....................................................................................................................... 1 1.1 INTERNET OF THINGS ............................................................................................................. 1 1.2 SECURITY IN IOT.................................................................................................................... 3 1.3 PRIVACY ................................................................................................................................ 4 1.4 IOT SECURITY FRAME WORK ................................................................................................ 4 1.5 IOT NETWORK MODEL .......................................................................................................... 5 1.6 MOTIVATION ......................................................................................................................... 5 1.6.1 Problem Statement ............................................................................................................ 5 1.6.2 Aims and Objectives.......................................................................................................... 6 1.6.3 Research Questions........................................................................................................... 6 1.7 OUTLINE OF DOCUMENT ........................................................................................................ 7 1.8 SPLIT OF WORK ..................................................................................................................... 7 2 STATE OF ART .......................................................................................................................... 9 3 BACKGROUND ........................................................................................................................ 18 3.1 LOW POWER WIRELESS PRIVATE AREA NETWORK (6LOWPAN) ........................................ 18 3.1.1 Headers ........................................................................................................................... 18 3.1.2 Addressing Format ......................................................................................................... 19 3.1.3 Routing ............................................................................................................................ 20 3.2 CONSTRAINED APPLICATION PROTOCOL (COAP) ............................................................... 20 3.2.1 Message ID ..................................................................................................................... 20 3.2.2 Request and Response ..................................................................................................... 21 3.2.3 Piggy backed Response ................................................................................................... 21 3.2.4 Separate Response .......................................................................................................... 21 3.2.5 GET ................................................................................................................................. 21 3.2.6 POST ............................................................................................................................... 22 3.2.7 PUT ................................................................................................................................. 22 3.2.8 DELETE .......................................................................................................................... 22 3.2.9 Message Format ............................................................................................................. 22 3.2.10 Option Values ............................................................................................................. 23 3.2.11 Message Translation .................................................................................................. 24 4 SECURITY PROTOCOLS ......................................................................................................