找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 面向移动安全存储的密码SoC设计与实现

[复制链接]
admin 发表于 2013-3-25 15:18:56 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 针对目前移动存储设备大量的失泄密事件,提出了一种适用于移动安全存储设备的密码SoC设计方案,并在FPGA开发板上进行了验证。该SoC集成自主设计的安全协处理器,能够支持多种密码算法。介绍了NAND Flash控制器的设计方案,并在此基础上提出了高速存取技术。基于FPGA的测试结果表明,该SoC能够有效完成多种密码操作,具有较高的数据吞吐率。基于SMIC 0.18 μm工艺综合后的结果显示,工作频率能够达到100 MHz,面积约为250万门。
关键词: SoC;NAND Flash;协处理器;安全存储;密码
       移动存储产品已广泛应用于各行各业,是不可或缺的信息交换载体,特别在日常办公系统中,以U盘、固态移动硬盘为代表的存储介质的使用日益普遍。而在实际应用中,移动存储设备易丢失、易损坏、易染病毒、不可控的特性也使数据安全无法得到充分保证。因遗失、暴力破解、主动泄密、木马攻击等方式导致的泄密事件也在逐渐上升[1]。为了解决这一问题,国内外已经研制出多款相关安全产品,但是这些安全产品大多采用单一算法或固定的几种算法,其灵活性和安全性都不够高,无法满足不同设计的安全需求[2]。
     针对现有安全SoC存在的问题,本文基于高性能嵌入式CPU构建并设计了一款密码SoC平台。该SoC平台采用自主设计的安全协处理器执行密码操作,经验证可适用于三类主要的密码算法[3]:对称密钥加密算法、散列算法和公开密钥加密算法。此外,设计了高性能NAND Flash控制器,支持外接多种类型的NAND Flash芯片(SLC、MLC 和TLC),最大支持容量为160 GB。本设计可应用于加密U盘、加密U盘KEY、加密移动硬盘、高速加密流转接器等设备中。
1 硬件设计
1.1 系统架构

     本文提出的密码SoC架构如图1所示。其中集成了两种处理器核,分别是通用处理器(LEON2)和4个安全协处理器(Security ASIP),两者通过系统总线相连。所有涉及加解密的运算都被映射到安全协处理器中执行。DMA控制器负责把将要执行的加解密任务按照CPU的配置分配到各安全处理器中,CPU只承担控制和部分数据传输任务,绝大部分的运算由安全协处理器完成,CPU在大部分时间处于挂起(suspend)状态,直到有中断将其唤醒。片上存储器主要包括EFlash/SRAM,用于存储操作系统引导程序、用户程序等;物理噪声源主要用于产生真随机数,生成密码运算时的消息密钥;两个USB-OTG 接口可根据应用需求设置成Host、Device 或OTG,支持多达6 个端点,可设置成多重复合设备,最大限度地满足用户的设计需求;NAND Flash控制器负责产生符合NAND Flash接口操作规范的时序信号,带有ECC校验模块,每512 B可修正位数为1 bit或8 bit,支持外接8片NAND Flash。另外还包含有低速通信接口、定时器、中断控制器、存储保护单元、功耗管理单元等辅助模块,用于完成平台的其他功能。
    20121107045944265841678.gif
   1.2 安全协处理器结构
     分析现有的安全存储设备[4]可以发现,在使用存储设备之前,必须对使用者进行身份验证;文件读写时,必须对数据进行加解密操作;为了保证数据的完整性,必须对数据进行完整性验证操作。所以,密码SoC必须能够灵活处理对称、公钥和杂凑三类算法,这个任务主要由安全协处理器完成。在进行安全协处理器的设计之前,必须对各类密码的执行特点进行分析。由专门的工具[5]分析可以得出各种密码算法的执行特点。部分AES算法的计算特征分析结果如表1所示。
    20121107045944453331679.gif
       对各类密码算法的特点进行分析后,本文提出了如图2所示的安全协处理器架构。该安全协处理器基于传统的RISC处理器结构所设计,分为取指令(IF)级、译码(ID)级、执行(EXE)级/memory访存级和写回(write)级四级,能支持标准的RISC指令,并且还能执行一些专门设计的特殊指令。在执行级,不仅有处理正常RISC标准指令的ALU单元,还有专用的硬件功能单元、PTLU(Parallel Table Look-Up)和MHU(Mul/Div unit&Hash Unit),用来对算法中比较耗时的运算(如查找表、模乘等操作)进行加速。为了加快安全协处理器的指令和数据的存取速度,在协处理器内部分别嵌入1 KB大小的指令RAM和数据RAM,用来存放协处理器的指令和数据。该协处理器指令集不仅包括标准的算术和逻辑运算指令,还包括专用的密码运算指令,如PTAES、 PTW、MOD_MUL等。
    20121107045944484581680.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-27 13:35 , Processed in 0.059839 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表