Take the 2-minute tour ×
Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. It's 100% free, no registration required.

The "Linode problem" I'm referring to is where an external trusted party has administrative control over your device.

Mobile phones are essentially managed devices. They can be fully controlled by someone other than the owner of the device.

Yes, they are managed by the carrier but possibly that carrier has people that cannot be trusted or, something just as bad, has people who don't maintain secure systems themselves such as what reportedly is what happened at Linode.

The importance is this. Consider Safaricom's M-Pesa mobile payments system used widely by those in Kenya.

An attack that defrauds M-Pesa's users en mass means that at some point Safaricom figures out that there's a problem, halts all affected systems to prevent further losses, and in the end eats some, most or all of the customer's losses.

With a mobile app like BitcoinSpinner, or My Wallet from BlockChain.info or even a hosted service like Paytunia's online wallet, the risks are quite different from M-Pesa's. The carrier doesn't promote the Bitcoin app nor offer any guarantees. A similar attack through the managed services of the mobile carrier's network to steal bitcoins from mobiles would cause the finanical losses to afflict the individual mobile user alone.

Just like how Linode disavowed any responsibility to Slush, Bitcoinica, etc. for the tens of thousands of bitcoins lost, carriers such as AT&T, Vodafone and Safaricom would likely maintain the same type of position.

So, this is a fundamental question -- is the practice of storing bitcoin private keys on the mobile something that exposes it to so much risk that it shouldn't even be considered (at least, not for amounts greater than the amount of cash one might carry in a back pocket?)

Or are there ways to secure a mobile device so that even if some piece of malware is deployed by a carrier's rogue employee that the bitcoins would still be secure?

share|improve this question
This is actually a wider concern than something affecting just mobiles. A PC that is managed by a corporation's sysadmin could have this same "Linode problem". –  Stephen Gornick Apr 12 '12 at 4:45
Here's an example posing the risk: "I found that the company I work for is putting a backdoor into mobile phones": security.stackexchange.com/questions/15076 –  Stephen Gornick May 19 '12 at 16:25
More backdooring ... Samsung Galaxy backdoor. –  Stephen Gornick Jul 14 at 5:27

5 Answers 5

up vote 3 down vote accepted

If your private key is compromised your coins are gone

So the short answer is that the "Linode problem" where your entire private key is at the mercy of a third-party capable of root access to your system is somewhat intractable. As others have stated you can limit your key's exposure, but malware is patient.

Off topic, but possibly of interest, is a project by the MultiBit team to use a HP50G scientific calculator as an item of trusted hardware capable of signing transactions. Not much use out in the field like a mobile would be, but handy for a small business reconciling small volumes of transactions.

share|improve this answer

The answer to that depends on the scope of what the malware can do. Assuming the whole device is compromised, exposing all of our stored data as well as everything we do on it, storing your wallet on a mobile phone will result in your coins being stolen sooner or later.

If your coins are store in an encrypted wallet, the malware just has to wait until you input your password to decrypt your keys and your money is lost. If your wallet is unencrypted, it's all the easier.

One could, however, still use an eWallet semi-securely if some additional measures are taken. If the service provider would provide one-time passwords that are not time-synchronised, the system could either allow for somewhat safe Bitcoin usage, or at least detecting that your system is compromised. This is how it would work:

Lets say you have a set of one time passwords numbered 1-10, and you alreay used numbers 1, 2 and 3. You log into your eWallet with your mobile phone, compromising your password, but every important action on the website requires one of the otps to be used. Should the malware try to change anything, it would use up password 4 attempt, and when you'd want to do something, you'd be prompted for password 5. Seeing that you haven't used number 4, you could suspect compromise.

If the malware didn't act, you could try sending a Transaction and inputting an otp, and the malware could either stop you from doing that, or perform a sort of double-spend by trying to execute a second Transaction from your eWallet in the background. If the request for a Transaction came after yours, it would not work, as it would require password 5 which you will not input, as you'd use password 4.

Depending on the sophistication of the malware, it is possible to develop a very specific malware that would execute its own transaction instead of yours, spoofing the website form for your inputs and tricking you into inputting the correct password for its use.

All in all, if your system is compromised, coins stored on it are as good as gone once you input the password to decrypt them. If they are stored online, there are measures to prevent their theft, but there are workarounds.

share|improve this answer
And as a side note, Gavin wrote awhile back on his Blog: "If your computer is infected, then it cannot be trusted, and there is no software in the world that can keep your bitcoins safe if they are stored on it." gavinthink.blogspot.com/2011/06/… –  ThePiachu Apr 9 '12 at 16:41

Assuming you want an app which is secure, but presumes that:

  1. the mobile is completely compromised;
  2. the private key has a strong password;
  3. there is a backup of the private key.

A form of two-factor authentication, perhaps through bluetooth on another device, may be able to provide enough security for most use cases and most current bitcoin demographics. Still, that would of course bring the usual trade-off of bringing additional overhead to user experience.

share|improve this answer

Generally, application updates do not occur automatically. As a result protection from a wallet-stealing compromise, for instance, can come from not installing updates until after most everyone else has already upgraded.

This delay won't protect if you do installed it eventually but the likelihood would be that others would experience a problem before you've even installed the update.

share|improve this answer

Not unless it is open source.

Check out http://replicant.us (Free / Open Source Android)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.