Vilken typ av kryptografi använder SSH?


Bästa svaret

Den använder en hybridkryptering. Asymetrisk kryptografi används för att skapa en sessionsnyckel som i sin tur används som en nyckel för en symmetrisk chiffrering.

Dessa symmetriska chiffrer är antingen blockchiffer (oftast AES) eller sällsynta (men föredras av er verkligen) strömkodare som Salsa20, även känd som ChaCha.

Användningen av blockkodningar förtjänar lite mer förklaring, eftersom det har betydande konsekvenser för konfidentialiteten för kommunikationen.

Blockera kodningar är MYCKET bra för kryptering av block med fasta storlekar – därav namnet. Problemet när det används som nyttolastkryptering för SSH är att kommandon vanligtvis inte kommer i ett block av en förutbestämd storlek, när det gäller AES 128bit. Låt oss anta att du anger kommandot

$ ls

Inte riktigt 128bit. Så för att kunna använda en blockkodning skulle något som kallas stoppning sparka in – de återstående 104 bitarna skulle nollställas (förenklas).

Detta medför emellertid ett problem: förutsatt att ett enda paket som skickas innehåller polstring åtminstone till en viss grad, skulle vi ha en delvis känd klartext. Från detta skulle det vara möjligt över tid (och många fångade paket) att beräkna sessionsnyckeln.

För att förhindra att vissa chifferlägen uppfanns. Under lång tid användes chifferblockkedjning:

Vad detta diagram i grund och botten säger är detta:

  1. För att det första blocket ska krypteras används ett förhandlat block med slumpmässiga data som en så kallad Initialiseringsvektor.
  2. Klartext och IV utsätts för en Exklusiv eller (XOR) -operation: en operation som är ganska lätt att återställa om du har IV, men väldigt, väldigt svårt om du inte har det.
  3. Nu används nyckeln för att kryptera resultatet av XOR-operationen.
  4. Den resulterande krypteringstexten används sedan som IV för nästa block.

Eftersom klartext kommer nu att modifieras kraftigt innan du går in i krypteringen, det finns ingen känd klartext längre. I teorin. Tja, inte ens det. CBC anses inte längre vara toppmodernt, främst för att en framgångsrik attack publicerades av Serge Vaudenay . Numera används Räknarläge eller Galois räknarlägen . Att förklara dem är lite utanför räckvidden för denna fråga, men det räcker att säga att de uppfyller samma syfte som CBC, men anses vara säkra.

Så det skulle vara korrekt att säga att en hybrid kryptering används, med asymmetriska chifferer som används för autentisering av servern och valfritt klienten såväl som nyckelutbytet, varvid den utbytta nyckeln används för en symmetrisk strömkodning eller en blockkryptering i antingen CBC- eller (G) CTR-läge.

Svar

A2A Vad är huvudalternativet till SSH?

Uppriktigt sagt, jag don tror inte det finns en. Det är som att fråga vad som är huvudalternativet till hjulet. Protokollet är så användbart, säkert och öppen källkod att det inte är någon mening att utveckla något annat. Telnet är för SSH eftersom Travois är för ratten.

Jag håller med mycket av Neil Richins svar i teorin, men NFS är inte ett säkert alternativ till SSH / SCP (det är ett LAN-protokoll, inte ett offentligt internetprotokoll) och Mosh använder SSH för transport.

Om det finns problem i SSH, blir de fixade. Ingen överger hela saken. Det är därför vi använder SSH 2 istället för SSH 1, och många av de ursprungliga koderna har avskaffats. Som SSL / TLS.

Jag trodde att FTP dog med Telnet, dödades av HTTP (valfritt med SSL), SCP, SFTP och Rsync (med SSH-transport). Men då fann jag att det hade vägrat att dö, och att människor hade skapade en säker version FTPS. Så det finns det för filöverföringar. Personligen använder jag SCP och Rsync. Ett annat alternativ för filöverföring är HTTP med SSL / TLS. För nedladdning fungerar HTTP GET enkelt för att få alla filer från en webbserver. För uppladdning, HTTP POST fungerar om du skriver en hanterare och H TTP PUT fungerar om det implementeras i t.ex. WebDAV. Så för att upprätthålla ett delat utrymme över ett säkert protokoll är WebDAV ett alternativ till Rsync / SSH. Problemet där är att SCP / Rsync upprätthåller filägande, medan i WebDAV eller POST tillhör allt uppladdat webbserverprocessen. CMS-system är till sin natur osäkra genom att om webbservern hackas har webbserverprocessen skrivåtkomst till allt innehåll – det finns ingen användarseparation.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *