0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析FPGA设计的安全性

FPGA设计论坛 来源:未知 2023-10-24 15:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

wKgZomU3eFaAYTD5AAADFPiCFw8521.pngwKgZomU3eFeAacKOAAAAuFYhST8980.png

点击上方蓝字关注我们

与开发成本很高的ASIC相比,FPGA可重复编程的性能正受到系统设计者的青睐。此外, FPGA的性能和功能也越来越强大,包括32位软处理器、SERDES、 DSP块和高性能的接口。现在的低成本FPGA甚至可以满足大批量的应用。设计人员采用FPGA能够快速开发产品,以应对产品快速上市(市场要求缩短产品的开发时间)和远程更新的需求。
但是,把器件生产、现场更新和固件远程重构的工作外包可能会导致FPGA被复制、克隆或盗版。这对某些企业是个严重的问题,因为有些算法对企业保持竞争优势是必不可少的,而外包可能使这些算法被别人利用。因此,考虑FPGA设计的安全性是一件非常重要的事。
FPGA有两种类型 :基于SRAM、需要用外部引导器件配置的易失FPGA,以及将配置保存在内存中因而不需要外部引导器件的非易失FPGA。基于 SRAM的FPGA是易失器件。如果切断电源,配置即被删除,必须对器件进行重新配置,然后器件才能工作。这类器件可以用处理器或使用SPI或并行闪存通过JTAG端口编程。就安全性而言,它们是很脆弱的。一旦系统上电,盗版者就能轻而易举地获取FPGA的位流。 Flash和反熔丝FPGA是非易失性的器件,它们上电后即可编程,无需使用任何外部存储器。这些非易失器件拥有最高级别的安全性。但是,反熔丝FPGA受到两个方面的制约:
1 )它们不能再次编程。
2 )它们的性能和内存容量有限。而Flash FPGA和SRAM FPGA是可以重复编程的。
盗版行为分为几种类型:“克隆”复制系统元件的行为,甚至不必知道内部的逻辑。通过拦截FPGA的位流和复制配置,可以轻松地克隆一个低成本SRAM FPGA。“逆向工程”需要理解FPGA的逻辑功能,以便进行修改以满足盗版者的需要。盗版者可以分析无保护的位流以复制原先的设计,或解剖器件分析其内容。还有一个被广泛使用的盗版手段是“生产超过客户订购量的系统”,然后向市场出售多余的系统,而专利持有者却无法从中取得收益,没有任何方法可以阻止不择手段的分包商这样做。最后一种盗版方法是“盗窃服务”,盗版者通过破解系统的安全设置来获得特定的服务,如收看卫星电视节目。
打击盗版可以采用多种安全措施,最简单的方法的是使用一个保密位,防止FPGA的配置数据被截获。有了这个保密位,盗版者如果试图读取配置数据,读出的数据将全部为零。所有的FPGA都有这种类型的保护。然而,如果引导文件位于器件的外部,相对就比较容易复制配置,标准的SRAM FPGA就是这种情况 。如果配置数据是在器件内部,如非易失FPGA ,保密位就会有很好的保密效果。
与反熔丝FPGA不同 ,SRAM FPGA和Flash FPGA是可重复编程的,它们允许用户调整设计或赋予FPGA一个全新的功能。此外,现在甚至可以远程修改FPGA配置文件,从而修改系统。虽然重构对某些应用来说是个优点,但它也可能成为一个安全隐患,因为盗版者可能拦截并获取新的码流。不过这可以通过在传输时保护位流来解决。
虽然Flash FPGA比SRAM FPGA更安全 ,它们也有缺点。它们的密度和存储容量有限,功能和I/O的速度也有限。
针对这些缺点,莱迪思半导体公司已经开发出一种创新的技术,它结合了以下两种技术的优点:
* 性能和存储器容量较大的低成本SRAM
* 可以内部存储重构数据的Flash
莱迪思独特的flexiFLASH技术,将SRAM和Flash整合在同一个FPGA中,可以同时实现以下几个方面的优点:
* 位流配置
* 以最短的系统中断时间进行远程重新配置
* 数据保护和器件加锁
复杂系统中的设计安全性
工程师正面临着构建日益复杂的系统的挑战。
图1展示了一个FPGA与微处理器相连的系统 。微处理器通过一个外部PHY和一个集成在FPGA内的MAC 与以太网连接。与竞争者的产品不同,这个微处理器中还包含用户逻辑。 FPGA通过一个Flash来配置。Flash和RAM中包含有微处理器的程序和系统的数据。如果系统需要更新,就通过以太网来发送数据。为了保护设计, FPGA数据和位流都经过了加密。但是,发送到微处理器的数据和指令未加扰,因此盗版者能够查看此数据并加以复制。一种可能的解决办法是在FPGA内实现软微处理器,它可以访问FPGA的内部存储器组,而从外部却无法看到存储器组。这些存储器组可以用来存储重要的算法和数据。
wKgZomU3eFeARJ2wAABXuUt_ACc670.jpg
图1 FPGA与微处理器相连的系统
图2展示了同一个设计,但处理器集成在FPGA之中。图2中采用的软微处理器是LatticeMico32 。设计师构建了解扰器,因此加扰是机密的。使用解扰器允许加密的指令存储在外部存储器。为了加密位流,莱迪思为几款FPGA提供了128位AES密钥。
wKgZomU3eFeAauXUAABYnpF0S18586.jpg
图2 处理器集成在FPGA之中
首先,工程师应用莱迪思的软件设计工具套件ispLEVER ( 7.0或更高版本)开发FPGA代码,完成综合、映射、布局布线和仿真后,产生位流,经最后验证后再用ispVM系统( 莱迪思的编程工具)对电路板编程。当设计师对系统的功能感到满意时,此时就要来做保护设计的工作。可以用莱迪思的ispLEVER工具或莱迪思的编程工具ispVM System对位流加密,用户可选择128位密钥。编码的位流可以是十六进制(从0至F ,不区分大小写)或一个ASCII密钥(可用所有字母数字字符和空格,大小写敏感),然后使用任何非加密的文件编码将该位流加载到配置存储器中。
wKgZomU3eFeARPv9AABGf5vXvjY441.jpg
图3 用128位AES密钥保护设计
现在密钥应该已经保存在一个可编程存储区。编程是通过器件的JTAG端口进行。应该注意到,用密钥对位流加了密,现在只能通过加密的位流对FPGA进行配置。用sysCONFIG接口或JTAG接口可以对莱迪思的FPGA进行编程。该sysCONFIG接口可以让用户使用集中配置模式,或Flash SPI ,或以并行的方式使用并行配置模式重新输入数据。符合IEEE 1149.1和IEEE 1532标准的JTAG端口允许以突发位流(或快速编程)模式、或用1532模式对数据进行编程。JTAG端口用来对器件中的AES 128位密钥编程。不需要用特别的模式来保存FPGA中的128位密钥。
在莱迪思的FPGA中使用一个编码位流可以防止器件的配置被重新读取,但需要一些措施来确保配置能够正确地运作。位流未加密时,FPGA执行CRC操作。如果程序不正确,DONE信号保持在0,INITN变为0 。用户仍然可以访问JTAG Usercode寄存器。对FPGA的位流译码时,它存储位流用户码,用来存放FPGA应用程序的版本号。
图4展示了加密位流的数据路径。当数据进入FPGA时,解码器读引导程序,前面所有的数据被忽略。即使解码器检测到加密的文件,如果FPGA的密钥未被编程,数据则被阻止,DONE信号保持在‘0 ’ (表示配置失败) 。如果密钥已被编程,FPGA检查引导程序,指出后面所有的数据应通过解码器。然后FPGA检查标准引导程序,得知数据是否已被压缩。如果数据没有被压缩,则将它直接发送到解码单元。如果数据已压缩,就先把它送到解压缩引擎,然后再送到解码单元。一旦通过CRC校验,即对SRAM进行编程。DONE位被激活时,解压缩和译码擎不工作,允许其它JTAG链元件接收配置数据。
wKgZomU3eFeAAMkvAABG3DM66ic173.jpg
图4 加密位流的数据路径
莱迪思的经济型ECP2/M FPGA拥有位流加密功能,内置闪存的非易失LatticeXP2 FPGA也有此功能。LatticeXP2 FPGA把SRAM映射合并入同一块芯片,设计和含有位流配置的Flash映射都在此芯片上工作。当设计师重点关注电路板的面积和快速启动时间时,这类器件特别有用。
1 内置闪存的FPGA
非易失FPGA提供额外的Flash保护安全功能,可以防止内存因意外或未经授权的操作被擦除或重新编程。Flash保护功能采用64位密钥。
对器件进行删除或重新编程时, ispVM System会核查Flash是否被保护。如果是,就要求用户输入64位密钥,然后ispVM检查这个密钥是否与存储在器件中的密钥一致,如果一致就执行操作。但是,如果丢失了密钥,器件就再也不能被擦除了。
这些安全性措施不仅保护了用户电路板上的设计,而且也防止了试图修改系统功能的盗版行为。这些功能还有助于远程的系统更新。莱迪思FPGA提供这一功能,使用户可以通过对FPGA重复编程来更新他们的系统,而不会中断它与周围元件的联系。此功能被称为TransFR 。
FPGA最值得注意的的特点是设计人员很容易对器件进行重构。但是,重构通常意味着系统要中断很长时间。但是,莱迪思开发的TransFR技术将重构的影响降至最低。莱迪思的几个FPGA系列都支持TransFR技术,包括那些含有内置闪存的器件,如MachXO 、LatticeXP和LatticeXP2 ,以及像LatticeECP2 /M那样的SRAM FPGA。
wKgZomU3eFeAGh2tAAA2RlnelDE441.jpg
图5 用最短的中断系统时间进行远程更新
TransFR是一种同时使用基本任务编程和边界扫描单元的技术。基本任务编程修改非易失存储器的内容(内部的或外部的) ,以便使FPGA的SRAM部分继续工作。莱迪思的FPGA拥有可以取样和预加载的边界扫描单元,可以在编程时控制FPGA的I/O。
wKgZomU3eFiABDGPAACnbCP28v0447.jpg
图6 执行TransFR的4个步骤
执行TransFR的4个步骤:
1,进行基本任务编程。系统对FPGA的非易失性存储器再编程,但不会中断SRAM的功能。
2,可以锁定I/O的状态,用户可以保持或预先确定I/O的状态。在整个重新配置过程中,I/O的值保持不变,以防止系统被关闭。
3, 接着用JTAG命令把新的配置传输至非易失存储器。一完成对SRAM就执行全局复位,以便使该器件处于一个已知的状态。然后释放I/O的状态,并再次锁定PLL。
4,释放输出,内部逻辑停止对I/O的监测。
要使用TransFR,需要用到ispLEVER开发工具和ispVM。
用户通过使用128位AES密钥加密文件和Lattice TransFR技术完成了更新过程,但仍有可能因为系统本身的弱点或违法行为引发系统故障。虽然FPGA的位流是加密的,但是非法操作或传输中的错误都可能损坏它,从而导致FPGA被阻塞,使系统无法正确地重启。为了解决这个问题,莱迪思推出了“双引导 ”功能。
2 双引导配置
在配置存储器中存储两个编程文件。
wKgZomU3eFiASRlYAABB1csJLo8433.jpg
图7 双引导配置
激活PROGRAM引脚或启动JTAG刷新指令后,FPGA下载存储在Sector 1的位流 。如果CRC出错,FPGA自动恢复到Sector 0配置。Lattice XP2非易失FPGA也有此功能。该Flash元件拥有主动配置,还有一个用来存放安全( “golden” )配置的SPI Flash。
莱迪思拥有许多能帮助设计人员保障设计安全的产品。Lattice ECP2/M FPGA是一款拥有128位AES密钥的高安全性器件。这些经济的器件提供了大存储容量(高达5.3 Mbit)、高速I/O和SERDES 。非易失性LatticeXP2 FPGA是市场上一款很独特的器件,它有着极高的安全性。由于采用了FlexiFlash技术,位流存储在器件的Flash中, 并由128位AES密钥对它进行保护。此外, TransFR更是保障了绝对安全的远程系统更新。
设计的安全性应该是设计过程的一部分,而不是事后再去考虑。无论选择了哪种技术,最重要的是要防止设计被篡改,无论这个篡改行为是无意的还是非法的。

