




已阅读5页,还剩62页未读, 继续免费阅读
(计算机应用技术专业论文)fpga配置数据流的安全性研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
呤尔滨工程大学硕士学位论文 ;茹篇;茹;ii i i ii i i i i i i i i i ;茹 摘要 由予利用f p g a 实现系统设计比传统的基于专用集成电路的设计实现速 度快、成本低,对于基于f p g a 设计的安全性和知识产权保护问题的研究越来 越受到广泛的关注。本文主要研究基于s r a m 的f p g a 设计的安全和知识产权 保护技术,设计能有效保护配置数据流安全i 翰f p g a 结构。 本文首先研究对只含一伞配置数据流文件韵f p g a 系统加以保护的安全 f p g a 结构。与通用f p g a 相比,安全f p g a 结构嵌入一个解密机制,即解 密器模块和密钥存储器模块。在此安全结构上,进一步对包含多个配置数据 流文件的动态重构系统的安全进行研究。根据基于s r a m 的f p g a 支持部分 重构、动态重构和自重构的特性,本文提出了有效保护动态重构系统的配置 数据流安全的f p g a 结构。该安全体系结构使用嵌入式微处理器控制自重构, 使用有限状态机来判断配置数据流是否加密,使用安全算法的i p 核生成解密 电路。然后,使用x i l i n x 公司的v i r t e x i ip r o 对所设计的安全f p g a 结构进 行了实验验证。实验表明采用安全自重构平台( s e c u r i t ys e l f - r e c o n f i g u r a t i o n p l a t f o r m ,s s r p ) 结构的f p g a 系统能够有效地防止配置数据流暴露造成的系 统安全隐患和知识产权泄露闽题。 关键词:现场可编程门阵列;设计安全:配置数据流;解密 啥尔滨t 程大学硕士学位论文 篁;嗣i i i i i i i i f i i i i i i i i 篁i ;i ;芷 a b s tr a c t 硼愆m e t h o db a s e do nf p g aw a sf a s t e ra n dl e s sc o s tt h a nt r a d i t i o n a lm e t h o d t h a tb a s e do na s i ct oi m p l e m e n tt h es y s t e md e s i g n ,a n dt h es e c u r i t ya n d p r o t e c t i o no fm i nt h ef p g a - b a s e dd e s i g nh a db e e na t t r a c t e dm u c ha t t e n t i o n n l e t e c h n o l o g yh o wt op r o t e c ti pc o r ei ns r a m - b a s e df p g ad e s i g nw a sd i s c u s s e d , a n dt h es e c u r i t ys t r u c t u r eo ff p g at h a tc o u l dp r o t e c tt h ec o n f i g u r a t i o nb i t s t r e a m e f f e c t i v e l yw a sd e s i g n e di nt h i st h e s i s 。 f i r s t l y ,t h ef p g as y s t e mw i t ho n e c o n f i g u r a t i o n b i t s t r e a mw a sp r o t e c t e db y t h es e c u r i t ys t r u c t u r e a n dt h es t r u c t u r ew a se m b e d d e di nad e c r y p t i o nm e c h a n i s m , w h i c hw a sc o m p o s e db yd e c r y p t i o nm o d u l ea n dk e ym e m o r ym o d u l e ,c o m p a r i n g w i t hg e n e r a lf p g a b a s e do nt h i ss e c u r i t ys t r u c t u r e ,t h ed y n a m i cr e c o n f i g u r a t i o n s y s t e mw i t hm u l t i c o n f i g u r a t i o n b i t s t r e a m sw a sf u r t h e ri n v e s t i g a t e d i nv i e wo f t h ep a r t i a lr e c o n f i g u r a t i o n ,d y n a m i cr e c o n f i g u r a t i o na n ds e l f - r e c o n f i g u r a t i o nt h a t s u p p o r t e db ys r a m - b a s e df p g a ,m o r ee f f e c t i v es e c u r i t ys t r u c t u r eo ff p g a w h i c hc o u l dp r o t e c tc o n f i g u r a t i o nb i t s t r e a mo fd y n a m i cr e c o n f i g u r a t i o nw a sm a d e 。 t h ee m b e d d e d m i c r o p r o c e s s o rw a s u s e dt oc o n t r o lr e c o n f i g u r a t i o ni nt h es e c u r i t y s t r u c t u r e ,t h ef s m ( f i n i t es t a t em a c h i n e ) w a su s e dt od e t e r m i n ew h e t h e rt h e c u r r e n tc o n f i g u r a t i o nb i t s t r e a mw a se n c r y p t e d ,a n dt h ei pc o r em a d eb yt h e s e c u r i t ya l g o r i t h mw a su s e dt og e n e r a t et h ec i r c u i to fd e c r y p t i o n t h e n ,t h ed e s i g n o fs e c u r i t ys t r u c t u r ew a se x a m i n e do nv i r t e x i ip r oo fx i l i n xc o m p a n y t h e r e s u l ts h o w e dt h a tt h ef p g as y s t e mw i t hs s 脞( s e c u r i t ys e l f - r e c o n f i g u r a t i o n p l a t f o r m ) s t r u c t u r ec o u l de f f e c t i v e l yp r e v e n tt h es y s t e mf r o ms e c u r i t yr i s k so f s y s t e ma n di pd i s c l o s u r ew h i c hw a sm a d eb ye x p o s u r eo fc o n f i g u r a t i o nb i t s t r e a m 。 k e y w o r d s :f p g a ;d e s i g ns e c u r i t y ;c o n f i g u r a t i o nb i t s t r e a m ;d e c r y p t i o n i l 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下, 由作者本人独立完成的。有关观点、方法、数据和文献的引用 已在文中指出,并与参考文献相对应。除了文中已注明引用的 内容外,本论文不包换任何其它个人或者集体已经公开发表的 作品成果。对本文的研究做出重要贡献的个人和集体,均已在 文中以明确的方式注明。本人完全意识到本声明的法律结果由 本人承担口 , 作者( 签字) : 日期:w 呕年 啥尔演下程大学硕士学位论文 1 1 课题背景 第 章绪论 皇1 9 8 5 年第一片现场霹编程f - 阵列( f p g a ) 的阅世以来,f p g a 在电子 工业中得到了旦渐广泛的应用。随着设计规模的上丹和器件价格的下降,设 计成本在系统实现中所占比重越来越大。f p g a 设计中有两种独特的设计安全 性需求【1 】: 第一种是设计内容或知识产权( i n t e l l e c t u a lp r o p e 啊,i p ) 的安全,设计 人员需要保护f p g a 的配置数据流,以防止设计被克隆或逆向工程; 第二种是数据安全,设计人员需要防止经由f p g a 出入的数据被拷贝、 毁坏或干扰。 本文将致力于勰决第一种安全需求。近年来设计内容或l p 剽窃愈演愈 烈,现已成为巨大经济损失的原因。国际反伪造联合会( i n t e m a t i o n a la n t i c o u n t e r f e i t i n gc o a l i t i o n ) 最近的报告指出,中国集成电路版权产业及其衍生商 业的营业额总和超出4 3 3 亿美元,占国民生产总值的3 6 8 。该组织估计, 由于全球范围内的版权、商标和商业秘密侵权行为,2 0 0 6 年中国公司损失的 金额达2 0 0 亿美元【2 】。所以,为了防止剽窃所带来的损失,基于s r a m 的f p g a 设计的安全保护势必成为设计者的迫切需求。针对f p g a 建立相应的安全机 制,让窃取设计内容器p 配置数据流成为几乎不可能,是设计人员的愿望也是 研发人员的最终强标。 与其他工艺i 豫f p g a 相比,占支配地位的基予s r a m 的f p g a 设计所存在 的安全问题更值得关注。基于s r a m 的f p g a 利用非挥发性引导p r o m 将配置 数据流发送到f p g a ,这种无保护的p r o m 会将配置数据流完全暴露给攻击 者,这样攻击者就能很容易地将设计内容复制出来。这就导致基于s r a m 的 f p g a 设计的内容或i p 存在克隆、逆向工程和篡改等安全风险1 3 j 。目前,针对 基于s r a m 的f p g a 所存在的这三种安全问题有以下几种解决方案: 第一种是使用后备电池保存数据,配置数据流在产品生产时器| 】被载入芯 除尔滨工程大学硕士学位论文 ii|i i i i ii i i i 片,当系统处予关机状态时f p g a 的配置信息就由电池供电,使之不消失。 但是一垦配置信息丢失或损坏,产品就必须送回厂商进行维修,另外,额外 的电池也增加了基于s r a m 的f p g a 的成本1 4 j 。 第二种是在运行设计之前检测序列码,如果序列码不对的话f p g a 就自 动删除电路。该方法从安全和设计角度看是不实用的:首先,芯片的序列码 很容易被复制;然后,每块板子都需要不同的配置;最后序列码的管理增加 了复杂性。 这两种方案从安全、设计和开发成本等的角度看,都存在各自的缺点, 不能全方位的满足使用者的要求。本文将针对基于s r a m 的f p g a 设计的安全 性问题进行研究,提溅加密配置数据流的方案来保护设计内容和l p ,并设计 相应的安全f p g a 体系结构。 1 2 国内外发展现状 1 。2 。1 国外研究现状 国外学术界早在9 0 年代就开始致力于f p g a 安全性的研究,提出了很多 种保护配置数据流安全的方案。 美国研究员c h a r l e sr e r i c k s o n 从19 9 9 年开始一直致力于可编程逻辑器 件的安全性研究。其安全系统的设计步骤为:将存储设备中加密的配置数据 传送到p l d 中;然后解密被加密过的配置数据,在p 毛d 中生成配置数据的 一个副本;最后利用此副本对p l d 进行配置1 5 j 。 e r i c k s o n 提出的安全保护方法是从保护设计内容出发,真正保护了f p g a 的安全。但是,该安全方法是对整个配置数据流进行加密,并不是只对用于 配置电路的数据包进行加密,这样就增加了解密的时间开销;根据配置数据 流的格式和对称加密算法的特点,如果对整个配置数据流加密,攻击者可以 根据截获的密文而推算出密钥,从而解密整个配置信息。 美国a l g o t r o n i x 研究机构的t o mk e a n 主要研究f p g a 的安全配置,并 设计出一种配置数据流安全的系统。此系统的两个主要特点是:第一由生产 2 晗尔溪t 臻大学硕士学位论文 i ii i 商直接用激光来烧制密钥,用户也不知道密钥;第二在f p g a 内部包含加密。 电路和解密电路,所以不需要软件的会入,即加密配置数据流不使用c a d 工具,丽是在f p g a 上完成。原始配置数据流通过j t a g 口下载到f p g a 的 加密电路,加密完成之后再通过配置电路传送回e p r o m 。配置f p g a 时, 将加密的配置数据流从e p r o m 送入f p g a 的解密电路。解密完后,用原始 配置数据流对f p g a 进行配置1 6 j 。 这种方法有三大缺点:第一由于加密电路和解密电路都在f p g a 中,所 以占用面积大,使得用户可蔫资源减少;第二缺少灵活性,因为加解密算法 都已固定在f p g a 中,不能进行升级或者使用别的安全算法;第三芯片生产 后,不能更改密钥。 西班牙r e yj u a nc a r l o s 大学的j c a s t i l l o 和e h u e r t a 对基于s r a m 的 f p g a 中i p 核下载的安全进行了研究。他们建立了一个快速的安全下载i p 核的原型平台。该平台是基于开放源代码微处理器的这一优点,来实现软硬 件的安全下载。此平台包括数字签名机制、对称加密和哈希函数来提高安全 性既 该平台主要是从使用者是否合法的角度来考虑f p g a 的安全,焉并不是 从防止攻击者截获设计的配置数据的角度考虑。如果攻击者的露的只是为了 获取设计内容恧并菲要使用该设计时,此平台就没有达到保护f p g a 安全的 晷的。 由法国里昂大学的g u yg o g n i a t 和美国马萨诸塞大学阿默斯特分校的 w a y n eb u r l e s o n 教授在前种方法的基础上联合提出一种新的保护f p g a 安全 性的方案,但还没有真正在平台上实现。该安全机制将重构系统的多个配置 数据流文件和解密电路的配置数据流文件存放在p r o m 中。在真正配置之前, 先将解密电路的配置数据流送入f p g a 中;然后将系统的配置数据流下载到 f p g a 肉,用下载的解密电路对系统的配置数据流解密;解密完成之后,移除 相疲的解密电路来释放资源。并且它在姆,g a 终部使用了一个专用配置控制 器,在它的控制下,可以完成安全的动态配置阎。 该安全机制最大的缺点就是复杂度高,因为它使用外挂配置控制器来对 部分可重构和动态自重构进行管理。同时,多数f p g a 生产商没有相应的技术 和c a d 工具,所以这种机制只能在理论上实现。 3 晗尔滨工程大学硕士学位论文 综上所述,国钋对f p o a 的安全性研究已经深入到设计内容本身,这点 远远领先于国内的研究。剩用安全加密算法对配置数据流加密,可以在更高 程度上保护f p g a 的安全。但是,它们存在一个共同的缺点那就是没有同时 达到提高安全算法的灵活性和降低设计的复杂性这两个目的。 1 2 2 国内研究现状 复量大学专用集成电路与系统国家重点实验室于2 0 0 7 年提出一种安全可 靠性高的保护f p g a 设计的方法。它是基于3 d e s ) j i 篇密双方认证系统的保护 方法,主要用于保护设计者的l p 核电路。在配置好的f p g a 中,通过l p 核夕 附 加的内部保护电路和外部验证设备之间的互相通信认证,确认使用者的合法 性,可有效防止i p 核配置至i j f p g a 过程中的非法盗取【9 1 。 该方法虽然易于设计和使用简单,但是由于其外部验证设备的存在,它 不能保护其他类型f p g a 的安全,这就限制其应用范围;该方法只是确认使用 者的合法性,而没有考虑到获取设计内容的攻击者。如果攻击者的目的只是 为了获取设计内容而并非要使用时,此方案就没有安全性可言。 清华大学电子工程系微波与数字通信的重点实验室于2 0 0 6 年提出一种利 用异步采样宅路提高基于s r a m 的f p g a 设计安全性的方法。本方案借助了跳 频的理念,主要通过在f p g a 和c p l d 中添加题个完全相同的密钥选择状态机 来保护f p g a 的安全。状态机根据异步采样电路输出的随机序列进行跳转,其 跳转规则可以自定义。该系统的密钥表中存放有8 个3 2 位长的密钥,密钥状态 机共有8 个状态,记为状态0 7 ,每个状态分别对应一个密钥,记为密钥o 7 t 1 0 l 。 但是,就目前的计算机性能而言,3 2 位长的密钥已经很容易被攻破。该 系统并未对配置数据流加以保护,因此攻击者仍可以截获到配置数据流来复 制出设计内容。 西南石油学院的陈利学教授予2 0 0 5 年提出一糟利用c p l d 实现安全可靠 的f p g a 加密设计的方法。该方法是在f p g a 外挂一个伪随机码发生器,系统 加电时利用c p l d 对s r a m 的f p g a 进行配置。配置完成后,再使f p g a 内部关 键功能模块的使能端无效,此时f p g a 将采集个随机数作内置伪随机码发生 4 埝尔滨下翟大学硕士学位论文 器的种子发送给c p l d 。c p l d 也有同样一个伪随机码发生器,将c p l d 送来 的伪随机序列与f p g a 内产生的序列做比较,如果一致则使f p g a 的使能端 有效,并开始正常工作。否则禁止系统工作【l 。 该方法首先对f p g a 进行配置,配置完成后才考虑安全性。但当配置数据 流在c p l d 与f p g a 之间传送时,就没有任何的保护措施。这样攻击者可以对 传送过程进行监控来获取配置信息,因此安全性并没有得到真正的解决。 1 3 本文的工作 本文的工作是针对基于s r a m 熬f p g a 所存在的设计安全性闽题,提线 保护设计的配置数据流安全的体系结构。 第一步基于圈前s r a m 的f p g a 设计所存在的安全风险,例如克隆、逆 向工程等,要成功防御这些攻击就必须从根本的保护配置数据流着手,要保 护配置数据流就必须研究配置数据流的结构。 第二步对配鬣数据流结构的分析得出,使用加密算法对其加密时最好采 用部分加密,即只需对配置数据流中的数据帧部分进行加密。 第三步完成对单配置数据流文件的系统加以保护的安全f p g a 结构的研 究,该安全结构的关键就是解密机制的设计。解密机制主要包括鼹个模块: 解密器和密钥存储器。但是,由于安全f p g a 只支持对单配置数据流文件的 系统进行保护,所以本文将进步考虑对有多个配置数据流文件的动态重构 系统的安全保护。 第四步结合x i l i n x 公司的v i r t e x i ip r of p g a 支持自重构的特性,进一步 提出了对动态重构系统的多个配置数据流的安全进行保护的体系结构即 s s r p 结构。s s r p 结构由s r p 和安全配置两部分组成,其中s r p 主要是嵌 入式微处理器、接口电路和一些辅助外溷部件,安全配置主要包括判断配置 数据流是否加密的电路和a e s 算法的解密电路。 第五步利用x i l i n x 公司的c a d 王具和第三方仿真软件来对s s r p 结构进 行仿真综合,并分析相关的报告文档来得出实验结果。 嗡尔滨芝耩大学颈学位论文 1 4 本文的组织 本文共分5 章,组织如下: 第l 章首先介绥本课题的背景、罄豹和意义;然鹾对冒悫外的f p g a 安 全性阕题鹃研究状况进行综述;最焉提遗本文的主要工作内容。 第2 章首先介绍动态鋈构的相关理论,为s s r p 结构的提出提供理论支 撵;然嚣撮攥设计对安全算法熬要求,选用a e s 算法对配置数撼流进行加密, 并进行相关的理论介绍;最后根据研究目标和实验条件,选择v i a e x i ip r o f p g a 实验平台,并对该平台的结构和配置流程进行分析。 第3 章提出基于s r a m 的f p g a 设计安全的体系结构。其中,单配置数 据流的僳护结构可以保证只含一个配置数据流文件酌普通系统的安全。在此 结构之上提出了s s r p 结构,可以僳护含多个配黉数据流文件的动态重橡系 统豹安全。 第4 章主要介绍s s r p 结构鹃设计实现过程。对微处理器按、总线、i c a p 和外围部件等硬件结构进行设计,另外介绍s s r p 结构中安全配置部分的实 现,郄加密判断电路瓣实现和解密毫路中a e s 算法辨核麴实现。 第_ 5 章对s s r p 结构进行综合、仿真与验证,并对得出的实验数据进行 分析,证明设计的稳定性和正确性。 6 洽尔滨工程大学矮士学位论文 焉喾;蒜喾;蕾一, , , i , i i , i im ,i m l i i i t l l i l l i 1 - - i i 1 第2 章基于f p g a 的动态重构及加密技术 2 。 动态重构的理论研究 2 , 。 动态重构技术 重构技术分为静态熏构技术翻动态重构技术:静态可鬟构技术是指 f p g a 逻辑功麓的静态重灏配置,鄹通过徽控割器控捌f p g a 配置不丽逻辑 功能的配置数据流,实现芯片逻辑功能的改变;动态研重构技术通过微控制 器控制f p g a 局部配置不同逻辑功缝的配置数据流,或者在系统运行过程中 在不切断f p g a 的运行状态的前提下完成f p g a 的局部配置,或者重新酉己置 爽现系统的动态可重构引。 单配置数据流文件的w 重构系统通常其有静态重构的特性,而动态重构 系统往往基于多配置数据流文件。设计动态重构系统时,设计者需要考虑一 个重要戮素羹构时隙。即在数据重新配鬣时,f p g a 的i 0 管脚对外呈 高隰状态,重薪配置结束麓,才恢复对外的逻辑功能,这时澜闼隰称为重 构时隙。对予常规的基于s r a m 工艺的f p g a ,箕芯片逻辑功艇数据重新配 置大约需要几十毫秒l l 引。 动态重构由于其实现方式比较复杂,还在进一步麴研究过程中。毽是, 基于s r a m 的f p g a 的动态重构的研究和应用已经成为国际学术界的研究热 点,并盛利用动态熏构的特性已经撵遗了设计,所以基予动态重构特靛的设 计会逐渐增多,那么对其设计的安全保护也将成为学术界和工业界必需考虑 的闯题。褥在对基于s r a m 的f p g a 设计安全保护的体系结构时,必须满足 重构时隙酌要求。 2 。 。2 基于模块的动态重构技术 羁蓠有焉耪动态部分重构鲢模式:基于差异的重构帮基于模块效薰稳。 7 哈尔溟工程大学硕士学位论文 ;i i i i i ; 其中,基于差异的动态部分重构是相对较底层的,利用x i l i n x 的f p g ae d i t o r 可以修改f p g a 内部多种配置信息,比如查找表( l u t ) 、块内存( b l o c k m e m o r y ) 内容、妁b 的配置信息以及各种选择器等。由于是人工对配置信息 进行修改,这种模式只适合不太复杂的电路设计,同时也很容易发生配置错 误,甚至导致电路的损坏u 引。 由予本文是利用加密配置数据流来保护f p g a 的安全性,而基于差异的 动态部分重构又是针对配簧数据流进行修改而完成的。所以,本文主要针对 基于模块的动态部分重构模式来分析动态重构的安全性。 基于模块化的设计流程是把整个电路先分成不同模块,然后对每一个电 路模块用h d l 描述电路,通过综合、映射、布局和布线的流程生成配置信息。 在整个电路中,有些模块是固定的,有些是在运行过程中被动态配置的。其 具体的设计和实现流程可分为如下十个步骤【14 】: ( 1 ) 设计输入与综合:按照x i l i n x 模块设计流程的要求输入和综合 h d l 代码,包括顶层模块和子模块设计; ( 2 ) 初始预算:指构思平面布局,完成对顶层模块和每个子模块的时 序约束,顶层约束包括对整个设计的全局区域约束,对每个子模 块的规模和区域的约束、对每个模块的输入,输出约束和对整个设 计的时序约束等内容; ( 3 ) 子模块的激活实现:对每个子模块进行激活实现( n g d b u i l d 、 m a p 和p a r 等工具实现) ,对每个子模块内部的逻辑进行单独约 _ - _ h 柬; ( 4 ) 合并实现:将顶层设计与已激活实现的模块合并,形成一个完整 的设计; ( 5 ) 验证:包括静态时序分析和功能仿真; ( 6 ) 检查设计:用f p g ae d i t o r t 具检查布线跨越模块的边界: ( 7 ) 创建初始上电的配置文件: ( 8 ) 创建重构模块的配置文件; ( 9 ) 加载初始上电的配置文件; ( 1 0 ) 进行部分重构操作。 8 噙尔滨工程大学颈士学位论文 2 2a e s 算法的理论研究 配置数据流文件的加密是在p c 机上通过c a d 工具完成,解密是由f p g a 内的解密电路完成。为了保证加密后配置数据流的不被破解,安全算法的选 择是f p g a 设计安全的关键之一。安全算法必须能够防御目前所有可能的攻 击,同时由于配置数据流是二进制数据,所以本文选用目前最安全的数据加 密算法a e s 算法。 2 2 1 算法的结构 a e s 算法鹩数学基础是有限域g f q 勺上的运算弱。a e s 算法的数据处理 单元是字节,以分组和密钥长度为1 2 8 比特的a e s 算法为倒进行说明。1 2 8 比特的明文分组被分成1 6 个字节。算法孛引入矩阵的概念,a e s 分组的1 6 个字节的向量( p l a i n t e x t ) 按顺序被复制到个4 * 4 的矩阵中,称为状态 ( s t a t e ) ,a e s 的所有变换都是基于状态的变换。初始密钥( 也称种子密钥) 也类似地用一个以字节为元素的矩阵阵列图表示,如图2 1 所示。 圈碉囡蜩一 k 、, 幽缸瓣向薰 、, s l a t e 矩阵 图2 1 矩阵表示 1 2 8 位a e s 变换是由轮函数通过1 0 轮迭代实现的【1 6 】。它的轮函数是由 三个不同的可逆致变换组成的,称为三个层:非线性层、线性混合层、密 钥加层。其中,非线性层是字节替换, 层,而轮密钥加属于密钥加层。其中, 模块运算得蹬。 9 行移位和列混合的过程属于线性混合 轮密钥加所需的密钥要使用密钥扩展 哈尔滨工稃大学硕七学位论文 2 。2 2 算法的工作模式 为了提高算法的抗攻击畿力,分组密码一般工作在某一特定的工 乍模式 下。从硬件实现的角度看这些工作模式有两类,即反馈模式和非反馈模式。 非反馈模式的安全性能较差,但是数据块可以做成流水或并行处理,这样便 可获得更高的吞吐率。而在反馈模式中,各独立数据块只能进行串行处理, 对各个明文数据块进行并行加密是不可能的。因为反馈模式中,对下一个数 据块的处理不能在当前块完成之前进行。 其中,反馈的c b c ( c i p h e rb l o c kc h a i n i n g 。加密块链) 模式能够防止从 具有相同数据的明文产生相同的密文,使得对于敏感信息的加密处理更加安 全,是本文所选用的a e s 算法的运行模式l l ”。在c b c 模式下,每个数据块 的第一个1 2 8 位明文分组在加密前先与一个随机产生昀初始向量进行异或, 然蜃再对该结果进行处理缛到第一个密文分组,该数据块的后续明文分组则 必须先与前个分组的加密结果进行异或运算后再进行加密处理;解密过程 中,第一个密文分组解密后与初始向量进行异或运算得到第一个明文分组, 其他密文分组在解密后则必须与前个密文分组进行异或运算后才能得到正 确的明文。 2 3 设计平台研究 2 3 1 结构分析 本文选用的实验平台是x i l i n x 公司的x u p 开发板,其使用的f p g a 芯 片是v i r t e x i ip r o 。v i r t e x i ip r of p g a 是x i l i n x 公司最新推出的离端f p g a 产品,并继续沿用成熟的v i r t e x - i i 架构。但是无缝嵌入p o w e r p c 4 0 5 硬处理 器i p 核和r o c k e t l o t m 多吉比特收发器使得v i r t e x 。i ip r of p g a 更广泛的应用 于各个领域【l 引。本文的s s r p 结构就是利用嵌入式微处理器来控制完成f p g a 自身对自身的动态配置。 v i r t e x i ip r of p g a 的内部结构主要由p o w e r p c 4 0 5 处理器模块 1 0 哈尔滨 稷犬学硕士学嫩论文 ( p r o c e s s o rb l o c k ) 、r o c k e t i o t m 多吉比特收发器( m u l t i g i g a b i tt r a n s c e i v e r , 麓甜) 、霹配置逻辑块( c l b ) 、用户可编程i 0 块( i o b ) 、b l o c k r a m 、数 字时钟管理模块( d c m ) 、和硬件乘法器( m u l t i p l i e r ) 等组成。其中c l b 用 于实现f p g a 的绝大部分逻辑功能;i o b 用于封装管脚与内部逻辑之间的接 1 2 1 :b l o c k r a m 用子实现f p g a 内部的隧机存取;d c m 用于提供灵活的时钟 管理功能;硬件乘法器用于提高f p g a 内部的数字信号处理能力9 1 。 v i r t e x 1 lp r of p 姒中的p o w e r p c 4 0 5 处理器模块包括i b mp o w e r p c 4 0 5 r i s c 硬核、o c m ( o nc h i pm e m o r y ,片上存储接墨) 控制器、时钟髓测逻 辑和c p u 。f p g a 接墨等部分。针对p o w e r p c 4 0 5 处理器,x i l i n x 公司摊趣了 专餍酶嵌入式开发王具包,使得工程嫦麓够颁剩完成基于p o w e r p c 4 0 5 处理 器内核的s o p c 设计。 v i r t e x - i ip r of p g a 除了有硬核p o w e r p c 外,还支持软核m i c r o b l a z e 律 为嵌入式微处理器。m i c r o b l a z e 是3 2 位微处理器。采用r i s c 指令集,h a r v a r d 体系结构,分离的3 2 位指令昶3 2 位数据总线,以全速执幸亍指令;可以访闯 片内存储器和片外存储器;在v i r t e x 。i i 以上系列芯片实现时使用硬件乘法器, 函此有着眈较高的性能。 2 3 。2 配置过程分析 要保证f p g a 配置数据流的安全性,就必须对配置过程有所了解。下面 将对v i r t e x 。i ip r of p g a 的配置漉程和醚置模式进行详缀讨论。 f p g a 的配置就是将配置数据流下载到配置存储器的过程,关于配置存储 器的内容可以参考文献【2 0 】。其具体的配置过程如下f 2 l : ( 1 ) 初始化 系统上电居,如果f p g a 满足以下条件:b a n k 2 豹i o 输出驱动邀压v 。蹲2 丈予l v ;器件内部麓供电电压v c 。t n ;梵2 5 v ,器律便会叁动遴彳亍初始化。在系统 上电的情况下,通过对p 购g 号| 脚鼗低电子,便可以对f p g a 进行重新配矍。 初始诧过程完成矮,d o n e 信号将会交低。 ( 2 ) 清空配置存储器 在完成初始化过程后,器件会将烈糟信号置低电平,同时开始清空配置 1 l 啥尔滨下穰大学硕七学位论文 存储器。在清空宠配置存储器后, n i t 信号将会重新被置必高电平。用户可 以透过将p r o g 藏i n i t 信号( i n i t 为双囊信号) 置戈低电平,扶藤达到延长清空 配置存穑器昀对间,羧确保存谵器被清空豹辫酶。 ( 3 ) 加载配置数据 配鹫存储器麴清空完成后,器件对配置模式脚m 2 、m 1 、m 0 遴 亍采样, 以确定用何种方式来加载配置数据。 ( 4 ) e r c 错误检查 器件在加载配置数据的同时,会根据一定的算法产生一个c r c 值,这个 值将会和配置文件孛内置t 羚c r c 值避行毖较,如果两者不一致,则说明嬲载 发生错误,疆弓| 脚将会被置淹低电平,热栽过程被中断。此时若要进行重 新配置,只需将p 灼g 置为低毫平即可。 ( 5 ) s t a r t - u p s t a r t - u p 阶段是f p g a 由配置状态过渡到用户状态的过程。在 s 弘r 量u p 完成愚,f p g a 使可实现熏户编程的功麓。 v i r t e x i ip r of p g a 有四种基本的配置模式:b o u n d a r y s c a n 、m a s t e rs e r i a l 翻s l a v es e r i a l 、s e l e c t m 艚。具体的配置模式瞧模式选择雩| 脚m 2 、m 1 、瓣 决定。表2 1 为不同的配置模式所对应的m 2 、m 1 、m 0 ,和相应的数据位宽。 表2 1 种g a 的配饕模式 配置模式m 2 磁l o数据位宽 b o u n d a r y s c a n loll m a s t e rs e r i a l 0 o 0 l s l a v es e r i a lll11 s e l e 痰蹈pll0g ( 1 ) b o u n d a r y s c a n 模式 b o u n d a r y s c a n 模式是个工业赛标准( i e e e1 1 4 9 ,l 或1 5 3 2 的串行编程 模式。来自电缆、微处理器或其它器件的外部逆辑被用来驱动特定的j t a g 弓l 脚:测试数据输入( 仍1 ) 、测试模式选择( t m s ) 和测试时钟( 代k ) 。 融于它的标准化性和可以通过同样的四个j t a g 脚编程f p g a 、c p l d 、 p r o m ,这种模式鼍挈常流行。在这种模式下,每个t c k 栽入一个沈特的数据。 哈尔滨工程大学硪学位论文 ( 2 ) m a s t e rs e r i a l 模式 m a s t e rs e r i a l 模式被x i l i n x 的所有的f p g a 系列的器件所支持,但是除了 x i l i n x 的c p l d 器件。这是f p g a 配置的一个最简单的方法。f p g a 下载来 自串行p r o m 的配置数据。利用f p g a 提供时钟,可以利用驱动配置时钟的 内部振荡器自行下载。f p g a 提供所有的控制逻辑。在该模式下,数据在每 个c c l k 周期被载入一个比特。 ( 3 ) s l a v es e r i a l 模式 像m a s t e rs e r i a l 模式一样,s l a v es e r i a l 模式被x i l i n x 的所有的f p g a 系列 器件所支持,僵是除了x i l i n x 的c p l d 。它利用岁 部的时钟被允许以菊花链方 式配置。在这种模式下,一个外部的时钟、微处理器、另外的f p g a 或下载 电缆是需要的。在该模式下,数据在每个c c l k 周期被载入一个比特。 ( 4 ) s e l e c t m a p 模式 s e l e c t m a p 模式提供了与v i r t e x 配置逻辑之间的一个8 位双向数据总 线接口,既可以被用于配置,也可以被用于回读。一个外部的时钟源、微处 理器、下载电缆或其它的f p g a 是需要的。在这种模式下,每个c c l k 周期载 入一个字节数据。s e l e c t m a p 接口通常被处理器,微控制器或其它诸女i f p g a 或c p l d 的逻辑器件所驱动。动态重构系统的配置应该选用这种配置模式。 2 。4 本章小结 本章首先介绍了动态重构的基本概念以及重构模式。本文选用基于模块 的重构方法来分析f p g a 动态重构的安全性,是由于在动态重构模式中基于 差异的重构只适用于功能简单的电路,如果电路功能比较复杂则差异文件会 非常庞大,使用基予模块的重构会更方便。然后对选用的a e s 安全算法进行 理论介绍,为后续的优化设计作铺垫;最后根据研究茸的对选用的平台作相 关研究为最终的实验仿真提供理论支撑。 啥尔滨下程大学硕士学位论文 第3 章安全体系结构研究 从配置的角度看,通用的基于s r a m 的f p g a 由4 个模块组成:可编程 逻辑、配置存储器、j t a g 口和配置逻辑,其内部组成结构示意图见图3 1 。 闯端口 图3 。l 通用f p g 众的内部结构 可编程逻辑一般融3 部分组成:c l b 、互连线资源和i o b ;配置存储器 用于控制多路选择器、存储l u t ,即存储相应的配置信息和数据,同时控制 输入输出块:j t a g 逻辑通过j t a g 团可以将数据输出到i o 引脚上,还可用 于内部传送信号以测试器件的特定的行为;配置逻辑用于响应来自p r o m 的 配霞数据流,并通过j t a g 逻辑接口来控制对f p g a 的配置。 由图3 1 可知,由于基于s r a m 的f p g a 的配置存储器采用易挥发的 s r a m ,所以利用非挥发性的片外只读存储器将配置数据流传送到f p g a , 这种无保护的只读存储器中存储的f p g a 配置信息很容易被攻击者获得,从 丽窃取设计内容。攻击者可以用三种方式来克隆、逆内工程f 2 4 5 域篡改该结 构中的配置数据流: 第一种是直接攻击存储于p r o m 中的配置数据流: 第二种是当配置数据流在p r o m 与f p g a 之间传输时进行攻击。 由于基于s r a m 的f p g a 设计存在安全风险,本章将从保护配置数据流的角度 来改进通用的f p g a 结构,以便保护设计者的设计内容或i p 。 1 4 哈尔滨下程大学硕士学位论文 i i i l i l t 本文将使用加密配置数据流的方法来保护基于s r a m 的f p g a 设计安全, 这是目前最有效也是最实际的方法。 3 1 配置数据流的结构研究 v i r t e x i ip r o 的配置数据流有着与x i l i n x 的其它所有f p g a 大不相同的 格式,一般的f p g a 用户不需要对配置数据流有比特级的理解。但是本文是 使用加密配置数据流的方法来保护设计内容,所以要求对配置数据流的格式 有深入的了解。 3 。1 1 未加密的配置数据流结构 f p g a 的编程信息都保存在内部的配置存储器中,内部配置存储器又被 分组为“帧( f r a m e ) ”,因此实际写入配置存储器的配鼹数据流部分被称作“数 据帧”。帧的数目和大小随器件的规模不同丽不同。特定器件的配置比特数按 如下公式计算: 配置比特数= 帧数每顿的比特数 那么总配置比特数可以如下计算: 总配置比特数= 配置比特数+ 写配置寄存器的比特数 v i r t e x i ip r of p g a 核心为x c 2 v p 3 0 的帧数为1 , 7 5 6 ,帧长为2 0 6 ( 3 2 位 字) ,配置比特数为l1 , 5 7 5 ,5 5 2 。在实际生成之后要在配置数据流文件的首部 添加了一些了额外的比特数( 如设计源代码的路径等) ,所以总配置比特数为 1 1 , 5 8 9 ,9 2 0 。 配置数据流中除同步字和空闲字外的所有配置数据都被写入内部配置寄 存器。参考文献 2 1 1 给出了l1 个配置寄存器的详细说明,例如寄存器地址、 功能等。配置数据是通过3 2 眈特字的通用总线来处理的,因此所有的命令都 被描述成3 2 比特字。 配置数据流有两种3 2 位数据包:l 型和2 型。l 型数据包被用作寄存器 写,l 型和2 型数据包的组合被用作帧数据写。每个数据包包含两个不同的 部分:包头( h e a d e r ) 和数据( d a t a ) 。如表3 1 所示的1 型数据包头是一个 1 5 略尔滨工程大学硕士学位论文 ;i 蔷;喾;ii ;i i i i i i i i i i i i i i i i i ;| ; 3 2 比特字,它描述的是数据包的类型,是否以读写功能或特定的配置寄存 器地址作为嚣标,以及在蜃续的数据包部分有多少3 2 比特字。l 型数据包部 分霹良包含在从0 到2 , 0 4 7 个3 2 比特数据字的任意位置。 表3 13 2 位包头类型l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中心医院云计算技术在医疗领域应用专题考核
- 2025杭州市临安区部分医疗卫生事业单位招聘35人考前自测高频考点模拟试题附答案详解(完整版)
- 2025广西百色干部学院公开招聘教研人员3人考前自测高频考点模拟试题及答案详解(易错题)
- 2025黑龙江绥化职业技术教育中心“市委书记进校园”引才8人考前自测高频考点模拟试题及答案详解参考
- 2025年甘肃酒泉市玉门市引进急需紧缺人才(第一批)模拟试卷附答案详解
- 2025南方石油勘探开发有限责任公司春季高校毕业生招聘5人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025空军军医大学口腔医院社会招聘(119人)考前自测高频考点模拟试题及答案详解(网校专用)
- 2025年甘肃省中共嘉峪关市委党校(市行政学院)招聘公益性岗位人员模拟试卷及答案详解(考点梳理)
- 重庆市人民医院伽玛刀治疗脑血管病适应证考核
- 大学课件昆虫
- 2025年公共基础知识考试题库(附答案)
- 装饰装修应急预案及突发事件的应急措施
- 畜禽养殖场聘用技术人员合同7篇
- 水务理论知识考试题库及答案
- 2025年工会考试真题题库(附答案)
- GB/T 20863.2-2025起重机分级第2部分:流动式起重机
- 浙江国企招聘2025安邦护卫集团总部及下属单位部分岗位公开招聘16人笔试参考题库附带答案详解
- 仓库安全培训课件
- 小儿鼾症课件
- 国开2025年《人文英语4》综合测试答案
- 算力:新质生产力的核心引擎
评论
0/150
提交评论