V0.3 Ultimo Aggiornamento 12/03/2020

1 Informativa sulla Sicurezza

Questa informativa sulla sicurezza si riferisce al servizio Revoke (il “Servizio”) gestito da Revoke Limited (“Revoke”, “noi”, “noi” o “nostro/a”). Revoke Limited è una società registrata presso la Jersey Financial Services Commission, numero di registrazione 124314.

Noi di Revoke ci teniamo molto alla privacy e alla sicurezza.

Questa informativa descrive le misure che abbiamo adottato per garantire che tutti i dati che conserviamo o trasmettiamo siano sicuri e protetti in modo adeguato.

Utilizziamo livelli avanzati di crittografia dei dati a riposo e in transito a livello di messaggio e di trasporto, compreso l’uso di quanto segue;

  • Crittografia a curva ellittica con le chiavi Ed25519 e Curve25519
  • Crittografia autenticata con i dati associati (AEAD)
  • Scambio di  Chiave Diffie-Hellman
  • Scatole sigillate
  • DNSSEC
  • HTTPS
  • IPSec
  • Crittografia AES256
  • Certificati X509
  • BlakeB Hashing

2 Dati Personali

Trattiamo i dati personali con molta attenzione.

Ci assicuriamo che tutti i dati siano criptati, quando sono sul vostro dispositivo, quando vengono trasmessi e quando vengono memorizzati da Revoke.

2.1 Applicazione sul Telefono Mobile

Ogni utente ha un’unica chiave privata sul proprio telefono per la decodifica. Questa chiave privata è derivata da un processo di generazione di numeri casuali. Per la crittografia viene utilizzata una corrispondente chiave pubblica. Queste chiavi sono conosciute come Coppia di Chiavi.

Per garantire che la Coppia di Chiavi sia completamente casuale e impossibile da rigenerare, l’utente è tenuto ad eseguire azioni non prevedibili e non riproducibili.

Le azioni dipendono dal dispositivo e dall’autorizzazione dell’applicazione, ma includono una o più di una:

  • Ingresso audio del microfono
  • Ingresso videocamera
  • Interazione casuale dello schermo (trascinare, strisciare, toccare)
  • Letture dell’accelerometro.

2.1.1   Crittografia dei dati a riposo

Tutti i dati sul dispositivo di un utente sono criptati con crittografia AES256 con una password generata in modo casuale. La password per ogni dato è criptata con un’apposita chiave pubblica.

I dati vengono decifrati con una chiave privata, accessibile con un PIN definito dall’utente.

2.1.2  Crittografia dei dati in transito

Le informazioni inviate a/da terzi contenenti dati personali riservati o sensibili sono protette e protette da certificati crittografici.

I certificati sono basati sullo standard X509 ma utilizzano un formato json per consentire attributi estesi non supportati nel formato nativo del certificato x509.

Oltre alla crittografia a livello di messaggio, l’HTTPS è utilizzato per crittografare il livello di trasporto tra tutti i servizi.

3 API aziendale e Abbinamento dell’Utente

Revoke fornisce un’API per le aziende per interrogare e confrontare i dati dei clienti, al fine di automatizzare la risposta alle richieste.

È essenziale che nessun dato personale sia divulgato nell’ambito di questo processo e che i dati dei clienti dell’azienda siano protetti.

3.1 Abbinamento dell’Utente

Tutti i dati inviati dall’azienda a Revoke sono mascherati e resi anonimi mediante operazioni di crittografia per fornire un archivio di dati sicuro senza compromettere i dati personali del cliente o i dati sensibili dell’azienda dal punto di vista commerciale.

Il fascicolo di un utente di un’azienda cliente è costituito da due elementi primari:

Riferimento unico dell’utente

Ogni registrazione di un’azienda richiede un riferimento unico che abbia rilevanza nel database clienti della nostra società. Questo per fornire un meccanismo per collegare una registrazione a Revoke o una richiesta di protezione dei dati con un cliente effettivo.

Al fine di proteggere il campo di riferimento del cliente, Revoke codifica i dati che incorporano la sua Chiave Privata Curve25519 utilizzando la crittografia a Secret Box.

3.1.1    Campi con criteri di abbinamento.

La registrazione del cliente contiene uno o più campi di abbinamento. Un campo con criteri di abbinamento è un’informazione unica collegata al cliente finale. Può trattarsi di elementi come “indirizzo e-mail”, “nome”, “cognome”, “codice postale” ecc. L’azienda può fornire un numero qualsiasi di campi di abbinamento in base alle dimensioni e al tipo di dati del cliente contenuti nei propri sistemi.

