Hálózatbiztonsági protokollok támogatása párhuzamos architektúrákon

OData támogatás
Konzulens:
Dr. Holczer Tamás
Hálózati Rendszerek és Szolgáltatások Tanszék

Napjainkban az internet mérete napról napra nő, az egyes szolgáltatóknak folyamatosan egyre nagyobb forgalmat kell lebonyolítaniuk. Bár gyakran a felhasználók által is nagy igény van biztonsági protokollok alkalmazására, ide tartozik például a hivatalos szervekkel vagy bankokkal történő kommunikáció, manapság már a szolgáltatók is egyre inkább preferálják a védett kapcsolatok használatát. A szolgáltató igényeit azonban jóval nehezebb kielégíteni, hiszen nekik egy-egy csomópontban több ezer, viszonylag hosszú ideig létező adatfolyamra kell biztonsági protokollokat biztosítani. Az alapprobléma tehát az, hogy miként vagyunk képesek egyszerre nagy mennyiségű kapcsolatra a magas erőforrás-igényű biztonsági algoritmusokat egyidejűleg alkalmazni. Ezért merült fel az adatfolyamok párhuzamos feldolgozásának lehetősége.

Szakdolgozatomban különböző architektúrákon vizsgálok két gyakorlatban is elterjedt kriptográfiai algoritmust, az Advanced Encryption Standard-et és a Secure Hash Algorithm-t. Azért ezeket az algoritmusokat választottam, mert a legtöbb ma használatos kriptográfiai protokoll ezekre alapul. Először mélyebben megismerkedtem a használt algoritmusokkal, azok felépítésével és elterjedt implementációival. Elvégeztem az algoritmusok teljesítményelemzését hagyományos CPU-n, amely referenciaként szolgál a további mérésekhez.

Ezt követően meglévő és saját implementációk útján megvizsgáltam az algoritmusok párhuzamos végrehajtásának lehetőségét GPU-kon. Az eredetileg grafikus megjelenítésre használt eszközök manapság már általános céllal is programozhatóak, és a masszívan párhuzamos belső felépítésük miatt érdemes őket megvizsgálni, hogy milyen teljesítményt érhetünk el az adott algoritmusok használatával. Elvégeztem két különböző, magas teljesítményű GPU-n a teljesítményméréseket, összevetettem az eredményeket a CPU-val és meghatároztam a potenciális erősségeit, valamint gyenge pontjait az architektúrának. Ezen felül elkészítettem egy szerver-kliens alkalmazáspárt, amelyek képesek a két architektúra előnyeit ötvözni, és egy való életben is alkalmazható, biztonsági protokollokkal védett kommunikációt megvalósítani.

A harmadik vizsgált architektúra egy speciális célhardver, egy úgynevezett packet processor volt. Ezt kifejezetten nagy mennyiségű hálózati adatfolyam feldolgozására tervezték, azaz az alapproblémánk szempontjából ideális eszköz. Elvégeztem az említett algoritmusok implementációját erre az architektúrára a hardver sajátosságait figyelembe véve, és összevetettem az eredményeket a CPU-val. Levontam a következtetéseket, megállapítottam a különböző architektúrák előnyeit és hátrányait a biztonsági algoritmusok párhuzamos végrehajtásának szempontjából, és ajánlásokat fogalmaztam meg a valós életbeli alkalmazásokhoz.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.