劉俊延 ,賈永杰 ,李雄偉*,張 陽
(1.陸軍工程大學石家莊校區 裝備模擬訓練中心,河北 石家莊 050003;2.中國人民解放軍93498部隊,河北 石家莊 050003)
隨著微電子技術的快速發展,集成電路芯片被廣泛應用于金融、通信、交通、軍事等關鍵領域并在電子設備與系統中起到核心的作用。但由于芯片供應鏈的全球化發展以及利益的驅使,全世界各地都充斥著假冒偽劣芯片的蹤影[1]。其存在形式可以被簡單地劃分為:以次充好、以舊充新、以假充真3種情況[2],這些芯片或多或少在硬件層面上與正品芯片存在著一定的差異。一旦這些假冒偽劣芯片在使用時出現安全問題或故障,極有可能帶來巨大的經濟損失甚至更嚴重的后果。因此,如何對芯片進行有效檢測,以確保其安全性與可靠性具有重大的研究意義。
然而,假冒偽劣芯片與正品芯片的差異通常難以被察覺,在沒有“金片”[3]的情況下,很難通過常規手段識別出二者之間的差異。目前,有很多不同的測試方法可以檢測芯片中的各種異常情況。檢測方法根據問題的性質而有所不同。傳統的芯片檢測方法主要可以分為兩大類:物理檢測方法和電氣檢測方法[4]。物理檢測方法中,電子掃描、X射線和紅外光譜分析是目前最準確、最可信的檢測方法,但是檢測設備昂貴,測試時間長;封裝分析等開封芯片的檢測方法會對芯片造成不可逆的損壞。這些方法不能對大批量的芯片進行逐一檢查,多用于抽樣檢測。電氣檢測包括參數測試、燒機測試、功能測試等方法,盡管電氣檢測方法具有非破壞性和時效性等優點,但這些檢測工作都依賴于人的規范操作,并且對于復雜的集成電路芯片,在原始廠商測試手冊和設備缺失的情況下,該檢測方法無法實施。因此,近年來有許多學者提出從旁路信號[5]分析的角度來達到檢測芯片的目的。旁路信號包括功率、電磁、紅外等側信道。其中,電磁旁路信號在硬件檢測和密鑰攻擊等領域備受青睞[6-7]。電磁旁路是與芯片瞬態活動有關的非接觸式側信道,它受到技術、布局和布線、代碼、內部濾波、封裝、溫度和老化等眾多電路參數影響,對它們進行任何修改都將會導致電磁信號的變化[8]。
目前,基于電磁旁路信號的芯片檢測方法面臨兩大棘手的問題。一方面,假冒芯片的信號差異可能小到被工藝誤差或環境噪聲所掩蓋;另一方面,目前絕大多數的檢測方法是在已經獲取“金片”的前提下進行的。基于以上分析,本文提出了基于人工神經網絡的芯片聚類模型。首先利用人工神經網絡,對信息量龐大的原始信號進行有效的除噪、特征提取和降維等操作,人工神經網絡利用計算機的高速運算能力,能夠實現高效的自主學習、特征提取和模式識別等功能。然后借助自組織映射神經網絡把芯片聚類成簇。當芯片被分成不同的組后,就能夠采用其他替代技術[9](例如電子掃描、逆向工程等可信度高的檢測手段)對每組中單個或多個樣本進行仔細檢查,以達到確認芯片真實性的最終目的。
本文提出的芯片聚類模型能夠用于無“金片”情況下的芯片檢測,其核心思想是利用卷積自動編碼對離散的旁路信號進行特征提取,再通過全連接層的自動編碼器進一步對特征降維,最后把特征向量輸入自組織映射神經網絡進行聚類,芯片聚類示意如圖1所示。

圖1 芯片聚類示意
原始的電磁信號采樣點多、數據量大,包含了大量的無用和冗余信息,直接對原始信號進行分析會降低結果的準確性,且效率極低。因此需要從原始信號提取出更具有代表性的特征向量集合。自動編碼器作為一種無監督的神經網絡結構,通常被應用于特征提取、數據降維和去噪等場景[10]。最簡單的自動編碼器可以由一個輸入層、一個隱層和一個輸出層構成,通過輸入層到輸出層的數據重構實現自動學習隱含特征的目的,其中隱層作為輸入數據提取出的特征。這種神經網絡前半部分為編碼器,后半部分為解碼器。式(1)描述了自動編碼器的訓練過程:
(1)
式中,h和g分別為編碼器與解碼器的映射函數;θ為其內部的訓練參數。自動編碼器與主成分分析(Principal Components Analysis ,PCA)方法相似,二者都是無監督學習中的代表性方法,但是比PCA性能更強且更為靈活,PCA無法表征非線性的變化,利用神經網絡中非線性激活函數,自動編碼器能夠對更為復雜的數據執行非線性變換,從而學習到比PCA等技術更有意義的數據投影[11]。
由于電磁信號屬于時間序列信號,本文使用卷積層、上采樣層和池化層代替傳統的全連接層,以避免損失信號中的序列信息并且能夠解決信號不對齊的問題。本文搭建的卷積自動編碼器網絡結構如圖2所示。

