Skip to content

A review of the Multisig Self-Custody Scenario #15

@fresheneesz

Description

@fresheneesz

I reviewed the procedure laid out in the simple path in Multisig Self-Custody Scenario. I didn't pay much attention to the optional steps.

My main takeaway is that the guide as written has the following primary properties:

  • Security / Theft resistance:
    • A theif needs to compromise 2 secure locations to steal funds (primary + secondary).
    • A theif willing to put you under diress only needs to visit your home to steal your funds.
  • Loss resilience:
    • Normal: If no devices are broken/lost, all passwords are remembered, and you carry your phone on your person at all times, you can still recover even if any 2 storage locations are lost. All 3 main secure storage locations can be lost if you use the cloud backup addition.
    • Broken devices: considering only secure resilient backups (not electronic devices), you can still recover if 1 of your storage locations is lost.
    • Forgotten passwords: Forgotten passwords don't affect these things. Even if the passwords were not written down, this would be basically still true, except for as much as they might affect your access to cloud backups.

In general, this seems like a reasonably secure guide. My primary complaint with the guide is the recommendation to write down pins and passwords. I don't think this gains the user anything significant, but it introduces significant additional paths for the user to be compromised (eg writing down their apple account credentials means someone might be able to compromised their apple account if the location that's stored in is compromised).

The other issues I found are either opportunities to reduce complexity or minor improvements / questions.

Feedback in no particular order:

  • QR Codes - I don't believe QR codes provide significant extra security. Shiftcrypto has a great article about this. It seems misleading to me to call fully QR code devices "second generation" as if its a breakthrough advancement. Eg QR Codes do not necessarily protect against buffer overflow. A bug can always enable buffer overflow with any data size. If animated QR codes, it becomes a fully active communication mechanism and doesn't have almost any related benefits over a fully connected channel - it is a fully connected channel at that point. QR codes are fine, and its fine to use them in this guide. My main complaint is about the explanation around QR codes is a bit misleading.
  • I recommend considering using metal backups (like the Blockplate or Steelwallet) a seed storage medium vs paper. It doesn't add too much risk of process fatigue, and you know those backups are not going to be destoyed by fire or water or anything. That said, I think the choice of paper is interesting. I am currently recommending acid-free alkaline or archival paper, which should last for hundreds of years, however I don't know how resilient that kind of paper is to water or fire. I would be curious how long lasting the waterproof paper is that this guide recommends. I guess that fact that this guide relies a lot on printers, maybe the resilience of the paper isn't very important, because the printer ink won't last very long anyway. I recommend using an india ink pen which should last decades.
  • The recommended Amazon Basics safe is not a good recommendation. It is not secure (can be opened with scissors and BIC pens, as you can see from reviews), its not fireproof, its not waterproof. So what does it give you? There are almost no secure home safes, but at least some of them have a proper locking mechanism. I'd recommend at least a safe that's waterproof and fireproof, since those risks are more likely than home theft. And being able to be bolted down is important.
  • This seems like a much more recommendable safe: https://www.amazon.com/SentrySafe-SFW123DSB-Fireproof-Waterproof-Combination/dp/B005P12F2K
  • The guide doesn't have a way to verify the authenticity of the guide itself. You should be able to download the guide and verify it with a signature in the same way users are instructed to do so for Sparrow.
  • It seems like the primary benefit of sharding the recovery is so that there is no single storage location that has in plaintext all the information to recover. It looks like it works pretty well for this setup.
  • During setup, is checking all three combinations of the SSKR shares necessary? Isn't just checking 2 combinations enough?
  • Does the Gordian Seed Tool have a debiasing process for the dice rolls recommended for creating Active Seed Create Sjenica1 #1? If not, you might want to include a debiasing scheme in your instructions, like the one in Andrew Poelstra's Codex 32.
  • Why do you instruct people to write down their iphone pin and apple account info and store it in Primary Storage? Seems unnessary and exposes your apple account to being compromised. Passwords and pins should be remembered, not written down. If you're trying to reduce the opportunity for someone to lose access to the seed on the phone, this is not going to be very effective. Its far more likely that a person breaks their phone and therefore loses access to the seed. If the user does not store any pins or passwords, the primary security and loss resilience properties don't change.
  • Same thing with recording the Passport pin. You should not do this (the user might use this pin elsewhere, so compromising it might compromise other things). What's the point anyway if you're storing it in the same place as the passport backup?
  • Nit: I found the image captions very confusing on github - they always look like section labels for the next section, when they're actually labeling what's above them. Maybe put the caption above the image it relates to?
  • Note 48 says adding a password introduces a single point of failure. However I don't think that's true in this case because, like it says, its only encrypting the watching only wallet, so even if you forget that password you should still be able to recover just fine. I'm not saying you should recommend encrypting it, but it doesn't seem like a significant factor in this case.
  • What's the purpose of backing up the sparrow wallet. Is that just for backing up transaction history metadata? And it mentions to do this "particularly if you decide to put a password on the wallet" - I don't see how the use of a password is related to backing up sparrow.
  • Re note 52 about being specific or vague in your inheritance letter, a good middle groud in the case of a safe deposit box is to say the name of the bank your box is in, and then they would need to go to the bank with certification of your death in order to even know what specific location your deposit box is in. For a friend's safe, you can just say "This person has it" but not where they have it (home, bank, etc).

I have an interest in self custody solutions, especially multisig ones. I think guides like this one are very important and hopefully using and sharing guides like this will one day become standard practice for people storing any significant amount of bitcoin. I wrote The Tordl Wallet Protocols and I work for Unchained Captial. I would be very appreciative of a review of Tordl by anyone involved in Blockchain Commons.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions