Temporal Key Integrity Protocol

Da Wikipedia, l'enciclopedia libera.

Nella sicurezza informatica TKIP (acronimo di Temporal Key Integrity Protocol) è un protocollo di cifratura che garantisce confidenzialità dei dati, ed accoppiato al protocollo MIC (che fornisce integrità) fa parte dello standard IEEE 802.11i. La sua versione commerciale è conosciuta con il nome WPA.

Caratteristiche[modifica | modifica sorgente]

TKIP/MIC è stato pensato per sostituire il protocollo WEP, ed è stato creato affinché funzionassero su hardware compatibile con WEP. Ciò ha garantito fondamentalmente la possibilità di passare a WPA tramite aggiornamenti software.

TKIP si presenta come un algoritmo più robusto rispetto al WEP, anche se non può essere considerato totalmente sicuro. È però il meglio che si poteva ottenere a partire dall'hardware WEP.

TKIP/MIC ha alcune funzionalità:

  • chiave per-station, a differenza del WEP, si crea una chiave per ogni stazione appartenente al BSS, quindi tutti i nodi wireless hanno chiavi diverse (ciò diminuisce l'ammontare di traffico cifrato con la stessa chiave);
  • chiave per-packet, la chiave cambia pacchetto per pacchetto, quindi è molto difficile che vi siano due pacchetti cifrati con la medesima chiave;
  • integrità, basata sull'algoritmo Michael, che si affianca all'ICV standard del WEP, ma molto più robusto;
  • key refresh, se si verificano più di due MIC-failure in minuto, l'AP considera questo come un attacco, e de-associa il client eliminando le chiavi, quindi bisogna effettuare una nuova procedura di associazione, con la conseguente creazione di una nuova chiave.
  • IV mixing, il seme per il cifrario RC4 non è la semplice concatenazione dell'IV e della PTK (chiave per-session), ma è derivato da due fasi di mixing dell'IV con la PTK e con il MAC address della stazione trasmittente.

Le chiavi possono derivare da 802.1x (quindi secondo lo standard 802.11i, ad esempio tramite server RADIUS) oppure basarsi su chiave pre-condivisa. A partire da questa chiave ogni nodo calcola una PMK (tramite hashing con l'SSID della rete) e poi calcola la PTK.