圖2 卷積自動編碼器結構
由于電磁信號的幅值范圍在[-1,1]區間內,為保證輸出信號能實現對輸入信號的完美重構,最后一層卷積層的激活函數采用tanh函數:
(2)
其余的激活函數則采用relu函數,以防止過擬合并減少梯度消失:

(3)
本文的提取特征被分為2個階段:第一階段如圖2所示,編碼過程使用卷積層和池化層提取原始信號中的特征,解碼階段使用上采樣層和卷積層實現編碼層的信號重構;第二階段為全連接層的自動編碼器,通過把第一階段編碼層提取的特征展平作為第二階段的輸入,實現進一步的特征提取和降維。中間隱層的數據作為整個卷積自動編碼器提取的最終特征:
(4)
通過自動編碼器的無監督學習,數據量龐大的原始信號最后在編碼層輸出為10維的特征向量,由于卷積核的參數共享性,大量節省了特征提取所消耗的時間。由于本文的自動編碼器僅用于特征提取,在自動編碼器訓練完成后,只保留其編碼器部分的網絡結構和參數,將編碼器的輸出層與后續用于聚類的自組織映射神經網絡輸入層拼接起來,形成一個自動化的芯片聚類網絡模型。
提取到原始信號經過壓縮的特征向量后,需要對其進行聚類識別。自組織映射神經網絡作為一種無監督競爭型神經網絡,其作用是將樣本集根據相似度進行聚類,這些類稱之為簇。該類神經網絡通常只有2層,一層是輸入層,一層是競爭層,2層之間神經元雙向連接,競爭層之間橫向連接,方便獲勝神經元對其臨近神經元節點的內星權向量進行調整。本文搭建的自組織映射神經網絡結構如圖3所示。

圖3 自組織映射神經網絡結構
輸入層神經元數為特征向量個數,接收來自編碼器的輸出數據。競爭層采用50×50的平面型拓撲結構,該平面拓撲結構能夠從芯片聚類結果反映出一定的實際物理意義,競爭層神經元越密集,對數據越敏感,但是訓練參數也會越多,時間會更長。
每個競爭神經元節點與輸入層之間的權值為該節點的內星權向量如圖4所示。

圖4 內星權向量
向輸入層輸入經過歸一化的特征向量,通過與競爭層所有神經元節點經過歸一化后的內星權向量做內積,尋找到獲勝的競爭節點:
Y=XW,
(5)
式中,X為輸入的10維特征向量;Y為競爭層輸出值,取值范圍[0,1],可以理解為2個向量之間的夾角余弦值,該值越大說明余弦相似度越高;W為輸入層到競爭層之間的權重矩陣(10×(50×50));之所以要進行歸一化處理是為了方便計算特征向量與內星權向量相乘正好為二者的夾角余弦值:
(6)
在50個競爭神經元Y=[Y1,Y2,...,Y50]中,最大值對應優勝神經元。通過調整優勝鄰域內競爭神經元的內星權向量,能夠防止某些始終無法獲勝的競爭神經元變為“死神經元”:
Wn+1=Wn+η×(X-Wn),
(7)
式中,W為競爭神經元的內星權向量;η為學習步長,一般而言,學習步長要隨著迭代次數上升而逐漸變小,這樣能夠在一開始迅速捕捉到輸入特征的大致結構,隨后精細化地調整權重達到學習輸入特征的目的。本文的學習率由迭代次數和優勝鄰域共同決定:
(8)
式中,n為迭代次數;nm為預設最大迭代次數;a為拓撲結構的邊長。
優勝鄰域隨著迭代次數上升,鄰域范圍逐漸收縮,使得競爭層中的相鄰神經元存在一定的相似性而又不同:
(9)
自組織映射神經網絡聚類算法的步驟描述如下:
① 初始化競爭神經元內星權向量;
② 對輸入的特征向量和神經網絡權向量進行歸一化處理;
③ 從打亂的訓練集中隨機抽取訓練樣本輸入神經網絡;
④ 通過競爭層輸出值得出獲勝的競爭節點,并求得獲勝節點的領域和用于更新內星權向量的學習率;
⑤ 對優勝節點鄰域內競爭節點的內星權向量進行調整,使之更加接近于特征向量;
⑥ 判斷結束條件,未達到結束條件則重復步驟②~⑤;
實驗選取3種不同型號但功能特性極其相似的8051系列單片機芯片(STC89C52RC 40I、STC89C52RC 40C和AT89S52)各10塊。其中,STC89C52RC 40I和STC89C52RC 40C分別是宏晶公司生產的工業級和商品級芯片;AT89S52是Atmel公司生產的一款低功耗、高性能CMOS 8位微控制器,同上述2款芯片相同,都是8051核;為了保證充足的訓練樣本,每塊芯片采集10條信號。
實驗環境搭建如圖5所示,采用DH1719A-3穩壓電源供電,CRUX-A微動控制器對采集平臺進行控制,將LANGER RF-B 3-2型電磁探針采集到的電磁信號和EMV-Technik電壓探頭采集到的觸發信號傳入Tektronix數字示波器,并在計算機上對存儲的信號進行分析和后續操作。

