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