De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

SSH Cursus informatiebeveiliging Eric Laermans – Tom Dhaene.

Verwante presentaties


Presentatie over: "SSH Cursus informatiebeveiliging Eric Laermans – Tom Dhaene."— Transcript van de presentatie:

1 SSH Cursus informatiebeveiliging Eric Laermans – Tom Dhaene

2 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 2 SSH SSH (Secure SHell) protocol voor beveiligde remote login  ondersteunt ook tunneling (VPN-gebruik) –TCP getunneld door SSH connectie  kan ook gebruikt worden om bestanden over te dragen m.b.v. geassocieerde protocols SCP (Secure CoPy) of SFTP (SSH File Transfer Protocol) oorspronkelijk ontwikkeld door SSH Communications Security Corp., Finland twee distributies beschikbaar:  freeware (www.openssh.org)www.openssh.org  commerciële versie IETF-norm (RFC’s 4250-4256) zie ook boek H. 16.5 p. 532 vv.

3 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 3 SSH Architectuur transport layer  serverauthenticatie, vertrouwelijkheid en integriteit  compressie (optioneel)  bovenop betrouwbare transportlaag (bv. TCP) user authentication layer  authenticatie van de client  bovenop SSH transport layer connection layer  multiplexeert veilige tunnel verkregen viaSSH transport layer en user authentication layer in verscheiden logische kanalen (“channels”)  logische kanalen voor diverse doeleinden bruikbaar

4 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 4 SSH Beveiligingseigenschappen gebruikt gekende en getoetste algoritmen voor encryptie, data-integriteit, sleuteluitwisseling, en beheer van publieke sleutels encryptie met sleutels van ten minste 128 bits onderhandeling over beveiligingsalgoritmen  basisprotocol hoeft niet veranderd te worden als overgeschakeld wordt op andere algoritmen

5 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 5 SSH: transport layer clientserver setup van TCP-connectie SSH version string exchange SSH key exchange (inclusief onderhandeling over algoritme) SSH data exchange beëindiging TCP-connectie

6 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 6 SSH Transport layer SSH version string exchange  beide partijen zenden versie: –“SSH-protoversion-softwareversion comments” \CR \LF  geeft aan wat SSH-implementatie aankan  triggert compatibiliteitsextensies  huidige versie protocol is 2.0  alle pakketten na version string exchange worden verstuurd m.b.v. binary packet protocol

7 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 7 SSH Transport layer binary packet protocol random padding (4-255 bytes) packet length (4 bytes) padding length (1 byte) MAC payload optioneel gecomprimeerd geëncrypteerd + geauthenticeerd

8 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 8 SSH Transport layer encryptiealgoritme  onderhandeld tijdens sleuteluitwisseling  ondersteunde algoritmen –verplicht: 3des-cbc (sleutel van “168” bits) –aanbevolen: aes128-cbc –optioneel: aes192-cbc, aes256-cbc, arcfour (i.e. RC4),…  mogelijks verschillend voor elke richting  geheime sleutel, IV bepaald tijdens sleuteluitwisseling  alle pakketen in 1 richting beschouwd als 1 datastroom –IV doorgegeven van einde van 1 pakket naar volgende

9 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 9 SSH Transport layer MAC-algoritme  onderhandeld tijdens sleuteluitwisseling  ondersteunde algoritmen –verplicht: hmac-sha1 –aanbevolen: hmac-sha1-96 »eerste 96 bits van hmac-sha1 –optioneel: hmac-md5, hmac-md5-96,…  mogelijks verschillend voor elke richting  MAC = mac(sleutel, volgnr. | ongeëncrypt. pakket) –impliciet volgnr. (4 bytes), niet meegestuurd met pakket –volgnr. geïnitialiseerd op 0, geïncrementeerd na elk pakket

10 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 10 SSH Transport layer key exchange clientserver uitvoering van gekozen sleuteluitwisselingsprotocol SSH_MSG_KEXINIT SSH_MSG_NEWKEYS client begint nieuwe sleutels en algoritmen te gebruiken voor verzonden pakketten client begint nieuwe sleutels en algoritmen te gebruiken voor ontvangen pakketten

11 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 11 SSH Transport layer key exchange: SSH_MSG_KEXINIT  voor onderhandeling over algoritmen  bevat lijsten met algoritmen ondersteund door server (van server naar client)  bevat lijsten met algoritmen aanvaard door client (van client naar server) –eerste algoritme op clientlijst dat ook op serverlijst voorkomt, wordt gekozen  bevat random cookie van 16 byte –als nonce

