[OpenBSD]


"De mantra van elke goede security engineer is: "Veiligheid is geen product, het is een proces." Het is meer dan sterke cryptografie in een systeem integreren; het is het gehele systeem zo ontwerpen dat alle veiligheidsmaatregelen, inclusief cryptografie, met elkaar samenwerken."

-- Bruce Schneier, auteur van "Applied Cryptography".

Cryptografie


Index
Waarom integreren we cryptografie?
OpenSSH.
Pseudorandom Getal-Generatoren (PRNG): ARC4, ...
Cryptografische Hash-Functies: MD5, SHA1, ...
Symmetrische Vercijferingsalgoritmen: DES, Blowfish, ...
Ondersteuning voor Cryptografische Hardware
Internationale Cryptografen gevraagd
Aanbevolen Literatuur


Waarom integreren we cryptografie?

In vier woorden: omdat we het kunnen.

Het OpenBSD project is gesitueerd in Canada.

De Export Controle Lijst van Canada plaatst geen significante beperkingen op de export van cryptografische software en is nog explicieter in de vrije export van vrijelijk toegankelijke cryptografische software. Marc Plumb heeft wat onderzoek gedaan om de wetten betreffende cryptografie te testen.

Dus heeft het OpenBSD project cryptografie op talrijke plekken in het besturingssysteem geÔntegreerd. We verlangen dat de cryptografische software die we gebruiken vrij toegankelijk is en goede licenties bezit. We gebruiken niet direct cryptografie met ontoereikende patenten. We verlangen ook dat zulke software zijn oorsprong vindt in landen met nuttige exportlicenties omdat we de wetten van geen enkel land willen overtreden. De cryptografische softwarecomponenten die we op dit moment gebruiken zijn geschreven in ArgentiniŽ, AustraliŽ, Cadana, Duitsland, Griekenland, Noorwegen en Zweden.

Wanneer we OpenBSD versies of snapshots maken, bouwen we onze binaries in vrije landen om zeker te stellen dat de broncodes en binaries die we aan gebruikers aanbieden vrij van beperkingen zijn. In het verleden zijn onze binaries gebouwd in Canada, Zweden en Duitsland.

OpenBSD wordt geleverd inclusief Kerberos V. De codebase die we gebruiken is de exporteerbare Heimdal-uitgave van Zweden. Ook is onze X11 broncode uitgebreid om gebruik te maken van Kerberos.

VPNC TEST PARTNER OpenBSD was het eerste besturingssysteem dat een IPsec stack meeleverde. IPsec maakt deel uit van het systeem sinds OpenBSD versie 2.1 uit 1997. Onze IPsec stack met hardware acceleratie gebaseerd op enkele kaarten en onze eigen vrije ISAKMP daemon wordt gebruikt als ťťn van de machines in het IPsec conformance testbed van VPNC.

Vandaag de dag is cryptografie een belangrijk middel om de veiligheid van een besturingssysteem uit te breiden. De cryptografie die gebruikt wordt in OpenBSD kan worden geclassificeerd in verschillend aspecten, als volgt omschreven.

OpenSSH

Sinds versie 2.6 bevat OpenBSD OpenSSH, een geheel vrije versie van ssh, onbelemmerd door patenten. OpenSSH werkte met ssh versie 1 en had veel toegevoegde functionaliteiten,

Grof gezegd hebben we een versie van ssh genomen met een vrije licentie en deze geOpenBSDificeerd. Ongeveer een jaar later hebben we OpenSSH uitgebreid om ook het SSH 2 protocol te ondersteunen, met als resultaat ondersteuning voor alle 3 grote SSH protocollen: 1.3, 1.5, 2.0.

Pseudorandom Getal-Generatoren

Een Pseudorandom Getal-Generator (PRNG) voorziet applicaties van een stroom van getallen welke bepaalde eigenschappen bezitten die van belang zijn voor de veiligheid van het systeem:

Een PRNG is normaliter gewoon een algoritme waar dezelfde invoerwaardes dezelfde volgorde van uitvoerwaardes genereert. Op een multiuser besturinssysteem zijn er veel bronnen die het mogelijk maken de PRNG te voeden met een random kiemwaarde. De OpenBSD kernel gebruikt muis interrupt timing, netwerkdata interrupt latentie, toetsaanslagintervallen en schijf IO informatie om een entropie pool te vullen. Random getallen zijn beschikbaar voor kernel routines en worden geŽxporteerd via randapparatuur naar userland programma's. Tot nu toe worden random getallen gebruikt op de volgende plaatsen:

Cryptografische Hash-Functies

Een Hash-Functie comprimeert zijn invoer tot een hash-code van vaste lengte. Voor een Cryptografische Hash-Functie is het onmogelijk om:

In OpenBSD worden MD5, SHA1 en RIPEMD-160 gebruikt als Cryptografische Hash-Functies, b.v.:

Symmetrische Vercijferingsalgoritmen

Symmetrische Vercijferingsalgoritmen worden gebruikt voor de vercijfering en ontcijfering van data. Ze worden gewoonlijk gebruikt met een vercijferingssleutel voor vercijfering van data en een ontcijferingssleutel voor ontcijfering van data. De veiligheid van een Symmetrisch Vercijferingsalgoritme zou alleen afhankelijk moeten zijn van de sleutels.

OpenBSD gebruikt symmetrische vercijferingsalgoritmen zoals DES, 3DES, Blowfish en CAST voor kernel- en userlandprogramma's, welke gebruikt worden op veel plaatsen zoals:

Ondersteuning voor Cryptografische Hardware

OpenBSD ondersteunt sinds 2.7 wat cryptografische hardware zoals accelerators en random getal-generatoren.

Als mensen willen helpen met het schrijven van stuurprogramma's, kom ons helpen.

Internationale Cryptografen gevraagd

Uiteraard heeft ons project mensen nodig om aan deze systemen te werken. Als een niet-Amerikaanse cryptograaf die aan de eerdergenoemde eisen voldoet, geÔnteresseerd is in het meehelpen aan ingebedde cryptografie in OpenBSD, neem a.u.b. contact op.

Aanbevolen Literatuur

Er zijn verschillende documenten geschreven door leden van het OpenBSD team over de cryptografische aanpassingen die ze hebben gemaakt aan OpenBSD. De postscript versies van deze documenten zijn hier verkrijgbaar.


OpenBSD www@openbsd.org
$OpenBSD: crypto.html,v 1.32 2013/03/27 18:37:03 ajacoutot Exp $