Eindelijk veilige software
(…aardbevingen en meteorieten voorbehouden…)
Herbert Blankesteijn
Vorige week werd de Duitse informaticus Carl Adam Petri benoemd tot Commandeur in de Orde van de Nederlandsche Leeuw, een van de hoogste koninklijke onderscheidingen. Wie is Petri, wat zijn de naar hem genoemde petrinetten, en wat doen ze bij de spoorwegen?
'Toen ik begin jaren '60 een rekencentrum moest opzetten aande universiteit van Bonn, was mijn eerste practische werk het met elkaar verbinden van twee computers,' vertelt prof.dr. Carl Adam Petri (77). 'Dat was toen iets heel bijzonders. De bedoeling was, de samenwerking tussen hardwareonderdelen te onderzoeken. Het systeem bleef elf jaar draaien.'
'Petri was zijn tijd ver vooruit,' voegt zijn collega Grzegorz Rozenberg, hoogleraar theoretische computerwetenschappen in Leiden, eraan toe. 'In een tijd dat iedereen alleen nog dacht aan computers als rekenmachines, zag Petri al dat computers eigenlijk voorbestemd waren voor communicatie te zorgen.' (Rozenberg is zelf ook geen kleine jongen; enkele dagen na Petri's onderscheiding ontvangt hij een Lifetime Achievement Award van de European Association for Theoretical Computer Science.)
Petri's vooruitziende blik ging zo ver, dat hij al in 1965 de veiligheid van computers hoog op de agenda had staan. Hij wilde zijn rekencentrum beveiligen tegen ongeautoriseerd gebruik, diefstal van gegevens en dergelijke. Daarvoor lanceerde hij een plan, dat aan apparatuur niet meer dan 2000 dollar moest kosten. Wel moest er krachtig worden ingegrepen in de bestaande software. Petri: 'De fabrikant had daar geen zin in. Die zei: mijn spullen zijn al veilig. Als je de deur dichthoudt, kan er niks misgaan.'
Volgens Petri had op dat moment de basis kunnen worden gelegd voor veilige communicatie tussen computers. Korte tijd later was de kans verkeken, omdat de hoeveelheid hardware en software die daarvoor vervangen zou moeten worden, snel was toegenomen en bleef toenemen. 'Als je meteorieten en aardbevingen buiten beschouwing laat, is honderd procent veilige communicatie tussen computers mogelijk,' stelt Petri. 'In 1965 heb ik zelfs nog een brief geschreven aan de verantwoordelijke minister, Franz-Josef Strauss, over het gevaar van inbraak in computers en van computervirussen, al bestonden deze zaken nog helemaal niet. Het heeft niet geholpen en nu is het te laat. Het gaat generaties duren voordat de veiligheid op het vereiste niveau is.' Rozenberg vermoedt dat Petri tot op de huidige dag ontgoocheld is over de gemiste kans van 1965. Hij heeft zich daarna uitsluitend nog met theoretische problemen beziggehouden.
De uitvinding waar Petri's naam voorgoed aan verbonden is, speelt een sleutelrol in veel belangrijke bedrijfstakken, zoals spoorwegen, ruimtevaart, verzekeringswezen, electronische handel en chipontwerp. Het idee had hij al gepresenteerd in zijn proefschrift uit 1962, 'Kommunikation mit Automaten'. Dit werkstuk (geschreven in tien werkdagen, na enkele jaren van voornamelijk nadenken) ging schijnbaar over communicatie tussen mensen en computers, maar tijdens de verdediging moest Petri toegeven dat hij zelf meer de communicatie tussen computers onderling in gedachten had. Hoe dan ook, het proefschrift bevatte een manier om processen weer te geven als netwerken van 'plaatsen', verbonden door 'transities'. De plaatsen kunnen 'tokens' of 'berichten' bevatten, die door toedoen van de transities in het netwerk worden verplaatst. Het resultaat is een visueel aantrekkelijk soort modellen, dat doet denken aan stroomdiagrammen, of voor natuurkundigen aan de feynmandiagrammen die reacties tussen elementaire deeltjes weergeven. De overeenkomst met feynmandiagrammen is, dat petrinetten voorstellingen zijn van een wiskundig formalisme, en dat de plaatjes de experts helpen het formalisme te begrijpen en doeltreffend toe te passen.
Prof. dr. Kees van Hee, directeur consultancy bij Deloitte & Touche en hoogleraar Architectuur van Informatiesystemen aan de TU Eindhoven, schetst snel een eenvoudig petrinet dat de gang van zaken op een spoorbaan beschrijft. De plaatsen zijn baanvakken, de transities begrenzen de baanvakken en de tokens stellen treinen voor, of juist de informatie dat een baanvak vrij is. 'Het mooie is: hiermee kun je wiskundig bewijzen dat nooit twee treinen zich in hetzelfde baanvak kunnen bevinden,' aldus Van Hee. Aardbevingen en meteorieten voorbehouden, zullen we maar zeggen.
Van Hee: 'In het geval van de treinen zijn de tokens extreem eenvoudig. Maar ze kunnen ook de vorm aannnemen van een tekstbericht, of zelfs een database. En zo kun je met petrinetten van alles modelleren en simuleren. Fokker Space heeft er in het verleden het gedrag van een kunstmaan mee gesimuleerd, om de specificaties voor de software vast te stellen. Ze kunnen worden gebruikt voor rekening rijden, voor transactieverwerkende systemen, en ook voor standaardsoftware, om te checken of er onveiligheid kan optreden en of transacties netjes eindigen. Je kunt dat gewoon bewijzen. En dat proces is bezig veel makkelijker te worden, want je kunt innmiddels je ontwerp gewoon naar een webserver sturen waar het controleproces plaatsvindt, en de resultaten krijg je netjes terug. Veel mensen weten nog niet dat dit kan of denken dat het alleen bij kleine systemen kan, maar het wordt common practice dat je systemen niet eens meer in gebruik neemt als ze niet op deze manier gecontroleerd zijn.'
Het beste bewijs dat het gebruik van petrinetten loont, is in de ogen van Van Hee het feit dat zelfs de Amerikanen ze zijn gaan gebruiken. In de VS heeft men zoals bekend last van het not invented here-syndroom, maar Intel heeft niettemin het ontwerp van zijn nieuwe processor formeel geverifieerd met technieken verwant aan het bedenksel van die oude Duitse professor. Daarmee is de kans dat een fout in een chip zich pas openbaart als de massaproductie is begonnen (een dergelijk geval bracht Intel halverwege de jaren '90 een schadepost van honderden miljoenen) tot praktisch nul gereduceerd. Anders gezegd, een processor kan nog best falen, maar het ontwerp kan daar eigenlijk niet meer de oorzaak van zijn.
'Dank zij petrinetten hebben we nu een soort sterkteberekeningvoor software, zoals je die in de bouwkunde laat maken door een constructeur,' zegt Van Hee. In de jaren '80 kon dat nog niet, maar je kunt nu rustig annonceren: de informatica is eindelijk zover dat het kan. En dat betekent een enorme markt voor bedrijven als Deloitte (Van Hee's eigen werkgever - HB) en KPMG, voor het verstrekken van certificaten. Lekt er geen geld bij zakelijke transacties, zijn de klantgegevens en de bedrijfsgeheimen veilig, maar ook bijvoorbeeld: is de beveiliging van het kantoor zodanig dat je er altijd uit kunt?
De markt voor petrinetten is inmiddels ook betreden door andere bedrijven. P. van der Marel van Transflow uit Vianen noemt zijn product een organisatie-editor. De officiële en de feitelijke gang van zaken in een bedrijf kunnen ermee worden vergeleken en verbeteringen van tevoren doorgerekend. Het bedrijf Pallas Athena bijvoorbeeld verkoopt software voor het ontwerpen van workflow in het verzekeringswezen, zoals het afhandelen van claims. De onderneming staat twintigste op de lijst van vijftig snelst groeiende Nederlandse bedrijven.
De eerbiedwaardige Petri houdt zich met de naar hem genoemde netten allang niet meer bezig. De dag voor zijn onderscheiding presenteerde hij op een conferentie over petrinetten aan de TU Eindhoven zijn gehoor een referaat over begrippen uit de quantum- en relativiteitstheorie als meetnauwkeurigheid en gelijktijdigheid, en hun betekenis voor communicatie in netwerken. Zijn tijd ver vooruit, waarschijnlijk.