設(shè)計(jì)安全否?
Is it safe?
PhilipLing
對(duì)于海外制造來說,設(shè)計(jì)的安全性是關(guān)鍵。
對(duì)各行各業(yè)來說,失竊都是一個(gè)嚴(yán)重的問題,但設(shè)計(jì)的被盜會(huì)造成極大的經(jīng)濟(jì)損失;對(duì)于資源有限的公司來說,它可能是災(zāi)難性的。
然而,海外制造——人們都知道它本質(zhì)上對(duì)設(shè)計(jì)的安全性構(gòu)成了威脅——依然存在,部分原因是它使資源有限的公司能角逐全球市場(chǎng)。設(shè)計(jì)公司傾向于采用標(biāo)準(zhǔn)化的部件,因而其知識(shí)產(chǎn)權(quán)無法從本質(zhì)上深埋到一個(gè)芯片中,這一點(diǎn)加深了上述對(duì)立的兩方面(設(shè)計(jì)安全性的降低與全球市場(chǎng)的競(jìng)爭(zhēng)力)之間的矛盾。因此,對(duì)一個(gè)設(shè)計(jì)實(shí)施逆向工程并生產(chǎn)出功能相同的產(chǎn)品就變得相對(duì)容易。
以這種方式盜用IP,是設(shè)計(jì)被盜方面的一個(gè)例子,令人吃驚的是,在某些領(lǐng)域中,也是可以容忍的。另一種方式則是過度制造——合同承包制造商制造的產(chǎn)品數(shù)量超出客戶要求其制造的數(shù)量,而制造商將多余的產(chǎn)品以較低的價(jià)格在“灰色”市場(chǎng)上出售。也許最卑劣的設(shè)計(jì)偷竊形式是克隆——不僅僅是功能的復(fù)制,而是設(shè)計(jì)的本身的復(fù)制,連最后一個(gè)字節(jié)都不放過。然后,利用在公開市場(chǎng)上能合法采購(gòu)到的部件來繁殖出相應(yīng)的設(shè)計(jì)。
上述的最后一種實(shí)例對(duì)設(shè)計(jì)的合法擁有者提出的挑戰(zhàn)也許是最大的,特別是當(dāng)設(shè)計(jì)主要由軟件來定義的時(shí)候,因?yàn)?要證明發(fā)生了上述有意的欺詐或者專利權(quán)的侵犯是十分困難的。FPGA的制造商們正是將其努力集中在此處,他們現(xiàn)在將對(duì)設(shè)計(jì)的保護(hù)視為一種重要的、體現(xiàn)其鮮明特色的功能特性。
努力的目標(biāo)正是保護(hù)配置的比特流——在基于SRAM的部件中,它將會(huì)儲(chǔ)存在一個(gè)外部的非易失性存儲(chǔ)中。如果定義配置的比特流在調(diào)往FPGA的途中被截獲,作奸犯科者可以對(duì)代碼實(shí)施逆向工程,從而獲取設(shè)計(jì),或者,更簡(jiǎn)單的是,用它來配置另一種器件,而無需明白它的工作原理。對(duì)數(shù)據(jù)進(jìn)行加密則意味著,當(dāng)它被截獲時(shí),如果沒有密鑰就毫無意義,設(shè)計(jì)的保密性仍得到保證。
代碼的**
Xilinx是第一家利用Triple DES(數(shù)據(jù)加密標(biāo)準(zhǔn))實(shí)現(xiàn)數(shù)據(jù)加密的廠商。該標(biāo)準(zhǔn)基于DES而建立,使用了56bit的加密密鑰。它已被軍方和其他領(lǐng)域所采用,時(shí)間以長(zhǎng)達(dá)20年,直到被證明是可以被**的為止(參見圖框中的背景介紹)。該解決方案是用兩個(gè)密鑰將DES重復(fù)3次——3重DES。當(dāng)Xilinx決定將加密技術(shù)嵌入Virtex II系列中時(shí),這是為人們所接受的、得以應(yīng)用的安全保密標(biāo)準(zhǔn)。各密鑰存儲(chǔ)到器件中的易失性存儲(chǔ)中,這樣做有其自身的考慮。盡管這意味著如有必要可替換密鑰,但也意味著需要采用外部的后備電源(一般是電池),以防備電源被切斷時(shí)密鑰不至于丟失。這種方法為Xilinx的競(jìng)爭(zhēng)者所詬病,但只是到最近一段時(shí)間才有人提出了一種替代方案。
去年,Altera推出了Stratix II,它是首款能在FPGA架構(gòu)中以硬連線方式實(shí)現(xiàn)先進(jìn)加密標(biāo)準(zhǔn)(AES)算法的FPGA。這些方法的關(guān)鍵,確切的說,是密鑰——在這個(gè)實(shí)例中,就是用于對(duì)數(shù)據(jù)進(jìn)行加密的128bit AES密鑰。
背景介紹
AES
根據(jù)美國(guó)ZF的分類,AES廣泛用于“敏感但不保密”的信息。“聯(lián)邦信息處理標(biāo)準(zhǔn)”公文192公布了相應(yīng)的標(biāo)準(zhǔn),它通過稱為Rijndael的算法來實(shí)現(xiàn),這種算法從5種算法中選出。
它取代了數(shù)據(jù)加密標(biāo)準(zhǔn)(DES),該標(biāo)準(zhǔn)采用56bit的密鑰。雖然DES存在了接近20年的時(shí)間,但并行處理方面的進(jìn)步使得它最終遭到**,人們決定,需要采用一種更為安全的標(biāo)準(zhǔn)。
美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)局的計(jì)算機(jī)安全資源中心于1999年正式公開征集算法,而最終選中了5種候選方案。所有這些方案的算法采用了塊密碼,也就是說,它們一次對(duì)一個(gè)數(shù)據(jù)塊進(jìn)行運(yùn)算,處理的遍數(shù)預(yù)先給定。AES提供了128、192和256bit的密鑰,雖然大多數(shù)商業(yè)實(shí)現(xiàn)方案采用128bit,因?yàn)榧词惯@樣的大小,其安全性也比DES要高出許多倍。為了理解這一點(diǎn),不妨設(shè)想一個(gè)強(qiáng)大到足以在1s內(nèi)**DES密鑰的海量并行處