DragonFlyBSD implementa Disk Encryption di livello Next-Gen

È passato diverso tempo dall’ultima volta che abbiamo parlato di sviluppi interessanti su DragonFlyBSD, ma la scorsa settimana è stato introdotto dm_target_crypt_ng, un’implementazione di nuova generazione del loro codice DM-crypt per la crittografia dei dischi.

Lo sviluppatore di DragonFlyBSD, Michael Neumann, ha riprogettato il codice DM-crypt per questo sistema operativo BSD, trasformandolo in un’implementazione trasparente per la crittografia dei dischi compatibile con dm-crypt di Linux.

Michael Neumann ha spiegato nel commit iniziale questo codice di nuova generazione:

“dm_target_crypt_ng – Aggiunta implementazione di nuova generazione.

* Non utilizziamo più opencrypto o cryptodev. Erano asincroni e causavano molte (!) complicazioni al codice.

 

 

* Invece, utilizziamo il nostro set di cifrari crittografici implementati in crypto_cipher.{c,h}, che è un’API semplificata per utilizzare cifrari a blocchi simmetrici. Richiama principalmente le implementazioni effettive degli algoritmi crittografici contenute in sys/crypto.

 

 

* L’interattività è notevolmente migliorata! Quando si esegue “blogbench” con il vecchio modulo dm_target_crypt, “blogbench” sostanzialmente “blocca” il sistema a circa 400 blog (Nb). Il cursore del mouse si blocca continuamente per circa 1 secondo. Mentre il computer diventa più lento durante l’esecuzione di dm_target_crypt_ng, non si osserva alcun ritardo del mouse. Il risultato finale delle prestazioni di “blogbench” rimane pressoché invariato. Ad esempio:

 

 

# dm_target_crypt (vecchio)
Punteggio finale per le scritture: 2136
Punteggio finale per le letture: 200584

 

 

# dm_target_crypt_ng (nuovo)
Punteggio finale per le scritture: 2265
Punteggio finale per le letture: 203668

* I BIO vengono elaborati da due worker pool, ciascuno con un set di thread associati a una CPU specifica. Le richieste di lettura devono essere decrittografate, mentre le richieste di scrittura devono essere crittografate. Avere un worker pool separato per le richieste di lettura e scrittura dovrebbe garantire maggiore equità. Le richieste vengono schedulate ai worker tramite round-robin e “struct bio” viene utilizzato per concatenare le “richieste” da elaborare dai worker thread. I worker di lettura non necessitano di ulteriore allocazione di memoria per decrittografare i blocchi. I worker di scrittura utilizzano un mpipe condiviso come in precedenza, poiché è necessario copiare il buffer di scrittura prima di crittografarlo.

 

 

* Attualmente, dm_target_crypt_ng supporta solo AES-CBC e AES-XTS. Twofish e Serpent non sono supportati. Si dice che siano più sicuri, ma anche più lenti e non supportano l’hardware. Dovrebbe essere facile reinserirli in crypto_ciphers.{c,h}.

 

 

* Se si desidera provare il nuovo modulo, aggiungere la seguente riga a /boot/loader.conf:

dm_target_crypt_ng_load=YES

 

Questo potrebbe non funzionare con “swapon” poiché tenta di caricare manualmente “dm_target_crypt”.

 

 

* Il mio piano è di rendere “dm_target_crypt_ng” l’impostazione predefinita e rimuovere il vecchio “dm_target_crypt” dopo test e feedback più approfonditi.

Dal commit iniziale di qualche giorno fa, sono state aggiunte ulteriori patch per dm_target_crypt_ng. Le patch successive hanno rifattorizzato i cifrari crittografici, migliorato l’API dei cifrari crittografici e introdotto i cifrari Twofish/Serpent CBC/XTS. Alcuni interessanti miglioramenti per chi desidera utilizzare la crittografia del disco con DragonFlyBSD.

Dato che sono trascorsi più di due anni dalla precedente versione di questo sistema operativo, DragonFlyBSD 6.4, si spera che la prossima versione si concluda presto con questo target DM-crypt di nuova generazione e i molti altri miglioramenti che si sono aggiunti nel tempo.

Articolo originale su Phoronix

I progressi di FreeBSD su ARM, Bhyve e CLANG

Logo FreeBSDIl lungo report su FreeBSD del Q1 2014 copre lo stato di diversi progetti FreeBSD, come l’utilizzo del compilatore LLVM/Clang, il supporto per ARM, il supporto per i driver grafici Intel e molti altri argomenti. Alcuni degli aspetti in evidenza sono:

  • I ports FreeBSD stanno per raggiungere quota 25.000 nel tree
  • E’ in fase di lavorazione il porting di una recente snapshot dal kernel Linux del driver Intel i915 DRM/KMS verso il kernel FreeBSD. Attualmente la versione disponibile del driver KMS FreeBSD risale a diverse versioni fa del kernel Linux.
  • Lo stack iSCSI nativo per FreeBSD è in progresso e il nuovo codice dovrebbe essere disponibile per la release 10.1
  • Il nuovo Automounter si avvicina alla fase finale di prototipo funzionante
  • Il supporto UEFI per FreeBSD è in avanzamento e miglioramento
  • Il nuovo codice per le console di sistema VT è attivo nell’attuale ramo di sviluppo di FreeBSD 9 e 10
  • L’hypervisor di virtualizzazione Bhyve sta vedendo l’aggiunta di nuove features
  • FreeBSD adesso funziona sul Samsung Chromebook Cortex-A15
  • Il porting su processore ARM 64-bit (AArch64) è ancora in corso
  • Sia GNOME che KDE stanno venendo aggiornati alle ultime release
  • Il driver KMS Radeon che ha visto la luce in FreeBSD 10.0 sarà presente anche nella prossima release di FreeBSD 9.3

Ulteriori notizie sulle fasi di avanzamento dei progetti FreeBSD sono disponibili nel report quadrimestrale.

Novità su UnixPortal

Ci sono alcune novità sia di ordine estetico che pratico sul portale.

Innanzitutto ho aggiornato il modulo di gestione notizie, dal vecchio Xpress 2.0.5 al nuovo XpressME 1.08. Questo implica l’aggiornamento da WordPress 2.0.5 al 2.7, e comporta alcune piccole variazioni estetiche al sito, dovute ai diversi template e blocchi presenti in questa versione. Comunque si tratta di variazioni molto piccole, che non cambiano la logica che il portale ha avuto sinora.

Una novità più succosa è costituita dall’attivazione della funzione di Facebook Connect. Da oggi gli utenti di UnixPortal che sono presenti anche su Facebook possono commentare gli articoli senza doversi iscrivere al portale, ma utilizzando invece il proprio account Facebook, comprensivo di nome utente e immagine di profilo che verrà visualizzata accanto al commento. Inoltre potranno scegliere se pubblicare sul newsfeed di Facebook la propria attività su UnixPortal. Infine è possibile invitare i propri amici su Facebook a partecipare alle discussioni su UnixPortal, utilizzando un apposito link.

Troverete tutte queste funzioni cliccando sui commenti di ciascun articolo. Buon divertimento!