Protocollo Signal: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Note |
Fix note |
||
Riga 2:
Il '''protocollo Signal''', in [[Lingua inglese|inglese]] ''Signal Protocol'', (precedentemente noto come '''protocollo TextSecure''') è un [[protocollo crittografico]] non federato che fornisce la [[crittografia end-to-end]] per i messaggi e le chiamate di [[messaggistica istantanea]]. Il protocollo è stato sviluppato da [[Open Whisper Systems]] nel 2013 ed è stato introdotto nell'app [[open source]] [[TextSecure]], che in seguito è stata rinominata [[Signal (software)|Signal]]. Diverse applicazioni con [[Software proprietario|codice proprietario]] hanno implementato questo protocollo, come [[WhatsApp]], che crittografa le conversazioni di "oltre un miliardo di persone in tutto il mondo"<ref>{{Cita web|url=https://signal.org/blog/whatsapp-complete/|titolo=WhatsApp's Signal Protocol integration is now complete|sito=Signal|accesso=5 aprile 2016}}</ref> o [[Google (azienda)|Google]] che fornisce la crittografia end-to-end per impostazione predefinita a tutte le conversazioni [[Rich Communication Services|RCS]] individuali tra gli utenti dell'app Google Messages.<ref name=":0">{{Cita web|url=https://www.theverge.com/platform/amp/2020/11/19/21574451/android-rcs-encryption-message-end-to-end-beta|titolo=Google is rolling out end-to-end encryption for RCS in Android Messages beta|sito=The Verge|accesso=28 novembre 2020|urlarchivio=https://web.archive.org/web/20201119174803/https://www.theverge.com/platform/amp/2020/11/19/21574451/android-rcs-encryption-message-end-to-end-beta}}</ref> Anche [[Facebook Messenger]] offre il protocollo per le "Conversazioni segrete", così come [[Skype]] per le sue "Conversazioni private".
Il protocollo combina l'algoritmo di [[Double Ratchet (algoritmo)|Double Ratchet]], le prechiavi (le chiavi pubbliche effimere monouso che sono state caricate in anticipo su un server centrale) e un [[handshake]] [[Scambio di chiavi Diffie-Hellman|Diffie–Hellman a tripla curva ellittica]] (3-DH),
== Storia ==
Lo sviluppo del Protocollo Signal è iniziato nel 2013 grazie a [[Trevor Perrin]] e [[Moxie Marlinspike]] (Open Whisper Systems). La prima versione del protocollo, TextSecure v1, era basata sul protocollo di [[Off-the-Record Messaging|messaggistica Off-the-record]] (OTR).<ref name="Cohn-Gordon-2016-p2">{{cita|Cohn-Gordon|p. 2|titolo=A Formal Security Analysis of the Signal Messaging Protocol}}</ref><ref>{{Cita web|url=https://github.com/WhisperSystems/TextSecure/wiki/Protocol|titolo=Protocol|accesso=28 ottobre 2016}}</ref>
Il 24 febbraio 2014, Open Whisper Systems ha introdotto TextSecure v2,<ref name="Donohue-2014">{{Cita web|url=https://threatpost.com/textsecure-sheds-sms-in-latest-version/104456|titolo=TextSecure Sheds SMS in Latest Version|sito=Threatpost|accesso=14 luglio 2016}}</ref> la seconda versione del protocollo che è basata su Axolotl Ratchet.<ref name="Cohn-Gordon-2016-p2">
La terza versione del protocollo, TextSecure v3, ha apportato alcune modifiche alle primitive crittografiche e al protocollo wire.<ref name="Cohn-Gordon-2016-p2">
Nel marzo 2016, gli sviluppatori hanno rinominato il protocollo TextSecure in Protocollo Signal. Hanno inoltre rinominato l'algoritmo Axolotl Ratchet in [[Double Ratchet (algoritmo)|Double Ratchet]] per differenziare meglio il ''ratchet'' dal protocollo completo<ref name="signal-inside-and-out" /> perché alcune persone avevano utilizzato il nome Axolotl riferendosi al protocollo completo.<ref name="signal-inside-and-out">{{Cita web|url=https://whispersystems.org/blog/signal-inside-and-out/|titolo=Signal on the outside, Signal on the inside|sito=Signal Blog|accesso=9 aprile 2016}}</ref>!
Nell'ottobre 2016, alcuni ricercatori dell'[[università di Oxford]] nel regno unito, dell'università Queensland in Australia e dell'università McMaster in Canada hanno pubblicato un'analisi formale del protocollo concludendo che è crittograficamente solido.<ref name="Brook-2016-11-10">{{Cita web|url=https://threatpost.com/signal-audit-reveals-protocol-cryptographically-sound/121892/|titolo=Signal Audit Reveals Protocol Cryptographically Sound|sito=Threatpost|accesso=11 novembre 2016}}</ref><ref name="Cohn-Gordon-2016-p2">
Un altro [[audit]] del protocollo è stato pubblicato nel 2017.<ref>{{Cita libro|cognome=N. Kobeissi|cognome2=K. Bhargavan|cognome3=B. Blanchet|titolo=2017 IEEE European Symposium on Security and Privacy (EuroS&P)|url=https://hal.inria.fr/hal-01575923/file/KobeissiBhargavanBlanchetEuroSP17.pdf|anno=2017|pp=435–450|ISBN=978-1-5090-5762-7|DOI=10.1109/EuroSP.2017.38}}</ref>
== Proprietà ==
Il protocollo fornisce: riservatezza, integrità, [[Cifratura autenticata|autenticazione]], coerenza dei partecipanti, convalida della destinazione, [[Forward secrecy|segretezza in avanti]], sicurezza post-compromesso (nota anche come segretezza futura), preservazione della causalità, non collegabilità del messaggio, ripudio del messaggio, ripudio della partecipazione e asincronicità.<ref name="Unger-2015-p239" /> Non garantisce la conservazione dell'anonimato e richiede server per la trasmissione dei messaggi e l'archiviazione della chiave pubblica.<ref name="Unger-2015-p239">{{cita|Unger|
Il protocollo Signal supporta anche chat di gruppo crittografate end-to-end. Il protocollo di chat di gruppo è una combinazione di crittografia [[Double Ratchet (algoritmo)|Double Ratchet]] a coppie e [[crittografia multicast]].<ref name="Unger-2015-p239">
=== Autenticazione ===
Per l'autenticazione, gli utenti possono confrontare manualmente le impronte delle chiavi pubbliche attraverso un canale esterno.<ref name="Rottermanner-2015-p5">{{cita|Rottermanner|
=== Metadati ===
Il protocollo Signal non impedisce ad un'azienda di conservare informazioni su quando e con chi gli utenti comunicano, ossia i metadati.<ref name="Rottermanner-2015-p4">{{cita|Rottermanner|
Nell'ottobre 2018, Signal ha annunciato di aver implementato nell'app la funzionalità "mittente sigillato", in inglese ''sealed sender''. Questa funzione riduce la quantità di metadati a cui i server Signal hanno accesso nascondendo l'identificativo del mittente.<ref name="ars2018">{{Cita web|autore=Dan Goodin|url=https://arstechnica.com/information-technology/2018/10/new-signal-privacy-feature-removes-sender-id-from-metadata/|titolo=New Signal privacy feature removes sender ID from metadata|accesso=28 marzo 2019}}</ref><ref name="sealed-sender">{{Cita web|url=https://signal.org/blog/sealed-sender/|titolo=Sealed sender|sito=|accesso=16 aprile 2019}}</ref> L'identità del mittente viene trasmessa al destinatario nel messaggio, ma è crittografata con una [[Chiave (crittografia)|chiave]] che il server non possiede.<ref name="sealed-sender" /> Questo avviene automaticamente se il mittente è nei contatti del destinatario o ha accesso al suo profilo Signal.<ref name="sealed-sender" /> Gli utenti possono anche abilitare un'opzione per ricevere messaggi con il "mittente sigillato" anche da persone non nella rubrica e che non hanno accesso al loro profilo Signal.<ref name="sealed-sender" /> Un'intercettazione telefonica contemporanea del dispositivo dell'utente e/o dei server Signal potrebbe comunque rivelare che l'[[indirizzo IP]] del dispositivo ha avuto accesso al server Signal per inviare o ricevere messaggi in determinati momenti.<ref name="ars2018" />
Riga 44:
* [[Scambio di chiavi Diffie-Hellman]]
* [[Double Ratchet (algoritmo)|Double Ratchet]]
== Note ==
|