您的位置:首頁 > 菜鳥學院 > SecureRandom漏洞技術(shù)分析詳解(CVE-2013-7372)

SecureRandom漏洞技術(shù)分析詳解(CVE-2013-7372)

來源:互聯(lián)網(wǎng) | 時間:2015-03-12 16:08:10 | 閱讀:162 |  標簽: 漏洞 遠程攻擊 網(wǎng)絡(luò)安全   | 分享到:

免責聲明:請在訪問相關(guān)連接時替換HXXP為HTTP,僅供安全研究與教學實例,風險自負!

0×00 漏洞概述

Android 4.4之前版本的Java加密架構(gòu)(JCA)中使用的Apache Harmony 6.0M3及其之前版本的SecureRandom實現(xiàn)存在安全漏洞,具體位于classlib/modules/security/src/main/java/common/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java文件的engineNextBytes函數(shù)里。當用戶沒有提供用于產(chǎn)生隨機數(shù)的種子時,程序不能正確調(diào)整偏移量,導致偽隨機數(shù)生成器(PRNG)生成隨機序列的過程可被預測。漏洞文件參見文后鏈接1。

0×01 漏洞影響

2013年8月份的比特幣應用被攻擊也與這個漏洞相關(guān)。比特幣應用里使用了ECDSA算法,這個算法需要一個隨機數(shù)來生成簽名,然而生成隨機數(shù)的算法存在本文提到的安全漏洞。同時這個ECDSA算法本身也有漏洞,在這個事件之前索尼的PlayStation 3 master key事件也是利用的這個算法漏洞。

本文主要介紹SecureRandom漏洞,關(guān)于ECDSA算法漏洞讀者可以自行閱讀下面的資料:

ECDSA算法的細節(jié):

hxxp://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm#Security

防范措施:

hxxp://tools.ietf.org/html/rfc6979

Google group上關(guān)于PlayStation 3 master key事件如何利用ECDSA算法漏洞獲取私鑰的討論:

hxxps://groups.google.com/forum/?fromgroups=#!topic/sci.crypt/3isJl28Slrw

0×02 SecureRandom技術(shù)實現(xiàn)

在java里,隨機數(shù)是通過一個初始化種子來生成的。兩個PRNG實例,如果使用相同的種子來初始化,就會得到相同的隨機序列。Java Cryptography Architecture里提供了幾個加密強度更大的PRNGs,這些PRNGs都是通過SecureRandom接口實現(xiàn)的。

java.security.SecureRandom這個類本身并沒有實現(xiàn)偽隨機數(shù)生成器,而是使用了其他類里的實現(xiàn)。因此SecureRandom生成的隨機數(shù)的隨機性、安全性和性能取決于算法和熵源的選擇。

小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認同期限觀點或證實其描述。

相關(guān)視頻攻略

更多

掃二維碼進入好特網(wǎng)手機版本!

掃二維碼進入好特網(wǎng)微信公眾號!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]

湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)