關 閉

        新聞中心

        EEPW首頁 > 安全與國防 > 設計應用 > 設計安全否?

        設計安全否?

        ——
        作者: 時間:2005-08-15 來源: 收藏

        設計否?
        Is it safe?

        本文引用地址:http://www.104case.com/article/7601.htm

        Philip Ling
           
        對于海外制造來說,設計的性是關鍵。

        對各行各業來說,失竊都是一個嚴重的問題,但設計的被盜會造成極大的經濟損失;對于資源有限的公司來說,它可能是災難性的。
        然而,海外制造——人們都知道它本質上對設計的性構成了威脅——依然存在,部分原因是它使資源有限的公司能角逐全球市場。設計公司傾向于采用標準化的部件,因而其知識產權無法從本質上深埋到一個芯片中,這一點加深了上述對立的兩方面(設計安全性的降低與全球市場的競爭力)之間的矛盾。因此,對一個設計實施逆向工程并生產出功能相同的產品就變得相對容易。
        以這種方式盜用IP,是設計被盜方面的一個例子,令人吃驚的是,在某些領域中,也是可以容忍的。另一種方式則是過度制造——合同承包制造商制造的產品數量超出客戶要求其制造的數量,而制造商將多余的產品以較低的價格在“灰色”市場上出售。也許最卑劣的設計偷竊形式是克隆——不僅僅是功能的復制,而是設計的本身的復制,連最后一個字節都不放過。然后,利用在公開市場上能合法采購到的部件來繁殖出相應的設計。
        上述的最后一種實例對設計的合法擁有者提出的挑戰也許是最大的,特別是當設計主要由軟件來定義的時候,因為,要證明發生了上述有意的欺詐或者專利權的侵犯是十分困難的。FPGA的制造商們正是將其努力集中在此處,他們現在將對設計的保護視為一種重要的、體現其鮮明特色的功能特性。
        努力的目標正是保護配置的比特流——在基于SRAM的部件中,它將會儲存在一個外部的非易失性存儲中。如果定義配置的比特流在調往FPGA的途中被截獲,作奸犯科者可以對代碼實施逆向工程,從而獲取設計,或者,更簡單的是,用它來配置另一種器件,而無需明白它的工作原理。對數據進行加密則意味著,當它被截獲時,如果沒有密鑰就毫無意義,設計的保密性仍得到保證。

        代碼的破解
         Xilinx是第一家利用Triple DES(數據加密標準)實現數據加密的廠商。該標準基于DES而建立,使用了56bit的加密密鑰。它已被軍方和其他領域所采用,時間以長達20年,直到被證明是可以被破解的為止(參見圖框中的背景介紹)。該解決方案是用兩個密鑰將DES重復3次——3重DES。當Xilinx決定將加密技術嵌入Virtex II系列中時,這是為人們所接受的、得以應用的安全保密標準。各密鑰存儲到器件中的易失性存儲中,這樣做有其自身的考慮。盡管這意味著如有必要可替換密鑰,但也意味著需要采用外部的后備電源(一般是電池),以防備電源被切斷時密鑰不至于丟失。這種方法為Xilinx的競爭者所詬病,但只是到最近一段時間才有人提出了一種替代方案。
        去年,Altera推出了Stratix II,它是首款能在FPGA架構中以硬連線方式實現先進加密標準(AES)算法的FPGA。這些方法的關鍵,確切的說,是密鑰——在這個實例中,就是用于對數據進行加密的128bit AES密鑰。

        背景介紹
        AES
        根據美國政府的分類,AES廣泛用于“敏感但不保密”的信息。“聯邦信息處理標準”公文192公布了相應的標準,它通過稱為Rijndael的算法來實現,這種算法從5種算法中選出。
        它取代了數據加密標準(DES),該標準采用56bit的密鑰。雖然DES存在了接近20年的時間,但并行處理方面的進步使得它最終遭到破解,人們決定,需要采用一種更為安全的標準。
        美國國家標準與技術局的計算機安全資源中心于1999年正式公開征集算法,而最終選中了5種候選方案。所有這些方案的算法采用了塊密碼,也就是說,它們一次對一個數據塊進行運算,處理的遍數預先給定。AES提供了128、192和256bit的密鑰,雖然大多數商業實現方案采用128bit,因為即使這樣的大小,其安全性也比DES要高出許多倍。為了理解這一點,不妨設想一個強大到足以在1s內破解DES密鑰的海量并行處理機(在當今是無法實現的),據估計,這樣的一臺機器要花上149萬億年才能破解一個128bit的AES密鑰。相比之下,宇宙的壽命也不過有200億年的歷史。


        配置代碼的加密通過Altera的編程環境Quartus II來完成,而密鑰則被燒入器件內部只能編程一次的內存中。這可以由Altera公司來完成,或者在現場實現,雖然Altera承認,目前是由它來完成這一過程以確保其可靠性。

        后勤供應方面的惡夢?
        這里存在的危險是客戶會大批訂購器件而“丟失”密鑰——使得整批庫存不可用。此外,由于每一個器件采用唯一的一個密鑰,這也使得每個FPGA及其相應的配置器件獨一無二——很顯然是一種非常安全的解決方案,但會給后勤供應帶來巨大的麻煩。
        近來,Actel推出了ProAsic3系列,它還在FPGA架構中嵌入了一個128bit密鑰AES解密引擎。該公司相信,這是第一款能提供AES解密的“超值” (低價)FPGA,其安全性功能和低成本的特性使之成為工程師實難割舍的最愛。
        基于SRAM的FPGA對AES加密配置數據的需求是顯而易見的——配置代碼儲存在芯片之外。而Actel的ProAsic3系列則是基于閃存的,在這種情況下,它的重要性勢必有所降低。不過,Actel的閃存器營銷主管Martin Mason相信:“在基于價值的市場上,安全性更為重要。”
        雖然該公司的防熔斷技術的性能和安全性方面仍然是終極的解決之道,Mason還是宣稱閃存是兩者中成本經濟性更好的一種。AES密鑰應該在安全的、或者可信任的編程中心中完成編程,可以安全地存儲在專用的、無法被讀取的閃存器中。與其它方案一樣,是由設計軟件以同一密鑰來進行加密的。
        你必須掌握密鑰
        Actel系列的一個附加的功能特性是消息的認證控制機制,如果密鑰不匹配的話,它們可以防止配置數據對架構進行編程。
        此外,在AES功能激活以前,以總鑰(pass key)形式還可以實現更高層次的安全性——必須輸入它才能訪問器件。用戶可以用總鑰鎖閉器件或者解鎖器件;器件被鎖住時,無法訪問FPGA,這樣器件寫入、檢驗和擦除等功能都被禁用。該系列產品均不支持回讀(read back)機制。
        配置數據在本器件內進行的加密,將使得克隆變得更為困難,因為,即使作奸者可以獲取配置數據,如果沒有正確的密鑰的話,它也是無用的。
        雖然芯片廠商們正在試圖從正面解決安全性問題,但開發者需要完成若干步驟,才能使得軟件也變得更為安全,如電子水印或者嵌入式序列號。不過,歸根結底,這只是些需要依賴法治手段來維護的、威懾性的措施而已。也許人們真正需要的,是可以運用于外部程序存儲而不會對總的系統性能造成負面影響的AES版本。

         



        關鍵詞: 安全

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 三亚市| 息烽县| 岫岩| 称多县| 柯坪县| 宣恩县| 仁布县| 社旗县| 洛隆县| 宝清县| 平邑县| 汝州市| 封开县| 临朐县| 大悟县| 马鞍山市| 通许县| 林甸县| 洛南县| 金沙县| 泸西县| 南漳县| 诸暨市| 尖扎县| 屯昌县| 临西县| 夹江县| 杭州市| 华阴市| 吉水县| 德令哈市| 竹溪县| 龙里县| 翁牛特旗| 宜章县| 信宜市| 黔南| 丰原市| 顺平县| 阿拉善右旗| 盐源县|