Permalänk
Avstängd

Var är 384-bit och 512-bit SSL?

Tjo! Jag skriver en hel del recensioner om olika sidor och då kollar jag alltid SSL-krypteringsskyddet som används (för att skriva om säkerheten på sidan ifråga) och då är det alltid 128-bit eller 256-bit. Men var är nästa steg som 384-bit och 512-bit SSL? Skulle sådant nästa steg bli för ansträngande för servrar och slutkunder?

Visa signatur

"Företagsboendeförmedlare" | Min Überkill Dator: Processor: Intel Pentium P5 66 Mhz OC | Moderkort: ASRock P4I65G | Minnen: 2st Samsung 128MB PC133 | Grafikkort: Canopus GeForce 256 DDR | Lagring: IBM 350 4,4 MB | Operativsystem: DOS/360 | Chassi: Mercury Full-Tower ATX Chassis |

Permalänk
Medlem

Är inte 384-bit lite osannolikt? Jag känner att det bör vara i tvåpotens likt allt annat? 🤔

Jag kände bara för att påpeka det / fråga om det. Annars kan jag dessvärre inte så mycket om SSL.

En till fråga: Är det som finns idag otillräckligt? Du verkar ju ha lite koll på SSL iaf gissningsvis

Permalänk
Avstängd
Skrivet av Forsgren:

Är inte 384-bit lite osannolikt? Jag känner att det bör vara i tvåpotens likt allt annat? 🤔

Jag kände bara för att påpeka det / fråga om det. Annars kan jag dessvärre inte så mycket om SSL.

En till fråga: Är det som finns idag otillräckligt? Du verkar ju ha lite koll på SSL iaf gissningsvis

Jag har ingen aning alls. Men om jag tolkat rätt så handlar 128-256 bit om hur många bitar som används för kryptering? Ju längre krypteringen är då, desto längre att knäcka den (förutsatt att inga kryphål finns i själva krypteringstekniken). Jag vet inte hur 512 bitar för krypteringen skulle ha för signifikant eller insignifikant inverkan på exempelvis laddningstider, responstider, osv för vanlig webbsurfing.

Visa signatur

"Företagsboendeförmedlare" | Min Überkill Dator: Processor: Intel Pentium P5 66 Mhz OC | Moderkort: ASRock P4I65G | Minnen: 2st Samsung 128MB PC133 | Grafikkort: Canopus GeForce 256 DDR | Lagring: IBM 350 4,4 MB | Operativsystem: DOS/360 | Chassi: Mercury Full-Tower ATX Chassis |

Permalänk
Medlem

Det enkla svaret är att SHA-256 är nästan lika säkert. Och med nästan lika säkert så menar jag att det handlar om en teoretisk skillnad som har väldigt liten praktisk betydelse. Det har ingen större praktisk betydelse om det tar tre miljarder år eller sex miljarder år att knäcka något.

Exakt hur det skulle påverka bandbreddsanvändning och annan resursanvändning kan jag faktiskt inte uttala mig då jag har dålig koll på implementationen av TSL (som är "det nya" SSL) så det överlåter jag till någon annan. Men en gissning är att dubbel mängd data innebär ungefärligt dubbelt så mycket resursanvändning.

Här har vi en snabb genomgång av SHA vilket kan vara till nytta (notera att det är en översikt av hash-funktioner):
https://www.youtube.com/watch?v=DMtFhACPnTY

Visa signatur

Intel Core i5 3570K @ 4.2GHz | Hyper 212 EVO | 12 GB DDR3 |GTX 1070 8GB ROG STRIX DC3 | Fractal Design Tesla R2 650W | Fractal Design Define R4 Titanium | 370 GB SSD totalt | ~2TB HDD totalt
+ Acer Predator Helios 300 GTX 1060
Båda kör MS Röj i minst 50 FPS.

Permalänk
Medlem

Kryptofolk är alltid oroliga att det finns 'sprickor' i sina algoritmer dvs. att det finns mönster i möjliga utdata i tex. en hash-algoritm som aldrig inträffar oavsett hur mycket data man matar in i hash-algoritmen - och alla de mönster som _inte_ inträffar (och gör sannolikheten för kollisioner högre, dvs. att två olika mönster ger samma utdata) är samma sak som att hash-algoritmen minskat ett antal bitar i 'styrka'

Det är detta som hänt med bl.a SHA1 där förväntad styrka av 80 bitar (av 160 bitars utdata - födelsedags-paradoxen halverar alltid antalet utmatade bitar i 'styrka' ur en hash-agoritm) men nu reducerat till runt 63 bitar och därmed möjlig - dock fortfarande till stor kostnad - att räkna fram hash-krockar som man gjorde med pdf-dokument för att bevisa det (stuxnet mfl. gjorde det också genom att göra sin virus 'legitimt' med en hash-summa (md5 på den tiden ?) som är samma som av Microsofts 'terminal service'-program och därmed installerades utan minsta not till administratörerna att det ens skett)

