账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
开放式IP加密流程能让业界互通
 

【作者: Andrew Dauman】2007年04月10日 星期二

浏览人次:【13871】

今日超大型及复杂的ASIC及FPGA设计使用了大量的IP,这些IP区块可能是一般用途的处理器核心,数字信号处理器(DSP)核心,内存控制器,通信功能模块等。这些占了整体设计绝大部份的外部IP,通常来自一些不同的IP供货商。


由于每个IP区块代表了大量的时间及投资,毫无意外的,IP供货商当然希望能保护他们的机密。这可经由对原始码加密来达成,这种方法意味者透过编码,让未获得授权的厂商,无从理解其内容。


这个问题在于电子设计流程中仍缺乏一套让业界互通的加解密标准,造成不同的IP及EDA供货商各自采用不同的自定义方案,导致不同组织中大量的支持负担,这对用户很困扰,而且导致不一致性(如:电路仿真时,用的是一种IP区块版本,但合成电路时,却采用另一种版本)。


为了解决这个问题,科学家及工程师们已经开发出一种开放式的IP加密环境,以利于整个设计流程中,从IP到EDA到硅晶供货商,都使用同一套经加密保护的IP。


这个问题在于电子设计流程中仍缺乏一套让业界互通的加解密标准,造成不同的IP及EDA供货商各自采用不同的自定义方案,导致不同组织中大量的支持负担,这对用户很困扰,而且导致不一致性(如:电路仿真时,用的是一种IP区块版本,但合成电路时,却采用另一种版本)。


文中首先探讨在设计流程中有哪些加密及解密的?骤,接着会介绍传统加密技术(特别是对称及非对称算法),并解释在电子设计流程的环境中用这些方法会有哪些问题,最后描述一种利用既有技术产生的,综合对称及非对称之开放式解决方案,完全能满足现代电子设计环境的需求,而且能轻易被IP,EDA,硅晶供货商所采用。

设计流程中的加密及解密?骤


IP区块一般是由RTL程序写成,外部供货商加密(图一a)。这个加密后的区块接下来被送到客户设计团队的手中。设计团队一般会将此IP区块和他们自家产生的RTL结合在一起,以建构出整体设计。该团队会使用来自某家EDA供货商的合成工具将设计转成gate-level netlist(图一b);稍后他们会用由FPGA供货商提供的布局绕线工具来产生比特流(bit-stream),最后并用以设定程序化FPGA(图一c)。


再一次,图一着重在流程中与合成相关的动作。如同本篇稍后会讨论到的-加密的IP可能需要被多个EDA工具使用到-像是电路合成及仿真-这些工具常常由不同供货商所提供。



《图一 和FPGA设计流程中有关电路合成部份的加密及解密动作》
《图一 和FPGA设计流程中有关电路合成部份的加密及解密动作》

在这电路合成的例子中,范例区块-连同其他IP区块-会先被解密,再与设计中其他任何无加密保护的部份一起合成。很多情形下,要保护的netlist-或至少那些受保护IP功能的部份netlist-会被重新加密以进一?送进FPGA供货商的工具。重要的是,所有的解密、数据处理,以及加密动作都发生于电路合成之应用程序本身内部。解密后的IP绝不会被用户取用到,而加密过的档案只有在内存内部解密(并没有储存在磁盘中),而且是以小区块一块一块地解密,以阻止内存转储技术的入侵。


紧接在合成后,加密netlist送进FPGA供货商的工具中,又一次,任何受加密保护的netlist部份会先解密才能被布局绕线引擎处理,图一中的最后?骤显示了由硅晶供货商的布局绕线应用程序所产生的比特流的加密过程。本例中,布局绕线工具可能对整个比特流加密或是仅针对代表着受加密保护IP的比特流部份来加密。这?骤的责任落在FPGA供货商的工具身上,这是FPGA架构底层的一个功能,本文不再进一?探究。


ASIC设计流程和图一所示的FPGA流程非常类似,但ASIC流程包含了非常多于FPGA流程中所没有的验证?骤,每一步骤都需要使用EDA工具,而且每个工具都可能来自不同的EDA供货商;再者,在ASIC流程的情况下,布局绕线引擎输出的是GDSII档案,这是用来建立随后生产制造组件的光罩,目前这些GDSII档案通常不会加密,如前所述,本文提出的流程可以很轻易地应用在这个领域。


