Cuando un usuario persigue una frase de contraseña encriptada en el disco (o imagen de disco) en el Llavero (por ejemplo, a través de la Utilidad de Discos como se muestra aquí, https://apple.stackexchange.com/a/229309/5392 o cuando se configura una copia de seguridad encriptada de Time Machine, posiblemente en un dispositivo remoto), se crea una entrada en los llaveros de inicio de sesión (a través de la Utilidad de Discos) o del Sistema (para Time Machine).
El examen de una entrada de este tipo con security
proporciona los siguientes datos:
$ security find-generic-password -D "disk image password" -l "A65D7474-F452-51CB-9BCC-3D594C918978.sparsebundle"
keychain: "/Library/Keychains/System.keychain"
version: 256
class: "genp"
attributes:
0x00000007 <blob>="A65D7474-F452-51CB-9BCC-3D594C918978.sparsebundle"
0x00000008 <blob>=<NULL>
"acct"<blob>="17F24503-E0E2-45B9-86EA-C79D857BA2AC"
"cdat"<timedate>=0x32303137303131303132333130335A00 "20170110123103Z\000"
"crtr"<uint32>=<NULL>
"cusi"<sint32>=<NULL>
"desc"<blob>="disk image password"
"gena"<blob>=<NULL>
"icmt"<blob>=<NULL>
"invi"<sint32>=<NULL>
"mdat"<timedate>=0x32303137303131303132333130335A00 "20170110123103Z\000"
"nega"<sint32>=<NULL>
"prot"<blob>=<NULL>
"scrp"<sint32>=<NULL>
"svce"<blob>="A65D7474-F452-51CB-9BCC-3D594C918978.sparsebundle"
"type"<uint32>=<NULL>
El GUID de la cuenta no coincide con ninguno de los usuarios que se pueden encontrar a través de:
dscl /Search -list /Users GeneratedUID
El objetivo final es crear de forma no interactiva la entrada necesaria en el Llavero para que Time Machine recoja la contraseña y adjunte una imagen de disco sparsebundle encriptada y de tamaño limitado en una Time Capsule, para lo cual ésta es la pieza que falta.
Por desgracia, diskimages-helper
no puede montarlo (observado a través de Console.app
) cuando se utiliza el siguiente comando para crear la entrada:
sudo security add-generic-password -a "$username" -w "${passphrase}" -D "disk image password" -s "${sparsebundle}" -T /System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/Resources/diskimages-helper /Library/Keychains/System.keychain
Por cierto, esto es en Sierra.
Referencias adicionales:
- https://sliwinski.com/mac-osx-lion-secure-backup-to-time-capsule-wi/
- ¿Cómo puedo saber si una imagen de disco (.sparseimage) está cifrada?
- https://techanic.net/2012/10/14/programmatically_mounting_encrypted_disk_images_in_os_x.html
- http://www.practiceofcode.com/post/749686705/encrypted-rotating-time-machine-backups-on-snow
- http://hints.macworld.com/article.php?story=20080519051720677