- problemet är att det är så otroligt svårt att bevisa sina algoritmer är säkra och därför tittar man hela tiden på alternativ.

Att ha fler bitar är inte automatiskt att det blir säkrare - det kanske bara gör att det blir fler kombinationer som aldrig inträffar på dess utgång och gör att 'styrkan' är som innan i bit räknat

Motsvarande problem kan man också se på chiphern som gör krypteringsjobbet - att det finns alternativ i det krypterade med kombinationer som aldrig inträffar - som idag är näst intill omöjliga att bevisa dess existens men om 10-20 år kanske har hittat någon svaghet med den beräkningskapacitet som finns då.

Därför spanar man efter framtida alternativ även här med kanske helt andra algoritmer då många av de algoritmer som används idag är nära besläktade med varandra och därför riskerar att ha svagheter som följer med även när man använder flera bitar utan att det ökar på motståndet mot attacker i någon nämnvärd grad. - kort sagt man når ett tak/mättning inom algoritmen som man inte kommer förbi även om man ökar på antalet bitar.

Kan tom. vara så att flera bitar ur en hash/cipher-algoritm börja läcka data om sina inre lägen och blir svagare än alternativet med färre bitar.

Permalänk
Medlem
Skrivet av AplAy:

Men var är nästa steg som 384-bit och 512-bit SSL? Skulle sådant nästa steg bli för ansträngande för servrar och slutkunder?

Utan att vara någon expert så gissar jag att anledningen är att ja, det skulle bli för ansträngande för både server och klient.

Jag tippar på att både klienter och servrar numera nästan uteslutande använder sig av hårdvaruaccelererad kryptering (AES-NI på AMD/Intel och liknande implementationer på andra plattformar). AES är specat för nyckellängder upp till 256 bitar. NIST får hitta på en ny algoritm eller uppdatera sina specar innan det blir aktuellt med längre nycklar. Sedan måste förstås ny hårdvara utvecklas och bli vanlig på marknaden också.

En testkörning mot SSL Labs visar att nästan alla typer av moderna klienter kommer att välja någon form av AES-kryptering med 128-bitars nyckel och hashning/signering med SHA-256.

TLS 1.3 är den nyaste versionen av TLS, SSL används inte mycket numera eftersom det är osäkert. Det lär dröja innan 1.3 blir vanligt i praktiken. TLS 1.3 specar inga kryptoalgoritmer med längre nominell nyckel än 256 bitar, så ett nytt protokoll är också en förutsättning, men det är nog en mindre viktig faktor än frånvarån av brett stöd för hårdvaruaccelerering av krypton med längre nycklar.

Ovanstående gäller förstås den symmetriska krypteringen av trafik i sessioner. För att ta fram en sessionsnyckel används redan idag (assymetriska) krypton med längre nycklar, men det är inget problem eftersom det bara görs när sessionen ska starta.

Permalänk
Medlem
Skrivet av Forsgren:

Är inte 384-bit lite osannolikt? Jag känner att det bör vara i tvåpotens likt allt annat? 🤔

Jag kände bara för att påpeka det / fråga om det. Annars kan jag dessvärre inte så mycket om SSL.

En till fråga: Är det som finns idag otillräckligt? Du verkar ju ha lite koll på SSL iaf gissningsvis

128 + 256 = 384, det är en inte helt ovanlig siffra inom IT-världen, men inte lika vanlig som tvåpotenserna...

Permalänk
Medlem

@Xerbee: Ah, jo, jag hade redan sett sambandet med 128 + 256 men tycker jag bara inte sett det. Men å andra sidan har jag väl inte tänkt så mycket på att leta heller Men alright, då förstår jag!

Permalänk
Skrivet av AplAy:

Tjo! Jag skriver en hel del recensioner om olika sidor och då kollar jag alltid SSL-krypteringsskyddet som används (för att skriva om säkerheten på sidan ifråga) och då är det alltid 128-bit eller 256-bit. Men var är nästa steg som 384-bit och 512-bit SSL? Skulle sådant nästa steg bli för ansträngande för servrar och slutkunder?