目前加密流程的问题

有二种主要的加/解密算法:可分为对称及非对称。每种技术的优缺点将会被讨论到。


对称加密法

要对一原始码加密,加密算法用一种被称作钥匙(key)的特别数字,钥匙的值会改变这算法细部的运算,也就是改变原始档内容会如何被「打乱重组」的方法。这意味着如果同样的档案用二个不把的钥匙加密,结果会完全不同,算法及钥匙的产生,就是要让未被授权的一方想要「破解密码」的困难度尽可能地增加;换言之,要想打开加密档案取用数据,用户需要取得适当的钥匙。


过去,加密算法主要都是一种大家所熟知的对称法,意指加解密是用同一把钥匙(如图二),这种技术的好处是计算量需求相对少,利用现代计算机,即使加密很大的档案,使用对称算法仅需花数秒钟的时间,而且当档案被像是电路合成等应用软件解密以取用时,所花的时间之少,用户根本毫无察觉。



《图二 对称加密算法需发动加密者和用户(执行解密的人)交流钥匙》
《图二 对称加密算法需发动加密者和用户(执行解密的人)交流钥匙》

这型算法的例子是数据加密标准(Data Encryption Standard,DES),其标准于1977年首次公开,三重DES[亦被称为TDES或TDEA(三重数据加密算法),包含使用三次的DES],以及于2001被采用之更复杂的先进加密标准(Advanced Encryption Standard,AES)。


对称加密致命弱点是需要钥匙的交流,自有密码学以来,这交流就得由信得过的情报员走遍全球以传递钥匙给用户,在电子设计的环境中,这方法显然行不通,存在如此众多的IP及EDA供货商的事实,让情况变得更混乱,尽管实际的数目很难去限制,大约有300至500个重要的IP供货商在全球各角落分配25,000至30,000个不同的IP区块(其中大约2/3是数字IP,1/3是模拟及混讯IP)。


若每家IP供货商仅用一把钥匙,若那把钥匙被「破解」或「泄漏」,所有来自那家供货商的IP都会被牵连,因此为了最大的安全性,每一家IP供货商有必要对每一家EDA供货商都制作一把唯一的钥匙;同样地,每家EDA供货商也必须为每一家硅晶/FPGA供货商制作一把唯一的钥匙,其结果就是一团乱,更别提要所有应用程序如电路仿真及合成等软件必须保证使用了同一版本的IP。


甚者,若IP供货商决定更改钥匙版本并重新发行IP,用户必须等到该EDA应用软件(内含有个别IP及硅晶/FPGA供货商的钥匙)的下个正式发行版。


每当IP供货商提出他们内部自有的加密机制,他们必须说服各EDA供货商来使用它,同样的,每当EDA供货商提出他们自有的方法时,他们必须说服IP供货商,其他EDA厂商,以及硅晶/FPGA供货商采用,最终的结果是整个业界混杂着各种相异且不兼容的机制,严重地妨碍设计及实作流程中,不同应用程序之间的互操作性。


非对称加密法

Whitfield Diffie及电机工程师Martin Hellman于1976年创造了加/解密著名的非对称性形式,采用「非对称」这个名称是因为用来解密数据钥匙和用来加密数据的钥匙是不同的,尽管DH(Diffie-Hellman)规约仍被使用,一个更普遍及一般使用的方法是MIT研究者于1977年所描述的,这系统就是著名的RSA(以发明人的姓:Riverst,Shamir,及Adleman取名)。


非对称机制一般也称为公钥加密法,因为它是靠二种钥匙的使用:公钥及私钥。这个点子来自于公钥是二个质数的乘积,它是每个人都可取用的(至少是那些需要知道的每个人)。公钥用来加密,但它不能用来对受保护的档案解密;解密需要先取得私钥,那是用来建立公钥的其中一个质数。


例如,一家EDA供货商想要建立一个公钥及其相对应私钥,会先将公钥让所有的IP供货商取得,而这些供货商会用这个公钥对他们的IP区块加密;接着会使用它的私钥(这会内建于它的应用程序中,为了安全起见,为将私钥本身以加密形式储存于这些应用软件内部)对每个IP供货商的IP解密(如图三)。



《图三 非对称加密算法需要用户产生公钥及私钥,以提供公钥给那些执行解密的人》
《图三 非对称加密算法需要用户产生公钥及私钥,以提供公钥给那些执行解密的人》

