溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言中如何避免弱加密

發(fā)布時間:2022-01-18 15:10:45 來源:億速云 閱讀:173 作者:柒染 欄目:網(wǎng)絡(luò)管理

這篇文章跟大家分析一下“C語言中如何避免弱加密”。內(nèi)容詳細(xì)易懂,對“C語言中如何避免弱加密”感興趣的朋友可以跟著小編的思路慢慢深入來閱讀一下,希望閱讀后能夠?qū)Υ蠹矣兴鶐椭?。下面跟著小編一起深入學(xué)習(xí)“C語言中如何避免弱加密”的知識吧。

1、弱加密

加密指以某種特殊的算法改變原有的信息數(shù)據(jù),使得未授權(quán)的用戶即使獲得了已加密的信息,但因不知解密的方法,仍然無法了解信息的內(nèi)容。常見的加密算法主要可分為:對稱加密、非對稱加密、單向加密。各類加密算法的使用場景不同,根據(jù)加密算法的特性如運算速度、安全性、密鑰管理方式來選擇合適的算法,但安全性是衡量加密算法優(yōu)劣的一個重要指標(biāo),容易被破解的加密算法被稱為弱加密算法,例如可以使用窮舉法在有限的時間內(nèi)破解DES算法。本篇文章以JAVA語言源代碼為例,分析弱加密產(chǎn)生的原因以及修復(fù)方法。

2、 弱加密的危害

對于抗攻擊性弱的加密算法,一旦被利用會造成個人隱私信息泄漏甚至財產(chǎn)損失。從2018年1月至2019年4月,CVE中共有2條漏洞信息與其相關(guān)。漏洞信息如下:

CVE漏洞概況
CVE-2018-9028CA Privileged AccessManager 2.x中傳輸密碼時使用弱加密,降低了密碼破解的復(fù)雜性。
CVE-2018-6619在 Easy Hosting Control Panel(EHCP)v0.37.12.b通過利用無鹽的弱加密算法,使攻擊者更容易破解數(shù)據(jù)庫密碼。

3、示例代碼

下面使用示例代碼來源于Benchmark (https://www.owasp.org/index.php/Benchmark),源文件名:BenchmarkTest00019.java。

3.1缺陷代碼

C語言中如何避免弱加密

上述示例代碼操作是讀取請求中的內(nèi)容并將其加密處理,在第49行獲取讀取配置文件的實例 benchmarkprops。在第50行加載配置文件,在第52行~53行讀取配置文件中的屬性 cryptoAlg1,若無此屬性默認(rèn)使用 DESede/ECB/PKCS5Paddingalgorithm 賦值。第54行將使用 algorithm 作為加密算法構(gòu)造加密對象c。接下來準(zhǔn)備加密的密碼。第57~58行實例化了一個DES加密算法的密鑰生成器。第59行指定加密對象 c 的操作模式為加密,其中 key 為密鑰。第62行~76行對將請求中的輸入流轉(zhuǎn)換為字節(jié)數(shù)組input,在第77行進(jìn)行對 input 進(jìn)行加密,加密結(jié)果是字節(jié)數(shù)組 result 。其中使用 DES 算法生成的密鑰短,僅有56位,運算速度較慢,而且DES算法完全依賴密鑰,易受窮舉搜索法攻擊。

使用代碼衛(wèi)士對上述示例代碼進(jìn)行檢測,可以檢出“弱加密”缺陷,顯示等級為中。在代碼行第57行報出缺陷,如圖1所示:

C語言中如何避免弱加密

圖1:弱加密的檢測示例

3.2 修復(fù)代碼

C語言中如何避免弱加密

在上述修復(fù)代碼中,第58行使用AES算法替代DES算法,AES最少可生成128位,最高256位的密鑰,且運算速度快,占用內(nèi)存低。

使用代碼衛(wèi)士對修復(fù)后的代碼進(jìn)行檢測,可以看到已不存在“弱加密”缺陷。如圖2:

C語言中如何避免弱加密

圖2:修復(fù)后檢測結(jié)果

4、  如何避免弱加密

安全性要求較高的系統(tǒng)中,建議應(yīng)使用安全的加密算法(如AES、RSA)對敏感數(shù)據(jù)進(jìn)行加密。

關(guān)于C語言中如何避免弱加密就分享到這里啦,希望上述內(nèi)容能夠讓大家有所提升。如果想要學(xué)習(xí)更多知識,請大家多多留意小編的更新。謝謝大家關(guān)注一下億速云網(wǎng)站!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI