FPGA硬件设计流程中集成侧信道安全
1. 侧信道信息泄漏分类
侧信道信息泄漏的情况多样,以下表格详细列出了不同类型的侧信道信息泄漏,以及它们在综合后和实现后两个硬件设计流程阶段的可观测性,同时给出了对应示例的图号。
| 场景 | 综合后检测到泄漏 | 实现后检测到泄漏 | 图号 |
| ---- | ---- | ---- | ---- |
| 信号扩散 | ✓ | ✓ | 3 |
| 时间偏移 | ✓ | ✓ | 4 |
| 零方差(实现后) | ✓ | | 5 |
| 信号主导 | ✓ | | 6 |
| 零方差(综合后) | | ✓ | 7 |
| 信号隔离 | | ✓ | 8 |
2. 实验验证
为了验证FPGA设计流程的增强方法,选择OpenRISC平台片上系统(ORPSoC)作为案例研究。
- 设计与工具 :ORPSoC实现了OpenRISC 1000架构规范,具有单发射、按序执行的OpenRISC 1000 CPU和5级流水线,主内存模块通过符合Wishbone的总线连接。以50 MHz时钟频率为目标对ORPSoC进行综合,使用Xilinx Artix 7 XC7A200设备作为目标平台。采用Vivado 2017.4 Xilinx工具链进行综合和实现,使用Xilinx XSim 2017.4获取开关活动文件。
- 软件运行 :综合后的片上系统运行高级加密标准(AES)对称块密码的软件实现,采用128位密钥的变体。软件通过编译用C语言编写的符合标准、内存优化(S盒)的实现获得。