Encryptando Dispositivos USB en OS X Lion
Tuesday, February 14, 2012 at 4:26PM
Carlos Perez

Una de las primeras cosas que hago con mis discos externos incluyendo USB Sticks es encriptar los mismos por el hecho que los mismos son fáciles de perder y pueden ser hurtados también fácilmente. Otro de de los problemas es que cada día el moverse a travez de fronteras se ha hecho mas prohibitivo ya que los agentes de las diferentes aduanas pueden confiscar y tristemente dependiendo el país pueden hasta hurtar los mismos por lo cual tiendo a proteger no solo mi data so no la de mis clientes.

En OS X Lion 10.7 se puede usar los que se conoce como FileVault2 para poder encriptar a nivel del file system el dispositivo y por ello la data que se encuentra en el mismo. Hacerlo a nivel de GUI es bien sencillo ya que uso solo tiene que ir a Launchpad -> Utilities -> Disk Utility una vez dentro del mismo uso solo tiene que seleccionar el dispositivo se selecciona Erase y en Format se escoge Mac OS Extended (Case-Sensitive, Journaled, Encrypted)

du1

Luego uno solo entra la contra seña que se quiere usar y se deja que borre y encripte el dispositivo

 

du2

 

Pero como podemos ver esto borra la data que se encuentra en el disco. Hay una manera de no perder la data que se puede encontrar en el dispositivo pero Apple no nos da acceso a la misma desde la interfaz gráfica por lo cual tenemos que usar la terminal para poder hacerlo. Para subir la terminal Launchpad -> Utilities -> Terminal
En la misma usamos el comando de diskutil para ver los discos:

loki:~ carlos$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUIDpartitionscheme                        *500.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          AppleCoreStorage                         499.2 GB   disk0s2
   3:                 AppleBoot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  AppleHFS HDD                    *498.9 GB   disk1
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUIDpartitionscheme                        *500.1 GB   disk2
   1:                        EFI                         209.7 MB   disk2s1
   2:                  AppleHFS TimeMachine             499.8 GB   disk2s2
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUIDpartitionscheme                        *4.1 GB     disk3
   1:                        EFI                         209.7 MB   disk3s1
   2:                  AppleHFS USBDATA                 3.8 GB     disk3s2

Podemos ver que nuestro disco esta como /dev/disk3 y la partición con la data es la numero 2 dentro del mismo. Apple solo permite el encriptar Core Storage el cual anade al file system del dispositivo unos encabezados adicionales. Para ver los dispositivos de core storage en la maquina hacemos le damos el parametro de cs a diskutil para verlos:

CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group BC8C478F-D913-49B6-BDF5-799029BCD421
    =========================================================
    Name:         HDD
    Sequence:     1
    Free Space:   0 B (0 B)
    |
    +-< Physical Volume 8529C661-2A18-406A-B18E-B8AE9F96BEA3
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     499248103424 B (499.2 GB)
    |
    +-> Logical Volume Family DFBEF69D-161D-43A4-92B0-8C11F36D2729
        ----------------------------------------------------------
        Sequence:               55
        Encryption Status:      Unlocked
        Encryption Type:        AES-XTS
        Encryption Context:     Present
        Conversion Status:      Complete
        Has Encrypted Extents:  Yes
        Conversion Direction:   -none-
        |
        +-> Logical Volume 54364969-893B-47BE-9765-026657179FC5
            ---------------------------------------------------
            Disk:               disk1
            Status:             Online
            Sequence:           4
            Size (Total):       498929332224 B (498.9 GB)
            Size (Converted):   -none-
            Revertible:         Yes (unlock and decryption required)
            LV Name:            HDD
            Volume Name:        HDD
            Content Hint:       AppleHFS

Como se puede ver solo el disco local de la maquina es un Core Storage device por lo cual tendremos que convertir el dispositivo USB en un Core Storage Device y ponerle una contraseña para indicar que el mismo debe ser encriptado, para esto usamos la herramienta de diskutil de nuevo:

loki:~ carlos$ diskutil cs convert disk3s2 -passphrase mysecret
Started CoreStorage operation on disk3s2 USBDATA
Resizing disk to fit Core Storage headers
[ - 0%..10%.............................................. ] 

La herramienta preservara la data y encriptara el dispositivo. La encripcion tomara un poco de tiempo podemos monitorear la misma con diskutil:

loki:~ carlos$ diskutil cs list
CoreStorage logical volume groups (2 found)
|
+-- Logical Volume Group BC8C478F-D913-49B6-BDF5-799029BCD421
|   =========================================================
|   Name:         HDD
|   Sequence:     1
|   Free Space:   0 B (0 B)
|   |
|   +-< Physical Volume 8529C661-2A18-406A-B18E-B8AE9F96BEA3
|   |   ----------------------------------------------------
|   |   Index:    0
|   |   Disk:     disk0s2
|   |   Status:   Online
|   |   Size:     499248103424 B (499.2 GB)
|   |
|   +-> Logical Volume Family DFBEF69D-161D-43A4-92B0-8C11F36D2729
|       ----------------------------------------------------------
|       Sequence:               55
|       Encryption Status:      Unlocked
|       Encryption Type:        AES-XTS
|       Encryption Context:     Present
|       Conversion Status:      Complete
|       Has Encrypted Extents:  Yes
|       Conversion Direction:   -none-
|       |
|       +-> Logical Volume 54364969-893B-47BE-9765-026657179FC5
|           ---------------------------------------------------
|           Disk:               disk1
|           Status:             Online
|           Sequence:           4
|           Size (Total):       498929332224 B (498.9 GB)
|           Size (Converted):   -none-
|           Revertible:         Yes (unlock and decryption required)
|           LV Name:            HDD
|           Volume Name:        HDD
|           Content Hint:       AppleHFS
|
+-- Logical Volume Group 325EC39E-26F7-4215-BDEF-E53AFADA9958
    =========================================================
    Name:         USBDATA
    Sequence:     1
    Free Space:   0 B (0 B)
    |
    +-< Physical Volume A7E49379-34D4-4079-B664-45B0F0F7A0CD
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk3s2
    |   Status:   Online
    |   Size:     3766255616 B (3.8 GB)
    |
    +-> Logical Volume Family 28FA2B59-A0CF-43DD-AFE4-297C2CE9EF57
        ----------------------------------------------------------
        Sequence:               6
        Encryption Status:      Unlocked
        Encryption Type:        AES-XTS
        Encryption Context:     Present
        Conversion Status:      Converting
        Has Encrypted Extents:  Yes
        Conversion Direction:   forward
        |
        +-> Logical Volume AB41F110-D378-4593-A3E5-4DF7545578B6
            ---------------------------------------------------
            Disk:               disk4
            Status:             Online
            Sequence:           4
            Size (Total):       3447484416 B (3.4 GB)
            Size (Converted):   142606336 B (142.6 MB)
            Revertible:         Yes (unlock and decryption required)
            LV Name:            USBDATA
            Volume Name:        USBDATA
            Content Hint:       AppleHFSX

Como se puede ver en Conversion Status dice Converting, cuando el mismo diga Complete el proceso habrá terminado. Ahora cuando se re-inserte el USB el sistema operativo pedira la contra sena para poder montar el mismo

sa

Article originally appeared on Security and Networking (http://darkoperator.squarespace.com/).
See website for complete article licensing information.