Mac Os X, swap cifrato

Ho notato solo questa sera che e` possibile avere lo swap cifrato (almeno con 10.4).
Una riga di /etc/hostconfig recita

ENCRYPTSWAP=-YES-

e viene letta al boot, nel momento in cui viene fatto il setup dello swap (da /etc/rc):

if [ ${ENCRYPTSWAP:=-NO-} = “-YES-” ]; then
encryptswap=”-E”
else
encryptswap=””
fi
/sbin/dynamic_pager ${encryptswap} -F ${swapdir}/swapfile

man dynamic_pager

-E Encrypt the data in the swap files.

mi rimane la curiosita` di capire 1) con che chiave cifra lo swap 2) con che algoritmo. Ho un paio di idee, ma devo verificare.

Ah, dimenticavo: “System Preferences” -> Security -> “Use Secure Virtual Memory” :-)

Author: zen

Geek of all trades, having fun with *NIX, the Internet and computer security since 1995.

4 thoughts on “Mac Os X, swap cifrato”

  1. La chiave dovrebbe essere la password dell’utente è la cifratura immagino (ma non ho nessun dato certo per affermarlo) sia AES-128 che poi è quella raccomandata per i volumi crittografici secondo la apple, un pò come funziona il file_vault apple (cifratura delle home directory)

  2. Per quello mi chiedevo… nel momento in cui cambio utente, come viene gestita la cifratura dello swap? Se e` personale, bisognerebbe che ogni utente avesse uno swap separato e cifrato con la propria chiave, ma non mi sono ancora dato la pena di approfondire :)

  3. immagino che lo swap sia in chiaro come filesystem..
    ma le pagine swappate siano codificate una ad una, e immagino sempre che il kernel codifichi in maniera differente pagine provenienti da uid diversi.

    cmq.. ora il dubbio è venuto anche a me..

    e mi sorge anche una domanda..
    se fosse come dico (improbabile) le pagine swappate da processi di root come vengono cifrate ?

  4. Potrebbe essere come su OpenBSD:
    La memoria virtuale viene divisa in sezioni di 512 kb ed ad ognuna viene assegnata una chiave. La chiave crittografica consiste in una stringa di 128 bit, un contatore di richieste, e un tempo di scadenza. Per una partizione di swap di 256 MB sono richiesti 14 kB di memoria per le chiavi. Le chiavi a 128 bit delle sezioni sono create casualmente e il contatore associato sara’ incrementato di 1. Quando una pagina viene rimossa il contatore viene decrementato, la chiave viene rimossa quando il contattore ritorna a 0. In tutti i modi la durata totale della chiave non supera’ mai il tempo fissato “tr”. ecc…

    http://www.opengeeks.it/docs/crypto_openbsd.ps

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.