可编程逻辑器件加密设计与实现

可编程逻辑器件加密设计与实现

论文摘要

可编程逻辑器件既继承了专用集成电路的大规模、高集成度、高可靠性的优点,又克服了专用集成电路设计周期长、投资大、灵活性差的缺点,逐步成为复杂数字硬件电路设计的理想首选。在投入数月之久的设计工作后,最令人害怕的莫过于辛辛苦苦的设计成果失窃。因此,可编程逻辑器件的安全问题也越来越受到人们的关注。对于采用SRAM(static random access memory)工艺的可编程逻辑器件而言,要求每次上电,对可编程逻辑器件进行重配置,这就使得可以通过监视配置的位数据流,进行克隆设计。对于Flash/Anti-Fuse工艺的可编程逻辑器件而言,通过解除芯片上的安全位,让芯片允许读回作业,如此窃贼就能获得器件中的电路。为了保护知识产权,有的可编程逻辑器件现在能够对比特流进行加密。然而,对于不具备嵌入式比特流加密手段来加密配置比特流的可编程逻辑器件而言,需要在生产过程中增加步骤对可编程逻辑器件中的密钥进行编程,因而提高了成本。对于大批量应用,使用加密存储卡的性价比会更高一些。本文对可编程逻辑器件存在的保密性问题进行深入的分析,提出使用加密存储卡加入安全认证的可编程逻辑器件加密设计方案,对现有的可编程逻辑器件加密设计方案进行改进,在简化电路、降低成本的基础上,加强了安全性。在可编程逻辑器件中和加密存储卡中的算法计算结果匹配之前,这一方案禁用可编程逻辑器件中的设计,因此,即使获取了配置数据比特流,设计也是安全的。随机数发生器在加密系统的密钥生成、加密存储等很多方面有着广泛的应用,很多加密系统的安全性直接依赖于产生的密钥的不可预测性以及非相关性。虽然随机数发生器有着广泛的应用,但产生真随机数的随机数发生器却很少。其中与IC(Integrated Circuit)工艺兼容的随机数生成有三种方法:放大电路噪声、振荡采样和混沌电路。本文提出了一种新的基于FPGA(Filed Programmable Gate Array)时延不确定性的随机数发生器的实现方案,更易于使用FPGA设计实现。本文提出的方案通过了美国商务部国家标准技术协会NIST发布的FIPS 140-1随机性统计测试。统计检验表明本文给出的随机数发生不失为一种较好的随机数发生器,具有优良的统计性质,从而具有较好的使用价值。本文的设计原型在Altera公司CycloneⅡ系列EP2C8Q208C8器件上实现并进行了验证,40MHz的时钟频率下,加密认证耗时约30ms,共占用1139个LE(Altera FPGA逻辑单元),732个register(边沿触发器件)以及三个引脚。

论文目录

  • 摘要
  • Abstract
  • 第1章 绪论
  • 1.1 课题背景
  • 1.1.1 可编程逻辑器件简介
  • 1.1.2 可编程逻辑器件的安全性
  • 1.2 本课题研究的目的及意义
  • 1.3 国内外研究现状
  • 1.4 本文主要研究内容
  • 1.5 本文章节安排
  • 第2章 加密存储卡概述
  • 2.1 加密存储卡简介
  • 2.1.1 AT885C0104C~25616C加密存储卡系列基本组成及其特点
  • 2.1.2 加密存储卡的校验和
  • 2.1.3 加密存储卡的封装形式和引脚功能
  • 2.1.4 加密存储卡的密码校验
  • 2C总线'>2.2 I2C总线
  • 2C总线的特点'>2.2.1 I2C总线的特点
  • 2C总线特征'>2.2.2 I2C总线特征
  • 2C总线的基本操作'>2.2.3 I2C总线的基本操作
  • 2.3 加密存储卡的应用
  • 2.3.1 加密存储卡的初始化
  • 2.3.2 加密存储卡的认证
  • 2.3.3 加密存储卡用户区的访问
  • 2.4 加密存储卡的安全问题
  • 2.4.1 概述
  • 2.4.2 数据加密
  • 2.4.3 数据安全问题及措施
  • 2.5 本章小结
  • 第3章 加密系统方案设计及论证
  • 3.1 可编程逻辑器件解密技术
  • 3.1.1 攻击的类型
  • 3.1.2 主要的解密方法
  • 3.2 本文加密方案的优点
  • 3.2.1 抵御攻击
  • 3.2.2 数据安全
  • 3.2.3 完整性保护
  • 3.3 实现方案
  • 3.4 本章小结
  • 第4章 随机数发生器的设计
  • 4.1 随机数发生器探讨
  • 4.2 真随机数发生器
  • 4.2.1 真随机数发生器的实现
  • 4.2.2 基于FPGA/CPLD的真随机数发生器设计
  • 4.2.3 物理随机数发生器设计
  • 4.2.4 本文随机数发生器的优点
  • 4.3 随机序列的统计检验
  • 4.3.1 随机序列常用测试方法
  • 4.3.2 序列随机性能测试
  • 4.4 本章小结
  • 第5章 加密方案的设计实现
  • 5.1 加密存储卡控制程序设计
  • 5.1.1 加密存储卡控制主程序设计
  • 5.1.2 控制子程序的设计
  • 5.2 硬件设计
  • 5.2.1 总体设计
  • 5.2.2 主控模块的设计
  • 5.2.3 时钟分频模块
  • 2C总线接口模块'>5.2.4 I2C总线接口模块
  • 5.2.5 加密算法模块
  • 5.2.6 随机数生成模块
  • 5.3 FPGA设计占用资源
  • 5.4 本章小结
  • 总结
  • 参考文献
  • 附录
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  

    可编程逻辑器件加密设计与实现
    下载Doc文档

    猜你喜欢