< Terug naar vorige pagina

Project

Implementatie-efficiëntie en gegevensbeveiliging voor de cloud

Software ontwikkelaars worden echter geconfronteerd met verschillende uitdagingen. Eerst, het elastisch schalen van computer resources, zoals containers, veroorzaakt niet te verwaarlozen vertragingen, ook bekend als cold start, deze vertragingen hinderen een flexibele en snelle grootschalige implementatie van software services. Dit probleem stelt zich vaak bij serverless computing, en meer algemeen bij systemen die automatisch schalen, voor toepassingen met op deadlines gebaseerde service-level objectives (SLO's). Er zijn veel technieken voor het instantiëren van resources met lage latentie in verschillende lagen van de infrastructuur. De bestaande oplossingen voor cold start in Kubernetes, de de facto standaard in container orkestratie, zijn echter nog steeds niet in staat om het cold start probleem volledig te verhelpen. Ten tweede vereisen gedistribueerde en rekenintensieve applicaties, met name engineering workflows, op maat gemaakte en reproduceerbare implementaties om de uitvoeringstijd in de cloud te verkorten. De uitvoering van deze klasse van applicaties kan dagen duren, maar de juiste samenstelling van cloud resources kan de doorlooptijd mogelijks tot minuten terugbrengen. Het is echter niet triviaal voor technische domeinexperts om vooraf de hoeveelheid en het type van de vereiste cloud resources te bepalen en kosteneffectieve beslissingen te nemen voor toekomstige iteraties van hun implementaties. Ten derde zijn de cryptografische technieken voor zoeken en rekenen op versleutelde gegevens in de cloud divers in termen van beveiliging, prestaties en expressiviteit van zoekopdrachten. Bovendien zijn de onderliggende concepten en implementatie details van deze schema's vaak ingewikkeld voor applicatieontwikkelaars. Naast het foutgevoelige proces voor het selecteren van een schema, is de integratie van deze gegevensbeschermingstechnieken in heterogene en polyglot software, b.v. microservice-architecturen, een niet-triviale taak voor beveiligingsexperts. Ten slotte is de mogelijkheid om cryptografische schema's in deze omgeving in te pluggen een belangrijk aspect, aangezien er regelmatig nieuwe cryptografische constructies met nieuwe eigenschappen worden ontwikkeld. Deze problemen vereisen een zekere mate van cryptografische agility.

Het doel van dit proefschrift is om de bovengenoemde uitdagingen aan te pakken, om zo het proces van het uitbesteden van berekeningen naar de cloud te vergemakkelijken via efficiënte implementaties, en om gegevens pragmatisch op te slaan in de cloud met behulp van geavanceerde beveiligingen. Om dit te bereiken, zijn onze bijdragen drieledig: (i) we presenteren en evalueren drie benaderingen om de latentie bij cold start tijdens elastische schaling van containers in Kubernetes te verminderen. Om dit te bereiken, presenteren we verschillende technieken, zoals het delen van software bibliotheken, het proactiev aanmaken van netwerkbronnen en het toepassen van imperatief configuratiebeheer, dit laatste is in tegenstelling tot het bestaande declaratieve configuratie mechanisme van Kubernetes. (ii) We presenteren Infra Composer, een beleidsgestuurde middleware die slimme en adaptieve workflow-implementatie in de cloud automatiseert, gebruikmakend van domeinspecifieke kennis over de tools die bij de workflows betrokken zijn. Het stelt verder de implementatieplannen opnieuw samen op basis van het schaalingsbeleid en de uitvoeringsgeschiedenis van de toepassing om zo efficiëntere en snellere uitvoeringen te bekomen. Tot slot (iii) presenteren we DataBlinder, een gedistribueerde middleware voor gegevenstoegang die de complexiteit van de beveiligingstactieken inkapselt om zoeken en berekeningen op versleutelde gegevens mogelijk te maken. Het stelt software service providers in staat om op een veilige en configureerbare manier gevoelige en niet-gevoelige gegevens uit te besteden aan de cloud. De middleware-architectuur is uitbreidbaar om beveiligingsexperts in staat te stellen nieuwe tactieken op te nemen en beveiligingsbeleid te bieden, daarnaast stelt DataBlinder de ontwikkelaars in staat om het vereiste beveiligingsniveau te selecteren door middel van bepaalde abstracties.

De bijdragen zijn gebaseerd op verschillende toepassingsgebieden zoals luchtvaart, financiën en gezondheidszorg. We hebben onze resultaten gevalideerd en geëvalueerd. Dit proefschrift laat zien hoe deze contributies de bovengenoemde uitdagingen effectief aanpakken. Ten slotte schetst het proefschrift mogelijke richtingen om verder te gaan dan de beperkingen van de gepresenteerde bijdragen.

Datum:23 sep 2016 →  18 nov 2021
Trefwoorden:software engineering, middleware, security, cloud computing
Disciplines:Systeemsoftware en middleware, Cloud computing, Gedistribueerde systemen, Software engineering, Cryptografie, privacy en beveiliging, Distributed computing
Project type:PhD project