wKgZomU3eFiAVcknAABUdafP6GM616.jpg

精彩推荐 至芯科技FPGA就业培训班——助你步入成功之路、10月29号西安中心开课、欢迎咨询! 在FPGA上建立MATLABSimulink算法原型 FPGA基本知识与发展趋势扫码加微信邀请您加入FPGA学习交流群

wKgZomU3eFiAZTGoAABiq3a-ogY805.jpgwKgZomU3eFiAHgxBAAACXWrmhKE594.png

欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看


原文标题:浅析FPGA设计的安全性

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22282

    浏览量

    630068

原文标题:浅析FPGA设计的安全性

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问CW32L052C8T6这种安全性低功耗MCU的安全固件部分怎么实现?

    请问,CW32L052C8T6这种安全性低功耗MCU的安全固件部分怎么实现?
    发表于 12-05 07:19

    车规级与消费级芯片的可靠安全性与成本差异

    引言在汽车电子和消费电子领域,"车规级"与"消费级"芯片代表了两种截然不同的设计理念和技术标准。车规级芯片专为汽车应用设计,强调在极端环境下的可靠安全性
    的头像 发表于 11-18 17:27 584次阅读
    车规级与消费级芯片的可靠<b class='flag-5'>性</b>、<b class='flag-5'>安全性</b>与成本差异

    有哪些技术可以提高边缘计算设备的安全性

    边缘计算设备的安全性面临分布式部署、资源受限(算力 / 存储 / 带宽)、网络环境复杂(多无线连接)、物理接触易被篡改等独特挑战,因此其安全技术需在 “安全性” 与 “轻量化适配” 之间平衡。以下从
    的头像 发表于 09-05 15:44 984次阅读
    有哪些技术可以提高边缘计算设备的<b class='flag-5'>安全性</b>?

    如何验证硬件加速是否真正提升了通信协议的安全性

    验证硬件加速是否真正提升通信协议的安全性,需从 安全功能正确、抗攻击能力增强、安全性能适配、合规一致 等核心维度展开,结合实验室测试与真
    的头像 发表于 08-27 10:16 809次阅读
    如何验证硬件加速是否真正提升了通信协议的<b class='flag-5'>安全性</b>?

    如何利用硬件加速提升通信协议的安全性

    产品实拍图 利用硬件加速提升通信协议安全性,核心是通过 专用硬件模块或可编程硬件 ,承接软件层面难以高效处理的安全关键操作(如加密解密、认证、密钥管理等),在提升性能的同时,通过硬件级隔离、防篡改等
    的头像 发表于 08-27 09:59 633次阅读
    如何利用硬件加速提升通信协议的<b class='flag-5'>安全性</b>?

    请问DM平台访问安全性如何控制?

    DM平台访问安全性如何控制?
    发表于 08-06 06:01

    SD-WAN供应商在安全性方面有哪些差异?服务商安全性排行

    市场报告,2022年该市场增长达25%,预计2027年规模将突破75亿美元,而**安全性差异**成为企业选型的首要考量。以下从技术架构、行业适配等维度解析头部服务商
    的头像 发表于 07-29 10:14 345次阅读
    SD-WAN供应商在<b class='flag-5'>安全性</b>方面有哪些差异?服务商<b class='flag-5'>安全性</b>排行

    电子电器产品安全性与针焰试验的重要

    在当今电子电器产品广泛应用的背景下,消费者对其使用安全性愈发关注。电子设备的材料在电作用下可能面临过热应力,一旦材料劣化,设备的安全性能将受到严重影响。针焰试验作为一种关键的阻燃试验,能够有效评估
    的头像 发表于 03-11 17:20 741次阅读
    电子电器产品<b class='flag-5'>安全性</b>与针焰试验的重要<b class='flag-5'>性</b>

    航空航天领域对电源滤波器可靠安全性的特殊要求

    航空航天领域对电源滤波器可靠安全性要求极高。从电磁兼容到抗恶劣环境,从安全性到长寿命与维护,从轻量化与小型化等都需达到高标准。随着航
    的头像 发表于 03-07 11:45 760次阅读
    航空航天领域对电源滤波器可靠<b class='flag-5'>性</b>和<b class='flag-5'>安全性</b>的特殊要求

    AI如何增强车辆安全性和用户交互

    、降低死亡率。AI 运用在预测安全功能和驾驶辅助系统中,大大增强了行驶过程的安全性,让人感觉宛如拥有了一位反应力超乎常人的副驾驶员。但是,与大众普遍认知不同的是,AI 并不是汽车领域的“新面孔”,它与汽车的集成可以追溯到 20
    的头像 发表于 02-08 09:48 2097次阅读

    AGV在工作时如何保持高强度安全性

    AGV实现高效低成本物料运输,安全性高,通过安全装置、交通管制避免碰撞。区域控制、传感器控制、综合控制等方式实现交通管理。AGV提升企业技术进步,有望在更多领域发挥广泛作用。
    的头像 发表于 01-02 11:46 677次阅读
    AGV在工作时如何保持高强度<b class='flag-5'>安全性</b>

    如何实现 HTTP 协议的安全性

    协议的安全性,可以采取以下几种方法: 1. 使用HTTPS HTTPS(安全超文本传输协议)是HTTP的安全版本,它在HTTP的基础上通过SSL/TLS协议提供了数据加密、数据完整
    的头像 发表于 12-30 09:22 1482次阅读

    集中告警管理如何提升设施安全性

    在工业或商业建筑中,集中告警管理已成为确保安全性或检测故障的必备工具。它是如何提升设施安全性的?欢迎大家阅读文章了解~
    的头像 发表于 12-13 15:51 779次阅读
    集中告警管理如何提升设施<b class='flag-5'>安全性</b>?

    电池的安全性测试项目有哪些?

    电池的安全性测试是保证电池在实际使用过程中稳定、安全的重要手段。通过一系列严格的测试项目,能够有效评估电池在不同条件下的表现,并提前发现潜在的安全隐患。对于消费者而言,了解这些测试项目不仅能帮助他们
    的头像 发表于 12-06 09:55 2342次阅读
    电池的<b class='flag-5'>安全性</b>测试项目有哪些?

    电池安全性测试关键:圆柱与软包电池测试设备指南

    机、过充/过放测试仪、热失控测试仪、电池短路测试仪以及压力测试机等。通过这些仪器的配合使用,可以全面检测电池的安全性、可靠,确保电池在实际应用中的稳定性和安全性
    的头像 发表于 12-06 09:35 1237次阅读
    电池<b class='flag-5'>安全性</b>测试关键:圆柱与软包电池测试设备指南