除了他们相较于对称机制更难破解外,非对称机制的主要优势,则是用来解密档案的钥匙不会到处传递。


但该机制的缺点之一是IP供货商仍必须建立多个IP区块的加密副本-每个EDA厂商一份-这会导致之前提过的一致性问题(例如:电路仿真及合成的IP不同版本)


但非对称方法的最大缺点可能是其高度计算密集动作,举例来说,一个大的IP区块会花上数个小时来加密或解密,但对IP供货商来说,极为不便,而对用户,基本上来说,更是一个终极障碍。考虑一个包含数个IP区块的设计-对用户来说,在仿真或合成都尚未着手进行前,要再花上数小时解密每个区块是完全无法接受的。


解决方案:综合式解密流程

IP加密问题的解决方案就是用一种综合对称-非对称的加/解密流程,整个解决方案可称作密码系统。一开始,先考虑由IP供货商所执行的初始加密(如图四)


首先,IP供货商将IP本身以内部产生的对称钥来加密(如图四a),为了讨论方便,称这把钥为「数据钥」;如同前面讨论过的,此种加密形式非常快,即使用于大区块的IP上,步骤的结果称之为数据块,注意到重要的一点是IP供货商可自由选择他们希望使用的加密形式:DES,三重DES,或AES。



《图四 在综合式方法中,数据是以对称算法加密,而加密数据的那把钥匙本身再以非对称算法加密。》 - BigPic:662x466
《图四 在综合式方法中,数据是以对称算法加密,而加密数据的那把钥匙本身再以非对称算法加密。》 - BigPic:662x466

接下来,IP供货商将这把数据钥透过RSA算法以EDA厂商的公钥来加密(如图四b)。其结果称之为「钥匙块」。IP供货商重复这个过程以产生多个钥匙块。每个EDA厂商一块,每块都是以那家的EDA厂商的公钥来加密。虽然本质上这种型式的加密是需密集计算的。但数据钥本身非常小,所以整个过程仅花费数秒。


最后,IP供货商将数据块及所有的钥匙块,封包于单一档案中,而与所有的EDA厂商就以此档案交流(如图四c)。


有趣的是,这种综合式方法的技术和PGP(Pretty Good Privacy)机制一样,该机制由Phil R. Zimmermann于1991年首次公开。即使PGP是相当普遍,但它仍不适用于电子设计流程中,由于其档案为私有格式,使用此种技术必须强迫于整个流程中都使用PGP。甚者,PGP只提供点对点的交流,所以只支持一个钥匙块。相较之下,这里提出的机制,透过多个钥匙块,可支持多方接受者的使用模式。(注意到该接受方从不需分享彼此的秘密)


现在让我们从EDA厂商的角度来看综合式流程。尤其从电路合成器供货商的观点来看事情。因为这些动作已包含其他工具所需的动作,如电路仿真,(图五)


当合成工具自供货商取得IP区块,第一步就是使用EDA厂商的私钥(图五a)-它已经编码并内嵌于合成器应用软件本身中-来对该EDA厂商的钥匙块解密(图五b)并将IP供货商使用的对称式数据钥撷取出来(图五c)


《图五 合成工具将紧接于数据后的数据钥解密;而产生的netlist以原本的数据钥来加密,该数据钥本身接着又以FPGA供货商的公钥来加密》 - BigPic:600x397
《图五 合成工具将紧接于数据后的数据钥解密;而产生的netlist以原本的数据钥来加密,该数据钥本身接着又以FPGA供货商的公钥来加密》 - BigPic:600x397

一旦被撷取出,就可以这把钥匙(图五d)来对加密后的RTL数据块(图五e)解密,以存取该IP区块(图五f)的RTL表示式。注意到合成工具会自动以适当的算法来对数据解密(也就是IP供货商所用的算法):DES,三重DES或AES(再提一次,我们稍后会再回头来看这点)


也注意到,针对其他加密保护的IP,不论来自这个IP供货商或其他IP供货商,这过程会不断重复。合成工具会把所有的IP区块之RTL,连同设计工程师(图五g)的其它未被加密保护的RTL一起编译合成为闸级netlist(图五h)。


