以Flash为基础的FPGA实现高度安全设计
时间:09-13
来源:互联网
点击:
保密报头
保密报头包含两种密钥:FlashLock密钥及AES密钥,它也包括FROM及FPGA列阵的信息认证控制。它还包括FPGA阵列与FROM的保密设定。具体的FPGA阵列保密设定包括:写入、擦除及校验的存取控制与加密/不加密的存取控制 (写入、擦除及校验);FROM的保密设定包括:写入、擦除及读取的存取控制(在此情况下校验是一直被允许的)与加密/不加密的存取控制 (写入、擦除及读取)。
信息认证模块(MAC)
信息认证模块负责认证整个编程码流,见图3,包括AES解密核心把STAPL文件解密;MAC检查解密后的数据是否可被认识:如果正确,器件就可以被擦除及编程;如果不正确,软件会防止编程序列被启动。在认证进行过程中器件仍可正常工作。
另外该模块还负责在编程数据传进器件时检验是否存在损坏的数据,具体做法是在编程前对每个数据包进行验证。
实施保密的软件设置
以下我们将介绍如何进行保密的软件设置,首先定制安全级别,如图4所示:
用户可在生成安全文件时,选择“Custom Level”选项,将弹出“Custom Security Level”对话框,即可看到FPGA阵列与FROM的保密设定选项,具体的选项包括:
——只容许在 FLASHLock 密钥正确时写入、擦除及校验;
——只容许在 FlashLock 密钥正确时写入、擦除(校验可以在没有 FlashLock 密钥下进行);
——只容许在器件内有正确的AES密钥时进行写入、擦除及校验(配置器件在重编程和校验FPGA阵列时接受一个被加密的编程文件);
注意:a.要求在器件内有包含正确的AES密钥;b.FlashROM在这个模式下读取被禁止;c.加密过的FlashROM内容只允许进行校验。 ——接受没有FlashLock或AES密钥的纯文本STAPL 文件的写入、擦除、读取 (Flash ROM) 及校验。其次,设定保密包头,如图5所示:
在申请编程文件时点击选择“Security Settings”选项,在弹出的对话框中选择期望的保密设定,并输入FlashLock密钥 (即软件里的Pass Key) 及AES密钥即完成了保密包头的设定。最后,编程生成加密编程文件,如图6所示。
为加密编程设定STAPL文件的具体步骤是:点击选择“Programming previously secured device(s)”选项,在弹出的对话框中点击“FPGA Array Only”或“FlashROM Only”选项,或者两者并选。最后,在弹出的“Security Settings ”对话框中的相应位置提供预编程时所用的同一个AES密钥。
完整的解决方案
为了配合ProASIC3与ProASIC3E,Actel提供了全面的硬件工具支持。新推出的低成本ISP编程器、启动工具套件(Libero Gold、FlashPro3、评估板及教程指南和文档)、可进行批量编程的Silicon Sculptor及其他调试工具,如First Silicon Solution的Logic Navigator逻辑分析器及Synplicity的Identify RTL调试器等。
而全面的软件工具支持包括:Libero 7.0(Gold 版可从网站免费下载)及业界提供的支持,如Synplicity的Synplify、Mentor Graphics的ModelSim、Magma的PALACE物理综合及WaveFormer Lite的Reactive Testbench等。
Actel公司第三代以Flash为基础的FPGA,除了高的安全性与保密性外,也是一个面向大批量生产的FPGA,它集成了ASIC与SRAM FPGA所有的优点,包括:单芯片上电即行、非挥发性、低功耗、高安全性、高保密性、固件错误免疫性、片上NVM、低单位成本、低总系统成本、无 NRE费用、可快速构建原型、快速的生产交货期及系统内可编程等诸多优点。
保密报头包含两种密钥:FlashLock密钥及AES密钥,它也包括FROM及FPGA列阵的信息认证控制。它还包括FPGA阵列与FROM的保密设定。具体的FPGA阵列保密设定包括:写入、擦除及校验的存取控制与加密/不加密的存取控制 (写入、擦除及校验);FROM的保密设定包括:写入、擦除及读取的存取控制(在此情况下校验是一直被允许的)与加密/不加密的存取控制 (写入、擦除及读取)。
信息认证模块(MAC)
信息认证模块负责认证整个编程码流,见图3,包括AES解密核心把STAPL文件解密;MAC检查解密后的数据是否可被认识:如果正确,器件就可以被擦除及编程;如果不正确,软件会防止编程序列被启动。在认证进行过程中器件仍可正常工作。
另外该模块还负责在编程数据传进器件时检验是否存在损坏的数据,具体做法是在编程前对每个数据包进行验证。
实施保密的软件设置
以下我们将介绍如何进行保密的软件设置,首先定制安全级别,如图4所示:
用户可在生成安全文件时,选择“Custom Level”选项,将弹出“Custom Security Level”对话框,即可看到FPGA阵列与FROM的保密设定选项,具体的选项包括:
——只容许在 FLASHLock 密钥正确时写入、擦除及校验;
——只容许在 FlashLock 密钥正确时写入、擦除(校验可以在没有 FlashLock 密钥下进行);
——只容许在器件内有正确的AES密钥时进行写入、擦除及校验(配置器件在重编程和校验FPGA阵列时接受一个被加密的编程文件);
注意:a.要求在器件内有包含正确的AES密钥;b.FlashROM在这个模式下读取被禁止;c.加密过的FlashROM内容只允许进行校验。 ——接受没有FlashLock或AES密钥的纯文本STAPL 文件的写入、擦除、读取 (Flash ROM) 及校验。其次,设定保密包头,如图5所示:
在申请编程文件时点击选择“Security Settings”选项,在弹出的对话框中选择期望的保密设定,并输入FlashLock密钥 (即软件里的Pass Key) 及AES密钥即完成了保密包头的设定。最后,编程生成加密编程文件,如图6所示。
为加密编程设定STAPL文件的具体步骤是:点击选择“Programming previously secured device(s)”选项,在弹出的对话框中点击“FPGA Array Only”或“FlashROM Only”选项,或者两者并选。最后,在弹出的“Security Settings ”对话框中的相应位置提供预编程时所用的同一个AES密钥。
完整的解决方案
为了配合ProASIC3与ProASIC3E,Actel提供了全面的硬件工具支持。新推出的低成本ISP编程器、启动工具套件(Libero Gold、FlashPro3、评估板及教程指南和文档)、可进行批量编程的Silicon Sculptor及其他调试工具,如First Silicon Solution的Logic Navigator逻辑分析器及Synplicity的Identify RTL调试器等。
而全面的软件工具支持包括:Libero 7.0(Gold 版可从网站免费下载)及业界提供的支持,如Synplicity的Synplify、Mentor Graphics的ModelSim、Magma的PALACE物理综合及WaveFormer Lite的Reactive Testbench等。
Actel公司第三代以Flash为基础的FPGA,除了高的安全性与保密性外,也是一个面向大批量生产的FPGA,它集成了ASIC与SRAM FPGA所有的优点,包括:单芯片上电即行、非挥发性、低功耗、高安全性、高保密性、固件错误免疫性、片上NVM、低单位成本、低总系统成本、无 NRE费用、可快速构建原型、快速的生产交货期及系统内可编程等诸多优点。
电子 FPGA 总线 电压 Mentor ModelSim 相关文章:
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 周立功:如何兼顾学习ARM与FPGA(05-23)
- 初学者如何学习FPGA(08-06)
- 为何、如何学习FPGA(05-23)
- 学习FPGA绝佳网站推荐!!!(05-23)
- 我的FPGA学习历程(05-23)