基于SOPC的USB密码模块硬件与固件设计

发布于:2008/5/26 15:34:03 | 1382 次阅读

  密码模块是指被容纳在加密边界范围中,执行认可安全功能(包括加密算法与密钥产生)的硬件、软件和固件的组合。集加密存储、安全等功能于一体的USB密码模块,可作为USB安全钥载体、USB加密卡、USB大容量加密存储体应用于保护信息系统和秘密信息的主要工具,具有十分良好的市场应用背景。

  SOPC(System On a Programmable Chip)技术是一种灵活、高效的软硬件综合解决方案。硬件上可裁剪、可扩充、可升级,有丰富的IP核可供集成,使得设计变得十分灵活。

  本文提出了基于SOPC的USB密码模块设计思想,其目标是设计一款集加密存储、安全等功能于一体的基于SOPC的USB密码模块应用系统。

  1 基于SOPC的USB密码模块总体设计

  1.1 设计思想

  本设计是基于模块的设计思想,充分利用SOPC现有资源开发特殊功能的应用子系统。用USB2.0接口控制芯片、有丰富可编程资源的FPGA芯片、安全存储专用芯片以及大容量Flash构成密码模块硬件基础。以FPGA为控制中心,实现FPGA对相连部件的操作。

  1.2功能模块及组成

  整个模块系统包括硬件层、固件层、驱动层、应用层4部分。硬件层包括嵌入式主控制器及其周边环境、高性能密码处理单元、内部安全控制引擎、应用平台通信接口等模块;固件层包括协议栈、嵌入式软件等;驱动层包括器件驱动程序;应用层包括基于操作系统的各类应用软件API。其总体架构如图1所示。

        

  1.3 安全策略

  本系统中安全策略包括模块安全管理和数据安全管理。具体内容包括基于口令的、口令设置修改、模块有效期管理、安全参数保护管理、数据有效期管理、数据加密和数据销毁等。

  口令:通过硬件实现用户对模块访问操作的口令。

  口令设置修改:系统设计有多种级别的口令权限,负责不同的操作。

  模块有效期管理:若判断到达或超过使用期限,则自动销毁存储数据和安全参数,并锁定密码模块。

  数据有效期管理:当达到数据使用期,可自动销毁存储在大容量Flash里的数据。

  数据销毁:分为自动销毁和主动销毁。当非法使用、口令攻击和数据有效期失效时,自动销毁用户存储在大容量Flash中的数据。

  数据加密:使用分组算法,通过密码模块密钥对用户存储在大容量Flash中的数据写人加密;读出时解密,以保证存储在其内的始终是密文。

  2 硬件设计

  2.1硬件架构模型

  本文在研究了应用需求的基础上,提出了图2所示的硬件架构模型。

       

  它主要包括如下5部分:

  ①嵌入式微控制器:主要负责模块的整体协调以及与外部通信接口的处理,实现系统控制、安全协议等功能。

  ②内部安全控制引擎:为了减少中心控制模块的工作,加快密码运算处理速度,专门设计一个专用的微控制器来进行调度密码运算处理。

  ③密码运算IP核:面向信息安全领域的安全应用,集成对称、非对称、杂凑等密码运算单元,通过内部安全控制引擎控制。

  ④总线桥:为让外部接口与内部运算模块更为高效地通信,通过总线桥使两条总线连接起来,较好地实现时序匹配和数据传输。

  ⑤数据存储模块:为了让密码运算处理模块与外部接口之间的通信同步,需设计一个数据存储模块来存储外部来的数据以及加密后来不及输出的数据。

  2.2 内部硬件电路关键部件设计

  2.2.1 内部安全控制引擎MCU的设计

  根据密码处理的特殊性,MCU一方面要实现两个设备之间的数据直接交换;另一方面要及时对运算完成标志作出快速响应,以减少不必要的时间延迟。因此,MCU除具备通用微控制器的数据传输指令之外,还要增加如下2类指令:

  ①直接数据传输指令:实现外部存储器与密码模块之问的直接数据传输。不同于通用微处理器的DMA功能,它通过专用指令实现两个外部缓冲区之间的数据交换。

  ②输入判断分支指令:按位对外部输入信号进行判断,无须微处理器执行算术运算或逻辑运算,即可直接判断外部引脚电平,决定程序分支。

  MCU设计:

  ◆采用哈佛结构模型来实现;

  ◆MCU为了与嵌入式控制器NiosII更好地协调工作,采用32位宽指令;

  ◆可以同时读取指令和数据,使流水设计变得简单易行;

  ◆指令和数据都存放在内嵌的存储器中,使控制器、运算器和程序存储器的处理效率较高;

  ◆主要进行数据传输指令和跳转指令设计。

  微控制器主要由取指电路、译码电路、执行部件3部分组成,实现各项功能。其电路整体框架如图3所示。

       

  2.2.2嵌入式控制器NiosII与内部安全控制引擎

  MOU的协调控制设计

  由于本密码模块系统较为复杂,内嵌的NiosII需要完成数据的传输、控制、通信、调度等任务。若采用传统的单CPU结构进行控制,因受到CPU速度和自身资源的影响,系统很可能出现任务过于繁重的情况。一旦出现故障,系统将不能正常工作。因此,在本设计中采用双CPU设计方案。其相互的协调控制模型如图4所示。

       

  对于NiosII而言:

  外部如有数据要进行加/解密处理,NiosII首先写命令到MCU命令接收寄存器,待MCU明确表示接收到命令后,返回一个确认信号给:NiosII;NiosII接收到确认信号后,则转入到写数据状态。在写数据状态,NiosII把数据按一定长度分组进行填充,输入到桥接器的输入FIFO。待数据输入完后,发出输入FIFO有效信号到MCU,转入判断IP运算核是否有效;若未完成,则继续在该状态进行等待。当IP运算完后,MCU置读FIFO信号有效,NiosII判断这个信号有效后直接从桥接器的输出FIFO,把数据从输出FIFO送到外部接口部件,完成数据加/解密过程;否则,继续等待,超出规定时限后,发出错误警告。

  对于MCU而言:

  MCU接收到NiosII过来的命令,对命令进行解析后,向NiosII发出确认收到命令信号,并判断输入FIFO里有没有数据。若有数据,则转入从输入FIFO取数据状态,分组送入密码运算IP核进行处理,待一组处理完后,送数据到输出FIFO,置读信号有效,完成数据加/解密过程;若输入FIFO为空,则等待。当所有数据全部处理完成后,做出完成标志。

  2.2.3总线桥的设计

  本密码模块包括Avalon总线和自行设计的总线,两条总线通过一个桥模块进行连接,完成总线与总线的数据通信。外部接口模块通过Avalon总线与NiosII进行通信,自行设计的总线主要负责密码专用控制器MCU与密码运算IP核之间的通信。为使这两条总线实现时序匹配,能够较好地数据传输,设计了总线桥。

  总线桥的总体结构如图5所示。它包括地址译码和外设IP选择模块、写数据寄存器模块、读数据寄存器模块和状态机模块。

       

  状态机模块主要协调两侧总线的协议时序,从而满足数据的正确传输要求;同时,还将根据MCU发送过来的传输命令得到外设IP相关的特征信息,产生用于NiosII的控制信号。地址译码和外设IP选择模块根据自定义总线发出的地址信号,译码后选择待操作的外设IP,并获取该IP的特征信息。

  3 固件设计

  3.1 固件工作原理

  USB密码模块初始化完成后,首先需要对用户进行身份。验证通过,即启动生命期管理模块,并根据口令的权限级别,实现对密码模块系统的安全访问。再继续接收主机命令,并进行相关操作。

  若口令验证不正确,则启动口令计数器计数,继续进行口令验证。当计数达到预定值时,则锁定安全专用模块并清空其所有数据,使用户不能进行任何操作。等待管理员重新进行复位设备操作,销毁密钥与数据。

  数据的加密存储以页为单位进行,调用AES分组加密算法加密。由128位的模块保护密钥对每页(2 KB)64个分组的存储数据采用密码反馈链接(CBC)模式进行加密。

  3.2 固件工作流程

  图6描述了基于SOPC的USB密码模块的基本工作流程。系统启动后首先进行系统自检,若自检不正常就退出模块;若自检正常,则调用总控程序,接收用户命令并进行口令。若成功,则命令有效,启动安全期管理,继续分析命令,完成相应的控制操作(如口令设置、密钥配置、页读或页写、数据销毁),然后继续等待接收用户的命令。若不成功,则进入审计过程,开启计数器功能,并继续进行口令;当计数达到预定值时,将安全Flash中存储的数据和密钥销毁,并锁定密码模块,使非法用户无法使用。只有管理员可以对模块进行重新配置。

       

  4 验证与测试

  4.1 桥的基本读操作仿真时序

  从图7中可以看出,Avalon总线一侧信号在ready信号有效时,S_bus总线已经将运算IP核处理好的数据写入到桥接器。这时,桥的状态检测模块进入初始状态S0,根据Avalon总线一端输入的外设地址及外设接口信号,解析出需要具体写入的外设接口模块。待数据发送到总线后,然后置读有效,表示NiosII可以将数据写入外设接口模块了,至此完成了数据的传输。

       

  4.2桥的基本写操作仿真时序

  从图8中可以看出,S_bus一侧在wr_vail信号有效时,Avalon总线已经将外设接口核的数据写入到桥接器中。这时,状态机从MCU中解析出需要传输到的目的IP核的地址,将数据送到S_bus总线,由S_bus总线写入到运算IP核中。

       

  4.3数据加解密模块验证

  在USB密码模块加电后,密码模块首先完成自检、配置寄存器等一系列操作。然后,便可以向数据密码模块内送入数据,按用户要求进行操作;此时开始计时,先后写入需要加密或解密的数据,以及加密、解密命令。以上操作完成后,开始写入数据。算法IP完成运算后,便可读出密/明文。如此循环,直至整个过程结束,停止计时。

  输入明文向量:

  00112233445566778899AABBCCDDEEFF

  输入初始密钥:

  000102030405060708090A0B0C0D0E0F

  输出密文结果:

  69C4E0D86A780430D8CDB7807084C55A

  AES模块仿真结果与加密功能测试结果如图9和图10所示。

       

  将得到的运算结果与AES仿真结果相比,以验证整个加密过程的正确性。结果表明,整个数据加密功能正确实现。

