FPGA implementation of confidential computing enclave

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu | Master's thesis
Date
2024-03-11
Department
Major/Subject
Micro- and Nanoelectronic Circuit Design
Mcode
ELEC3036
Degree programme
Master’s Programme in Electronics and Nanotechnology (TS2013)
Language
en
Pages
56
Series
Abstract
The use of cloud computing resources has continued to rise over the last decade. Cloud computing enables the use of efficient distributed services. However, data confidentiality cannot be guaranteed in currently used cloud systems shared between different parties. Data confidentiality cannot be guaranteed since the cloud systems use Central Processing Units (CPU) and program code that have well known vulnerabilities. This thesis studies a confidential computing enclave implementation on a Field-Programmable Gate Array (FPGA) that may be a cloud resource. This solution enables performing remote computation securely in an isolated enclave. The studied solution enables a client to upload its data and program code to an enclave securely over the internet. The data is then processed in the secure enclave and the result can only be read by the client. The aim of this thesis is designing and implementing a Proof Of Concept (POC) FPGA confidential computing enclave. The POC is designed utilizing two pre-existing company intellectual property solutions a Transmission Control Protocol / Internet Protocol (TCP/IP) software stack to establish internet connectivity and a Transport Layer Security (TLS) module to establish secure communication. In this thesis an enclave module and a connection controller module are designed and implemented using SystemVerilog Hardware Description Language (HDL). The expected behavior of the designed modules is verified with simulation. Furthermore, the enclave functionality is verified and demonstrated by programming it on an FPGA and communicating with the enclave over a Local Area Network (LAN) using a computer. The POC implementation is deemed successful and feasible to implement in a technical sense. The POC architecture is estimated to be similar to the state-of-the-art and in comparison implements the TLS 1.3 protocol.

Pilvilaskentaresurssien käyttö on lisääntynyt tasaisesti viimeisen vuosikymmenen aikana. Pilvilaskenta mahdollistaa tehokkaiden hajautettujen palveluiden käytön. Tiedon luottamuksellisuutta ei kuitenkaan voida taata nykyisissä pilvilympäristöissä, joissa resursseja jaetaan eri tahojen kesken. Luottamusta ei voida taata, koska pilvipalvelut käyttävät prosessoreita ja ohjelmistoja, joissa on todettu haavoittuvuuksia. Tämä työ tutkii luottamuksellisen laskentaympäristön toteuttamista FPGA-piirille, joka voi sijaita pilvipalvelussa. Tätä ratkaisua käyttäen etälaskennasta voidaan tehdä turvattua eristetyssä enklaavissa. Työssä tutkittavan ratkaisun avulla asiakas voi lähettää internetin välityksellä enklaaviin dataa ja ohjelmakoodia luottamuksellisesti. Suojatussa enklaavissa data prosessoidaan ja vain asiakas pääsee lukemaan lopputuloksen. Tämän diplomityön tavoitteena on suunnitella ja toteuttaa konseptintodistus (POC) luottamuksellisesta laskentaympäristöstä FPGA-piirille. Konseptintodistus hyödyntää kahta olemassa olevaa Xipheran ratkaisua: TCP/IP-ohjelmaa internetyhteyden saavuttamiseen ja TLS-moduulia kommunikaation salaamiseen. Työssä suunnitellaan ja toteuteaan enklaavimoduuli ja yhteydenhallintamoduuli käyttäen SystemVerilog-laitteistokuvauskieltä (HDL). Työssä suuniteltavien moduulien odotettu toiminta todennetaan simuloimalla. Lisäksi kokonaisuuden toiminta todennetaan ja demonstroidaan ohjelmoimalla se FPGA-piirille ja kommunikoimalla enklaavin kanssa tietokoneella lähiverkossa (LAN). Konseptintodistuksen toteutus todetaan onnistuneeksi ja sen käyttö teknisesti käyttökelpoiseksi. Konseptintodistuslaitteen arkkitehtuuri arvioidaan samankaltaiseksi alan viimeisimmän kehityksen kanssa, johon verrattuna tässä työssä hyödynnetään TLS 1.3 -protokollaa.
Description
Supervisor
Ryynänen, Jussi
Thesis advisor
Järvinen, Kimmo
Jehkonen, Petri
Keywords
FPGA, TLS, enclave, TEE
Other note
Citation