FPGA implementation of confidential computing enclave

Loading...
Thumbnail Image

URL

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