
側信道分析攻擊技術有兩種分類方法。第一種按照攻擊手段是否物理損壞晶片,將其分為入侵、非入侵、半入侵三種。入侵式攻擊需打開晶片直接接觸晶片內部的模塊。非入侵攻擊無需解剖晶片而是顺利获得檢測晶片工作時從外部表現出的特徵進行分析,包括運行時間、電流、電磁輻射等。半入侵攻擊需打開晶片,不過不用打開鈍化層與接觸金屬表面。
第二種按照是否干擾晶片正常運行分類,將其分為主動和被動兩種。主動攻擊的目的是使晶片的工作不正常,典型代表是故障攻擊。被動攻擊則並不干擾晶片的運行,典型代表是功耗分析攻擊。
上述分類並不互相排斥,攻擊方法的綜合運用會給密碼晶片的安全很大威脅。
1.非侵入式
方式包括抖動電源的電壓和抖動時鐘信號。欠壓與過壓攻擊用於屏蔽保護電路,或必須使處理器誤操作。安全模塊通常含有電壓檢測電路,但電壓檢測電路對瞬間波動一般不起作用。
針對易失存儲器數據的保持能力也是非入侵式的一種。若用低溫“冰凍”存儲器的內容,SRAM里的信息可保存夠長的時間,使攻擊者可訪問晶片並讀出內容。同樣在非易失存儲器中,攻擊者可由電晶體導通的閾值電壓或開關時間參數測到浮柵中的殘留電子,從而取得邏輯狀態。
接口信號和訪問協議也有可能被非侵入式攻擊。一些安全晶片上有晶片代工廠測試用的接口,若可找到此接口,攻擊者則很易導出保存於晶片中的信息。一般的測試電路信息由晶片代工廠商保密,但攻擊者可試着用不一樣的電壓與邏輯電平加至引腳,可能讓晶片轉到測試模式。智能卡晶片的測試電路通常會在出廠後被破壞,當然高端的攻擊方法可能用聚焦離子束等工具恢複測試電路接口,但已不屬於非侵入攻擊範疇。
2.侵入式
侵入式攻擊先是打開晶片的封裝,然後進行探針檢測與攻擊。打開封裝的晶片表面被一層鈍化層保護,鈍化層一般為矽氧化物或氮化物,為了保護內部電路不被環境與離子侵襲。在微探針接觸頂層的鋁互聯線之前須除去鈍化層,可用激光切出小孔,暴露單條總線。小孔也可固定住探針的位置,減少震動的影響。
除了ROM,直接從單個存儲器單元中讀出存儲信息的情況並不常見。存儲的數據可顺利获得存儲器總線訪問。微探針可用來探測總線且記錄探測到的邏輯值。修改地址計數器可非法訪問存儲器。由於程序計數器在每個指令周期均增加1,所以程序計數器適合作為地址發生器。攻擊者很易由激光割開正確的金屬互聯。
另一種方法是進行反向工程。攻擊者可手動檢查與光學技術實施反向工程,然後針對基本的體系結構,利用模式識別跟蹤明顯模塊邊緣的金屬線,可標定出數據和地址總線。由於處理模塊一般經過總線連接,因此很易識別總線的鎖存器與驅動。
未來晶片技術將使用更細的工藝線寬和更多的金屬層,攻擊者也需用更貴的工具修改晶片結構。
3.半侵入式
半侵入式無需用微探針、聚焦離子束、激光切割器等昂貴儀器。先進成像技術也可實施半侵入式攻擊。光子成像技術可查看晶片內單個電晶體的狀態。半侵入式攻擊中的不足注進攻擊方法可改SRAM中的內容。
和非侵入式攻擊比較,半侵入式攻擊需展開晶片的封裝,不過設備相對侵入式便宜許多,可在較短時間內完成攻擊。同時可侵入確定的範圍,輔以充分的技巧與知識,攻擊者可快速簡易地破解。
