Return to search

Enclave Host Interface for Security

Secure enclave technology has during the last decade emerged as an important hardware security primitive in server computer cores, and increasingly also in chips intended for consumer devices like mobile phones and PCs. The Linux Confidential Compute Consortium has taken a leading role in defining the host APIs for enclave access (e.g. OpenEnclave APIs). Earlier solutions for security isolation in mobile phones relied on so called Trusted Execution Environments, which are similar in hardware isolation, but serve primarily OEM device security use-cases, and the environments are access controlled by remote trust roots (code signatures). This thesis examines the security requirements for enclaves, visible through APIs and SDKs. An augmented IDE / SDK interface that accounts for security, including legacy considerations present with TEEs is also proposed. This thesis also attempts to improve developer experience related to development of trusted application by providing a tight integration with IDE and an expressive way to select methods which can be carved out of an existing rust application into a seperate trusted application. Furthermore, this thesis also discusses some common pitfalls while developing code for trusted applications and attempts to mitigate several of the discussed risks. The work plan includes a background study on existing TEE and enclave SDKs, a novel SDK augmentation that accounts for the features listed above, and a prototype implementation that highlights the enclave security needs beyond mere isolated execution. An IDE plugin is also implemented, that exemplifies how software engineers (with potentially limited security knowledge) can implement a trusted application service with enclave support such that the end result (enclave code) will run without information leakage or interface security problems. / Säker enklavteknologi har under S senaste decenniet framstått som en viktig hårdvarusäkerhets primitiv i serverdatorkärnor och i allt högre grad även i chips avsedda för konsumentenheter som mobiltelefoner och datorer. Linux Confidential Compute Consortium har tagit en ledande roll i att definiera värdAPI:erna för enklavåtkomst (t.ex. OpenEnclave APIs). Tidigare lösningar för säkerhetsisolering i mobiltelefoner förlitade sig på så kallade Trusted Execution Environments, som liknar hårdvaruisolering, men som i första hand tjänar OEMenhetssäkerhetsanvändning, och miljöerna är åtkomstkontrollerade av fjärrstyrda förtroenderötter (kodsignaturer). Denna avhandling undersöker säkerhetskraven för enklaver, synliga genom API:er och SDK:er. Ett utökat IDE/SDK-gränssnitt som står för säkerhet, inklusive äldre överväganden som finns med TEE, föreslås också. Detta examensarbete försöker också förbättra utvecklarupplevelsen relaterad till utveckling av betrodda applikationer genom att tillhandahålla en tät integration med IDE och ett uttrycksfullt sätt att välja metoder som kan skäras ut ur en befintlig rostapplikation till en separat betrodd applikation. Dessutom diskuterar denna avhandling också några vanliga fallgropar samtidigt som man utvecklar kod för betrodda applikationer och försöker mildra flera av de diskuterade riskerna. Arbetsplanen inkluderar en bakgrundsstudie av befintliga TEE- och enklav-SDK:er, en ny SDK-förstärkning som står för funktionerna som anges ovan, och en prototypimplementering som belyser enklavens säkerhetsbehov utöver enbart isolerad exekvering. En IDE-plugin är också implementerad, som exemplifierar hur mjukvaruingenjörer (med potentiellt begränsad säkerhetskunskap) kan implementera en betrodd applikationstjänst med enklavstöd så att slutresultatet (enklavkoden) kommer att köras utan informationsläckage eller gränssnittssäkerhetsproblem.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-322698
Date January 2022
CreatorsSinha, Anmol
PublisherKTH, Skolan för elektroteknik och datavetenskap (EECS)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationTRITA-EECS-EX ; 2022:746

Page generated in 0.2024 seconds