SOFTWARE DEVELOPER Google has acknowledged the existence of and issued a patch for a critical flaw in Android that put Bitcoin wallet app users at risk of theft.
The Bitcoin Foundation announced the discovery of the "critical weaknesses" earlier this week, blaming Google's Android mobile operating system (OS) for a flaw in the random number generator that is used to help keep the electronic cash system safe.
According to Bitcoin, the random number generator, which provides input used to build the private keys needed to create a Bitcoin wallet, contained bugs that have been exploited to steal balances from some Bitcoin wallet app users.
Google Android security engineer Alex Klyubin has confirmed the existence of the bug in a blog post, saying that the random numbers generated by Android are cryptographically weak.
"We have now determined that applications which use the Java Cryptography Architecture (JCA) for key generation, signing, or random number generation may not receive cryptographically strong values on Android devices due to improper initialisation of the underlying PRNG," Klyubin explained.
"Applications that directly invoke the system provided OpenSSL PRNG without explicit initialisation on Android are also affected. Applications that establish TLS/SSL connections using the HttpClient and java.net classes are not affected as those classes do seed the OpenSSL PRNG with values from /dev/urandom."
The researcher advised that developers who use JCA for key generation, signing or random number generation should update their applications to explicitly initialise the PRNG with entropy from "/dev/urandom or /dev/random".
Also, developers should evaluate whether to regenerate cryptographic keys or other random values previously generated using JCA APIs, Klyubin explained, suggesting that developers look at APIs such as SecureRandom, KeyGenerator, KeyPairGenerator, KeyAgreement, and Signature.
However, the patches issued by Google, which ensure that Android's OpenSSL PRNG is initialised correctly, thus fixing the bug, might not be within reach for all Bitcoin users who need to update their mobile operating systems as soon as possible. This is because, as Klyubin explained, the patches have been provided to "OHA partners".
The term "OHA partners" refers to the Open Handset Alliance, whose members include Android handset makers such as Samsung, HTC and Sony Ericsson, for example, and the respective mobile phone operators.
Though it's good that these phone makers received the patches, the concern for many Bitcoin users now is whether these partners will roll out the patches to their customer bases.
"The problem is that many Android smartphone owners find that it's very up in the air whether their devices will receive operating system updates and security patches," security researcher Graham Cluley warned in a blog post.
"The problem is that you need Google, your cellphone service provider and your smartphone manufacturer to all agree to push out a new OS update.
"Frequently, Android devices are found to be massively out of date with their updates as a result." µ