Sandbox:Toepassen van patronen

Uit NORA Online
Naar navigatie springen Naar zoeken springen

De eerste vraag is: wat verstaan we precies onder een patroon? De Open Group hanteert daarvoor de volgende definitie: “Een patroon is een abstractie van een probleem en oplossing binnen een bepaalde context, waardoor de oplossing algemener inzetbaar wordt”. Een bekende auteur van patronen: Erich Gamma [1] hanteert de definitie “A pattern is a three-way relation between a certain context, and a certain configuration which allows these to resolve themselves”; een PvIB-vakgenoot Aaldert Hofman schrijft in [2]: Een patroon is een relatie tussen een bepaalde context, een bepaald krachtenspel en een bepaalde configuratie die hiervoor een oplossing biedt”. De Securitypatterns.org website [8] defineert tenslotte: Een patroon is een generieke, herbruikbare oplossing voor algemeen voorkomende problemen bij het maken en ouderhouden van veilige IT-systemen. In de definities spelen de begrippen Probleem, Oplossing en Context een centrale rol.

De eerste patronen[bewerken]

Het fenomeen “patronen” is voor het eerst beschreven door bouwkundig architect Christopher Alexander. Hij ontdekte dat er in bouwontwerpen bepaalde constructies voorkwamen die door hun gunstige eigenschappen steeds opnieuw gebruikt konden worden. Deze herbruikbare constructies noemde hij “ontwerppatronen”. De snelheid waarmee gebouwd kon worden bleek sterk afhankelijk te zijn van de toepassingsmogelijkheid van de herbruikbare of “prefab” componenten en de documentatie die daarover is vastgelegd. Alexander publiceerde zijn ideeën over patronen voor het eerst in “The Oregon Experiment”, van 1975, waarna hij nog een aantal publicaties uitbracht, waaronder zijn boek “The Timeless Way of Building”, van 1979.

<figuur 2b, met driehoeksconstructie en / of boogconstructie invoegen>

Worden patronen in de IT toegepast?[bewerken]

Er is inmiddels veel gezegd en geschreven over patronen sinds het boek van Alexander uitkwam, echter, in de informatietechnologie blijft het gebruik van patronen tot dusver beperkt tot het domein van software ontwikkeling. Voor het aspectgebied informatiebeveiliging is van actief gebruik nog nauwelijks sprake. De redenen hiervoor zijn niet helemaal duidelijk. Een kritische succesfactor lijkt de mate waarin gepubliceerde patronen op de praktijk gericht zijn en de mate waarin ze als vertrekpunt kunnen dienen voor ontwerper en architect. Met het publicatie van patronen vanuit PvIB, dit NORA kater en de patronen van de BIR-Operationele Handreiking bestaat de kans dat daar verandering in komt. Belangrijkste voorwaarde voor architect en ontwerper is er een verbinding gelegd wordt tussen architectuur (patronen) en de geldende normen.

Waarom patronen toepassen?[bewerken]

Time to Market is een belangrijke drijfveer voor de toepassing van patronen. De visie is dat e-business de bedrijven dwingt om veel sneller dan voorheen nieuwe producten en diensten te ontwikkelen en dat dit alleen lukt op basis van bestaande e-business oplossingen. Een voorwaarde is wel dat de beschikbare oplossingen voldoende flexibel zijn om ze snel aan te kunnen passen aan nieuwe behoeften van de klant. Omdat deze flexibiliteit vaak ontbreekt in de bestaande applicaties en infrastructuur, zullen we de praktijk een handje moeten helpen met het methodisch toepassen van patronen in realisatieprojecten.

Een andere drijfveer voor toepassing van patronen is reductie van complexiteit en kosten. Bedoeld wordt de kans die het werken met patronen biedt om onnodige diversiteit in de gekozen oplossingen te beperken. Diversiteit gaat altijd gepaard met complexiteit van applicaties en infrastructuur en toename van beheerinspanningen en exploitatiekosten. Het streven moet zijn: “eenvoud-enkelvoud”. Patronen slaan een brug tussen architecten en beveiligers en helpen bij het denken in standaard oplossingen.

Patronen als beeldtaal en bouwblok[bewerken]

De Open Security Architecture (OSA) [7] spreekt van “Visual Patterns”, die de kern vormen van de OSA, waarbij beveiligingseisen en functionele eisen van b.v. een usecase worden samengebracht. De patronen vormen de basis bouwblokken voor een specifiek toepassingsgebied.

Doelgroep[bewerken]

Patronen zijn bedoeld voor ICT-architecten, - ontwerpers, IB-specialisten en IT-auditors. Een uitdaging voor de auteurs van IB-patronen is dat men zich beperkt tot de belangrijkste problemen uit het vakgebied. Met dit doel in het achterhoofd kun je met een beperkte set patronen kunnen volstaan. Wat in de praktijk niet lijkt te werken zijn omvangrijke boekwerken op een hoog abstractieniveau.

De opzet van een patroon[bewerken]

Een patroonbeschrijving kent vaste rubrieken in een vaste volgorde. De gepubliceerde patronen verschillen daarin iets van elkaar, maar in grote lijnen is de opzet steeds dezelfde. In het NORA katern gebruiken we de rubrieken van de Open Group en voegen daar twee Informatiebeveiligings-specifieke rubrieken aan toe: Criteria en Implicaties. De oplettende lezer ziet onder de kop ‘Criteria’ afgeleide principes terug die van toepassing zijn op dat patroon.

Literatuur[bewerken]

[1] Design Patterns: elements of reusable object-oriented software. Erich Gamma et al, 1995 Addison Wesley Longman

[2] Verkort uw Time to Market met Security Patterns door Ir.A. Hofman en ir. J.G Sluiter; Cap Gemini 2001

[3] Security Patterns: Integrating Security and Systems Engineering; Markus Schumacher e.a. 2006

[4] Security Patterns: 10 years later, Koen Yskout, Thomas Heyman e.a; Katholieke Universiteit Leuven 2008

[5] A survey on security patterns, Nobukazu Yoshioka e.a; National Institute of Informatics 2008

[6] NORA Best Praktice Informatiebeveiliging Normen ICT-voorzieningen 2009

[7] OSA, de Open Security Architecture

[8] Website www.Securitypatterns.org. Het belangrijkste doel van deze website is: “het samenbrengen van securitypatterngebruikers”, om een forum te vormen voor patronen en om het overkoepelende werk aan IB-patronen te verbeteren.