Bitcoin Forum
May 28, 2024, 01:43:39 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Wallet software / Re: AirGap wallet- Self custody made simple and secure - Protect your crypto offline on: December 06, 2022, 06:49:07 PM
Trezor and some other wallets are using Secret Shamir Sharing for years but I don't see general acceptance from community like it happened with their BIP39 proposal.
I doubt this is going to popular with one universal standard, because there are clear flaws in this concept, so it's more likely we are going to see something totally new instead.

Could you elaborate on the clear disadvantages of Shamir's Secret Sharing? The only downside I see is the complexity of the implementation, which leaves room for error and can decrease security if not implemented right. For this reason, we will also add other schemes like SeedXOR and Hamming Backups, which are much simpler and leave less room for error.

In my personal opinion, the reason that SLIP39 did not get a lot of traction was because it is not compatible with BIP39. What I mean by this is that it's not possible to take a BIP39 mnemonic, then split it up into SLIP39 shares and get back your BIP39 mnemonic (=> no "roundtrips" are possible). SSKR is compatible with BIP39 mnemonics. From a wallet developer perspective, adding SLIP39 is more work because it often isn't compatible with the existing architecture of the app. But SSKR can basically just be added as a small add-on, then once the BIP39 mnemonic is recovered, the app can be used as usual. But I guess only time will tell what happens around adoption of those standards.

I prefer multisig setup, so my question is does Airgap wallet support multisig setup and can it be combined with Electrum and other hardware wallets for this?

Multisig has advantages over Shamirs', the most important is that there is no one "single point of failure", because the keys can be distributed while signing. The one important downside in this context is that multisig isn't chain agnostic. Bitcoin supports multisig "natively", but for most other chains, smart contracts have to be used for multisig. So it's not possible to have a generic multisig implementation, but it is possible with Shamirs' because it works on a mnemonic level.

AirGap Vault does support multisig because it supports signing PSBTs. To do this, you'll have to use it with a watch-only wallet like Sparrow, Specter or BlueWallet. Please note that we didn't officially announce the support for multisig just yet, because we would like to add some additional functionality to make it more secure (eg. being able to register co-signers in the Vault to verify change addresses, which currently can't be done). This is on our roadmap and will hopefully come sometime in Q1.
2  Bitcoin / Wallet software / Re: AirGap wallet- Self custody made simple and secure - Protect your crypto offline on: December 05, 2022, 12:59:32 PM
There are 2 reasons why we called the feature "Social Recovery" instead of "Shamir's Secret Sharing".
Both reasons you mentioned are proof that people should not use and trust any form of Shamir's Secret Sharing.
Lack is clear standards and confusion between different implementations are big disadvantages, and this was never widely accepted by bitcoin community.
Sure it can be better in some cases than holding simple paper with seed words, but this could be mitigated with one or more passphrases.
Adding extra complexity with obscure incompatible system is no go for me, and until I see compatibility with other wallets I don't think it's safe enough to use Airgap wallet social feature.

Lack of clear standards was indeed a problem. But the new SSKR standard is here to solve that. While it's currently not widely used, there are multiple implementations available in case one project shuts down. And adoption will probably improve over time (it's a very new standard).

The use cases for passphrases and Shamir's are very different. But even if you could somehow "replicate" some kind of social recovery feature by using passphrases, that wouldn't be a standard either, and you then have to make sure you remember how to recover it.

And you have to differentiate between not being able to recover your seed in case a project ceases to exist, and having to put some effort into recovering your seed. Our code is open source, so you will always be able to recover it, it's just not as easy as downloading a different app.

But as I said, we do want to build on standards, and now that there is one (SSKR), we'll add support for it in the near future.
3  Bitcoin / Wallet software / Re: Airgap Vault on desktops (specifically Linux) on: November 05, 2022, 05:48:28 PM
There were a few comments here about running AirGap Vault in an Android Emulator or VM.

