Onze website gebruikt cookies om de site gebruiksvriendelijker te maken.

Naar automatische naleving van cryptografische aanbevelingen

Posted on 11/03/2025 by Kristof Verslype

Cryptografie is essentieel in onze samenleving, onder meer om gevoelige communicatie en financiële transacties te beveiligen. Om veilig te blijven moet die cryptografie zelfs soms vervangen worden. Cryptografische aanbevelingen helpen organisaties en teams om te beslissen wanneer bepaalde cryptografie in hun systemen uitgefaseerd en vervangen dient te worden. Dergelijke cryptografische aanbevelingen uitdrukken als code heeft voordelen, zoals een verhoogde graad van automatisering en toegenomen inzicht, en is een logische stap richting cryptografische maturiteit.

Cryptografische aanbevelingen

De aanbevolen algoritmes, sleutellengtes voor onder meer authenticatie, digitale handtekeningen, cryptografische hashfuncties, symmetrische vercijfering veranderen geregeld. Algoritmes die ooit aanbevolen werden zijn vandaag onveilig. Hetzelfde geldt voor cipher suites in communicatieprotocollen zoals TLS. Cipher suites zijn combinaties van cryptografische algoritmes en sleutellengtes die die de communicerende partijen afspreken. Op basis daarvan wordt vervolgens een veilig kanaal opgezet.

In heel wat landen, waaronder buurlanden Duitsland, Frankrijk en Nederland, publiceren de nationale agentschappen voor informatieveiligheid gedetailleerde aanbevelingen omtrent het gebruik van cryptografie. Doorgaans maakt men een onderscheid tussen de cryptografie die aanbevolen wordt (recommended), de cryptografie die niet aanbevolen wordt, maar wel nog als veilig beschouwd wordt (secure), de cryptografie die we moeten uitfaseren (phase out) en, ten slotte, de cryptografie die onveilig is (insecure). Die aanbevelingen worden geregeld bijgewerkt. Het Duitse BSI doet dit bijvoorbeeld jaarlijks.

In België missen we dergelijke aanbevelingen vooralsnog. Idealiter worden dergelijke aanbevelingen op Europees niveau geformuleerd, bijvoorbeeld door ENISA, het Europese agentschap voor cyberveiligheid. Daar zijn we vooralsnog nog niet. Niettemin heeft een organisatie zoals Smals daar wel vandaag reeds een concrete nood aan. Daarom heeft Smals Research een aantal jaar terug het initiatief genomen om eigen, interne aanbevelingen te formuleren. Deze aanbevelingen zijn gebaseerd op die van het Duitse BSI,  gezien dit toch in Europa het toonaangevende en best gesubsidieerde agentschap voor cyberveiligheid is.  

Aanbevelingen als code

Net zoals alle andere cryptografische aanbevelingen, worden deze vandaag uitgedrukt op een wijze die leesbaar is voor mensen, maar onvoldoende gestructureerd is om verwerking door machines toe te laten. Dat laatste zou hogere graad van automatisering toelaten en zou de veiligheid ten goede kunnen komen.

  • Het zou toelaten om automatisch het cryptografische deel te genereren van de configuratiebestanden voor communicatieprotocollen zoals TLS en OpenSSH. Dit laat toe sneller de updates door te voeren, met minder mankracht en minder risico op menselijke fouten. Smals heeft inderdaad honderden, zoniet duizenden machines die in staat moeten zijn veilig te communiceren.
  • Het zou toelaten om de cryptografische aanbevelingen interactief te ontsluiten. Via een webinterface kan een projectteam snel de meest recente voor hen relevante cryptografische aanbevelingen consulteren. Een projectteam kan ook automatisch op de hoogte gehouden worden van voor hen relevante veranderingen eens de applicatie live is.

Wat vandaag het dichtste in de buurt komt is de website CipherSuite. Dit is een lovenswaaridg initiatief, maar omwille van een aantal redenen willen we met Smals verder gaan. We volgens immers niet per se deze aanbevelingen, die zich bovendien beperken tot het TLS communicatieprotocol. Bovendien willen we iets dat compatibel is met CBOM.

Cryptography Bill of Materials (CBOM)

In het kader van de dreiging van krachtige kwantumcomputers dringt zich opnieuw een grote crypto migratie op. Om ons op deze en andere toekomstige migraties voor te bereiden is het verstandig om als organisatie alvast een overzicht te bouwen van welke cryptografie waar gebruikt wordt. Dit laat toe om een onderbouwde migratieplan op te stellen en het zal bovendien de migratie zelf sneller en vlotter doen verlopen. Deze inventaris wordt al snel erg complex en wordt daarom idealiter uitgedrukt als code om een automatische bijwerking en verwerking door machines te faciliteren.

