位置:51电子网 » 技术资料 » EDA/PLD

Soartan-3A/3AN/3A DSP FPGA应用中的高级安全机制

发布时间:2008/9/19 0:00:00 访问次数:692

  本节探讨spartan3a/3ani3adsp应用中如下更高级的安全机制技术。

  (1) 主动防御(jtag边界扫描)。

  (2) 比特流验证(循环冗余校验crc)。

  (3) 高级数据操作。

  1.主动防御

  一个普遍的问题是任何带有jtag接口的器件都易受反向工程的攻击,通过采用边界扫描链,jtag也可以用于对系统、器件、p或标准产品进行反向工程,这需要攻击者拥有充足的资金、渊博的知识和熟练的技术,以及相应的设各与时间。一些公司或竞争对手都在试图了解一个产品如何工作,并且将很有可能试图降低成本或增加功能。本节讨论将不同特性整合到设计中来检测和防止jtag反向工程的方法。

  jtag边界扫描起初是为协助测试和调试pcb上的i/0连接功能雨设计的,后来用于将逻辑整合到芯片内部。在使用intest命令和边界扫描功能时可以将数据移动到模块或ic中,然后用时钟记录ic来读回结果数据,该操作可以为技术娴熟的用户提供ic或模块中的架构或逻辑。如图1所示,这也是一种对设计或系统进行反向工程的方法,因此未授权使用jtag端口对于有些用户及其产品的安全来说是一个隐患。

  图1 标准边界扫描链

  spartan-3 a/3an/3 a dsp器件是jtag兼容型的,允许配置和读回fpga,jtag兼容性也意味着jtag引脚无法被禁止。但是通过采用边界扫描模块,设计者可以进行安全设计,以检测和阻止未授权即使用jtag端口。

  (1) 边界扫描模块

  bscan ̄spartan3a宏模块如图2所示,它允许设计者获取边界扫描信号。通过对该模块进行简单的例化,设计者就可以从fpga内部监控jtag引脚上的活动。

  图2 bscan spartan3a宏模块

  以下代码为bscan_spartan3a所例化的结果:

  

  (2) 边界扫描模块如何提高安全性 

  如前所述,边界扫描模块可以为从内部监控jtag引脚的活动提供条件,如果检测到端口上的活动,则可以设计逻辑来完全擦除fpga配置或绕过/阻止选定的功能。icap可以用于擦除spartan-3 a/3 an/3a dsp器件的配置。

  图3所示为绕过关键逻辑和功能的实例,该设计将旁路mux整合到由检测逻辑输出控制的关键输入功能中。在正常操作过程中,信号进入逻辑。当检测到jtag活动时信号旁路被断开,并通过逻辑设置一个值,从而使intest输出对于反向工程内部逻辑来说完全无用。

  图3 用户定义边界扫描

  在图4中,检测逻辑可以和门电路一样简单,或者应用可能需要更为复杂的逻辑。

  图4 检测逻辑

  (3) jtag现场更新和安全诊断

  在多数情况下,一旦系统或器件部署完毕并开始运转,jtag接口就不能被访问或使用。但是总有例外的情况,例如,当系统在现场更新或诊断时就需要jtag端口。如果为了保护器件免受通过jtag端口进行的未授权访问而实现了检测安全性,就会阻止授权访问。设计可通过多种方式实现,为此可设计检测逻辑。它只会激活intest测试指令,而使jtag在所有其他模式中都能正常操作,如bypass、idcode、usercode和extest,从而使通过现场访问jtag端口进行更新和诊断变得很简单。

  对于更为复杂的安全性,检测逻辑可以设计用来监控特定的访问路线或代码序列以允许访问jtag正常操作模式。当现场工作组需要访问intest指令以对系统功能进行内部测试和验证时,这是很有用的。这样可以释放jtag指令,直至诊断测试和升级完成。升级完成后,重启升级后的fpga就可以将检测逻辑复位。对于只进行诊断的系统,可以发布一个代码序列,以重新开始进行检测逻辑监控。

  两种方法都能保证完成现场服务任务,而不会发生通过jtag端口危及安全的情况。如果检测到的序列不正确,就可以用icap来复位(擦除)。

  (4) 主动防御逻辑资源要求

  spartan-3系列器件具有很多内置于芯片中的嵌入式特性和功能,jtag状态机和到icap的接口逻辑包含在这些嵌入式功能中。bscan ̄spartan3a模块不需要逻辑资源,因为该功能是嵌入式的。但是连至例化的jtag模块的用户逻辑会消耗逻辑和互连资源,该逻辑可以是一个逻辑单元也可以是数十个逻辑单元,这取决于用户逻辑/功能的复杂度。

  (5) 主动

  本节探讨spartan3a/3ani3adsp应用中如下更高级的安全机制技术。

  (1) 主动防御(jtag边界扫描)。

  (2) 比特流验证(循环冗余校验crc)。

  (3) 高级数据操作。

  1.主动防御

  一个普遍的问题是任何带有jtag接口的器件都易受反向工程的攻击,通过采用边界扫描链,jtag也可以用于对系统、器件、p或标准产品进行反向工程,这需要攻击者拥有充足的资金、渊博的知识和熟练的技术,以及相应的设各与时间。一些公司或竞争对手都在试图了解一个产品如何工作,并且将很有可能试图降低成本或增加功能。本节讨论将不同特性整合到设计中来检测和防止jtag反向工程的方法。

  jtag边界扫描起初是为协助测试和调试pcb上的i/0连接功能雨设计的,后来用于将逻辑整合到芯片内部。在使用intest命令和边界扫描功能时可以将数据移动到模块或ic中,然后用时钟记录ic来读回结果数据,该操作可以为技术娴熟的用户提供ic或模块中的架构或逻辑。如图1所示,这也是一种对设计或系统进行反向工程的方法,因此未授权使用jtag端口对于有些用户及其产品的安全来说是一个隐患。

  图1 标准边界扫描链

  spartan-3 a/3an/3 a dsp器件是jtag兼容型的,允许配置和读回fpga,jtag兼容性也意味着jtag引脚无法被禁止。但是通过采用边界扫描模块,设计者可以进行安全设计,以检测和阻止未授权即使用jtag端口。

  (1) 边界扫描模块

  bscan ̄spartan3a宏模块如图2所示,它允许设计者获取边界扫描信号。通过对该模块进行简单的例化,设计者就可以从fpga内部监控jtag引脚上的活动。

  图2 bscan spartan3a宏模块

  以下代码为bscan_spartan3a所例化的结果:

  

  (2) 边界扫描模块如何提高安全性 

  如前所述,边界扫描模块可以为从内部监控jtag引脚的活动提供条件,如果检测到端口上的活动,则可以设计逻辑来完全擦除fpga配置或绕过/阻止选定的功能。icap可以用于擦除spartan-3 a/3 an/3a dsp器件的配置。

  图3所示为绕过关键逻辑和功能的实例,该设计将旁路mux整合到由检测逻辑输出控制的关键输入功能中。在正常操作过程中,信号进入逻辑。当检测到jtag活动时信号旁路被断开,并通过逻辑设置一个值,从而使intest输出对于反向工程内部逻辑来说完全无用。

  图3 用户定义边界扫描

  在图4中,检测逻辑可以和门电路一样简单,或者应用可能需要更为复杂的逻辑。

  图4 检测逻辑

  (3) jtag现场更新和安全诊断

  在多数情况下,一旦系统或器件部署完毕并开始运转,jtag接口就不能被访问或使用。但是总有例外的情况,例如,当系统在现场更新或诊断时就需要jtag端口。如果为了保护器件免受通过jtag端口进行的未授权访问而实现了检测安全性,就会阻止授权访问。设计可通过多种方式实现,为此可设计检测逻辑。它只会激活intest测试指令,而使jtag在所有其他模式中都能正常操作,如bypass、idcode、usercode和extest,从而使通过现场访问jtag端口进行更新和诊断变得很简单。

  对于更为复杂的安全性,检测逻辑可以设计用来监控特定的访问路线或代码序列以允许访问jtag正常操作模式。当现场工作组需要访问intest指令以对系统功能进行内部测试和验证时,这是很有用的。这样可以释放jtag指令,直至诊断测试和升级完成。升级完成后,重启升级后的fpga就可以将检测逻辑复位。对于只进行诊断的系统,可以发布一个代码序列,以重新开始进行检测逻辑监控。

  两种方法都能保证完成现场服务任务,而不会发生通过jtag端口危及安全的情况。如果检测到的序列不正确,就可以用icap来复位(擦除)。

  (4) 主动防御逻辑资源要求

  spartan-3系列器件具有很多内置于芯片中的嵌入式特性和功能,jtag状态机和到icap的接口逻辑包含在这些嵌入式功能中。bscan ̄spartan3a模块不需要逻辑资源,因为该功能是嵌入式的。但是连至例化的jtag模块的用户逻辑会消耗逻辑和互连资源,该逻辑可以是一个逻辑单元也可以是数十个逻辑单元,这取决于用户逻辑/功能的复杂度。

  (5) 主动

相关IC型号

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!