Microsoft gebruikt Trusted Computing (TC) voor zijn BitLocker-encryptie in Windows Vista en Windows 7, en ook sommige vingerafdruklezers op Dell-laptops maken gebruik van de technologie, maar tot nu toe bleven die toepassingen beperkt tot specifieke applicaties. Het is dan ook op zijn zachtst gezegd verbazend dat de eerste volledige ondersteuning op het niveau van het besturingssysteem verschijnt in een Linux-distributie. Dat het om openSUSE 11.2 van Microsofts partner Novell gaat, is dan weer niet zo verrassend.

De Trusted Computing technologie gebruikt zowel hardware als software om een veilige omgeving aan te bieden. Aan de hardwarekant is er de Trusted Platform Module (TPM), een chip die cryptografische sleutels genereert en beheert, de identiteit van een computer verifieert en (al dan niet criminele) aanpassingen aan software kan tegengaan. In de VS vereisen het leger en het Department Of Defense sinds enkele jaren dat alle laptops die ze aankopen een TPM-chip hebben. Door die hardwarekant kan een computer met TPM-chip, vanaf het moment dat de stroom wordt ingeschakeld, zichzelf verifiëren en afdwingen dat er alleen vertrouwde software op mag draaien.

Slapende chip

Heel wat computers hebben al een TPM-chip ingebouwd, maar die is dan niet geactiveerd. Zonder ondersteuning in de software doet de hardware immers niets. De Oostenrijkse technologiegroep Technikon leidt een consortium van 23 onderzoeksinstellingen en bedrijven, waaronder AMD, IBM, HP en Novell, om een open source softwarestack te ontwikkelen voor Trusted Computing omgevingen: OpenTC. Het geheel werd gesubsidieerd door de Europese Unie in het Zesde Kaderprogramma.

Het resultaat is nu te vinden in OpenSUSE 11.2. Hierdoor is OpenSUSE het eerste besturingssysteem, zelfs vóór Windows, dat volledige ondersteuning voor Trusted Computing heeft. Als onderdeel van het OpenTC-project werd immers een volledige trusted softwarestack ontwikkeld, ondersteuning in de Xen-hypervisor en beheersoftware voor Trusted Computing en de TPM-chip. Ondersteuning in de Linux-kernel voor de chip was er al langer.

Bescherming tegen virussen

Het persbericht van het OpenTC-project heeft het natuurlijk over de voordelen van trusted computing en wuift de nadelen weg. Laten we het dus eerst over die voordelen hebben. Trusted computing kan allereerst online transacties geverifieerd en veilig uitvoeren, denk bijvoorbeeld aan online banking. Een volgende mogelijkheid is het compartimenteren van privé- en werkgebruik op dezelfde computer, zodat je baas geen toegang heeft tot je vakantiefoto's en de bedrijfsinformatie op je computer op geen enkele manier toegankelijk is voor je kinderen die er games op spelen. OpenTC heeft voor beide toepassingen een proof of concept ontwikkeld.

Het compartimenteren kan ook verder uitgewerkt worden in datacentra, om sterk van elkaar gescheiden virtuele machines aan te bieden. IBM heeft dit als onderdeel van het OpenTC-project al uitgevoerd. Een nieuw project in de OpenTC-stal wil deze mogelijkheden uitbreiden naar cloud computing, waar het misschien geen overbodige luxe zou zijn. En het vervolgproject TECOM, eveneens door de EU gesubsidieerd, wil trusted computing oplossingen ontwikkelen voor smartphones.

Het OpenTC-persbericht noemt trusted computing verder essentieel in de strijd tegen crackers, virussen en spyware. Door de verankering in hardware kan het besturingssysteem immers tegengaan dat applicaties zonder toestemming worden gewijzigd. Bovendien bevat de TPM-chip een toevalsgenerator, die gebruikt kan worden voor het genereren van willekeurige bits voor het creëren van sleutels voor bijvoorbeeld RSA of AES. Fedora-ontwikkelaar Matt Domsch heeft onlangs met de Linux-ontwikkelaars van Dell samengewerkt om dit mogelijk te maken. Trusted Computing kan een besturingssysteem dus op heel wat vlakken veiliger maken.

Onkraakbare DRM

Uiteraard is zo'n krachtige technologie een tweesnijdend zwaard. Vanuit de gemeenschap van vrije software is er al van in het begin heftige tegenstand geweest tegen het trusted computing concept. Door de verankering in hardware geeft de gebruiker immers de controle over zijn computer aan de producent van de TPM-chip. De computer is dan niet alleen beveiligd voor de gebruiker, maar ook tegen de gebruiker. Richard Stallman interpreteert de afkorting TC voor Trusted Computing zelfs als "Treacherous Computing". Roy Schestowitz van de blog Boycott Novell noemt TPM-ondersteuning in openSUSE dan ook een antifeature.

Tegenstanders zien TPM vooral als een manier om DRM op te leggen aan gebruikers onder het mom van beveiliging tegen virussen. Doordat dit hardwaregebaseerd is, zou DRM op basis van TPM heel moeilijk omzeild kunnen worden. Een online muziekwinkel kan er van op afstand voor zorgen dat je een gekocht muziekbestand alleen met een specifiek programma kunt afspelen. Het besturingssysteem kan je ook tegenhouden om het muziekbestand te kopiëren. Het wordt zelfs mogelijk muziekbestanden te maken die maar een aantal keren kunnen worden afgespeeld. Intel heeft al patches geschreven die zijn Trusted Execution Technology (TXT) in de Linux-kernel ondersteunen en daardoor DRM in de kernel mogelijk maken.

Meer in het algemeen kunnen hardware- en softwareproducenten dankzij TPM steeds meer beperkingen opleggen aan wat gebruikers met hun computer mogen doen. Volgens cryptograaf Ross Anderson kunnen softwareproducenten er zelfs voor zorgen dat documenten alleen in hun programma kunnen worden geopend, en op deze manier migratie naar andere software onmogelijk maken. Of het besturingssysteem kan software die op een zwarte lijst staat weigeren te draaien.

En dan is er nog het privacy-aspect: elke TPM-chip bevat een 2048-bit RSA-sleutelpaar, dat willekeurig is gegenereerd bij het produceren van de chip en daarna nooit gewijzigd kan worden. De private sleutel is niet bekend bij de gebruiker. Dit is bedoeld om namaak van TPM-chips tegen te gaan, maar misbruik om de gebruiker te identificeren ligt niet ver weg.

Test

Het laatste woord over trusted computing is dus nog niet gezegd. Volgens Linus Torvalds is het geen probleem, volgens Richard Stallman moeten we er zo ver mogelijk van blijven. De ondersteuning in OpenSUSE 11.2 wordt een test om te zien hoe de bredere Linux-gemeenschap op trusted computing zal reageren.

Bron: Techworld