参与讨论
后参与讨论

//评论区

推荐阅读

智能网联汽车国际标准法规协调专家组(HEAG)召开工作会议

近年来智能网联汽车快速发展,新技术不断涌现,与相关产业融合度持续提升,正在推动全球汽车产业发生深刻变革。为应对此种形势,欧、美、日等汽车工业发达国家和地区都加大了智能网联汽车的国际标准法规协调的参与力度,在联合国世界车辆法规论坛(UN/WP.29)和国际标准化组织(ISO)层面,智能网联汽车相关国际标准法规协调活动正快速推进。 为更有效地支撑上述组织的国际标准法规协调活动,2017年全国汽车标准

0215jiejie | 发布于:2022-12-01 0评论 0赞

苹果推出搭载M2芯片的新款iPad Pro 799美元起售

据苹果官网,苹果推出搭载M2芯片的新款iPadPro。 11英寸wifi版起售价为799美元,wifi+蜂窝网络版起售价为999美元;12.9英寸wifi版起售价为1099美元,wifi+蜂窝网络版起售价为1299美元。

0215jiejie | 发布于:2022-10-19 0评论 0赞

新能源汽车领衔 “中国智造”加速登陆欧洲市场

全球五大车展之一巴黎车展时隔四年再度启幕。在这场被视为“全球汽车行业风向标”的盛会上,国内外汽车品牌云集,长城汽车、比亚迪等再次领衔中国汽车出海。 长城汽车欧洲区域总裁孟祥军表示:“欧洲是长城汽车最重要的海外市场之一,巴黎车展是长城汽车向欧洲市场展示GWM品牌和产品的最佳机会。长城汽车正在研究汽车行业碳排放的整个生命周期,到2025年,将推出50多款新能源产品,全力支持可再生能源使用,为全球用户

