本申請涉及數(shù)據(jù)安全,具體而言,涉及一種密文加密算法的識別方法及裝置。
背景技術(shù):
1、在電力系統(tǒng)中,密碼技術(shù)發(fā)揮著至關(guān)重要的作用,它保護著系統(tǒng)中的敏感和隱私信息不受惡意攻擊者的侵害。然而,電力系統(tǒng)通常將密碼算法和密鑰存儲在終端設(shè)備的芯片中,且由于系統(tǒng)的封閉性,安全檢測設(shè)備只能通過并聯(lián)接入來感知數(shù)據(jù)流,無法直接獲取設(shè)備使用的密碼信息,這導(dǎo)致了在不干擾系統(tǒng)正常運行的情況下,如何從數(shù)據(jù)流中準(zhǔn)確識別密碼類型、算法和密鑰長度等信息。盡管早期的密碼算法識別研究主要依賴于基于統(tǒng)計的方法,這些方法直觀且易于理解,但它們在處理加密算法較少的場景時效果較好,面對密碼學(xué)算法的增多和密文特征之間復(fù)雜微妙的差異時,就顯得力不從心。機器學(xué)習(xí)方案因其設(shè)計簡單、性能穩(wěn)定,以及能夠處理復(fù)雜數(shù)據(jù)關(guān)系的能力,已經(jīng)成為密碼算法識別領(lǐng)域的研究熱點。然而,機器學(xué)習(xí)技術(shù)通常用于解決人類能夠解決但效率不高的問題,如圖片分類、目標(biāo)識別、語音識別等,而密碼算法的檢測識別與之差異顯著,無法直接應(yīng)用機器學(xué)習(xí)算法通過數(shù)理化表述來完成識別工作,將密碼算法識別問題簡單歸結(jié)為一般模式識別的問題,忽視了其特殊性,限制了技術(shù)創(chuàng)新的可能性。
2、針對上述的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)思路
1、本申請實施例提供了一種密文加密算法的識別方法及裝置,以至少解決相關(guān)技術(shù)中難以準(zhǔn)確識別密文使用的加密算法,影響后續(xù)安全分析的技術(shù)問題。
2、根據(jù)本申請實施例的一個方面,提供了一種密文加密算法的識別方法,包括:獲取待識別的第一密文,并提取第一密文對應(yīng)的第一特征集合;利用預(yù)訓(xùn)練的加密算法識別模型中的隨機森林子模型對第一特征集合進行分析,得到第一葉節(jié)點索引矩陣;將第一葉節(jié)點索引矩陣和第一特征集合組合為第二特征集合;利用加密算法識別模型中的k最近鄰子模型對第二特征集合進行分析,確定第一密文所使用的目標(biāo)加密算法。
3、可選地,提取第一密文對應(yīng)的第一特征集合,包括:利用國家標(biāo)準(zhǔn)與技術(shù)研究院nist的多種隨機性測試方法對第一密文進行測試,得到多個用于反映第一密文隨機性的第一特征,將多個第一特征組成第一特征集合。
4、可選地,將第一葉節(jié)點索引矩陣和第一特征集合組合為第二特征集合,包括:利用獨熱編碼器對第一葉節(jié)點索引矩陣進行編碼,得到第三特征集合;對第一特征集合進行歸一化處理,得到第四特征集合;將第三特征集合和第四特征集合組合為第二特征集合。
5、可選地,隨機森林子模型的訓(xùn)練過程包括:獲取多個已知加密算法的第二密文;對于每個第二密文,提取第二密文對應(yīng)的第五特征集合作為一個訓(xùn)練樣本,并確定第二密文對應(yīng)的加密算法作為樣本標(biāo)簽;將多個訓(xùn)練樣本組成樣本集合,并將樣本集合劃分為訓(xùn)練集、驗證集和測試集;利用自助法從訓(xùn)練集中隨機有放回地抽取多個訓(xùn)練子集;對于每個訓(xùn)練子集,利用預(yù)設(shè)決策樹算法構(gòu)建訓(xùn)練子集對應(yīng)的決策樹,并對決策樹進行剪枝,其中,預(yù)設(shè)決策樹算法包括:分類與回歸樹算法;將訓(xùn)練完成的多個決策樹組成隨機森林子模型;利用驗證集對隨機森林子模型的性能進行評估,并依據(jù)評估結(jié)果調(diào)整隨機森林子模型的模型參數(shù),其中,模型參數(shù)包括以下至少之一:決策樹數(shù)量、每個決策樹的最大深度、最小樣本分割數(shù)、最小葉節(jié)點樣本數(shù)、特征采樣比例。
6、可選地,k最近鄰子模型的訓(xùn)練過程包括:對于訓(xùn)練集中的每個第五特征集合,利用訓(xùn)練完成的隨機森林子模型對第五特征集合進行分析,得到第二葉節(jié)點索引矩陣;利用獨熱編碼器對第二葉節(jié)點索引矩陣進行編碼,得到第六特征集合;對第五特征集合進行歸一化處理,得到第七特征集合;將第六特征集合和第七特征集合組合為第八特征集合;利用多個第八特征集合訓(xùn)練k最近鄰子模型,并利用驗證集對訓(xùn)練后的k最近鄰子模型的性能進行評估。
7、可選地,將訓(xùn)練完成后的隨機森林子模型和k最近鄰子模型組合得到加密算法識別模型;利用加密算法識別模型對測試集中的各個訓(xùn)練樣本進行分析,得到加密算法分類結(jié)果;利用混淆矩陣對加密算法分類結(jié)果和測試集中各個訓(xùn)練樣本的樣本標(biāo)簽進行分析,得到加密算法識別模型的性能測試結(jié)果。
8、可選地,在確定第一密文所使用的目標(biāo)加密算法之后,方法還包括:依據(jù)目標(biāo)加密算法對第一密文進行流量安全分析。
9、根據(jù)本申請實施例的另一方面,還提供了一種密文加密算法的識別裝置,包括:獲取模塊,用于獲取待識別的第一密文,并提取第一密文對應(yīng)的第一特征集合;第一分析模塊,用于利用預(yù)訓(xùn)練的加密算法識別模型中的隨機森林子模型對第一特征集合進行分析,得到第一葉節(jié)點索引矩陣;組合模塊,用于將第一葉節(jié)點索引矩陣和第一特征集合組合為第二特征集合;第二分析模塊,用于利用加密算法識別模型中的k最近鄰子模型對第二特征集合進行分析,確定第一密文所使用的目標(biāo)加密算法。
10、根據(jù)本申請實施例的另一方面,還提供了一種計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括:計算機程序,其中,計算機程序被處理器執(zhí)行時實現(xiàn)上述的密文加密算法的識別方法。
11、根據(jù)本申請實施例的另一方面,還提供了一種電子設(shè)備,該電子設(shè)備包括:存儲器和處理器,其中,存儲器中存儲有計算機程序,處理器被配置為通過計算機程序執(zhí)行上述的密文加密算法的識別方法。
12、在本申請實施例中,獲取待識別的第一密文,并提取第一密文對應(yīng)的第一特征集合;利用預(yù)訓(xùn)練的加密算法識別模型中的隨機森林子模型對第一特征集合進行分析,得到第一葉節(jié)點索引矩陣;將第一葉節(jié)點索引矩陣和第一特征集合組合為第二特征集合;利用加密算法識別模型中的k最近鄰子模型對第二特征集合進行分析,確定第一密文所使用的目標(biāo)加密算法。通過這種方式,利用隨機森林子模型通過構(gòu)建多棵決策樹,可以提供關(guān)于數(shù)據(jù)樣本在決策樹中的路徑信息,即葉節(jié)點索引矩陣,隨機森林子模型的葉節(jié)點索引矩陣提供了額外的特征維度,這有助于k最近鄰子模型更準(zhǔn)確地區(qū)分那些在原始特征空間中難以區(qū)分的加密算法,隨機森林子模型和k最近鄰子模型的組合,使得加密算法識別模型更有效地識別不同的加密算法,進而解決了相關(guān)技術(shù)中難以準(zhǔn)確識別密文使用的加密算法,影響后續(xù)安全分析的技術(shù)問題。
1.一種密文加密算法的識別方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,提取所述第一密文對應(yīng)的第一特征集合,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述第一葉節(jié)點索引矩陣和所述第一特征集合組合為第二特征集合,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述隨機森林子模型的訓(xùn)練過程包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述k最近鄰子模型的訓(xùn)練過程包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,在確定所述第一密文所使用的目標(biāo)加密算法之后,所述方法還包括:
8.一種密文加密算法的識別裝置,其特征在于,包括:
9.一種計算機程序產(chǎn)品,其特征在于,包括:計算機程序,其中,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至7中任意一項所述的密文加密算法的識別方法。
10.一種電子設(shè)備,其特征在于,包括:存儲器和處理器,其中,所述存儲器中存儲有計算機程序,所述處理器被配置為通過所述計算機程序執(zhí)行權(quán)利要求1至7中任意一項所述的密文加密算法的識別方法。