Un protocollo consiste in un insieme di regole (convenzioni) che determinano lo scambio di messaggi tra due o più entità principali. In breve, si tratta di un algoritmo distribuito con enfasi sulla comunicazione. I protocolli di sicurezza (o criptografici ) utilizzano meccanismi crittografici per raggiungere obiettivi di sicurezza. Esempi: autenticazione di entità o messaggi, scambio di chiavi, integrità, puntualità, scambio equo, non-ripudiabilità,...piccole ricette, ma non banali da progettare e capire.


Messaggi - notazione

I costruttori di messaggi sono:

Esempio: ${\{A, T_A, K_{AB}\}}_K$


Protocollo - notazione

La comunicazione tra due protagonisti è fondamentale:

  1. ${I → R: \{I, T_I ,K\}_{K_R}}$
  2. ${R → I: \{R,I\}_K}$

I (initatior - inizializzatore) e R (receiver - ricevente) sono dei ruoli, quindi chiunque prenda il ruolo di initatior può instaurare la conversazione.

  1. ${a → b: \{a,t_a,k\}_{k_b}}$

  2. ${b → a: \{b,a\}_k}$

  3. ${b → c: \{b,t_b,k^1\}_{k_c}}$

  4. ${c → a: \{c,b\}_{k^1}}$