Prima della trasmissione, i dati contentuti in questi campi sono protetti da due cicli di hashing BlakeB. Ciò garantisce che qualsiasi informazione  sensibile a livello commerciale o personale sia completamente protetta contro qualsiasi uso improprio da parte di terzi. Il meccanismo di protezione dei dati Revoke offre tre livelli fondamentali di sicurezza:

  • Non esiste un metodo pratico per invertire il processo di hashing e recuperare i dati dei clienti inviati tramite l’API Revoke.
  • Poiché il processo di codifica avviene prima della trasmissione dei dati, Revoke non ha visibilità dei dati inviati e si occupa solo di far corrispondere le richieste specifiche degli utenti a una società interessata.
  • Poiché i dati hashed sono mischiati con la chiave pubblica dell’azienda, l’output risultante è unico tra un dato cliente e la relazione aziendale. Le stesse informazioni dell’utente (come l’indirizzo e-mail, il numero di telefono) avranno valori di corrispondenza molto diversi per le diverse società di provenienza. In questo modo si evita la perdita della privacy dell’interazione di un dato utente tra più entità aziendali diverse.

Algoritmo per i Campi/Elementi di Abbinamento

Al fine di proteggere adeguatamente i dati sensibili inviati dalla società a Revoke, viene applicato il seguente algoritmo:

  • Un motore hash BlakeB viene creato e inseminato con la chiave pubblica Revoke Ed25519 a 32 byte ottenuta attraverso uno dei principali metodi di distribuzione.
  • Un singolo elemento di dati per l’associazione/ abbinamento viene elaborato dal motore hash BlakeB, ottenendo un’uscita a 32 byte.
    Nota: per la coerenza e l’accuratezza delle corrispondenze, tutti i dati delle corrispondenze devono essere tradotti in maiuscolo prima dell’elaborazione.
  • La Chiave Privata Curve25519 della azienda e la Chiave Pubblica Curve25519 di Revoke sono combinate utilizzando una funzione di Scambio Chiave di Diffie-Hellman per generare un codice segreto condiviso a 32 byte.

Nota: per una maggiore sicurezza, il valore grezzo generato dallo scambio di chiave deve essere protetto utilizzando una funzione di derivazione della chiave (KDF), come ad esempio un HMAC o un hash.

  • La combinazione generata viene utilizzato per seminare un secondo motore Hash BlakeB.
  • L’output del primo processo di hash,nella fase 2 viene elaborato dal secondo motore di hash BlakeB, ottenendo un valore finale di uscita di 32 byte. Questo valore è il dato che l’azienda invierà a Revoke per processare eventuali richieste di match.

Note:

  • L’output protetto generato e condiviso, calcolato come parte del processo di Scambio Chiave Diffe-Hellman (passo 3) è una costante, e può essere riutilizzato in modo sicuro in un processo batch se l’azienda e le chiavi Revoke rimangono invariate.

Il processo di cui sopra presenta i seguenti vantaggi:

  • Il processo può essere ricreato sul server Revoke permettendo il precalcolo dei risultati per una data azienda per migliorare le prestazioni di risposta.
  • Poiché l’hash utilizza elementi della chiave privata dell’azienda, un’azienda disonesta non può inviare richieste investigative per vedere se un indirizzo e-mail è stato registrato a una società terza.

Gli utenti inviano le stesse informazioni per l’abbinamento a Revoke utilizzando un approccio simile. La differenza notevole è che il processo è diviso in due parti, con il dispositivo dell’utente che esegue l’hash iniziale con la Chiave Pubblica di Revoke.

I servizi di Revoke utilizzano quindi i dati inviati dal dispositivo dell’utente per precalcolare una tabella hash contenente i dati rilevanti per le aziende che sono registrate nel database. Questo processo utilizza la Chiave Privata Revoke e la specifica Chiave Pubblica dell’azienda per generare lo stesso output protetto e condiviso utilizzato dall’azienda.

Il sistema di Revoke prenderà tutti i nuovi dati mascherati inviati dagli utenti e costruirà un sistema di riferimento adeguato per consentire una ricerca tempestiva. Il sistema provvederà in effetti a precalcolare tutti i potenziali risultati di corrispondenza per il cliente e la base utenti dell’azienda, in un’efficiente e sicura archiviazione dei dati.

3.2 Trasporto API

La richiesta viene effettuata tramite una comunicazione HTTPS/SSL utilizzando una semplice chiamata REST/SOAP.

Ogni richiesta inviata all’API aziendale contiene:

  • Headers
    • Chiave Pubblica dell’Azienda
      La chiave pubblica della società che invia viene aggiunta come intestazione della richiesta.
    • La società che invia utilizza la propria Chiave Segreta per contrassegnare il contenuto del carico utile richiesto.
  • Carico Utile
    Tutti i carichi utili richiesti includono una data e ora UTC con precisione al millisecondo come parte del contenuto firmato. Qualsiasi richiesta ricevuta al di fuori di una finestra temporale definita dal server verrà ignorata.

Le richieste di carico utile sono criptate utilizzando la crittografia a Secret Box, in quanto ciò elimina la necessità per l’azienda di tracciare e mantenere un numero univoco che ha il valore per essere utilizzato una volta sola.

App icon - download from the App Store and Google Play

Scarica Subito Revoke

Proteggiti con Revoke e riprendi il controllo dei tuoi dati personali.

Download on the App Store - icon Get it on Google Play - icon