簡介
防篡改範圍從簡單的特徵(例如特殊樣式的螺絲)到複雜的設備不等,它們使自身不可操作或者加密板間所有的傳輸數據,或者需要使用特殊的工具和知識才能操作。包裝上經常有防篡改的設備或特徵,以防止對包裝或產品的篡改。防篡改設備具有一個或多個組件:防篡改、篡改檢測、篡改回響和篡改證明。在一些套用中,設備只有篡改證明而不防止篡改。
篡改
篡改涉及故意改變或摻假產品、包裝或系統。解決方案可能涉及產品的生產、包裝、分發、後勤、銷售和使用的所有階段。並沒有單一的解決方案可以完成“防篡改”,經常需要配備多層次的安全方案來減少篡改的風險。 要考慮的方面可能包括:
篡改(Tamper)意味著在沒有官方授權的情況下,干擾某物品或造成損害。
安全
幾乎所有的電源設備和附屬檔案只能使用
螺絲刀或類似替代品打開。這是為防止兒童或其他人不小心或無意間打開設備而造成危險或傷害自己(例如遭受電擊、燒傷或割傷)或損害設備。有時是為避免訴訟,製造商進一步使用防篡改螺絲,使其不能用標準工具打開。防篡改螺絲還用於許多公共建築中的電氣配件,減少可能對他人造成危險的篡改或破壞行為。
保修和支持
以製造商非預期方式修改而導致設備故障的用戶可能拒絕承認,從而製造商的售後服務必須提供保修或幫助進行修復。篡改印記密封可能足以解決此問題,但是,這種印記不易被遠程檢查,並且許多國家有法定條款規定,製造商可能仍必須為此類設備提供服務。防篡改螺絲能阻止大多數普通的好奇用戶進行篡改。在美國,馬格努森-莫斯保修法禁止製造商僅因篡改而使保修失效。只有在篡改實際影響了故障的部件並可能導致故障時,保修才可能被拒絕。
晶片
防篡改微處理器用於存儲和處理隱私或
敏感信息,例如私鑰或電子貨幣信息。為防止攻擊者檢索或修改信息,晶片被設計為不能從外部訪問信息,只能由內部的嵌入式軟體訪問。嵌入式軟體也應包含適當的安全措施。防篡改晶片包括所有安全加密處理器,例如IBM 4758和智慧卡中的晶片,以及Clipper晶片。現階段已經認為,是簡單的電子設備安全地防止篡改很困難,因為有多種可能的攻擊方式,包括:
各種形式的物理攻擊(微噴、鑽孔、檔案、溶液等)
凍結設備
施加超限的電壓或功率浪涌
套用異常時鐘信號
使用輻射誘導軟體錯誤(例如微波或電離輻射)
測量某些操作的精確時間和功率要求(見功率分析)
防篡改晶片在設計上可能將其敏感數據(尤其是加密密鑰)清零,如果其檢測到安全封裝被穿透或者環境參數超越規範。晶片甚至可以被設計為“冷歸零”,即電源被切斷後仍有自我歸零的能力。此外,一些加密產品使用的晶片所用的定製化封裝方法可以設計為在內部預加應力,使晶片在遭遇干擾時斷裂。
然而,攻擊者可能擁有任何他能夠獲取的設備,並可能有大量樣品來進行測試和實踐,這樣意味著不可能完全消除有充分動機和準備的對手。因此,保護系統的一項重要元素是整體系統設計。尤其是,防篡改系統應該“優雅失敗”,確保一個設備被攻陷不會危及到整個系統。由於最複雜的攻擊可能需要花費數十萬美元,因此精心設計的系統在實踐中可能不會被攻陷。
軍事
美國的所有新軍事計畫中都要求配有防篡改。
DRM
防篡改技術已套用於智慧卡、機頂盒和其他使用數字著作權管理(DRM)的設備。在這些情況下,問題不在於阻止用戶破壞設備或傷害自己,而是阻止他們提取代碼或獲取和保存解碼後的比特流。這通常通過每個晶片中植入的許多子系統功能完成(使內部信號和狀態不可訪問),並確保晶片之間的匯流排被加密。
DRM機制也在諸多方面使用證書和不對稱密鑰加密。在這些情況下,防篡改是為禁止用戶訪問設備的有效證書或公鑰/私鑰。使軟體對篡改攻擊具有魯棒性的過程被稱為“軟體防篡改”。
核工業
準備出售給其他不擁有核武器的國家的核反應堆必須實現防篡改,以防止核擴散。例如,被提議的小型密封攜帶型自控反應堆(SSTAR)將具有多種防篡改技術,使核材料難以被獲取,確保反應堆的運輸被密切跟蹤,並在檢測到嘗試進入時發出聲音警報(及可以觸發軍方回響)。
包裝
包裝有時需要防篡改。例如:
藥品法規的要求
可能遭遇盜竊或竊取的高價值產品
為可能的法律訴訟而需要保持不變的證據
抗篡改功能可以被內置或添加到包裝。例如:
額外的包裝層(單層包裝或組件不能“防篡改”)
需要工具才能開啟的包裝
超強且安全的包裝
不能重新密封的包裝
拆封印記密封和特徵
包裝的防篡改可以由該主題的顧問和專家評估。另外,可以由公眾進行詳細的現場測試來比較各種包裝。
軟體
當軟體包含遏制逆向工程的措施,或者防止用戶違背製造商所願進行修改(例如去除某些使用限制)時,它也是一種防篡改。一種常用的方法是代碼混淆。但是,在軟體中進行有效的防篡改比在硬體上更難,因為通過仿真幾乎可以任意操作軟體環境。
如果實現有
可信計算,軟體的防篡改保護程式可以達到硬體防篡改的程度,因為用戶可能必須攻破信任晶片才能繞過遠程認證和可信存儲。但是,當前的規範也清楚表明,不能期望晶片防篡改應對極為複雜的物理攻擊;也就是說,其不旨在達到與防篡改設備的同等安全性。
這樣做的副作用是增加軟體維護的複雜性,因為如果驗證軟體更新,更新過程中的任何差錯都可能導致誤報和失敗。