FPGA安全性设计指南 本书特色
现场可编程门阵列(fpga)已经成为嵌入式系统设计的主要应用技术之一。可重构器件由于融合了硬件和软件的特性,能够在专用集成电路的高性能和cpu的可编程性之间找到自己的应用空间,产生更好的应用效果。与此同时,fpga安全性设计的问题也日益突出。目前,关于fpga安全性设计的专门著述较少,fpga设计者很难针对具体应用进行系统的安全性分析和设计。
《fpga安全性设计指南》通过理论阐述并结合实用设计的方式,通过举例说明fpga安全性设计的问题如何进行解决。作者从如何编写顶层设计的形式化说明开始,逐步涉及低层硬件电路的各项强化机制,并分为多个层面对fpga安全性问题和解决方案进行了全面的阐述。作者结合近年来在计算机安全性理论、编程语言、编译器和硬件设计等领域中的*新进展,与fpga设计中的安全性问题作为一个整体予以阐述,创建了一整套静态和动态分析互相配合的多样化设计技术,使得使用商业芯片构建的fpga系统有可能成为一个稳定、可靠和安全的强健系统。
《fpga安全性设计指南》旨在为eda(电子设计自动化)和fpga领域工作的研究者和实践者们提供一整套fpga安全性设计的管理实用方法。本书适合在公司、工厂和政府研究实验室工作,从事fpga设计的工程师和学术界人士阅读。尤其是对fpga安全性要求较高的领域。同时也适合致力于fpga安全性设计研究的人士,用以提高专业技能。
FPGA安全性设计指南 目录
原书前言
作者简介
第1章概述
1.1对fpga日益增加的依赖
1.1.1航空航天用fpga
1.1.2超级计算用fpga
1.1.3用fpga分析视频
1.1.4高吞吐量加密用fpga
1.1.5入侵检测及防范用fpga
1.2fpga体系结构
1.2.1可重构硬件的吸引力
1.2.2fpga的内部结构
1.2.3设计流程
1.3fpga安全问题的复杂性
1.3.1安全是一个难题
1.3.2复杂度以及抽象
1.3.3烘烤和修补的比较
1.3.4fpga核的隔离
1.4本书结构
参考文献
第2章高保障软件的经验与技术
2.1背景
2.2恶意软件
2.2.1特洛伊木马
2.2.2后门
2.3保障度
2.4相称的保护
2.4.1威胁模型
2.5安全策略的执行
2.5.1安全策略类型
2.5.2策略执行机制
2.5.3可信任部件的组合
2.6保障度管理策略的执行
2.6.1生命周期支持
2.6.2配置管理
2.6.3独立评估
2.6.4动态程序分析
2.6.5可信任发售
2.6.6可信任恢复
2.6.7静态分析
参考文献
第3章硬件安全的难点
3.1恶意硬件
3.1.1恶意硬件的分类
3.1.2晶圆代工厂的可信度
3.1.3物理攻击
3.2隐蔽信道定义
3.2.1进程抽象
3.2.2等价类
3.2.3形式定义
3.2.4同步
3.2.5共享资源
3.2.6要求
3.2.7旁路
3.3制约隐蔽信道和侧信道攻击的现有方法
3.3.1共享资源矩阵法
3.3.2缓存干扰
3.3.3fpga掩码的保护方法
3.4fpga隐蔽信道攻击的探测及应对
3.4.1设计流程
3.4.2空间隔离
3.4.3存储保护
3.5作为隐蔽存储信道的策略状态
3.5.1状态策略
3.5.2隐蔽信道机制
3.5.3编码方案
3.5.4隐蔽存储信道探测
3.5.5减轻隐蔽信道可能造成的危险
参考文献
第4章fpga更新及可编程性
4.1概述
4.2比特流加密和认证
4.2.1密钥管理
4.2.2战胜比特流加密
4.3远程更新
4.3.1认证
4.3.2可信恢复
4.4部分可重构
4.4.1部分可重构的应用
4.4.2热置换和停机置换的比较
4.4.3内部配置访问端口
4.4.4动态安全性和复杂度
4.4.5客体复用
4.4.6完整性验证
参考文献
第5章fpga的存储保护
5.1概述
5.2fpga上的存储保护
5.3策略描述与综合
5.3.1存储访问策略
5.3.2硬件综合
5.4高级描述语言
5.5示例策略
5.5.1受控共享
5.5.2访问列表
5.5.3中国墙
5.5.4bell与lapadula保密模型
5.5.5高水位线
5.5.6biba完整性模型
5.5.7编辑
5.6系统架构
5.7评估
5.8使用策略编译器
5.9从数学角度构建严格的策略
5.9.1交叉乘积法
5.9.2实例
5.9.3单一的策略变化
5.9.4混合策略的形式化要素
5.10总结
参考文献
第6章采用壕沟技术的空间隔离
6.1概述
6.2隔离
6.3采用壕沟技术的物理隔离
6.4构建壕沟
6.4.1间隔法
6.4.2检查法
6.4.3间隔法与检查法的比较
6.5使用吊桥的安全互连
6.5.1直连的吊桥技术
6.5.2局部重构的路线跟踪
6.5.3共享总线架构的吊桥技术
6.6采用壕沟技术来保护引用监视器
参考文献
第7章综合运用:设计实例
7.1多核可重构嵌入式系统
7.2片上外围总线
7.3aes核
7.4逻辑隔离区
7.5引用监视器
7.6状态性策略
7.7安全的互连可扩展性
7.8隐蔽信道
7.9壕沟技术与吊桥技术的合并
7.10实施与评估
7.11软件界面
7.12安全可用性
7.13更多的安全架构示例
7.13.1设计的种类
7.13.2拓扑结构
7.14总结
参考文献
第8章前瞻性问题
8.1可信的工具
8.2安全系统的形式验证
8.3安全可用性
8.4硬件可信性
8.5语言
8.6配置管理
8.7供应链的安全防护
8.8针对fpga的物理攻击
8.9设计盗窃与故障分析
8.10局部重构与动态安全
8.11结论
参考文献
附录a计算机体系结构的基本原理
a.1计算机架构师的日常工作是什么?
a.2cpu、fpga与asic之间的折中方案
a.3计算机体系结构与计算机科学
a.4程序分析
a.4.1处理器仿真科学
a.4.2片上分析引擎
a.4.3二进制测试设备
a.4.4相位分类
a.5新型计算机结构
a.5.1diva结构
a.5.2原生微处理器
a.5.3wavescalar结构
a.5.4应用于医学领域的结构
a.6存储器
a.7超标量处理器
a.8多线程
参考文献
FPGA安全性设计指南 作者简介
原书前言
作者简介
第1章概述
1.1对FPGA日益增加的依赖
1.1.1航空航天用FPGA
1.1.2超级计算用FPGA
1.1.3用FPGA分析视频
1.1.4高吞吐量加密用FPGA
1.1.5入侵检测及防范用FPGA
1.2FPGA体系结构
1.2.1可重构硬件的吸引力
1.2.2FPGA的内部结构
1.2.3设计流程
1.3FPGA安全问题的复杂性
1.3.1安全是一个难题
1.3.2复杂度以及抽象
1.3.3烘烤和修补的比较
1.3.4FPGA核的隔离
1.4本书结构
参考文献
第2章高保障软件的经验与技术
2.1背景
2.2恶意软件
2.2.1特洛伊木马
2.2.2后门
2.3保障度
2.4相称的保护
2.4.1威胁模型
2.5安全策略的执行
2.5.1安全策略类型
2.5.2策略执行机制
2.5.3可信任部件的组合
2.6保障度管理策略的执行
2.6.1生命周期支持
2.6.2配置管理
2.6.3独立评估
2.6.4动态程序分析
2.6.5可信任发售
2.6.6可信任恢复
2.6.7静态分析
参考文献
第3章硬件安全的难点
3.1恶意硬件
3.1.1恶意硬件的分类
3.1.2晶圆代工厂的可信度
3.1.3物理攻击
3.2隐蔽信道定义
3.2.1进程抽象
3.2.2等价类
3.2.3形式定义
3.2.4同步
3.2.5共享资源
3.2.6要求
3.2.7旁路
3.3制约隐蔽信道和侧信道攻击的现有方法
3.3.1共享资源矩阵法
3.3.2缓存干扰
3.3.3FPGA掩码的保护方法
3.4FPGA隐蔽信道攻击的探测及应对
3.4.1设计流程
3.4.2空间隔离
3.4.3存储保护
3.5作为隐蔽存储信道的策略状态
3.5.1状态策略
3.5.2隐蔽信道机制
3.5.3编码方案
3.5.4隐蔽存储信道探测
3.5.5减轻隐蔽信道可能造成的危险
参考文献
第4章FPGA更新及可编程性
4.1概述
4.2比特流加密和认证
4.2.1密钥管理
4.2.2战胜比特流加密
4.3远程更新
4.3.1认证
4.3.2可信恢复
4.4部分可重构
4.4.1部分可重构的应用
4.4.2热置换和停机置换的比较
4.4.3内部配置访问端口
4.4.4动态安全性和复杂度
4.4.5客体复用
4.4.6完整性验证
参考文献
第5章FPGA的存储保护
5.1概述
5.2FPGA上的存储保护
5.3策略描述与综合
5.3.1存储访问策略
5.3.2硬件综合
5.4高级描述语言
5.5示例策略
5.5.1受控共享
5.5.2访问列表
5.5.3中国墙
5.5.4Bell与LaPadula保密模型
5.5.5高水位线
5.5.6Biba完整性模型
5.5.7编辑
5.6系统架构
5.7评估
5.8使用策略编译器
5.9从数学角度构建严格的策略
5.9.1交叉乘积法
5.9.2实例
5.9.3单一的策略变化
5.9.4混合策略的形式化要素
5.10总结
参考文献
第6章采用壕沟技术的空间隔离
6.1概述
6.2隔离
6.3采用壕沟技术的物理隔离
6.4构建壕沟
6.4.1间隔法
6.4.2检查法
6.4.3间隔法与检查法的比较
6.5使用吊桥的安全互连
6.5.1直连的吊桥技术
6.5.2局部重构的路线跟踪
6.5.3共享总线架构的吊桥技术
6.6采用壕沟技术来保护引用监视器
参考文献
第7章综合运用:设计实例
7.1多核可重构嵌入式系统
7.2片上外围总线
7.3AES核
7.4逻辑隔离区
7.5引用监视器
7.6状态性策略
7.7安全的互连可扩展性
7.8隐蔽信道
7.9壕沟技术与吊桥技术的合并
7.10实施与评估
7.11软件界面
7.12安全可用性
7.13更多的安全架构示例
7.13.1设计的种类
7.13.2拓扑结构
7.14总结
参考文献
第8章前瞻性问题
8.1可信的工具
8.2安全系统的形式验证
8.3安全可用性
8.4硬件可信性
8.5语言
8.6配置管理
8.7供应链的安全防护
8.8针对FPGA的物理攻击
8.9设计盗窃与故障分析
8.10局部重构与动态安全
8.11结论
参考文献
附录A计算机体系结构的基本原理
A.1计算机架构师的日常工作是什么?
A.2CPU、FPGA与ASIC之间的折中方案
A.3计算机体系结构与计算机科学
A.4程序分析
A.4.1处理器仿真科学
A.4.2片上分析引擎
A.4.3二进制测试设备
A.4.4相位分类
A.5新型计算机结构
A.5.1DIVA结构
A.5.2原生微处理器
A.5.3WaveScalar结构
A.5.4应用于医学领域的结构
A.6存储器
A.7超标量处理器
A.8多线程
参考文献