在整个合成过程中,合成工具一直锁定被加密保护的IP区块。若IP供货商已经先行要求其IP区块必须始终维持加密保护状态,合成工具会使用该IP供货商提供的原始对称数据钥(图五i)-以及该IP供货商原先使用的算法-来将和该IP区块(图五j)有关的netlist部份加密并产生对应之加密netlist数据块(图五k)。


合成工具接下来使用由FPGA供货商所提供之公钥(图五l)-其本身是经过编码并内嵌于合成应用软件中-来对数据钥(图五m)加密并产生对应之数据钥(图五n)。这个过程对设计中所有被加密保护的IP区块都会重复一次。最后,这个安全无虞的netlist交给FPGA供货商的布局绕线软件。任何受加密保护区块的内容,绝不会遭未经授权的其他方所存取。


其他的考虑

为了让EDA设计流程能支持所提出的密码系统,在以语言表示的RTL与门级netlist档案,如Verilog, VHDL及EDIF中,必须要有某种适当的机制来描述:


  • ●多重钥匙块


  • ●每个钥匙块的加密机制


  • ●打算使用每个钥匙块的用户


  • ●数据块


  • ●数据块的加密机制



事实上,Cadence Design Systems公司已经将他们提议的嵌入式加密机制赠给IEEE1364-2005年Verilog工作小组,并于标准制定的路上(使用Verilog兼容扩展指令)来将加密系统之定义内嵌于HDL档案内。例如,该标准允许IP供货商指定他们希望采用的加密算法形式,像是DES,三重DES,及AES(同样的基本方法最近也被赠予IEEE1076-200x VHDL技术委员会)


标准的重要性是要订出某种机制让IP供货商可以指定属性,以控制下游工具使用他们IP的权限。比如说,代表某一特定IP区块的部份输出netlist,IP供货商可能要具备设定他们是否要被重新加密的能力。(核心功能在整个流程中保持加密保护状态,而外部接口功能则允许在合成后被「看见」 (也就是解密开来)以利验证及除错, 某些IP区块在层级中可能正是以此方式呈现,这是可意料到的)


结论

标准的重要性是要订出某种机制让IP供货商可以指定属性,以控制下游工具使用他们IP的权限。比如说,代表某一特定IP区块的部份输出netlist,IP供货商可能要具备设定他们是否要被重新加密的能力。(核心功能在整个流程中保持加密保护状态,而外部接口功能则允许在合成后被「看见」 (也就是解密开来)以利验证及除错, 某些IP区块在层级中可能正是以此方式呈现,这是可意料到的)


目前于电子设计流程中并无加解密标准以促进业界互通,结果不同的IP及EDA供货商各自采用不同的自有机制。这也导致了各组织中大量的支持负担。这让用户困扰,也可能造成版本的不一致 (如:电路仿真时,用的是一种IP区块版本,但合成电路时,用的是另一种版本)。


为了解决这问题,Synplicity正提议一种开放式IP加密环境,可于整个设计流程中都使用加密保护的IP:从IP供货商到EDA再到硅晶厂商,这个对称-非对称综合式加/解密技术有多项好处。首先IP供货商只需建立单一版本的加密数据提供给所有有意使用的厂商,此举确定了一致性,因为能保证所有的下游工具都会使用相同的IP。


另一项优势是,可以对大型的数据区块以快速的对称法加密,而仅对较小的数据钥以较慢,计算力密集之非对称法加密,不过这机制最主要的好处在于它是开放式的,可以利用现存的技术,完全地满足现代电子设计环境的需求,它能促进业界互通,可应用于ASIC及FPGA设计流程中,并能轻易地被IP,EDA及硅晶/FPGA供货商所采用。


相关文章
EDA的AI进化论
共同建立大胆的 ASIC 设计路径
专攻低功耗工业4.0应用 可程式化安全功能添防御
精确的MCU规格与应用需求 可大幅提升开发效能
以设计师为中心的除错解决方案可缩短验证时间
comments powered by Disqus
相关讨论
  相关新闻
» 意法半导体突破20奈米技术屏障 提升新一代微控制器成本竞争力
» Pure Storage携手NVIDIA加快企业AI导入 以满足日益成长的需求
» ROHM推SOT23封装小型节能DC-DC转换器IC 助电源小型化
» 意法半导体先进高性能无线微控制器 符合将推出的网路安全保护法规
» ST推先进超低功耗STM32微控制器 布局工业、医疗、智慧量表和消费电子市场


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK83TBBHJBGSTACUK3
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw