Perché Windows 98 / IE5 non può connettersi ai siti HTTPS nel 2015?

34

Recentemente ho trovato un vecchio CD di installazione per Windows 98 Second Edition e, cercando un po 'di nostalgia, l'ho installato all'interno di VirtualBox. Win98SE è stato distribuito con IE 5.0 e la navigazione sul Web con quel browser è stata un'esperienza irrisoria come si potrebbe immaginare.

Ho notato che, a prescindere da quello che ho provato, non riuscivo a connettere IE a nessun sito any HTTPS. E mi sono chiesto perché fosse così. Tutti i certificati CA affidabili sono stati spediti con scaduto? Tutti gli algoritmi TLS / SSL predefiniti sono stati gradualmente eliminati negli ultimi 16 anni? Aveva bisogno di IE High Encryption Pack (wow, è sempre stato da quando ci ho pensato).

Sono curioso di sapere se questo potrebbe influenzare altri sistemi operativi di quell'epoca (Mandrake 6!) o se il problema principale è in qualche modo specifico di Windows.

    
posta smitelli 04.08.2015 - 16:30
fonte

5 risposte

37

Il problema principale è probabilmente che un IE di quell'epoca vorrebbe supportare SSL 2.0 e, quindi, invia il suo messaggio iniziale ( ClientHello ) nel formato SSL 2.0, che non ha nulla in comune con ClientHello versioni successive del protocollo (SSL 3.0 e tutte le versioni TLS). Ciò ha permesso al browser di connettersi a un server che conosceva SSL 2.0 ma nient'altro, mentre ClientHello continua a documentare che il client è pronto per utilizzare qualcosa di più moderno.

Tuttavia, i server moderni non supportano più il formato diClientHello di SSL-2.0%. C'è stato un periodo transitorio durante il quale hanno ancora accettato quel formato (anche se non avrebbero permesso alla connessione di utilizzare effettivamente SSL 2.0), ma ora hanno abbandonato del tutto il supporto. In particolare, il formato diClientHello SSL-2.0% non ha spazio per estensioni come SNI, il che spiega l'urgenza di abbandonare tale supporto.

Altri problemi includono quanto segue:

  • IE 6.0 supporta TLS 1.0 ma è disattivato per impostazione predefinita. Non so se IE 5 avrebbe supportato TLS 1.0, ma in ogni caso non sarebbe stato abilitato di default. Tuttavia, molti server moderni rifiutano anche SSL 3.0 (a causa di POODLE, come notato da @etherealflux).

  • Il codice cliente non saprà nulla di AES, poiché risale a prima della standardizzazione di quell'algoritmo. Proverà ad usare le suite di crittografia basate su RC2, 3DES, possibilmente su RC4 (questo richiederebbe una certa verifica perché RC4 era di proprietà di nemesi di IE, Netscape, quindi probabilmente IE 5 non lo userebbe). Al giorno d'oggi questi algoritmi non sono molto popolari tra gli amministratori dei server ...

  • I siti moderni utilizzano chiavi crittografiche piuttosto grandi. In genere, RSA con chiavi di almeno 2048 bit. Un vecchio Windows + IE potrebbe essere più limitato nelle dimensioni delle chiavi RSA che può gestire. In particolare, un Windows + IE conforme alle regole di esportazione degli Stati Uniti sulla crittografia dell'era precedente al 2000 potrebbe essere limitato fino a una dimensione massima di 1024 bit per chiavi RSA. La stessa combinazione rifiuterebbe anche di usare 3DES o qualsiasi cosa con una chiave simmetrica maggiore di 56 bit, mentre nessun server decente del 2015 accetterebbe qualcosa di meno di 128 bit.

Per i sistemi basati su Linux, non esiste un'implementazione SSL centrale (spesso esiste una libreria OpenSSL, ma non qualcosa di pervasivo come SChannel e CryptoAPI di Microsoft). Quindi ogni browser avrà le sue regole. Prima del 2000, questo avrebbe significato Nestcape Navigator (quello che segfaults quando vede qualcosa in UTF-8 ...). Forse alcuni dei primi browser basati su KDE potrebbero fare un po 'di SSL? In tal caso, probabilmente userebbe OpenSSL e che dovrebbe comunque essere in grado di connettersi ad alcuni server, con la configurazione corretta (in particolare se si evita il formato SSL-2.0 per ClientHello ).

    
risposta data 04.08.2015 - 17:47
fonte
6

Potrebbero esserci più motivi, ne elenco solo alcuni che mi sono venuti in mente:

  1. Quando si stabilisce la connessione SSL / TLS (l'handshake) il client invia un elenco di pacchetti di crittografia al server. La responsabilità del server è quindi selezionare quella che verrà utilizzata. Nel caso in cui non vi sia un codice adatto, la connessione viene interrotta.
  2. SNI - Estensione del nome del server. AFAIK questo non è supportato per IE6 e precedenti su XP.

Per essere onesti, non sono nemmeno sicuro se IE5 supporti TLS.

    
risposta data 04.08.2015 - 16:36
fonte
2

Probabilmente hai ragione. La maggior parte dei siti web ora proibisce l'uso di protocolli SSL obsoleti - ricorda che SSL v3.0 faceva parte dell'attacco POODLE , tra gli altri cose! Se il tuo browser supporta solo i protocolli disabilitati, non andrai molto lontano.

Wikipedia ha un grande grafico sulla sua pagina su SSL / TLS , che mostra quali protocolli sono supportati di default su vari browser versioni. Ancora più importante, Internet Exploder 6 supporta solo fino a TLS 1.0 ed è disabilitato per impostazione predefinita. Ciò significa che probabilmente il tuo browser sta tentando di utilizzare SSL v3.0.

Dovresti essere in grado di controllare lo stato dei tuoi certificati di fiducia - dopo tanti anni, spero che siano scaduti. Il sistema operativo è così vecchio che le ricerche di Google non danno molti consigli su come farlo, però!

    
risposta data 04.08.2015 - 16:38
fonte
2

La causa probabile potrebbe essere che non molti server supportano le condizioni di crittografia che IE5 ha la capacità di usare. Al momento della versione del tuo IE aveva solo il supporto SSL e non il supporto TLS.

SSL 1.0 non è mai stato rilasciato pubblicamente. SSL 2.0 e 3.0 sono stati deprecati. Anche se i server in circolazione potrebbero supportarli, probabilmente non verranno trovati sui server dei siti Web più popolari.

Lo standard TLS 1.0 non è stato definito fino al 1999. E Microsoft è a lungo nota per non aver raccolto gli standard in modo tempestivo. È probabile che IE 5.0 o 5.01 (bug fix edition) sia impacchettato nel sistema operativo che non ha crittografia. La versione con crittografia era 5,5. Non è incluso nella versione del sistema operativo ma compatibile. Comunque non sarai libero e in chiaro ancora. Supporta solo TLS 1.0 a 128 bit che IE disabilita di default.

Anche il certificato EV, il certificato SHA-2, i certificati ECDSA non sono supportati. Trovare un server in libertà con un cert di 128 bit con TLS 1.0 e seme di criptazione IE5 sarà estremamente raro.

    
risposta data 04.08.2015 - 18:14
fonte
2

Installa Opera compatibile con Windows 98, Sto usando 10.10.

Accedi alla barra dei menu.

Tools- > Perferences = > Scheda Avanzate

Seleziona il pulsante Sicurezza e poi i Protocolli di sicurezza ...

La finestra popup ha la casella di controllo per Abilita SSL 3.

Successo! Il sito di Google che utilizza HTTPS funziona di nuovo!

    
risposta data 16.08.2015 - 11:42
fonte

Leggi altre domande sui tag