The security when running AirGap Vault on a mobile device (Android or iOS) comes from the built in secure element hardware chip. It allows for strong encryption that the user can unlock easily using biometrics or the PIN code. If you run AirGap Vault in an emulator, this secure chip will be emulated, so you don't really gain security.

Does that also apply for Type 1 Hypervisor (such as KVM and Xen) which perform CPU/host passthrough?

I'm not sure what exactly you mean. I'm not very familiar with how emulators or VMs work, but if the device doesn't have a secure element chip, then it also applies, no matter what kind of emulator you use.

I incidentally have a Debian 11 VM ready on Virtualbox, with GNOME GUI. It does not have an emulator or any other bloat application on it. Yes, I would appreciate the automated setup script being revived for it. Let me know if you need any bug fixes in the script because I'd be happy to help.

Just tell me how much storage space does the setup script require (including temporary storage) because this VM was created a while ago with a crazy partition layout and I only have 2GB storage free on the root filesystem. So I want to know whether it will work with that little space or if it even works on newer Debian so I can make a new installation if needed.

Once I have time I can look into it again, but it has been a few years, so I don't remember how much it space it uses.

But just to make it clear, as I mentioned earlier, I don't see many advantages of running AirGap Vault in a VM. The distro we made isn't supposed to be run as a VM, but rather on a dedicated computer that doesn't have an operating system installed. Our AirGap distro will be the operating system on that system. Once you boot, it boots directly into AirGap Vault and has no other functionality and does not use any persistent storage.
4  Bitcoin / Wallet software / Re: AirGap wallet- Self custody made simple and secure - Protect your crypto offline on: November 05, 2022, 05:35:09 PM
So if I set up a social recovery option, and then AirGap wallet with all its services ceases to exist 5-10 years from now, how can I regain access to my funds if the scheme doesn't work with other hardware/software wallets?

The code of our apps is completely open source and the part of the social recovery is only a few lines of code. I would recommend that you use an old deployed version of the app (eg. an APK from GitHub). You could also run the project yourself, or someone could build a standalone version of the recovery feature.

If you adopt the SSKR standard at one point in the future, does it affect all previously configured social recovery setups? Those created before your adoption of SSKR or whatever other model you decide to go for?

SSKR is a completely separate standard, so it is not compatible with our implementation. Once we add SSKR, the generation part will be replaced completely, so going forward it will only be possible to create SSKR shares. But our apps will always support recovery of "old" social recovery setups, we'll never remove that.
5  Bitcoin / Wallet software / Re: AirGap wallet- Self custody made simple and secure - Protect your crypto offline on: November 04, 2022, 10:53:42 PM
Hi. I'm Andy, one of the developers on the AirGap project.

That's exactly what it is.
Than it's much better to call it with it's real name instead of inventing something like Social recovery feature.
It is also important for compatibility to say if your Secret Shamir Scheme is compatible with one that is available in other hardware wallets like Trezor Model T and Keystone wallet.

There are 2 reasons why we called the feature "Social Recovery" instead of "Shamir's Secret Sharing".

1. The term "Shamir's Secret Sharing" is known in some parts of the community, but because of the lack of a clear standard (at least at the time when we added the feature many years ago), we didn't want users to make false assumptions, eg. regarding compatibility with other implementations (there were a few CLI tools but they were not compatible with our implementation).
2. The term "Social Recovery" is clearer for less technical users.

As already mentioned above, our scheme is not compatible with any other implementation, eg. Trezor or Keystone. The main reason is that our implementation is older than the finalised SLIP-39 standard, which is used by Trezor and Keystone.

The reason we did not change to the SLIP-39 standard after it was finalised is because SLIP-39 does not allow to split up an existing 12 / 24 word mnemonic. So it does not allow you to go from BIP39 mnemonic => Shamir Shares => BIP39 mnemonic. With our implementation, this is possible.

But now that the SSKR standard was defined by blockchain commons, we are planning to adopt it in the near future.