12 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 12 SSH Transport layer key exchange zelf  gebruik makend van DH  server verstuurt: –de publieke sleutel van de server host (“host key”) –zijn publieke sleutel voor DH –een signatuur over (onder andere) »SSH_MSG_KEXINIT-berichten van beide client en server (inclusief cookies) »publieke sleutels voor DH »host key

13 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 13 SSH Transport layer key exchange zelf  session ID afgeleid (m.b.v. hashfunctie) uit inhoud van SSH_MSG_KEXINIT-berichten en DH-uitwisseling  sessiesleutels (voor encryptie en MAC) en IV’s afgeleid uit session ID en geheime sleutel gegenereerd door DH-uitwisseling

14 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 14 SSH Transport layer key exchange: serverauthenticatie  op basis van server host key  diverse mogelijkheden voor sleutelidentificatie –m.b.v. lokale databanken –m.b.v. CA en certificaten –via offline kanalen »bv. “vingerafdruk” van sleutel –“best effort”-aanpak »aanvaardt host key zonder controle bij eerste connectie op server »sla host key op in lokale databank »toets t.o.v. opgeslagen sleutel voor latere connecties

15 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 15 SSH Transport layer key re-exchange  mogelijk op elk moment (behalve tijdens key exchange)  kan opgestart worden door elk van beide partijen  session ID verandert niet  algoritmen kunnen veranderd worden  sessiesleutels en IV’s worden veranderd  aanbevolen –na zekere hoeveelheid getransfereerde data (bv. 1GB) –na zekere connectieduur (bv. 1u)

16 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 16 SSH Transport layer service request  na key exchange vraagt client dienst aan –ssh-userauth (user authentication protocol) –ssh-connectie (connection protocol)  als dienst start, beschikt hij over session ID opgesteld tijdens eerste key exchange

17 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 17 SSH User authentication layer onderliggende SSH transport layer verschaft vertrouwelijkheid en data-integriteit heeft toegang tot session ID server timeout voor authenticatie aantal mislukte authenticatiepogingen beperkt 3 authenticatiemethodes:  publickey  password  hostbased

18 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 18 SSH: user authentication layer clientserver SSH_MSG_USERAUTH_REQUEST SSH_MSG_USERAUTH_FAILURE (verdere authenticatie vereist) SSH_MSG_USERAUTH_REQUEST SSH_MSG_USERAUTH_SUCCESS SSH_MSG_USERAUTH_REQUEST SSH_MSG_USERAUTH_FAILURE (verdere authenticatie vereist)

19 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 19 SSH User authentication layer “publickey”-methode  ondersteund door alle implementaties  client tekent met zijn vertrouwelijke sleutel  server verifieert signatuur en publieke sleutel van de client  probleem: –rekenintensief –weinig clients beschikken over sleutelparen (publieke/vertrouwelijke sleutel)

20 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 20 SSH User authentication layer “publickey” method  SSH_MSG_USERAUTH_REQUEST –TRUE (vlag die op TRUE gezet wordt) –naam asymmetrische algoritme (bv. ssh-dss) –publieke sleutel –signatuur »berekend over session ID en data in request  server beantwoordt met –SSH_MSG_USERAUTH_FAILURE als request mislukt is of meer authenticatie vereist is –SSH_MSG_USERAUTH_SUCCESS anders

21 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 21 SSH User authentication layer “password”-methode  ondersteund door alle implementaties  meest gebruikt vandaag  SSH_MSG_USERAUTH_REQUEST –FALSE (vlag die op FALSE gezet is) –wachtwoord (onversleuteld)  server kan antwoorden met –SSH_MSG_USERAUTH_FAILURE –SSH_MSG_USERAUTH_SUCCESS –SSH_MSG_USERAUTH_PASSWD_CHANGEREQ

22 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 22 SSH User authentication layer “hostbased”-methode  ondersteuning is optioneel  authenticatie op basis van de host van de client  client stuurt signatuur gegenereerd met de vertrouwelijke sleutel van zijn host  server verifieert signatuur en publieke sleutel van de host van de client  gelijkaardig aan “publickey” –behalve nu hostauthenticatie i.p.v. gebruikersauthenticatie

23 Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 23 SSH Connection layer verschaft  interactieve loginsessies  uitvoering van instructies op afstand  geforwarde TCP/IP-connecties  geforwarde X11-connecties applicaties geïmplementeerd als kanalen (“channels”)  alle kanalen gemultiplexeerd in 1 geëncrypteerde tunnel (verschaft door SSH transport layer protocol)  kanalen geïdentificeerd door kanaalgetal aan beide uiteinden van connectie  kanaalgetallen kunnen verschillen voor zelfde kanaal aan client- en serverzijde


Download ppt "SSH Cursus informatiebeveiliging Eric Laermans – Tom Dhaene."

Verwante presentaties


Ads door Google