0215jiejie | 发布于:2022-10-19 0评论 0赞

严监管时代来临,电子烟“通配”大战走向何方?

针对通配烟弹厂商的一系列诉讼的结果,将对生产通配烟弹的品牌未来在电子烟行业的发展产生深远影响。 10月1日,《电子烟强制性国家标准》正式实施,中国电子烟监管全面生效。而在电子烟行业进入规范化、法治化阶段前夕,一场围绕着通配烟弹的争论在行业里发酵。 “通配”是电子烟从业者约定俗成的概念。换弹式电子烟由烟杆和烟弹组成,“通配”烟弹指的是非品牌商生产、可与品牌烟杆匹配使用的烟弹。多位业内人士表示,被

0215jiejie | 发布于:2022-10-19 0评论 0赞

Bourns 全新大功率分流电阻器

采用金属感应引脚,专用于大电流应用中进行精确测量 全新分流电阻器专为电池管理系统、大电流工业控制和电动汽车充电站 提供高可靠性、高成本效益的解决方案 美国柏恩Bourns全球知名电子组件领导制造供货商,宣布新增12款CSM2F系列功率分流电阻器,扩展其产品组合。全新系列采用铆接通孔金属传感引脚,可满足大电流应用中对电压测试点精确定位日益增长的需求。最新型Bourns?CSM2F系列分流电阻器

