Session by Sam Curren at IIW Fall 2022 Notes by Lance Byrd # Standard Wallet Backup Container * Problem: Wallet backups are custom to the wallet and lock your identity into a vendor * Goal: Backup/Restore across wallet vendors using common tech * Note: JFF wallet plugfest might focus on testing interop of wallet backup/restore ## Wallet * Should this live in the Open Wallet Foundation? * DIF Wallet Security wg? * IETF? * Wherever it is easiest to bring us together to work on this ## Bundle * Goal: **With the encryption key**, decrypt, debundle, and view the files **USING COMMON TOOLS** * Compress * gzipped tar files * JSON creds should compress very well * Encryption * Should be sufficiently secure * Should be hard to foul-up * Needs a mechanism for entering the key (Argon2 makes this more flexible than a mnemonic)... muggles need to be able to do this fairly easily * See Issue 108 on the open wallet spec * Argon2 for the key stretching algorithm to get AES GCM 256 for Symetric encryption * Gives us some flexibility for what to supply as the seed. * Need to talk with YubiKey * Reconstitute with m of n recovery.... eventually but not now. * There are two steps to the encryption for a Hardware Device (asymmetric and symetric steps) * Envelope * JWE * Keychain and password managers WILL get used * Avoiding biometrics for now, addressed later * Streamable * supported for gzipped tar files * Can't use .zip * Yubi key would be a great 'knowledgeable' option but at first we want to keep it simpler * Note: Jason Coleburn did HSM tar gzipped backup implementation for backup/restore and it worked great. ## Container * Goal: Usable, Flexible * DOES contain key material * Cannot be 47 random files handed to you * Needs to be encrypted * What is in it? GOAL: define enough structure so that the format can be defined * Manifest File * versioning of the format of the container * A (we define it) * B (we define it) * You only backup the types of information you have * Might have crypto keys * Might not have connection information (OIDC) * Custom datatypes for apps to declare (will be ignored by other apps on restore) * OpenOffice file format is a nice inspiration * If you change an open office file to have .zip, it will give you XML including images, etc. * OpenXML specification (textually readable and defines relationships of the files) * Textual formats are at some level self-documenting and recoverable. * CESR * Good consideration ## Keys * Sometimes difficult to transfer keys (hardware device)... we'll try to focus on the container. ## Synchronization * A little out-of-scope, definitely overlap and needed for multi-device. But this effort is easier. * Like an ID Hub ## Diff * Currently out-of-scope * Differential backup w/encryption can be difficult but should be a future goal # References * Aries Backup/Restore meeting https://hackmd.io/eJbWrh7BSiaJXkP-p0Q5mg?view