Oauth2 – Tipologie di Token

Analizzando il protocollo OAuth2 (introdotto in un precedente post), utilizzato per l’accesso tramite token,  trattiamo le modalità fondamentali per ottenere il token.

OAuth2 definisce quattro modalità  di generazione :

  • Authorization Code Grant
  • Implicit Grant
  • Resource Owner Password Credentials Grant
  • Client Credentials Grant

Continua a leggere Oauth2 – Tipologie di Token

GDPR – servizi esternalizzati in cloud

Riprendendo il tema GDPR trattato in un precedente articolo, è necessario focalizzare l’attenzione sulla conformità offerta dai servizi cloud.

Le nuove tecnologie legate allo sviluppo delle applicazioni tendono spesso ad esternalizzare i dati, appoggiandosi a servizi cloud.

Questo tipo di soluzione porta, nella quasi totalità dei casi, alla perdita di controllo in termini di sicurezza e di conformità nei confronti del GDPR.

Continua a leggere GDPR – servizi esternalizzati in cloud

GDPR alcune considerazioni

Da un pò di tempo sto seguendo le indicazioni del nuovo regolamento europeo in materia di protezione dei dati personali, che per certi aspetti si può considerare come un’evoluzione del decreto legislativo n.196 del 2003.

Nell’ambito di alcune analisi che sto conducendo su alcuni software che dovranno essere adeguati alla nuova normativa (soprattutto per quando riguarda la memorizzazione dei dati nello storage e la loro persistenza) ho pensato di fissare i punti più salienti definiti dall’Unione Europea.

Continua a leggere GDPR alcune considerazioni

Crittografia a chiave pubblica – Essentials

Il sistema di crittografia asimmetrica è basato su un algoritmo di crittografia a chiave pubblica.

A e B per scambiare un messaggio criptato utilizzano due chiavi differenti:

chiave pubblica (pubblicata su repository)
chiave privata (mantenuta segretamente)

In particolare se A vuole scambiare un messaggio criptato con B:

  •  A ottiene la chiave pubblica di B (solitamente la chiave pubblica è pubblicata su repository, che ne garantisce anche la validità);
  • A cripta il messaggio con la chiave pubblica di B;
  • A invia il messaggio criptato al punto precedente a B;
  • B riceve il messaggio criptato;
  • B decripta il messaggio utilizzando la propria chiave privata

Ovviamente c’è un legame matematico tra chiave pubblica e privata. In particolare l’operazione per decriptare il messaggio utilizza una particolare funzione che viene definita “Oneway”, cioè difficile da invertire (senza conoscere la chiave), ma al tempo stesso facile da calcolare.

La firma digitale, si basa sul funzionamento opposto.

A utilizza la sua chiave privata per criptare un documento.

La chiave privata è memorizzata in un dispositivo fisico (es. smartcard). La chiave privata è protetta da una password (PIN) di cui è a conoscenza solo A.

B può verificare l’autenticità del documento firmato, utilizzando la chiave pubblica di A. La chiave pubblica è mantenuta da repository che ne certificano la validità / sospensione / scadenza.