Having only the seed phrase is a single point of failure. Introducing a mechanism to recover the wallet even if you lose the seed phrase eliminates this
Yes it is, unless you add multiple passphrases, but we are talking about improving something and removing single point of failure, that was not accomplished with SSS because one guy controls everything.

You are right, SSS does not remove the single point of failure regarding mnemonic usage, but it does solve the single point of failure regarding secret backup and storage.

In the future, we will be implementing something more standardized like SSKR and Seed XOR.
That is better, but I don't know who currently uses this except maybe Coldcard.

As far as I know, only Coldcard supports Seed XOR at the moment. Hopefully more wallets will follow soon.

Can you make a comparison between your Social recovery feature VS Shamir Secret Sharing VS Threshold Signatures Schemes or Multi-Party Computation, for example? Why are your methods better and recommended compared to the ones mentioned? MPC is something I recently heard about, but it's in connection with an altcoin that I don't want to be accused of shilling if I mention it. It's easy to find on the first page of a Google search and the project begins with "Q".   

As mentioned above, the Social Recovery feature is just a name we use for our implementation of the Shamir's Secret Sharing scheme. I don't know much about Threshold Signatures or Multi-Party computation so I can't talk about them. But from what I've heard they sound very interesting and could solve a few problems.
6  Bitcoin / Wallet software / Re: Airgap Vault on desktops (specifically Linux) on: November 04, 2022, 08:58:39 PM
Hi. Andy here, one of the developers on the AirGap project.

- How can we securely erase the working data while AirGap Wallet is exiting? Remember that filesystems don't overwrite files in-place so merely writing random data won't work. There must be some kind of package for this. Even better would be some program that makes a temporary, encrypted filesystem before AirGap starts - probably connected by FUSE or something. At least that way, the working directory is scrambled even if the system loses power.

I would recommend using TailsOS because it encrypts the persistent storage by default. Just make sure you use a very strong password.

- How to make it run inside a "network jail" where all networking is disabled or a particular process? I am thinking of something like "seccomp-bpf" that is also used in Bitcoin Core but again, there must already be some kind package for this.

Ideally, you run AirGap Vault on a device that does not have any networking capabilities (eg. a PC without WIFI card).

A while ago, we created an AirGap Vault Linux Distro https://github.com/airgap-it/airgap-distro, which removes any networking capabilities from the OS. At the time, there was only minimal demand for it, so we discontinued it. But we would be happy to revive the project if there is demand for it again. We'd welcome any PRs that would automate the process of adding the latest AirGap Vault version to the Linux Distribution.

- By the same vein, how can USB, serial/parallel ports, and direct peripheral access be disabled for that particular program?

As others have pointed out, this is a tricky problem to solve because you do need some kind of input device to interact with the application, but in theory, and keyboard or mouse could send malicious inputs.

---

There were a few comments here about running AirGap Vault in an Android Emulator or VM.

The security when running AirGap Vault on a mobile device (Android or iOS) comes from the built in secure element hardware chip. It allows for strong encryption that the user can unlock easily using biometrics or the PIN code. If you run AirGap Vault in an emulator, this secure chip will be emulated, so you don't really gain security.

It kind of depends what you want to protect yourself from. If you run AirGap Vault inside a VM, you are basically trying to create a secure and isolated environment in a potentially insecure environment. If your host OS has internet access and is infected with malware, setting up a "secure" VM on that system doesn't really help you, because the malware on the host can just read the keyboard inputs when you enter the mnemonic, or it can read the storage of the VM / emulator. So I don't really see the point in doing that, because it's not an air-gapped setup if the host has internet access.

The only reason I can see for trying to create such an isolated environment is if you don't trust that AirGap Vault won't try to somehow leak the keys over the network. In this case, it makes sense to run it in a sandbox.

But if you want the full advantages of an air-gapped setup, you should run AirGap Vault on a fully air-gapped system, without any networking capabilities.
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!