圖5 實驗環境
2.2.1 旁路信號采集
在芯片內部寫入特定代碼,控制示波器分別采集3種芯片在電壓觸發信號下降沿至上升沿期間執行MOV A,#DATA指令向外輻射的電磁信號,并將模擬信號轉換為離散的數字信號保存。3種不同型號的芯片信號采集情況如圖6所示。

(a) AT89S52信號采集
2.2.2 特征提取
將這3種芯片的原始信號轉換為10 000個采樣點的離散信號并作為卷積自動編碼器的輸入,隱層輸出的10個數據作為自動編碼器學習到的隱含特征。卷積自動編碼器訓練過程如圖7所示。

圖7 卷積自動編碼器訓練過程
當損失函數收斂時,自動編碼器訓練完成。輸出層重構信號與輸入信號的皮爾遜相關系數越逼近1,說明重構信號還原度越高,特征提取效果越好。3種芯片的信號重構效果如圖8所示。

(a) AT89S52信號重構
卷積自動編碼器(CAE)與傳統的自動編碼器(AE)信號重構效果對比結果如表1所示。

表1 信號重構對比
2.2.3 聚類
自動編碼器完成訓練后,把輸出值作為特征向量輸入自組織映射神經網絡的輸入層,通過自組織映射神經網絡的無監督學習,把相似度高的特征向量聚類成不同的簇。實驗對3種不同密集程度的競爭層進行研究,聚類結果如圖9所示。

(a) 5×5拓撲結構
聚類結果顯示,競爭層的拓撲結構對聚類效果影響較大。當競爭層神經元節點較少時,不易區分出相近的特征向量。采用更加密集的競爭層能夠對相似度高的芯片有效區分,但也會使神經網絡參數更多,計算量更大。
為驗證聚類模型(CAE-SOM)的優越性,本文與其他的組合方法進行對比實驗,實驗結果如表2所示。

表2 不同方法聚類結果
在實驗模擬情況中,假定是不知道每一簇所對應類別的,本文用A、B、C分別表示聚類結果的3簇。分析表中數據可以看出,在沒有進行特征提取的方法1中,對原始數據直接采用K-Means方法進行聚類,結果不能對同廠芯片進行有效區分,并且還把AT型的芯片錯分成2簇。在方法2中加上PCA的特征提取和降維之后,結果仍然沒有太大變化。當在方法3中引進自組織映射網絡之后,聚類效果有所改善,但由于特征提取效果不佳,同廠芯片之間的差異無法有效區分。最后方法4采用本文的(CAE+SOM)模型進行聚類,其效果遠優于其他方法。
針對無“金片”情況下的芯片檢測問題,本文提出了基于電磁旁路信號的芯片聚類模型(CAE-SOM),利用自動編碼器自動學習信號數據中的隱含特征,自動編碼器訓練完成后,只留下編碼器結構,把編碼器的輸出結果輸入自組織映射神經網絡聚類成簇。一體化的聚類神經網絡模型簡化了人工操作等繁瑣的步驟,經過實驗驗證,該聚類模型能夠在無監督的條件下以更高的精度對芯片完成聚類,其準確率遠高于其他方法。為進一步提升模型的準確率,應當提取出更具有表征性的特征,并考慮采用特征融合等手段實現。