Il tempo di elaborazione fisso è il metodo più semplice e completo per difendersi dagli attacchi temporali: per evitare lo sfruttamento dei dati che si perdono attraverso i tempi, beh, non perdere. Tuttavia, è più facile a dirsi che a farsi. Il recente "Lucky Thirteen" mostra che è possibile rilevare le differenze temporali con una precisione al microsecondo quando l'obiettivo è "vicino" all'attaccante (sulla stessa LAN); i dettagli di attacco sfruttano la piccola perdita rimasta nelle implementazioni SSL che sono state patchate per quanto riguarda gli attacchi temporali - queste implementazioni stavano calcolando il MAC anche quando la decifrazione non produceva un padding adeguato, precisamente per ottenere un tempo di elaborazione che è stato fissato come si poteva ottenere; ma era difficile evitare una variabilità di un microsecondo.
Se imposti un tempo di elaborazione "globale" fisso (ad esempio 1 secondo per ogni richiesta), ti imbatterai in problemi con i sistemi operativi multi-tasking. Se l'implementazione è solo una chiamata sleep()
dopo l'elaborazione principale, la CPU è libera di gestire altre richieste, il che sembra buono ... ma perde i dati, dal momento che l'utente malintenzionato potrebbe inviare altre richieste simultaneamente e capire se il tuo server è occupato o no. In generale, inviando molte richieste al server, l'utente malintenzionato può rendere il tempo di elaborazione per ogni richiesta arbitrariamente lungo e superare qualsiasi limite fisso. Se si limita il tempo di elaborazione a essere un multiplo integrale di una granularità fissa (ad esempio, il tempo di elaborazione è sempre n volte 0,1 secondi, con n essendo un numero intero), basta solo avere "soglie" che rendono l'operazione un po 'più difficile per l'aggressore, ma non impossibile - e potrebbe anche aiutare l'attaccante. Infatti, l'attacco "Lucky Thirteen" mostra come l'exploit di una tale soglia (corrispondente al modo in cui i dati di processo SHA-1 e SHA-256 vengono elaborati da blocchi di 64 byte) necessiti solo di un "phasing" e rende più chiara l'immagine statistica.
In questo momento, la migliore difesa sembra essere l'aggiunta di un ritardo casuale di alcuni millisecondi, che offuscherà l'immagine e impedirà l'analisi ... e, inoltre, non lasciare che l'attaccante si connetta stessa LAN del server . Che dovrebbe essere ovvio.