Sto scrivendo un software server side-stack completo e sto conducendo ricerche sugli attacchi CRIME e sulla relazione con la compressione dell'intestazione SPDY mentre sto implementando i codec lato server per il momento.
La conclusione sembra essere che la compressione e la crittografia non dovrebbero mescolarsi.
Dopo aver esaminato sia CRIME che BREAK. Mi chiedo se i seguenti metodi siano validi per disabilitare TUTTI i tipi di attacchi "congettura lavoro" in flussi di dati compressi e crittografati (sul lato server)
1) Limitazione della velocità - come suggerito sul sito di BREACH. Qualsiasi client che bombardi un server con oltre 100 richieste al secondo è destinato a essere malintenzionato quando le pagine dei tuoi siti servono solo un massimo di risorse X (singola / bassa doppia cifra) per richiesta.
2) Dati dinamici: sia CRIME che BREACH (e le loro derivate) sembrano fare affidamento su ripetuti sondaggi e presuppongono che la posizione dei dati non cambi. Cosa succede se sia le intestazioni HTTP che il corpo vengono mescolati per risposta dal server? Combinato con dati fittizi casuali di piccola lunghezza variabile iniettati sia nel corpo sia nell'intestazione? Questo può efficacemente disabilitare tutti questi attacchi con le caratteristiche di CRIME e BREACH?
Grazie per il tuo tempo.
EDIT 1: vorrei sottolineare che mi riferisco specificamente ai flussi di dati all'interno del protocollo HTTP (cioè compressione HTTP e compressione dell'intestazione SPDY) e non alla compressione SSL / TLS.
EDIT 2: La soluzione di mitigazione degli attacchi che sto cercando di ottenere / suggerire è su tutti i possibili attacchi di perdita di informazioni "compression + encryption", CRIME e BREACH possono essere solo esempi recenti.
MODIFICA 3: la presentazione BREACH sembra suggerire una lunghezza variabile il padding non è una valida attenuazione. Tuttavia non sembra considerare la combinazione di una struttura di messaggio randomizzata + padding randomizzato in grado di creare una combinazione infinita di output inaffidabili ( in teoria ) rimuovendo quindi qualsiasi correlazione tra la lunghezza di output compresso e crittografato significato del messaggio effettivo.