0215jiejie | 发布于:2022-10-18 0评论 0赞

请尊重元宇宙“这个筐”

元宇宙是个筐,啥都往里装,但区别在于有的像聚宝盆,有的像垃圾桶。国庆假期刚结束,中青宝“90后”董事长李逸伦便亲自上阵,玩起了元宇宙婚礼。靠着老板首秀和代言,中青宝顺势推出“MetaLove元囍”App,正式进军元宇宙婚礼赛道。 就产品而言,如同其他元宇宙产品,李逸伦的元宇宙婚礼“新奇与吐槽齐飞”:有人说是有趣的尝试,有人则认为像QQ炫舞结婚系统。要知道,QQ炫舞是一款推出了十余年的老游戏。

0215jiejie | 发布于:2022-10-13 0评论 0赞

边缘计算:突围商业模式痛点

截至8月末,中国5G基站总数达210.2万个,中国5G发展已经进入下半场。随着5G加速融入千行百业,互动直播、vCDN、安防监控等场景率先大规模落地,车联网、云游戏、工业互联网、智慧园区、智慧物流等场景也快速走向成熟,这些更大流量、更低时延、更高性能的场景涌现,对边缘计算的刚性需求势必爆发。 GrandViewResearch预测,即使在新型冠状病毒肺炎疫情肆虐全球的背景下,边缘计算和5G网络市

0215jiejie | 发布于:2022-10-13 0评论 0赞

商务部回应美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”

商务部新闻发言人10日就美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”应询答记者问。 有记者问:近日,美国商务部在半导体制造和先进计算等领域对华升级出口管制措施。同时,在将9家中国实体移出“未经验证清单”过程中,又将31家中国实体列入,请问中方对此有何回应? 对此,商务部新闻发言人回应称,中方注意到相关情况。首先,通过中美双方前一阶段共同努力,9家中国实体zui终

0215jiejie | 发布于:2022-10-13 0评论 0赞

TCL华星官宣与奔驰合作:推出全球首款横贯A柱的车载显示屏

今年1月,奔驰带来了VISIONEQSS概念车,其中控台采用了一块完全无缝的47.5英寸曲面显示屏,横贯整个A柱,令人印象深刻。今天,TCL华星正式官宣与奔驰达成合作,并认领了VISIONEQSS上这块全球首款横贯整个A柱曲面的车载显示屏。 根据TCL介绍,这款显示屏采用了完全无缝的超薄一体化设计,将仪表盘、中控与副驾娱乐显示融为一体,并能够与3D实时导航系统相辅相成。 同时,这块显示屏还采用

0215jiejie | 发布于:2022-10-12 0评论 0赞

半导体板块暴跌 谁最受伤

国庆假期后首日开盘,上证综指时隔5个月再次失守3000点,与此同时,半导体板块也再度走低,其中,北方华创、雅克科技等个股跌停。10月11日早盘期间,半导体板块持续下挫,北方华创、雅克科技再度跌停。截至下午收盘,北方华创、雅克科技维持跌停状态,华海清科、拓荆科技-U、盛美上海、清溢光电、海光信息的跌幅则超10%。同日,半导体板块中的119只个股中超五成呈现下跌趋势。 在半导体板块遭遇下挫的同时,北

0215jiejie | 发布于:2022-10-12 0评论 0赞