?

唯密文場景下的分組密碼算法識別方法*

2024-03-20 01:16張運理石元兵蘇攀西
通信技術 2024年2期
關鍵詞:密文決策樹密碼

張運理,石元兵,明 爽,籍 帥,蘇攀西

(1.中電科網絡安全科技股份有限公司,四川 成都 610095;2.可信云計算與大數據四川省重點實驗室,四川 成都 610095)

0 引言

在當今這個信息爆炸的時代,數據安全和隱私保護已經成為人們關注的焦點。隨著網絡技術的發展,加密技術在信息安全領域的應用越來越廣泛。分組密碼算法作為加密技術的一種重要手段,以其高效、簡單、易實現的特點,被廣泛應用于各種場景中。然而,分組密碼算法的安全性也受到了挑戰,特別是受到唯密文攻擊的場景。唯密文攻擊是指攻擊者僅知道加密后的密文,而不知道明文和密鑰的情況下進行的攻擊。在這種場景下,如何有效地識別出所使用的分組密碼算法是一個重要的問題。

唯密文場景下的密碼算法識別研究方向主要分為兩種:一種是早期基于統計學的密碼算法識別方法,另一種是基于機器學習算法的密碼算法識別方法。Maheshwari 等人[1]首次使用統計學方法,以自然語言頻數作為比較閾值,對密文中字母的出現頻率進行統計,對代換密碼、置換密碼和維吉尼亞密碼等幾種古典密碼算法進行了分類,并重點研究了數據加密標準(Data Encryption Standard,DES)和國際數據加密算法(International Data Encryption Algorithm,IDEA)兩種密碼算法的區分。隨著密碼學的不斷發展,現代密碼算法所生成密文的隨機性復雜程度得到了極大的提升,基于統計學的識別方法已不再適用。研究人員嘗試將機器學習算法應用到密文分析領域。Rivest[2]詳細研究了密碼學與機器學習兩大領域結合應用的理論。Matthews[3]使用遺傳算法分析傳統置換密碼。Ramzan 等人[4]提出可以使用神經網絡進行加密算法識別。國內學者李繼中等人[5]以匯編級密碼算法特征分析為基礎,首次提出了匯編級密碼算法特征度量元的概念,并建立基于Bayes 決策的密碼算法識別模型,該模型能高效地定位密碼算法。文獻[6]基于唯密文條件,對密碼算法識別過程中的特征提取、分類器訓練、特征選擇和算法識別等關鍵技術進行了詳細研究,分析了不同機器學習算法及特征選擇方法對識別準確率的影響。文獻[7]對密文特征選擇方法進行了改進與創新,選擇BP 神經網絡、卷積神經網絡與循環神經網絡3 種深度學習算法分別對8 種密碼算法進行識別,相較于基于隨機森林的識別方法,準確率有巨大提升。

本文針對唯密文場景下的分組密碼算法識別問題進行了深入研究,提出一種基于集成學習的唯密文場景下分組密碼算法識別方法。該方法通過使用集成學習算法學習密文的隨機性統計特征,如撲克檢測、隨機游走狀態頻數檢測等,來識別密文所使用的分組密碼算法。為了驗證所提方法的有效性,本文進行了多組實驗,并與現有的識別方法進行了比較。實驗結果表明,本文所提方法在識別準確率和魯棒性方面均優于現有方法。此外,本文還討論了唯密文場景下分組密碼算法識別的挑戰和局限。

1 集成學習模型

基于集成學習思想,本文設計了一種基于混合梯度上升決策樹和邏輯回歸模型的唯密文場景下的對稱密碼算法識別方法。該集成學習模型是2014 年由Facebook 提出的[8],使用混合梯度上升決策樹(Gradient Boosting Decision Tree,GBDT)模型[9]在訓練過程中對特征進行自動組合和離散化,得到的離散向量與訓練數據原特征組合作為邏輯回歸模型(Logistic Regression,LR)的輸入數據,最終輸出分類預測結果。結合梯度提升決策樹和邏輯回歸算法,構建混合模型,利用梯度提升決策樹在處理非線性問題上的優勢及邏輯回歸算法在處理二分類問題上的優勢,提高模型的整體識別性能。模型結構如圖1 所示。

圖1 GBDT+LR 集成學習模型

1.1 GBDT 模型原理及應用

GBDT 模型是一種迭代的決策樹算法模型,它通過結合多個弱分類器來提高整體模型的性能。GBDT 的核心思想是每一棵樹都是對之前所有樹預測結果的殘差進行擬合,即每個新加入的決策樹都是為了修正前面所有決策樹的預測誤差。

具體來說,GBDT 的工作流程如下。

步驟1:初始化訓練數據,將所有樣本的預測值設為0。

步驟2:對于每一個訓練樣本,計算其殘差。

步驟3:用當前的殘差擬合一個新的決策樹。

步驟4:更新樣本的預測值。

步驟5:重復步驟2~4,直到滿足預設的停止條件,如樹的數量達到設定的最大值或殘差小于某個閾值。

在實際應用中,GBDT 模型具有很好的可解釋性和廣泛的應用效果。它在數據挖掘、計算廣告、推薦系統等領域都得到了廣泛應用。此外,GBDT與LR 的結合也是一個重要的應用場景,用以解決LR 模型無法處理非線性數據的問題。

1.2 LR 模型原理及應用

邏輯回歸模型是一種用于處理因變量為分類變量的回歸模型,常見的是二分類或二項分布問題,也可以處理多分類問題。雖然名稱中含有“回歸”兩個字,但實際上邏輯回歸是一種分類方法。邏輯回歸的原理為:首先通過伯努利分布和邏輯函數建立回歸分析模型,其次通過最大似然估計法來求解模型中的參數。邏輯回歸模型預測函數可以表示為:

式中:p為某個事件發生的概率,z為線性組合的特征值與偏置項之和。

在實際應用中,邏輯回歸具有廣泛的適用性。例如,它可以用于信用評分,預測客戶是否會違約;也可以用于醫學診斷,如預測患者是否患有某種疾病。此外,邏輯回歸還可以應用于垃圾郵件過濾、推薦系統等領域。

1.3 GBDT+LR 模型的構建過程和集成策略

GBDT+LR 集成學習模型是一種兩階段的集成模型,它通過GBDT 模型自動提取特征,并將提取的特征輸入到邏輯回歸模型中進行分類預測。這種模型化的特征工程方法能夠有效提升模型的預測性能,并減少人工特征工程的工作量,具體的構建過程如下文所述。

步驟1:利用GBDT 模型訓練原始樣本數據,得到一個二分類器。這一步通常涉及模型的訓練和參數的調整。GBDT 是一種基于boosting 集成學習思想的加法模型,訓練時采用前向分布算法進行貪婪學習,每次迭代都學習1 棵CART 樹來擬合之前t-1 棵樹的預測結果與訓練樣本真實值的殘差。

步驟2:使用訓練好的GBDT 模型做預測,例如,一個原始樣本數據經過GBDT 后,可以得到一些新的特征,并對新特征進行One-hot 編碼處理,這些新的特征可以看作原始特征的非線性變換或者組合。

步驟3:將GBDT 構造出的組合特征再與原始數據特征組合,輸入到邏輯回歸模型中進行訓練。這一步通常也涉及模型的訓練和參數的調整。

1.4 分組密碼算法識別模型

基于GBDT+LR 集成學習模型構造唯密文場景下的分組密碼算法識別模型框架,如圖2 所示。

圖2 分組密碼算法識別模型

1.4.1 訓練階段

該模型從各類分組密碼算法密文文件C={C1,C2,…,Cn}按2.2 節中的方法進行提取,并處理得到密文特征集F={F1,F2,…,Fn}與標簽集合Label={L1,L2,…,Ln}。將得到的特征集作為GBDT 模型輸入,對GBDT 模型N次迭代后得到的預測結果進行One-hot 編碼,與原特征集組合得到新特征集Fnew={P1,P2,…,Pn}。將新的特征集作為LR 模型輸入,對特征進行分類訓練,輸出訓練好的集成學習分類器模型M。

1.4.2 測試階段

對待識別的密文文件進行特征提取得到不含標簽的密文特征FnoLabel,將提取到的特征輸入訓練好的分類器M中,輸出即為識別結果。

2 數據集及特征提取

2.1 密文數據集構建

