Il GSM è stato progettato in un momento in cui i prodotti di consumo, in particolare i primi telefoni GSM e le smart card, erano molto meno potenti di quanto lo siano oggi (in quel momento, un computer desktop stava usando , nella migliore delle ipotesi, una CPU 68020 a 16 MHz o qualcosa di simile). La crittografia asimmetrica non può essere raggiunta entro un ragionevole lasso di tempo su queste carte.
Il modello di chiave condivisa è un problema, ma non proprio quello a cui potresti pensare. Gli obiettivi del protocollo sono:
- Per proteggere la riservatezza della conversazione contro gli ascoltatori over the air.
- Stabilire alcune "prove" che la chiamata sia realmente avvenuta, a fini di fatturazione.
La riservatezza non è mai stata pensata per nient'altro che la trasmissione radio tra il telefono e la stazione base più vicina. Non è, non è mai stato e non è mai stato concepito per essere un sistema di crittografia end-to-end (cioè da telefono a telefono). I provider vogliono accedere ai dati grezzi, se non altro per poter (ri) comprimere il feed vocale in modo più aggressivo di quello che fanno i telefoni stessi (*). In quel modello, il fornitore è, per definizione, fidato. Un modello "segreto condiviso", con una chiave nota sia al telefono che al provider, va bene a tale riguardo .
Naturalmente, c'è ampio spazio per commettere errori, ad esempio utilizzando una funzione di derivazione della chiave scarsa o < a href="http://en.wikipedia.org/wiki/A5/1"> algoritmo di crittografia ancora peggiore . Il modello segreto condiviso, tuttavia, non è qui al problema.
È per il secondo punto che usare un segreto condiviso non è ottimale. Se il segreto è noto sia al dispositivo dell'utente che al provider, allora tutto ciò che è calcolato relativamente a questo segreto potrebbe essere stato calcolato dall'utente o dal fornitore. In quanto tale, non dovrebbe essere utilizzabile come prova in una controversia tra l'utente e il fornitore. Il meccanismo di fatturazione è quindi a rischio (sebbene l'esperienza dimostri che, nella pratica , i fornitori non trovano difficile ottenere denaro dai consumatori). Un modello "accademicamente" migliore implicherebbe le firme asimmetriche (quindi non DH, ma piuttosto DSA) dove un telefono firmerebbe la sua richiesta di apertura o mantenimento di un canale di comunicazione.
(*) Naturalmente, l'accesso ai dati grezzi aiuta anche l'intercettazione da parte delle autorità legali, ma a mia conoscenza questa non è la ragione principale. In effetti, la crittografia end-to-end è difficile perché entrambe le estremità devono essere d'accordo sul protocollo da utilizzare. La crittografia punto-punto è molto più semplice.