Hvad er forskellen mellem SSH og SSL? Hvilken er sikrere, hvis du kan sammenligne dem sammen?
Hvilken har flere potentielle sårbarheder?
Kommentarer
- Dette er ikke et rigtigt spørgsmål. Du sammenligner æbler og appelsiner. Hvad der kan hjælpe er, hvis du kunne forklare, hvorfor du vil vide det – da dette kan guide svarene. ønsker du f.eks. at implementere en sikker adgangsløsning og leder efter den nemmeste at sikre?
- @Rory Jeg tror ikke ‘ tror ikke det, som jeg kender de begge gør et lignende job (jeg ‘ sammenligner ikke æbler og appelsiner), men måske tager jeg fejl, så jeg bliver taknemmelig, hvis samfundet viser mig min fejl.
- @ Am1rr3zA, det er ikke helt rigtigt, at de udfører et lignende job. I praksis bruges SSL og SSH typisk til forskellige formål: SSH bruges oftest til fjernindlogning, SSL til krypteret internetadgang.
- @ D.W. Det ser ud til, at de nogle gange bruges til den samme ting, f.eks. SFTP ser ud til at være baseret på SSH , mens FTPS er baseret på SSL .
- I deres eget element har hver en styrke. Så se bare på det fra et hackperspektiv. Hvilket vil du hellere hacke? Spørgsmålet skal også stilles ” Hvilket er mere sikkert med henblik på … XYZ ” Da han stillede spørgsmålet uden at give formålet, at ‘ hvor alle blev hængt op. Mit eksempel med sikker vs. logon viser to forskellige formål (det er her, folk angav ” Hej disse to protokoller og deres sikkerhed tjener typisk ikke den samme funktion i brug ” og at ‘ er helt korrekt. Man kan muligvis stadig være ” mere sikker ” end den anden.
Svar
SSL og SSH leverer begge kryptografien elementer til at opbygge en tunnel til fortrolig datatransport med kontrolleret integritet. For den del bruger de lignende teknikker og kan lide af samme type angreb, så de skal give lignende sikkerhed (dvs. god sikkerhed) forudsat at de begge er korrekt implementeret. At begge eksisterer er en slags NIH syndrom: SSH-udviklerne skulle have genbrugt SSL til tunneldelen (SSL-protokollen er fleksibel nok til at rumme mange variationer, inkl. ting der ikke bruger certifikater).
De adskiller sig med hensyn til de ting, der er omkring tunnelen. SSL bruger traditionelt X.509-certifikater til annoncering af server- og klientens offentlige nøgler; SSH har sit eget format. SSH leveres også med et sæt protokoller for, hvad der går inde i tunnelen (multiplexing af flere overførsler, udførelse af adgangskodebaseret godkendelse i tunnelen, terminaladministration …), mens der ikke er sådan noget i SSL , eller mere præcist, når sådanne ting bruges i SSL, betragtes de ikke som en del af SSL (for eksempel når man udfører adgangskodebaseret HTTP-godkendelse i en SSL-tunnel, siger vi, at det er en del af “HTTPS”, men det fungerer virkelig på en måde svarende til hvad der sker med SSH).
Konceptuelt kan du tage SSH og erstatte tunneldelen med den fra SSL. Du kan også tage HTTPS og erstatte SSL-tingen med SSH-med-datatransport og en krog for at udtrække serverens offentlige nøgle fra sit certifikat. Der er ingen videnskabelig umulighed, og hvis det gøres ordentligt, ville sikkerheden forblive den samme. Der er dog intet udbredt sæt konventioner eller eksisterende værktøjer til det.
Så vi bruger ikke SSL og SSH til de samme ting, men det skyldes de værktøjer, der historisk fulgte med implementeringerne af disse protokoller, ikke på grund af en sikkerhedsrelateret forskel. Og den, der implementerer SSL eller SSH, anbefales at se på, hvilken type angreb der blev prøvet på begge protokoller.
Kommentarer
- Godt job. Og faktisk, da SSH er nemmere at konfigurere end SSL, tunnelerer mange mennesker http (ikke https) inde i SSH, f.eks. for at foretage ekstern systemadministration med et web GUI-værktøj som ebox eller webmin.
- Bare for at påpege, er det ‘ ikke helt rigtigt, at SSH-fyrene ” skulle ” have brugt SSL: SSH blev designet meget specifikt til at have en lille angrebsflade og være meget sikker. SSHv2 har ingen af problemerne og faldgruber i SSL / TLS, så gå med en mindre ting, som de u forstod godt, med mindre kompleksitet, kom de ud med noget, der var meget bedre egnet til deres situation. Det afhænger af, hvor paranoid du er: SSL er ikke ‘ t ubrugelig, afhængigt af applikationen, men SSH ‘ s design gør det acceptabelt i situationer / sikkerhedssamfund, hvor SSL simpelthen ikke er tillid til.
- @NicholasWilson ” SSH ‘ s design gør det acceptabelt i situationer / sikkerhedssamfund, hvor SSL simpelthen er ikke tillid til ” såsom …
- SSL og SSH blev udviklet parallelt (begge blev frigivet i 1995), så om SSH endda kunne have brugt SSL er ikke klart. Om det skulle have brugt den moderne SSL 2.0 er også meget tvivlsomt 🙂
- Nå, SSH 2.0 var en fuldstændig omskrivning af protokollen og dukkede op et stykke tid omkring 1999, så man kunne have genbrugt SSL 3.0 eller endda TLS 1.0. Men selvfølgelig ser TLS ud at være bundet med X.509, hvilket skræmmer udviklere væk.
Svar
Dette er ikke en rimelig sammenligning at lave. SSL er en generel metode til at beskytte data, der transporteres over et netværk, mens SSH er et netværksapplikation til at logge ind og dele data med en fjerncomputer.
Transportlagsbeskyttelsen i SSH har samme egenskab som SSL, så hvilket er “mere sikkert” afhænger af, hvad din specifikke trusselmodel kræver, og om implementeringen af hver enkelt adresserer de problemer, du prøver at håndtere.
SSH har derefter et brugergodkendelseslag, som SSL mangler (fordi det ikke har brug for det – SSL skal bare godkende de to forbindelsesgrænseflader, som SSH også kan gøre). I UTF-8 art:
SSL SSH +-------------+ +-----------------+ | Nothing | | RFC4254 | Connection multiplexing +-------------+ +-----------------+ | Nothing | | RFC4252 | User authentication +-------------+ +-----------------+ | RFC5246 | | RFC4253 | Encrypted data transport +-------------+ +-----------------+
Med hensyn til spørgsmålet, som der er flere potentielle angreb mod, ser det ud til, at SSH har en større angrebsflade. Men det er bare fordi SSH har en helhed applic ation indbygget i det: angrebsfladen af SSL + uanset hvilken applikation du har brug for at levere kan ikke sammenlignes, fordi vi ikke har nok information.
Kommentarer
- -1 Det er en rimelig sammenligning. Du antager forkert, at OP sammenligner SSL med unix-programmet ssh (1) . SSH er faktisk en anden protokol, der giver transportlagsikkerhed, hvilket tilfældigvis har særlige bestemmelser for fjernskaller og fjernudførelse.
- +1 @jpillora, mens jeg er enig i, at det giver mening at sammenligne de to, udtrykket SSH er ikke typisk brugt til at henvise til delsættet af SSH-protokollen, der håndterer transportlagsikkerhed, der kan sammenlignes direkte med SSL / TLS. Det bruges næsten udelukkende med henvisning til applikationslagsprotokollen, der adskiller sig fra SSL / TLS på den måde, der er beskrevet i dette svar.
- @freb den måde, de ‘ på henvist generelt ændrer ikke sandheden i sagen. SSH er en protokol, der bruges som transportlag til ssh-værktøjet. Det accepterede og mest stemt svar afspejler denne kendsgerning.
- @jpillora Jeg mente blot, at jeg ikke ‘ ikke tror, at SSH-transportlagsprotokollen er, hvad de fleste mennesker ville betyde i betragtning af formuleringen af spørgsmålet. I betragtning af svaret, der blev accepteret som korrekt, må det have været det, OP anmodede om.
- @freb Højre, de fleste mennesker tror, at i betragtning af formuleringen, hvilket gør det endnu vigtigere at rette op på dette fælles misforståelse.
Svar
Fra et strengt kryptografisk synspunkt leverer de begge godkendt kryptering, men i to forskellige veje.
SSH bruger den såkaldte Encrypt-and-MAC, dvs. den krypterede meddelelse sidestilles med en meddelelsesgodkendelseskode (MAC) i den klare meddelelse for at tilføje integritet. Dette er ikke bevist, at det altid er helt sikkert (selvom det i praktiske tilfælde skulle være nok).
SSL bruger MAC-derefter-krypter: En MAC sidestilles med den klare tekst, så er de begge krypteret . Dette er heller ikke det bedste, da det i nogle blokcipher-tilstande kan dele af MAC være gættelige og afsløre noget på chifferet. Dette førte til sårbarheder i TLS 1.0 (BEAST-angreb).
Så de har begge potentielle teoretiske svagheder. Den stærkeste metode er Encrypt-then-MAC (tilføj en MAC for den krypterede meddelelse), som f.eks. Implementeres i IPsec ESP.
Kommentarer
- SSH ‘ s binære pakkeprotokol er krypteret og MAC, hvor den for hver almindelig tekstbesked (m) sender krypteringsteksten E (m) ++ MAC (m) (sammenkædet krypteret besked med MAC) versus SSL, der gør E (m ++ MAC (m)). SSH er dog meget mere end bare dens binære pakkeprotokol (nøglehåndtering, ekstern shell-klient / server, filoverførsel osv.), Mens SSL (nu kaldet TLS) bare er transportlagsprotokollen, der bruges i andre protokoller, der tilføjer i den nødvendige funktionalitet (f.eks. HTTPS, FTPS, IMAPS osv.). Se også sammenligning af EtM, E & M, MtE at: crypto.stackexchange.com / spørgsmål / 202
- Fuldt aftalt, der er meget mere end hvad jeg skrev; at ‘ er hvad jeg mente med min incipit ” fra et strengt kryptografisk synspunkt “.
- BEAST er ikke relateret til MtE og skyldes kendt IV med CBC (i SSL3 og TLS1.0) – hvilket SSH2 også gør og ikke korrigerede, skønt det fik CTR som et alternativ, før både det og TLS fik AEAD = GCM (TLS også CCM) (og begge ChaCha / Poly) som et bedre alternativ. MtE + CBC-polstringsbaserede angreb er POODLE og Lucky13.
- Jeg har en løsning, der gør MAC-then-Encrypt sikker til enhver chiffer, der har outputstørrelse = inputstørrelse og ingen svag dataindgang i chiffer kerne.
- dette svar er forældet, da dette ikke er, hvad TLS gør i dag.
Svar
Jeg tror, der er et aspekt ved denne sammenligning, der blev overset. user185 kom tæt på, men kom ikke helt dertil. Jeg er enig i, at dette er æbler og appelsiner og føler en bedre sammenligning af æbler til æbler for at være HTTPS og SSH. HTTPS og SSH bruger forskellige lag af OSI-modellen og krypterer derfor dataene på forskellige gange i transmissionen. Derefter ville de virkelige spørgsmål, man skulle stille, være i retning af hvornår er disse data krypteret og ukrypteret under transmissionen. Dette afslører dine potentielle angrebsflader. Med HTTPS, når pakken er modtaget af en enhed i destinationsnetværket (Webserver, Border Router, load balancer osv.) er det ikke-krypteret og bruger resten af rejsen i almindelig tekst. Mange vil hævde, at dette ikke er en stor ting, da trafikken er intern kl. denne gang, men hvis nyttelasten indeholder følsomme data, gemmes den ukrypteret i logfilerne på hver netværksenhed, den passerer igennem, indtil den når sin endelige destination. Med SSH specificeres destinationsenheden typisk, og transmission er krypteret, indtil den når denne enhed. Der er måder at genkryptere HTTPS-data på, men det er ekstra trin, som de fleste glemmer at tage, når de implementerer en HTTPS-løsning i deres miljø.
Svar
ssh er som en nøgle (privat) og låsen (offentlig)
ssl er som døren og murstenene.
ssl giver en sikker forbindelse mellem to computerservere. f.eks. din og den, du opretter forbindelse til.
ssh er, hvordan den forbundne computer kan verificere sig selv og få adgang.
Kommentarer
- Du forklarer slet ikke kommentaren til ” og mursten “. SSL har også offentlige og private nøgler. SSL kan også bruges til klientgodkendelse. SSH giver også et sikkert link mellem klienten og serveren.
Svar
SSL er et protokollag, der er abstraheret fra det indhold, der tunneles. SSH er en sikker version af shell (SH), den var ikke designet til at indeholde et abstrakt lag under den, den var designet specielt til at transportere shell-trafik. Så selvom crypto-operationer bruges i begge dele, og disse crypto-operationer endda kunne være de samme, er formålet, og derfor er det overordnede design helt anderledes.
Husk, at der er specifikke forskelle (som nævnt ovenfor ), men de fleste, hvis ikke alle disse forskelle er rodfæstet i formålet med de forskellige protokoller.
Kommentarer
- -1 Du antager forkert antagelsen at OP sammenligner SSL med unix-programmet ssh (1) . SSH er faktisk en anden protokol, der giver sikkerhed for transportlag, hvilket tilfældigvis har særlige bestemmelser for fjernskaller og fjernudførelse.
Svar
Hvis du virkelig leder efter SSH vs SSL (TLS), er svaret SSH.
Af en grund til hvorfor SSH vinder over SSL er den måde, den udfører godkendelse på. På grund af denne grund, når du bruger FTP, skal du bruge SSH-protokol (SFTP) i stedet for FTPS (FTP over SSL).
SSH bruges i virksomhedsnetværk til:
- giver sikker adgang til brugere og automatiserede processer
- interaktive og automatiserede filoverførsler
- udstedelse af fjernkommandoer
kilde: https://www.ssh.com/ssh/protocol/#sec-Typical-uses-of-the-SSH-protocol
Kommentarer
- ” Af en grund vinder SSH over SSL den måde, den udfører godkendelse ” Har du en kilde eller forklaring på denne påstand?
- I SSH har man to muligheder for at forbinde serveren. Med nøglebaseret godkendelsesmulighed skal man først oprette en SSH privat nøgle og offentlig nøgle på forhånd. Hvilket ikke er meget ekstra arbejde. Dette overvejes også bedste sikkerhedspraksis. SSL har så mange versioner, den seneste er TLS1.2.Hvilket betyder, at det ‘ ikke er så sikkert endnu, men i færd med at blive bedre.
- TLS har også certifikater på klientsiden. Du forklarer ikke, hvorfor SSH ” vinder “.
- Hvis du vil kopiere / indsætte et sted, sørg for at citere din kilde.
- ” SSL har så mange versioner ” Så 6 versioner er ” så mange “? OpenSSH er på version 7.7. ” Hvilket betyder, at det ‘ er endnu ikke så sikkert, men i færd med at blive bedre. ” Din logik giver ingen mening her.
Svar
Problemet er dobbelt så det ” Det er ikke kun krypteringens styrke og svaghed, men det er leveringens lethed og bekvemmelighed. Så fra forretningsperspektiv er SSL / TLS mere bekvemt og lettere, fordi det bare kræver en browser og enten en offentlig eller privat certificering.
Og SSH kræver enten applikationen eller den tynde klient installeret for at bruge den. Dette er mere et problem set fra brugerens internetklientperspektiv og support.