Belangrijke voordelen van cloud zijn schaalbaarheid, bereikbaarheid, en kostenbesparing. Toch zijn cloud diensten niet populair bij veel bedrijven. Niet alleen vanwege beperkende wetgeving zoals de Patriot Act, maar ook het eenvoudige besef dat data overal ter wereld opgeslagen kan zijn is voor veel bedrijven een onprettig idee. De veiligheid van informatie in de cloud kan zo niet gecontroleerd en gegarandeerd worden. Jammer en onnodig.
Er zijn verschillende oplossingen bedacht om veilig van de cloud gebruik te maken. Private cloud adverteert de voordelen van traditionele cloud oplossingen maar dan met de veiligheid van oude oplossingen. Hoewel private cloud op dit moment een goede keuzemogelijkheid is, kan deze vorm de voordelen van schaalvergroting niet optimaal benutten en is daarom een duur alternatief.
Door deze beperkingen breken cloud services niet door bij grote bedrijven. Er wordt terecht gevreesd voor verschillende bedreigingen die de vertrouwelijkheid van informatie schenden. Hoewel er initiatieven bestaan om veilig van cloud applicaties gebruik te kunnen maken, bestaat er nog geen architectuur die gemeengoed is. Dat geeft kansen om hierin mee te denken.
Behalve de opkomst van cloud, worden webtechnologieën ook steeds geavanceerder. Twee ontwikkelingen die hand in hand gaan. Zo zijn bekende cloud applicaties zoals Office 365 of Google Docs toegankelijk via een web browser. Toch hebben al deze applicaties een groot gebrek: er zijn geen garanties voor de veiligheid van de informatie omdat data niet op de client, maar pas op de server versleuteld wordt. Cloud service providers hebben daarom inzicht in jouw data. Geen prettig idee.
Een nieuwe architectuur
Voor al deze problemen stel ik een oplossing voor: de Secure Cloud Application Architecture (SCAA). Een architectuur om de voordelen van public cloud te benutten. In deze oplossing wordt cloud alleen gebruikt voor opslag van versleutelde data en applicaties. Een client - bijvoorbeeld je laptop of tablet - kan deze versleutelde gegevens opvragen en ontsleutelen. De ontsleutelde applicatie kan worden uitgevoerd en de bijbehorende data ingeladen. Met dit ontwerp worden de voordelen van cloud optimaal benut en tegelijkertijd blijft de controle op informatiebeveiliging in handen van de eigenaar van deze informatie.
Verschillende trends op het gebied van encryptie en webtechnologie maken het mogelijk om applicaties volgens deze nieuwe architectuur te ontwerpen. Deze ontwikkelingenwil ik hier kort bespreken.
Encryptie
Door data te versleutelen wordt deze onleesbaar voor derden. Het principe van de voorgestelde architectuur is gestoeld op de gedachte dat versleutelde data waardeloos is zonder sleutel. Het maakt niet uit wie deze versleutelde data bezit. Zolang alleen de eigenaar van deze data de sleutels heeft blijft de vertrouwelijkheid van de informatie gewaarborgd.
Uit dit principe vloeit een nieuwe manier van access management. Niet langer wordt de toegang tot de data zelf afgeschermd, maar de toegang tot de informatie die in deze data aanwezig is. Door multi-level encryption kan access control op encryptieniveau tot stand worden gebracht. Met deze techniek kan één applicatiepakket verzonden worden naar de eindgebruiker. Vervolgens worden op basis van de aangeleverde sleutel, alleen die delen ontsleutelt waartoe de betreffende persoon toegang heeft. Hetzelfde principe gaat op voor opgeslagen gegevens. Een gebruiker zal minder gegevens zien na het ontsleutelen dan zijn manager. Technieken die deze of vergelijkbare functionaliteit bieden zijn bekend onder namen als Cryptographic Access Control (CAC) of Attribute-Based Encryption (ABE).
Ondanks dat het niet erg is dat versleutelde data in het bezit komt van de ‘verkeerde’ personen, is het niet wenselijk om alle versleutelde data te ontvangen als je alleen je eigen data nodig hebt. Daarom moeten cloud servers behalve voor dataopslag, ook zorgen voor functionaliteit die efficiënte voorselectie mogelijk maakt. Dit kan door gebruik te maken van technieken voor het zoeken in versleutelde data; algoritmes die het mogelijk maken om te zoeken in versleutelde data zonder dat de uitvoerder van deze zoekopdracht kan weten naar welke ontsleutelde data gezocht wordt. Door deze beperkingen levert een zoekopdracht vaak niet exact het resultaat waar de gebruiker naar op zoek is. In dat geval zal een stukje middleware de traditionele database verzoeken moeten splitsen in twee delen. Een deel dat versleutelde data inlaad, en een deel dat na ontsleutelen de laatste selecties kan doen. Op deze manier kunnen veilig en snel cloud-oplossingen gebruikt worden.
Web Technologie
De ontwikkelingen op het gebied van webtechnologie gaan hard. Omdat steeds meer webbrowsers html5 ondersteunen is het mogelijk om legio applicaties in de browser te draaien. We zien een trend dat steeds meer traditionele desktop applicaties - zoals Office, muziek spelers, VoIP en zelfs 3D games - verhuizen naar het web.
Verder komen door technieken als de Web SQL Database of HTML5 Web Storage, steeds meer functies die eerder alleen op servers te vinden waren, beschikbaar voor de client. Ook kan de performance van moderne webbrowsers ingezet worden om data te versleutelen en te ontsleutelen. Beide zijn essentieel in SCAA.
Afwegingen
De nadelen kunnen niet onbenoemd blijven. Een belangrijk nadeel is dat er op dit moment geen ontwikkeltools zijn die ondersteuning bieden om software volgens de beschreven architectuur te ontwikkelen. Hoewel SCAA optimaal gebruik maakt van bestaande middelen en infrastructuren, is de architectuur dermate afwijkend van huidige standaarden dat goede ontwikkeltools ontworpen moet worden.
Een ander kritiekpunt van het voorgestelde ontwerp kan zich richten op de principes: de veronderstelling dat versleutelde data in ieders bezit mag komen. Veel oude versleutelingalgoritmes zijn onveilig gebleken, en het risico bestaat dat encryptie algoritmen die op dit moment veilig worden geacht, dat in de toekomst niet meer zijn. Hoewel moderne encryptie algoritmen mogelijk nog zo'n tien jaar niet gekraakt kunnen worden, blijft dit risico de belangrijkste afweging voor toepassing van de architectuur.
Conclusie
Om veilig van de cloud gebruik te maken moet de sleutel voor decryptie nooit bij de cloud provider, maar alleen bij de eigenaar van de informatie liggen. Behalve voor gegevens, geldt dit ook voor cloud applicaties. Applicaties zijn beschermingswaardig vanwege intellectueel eigendom en het 'security by obscurity'-principe. In de nieuwe architectuur worden versleutelde gegevens en applicaties uit de cloud gedownload, en pas op een client ontsleuteld, en uitgevoerd of geladen met de nieuwste webtechnologieën.
Hoewel veiligheid vandaag vaak de reden is om niet naar cloud over te stappen, zal veiligheid de reden worden om juist wel naar cloud over te stappen. Cloud biedt ongekende mogelijkheden om de integriteit en beschikbaarheid van data te garanderen. Zo geeft een cloud architectuur een betere bescherming tegen DDoS aanvallen; zeker nu heel actueel. Encryptie zorgt vervolgens voor de benodigde vertrouwelijkheid van informatie. Cloud maakt het mogelijk om krachten te bundelen en weerstand te bieden tegen toekomstige risico’s.
Bedrijven laten de mogelijkheden die cloud biedt grotendeels onbenut. Begrijpelijk kijkende naar de huidige software architecturen. Jammer, gezien de - letterlijk - onbegrensde mogelijkheden. De voorgestelde Secure Cloud Application Architecture (SCAA) levert een bijdrage aan de toekomstige ontwikkeling van cloud services.