[OpenSSH]

Projectdoelen


Ons doel is simpel: Sinds telnet en rlogin onveilig zijn zouden alle besturingssystemen afgeleverd moeten worden met ondersteuning voor het SSH-protocol (Zie het plaatje hieronder).

Er zijn twee onderling incompatibele varianten van het SSH-protocol: SSH 1 en SSH 2.

Het oudere SSH 1 protocol komt in twee grote subvarianten: protocol 1.3 en protocol 1.5. Beide worden ondersteund door OpenSSH. Beide gebruiken het asymmetrische cryptografische algoritme RSA (waarvoor het USA patent verlopen is en daardoor door iedereen te gebruiken is) voor sleuteluitwisseling en gebruiken vervolgens de volgende symmetrische algoritmen voor het verbergen van data: 3DES en Blowfish. (Er waren ooit nog wat andere algoritmen zoals RC4, maar hun implementaties hadden veiligheidsproblemen). Sommige implementaties van het SSH 1 protocol ondersteunen ook het symmetrische algoritme IDEA, maar aangezien dit algoritme gepatenteerd is in sommige naties en omdat de andere twee algoritmen voldoende zijn, heeft OpenSSH geen ondersteuning voor IDEA.

Het SSH 1 protocol gebruikt een eenvoudige CRC voor gegevensintegriteit, welke fouten blijkt te bevatten; bekend is dat een "insertion attack" mogelijk is, maar omdat er in de loop der jaren verschillende stoplappen toegepast zijn op SSH implementaties zijn ze erg moeilijk uit te voeren. Wanneer er gebruik gemaakt wordt van het 3DES cijfer, is de "insertion attack" erg moeilijk uit te voeren. (We kunnen dit waarschijnlijk binnenkort oplossen).

De tweede variant van SSH is het SSH 2 protocol. SSH 2 was uitgevonden om de kwesties rondom patenten van RSA (kwesties die niet langer relevant zijn aangezien het patent verlopen is) te vermijden en om het CRC gegevensintegriteitsprobleem dat SSH1 heeft te verhelpen alsmede om enkele andere technische redenen. Door gebruik te maken van de algoritmen DSA en DH vermijdt protocol 2 alle patenten. Het CRC-probleem is ook verholpen door gebruik te maken van een echt HMAC algoritme. Het SSH 2 protocol ondersteunt veel andere symmetrische cijfers alsmede vele andere nieuwe functionaliteiten.

OpenSSH-code inclusief volledige ondersteuning voor het SSH 1.3 en het SSH 1.5 protocol werd op 1 December 1999 uitgebracht.

Voor veel van zijn cryptografische functionaliteiten is OpenSSH afhankelijk van de GPL-loze OpenSSL bibliotheek.

Ongeveer gelijk nadat we onze implementatie van het SSH 1 protocol uitbrachten raakten verschillende niet-OpenBSD groepen erg, erg geïnteresseerd. Damien Miller, Philip Hands en enkele anderen begonnen OpenSSH te porten naar Linux en verschillende andere Unix besturingssystemen. Vanaf het begin toen we begonnen vonden we dat zelfs de originele SSH-implementatie te complex was; er waren gewoon teveel afhankelijkheden van het besturingssysteem. Onze aanpak in het schrijven van compleet veilige en stabiele code vermijdt het omgaan met zulke buitensporige verschillen. Om het hele ontwikkelproces makkelijker te maken voor ons allemaal hebben we besloten om de kernontwikkeling te scheiden van de ontwikkeling van portabiliteit. Dit heeft goed uitgepakt voor ons. (Vergelijk het aantal regels code tussen de basisversie en de portable versie).

In dezelfde trend hebben de leden van het OpenBSD project die aan OpenSSH gewerkt hebben zich ingespannen om ook het SSH 2 protocol te ondersteunen. Dit is voornamelijk het werk geweest van Markus Friedl. Rond 4 Mei 2000 was het SSH 2 protocol voldoende geïmplementeerd om bruikbaar te kunnen zijn.


Gebruikt u nog "cleartext" logins?

sheriff
OpenSSH www@openbsd.org
$OpenBSD: goals.html,v 1.9 2006/04/28 09:39:01 jufi Exp $