Sicurezza e crittografia
Una sessione remota mostra lo schermo di un’altra persona e permette di lavorare sul suo computer. ShareDesk è concepito in modo che solo i due computer della sessione possano vederla, che sia il cliente a decidere chi entra e che ogni passaggio sia verificabile.
- Crittografato end-to-end. Schermo, audio, input, appunti, chat, file, terminale e tunnel viaggiano crittografati direttamente tra i due computer. Le chiavi non li lasciano mai.
- Il nostro server si limita a mettere in contatto. Aiuta i due computer a trovarsi e inoltra la richiesta di connessione. Non può né vedere né decifrare la sessione.
- Dispositivi verificati. Ogni installazione ha la propria chiave. Entrambe le parti dimostrano la propria identità, e un codice di sicurezza permette di confrontarla sui due schermi.
- Il cliente mantiene il controllo. Nessuno entra senza un sì o senza una password impostata dal proprietario, un banner segnala ogni sessione e basta un clic per terminarla.
1. Crittografia end-to-end
Ogni sessione è crittografata end-to-end con gli standard aperti usati anche dai servizi di videochiamata (WebRTC). La crittografia è sempre attiva e non può essere disattivata:
- Lo schermo viaggia come flusso SRTP crittografato con AES-GCM; le chiavi vengono concordate direttamente tra i due computer tramite DTLS.
- Tutto il resto – mouse e tastiera, appunti, chat, audio, trasferimenti di file, il terminale e i tunnel verso altri dispositivi – viaggia in canali crittografati con DTLS della stessa connessione.
- Le chiavi esistono solo sui due computer. Vengono generate di nuovo per ogni connessione e non vengono mai inviate al nostro server né a un relay.
2. Cosa fa il nostro server – e cosa no
Prima che due computer possano comunicare direttamente, devono trovarsi. È l’unico compito del nostro server:
- Inoltra la richiesta di connessione: nome, azienda e foto del tecnico e l’indirizzo IP da cui proviene la richiesta, affinché il cliente possa decidere.
- Inoltra i dati tecnici di cui i due computer hanno bisogno per raggiungersi. Vengono cancellati non appena sono stati ritirati; ciò che rimane viene rimosso entro pochi minuti.
- Tutto questo avviene tramite HTTPS. Un ID ShareDesk può essere usato solo dal proprio computer, quindi nessuno può spacciarsi per un altro.
- Non riceve mai la sessione stessa: né schermo, né input, né file, né chat.
Quando una rete non consente una connessione diretta, la sessione passa attraverso un relay (server di inoltro). Un relay inoltra soltanto i dati già crittografati; non possiede chiavi e non può leggerli.
3. Dispositivi verificati e codice di sicurezza
La crittografia vale solo quanto la certezza di comunicare con il computer giusto. ShareDesk lo verifica da sé:
- Ogni installazione di ShareDesk ha la propria chiave del dispositivo (ECDSA P-256), conservata nel portachiavi del Mac o, su Windows, protetta dal sistema.
- All’inizio di ogni sessione, entrambi i computer firmano proprio questa connessione con la loro chiave del dispositivo, all’interno del canale crittografato. Un computer che non riesce a dimostrare la propria chiave non ottiene alcuna sessione.
- I computer già noti vengono memorizzati. Se un ID ShareDesk noto si presenta improvvisamente con una chiave diversa, l’app ShareDesk termina la sessione invece di proseguire senza avvisare.
- Entrambe le parti mostrano un codice di sicurezza di sei cifre. Se è identico sui due schermi, non c’è nessuno in mezzo.
Nel visualizzatore web la connessione è crittografata allo stesso modo, ma un browser non ha una propria chiave del dispositivo. Sul computer del cliente queste sessioni sono contrassegnate come «non verificata (browser)».
4. Decide il cliente
- Ogni richiesta viene mostrata. Il cliente vede nome, azienda e foto del tecnico, l’ID ShareDesk e la provenienza della richiesta, e sceglie che cosa il tecnico può fare. «Accetta» si attiva solo dopo un istante e non può essere azionato con il tasto Invio, così nulla viene accettato per sbaglio. Le richieste senza risposta scompaiono dopo 60 secondi.
- Sette autorizzazioni separate: controllo, appunti, file, audio, schermo oscurato, terminale e tunnel. Ognuna può essere disattivata prima o durante una sessione; senza «controllo» il tecnico può solo guardare.
- Sempre visibile. Durante una sessione un banner mostra chi è connesso, con un pulsante «Termina» e un pulsante per nascondere lo schermo. Se il tecnico registra la sessione, il banner lo indica.
- Bloccare e limitare. Gli ID possono essere bloccati; gli elenchi di autorizzazione e di blocco accettano ID e indirizzi IP. Le richieste dello stesso ID rifiutate ripetutamente vengono trattenute dal server.
- Solo una password per l’accesso non presidiato, una password monouso o un tecnico a cui il cliente ha deciso di dare fiducia evitano la domanda – vedi sotto.
5. Accesso non presidiato
Per raggiungere i propri computer senza che nessuno sia davanti allo schermo, si imposta su di essi una password. ShareDesk non invia mai questa password:
- Il computer non conserva la password stessa, ma solo un valore derivato da essa, nel suo portachiavi, leggibile unicamente su quel dispositivo.
- Per connettersi, l’app del tecnico risponde a una sfida casuale monouso (HMAC-SHA256) e dimostra così di conoscere la password senza rivelarla. Una prova non può essere riutilizzata ed è legata alla connessione crittografata.
- Dopo cinque password o codici errati, l’ID viene bloccato per dieci minuti.
- In aggiunta si possono richiedere codici a due fattori (TOTP, come con le app di autenticazione); ogni codice funziona una sola volta.
- Nella finestra di login dopo un riavvio sono disponibili solo lo schermo e il controllo – niente file, terminale o tunnel.
- Facoltativamente il Mac si blocca al termine dell’ultima sessione.
Se salva una password per l’accesso non presidiato nella rubrica mentre ha eseguito l’accesso, la chiave derivata viene memorizzata con il Suo account e condivisa con i membri del team con cui condivide quel computer, affinché anche loro possano connettersi. Usi una password robusta e condivida questi computer solo con persone che devono avervi accesso.
6. Account dei tecnici
Gli account sono facoltativi; servono ai team che desiderano una rubrica condivisa, profili e un registro delle sessioni.
- Le password vengono memorizzate solo come hash bcrypt e devono contenere almeno dieci caratteri.
- Un accesso è valido al massimo 180 giorni; uscendo dall’account termina immediatamente. Il server ne conserva solo un hash, e il Mac lo conserva nel portachiavi.
- I tentativi di accesso falliti ripetuti vengono rallentati per indirizzo e per account.
- I link d’invito scadono dopo 30 giorni.
7. App e aggiornamenti firmati
- L’app per Mac è firmata con un Apple Developer ID, utilizza l’hardened runtime ed è autenticata (notarizzata) da Apple.
- Gli aggiornamenti sono firmati (Ed25519). L’app installa un aggiornamento solo se la firma corrisponde alla nostra chiave – su Mac e su Windows.
8. Dati e sede
- I nostri server sono gestiti da MarketVision AG in Svizzera.
- Senza account, il server non conserva nulla delle Sue sessioni oltre ai dati di connessione di breve durata descritti sopra. Con un account memorizza la Sua rubrica, i profili e – se lo sincronizza – il registro delle sessioni; l’informativa sulla privacy elenca tutto, compresi i rapporti diagnostici e la durata di conservazione dei dati.
- L’app non utilizza tracciamento, strumenti di analisi né pubblicità. Il sito web utilizza Google Tag Manager con un banner per il consenso; l’informativa sulla privacy lo descrive.
9. Ha trovato una vulnerabilità?
La preghiamo di comunicarcela prima di pubblicarla: info@marketvision.ch. Descriva che cosa ha trovato e come riprodurlo; risponderemo e la correggeremo il più rapidamente possibile.