




已阅读5页,还剩81页未读, 继续免费阅读
(通信与信息系统专业论文)基于sopc的硬盘加解密系统研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海大学硕士学位论文 摘要 随着信息社会的到来,信息技术飞速发展。计算机技术的应用引起了人们生 产方式、生活方式和思想观念的巨大变化,极大地推动了人类社会的发展和人类 文明的进步。 然而人们在享受快捷信息系统带来的巨大利益的同时,也面临信息安全的严 峻考验。因为信息安全不仅关系到个人的隐私能否得以保障,甚至关系到国家的 安全和利益,所以保障信息系统的安全已经作为一项重要的课题受到越来越多的 人的重视。 硬盘加解密的研究是针对硬盘中的数据安全而提出的。本文利用s o p c b u i l d e r 为设计平台,进行软硬件协同设计。软硬件协同设计的方法,一方面可 以缩短设计周期,极大地提高设计效率:另一方面可以根据系统各个部分的特点 和设计约束,选择软件或者硬件实现方式,得到高性能、低成本的优化设计方案。 n i o s h 处理器是一个基于f p g a 的1 6 3 2 位的软核r j s c 处理器,此处理器属于 h a r v a r d 结构,可以嵌入用户逻辑,是可配置的通用处理器。基于s o p cb m l d e r 的设计平台,进行了如下研究工作: ( 1 ) 提出了硬盘加解密系统的总体设计方案,并从各方面论证了系统的安 全性; ( 2 ) 在深入研究a e s 加密算法的基础上,对a e s 算法进行了f p g a 实现 并且对实现进行了相应的优化。a e s 加解密的f p g a 实现作为用户逻 辑集成到s o p cb u i l d e r 系统中; ( 3 ) 为解决注入错误比特所引起的错误扩散问题,提出一种基于奇偶校验 码的低成本检错方法,该方法能够检测出a e s 轮变换中存在的单个或 奇数个注入错误比特,而且其占用的硬件资源比文献【3 5 所提出的方 法少。该方法的实现与a e s 加解密并发进行,不会影响到a e s 加解 密的执行。 关键词:可编程片上系统n i o s l i 处理器高级加密标准 并发错误检测 v 上海大学硕士学位论文 a b s t r a c t w i t ht h ea r r i v a lo fi n f o r m a t i o na g e ,i n f o r m a t i o nt e c h n o l o g yi sd e v e l o p i n ga tf u l l s p e e di nt h ew h o l ew o r l d t h ea p p f i c a t i o na n dd e v e l o p m e n to fc o m p u t e rt e c h n o l o g y h a sc h a n g e dal o tt h ep a t t e r no fc o m p a n y p r o d u c t i o n ,l i f es t y l ea n dc o n c e p to fp e o p l e i th a sp u s h e df o r w a r dt h ea d v a n c ea n dd e v e l o p m e n to f h u m a ns o c i e t ya n dc i v i l i z a t i o n h o w e v e r , w h i l ep e o p l ea r ee n j o y i n ge n o r m o u sb e n e f i tf r o mi n f o r m a t i o ns y s t e m , t h e yh a v et of a c ei n f o r m a t i o ns a f e t yc h a l l e n g et o o i n f o r m a t i o ns e c u r i t yn o to n l y c o n c e r n sp e r s o n a ls e c r e t s ,b u ta l s oe v e nc o n c e r n ss e c u r i t ya n di n t e r e s t so f t h ec o u n t r y , s oe n s u r i n gt h es e c u r i t yo ft h ei n f o r m a t i o ns y s t e mh a sb e e np a i dm o r ea n dm o r e a t t e n t i o na sa ni m p o r t a n tt o p i c h a r dd i s ke n c r y p t i n g d e c r y p t i n gr e s e a r c hi sm a d et oe n s u r et h es a f e t yo f i n f o r m a t i o ns t o r e di nt h eh a r dd i s k u s i n gs o p cb u i l d e ra s d e s i g np l a t f o r m , c o o p e r a t i o nd e s i g nb e t w e e nh a r d w a r ea n ds o f t w a r ei sm a d e o nt h eo n eh a n d ,t h i s m e t h o dc a ns h o r t e nt h ec y c l et i m eo fd e s i g n i n g ,a c h i e v i n gah i g he f f i c i e n c y , o nt h e a n o t h e r , a c c o r d i n gt ot h ec h a r a c t e r i s t i ca n dd e s i g nr e s t r i c t so ft h es y s t e m sa l l c o m p o n e n t s ,e i t h e rh a r d w a r ei m p l e m e n t a t i o no rs o r w a r ei m p l e m e n t a t i o ni sc h o s e nt o o b t a i na no p t i m i z e ds c h e m ew i t hh i 曲p e r f o r m a n c ea n dl o wc o s t n i o s i ip r o c e s s o ri sa 1 6 3 2 - b i t ss o f t c o r e1 l i s cp r o c e s s o rb a s e do nf p g a n i o s l ip r o c e s s o rb e l o n g st o h a r v a r da r c h i t e c t u r e u s e rl o g i cc a nb ee m b e d d e di n t ot h i sc o n f i g u r a b l ep r o e e s s o n b a s e do ns o p cb u i l d e r , r e s e a r c hw o r kb e l o wi sm a d e : ( 1 ) o nt h ef o u n d a t i o no ft h e o r e t i c a lr e s e a r c h ,ip r o p o s e dt h ed e s i g no fh a r d d i s ke n c r y p t i n g d e c r y p t i n gs y s t e ma saw h o l e ,a n ds y s t e ms e c u r i t yi s d e m o n s t r a t e db ya l la s p e c t s ; ( 2 ) a f t e rt h o r o u g hi n v e s t i g a t i o ni n t oa e s ,a e sa l g o r i t h mi si m p l e m e n t e db y f p g a ,a n do p t i m i z a t i o na r em a d et oa e sr o u n dt r a n s f o r m a t i o n f p g a i m p l e m e n t a t i o no f a e s i si n t e g r a t e di n t os o p cb u i l d e ra su s e rl o g i c ; ( 3 ) t od e t e c t f a u l td i s p e r s i o nc a u s e db ye r r o rb i t si n j e c t i o n ,al o w - c o s t c o n c u r r e n te r r o rd e t e c t i o nm e t h o db a s e do np a r i t yc o d ei sa d v a n c e d t h i s 上鸯天学硕士学位论文 m e t h o dc a r l _ d e t e c ts i n g l eo ro d de r r o rb i t si n j e c t e di n t oa e sr o u n d t r a n s f o r m a t i o n ,a n di t t a k e sl e s s e r l o g i ce l e m e n t st h a nt h em e t h o d a d v a n c e di nt h ep a p e r 3 5 t h ef p g ai m p l e m e n t a t i o no ft h i sm e t h o di s s y n c h r o n i z e dt oa e se n c r y p t i o n l d e c r y p t i o n ,w i t h o u ta f f e c t i n gt h e e x e c u t i o no f a e s k e y w o r d s : s o p cb u i l d e rn i o s l ip r o c e s s o ra e sc e d v i i 上海大学硕士学位论文 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:m日 期:赵型! :鱼:! 兰 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即:学 校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校可 以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 签名:芷娅导师签名七同名;j ,、日期矽姒2 z 1 1 上海大学硕士学位论文 1 1 课题来源 第一章绪论帚一早三百下匕 本课题主要来源于两个方面:一是上海市信息办的信息化基金资助项目“数 字音视频终端接收方法的研究”,项目编号:沪c x 2 0 0 2 0 0 1 7 ;二是作者本人跟 随导师参与的工程项目:上海大学新校区视频图像实时传输与控制系统后期项 目。 1 2 1 2 1 问题的提出及目前国内外的研究现状 问题的提出 由于现代社会中个人电脑的普及,计算机已经成为人们工作、生活、学习不 可缺少的重要工具,而硬盘作为计算机中主要的外部存储器通常存储着用户的大 量的数据和资料。数据中有很多涉及到个人隐私、商业机密等,这些数据往往需 要严格保密。但是硬盘本身并没有提供任何保护用户数据安全的措施,如果硬盘 被他人窃取就很容易导致用户的秘密被泄漏,造成无法挽回的损失。有鉴于此, 本课题提出对硬盘所存储数据进行实时加解密的方法。 1 2 2硬盘加密技术的研究现状 目前国内外对硬盘进行加解密的方法主要有软件加解密和硬件加解密两种: ( 1 ) 软件加解密方法: 当前有很多软件可以对硬盘上的数据进行加密和解密。其一般的原理是通过 在操作系统中运行某种加密软件完成对数据的加密解密工作。软件加解密的方法 一般比较简单,实现起来比较经济。适合于用户加解密自己一般的隐私和资料, 但是软件加解密本身固有的不足使其难以应用到需要高级保密和大数据量加解 密的企业以及军事机构中: 软件加解密一般采用用户名加口令的方式确认身份识别,一般用户名和密码 上海大学硕士学位论文 都不是很长,容易被猜测到或者被暴力破解。同时,软件加解密时,用户的 密钥或密码是以明文的方式输入到加密软件中去,很容易受到木马程序的监 控或者其他人的偷窃。所以软件加解密虽然方便简单但是安全性差,加密文 件容易被破解,不适合于保密要求比较高的应用场合; 软件加解密所有的执行过程都是通过c p u 运行指令来完成的。由于每一个 指令的运行都要占用c p u 的处理时问,用软件加解密大宗文件时将会严重 占用系统资源,直接导致系统资源紧张,影响工作效率; 软件加解密的速度较慢,尤其是对一些海量数据进行处理时,就会造成硬盘 读写的瓶颈; 加解密软件都是依赖于某种操作系统,这对于系统的移植造成一定困难。 由美国计算机安全研究所( c o m p u t e rs e c u r i t yi n s t i t u t e ) 公布的一项调查结果 表明:1 9 9 9 年5 7 的企业曾经发生过硬盘和笔记本电脑被盗事件。于是,研究 笔记本电脑丢失后如何保护其中的数据,也就成为笔记本电脑厂商和信息安全机 构研究的重点。为防止笔记本电脑被盗,生产商想出了各种办法:提供与普通手 提箱相似的电脑箱:发明了警报系统:设计数据加密程序,使未经授权的使用者 无法看到电脑里的内容等。推出配备指纹安全识别系统的笔记本电脑。用户只需 在感应区按下指纹,便能记录指纹资料,当系统启动并进入w i n d o w s 时,系统 将要求用户提供指纹以供辨识,通过后才可继续操作。但是这些方法的致命弱点 是:一旦盗贼采取暴力破解的方式,将笔记本硬盘取出,立即可用其它电脑读取 该笔记本硬盘中的宝贵数据,导致数据泄密。 鉴于上面这些方法的漏洞,许多笔记本电脑厂商和信息安全公司采用软件加 解密的方式来保护硬盘数据,这在一定程度上保护了硬盘数据。但是软件加解密 的速度较慢,尤其是对一些海量数据进行处理时,就会造成硬盘读写的瓶颈,并 且软件技术本身并不安全,而采用硬件加解密方法则避免了这些问题。 ( 2 ) 硬件加解密的方法 硬件加解密方法很多,包括加密网关、硬盘加密锁以及指纹加密等技术。其 中之一是在硬件系统层( 例如主板) 和存储器( 例如硬盘) 之间增加一个硬件微 处理芯片,该芯片能够提供硬件实体层即时加密保护,通过复杂的算法对文件加 以保护,同时硬件加解密由于基于硬件层处理,因此丝毫不会占用系统资源,对 2 上海大学硕士学位论文 系统整体影响微乎其微。另一方面,以软件程序方式出现的加密很容易被读取并 通过修改程序破解,所以公认硬件加解密更为可靠,不易破解。同时,这种硬件 加解密不需任何使用界面,加解密过程在硬件层由微处理器完成,操作界面没有 任何改变。另外,芯片级的硬件加解密要比软件加解密效率高,而且可以根据硬 件灵活调整,保证关键资料被锁定在特定计算机中。 硬盘加解密技术已经在各大公司的硬盘产品中得到应用,并逐步推向市场。 2 0 0 5 年4 月,日立、先锋等四家公司已经签约开发和许可用于消费电子产品和 p c 中可移动硬盘的“智能附件安全架构”( s a f i a ) 内容保护技术。s a f i a 技术 集a e s 1 2 8 内容加密算法、基于p k i 的双向认证、安全性很高的安全传输协议 于一体,整合了内容加密密码、安全地存取内容的使用规则、安全的内容传输和 删除功能。 在硬盘巨头希捷推出的新款m o m e n t u s5 4 0 0f d e 笔记本硬盘中,采用了基 于硬件的全磁盘加解密技术( f d e ) ,为数据提供保护。该款硬盘只需要一个用 户钥匙,就能对硬盘上的所有数据提供保护,保护范围不仅仅限于被选定的文件 和分区。f d e 技术将所有安全密钥和解密操作都放在硬盘内,使其与操作系统 分离。传统的软件加密法容易留下后门,使窃贼能够获取密匙,而且更容易受到 病毒的袭击,与之相比,希捷f d e 技术能够更好地保护数据,使其免受黑客的 袭击或篡改。 目前在硬盘加解密芯片和硬盘加解密卡研制方面,国外已经出现了一些相关 的产品。但国内还没有自主知识版权的同类产品,考虑到安全因素,国家有关部 门规定:国外的信息安全产品尤其芯片级安全产品不能直接进入国家涉及机密的 系统和部门中。这些部门包括:军队、政府、国防性质企事业单位、公安、金融、 交通、电信、电力、证券、税务、海事等等关系到国家经济命脉和政府与国防的 要害部门。因此,开发有自主知识版权的硬盘加密芯片并推广和使用,必然会推 动我国信息安全领域的发展,进而带来很大的经济效益。 上海大学硕士学位论文 1 3研究主要内容及目标 1 3 1研究思路及主要内容 本文的设计思路在于:当主机写硬盘时,让数据先通过一个用于加密数据的 电路模块之后,再流入硬盘;当从硬盘输出数据时,加密过的数据需先经过用于 数据解密的电路模块,然后输出。用户可以先以只有自己知晓的密钥,对流入硬 盘数据进行加密,保证数据的安全性;另外,在需要读硬盘时,只要输入正确密 钥就可恢复原有明文数据。本文通过密钥输入完成对用户身份的认证,从而保证 只有正确密钥的用户才能正确读写硬盘。 就具体实现而言,系统采用了“f p g a + n i o s 软核处理器”的解决方案:即 在f p g a 芯片内部设计加解密硬件电路,同时在f p g a 芯片内部加入根据需要定制 的软核处理器,使芯片同时具有通用处理器的功能。在这样的片上嵌入式系统设 计中,f p g a 中设计的加解密电路主要用来完成对数据的实时加密解密,之后 将该功能模块集成至i j s o p cb u i l d e r ,至于系统所用的其他外设可以通过s o p c b u i l d e r 灵活设计和添加,最终组建一个完整的片上嵌入式系统。n i o si i 提供了基 于c c + + 的开发环境,一些处理简单,或处理速度要求不高的任务可以由上层软 件来实现。 根据以上研究思路,本文研究的主要内容为: ( 1 ) 设计系统的接口电路 i d e 接口是当前新型硬盘驱动器普遍采用的一种接口,i d e 接口的结构、协 议、读写属性都有其既定的标准。a l t e r a 公司的集成开发环境s o p cb u i l d e r 提供了 支持t r u e i d e 接口的p 模块,由于该所支持t r u e i d e 接口完全兼容于a t a i d e 接口,将其作为硬盘控制器添j j l l 至l j s o p cb u i l d e r 系统中,并通过s o p cb u i l d e r 进行 软硬件协同设计,从而实现硬盘数据的读写功能。相应的硬盘读写时序条件必须 得到满足,以保证硬盘读写的正常工作。为尽量减小对主机的性自影响,设计的 接口对主机 d e 和硬盘驱动器都是透明的。另外,集成开发环境s o p cb u i l d e r 还 提供了上层软件的支持,通过上层软件的设计来完成硬盘加密系统中数据传输速 度要求较低的控制工作。 4 上海大学硕士学位论文 ( 2 ) 硬盘数据加解密的f p g a 实现 本课题中采用的数据加解密标准是2 0 0 1 年问世的a e s 标准( 高级数据加密标 准) ,该标准较之于以前的d e s 数据加密标准,具有更好的安全性,且利于硬件 实现。根据a e s 算法的实现步骤,结合f p g a 设计的流程,完成a e s 算法的f p g a 实现。设计采用硬件描述语言v e r i l o g 进行设计输入,开发环境是a l t e r a 公司提供 的集成开发环境q u a r t u si i 软件,以及相关的功能仿真、综合软件等。 ( 3 ) 对设计模块进行测试 通过仿真波形、理论计算对设计硬件进行测试。 1 3 2实现目标 最终整个系统将要实现目标是:实时采集用户的指纹信息,对指纹信息进行 分析、生成身份识别代码和用户加密密钥,然后进行用户身份识别,通过身份识 别后,密钥被保存n n 解密模块,同时开始进行3 n 解密工作。在整个加解密工 作期间,对所有流向硬盘的数据进行加密,对流出硬盘的数据进行解密。在整个 操作过程中全部是硬件来完成,所以加密和解密的速度很快能够达到实时加密解 密的目的。同时,系统对于用户和主机来说都是透明的,防止用户的误操作,提 高了系统的稳定性,减少了对系统性能的影响。 1 4论文的创新点 ( 1 ) 系统采用s o p c b u i l d e r 为设计平台,主要的加解密运算及接1 :3 电路完全由 f p g a 完成,使系统具有比软件处理高很多的处理速度,完全能够满足对 大量数据的加解密工作,而对整个主机系统性能没有大的影响。加解密接 口电路作为用户逻辑集成n s o p cb u i l d e r 系统中; ( 2 )系统设计基于f p g a 的软核处理器n i o s l i 来完成对指纹的识别和身份验证工 作,使接口电路和处理器都集成在一块f p g a 芯片上,节约了电路的面积, 同时增强了系统的稳定性;加解密电路以及各控制接口电路都在单块芯片 上完成,提高了f p g a 芯片资源的利用率,节约了成本: ( 3 ) 采用高级加密标准来实现数据加密。在f p g a 实现过程中,利用“资源共 享”的思想,系统中的a e s 3 n 解密算法在同一模块内实现,节约了芯片面 上海犬学硕士学位论文 积,并对a e s n 解密轮变换的各步骤( 包括列混合、字节替换) 进行了优 化实现; ( 4 ) 提出一种基于奇偶校验码的低成本并发检错方法,并从理论上论证其检错 能力:该校验码能够检测出轮变换中注入的单个或奇数个错误比特。由于 该校验码方法为1 2 8 位中间状态或中间密钥附加一位校验码,而不是为中 间状态或中间密钥包含的1 6 字节分别附加一位校验码,因此,其f p g a 实 现的硬件资源消耗较为节约。 1 5本文章节安排 全文共分五章,各章内容安排如下: 第一章介绍了课题开发背景以及硬盘加密技术的国内外研究现状,进而概述 本文的设计思路和章节安排; 第二章概述了论文采用的技术方案和解决思路,基于s o p cb u i d e r 开发环境, 搭建片上嵌入式系统; 第三章的主要内容是a e s 标准提出的背景和实现过程以及a e s 力i 解密的 f p g a 优化实现,并给出仿真结果,证实a e s n 解密接口电路完全可以对硬盘读 写数据进行实时加密或解密: 第四章介绍一种用于a e s 自, 解密的奇偶校验检错码,并分析评估检错码的安 全性;在对这种检错码进行f p g a 实现的基础上,给出该检错码的f p g a j 窆辑资源 消耗、最大内部时钟_ ,纛等性能指标; 第五章是对本论文的总结与展望:总结归纳了论文的主要工作和不足,并探 讨了今后需要进一步开展的研究工作。 上海大学硕士学位论文 第二章系统结构设计及其安全性论证 整个系统主要实现两部分的功能:一是指纹识别、指纹特征的提取、密码生 成、身份验证等功能。这一部分功能涉及到图像处理的多个方面,需要选取一些 复杂的算法才能实现上述功能。同时从整个系统的角度来考虑,对于本模块的实 时性要求并不是很高,所以这一模块适合用软件来实现:另一个功能主要是实时 地对流向硬盘的数据进行加密处理,而对流出硬盘的数据进行实时地解密。这一 功能要求实时对数据进行加解密工作,要求系统有较高的速度以满足实时性要 求,同时要求和i d e 接口的时序以及接口协议都要有良好的配合。因此,对数 据进行加解密采用f p g a 硬件电路来实现,而s o p cb u i l d e r 提供的p 核c o m p a c t f l a s hi n t e r f a c e ( t r u ei d em o d e ) 兼容于a t a i d e 接口标准,完全可以充任i d e 接口的角色。 针对上述情况,我们选用了a l t e r a 公司的大容量f p g a ,及其3 2 位软核c p u 处理器n i o s l i5 1 。把软核处理器、接口电路以及数据加解密模块集成在一块 f p g a 芯片- - - c y c l o n e 系列e p l c 2 0 ”,用一块f p g a 芯片完成上述功能模块的功 能。 2 1s o p cb u i l d e r 及n i o s i i 处理器概述 s o p cb u i l d e r 【2 , 3 1 是用c p u 、存储器接口和外围设备等库组件构成总线系统的 工具,利用用户制定的组件和接口创建( 生成) 系统模块,并在a v a l o n 控制器 和所有系统组件上的从属设备端口之间自动生成互连( 总线) 逻辑。s o p cb u i l d e r 最常用于构造包括c p u 、存储器和i o 设备的嵌入式微处理器系统,也可以生成 不含c p u 的数据流系统。s o p cb u i l d e r 允许用户指定带多个控制器和从属设备 的总线结构,包括仲裁器的总线逻辑在系统构造时自动生成。s o p c b u i l d e r 库组 件可以是很简单的固定逻辑块,也可以是参数化的动态生成的复杂子系统。 s o p cb u i d e r 主要包含以下功能: 夺定义和定制; 夺集成; 夺软件生成; 上海大学硕士学位论文 夺系统验证。 ( 1 ) 定义和定制 s o p cb u i l d e r 是系统定义和组件定制的强大开发工具,使用直观的简化设计 定义、定制和验证的图形用户界面( g u i ) ,用户从可扩展的s o p cb u i l d e r 库中 选择处理器、存储器接口、外围设备、总线桥接器、p 核及其它系统组件,并 用单独的组件向导定制这些组件,例如:设计者在s o p cb u i l d e r 内运行向导向 f p g a 设计中添加n i o s 嵌入式处理器,定制系统的外围设备和存储器接口等。 ( 2 ) 集成 在定义嵌入式系统和配置所有必要的系统组件之后,需要将组件集成到系统 中。s o p cb u i l d e r 自动生成所有集成处理器、外围设备、存储器、总线、仲裁器 和p 核所必要的逻辑,同时创建定制的外围设备v h d l 或v e r i l o gh d l 源代码。 ( 3 ) 软件生成 嵌入式软件设计者需要完整的与定制硬件匹配的软件开发环境,s o p c b u i l d e r 可以自动产生这些软件。当系统生成时,s o p cb u i l d e r 创建软件开发需 要的软件组件,并提供完整的设计环境,软件开发环境包括下列内容: 夺头文件 夺外围设备驱动程序 夺自定义软件库 夺o s r t o s ( 实时操作系统) 核 除了使用方便,软件开发环境也在硬件设计和软件设计之间建立良好的设计 连贯性,使用s o p cb u i l d e r ,硬件的改变立即反映在软件开发环境中,软件工程 师在进行软件设计时,可以不必担心硬件发生的改变,只要软件工程师使用最新 的头文件、库和驱动程序,硬件设计便完全透明化。 ( 4 ) 系统验证 s o p cb u i l d e r 提供硬件和软件环境的快速仿真,s o p cb u i l d e r 生成所有 m o d e l s i m 项目文件,包括格式化的总线接口波形和完整的仿真测试平台,编译 软件代码自动加入到存储模型并与其它项目文件一起编译。 通过s o p cb u i l d e r 可以添加n i o s l i 处理器,n i o s l i 处理器【4 】是a l t e r a 公司专 门针对其f p g a 设计的一款高性能的精简指令集软核。在设计应用系统的时候, 上海大学硕士学位论文 只要在s o p cb u i l d e r 开发环境中加载n i o s l i 核和相应的外围接口以及定义相应 的白定义指令和自定义接口,然后对设计进行综合后下载到f p g a 中就可以方便 地设计出一个具有特定功能的嵌入式处理器。这种设计思路增加了系统设计的灵 活性,加快系统运行速度,缩短产品研发和上市时间。 当前可编程逻辑器件的快速发展,器件的成本不断降低,己经有越来越多的 应用领域用到了可编程逻辑器件。这种把处理器软核嵌入f p g a 器件中结合了传 统的m c u + d s p 器件的解决方案并且减少了器件,节约了成本增加系统的稳定 性能。当前基于可编程逻辑器件f p g a 的数字信号处理方案正在成为一种发展的 趋势,给电子设计工程师提供了新的解决思路,也受到越来越多的电子工程师的 重视。本文采用的方法,正是把n i o s l i 软核处理器嵌入f p g a 芯片,然后在采用 专用的硬件电路完成大流量数据的加密解密工作,然后将其集成到s o p c b u i l d e r 系统中,使通用性和专用性得到了完美的结合。 2 2系统总体结构框图 系统总体结构框图如图2 1 所示 己加密 程序存 储器 加解密接口模块膏 i d e 接口 ( 主机) 指纹采集仪 指纹信息 n i o s l i 处理器 c o m ! ! 吼 f l a s h 接口 密钥写入,启动加 ,解密电路工作 芯片e p i c 2 0 图2 1 系统总体结构框图 验证信息 配置嚣件 c p l d 硬盘驱动器 上海大学硕士学位论文 系统上电启动后,f p g a 自动加载存储在配置器件内的配置信息,同时通过 c p l d 和f p g a 产生的伪随机序列进行匹配来保障f p g a 配置信息的安全,防止 被克隆。其具体实现将在系统安全性分析中详细介绍。f p g a 加载后,n i o s i i 处 理器首先开始工作,读取程序存储器中的软件代码,解密后开始执行。n i o s l i 读 取指纹采集仪器采集的指纹信息后经过指纹识别算法的分析提取出指纹特征,与 先前存在的特征信息进行比对,如果比对成功,根据指纹特征信息产生相应的加 密解密密钥,同时把密钥写到加密解密接口模块并且启动模块工作,否则返回 出错信息。 接口模块开始工作后,断开和n i o s l i 的连接。在主机i d e 没有发送或读取 数据的时候,主机和i d e 硬盘通过双向三态缓冲直接连接。当有读写发生时双 向三态缓冲输出保持为高阻态,同时加密解密模块开始工作。由于i d e 发送和 接收数据都是以1 6 位为单元,而a e s 加密解密一次是以1 2 8 位为单位,所以 当主机i d e 向硬盘写数据的时候,分8 次把写入的数据先写到写入数据寄存器 组,然后合成1 2 8 位一组再送到a e s 加密模块进行加密。经过加密的数据由连 接硬盘驱动器口外设c o m p a c tf l a s hi n t e r f a c e 自动写到硬盘上去。 当主机i d e 要读取数据的时候刚好进行了一个相反的过程:先由硬盘驱动 器1 6 位一组读出数据,合成1 2 8 位后送到加密解密模块进行解密,解密后的数 据被送到读出数据寄存器组后被主机i d e 自动取走。 2 3系统各组成部分的设计 2 3 1n i o s i ic p u 原理图 根据总体结构设计要求,n i o s l ic p u 模块的原理图如图2 3 所示。数据输入 端i ( p i o _ f i n g e p r i n t _ i n p u t 3 1 一o ) 用来输入所采集的相关指纹数据,同时预留了输 出数据端口( p i o _ a e s _ k e y 3 1 0 】) 用来传送生成的a e s 加解密密钥。这两个端 口通过调用p i o 口【5 l 加以实现。 考虑到程序存储器的需求空间比较大,除了内部的r o m 和片上存储器外, 还在外部预留了外部r a m 的接口。s r a m ( 静态随机存取存储器) 多用作高速缓冲 存储器,用以提高处理器和存储系统的性能,但其价格昂贵,因此,在设计过程 上海大学硕士学位论文 中选用s d r a m 替代s r a m 。与s r a m 相比,s d r a m 的成本低廉,可以满足较大 容量的存储需求。连接a v a l o n 接口的s d r a i v l 控制器i p p f 设,可用下图2 2 表示。 a i t e r ap p g a 时钟源 p l l l s d r a m 控制核 连接至厂 c o 。n l e l k c k e 名筹j 一。a d 。d r 。e 耐s s r o a v a l o n- + l 控制逻辑l _ 连接 , a d d r b a 辑的 c “ s d r a m c s 删o n 1 w a i ”e q u e s t 从端口 引脚的一 c a s 从端口 接口 一 - a s l r e n d d a t d v a e d q j q m 图2 2 基于a v a l o n 接口的s d r a m 控制器 另外,为方便系统更新,添加用于外接f l a s h 的口外设f 5 ,该外设通过三态桥 与a v a l o n 总线连接。s d r a m 存储的信息,在掉电的情况下,全部丢失,f l a s h 则 不同于s d r a m ,即使在掉电的情况下,它所存储的数据也不会受影响。因此, f l a s h 可被用来存储处理器配置信息和处理器系统的代码数据,包括经过加密的 指纹识别算法软件代码。另外,f l a s h 还用于存储片上嵌入式系统中的f p g a 硬件 设置数据等较为固定的信息。 系统复位后,以f l a s h 的起始地址作为系统启动的引导地址。在引导过程中, 将实现指纹识别功能的软件代码从f l a s h 写入数据读取速度更快的s d r a i v i , n i o s l i 处理器从s d r a m 存储器中取出经过加密的指纹识别软件代码,对其解密并 执行。 s o p c b u i l d e r 所提供的c o m p a c tf l a s h 接口兼容于a t a i d e 接口,通过添加 该口外设实现与硬盘控制器的通信,进而实现读写硬盘中所存储数据的功能。 a e s _ u s e r _ l o g i c 是在q u a r t u s l i5 1 阶1 环境下,通过v e r i l o g 语言嗍设计输入的 a e s 加解密模块,然后再将其作为自定义用户逻辑集成到n i o s l ic p u 中。除输 入端口c l k _ a e s 和r e s e t _ n 映射于a v a l o n 的信号类型外,其他输入输出端e l 的信 号类型被设置为e x p o r t 。该模块接受1 2 8 比特的数据输入和密钥输入,输出1 2 8 位明文。事实上,密钥输入也可以是1 9 2 比特或2 5 6 比特,但考虑到1 2 8 比特的 密钥输入完全可以满足设计的要求以及节省引脚的需要,模块设计为只接受1 2 8 t 海大学硕士学位论文 比特的密钥输入。 c fe n c r y p t 嚣鲁糕 e l k d a t at ot h ea e su s e rl o g i c 2 70 1 c wp l i 口g g 铲 d e c r y p t t ot h ea e su s e rl o g i c - = y _ i 1 2 70 】 i k e y _ i _ t o j h ea e su s e u o g i 叫1 2 7q k i d 口q 瞪 k i dt ot h ea e su s e ri o g i c 1 d 口* 刳7 i d t ot h ea e su s e r ) o g i c k d o n ef r o mt h ea e su s e r1 0 9 i cm 由k d o n c : d a t aof r o mt h ea e su s e r t o g i d l 2 70 1 一a e s _ d a t a _ o 1 2 7 b 】 d o n en o mt h ea e su s e rl o g i cn 川l i t ii j e x t 懵mb u sa d d r e s s 2 10 1 e x tr a m b u sd a t a 1 50 1- 、俯 e x tr a mb u s r e a d n s e l e c tnt ot h ee x tf l a s h二渺 w d t en t o t h ee x t f l a s h _ d e t e c t 口g 斟7 d e t e c tr tt o6 9 ei d ea d d r f r o mt h ei d e 1 0 哦 ”、l d e _ a d d 小0 ( e _ i n l r q 口1 9 雕7i n t r q j o _ t h e _ i d ea t a s e l _ n r o m - 们e j d c “一“口i d ea t a s e l l i o r d y 口。日b # i o r d y _ t o _ t h e _ i d e c 3 一n f m 唧ei d e 10 】 日o _ :3 i d e _ c s _ n 1 d a t ac f t oa n df r o mt h ej d e 1 50 1 。蹭 口i d ed a t a 1 5 【 i o r dn 仃o m t h e i d e 。“” := ) i d e j r r d ,n i o w ri 1f r o mt h el d e。 【m h 。= j 矗i 新i p o w e f l 仟o mt h ei d e鼍粤翌= ii 螅童州魁 r e s e tnc fh o m t h e l d e m f r o m t h e i d e w en 竹0 m 甘1 e i d e 一指纹信息采集 ; l p o _ t o _ t h e _ p i of i n g e r p r i n t _ i n p u t 3 10 】 p i o _ f l n g e r p d n t _ i n p u t 【3 1 a o u tp o r t _ f r o m _ t h ep i o _ a e sk e y 3 10 】 z s _ a d d rf r o m 廿1 e _ s d t a m 1 10 l z s _ b a _ ”o 仙e _ s d t a m 10 l 药g a sn 竹0 m t h es d r a m 三旧 z sc k e _ f r o m _ t h e _ s d r a m z s 岱n f r o m 【h es d r a m z s _ d qt oa n df r o n l _ t h es d r a m 1 5o l z s _ d q m j r o n l _ m e _ s d r a m 10 j z sr a sn f r o mm es d r a m z sw en f r o m 廿1 es d r a m 图2 3n i o s i i c p u 原理图 上述各模块在s o p cb u i l d e r 系统中以a v a l o n 总线9 为核心连接到一起,如 图2 4 所示。 1 2 上海大学硕士学位论文 p i o _ f m g e r p r i n t _ i n p u t 指纹信息采集 二二二二二二 用于连接 s d r a m 的i p 外设 用于 连接 f l a s h 的口 外设 态 桥 输入明文或密文( 来 自主机或硬盘) a v a l o n 总线 v i a e s 输出密文或明 l 加解日文( 送至硬盘 ! ! ! 竺竺! :j 密核 ”或主机) “l 用于连接硬 盘驱动器的 坤外设 图2 4 以a v a l o n 总线为核心的各模块之间连接关系 2 3 2密钥写入接口的设计 现代密码学的基础都是基于算法公开的加密体系,而基于算法公开的加密系 统的安全性完全取决于加密和解密时的密钥。所以只有保障密钥的安全,才能保 障整个系统的安全性。对于本系统来说采用a e s 的加密方案需要1 2 8 位的密钥, 所以我们对图2 1 中由n i o s l i 处理器向接口模块提供密钥的过程进行详细的说明 ( 如图2 5 所示) : 图2 5n i o s l i 密钥写入接口 a e s l v , e y 2 呤3 = 3 2 娄亏 上海大学硕士学位论文 n i o s i i 处理器通过数据总线向密钥输入寄存器组中分别写入密钥。值得注意 的是由于n i o s i i 处理器的数据总线只有3 2 位,而输入密钥却是1 2 8 位,组,所以 设计寄存器组的输入为3 2 位输出为1 2 8 位。a d d r e s s 1 o 初始值为o o ,经解码器 处理后,e q 0 有效,将输入w r i t e d a t a 3 1 o 赋值给输出a e s _ k e y _ i 1 2 7 9 6 。每执 行一次,a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业合作合同之我见范文
- 2025留学美国签订租房合同注意事项
- 诚信经营文明经商承诺书
- 个人挖机出售合同样本
- 招商意向协议书范文
- 二零二五版公章授权委托书
- 商铺买卖协议书范例二零二五年
- 公路路基工程施工合同范例
- 怎么都快乐教学设计第一课时
- 二零二五版股权转让担保合同范例
- 《固体矿产勘查钻孔质量要求》(报批稿)
- 八音的分类教学课件
- 挖掘机的基础知识-挖掘机的结构及特点
- 长江防汛抗旱方案
- 茶叶加工工理论试卷及答案
- 电力行业从业人员技能等级认证考评员理论知识考试题(附答案)
- 《幼儿园健康》课件精1
- 国企统战工作调研报告
- 嫦娥奔月英文版简短50字
- Python语言程序设计 课件全套 清华 第1-12章 计算机科学基础 - 其他常用库介绍
- 蔬菜大棚钢结构施工组织设计
评论
0/150
提交评论