とあるチームの研究者は、javaScriptウォレットアプリケーションに基づいて生成した旧ビットコインアドレスに安全リスクが存在すると発見した。

研究者は、ハッカーがjavaScriptの欠陥を利用して、ウォレットアプリケーションにより生成した旧ビットコインアドレス中に保存されているビットコインを窃取することができると発見した。パスワードを使用して暴力にクラッキングすれば、インターネット犯罪者はこれらのビットコインアドレスのぷラバシーキーが獲得でき、その中に保存しているウォレットとビットコインの所有権を窃取することができる。

Javascript SecureRandom()関数中のエントロピーが不足

この抜け穴は主にビットコインアドレスとプライバシーキーを生成するJavascript SecureRandom()から発生している。ビットコインのアドレスは一連の「1」或いは「3」から始まるアルファベットと数字の組合せたコードであり、それはビットコインが支払う目的地を指定し、電子メールのアドレスに類似したものである。プライバシーキーはパスワードのようなもので、ビットコインのアドレスと数学関連が存在する。

Lunux Foundationからの一名の匿名貢献者は、JavascriptSercureRandom()関数が本当の意味でのランダムではない(注:Randomとはランダムと意味する)と指摘した。また、イギリスUnixシステム専門家のデビッド・グランデ(David Gerard)もこの問題を発覚し、多くの暗号化パートナーフォーラムでこの問題について討論と展開した。

 研究者は普遍的にこの関数が決して本当の意味でのランダムではないと認識している理由は、それが生成した暗号化プライバシーキーのエントロピーのレベルが非常に低いからである。エントロピーとはシステムのランダム程度を指し、エントロピーの値が高いほど、パスワードが暴力にクラッキングされる難度が大きくなる。

 デビッド・グランデは、Javascript SercureRandom()が生成したプライバシーキーのエントロピーの値が48桁以下であるため、それが生成したプライバシーキーが簡単にクラッキングされると主張している。