Analysis and design of parallel processing compatible DTLS modules for heterogeneous platforms

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Ask about the availability of the thesis by sending email to the Aalto University Learning Centre oppimiskeskus@aalto.fi
Date
2017-06-12
Department
Major/Subject
Software Systems and Technologies
Mcode
SCI3042
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
68
Series
Abstract
The Internet has become an important part of our daily lives, and more and more devices are connected to the Internet. Securing the data which is transported over the network is an important aspect, which can increase operating costs of network operators. For this reason, efficient and cost-effective algorithms which can do data encryption and decryption fast on a commodity hardware efficiently are desirable. Cost-effective are especially important when moving to virtualized environments because they are virtually always run on top of commodity hardware. The goal of this thesis is to investigate how to implement datagram over transport layer security(DTLS) protocol by using Intel’s data plane development kit (DPDK) in such way, that it can be parallelized and is scalable by using task and instruction level parallelism. In an ideal scenario, this implementation should linearly scale up when more pipelines are added to the system. As a result, we describe the full architecture of the DPDK DTLS pipeline to achieve this goal. This pipeline is then compared to the baseline implementation which uses traditional Linux kernel networking stack. OpenSSL implements the crypto operations, and we will find out by experimenting, that newer GCM mode has superior performance compared to the older CBC mode. In fact, there is not much difference in CBC performance when comparing the DPDK and baseline implementations. As a result, we get efficient DTLS pipeline which can break a million packets per seconds limit in some of the test scenarios.

Internetin tärkeys kasvaa vuosi vuodelta ja siitä tulee yhä suurempi osa päivittäistä elämäämme. Tämän lisäksi, Internettiin liitettyjen laitteiden määrä kasvaa jatkuvasti. Internetin yli kulkevan liikenteen salaus tulee myös yhtä tärkeämmäksi, sillä herkkäluontoisen tiedon määrä myös lisääntyy. Haittapuolena tietoliikenteen salaus ei kuitenkaan ole ilmaista ja se helposti nostaa verkkolaitteiden operaattoreiden kustannuksia. Tämän vuoksi tehokas tapa salata liikennettä tavallisella, loppukäyttäjille suunnatulla edullisella laitteistolla on tulevaisuuden suunta. Tästä tulee erityisen tärkeää, kun siirrytään virtualisoituihin ratkaisuihin koska ne yleensä aina toimivat samankaltaisilla laitteistoilla joita on saatavana loppukäyttäjille. Tämän diplomityön tarkoituksena on tutkia miten toteuttaa edellä mainitun kaltainen tehokas toteutus datagram over transport layer security (DTLS) protokollasta käyttämällä käsky sekä tehtävä -tason rinnakkaistusta. Paras mahdollinen toteutus olisi sellainen, joka skaalautuisi lineaarisesti, kun liukuhihnoja lisätään järjestelmään. Tämän työn tuloksena kuvaamme arkkitehtuurin, jolla DTLS protokolla toteutettiin käyttäen DPDK kirjastoa. Tätä toteutusta verrataan palvelin – asiakas toteutukseen joka on toteutettu perinteisellä tavalla. Salaus toteutetaan molemmissa tapauksissa hyödyntäen OpenSSL kirjastoa, josta vertaamme kahta eri salaus moodia, CBC sekä GCM -moodeja. Testeissä käy selväksi, että uudempi GCM moodi on ylivertainen nopeudessaan sekä tehokkuudessaan verrattuna vanhempaan CBC moodiin. Diplomityön tuloksena syntynyt DPDK liukuhihna on erittäin suorituskykyinen ja kykenee purkamaan salauksen tai salaamaan yli miljoona pakettia sekunnissa joissain testitapauksissa.
Description
Supervisor
Hirvisalo, Vesa
Thesis advisor
Haldin, Joakim
Keywords
DTLS, DPDK, AES, GCM, CBC, OpenSSL
Other note
Citation