IBM ontwikkelde daarom CBOM (Cryptography Bill of Materials), wat toelaat om cryptografische componenten zoals algoritmes, parameters, protocollen en libraries en hun afhankelijkheden uit te drukken in JSON. Het is  OWASP CycloneDX standaard, wat betekent dat het compatibel is met onder meer SBOM (Software Bill Of Materials). CBOM laat ons toe het management van cryptografische assets (algoritmes, protocollen, libraries, sleutels, certificaten …) naar een hoger niveau te tillen.

Onderstaande figuur is een CBOM fragment, dat toont waar in de gescande broncode van een applicatie RSA-2048 gebruikt wordt.

Stel dat een organisatie haar cryptografische assets uitdrukt als CBOM, en dat ze beschikt over cryptografische aanbevelingen in code die daarmee compatibel is. Dan kan die organisatie zeer snel nagaan waar in de organisatie ze in welke mate in overeenstemming is met de cryptografische aanbevelingen en waar niet. Dit inzicht kan bijzonder nuttig zijn bij het nemen van stappen om de organisatie en de data die ze beschermt veiliger te maken. Zo kan een organisatie snel te weten komen waar ze het meest kwetsbaar is voor krachtige kwantumcomputers. Ook bij audits kan de organisatie snel exacte informatie geven, bijvoorbeeld in de vorm van een automatisch gegenereerd rapport in PDF of Excel formaat, als antwoord op de specifieke vragen van de auditor.

Afwijkingen als code

Naast de aanbevelingen en de cryptografische assets is or nog een derde element dat als machine-readable code uitgdrukt kan worden; de afwijkingen op die aanbevelingen.

In een ideale wereld gebruikt Smals steeds enkel de aanbevolen en veilige cryptografie in haar systemen. Dit is niet steeds mogelijk gezien het zo de facto diensten onbeschikbaar zou maken voor gebruikers van die system. We kunnen inderdaad niet verwachten dat artsen, apothekers, kinesisten, OCMW’s, … allen steeds enkel de meest recente veilige cryptografie ondersteunen. Smals moet dus een zekere tolerantie aan de dag leggen waarbij het gedurende een beperkte periode sub-optimale cryptografie blijft ondersteunen. Dit gebeurt op een gestructureerde wijze, waarbij de tolerantieperiode beperkt is en waarbij het risico duidelijk ingeschat wordt door de veiligheidsdiensten en goedgekeurd wordt door het management.

Ook dit wordt het best uitgedrukt op een wijze die automatische verwerking toelaat. Zo kunnen we in combinatie met de aanbevelingen en inventaris in een oogopslag te weten komen waar we, zowel gedocumenteerd als ongedocumenteerd, afwijken van de aanbevelingen. Dit laat ons toe een beeld te krijgen van het cummulatieve risico. Dit inzicht helpt om de veiligheid in de organisatie te verhogen. Ook dit kan uiteraard nuttig zijn bij audits.

Conclusie

Een paar jaar terug deed Smals Research een voorstel tot cryptografische aanbevelingen, wat door Smals geadopteerd werd en op zijn minst jaarlijks bijgewerkt wordt. Smals Research vindt de tijd rijp voor een volgende stap en zet die aanbevelingen momenteel om naar een gestructureerde vorm die maximaal compatibel is met CBOM. Hetzelfde doet Smals Research voor de afwijkingen.

CBOM en de ambities van Smals om zowel cryptografische assets, aanbevelingen als afwijkingen uit te drukken in een machine-readable formaat passen in de bredere tendens van Everything as code, wat een filosofie is die resulteert in een toegenomen graad van automatisering van processen en beheer. Het geeft ons meer inzicht en laat ons toe beter te anticiperen en in te grijpen indien nodig. Bovendien resulteert het in een verhoogde consistentie en schaalbaarheid dankzij de verminderde menselijke interventie.

Het toepassen van Everything as Code op cryptografie is volgens ons dan ook een belangrijke stap bij het verhogen van de cryptografische maturiteit. CBOM zien we daarom als een noodzakelijke standaard die naar onze verwachtingen in de komende jaren in toenemende mate ondersteund zal worden in tools voor ontwikkeling, informatieveiligheid en post-kwantummigratie. We verwachten dan ook dat vendors meer een CBOM zullen leveren bij hun software, hardware of diensten.

Onze verwachting is dat het triumviraat cryptografische assets as code, aanbevelingen as code en afwijkingen as code nieuwe mogelijkheden en opportuniteiten zullen ontsluiten richting inzicht en automatisering. Een idee is bijvoorbeeld om hierop graaf analyses (graph analytics) te doen, bijvoorbeeld met behulp van Linkurious.

Wordt vervolgd en aarzel niet ons te contacteren bij interesse.


Dit is een ingezonden bijdrage van Kristof Verslype, cryptograaf bij Smals Research. Het werd geschreven in eigen naam en neemt geen standpunt in namens Smals.

 

Bron: Smals Research