分組密碼算法是對稱密碼算法的一種,其加密和解密過程中使用相同密鑰的密碼算法,并將明文分成固定長度的組,對每個組進行加密處理,最后得到密文。訓練模型使用到的密文數據集由AES、SM4 和3DES 這3 種分組密碼算法加密明文數據得到,分別包含10 萬條數據。明文數據集使用THUCNews dataset 和AclImdb_v1 dataset,其 中THUCNews 是清華大學自然語言處理實驗室根據新浪新聞RSS 訂閱頻道2005—2011 年間的歷史數據篩選過濾生成的,AclImdb_v1 dataset 是用于二進制情緒分類的大型電影評論數據集。將明文劃分為1 KB、2 KB、4 KB、8 KB、16 KB、32 KB、64 KB、128 KB、256 KB 和512 KB,使 用Crypto 及Gmssl庫對明文進行隨機密鑰加密,加密模式為ECB、CBC 和GCM 這3 種,得到混合不同文件長度的密文數據集。

2.2 特征提取

分組密碼算法設計安全性[10]中要求分組密碼算法應遵循混淆原則和擴散原則,因此明文信息在經過加密算法編碼后得到的二進制序列具有良好的隨機性?,F有研究中,美國國家標準與技術研究所(National Institute of Standards and Technology,NIST)制定的SP 800-22 標準[11]被廣泛應用于隨機序列隨機性特征提取方法中,該標準包含15 個檢測項,每項分為一級檢測和二級檢測,檢測結果以P_Value呈現,如表1 所示。文獻[12]中指出SP 800-22 的正態分布型檢測項目二級檢測存在不完備的情況,即通過這種檢測的隨機序列仍有可能在所檢測的統計特性上存在缺陷,因此提出了Q_Value 的均勻性檢測作為正態分布型檢測項目的二級檢測,這種新的檢測方法能降低誤檢率提高可靠性。新的檢測方法在行業規范《GMT 0005-2021 隨機數檢測規范》[13]中被使用,并提出了不同于NIST 標準的4 項隨機數檢測項,分別為撲克檢測、游程分布檢測、二元推導檢測和自相關檢測。本文采用隨機數檢測規范中的檢測項對密文進行檢測得到P_Value和Q_Value,并將其作為密文特征項(F_P1,F_P2,…,F_Pn;F_Q1,F_Q2,…,F_Qn),這些特征將用于描述密碼的結構、頻率等特性,為后續的模型識別提供依據。

表1 NIST 隨機數檢測項

提取到的特征值不能直接作為模型訓練數據,需要進行如下處理工作:

(1)將基于隨機數檢測項提取到的特征整理到一個CSV 文件中,并根據生成密文的算法進行標注;

(2)對數據集中存在異常值的特征樣本進行清洗,這些值會影響模型訓練效果,因此需要提前進行清洗。

3 實驗結果及分析

3.1 評價指標

本文采用準確率Accuracy、F1 值作為模型性能好壞的評價指標,它們的計算式為:

3.2 結果與分析

本文使用十折交叉驗證的方法對集成學習模型、梯度提升決策樹模型和邏輯回歸模型3 種分組密碼二分類識別方案進行對比實驗驗證,結果如表2所示。從表中可以看出,在相同實驗數據條件下,集成學習模型對密文所使用的加密算法的識別準確率明顯高于單一模型20%左右,說明集成學習模型對分組密碼算法的識別效果良好。同時,F1 值也與準確率呈現相同的規律,說明模型穩定性良好。

表2 分組密碼算法二分類識別準確率及F1 值

4 結語

本文提出了一種唯密文場景下的分組密碼算法集成學習識別模型,基于Q_value 二級隨機數檢測項提取密文特征。實驗結果表明,集成學習模型識別效果優于單一識別模型,且在不同長度混合的數據集上具有良好的穩定性。后續研究工作中將進行特征優化以提高識別方法的魯棒性和泛化能力,同時研究如何利用深度學習模型在唯密文場景下對分組密碼算法進行識別。

猜你喜歡
密文決策樹密碼
一種針對格基后量子密碼的能量側信道分析框架
密碼里的愛
一種支持動態更新的可排名密文搜索方案
基于模糊數學的通信網絡密文信息差錯恢復
一種針對不均衡數據集的SVM決策樹算法
密碼抗倭立奇功
決策樹和隨機森林方法在管理決策中的應用
密碼藏在何處
基于決策樹的出租車乘客出行目的識別
奪命密碼
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合