Protocollo crittografico
# Protocollo crittografico

Un protocollo di sicurezza (protocollo crittografico o protocollo di crittografia) è un protocollo astratto o concreto che esegue una funzione relativa alla sicurezza e applica metodi crittografici, spesso come sequenze di primitive crittografiche. Un protocollo descrive come dovrebbero essere usati gli algoritmi. Se quest'ultimo è sufficientemente dettagliato, ossia include dettagli sulle strutture e le rappresentazioni dei dati, a quel punto può essere utilizzato per implementare più versioni interoperabili di un programma.

I protocolli crittografici sono ampiamente utilizzati per il trasporto sicuro dei dati a livello di applicazione. Un protocollo crittografico di solito incorpora almeno alcuni di questi aspetti:

* Negoziazione di chiave crittografica
* Autenticazione entità
* Crittografia simmetrica e costruzione del materiale per l'autenticazione dei messaggi
* Trasporto dati sicuro a livello applicativo
* Metodi di "non ripudio"
* Metodi di condivisione segreta
* Calcolo sicuro multi-partecipanti (in inglese: Secure multi-party computation).

Ad esempio, il Transport Layer Security (TLS) è un protocollo crittografico utilizzato per proteggere le connessioni Web (HTTP / HTTPS). Ha un meccanismo di autenticazione dell'entità, basato sul sistema X.509; una fase di configurazione chiave, in cui una chiave di crittografia simmetrica è formata impiegando la crittografia a chiave pubblica; e una funzione di trasporto dati a livello di applicazione. Questi tre aspetti hanno importanti interconnessioni. TLS standard non supporta il "non ripudio".

Esistono anche altri tipi di protocolli crittografici e persino il termine stesso ha varie letture; i protocolli delle applicazioni crittografiche utilizzano spesso uno o più metodi di negoziazione chiave sottostanti, che a volte vengono anche denominati "protocolli crittografici". Ad esempio, TLS utilizza quello che è noto come lo scambio di chiavi Diffie-Hellman, che sebbene sia solo una parte di TLS, può essere visto come un protocollo crittografico completo di per sé per altre applicazioni.

