Generalmente, se hai una memoria crittografata, allora dovresti crittografare il tuo swap. Questo vale per qualsiasi sistema di crittografia, non solo per TrueCrypt. I dati di qualsiasi programma possono finire in swap, inclusi i programmi che manipolano i dati riservati. Il kernel sceglie quali dati inserisce nello swap in base alla frequenza di accesso, non sa quale parte dei dati è più riservata.
TrueCrypt richiede che il sistema operativo gli dia memoria che è bloccata nella RAM e non può essere scambiata. Penso che non si rifiuti di funzionare se il sistema operativo non è disposto a dargli abbastanza RAM, quindi questo comportamento non è garantito. E anche se lo fosse, ciò non aiuterebbe: i programmi che manipolano i dati riservati non avrebbero tale protezione. Ad esempio, se esegui un editor su un file nella partizione TrueCrypt, la memoria dell'editor potrebbe essere scambiata.
Dovresti inoltre assicurarti che tutte le posizioni in cui sono archiviati i dati temporanei siano crittografate. Su Linux, questo include /tmp
(c'è anche /var/tmp
ma il suo utilizzo è esplicito, mentre solo qualsiasi programma potrebbe finire con /tmp
). Molti sistemi Linux moderni, tra cui Ubuntu 14.04, mettono i file temporanei sotto /run
, che è sempre in memoria (memoria virtuale, cioè: può essere scambiato), ma alcune applicazioni hard-code /tmp
. Altre posizioni comuni in cui i dati temporanei potrebbero finire includono /var/spool/cups
(spooler della stampante, se si stampa un documento riservato), /var/spool/mail
(posta in arrivo), /var/spool/postfix
(posta in uscita, con Postfix - adattare il nome della directory se si utilizza un diverso MTA), ~/.cache
.