SSL ska inte användas sedan juni 2015 (https://tools.ietf.org/html/rfc7568). Man har tryckt pensioneringen av TLS 1.0 och 1.1 framför sig i flera år nu, men nu verkar det äntligen som att de är på väg bort under nästa år (PCI DSS-standarden för kreditkortshantering förbjöd användning av TLS 1.0 i somras och rekommenderar minst TLS 1.2 sedan dess). TLS1.3 har funnits i ett år nu och bör börja tas i bruk på servrar som vill hålla sig i framkant.

Bitantalet du frågar efter bestäms av chiffersviten som används ”ovanpå” TLS-protokollet. Det normala förfarandet är att man använder ett starkt och beräkningsmässigt dyrt chiffer för att komma överens om parametrarna för kommunikationen som sedan sker med ett chiffer som är billigare att beräkna.

Aktuell information och rekommendationer hittar du exempelvis på https://ssllabs.com och https://wiki.mozilla.org/Security/Server_Side_TLS. Har du inte läst den redan är den engelska Wikipediaartikeln om TLS också hyfsat uttömmande.

Permalänk

Visst finns det krypteringsalgoritmer med större nycklar. Men i dagsläget så anses redan 128 bitar vara en god marginal, och 256 bitar är redan det där extra säkra alternativet med en extra stor säkerhetsmarginal.

Tänk på att varje bit dubblerar antalet beräkningar som krävs för att knäcka en specifik symmetrisk krypteringnyckel. Det är alltså lika svårt att knäcka AES 256 en gång som att knäcka AES 128 så många som 2^128 gånger!

Det finns även några alternativ till AES som används, exempelvis ChaCha20, en så kallad stream cipher (strömmande chiffer). AES är ett blockchiffer som krypterar data blockvis, medan ChaCha20 genererar en lång serie oförutsägbara bitar (1 och 0) som du mixar med ditt meddelande.

Och oavsett vilken symmetrisk algoritm du använder så blir det inte starkare än svagaste länken, vanligtvis nyckelutbytet (Key exchange), alltså exempelvis ECDHE med curve25519 eller liknande asymmetriska algoritmer som skapar en unik nyckel per session. Dessa har vanligtvis en styrka som motsvarar 128 bitar just eftersom asymmetriska algoritmer blir mycket långsammare med stora nycklar än vad symmetriska algoritmer blir.

Ni är förresten också välkomna till https://reddit.com/r/crypto om ni vill snacka mer om kryptografi

Skickades från m.sweclockers.com

Visa signatur

sqrt(1787569)

Permalänk

Obligatorisk läsning:

Permalänk
Avstängd

Jag ser att Sweclockers kör med SHA384 256 bit TLS 1.2 - vad tycker ni om det? Tillräckligt? Överdrivet?

Visa signatur

"Företagsboendeförmedlare" | Min Überkill Dator: Processor: Intel Pentium P5 66 Mhz OC | Moderkort: ASRock P4I65G | Minnen: 2st Samsung 128MB PC133 | Grafikkort: Canopus GeForce 256 DDR | Lagring: IBM 350 4,4 MB | Operativsystem: DOS/360 | Chassi: Mercury Full-Tower ATX Chassis |

Permalänk
Skrivet av AplAy:

Jag ser att Sweclockers kör med SHA384 256 bit TLS 1.2 - vad tycker ni om det? Tillräckligt? Överdrivet?

Det ser väl ganska normalt ut? (Jämför med Mozilla-länken jag postade ovan).

Men:
Tekniskt säger du till din server att den ska erbjuda en lista av chiffersviter, och så ber klienten (om den uppför sig korrekt) om den bästa av dem som den är kapabel att använda. I förlängningen betyder det att en annan användare kan komma att använda ett helt annat (och betydligt mindre säkert) chiffer än vad du själv använder. Ska du göra en meningsfull kontroll av en sites säkerhet behöver du med andra ord fråga servern om alla chiffer den erbjuder och utvärdera dem individuellt.

Permalänk
Medlem

Håll isär hash och crypto. SHA är hash och används för integriret och identifiering. Det har ingen direkt koppling till krypteringen av data. Fler bitar i hashen ger såklart fler kombinationer. Det finns en mer än en ursprunglig sträng som resulterar i samma hash, eftersom antalet hash alltid är ändligt, men ursprungssträngen är oändlig. Man kan mao luska fram en privat nyckel utifrån en signatur (vilket nån tysk gjorde mha 200st PS3 för ett antal år sen). SHA256 och uppåt anses generellt sett bra val idag.

Antalet bitar i krypteringen säger ingenting om man inte samtidigt anger vilken krypteringsalgoritm som används. Där får man också hålla isär assymetriska krypton (typ RSA, som vanligen kör 2048-bit) och symmetriska (typ AES, (128, 192, 256 bit)). Som nån påpekade ovan så är eliptic curve crypton inte alls i samma behov av antal bitar för att uppnå samma säkerhet som klassiska krypton. Det är dessutom mindre belastning på CPU att hantera dom.

Allt under TLS 1.2 bör undvikas. SSLv1 knäcktes innan den hann lanseras. SSLv2 och v3 är direkt värdelöst. TLS 1.0 och 1.1 bör man undvika, det finns extremt få enheter idag som inte klarar 1.2.

Sweclockers har en cipher suite som är "sådär". Det finns bra och mindre bra ciphers/protokoll som accepteras. När en klient ansluter krypterat skickar den med en lista på vilka ciphers den kan hantera. Sedan svarar servern och väljer ett cipher som den också kan hantera. Därför bör man stryka svaga krypton (och protokoll) från listan på krypton som servern accepterar. Jag hade dissat TLS 1.1 och 1.0 om det inte finns en specifik anledning att ha dom på. Endast RSA som assymetrisk kryptering är inte heller direkt state-of-the art, men inte kasst heller. Dom flesta kör det fortfarande.

Visa signatur

ecce
#NATisNotASecurityFeature