(计算机软件与理论专业论文)ekey电子密钥系统仿真环境.pdf_第1页
(计算机软件与理论专业论文)ekey电子密钥系统仿真环境.pdf_第2页
(计算机软件与理论专业论文)ekey电子密钥系统仿真环境.pdf_第3页
(计算机软件与理论专业论文)ekey电子密钥系统仿真环境.pdf_第4页
(计算机软件与理论专业论文)ekey电子密钥系统仿真环境.pdf_第5页
已阅读5页,还剩75页未读, 继续免费阅读

(计算机软件与理论专业论文)ekey电子密钥系统仿真环境.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

e k e y u _ j _ = 晰刨系统仿真环境 摘要 信息安全己成为社会各个领域迫切需要解决的重要问题。利用我国自土研发的电子密钥 ( 硬什软件) 系统是我国需要尽快解决的紧迫任务。本论文结合国家8 6 3 项目“高安全低 能耗专用微处理器的开发l j 麻用”( 课题编号:2 0 0 1 a a l 4 1 0 3 0 ) 设计实现了e - k e yl 乜子密 钥系统的仿真环境来支持软件的开发。在该项目中,取得了如f 的土要成果: 1 深入调研了仿真器及汇编器的设计原理,明确了e - k e y 电子密钥系统仿真环境的没 计需求。针对设计中的关键问题和难点,拟定了相应的解决思路。在此基础之上, 提出了该仿真环境的总体设计方案。 2 对e - k e y 仿真器进行总体设计。基于多线程模式和消息驱动机制确定了各模块对 应线程类的继承体系,以及各线程之间控制信息和数据信息的交互方式。 3 依据总体设计框架,完成了对目标机c p u 、存储器和各种外围模块( 如d e s 、r s a 等) 的具体仿真实现。依据e - k e y 电子密钥系统c p u 的指令集体系结构,设计实现了c p u 的指令级仿真,并按照其他模块的规范说明,分别完成了这些模块的功能实现。 4 对e - k e y 汇编器进行了总体设计。以e - k e y 系统的汇编程序词法、文法规范为输入, 利用现有词法、语法分析工具,自动生成对应的汇编器代码。 5 分别针对仿真器中的r d g 、d e s 、r s a 模块,设计了相应的测试用例,验证了整个仿 真环境的功能正确陛。实验数据说明,该仿真环境能够高教的完成目标程序的功能 仿真,为e - k e y 系统的软件开发提供了有力的支持。 该仿真环境的实现对电子密钥智能卡系统的开发有很大的技术与实用价值,它使电子密 钥系统的软件开发与硬件设计得以同步进行,大大节省了工程开发周期。对于其它的智能卡 系统的开发,该仿真环境的设计有着积极的参考价值。 美键字: 真环境:智能 系统:电子密钥系统;d e s & r s a 加密和解密算法 a b s t r a c t i n f o r m a t i o ns e c u r i t yi sn o wp l a y i n gam o r ea n dm o r ei m p o r t a n tr o l ei ne v e r yf i e l d a n di ti s v e r yu r g e n tf u ro u rc o u n t r yt ou s e s e l f - d e v e l o p e de l e c t r o n i cs e c r e tk e ys y s t e m sc o o p e r a t i n gw i t h t h en a t i o n a l8 6 3p r o j e c t ,t h ed e v e l o p m e n ta n da p p l i c a t i o no ft h eh i g h s a f e t yl o w 。e n e r g y s p e c i f i cm i c r o p r o c e s s o r s ( g r a n tn o 2 0 0 1 a a l 4 1 0 3 0 ) ,w eh a v es u c c e s s f u l l yd e v e l o p e da ne - k e y s i m u l a t i o ne n v i r o n m e n tt os u p p o r tt h es o f t w a r ed e s i g n i nt h i sw o r kw eh a v em a d ea c h i e v e m e n t s a sf u l l o w : 1 w eh a v es t u d i e dt h ed e s i g np r i n c i p l e so ft h es i m u l a t o ra n da s s e m b l e rs u f f i c i e n t l y , a sw e l l a st h es p e c i f i c a t i o no ft h ee k e ys i m u l a t i o ne n v i r o n m e n t w eh a v em a d ec r i t i c a l d e c i s i o n st os o l v et h ek e yp r o b l e m sa n dt h e np r o p o s e dt h ed e s i g ns c h e m a 2 w eh a v ed e s i g n e dt h ef r a m e w o r ko ft h ee k e ys i m u l a t o rb a s e do nm u l t i t h r e a d i n ga n d m e s s a g e - d r i y e nm e c h a n i s m st h ec l a s sd e r i v a t i o na r c h i t e c t u r ea n dt h ei n t e r - t h r e a d c o m m u n i c a t i o nm e t h o d sa r es p e c i f i e d 3 e v e r ym o d u l eo ft h ea b o v ef r a m e w o r ki si m p l e m e n t e di n d i v i d u a l l y f o rc p u m o d u l e ,a n i n s t r u c t i o n - l e v e ls i m u l a t o ri sd e s i g n e da c c o r d i n gt oi t s i n s t r u c t i o n s e ta r c h i t e c t u r e f o r o t h e rm o d u l e s ,w eh a v ed e s i g n e dc o r r e s p o n d i n gf u n c t i o n a ls i m u l a t o r sb a s e do nt h e i r f u n c t i o n a ls p e c i f i c a t i o n s 4 t h ee - k e ya s s e m b l e ri sd e s i g n e d u s i n gt h ef l e xa n db i s o ns p e c i f i c a t i o no ft h ee - k e y p r o g r a m m i n gl a n g u a g ea si n p u t ,t h ea s s e m b l e rc o d ei sa u t o m a t i c a l l yg e n e r a t e db yt h e a v a i l a b l ea n a l y z i n gt o o l s 5w eh a v ed e s i g n e ds o m et y p i c a lt e s tr o u t i n e st ov e r i f yt h eb e h a v i o r a lc o r r e c t n e s so ft h e s i m u l a t o r , w i t hs p e c i a lc o n s i d e r a t i o no fs o m ei m p o r t a n tm o d u l e ss u c ha sr d gd e s ,a n d r s a t h ee x p e r i m e n t a lr e s u l ts h o w st h a tt h et a r g e ts y s t e mh a sb e e ns i m u l a t e dc o r r e c t l y t h ea c h i e v e m e n t si nt l l i sw o r ka r ev a l u a b l ef u rd e s i g no ft h ee l e c t r o n i cs e c r e tk e y & s m a r t c a r ds y s t e m s t h e ya l s op r o v i d et h ef e a s i b i l i t yo ft h e p a r a l l e ls o f t w a r e h a r d v , a r ed e v e l o p m e n to f t h et a r g e ts y s t e m s ,s ot h a tt h et t m ( t i m e t o m a r k e t ) o ft h ep r o d u c tw i l lb es i g n i f i c a n t l y s h o r t e n e dm o r e o v er t h ec r i t i c a lp r i n c i p l e sa n dt e c h n i q u e su s e di nt h i sw o r kc a nb ea p p l i e dt ot h e d e s i g no f o t h e rs i m i l a rs y s t e m s k e yw o r d s :s i m u l a t i o ne n v 打o n m e n t ;s m a r tc a r ds y s t e m ;e l e c t r o n i cs e c r e tk e ys y s t e m ;d e s & r s ae n c r y p ta n dd e c r y p ta l g o r i t h m e - k e y 包子密钢系统仿真环境 1 1 背景 1 1 1 论文背景 第1 章绪言 随着经济平信息技术的高速发展,我国必稗成为一个智能 生产与消费的大国。然而。 由于历史的原因,我们在智能卡相关的技术领域,如智能 专_ l 处理器、智能 体系结构、 智能卡操作系统以及智能夤应用的开发能力等,与国外相比,还是有根大的差距。近年来, 国内芯片制造能力,操作系统开发能力等的提高,为我们缩短这些领域内与国外的差距提供 了良好的基础,特别是,国民经济发震的需要,以及智能卡本身所带来的产业上的市场潜力, 也刺激着国内的众多的科研机构、生产厂家,以及国外的资本和技术的投入。目前,国家 也增加了对智能 研究开发方面的资金注入,以支持我们自己的科研部门、企业单位开发、 生产出具有自我知识产权的智能 体系结构以及智能 操作系统。本项目就是属于国家八六 三计划。 在这些项目中,“u s b e k e y 电子密钥设计”是在国家安全部的支持卜,由北京国芯安 集成电路设计有限公司主持研究、开发的的8 6 3 项目,其目的是:1 ) 设计研制出一种具有 自我知识产权的专用微处理器。其中c p u 采用了栈式结构,并设计焦点聚台的低功耗内总 线结构,同时实现了超标量指令结构与多种寻址方式;2 ) 基于该c p u ,选用一种合理的 计算机体系结构,开发出具有自我知识产权的u s b e k e y 专用微型计算机3 ) 为该专用微 处理计算机开发具有自我知识产权的操作系统,并实现与i s o i e c 7 8 1 6 - 4 标准的兼容。 u s b e k e y 用于终端高安全性身份认证,系统主要是针对智能小区及网上银行、网上证卷交 易等对安全性要求很高的领域的需求,主要完成:身份认证,密钥生成、密钥存储和修改, 身份数据存储,加密解密运算等功能。主要支持葬法:d e s ,3 - d e s ,1 0 2 4 位r s a 。 为保证该项目的运行,该项目相关的软件必须缺一不可,如:片上操作系统( c o s ) , 编译器( c o m p i l e r ) 等等。我们可以将该项目按f 图划分为如下的儿个课题: 圈1 1 u s b e k o y 工程项目分解图 第5 页 e - k e y 电了宙钏系统仿真环境 在上幽中,专f _ | ;jc p u 殴计与仿真器设计儿乎是同步进行。仿真器设计的目,是为了片 上操作系统的没计f :佧能与u s b e k e y 的其他硬件设计相天的i :作能艿行进行,这样,加 快整个【:程的进展速度,确保我们的【:作能按期完成:同时,仿真器的设计l :作也为该项目 的后继项目,如开发基于3 2 位或6 4 位处理器的电子密钥系统,积累经验。仿真器设计好以 后,片上操作系统的设计【作以及基丁该片上操作系统所开发的应用等就可以在该仿真器上 开发。 专h jc p u 殴计、u s b e k e y ( 以f 简称为e k e y ) 微型计算机体系结构设计工作由国芯安 集成电路有限公司硬件开发i 作组负责进行,仿真器殴计由中国科学技术人学计算机系负责 承担。片上操作系统与基丁该片上操作系统上的应用的开发由国芯安集成电路有限公司软件 开发组进行。 1 1 2 智能卡的发展及现状 智能# 也叫c p u 卡。卡内的集成电路包括中央处理器、可编程只读存储器e e p r o m 、 随机存储器r a m 、以及固化在只读存储器r o m 中的苦内操作系统( c h i p o p e m t i n gs y s t e m ) 。 c p u 卡是一种专用微处理计算机,只是没有显示器和键盘,因此c p u 卡称为智能卡。c p u 中数据可分为外部读取和内部处理( 不许外部读取) 部分,以确保卡中数据的安全可靠。 1 9 5 0 年,d i n n e r sc l u b 发行了第一张塑料基片卡。这个时期的卡只能存储名字、数字以 及号码。第一张磁记录卡由国际空运传输协会( i a t a ) 发明。1 9 7 0 年,人们正式提出智能 的概念,并由一个法国人制造出第一张智能卡。此后,智能卡的发展经历了以下两个主要 的阶段: 1 9 7 5 1 9 9 0 年:1 9 7 7 年,m o t o r m a 以及b u l l 公司制造第一张有微处理器芯片的卡。 1 9 8 5 年,法国f r a n c eb a n k 大量采用智能 作为信用卡。 1 9 8 6 年,法国电信采用智能# 。 1 9 9 0 一现在:1 9 9 2 年,丹麦采用智能卡作为全国范围内的预付 。 1 9 9 4 年,德国采用智能卡作为居民健康卡。 随着智能卡的应 ; 变得越来越广泛,美国公共服务局认识到智能卡的实际使用价值,抛 弃磁式 ,成立华盛顿智能 技术中心。而厉,象微软这样的软件巨人加入了智能 开发的 队伍。 国外,随着人们在开放式操作系统平台,如j a v ac a r d t m 、m u l t i o s 、w i n d o w sf o rs m a r t c a r d 取得了重人发展,大大促进了智能g - 应用开发和卡片多应用的发展并且允许动态地 装载、更新或删除卡上的应用并形成了以下的比较成功的系统: 1 j a v ac a r d t m :已成为事实上的行业标准,以j a v a 虚拟机( j v m ) 为基础支持多 应用动态下载。 2 微软智能 视窗( w i n d o w sf o rs m a r tc a r d ) :与微软w i n d o w s 操作系统相结合, 将与电子商务、网络安全有广阔前景。 第6 页 e k e y 电子密钥系统仿真环境 3 m u l t o s :是一个多应用o s ,在卡片有效生命期内,允许动态地装载、更改或删除卡片 上的庸硐。 由丁- 国内的厂家或科研机构起步较晚,开发的力簧还主要集中开发符合p b o c 标准的 银行 上。同国外相关的开发相比,在很多方面还存在不足,作此课题,对积累智能 的研 究与开发方面的技术与经验有重人的意义。 1 1 3 计算机系统仿真的意义与发展 1 1 3 1 计算机系统仿真器及其分类 仿真器是在宿主机器上运行并能模拟目标体系结构机器行为的一种软件系统。它可以解 释并执行目标体系结构机器上可执行的程序,同时记录系统状态及事件,为目标系统的重新 设计提供性能统计参数。由于当今计算机系统日益复杂,且在这些系统上运行的各种各样的 应用程序越来越复杂,这一切使得研究计算机系统及其性能的过程越来越困难,因此计算机系 统仿真技术在计算机体系结构设计和开发,以及操作系统开发中有着越来越广泛的应用 不同的仿真器由于开发和着重点的不同,在速度、用途、仿真目标和仿真程度等方面有 很大差别,所以划分的方式有很多。例如,从仿真的目标上划分,就有单( 多) 处理器仿 真器、内存系统仿真器、c a c h e 仿真器、特定外设仿真器等;从实现技术上划分,有记录 驱动型仿真器和程序驱动型仿真器:从仿真层次上划分有门级仿真器( g a t e l e v e l ) 仿真 器和系统级( s y s t e m l e v e l ) 仿真器等等。 1 门级仿真器:是仿真级别最低的仿真器。它需要并行模拟所有的被仿真对象各部件 的二 作状态,仿真的内容不仅包括逻辑信号而且还包括准确的延迟时间,所以fj 级仿 真器具有仿真准确的优点,1 泛用在数字电路设计中。但是门级仿真器的缺点是运行 速度非常慢。 2系统级仿真器:级别比门级仿真器高,它是从功能上整机仿真计算机体系结构的备个 部件,包括c p u 、m m u 功能以及相关的外设功能。系统级仿真器面向的被仿真程序 主要是应用程序和操作系统,它是通过接管系统调刑( s y s t e m c a l l ) 来实现仿真群序 对外的控制,同时可以向仿真程序发山信号量( s i g n a l ) 以模拟外部中断。一个设计良 好的系统级仿真器可以为计算机体系结构设计和操作系统的开发提供评估参数。系统 级仿真器的缺点是在仿真过程中不能提供足够详细的机器状态。 本文所涉及的仿真器主要是为了确保整个u s b e k e y 工程的按期完成使得该项目中 的c p u 以及专用微处理机的研制与开发可以和建立在该系统上的片上操作系统及其应用同 时进行而研发的。 第7 页 e - k e y 电子密钏系统仿真环境 1 1 3 2 典型的仿真器实例 为满足不同的需求,人们开发了很多的比较成功的仿真器,f 面列出一些典型的实例: 1 s i m o s :美国s t a n f o r d 人学在1 9 9 6 年为了设计分布式的存储结构f l a s h 乖f 美国m i t 计算机系合作设计的一个系统级仿真器。它是在l i n u x 上开发的,此后经众多的使j = j 者 改进完善,目前已成为使用最为广泛的整机仿真器。s i m o s 模拟的计算机系统具有可 重组性,可以根据用户自己的需要配置不同的部件。例如:c p u 可以支持m i p s r 1 0 0 0 r 2 0 0 0 r 3 0 0 0 r 4 0 0 0 ,以及x 8 6 系列等;体系结构可以支持s p a r c 、a l p h a 、s g i 以及x 8 6 系列等:众多的虚拟外设配件。此外,s i m o s 具有仿真级别可变利完善的评 测参数采集等特点。它可以首先在较高的仿真层次上运行。以快速地剑达系统中希望 被考察的部分,然后,切换进入较低的仿真级别继续仿真,以便用户采集评测数据或 者是进行程序调度。s i m o s 实现了三个层次的c p u 仿真器模型: 1 ) e m b r a 可以仿真m i p sr 3 0 0 0 r 4 0 0 0 处理器,包括处理器,c a c h e 和单处理器及c a c h e 相关的多处理器系统。使用d b t ( d y n a m i cb i n a r yt r a n s l a t e ) 技术后,e m b r a 可 达到硬件执行速度3 到9 位的仿真速度。然而它的仿真精度却是三种模型中最低 的。因此,e m b r a 上只适合运行大型和复杂的负载程序,如商业数据库管理系统。 2 ) m i p s y 是n i p sr 3 0 0 0 r 4 0 0 0 处理器的仿真器,完全模拟体系结构,包括t l b 和所 有优先的协处理器指令及存储器。m i p s y 是c 语言实现的,使用简单的取指一 解 码一 执行循环,所以速度比较慢,是硬件的2 0 0 倍。它的优点是可以运行完整的 操作系统,仿真独立的程序,可获取程序的所有系统调用并按要求执行。 3 ) m x s 是下一代动态调度( d y n a m i c a l l ys c h e d u l e d ) 处理器的仿真器,如:m i p sr 1 0 0 0 0 它支持分支预测、预测执行和寄存器重命名等功能,但是速度比前两者慢得多。 s m a o s 整机评估参数收集是利用注解法( a n n o t a t i o n s ) 来实现的。每当仿真器程序在 低层发生了一个事件,它就被赋予一条注解( a n n o m t i o n ) ,该注解又触发相关的t c l 代码 的执行,把这些事件收集到较高的有意义的层次。这种方法的优点是评估参数的惧与仿真过 程分开,排除了干扰。 2 m i n t 是在单处理器宿主机上运行的多处理器系统的快速仿真器。它采用了程序驱动的 方法,利刚构造事件驱动来仿真一个多级别处理器和存储器系统。m i n t 在仿真前首先 从标准的u n i x 上读入m i p sr 3 0 0 0 可执行文件,然后输出多个存储器访问事件队列, 以驱动用户提供的存储器系统仿真器。它直接支持信号量、共享内存和多数的u n i x 系统调用,可以很容易地扩展指令集和解释m i p sr 3 0 0 0 的指令。同时,m i n t 也可以 在s u ns p a r c 机器上运行。 3 s p i m $ 2 0 是w i s c o n s i n - m a d i s o n 火学计算机系设计的一个m i p sr 2 0 0 0 仿真器,可以执 第8 页 e - k e y 电了街钥系统仿真耶境 行为m i p sr 2 0 0 0 r 3 0 0 0 精简指令结构计算机所编写的汇编指令程序它包含有一个执 行这些程序的一个系统软件以及一个简单的调试器,并提供少量的几个操作系统服务 除了以上的儿个仿真器外,其它著名的仿真器还有:a b s sf a u g m e n t a t i o n - b a s e ds p a r c s i m u l a t o r ) 是一个执行驱动的s p a r c 体系结构指令仿真器:s i m l c s 瑞典计算机科学研究 所开发的s p a r cv 8 指令集仿真器。_ ,f = 且对s u n 4 m t m 体系结构进行了仿真;s m a r t 是 以色列r 学院基丁m i n t 开发的具有图形g u i 的仿真器。 1 2e k e y 电子密钥系统仿真器 1 2 1 电子密钥软件设计的同步开发工具一仿真器 计算机软件的设计必须通过在目标机上的实际测试来验证其正确性,并进行调试和修 改。在许多的情况r ,尤其是象u s b e k e y1 二程这样的项目开发过程中,工程开始的前期 阶段,c p u 以及专用的微处理器计算机体系结构还处于开发阶段,因此,基于该专用微处 理机的片上操作系统以及建立于其上的应用的开发就不可能在实际的硬件上进行,而构建一 个完整且准确的仿真器后,则实际上是构建了一个软件调试系统,使得系统软件以及应用软 件的调试开发成为可能。该软件调试系统对系统中所有的实际硬件及外围设备进行仿真,且 提供断点机制,观察手段等功能支持。 参照其他相类似项目,采用仿真器来调试开发中的目标机上的系统软件以及应用程序, 以使得系统软件与硬件设计同步进行,可以节省整个项目的开发周期半年到一年时间与使 用实际的硬件调试系统相比较,软件调试系统还可以提供更好的调试手段与工具。 1 2 _ 2 电子密钥仿真器的设计目标 1 2 2 1 仿真目标 根据不同的使j _ f i 目的,仿真器必颓满足不同的要求。总结多种不同的仿真器和片上操作 系统及其上的应州程序的开发的要求,为了保证该仿真器的实际有效性,它必须满足以下的 儿个目标: 1 仿真级别目标:e k e y 体系结构仿真器是一个系统级的仿真器,该仿真器不必准确地 反映系统设备的细节上的变化,它只需要反映c p u 中的各个寄存器、内存的变化对 系统中的设备,如:r s a ,d e s ,u s b 控制器等,只需要作功能上的模拟。但是,由于在 该仿真器上执行的是片上操作系统以及建立在其上| 勺应用程序f 。开发与调斌。调试的 时间不宜太长,要有比较快的仿真速度。 第9 页 e - k e y 电了= 密钥系统仿真耶境 2 3 4 5 仿真时间目标:e k e y 仿真器中c p u 部件必须能仿真到时序级别,即模拟c p u 在各 个周期的动作。c p u 与外部嫂各除了同步同应c p u 的请求外是异步于c p uj 二作的, 所以不准确仿真外设的时序不影响整机仿真的正确性。时间目标的另一层含义是 e k e y 仿真器必须在有效的时间内调试完片上操作系统以及建立在其上的应h j 程序。 仿真准确性目标:要求仿真器上的执行结果在实际目标机器上是可以重现的。我们不 要求e k e y 仿真器整机状态在任何时刻都与实际机器一致。 可扩展性目标:由于我们的目标机体系结构相对来说比较稳定,模仿实际机器的仿真 器可以不考虑外部设备的可扩充性。 可凋试目标:e k e y 体系结构仿真器的设计e l 的是为了调试目标机上的片上操作系统 以及建立在该操作系统上的应用程序,因此,e k e y 仿真器必须为用户提供良好的图 形用户界面( g u i ) 和以f 的调试功能: 1 )功能强大的文件输入格式: 2 ) 提供观察c p u 、内存、系统中寄存器以及各种外设控制寄存器的窗口。 3 ) 设置或者修改断点,单步执行、多步执行功能。 4 ) 可以保存仿真器在某时刻的状态,并存放到一个环境文件中,当用户重新载入该 文件后,仿真器就可以直接恢复到保存时刻的状态,以支持步进式的仿真测试方 式。 5 ) 能够创建仿真执行过程中的日志文件,记录运行过程中发生的各种事件,这些历 史事件在用户定位错误和仿真器自身调试过程中特别重要。 1 2 。2 2 e k e y s i m 仿真器的组成 本版本的e k e y 电子密钥系统仿真器并不要求实现所有的硬件部件,但是它必须包括 以下的内容: 1 g d c 2 0 0 0 c p u 仿真模块。 2 存储器仿真模块。 3 没备模块仿真:在e k e y 体系结构中,外嗣敬备主要有以下四个: d e s ,r s a ,r d g , u s b 。其中,d e s 模块主要是实现d e s 加密和解密算法:r s a 实现r s a 加密和解密算法;r d g 模块用来生成随机数,作为d e s 模块的工作数据:u s b 模块 用来实现通讯功能。因此,设备模块的仿真可以细分如i - : 1 ) d e s 仿真模块 2 ) r s a 仿真模块 3 ) u s b 仿真模块 4 ) r d g 仿真模块 第1 0 页 e - k e y 电了密钥系统仿真环境 4 由于该仿真器的输入是目标机上的可执行程序,因此,我们必须开发一个g d c 2 0 0 0 汇 编程序汇编器,实现用g d c 2 0 0 0 汇编语言所编写的片上操作系统以及建立在其上的应 用程序的翻译工作。 1 2 2 3 仿真设计的难点 本仿真器的难点主要住e k e y 体系结十勾中的几个外设仿真上。在目标标机中,d e s r s a 加密模块是完全用硬件来实现的,如果我们完全按照它f j 处理数据的流程来进行仿真,将是 十分复杂,且涉及到比较敏感的知识产权问题;还有对于随机数产生模块以及u s b 通信 模块,也存在着类似的问题:对于系统中外设向处理器发出中断,请求服务的过程,在本仿 真器中都必须仔细地考虑,选择合适的处理方法。 1 2 2 4 仿真设计的方法 上节中提到的仿真设计过程中可能遇到的难点,在本仿真系统中,我们作了如下的考虑: 对于设备的仿真,只是从功能上进行仿真,但是保留与设备进行通信的接口以及通信过程, 这样,保证了在仿真器上进行调试的程序与外设的通信过程与该程序在目标枧上运 亍时对外 设的访问一致,而对于加解密的可靠性,本仿真器不保证与目标机所提供的能力相同,只是 一定程度上的模拟,在目标机上,由具有知识产权的硬件设计来提供保证。 对于外设向处理器发送中断,请求系统提供服务,发送中断的过程采用对外设进行仿真 的线程直接修改中断寄存器中的相应位或发送相应的消息米处理。 1 3 本文的工作以及组织结构 本文的主要工作有: 1 调研了仿真器及汇编器的设计原理,明确了e - k e y 电子密钥系统仿真环境的设计需 求。针对设计中的关键问题和难点,拟定了相应的解决思路。在此基础之上,提山 了该仿真环境的总体设计方案 2 对e - k e y 仿真器进行总体设计。基于多线程模式和消息驱动机制,确定了各模块对 应线程类的继承体系,以及各线程之间控制信息和数据信息的交互方式。 3 依据总体设计框架,完成了对目标机c p u 、存储器和各种外罔模块( 如d e s 、r s a 等) 的具体仿真实现。 4 对e - k e y 汇编器进行了总体设计。 5 分别针对仿真器中的r d g 、d e s 、r s a 模块,设计了相应的测试用例,验证了整个仿 真环境的功能正确性。 本文其分为七章,组织结构如下: 第| l 页 e k e y 屯了:密钏系统仿真环境 第一章为绪论,首先介绍智能譬的发展与现状、计算机系统仿真的意义、发展与分类, 然后对本文要发计的电子密钥仿真器进行了一定的分析,提出了仿真目标、仿真过程中的难 点并给出了解决方法。 第二章详细讨论了e k e y s i m 仿真器的总体敬计,介蜊了电子密钥系统的r :作原理井 给出仿真器殴计的总体思路,分析了仿真器设计中的类、数据结构以及仿真器的基本的l 作过程。 第三章介纠了c p u 模块的仿真设计。 第四章介绍了系统存储器以及外设的仿真设计。 第五章介绍g d c 2 0 0 0 汇编器设计思路、方法以及关键的设计技术。 第六章对仿真器的实现情况给出了总结性,并给出了三个仿真测试实例。 第七章是结束语,对本文的工作进行了总结并给出了以后的努力方向。 第1 2 页 曼:鉴兰! 皇王垩塑墨堕堕墨! 丝( 第2 章e k e y s i m 仿真器总体设计 2 1e k e y 电子密钥系统及工作原理简介 2 1 1e k e y 系统结构 2 1 1 1e k e y 系统结构概述 e k e y 专用微型计算机系统是由国芯安集成电路设计有限公司自己开发的,其大致结 构如下图: 麓 由吉由d 占南一 二鏊爨冀 舌基 j i 熬麓 图2 1e k e y 体系结构概图 从上图知,e k e y 体系结构是一个支持单处理器的单计算机体系结构,系统主要由以 f 儿个部分组成: 1 1 6b i tc p ug d c 2 0 0 0 是管理和控制整个系统的核心部件; 2 m e m o r y ( d p a r a m ,f l a s h ) 是整个系统存储器; 3 r s a 、d e s 、r d g 、u s b 是c p u 的外设; 4 w d t ( w a t c h d o g t i m e r ) 是系统的监视器和间隔定时器。 在上图中,e a b u s 是外设地址总线,在该总线上,有四个外部设备,即d e s 加解密模 块,r s a 加解密模块,r d g 随机数生成模块,u s b 通信模块,这些设备为e k e y 系统内 畋的设备能接受c p u 的请求,并完成加密、解密、对密钥的验证以及对外通讯的功能。 a b u s 为c p u 的访存地址总线,宽1 6 位,故其最大可以寻址6 4 k 个内存单元。 第1 3 页 2 1 1 2e k e y 系统结构的特点 1 e - k e y 体系结构中所有的部件均被做在同一个硅基片上,对外通讯( 读卡机端) 只保 留一个接e l ,这样, 上的信息保密性更好,不容易被窃取。 2 外设地址总线e a b u s :在e - k e y 系统中的外设地址总线上拭连接了四个设备,这 四个外设分别完成加、解密以及对外通信的功能。 3 内存地址总线a b u s :内存地址总线连接f l a s h 控制器接口以及随机读写存储器控制 器接口( d p a r a m ) 。其中,f l a s h 的人小为6 2 7 5 k ( 6 4 ,2 5 6 ) 个字,d p a r a m 的人小 为lk f l 0 2 4 ) 个字。它们共享系统中统一的总大小为6 4 k 的地址空间。 2 1 2e k e y 工作原理 2 1 2 1 存储空间的分配 e k e y 体系中存储空间的分配如下图 0 0 0 0 h 0 2 0 0 h 0 3 f e h 0 3 f f h 0 4 0 0 h 0 4 0 1 h 0 4 0 2 h 0 5 0 0 h 系统区( 05 k w ) l i n t 命令宁 r i n t 命令宁 i d p a r a 存储器 w d t 图2 2e - k e y 存储空间分配图 对存储空间中的各个组成部分的说明如下: ( 1 ) 、d p a r a m 区 d p a r a m 的容量为1 k 字 0 0 0 0 h 一0 0 0 1 f h 为常量区 0 0 2 0 h o 0 0 2 f h 为中断入口地址区 0 2 0 0 h - - 0 0 3 f f h 为快速存储区 ( 2 ) 、w d t ( w a t c h d o gt i m e r ) 区 0 4 0 0 h 为计数器控制状态寄存器( t c s r ) 0 4 0 1 h 通道l 计数器 0 4 0 2 h 通道2 计数器 第1 4 页 f l a s h 存储器 e - k e y 屯子密钥系统仿真环境 ( 3 ) 、系统保留区 0 4 0 3 h 一0 4 f f h ( 4 ) 、f l a s h 区 f l a s h 中存放b i o s 以及引导程序,b i o s 程序要完成对c p u 的初始化、检测、 设置、加载程序、中断服务入口、输出输入管理。 2 1 2 。2 重要的工作流程 e k e y 体系结构的功能主要体现是数据在总线上的的传输,其t 作流程主要是 c p u - - ) a b u s 流程,d m a 流程,被访问的目标是寄存器、动态存取r a m 、f l a s h 等之类 的存储区域,另外,由外设产生的异步中断的处理过程也是系统的重要功能。 1 ) c p u - a b u s 流程 c p u a b u s 流程是e k e y 体系结构中最频繁也是最主要的工作流程。该工作流程的 发起者是系统中的处理器g d c 2 0 0 0 根据目的地址的不同。如果目的地址映射到w d t ,则 是对w a t c h d o gt i m e r 进行操作:如果目的地址映射到f l a s h ,则是对f l a s h 存储器进行 操作:如果目的地址是映射到d p a r a m ,则是对随机存取存储器进行操作。 2 ) d m a 流程 e k e y 系统除了用中断方式来响应外部设备的服务请求外,对于与设备之间的大块数 据的传输,采用直接内存存取的方式来处理。因为用中断方式来处理大块的数据传输,效率 很低,并且在c p u 的火部分工作时间中,a b u s 处于空闲状态,采用d m a 方式对外设进 行访问后,可以充分得_ j 总线的资源,提高体系结构的效率。 在e k e y 系统中,允许发起d m a 操作的设备有:随机存取存储器,f l a s h 存储器, d e s ,r s a ,r d g ,以及u s b 。 d m a 控制方式的特点: d m a 控制方式的特点有: ( 1 ) 数据传输的基本单位是数据块,即c p u 与i o 设备之间,每次传输至少一个数据块。 ( 2 ) 所传输的数据是从设备直接进入内存的,或者是从内存直接进入设备的。 ( 3 ) 仅在传送一个或多个数据块的开始平结束时,才需要c p u 干预,整块数据的传送 是在控制器的控制下完成的。 d m a 方式较之于中断驱动方式,是成百倍地减少了c p u 对u o 控制的干预,进一步提 高了c p u 与i o 设备的并行操作程度。 d 帆控制器的组成 要实现控制器与主机之问成块数据的直接交换,必须在d m a 控制器中设置以下四类寄 存器( d m a 控制器的组成见图2 3 ) : 第1 5 页 e - k e yl u 子密宅l j | 系统仿真环境 ( 1 )命令状态寄存器c r 。刚丁接收从c p u 发来的i o 命令或有关的控制信息,或 设备的状态。 ( 2 )内存地址寄存器m a r 。t j 丁存放数据从殴备传送到内存的目标地址。或由内 存到设备的内存源地址: ( 3 )数据寄存器d r ,刚j :暂存从殴备到内存或从内存到殴备的数据: 内存k 机与拄制器接控制嚣与块醴备的接l 1 图2 3d m a 控制器组成 f 4 )数据计数器d c ,存放本次c p u 要读或写的字( 节) 数; 叫a 的工作过程 当c p u 要从设备读一块数据时,便向相应的设备控制器发送一条读命令,该命令被送 入命令寄存器c r 中;同时,发送本次读操作要将数据读入的内存的起始目标地址,该地址 送入内存地址寄存器m a r 中:本次要读的数据的字节数则送到数据寄存器d c 中,还需将 图2 4d m a 方式的工作流程 第1 6 页 圭 呈:垦星! ! 垦三查塑墨竺堕塞至堡 , 要从中读取数据的设备的源地址,直接送到d m a 控制器的i o 控制逻辑上。然后启动 d m a 控制器进行数据传送,c p u 转去处理其他的任务。此后,整个数据块的传输由d m a 控制器进行控制。数据块传输完成后,由d m a 控制器发中断请求。其流程如图2 4 。 3 ) 系统中断的处理 e k e y 系统不仅可以处理处理器内部中断,而且还可以处理外部殴备所产生的中断。 总共可以处理1 6 个中断。寄存器i m r 是c p u 内部的中断屏蔽寄存器。它是一个l6 位的 寄存器,定义如f 1 51 41 31 2 j 1 1l o9 l 8765 i 4 i 32 i l 0 f 章 女$ e 1 6ier 5e 1 4fe 1 3te 1 2f fb p i f z d iio v llp r ofp s oir i n g 系统复位后,i m r 1 5 :0 = 0 0 0 0 h ,系统屏敲所有可屏蔽的中断请求。中断屏蔽寄存器相应 的位被设置为0 后,则屏蔽该位所对应的中断请求,将中断屏蔽寄存器的第i 位设为1 ,则 开第i 值所对应的中断请求。 中断优先级及中断嵌套规则 ( 1 ) 高级中断可以嵌入优先级低于它的正在执行的中断服务程序中 ( 2 ) 同级之间的各个中断源,虽有优先权之差,但相互不能嵌套。 ( 3 ) 可屏蔽中断的中断开关必须有程序来完成它们的开启或关闭。 e k e y 系统中所能处理的中断的种类,各中断的优先级,以及中断入口地址列表如下 表2 ie k e y 系统中所能处理的中断 第1 7 页 2 2 e k e y s i m 仿真器设计 e k e y s i m 仿真器在结构和功能上模拟e - k e y 体系结构用v c + + 6 0 面向对象的编样技 术来完成,采川了v c 编程中的多线程编程技术以及w i n d o w s 消息驱动机制。 2 2 1e k e y s i m 的线程类 e k e y s i m 采i l j 多线程为基础的软件结构,其实现的线程可以分为i :作线程和监控线_ f ! i ! 两类。 i :作线程:i :作线程是采用v c + + 中的用户界面线程( u i t h r e a d ) 来实现,e k e y s i m 的 :作就是丁作线程来模拟。在e k e y s i m 中,对应于e - k e y 体系结构中的每一个硬件模 块,都有一个工作线程来模拟它的工作。工作线程之间按照硬仲结构中的信息交换关系 进行信息的传递与交换。在系统中的主要的工作线程有: 1 c p u t h r e a d :中央处理器工作线程; 2 d e s t h r e a d :d e s 加密模块丁作线程; 3 r s a t h r e a d :r s a 加密模块工作线程; 4 u s b t h r e a d :u s b 通信模块工作线程; 5 , r d g t h r e a d :随机数模块工作线程; 监控线程:在e k e y s i m 中设计了一个监控线程( m o n i t o r ) ,其任务是管理和协调其它 t 作线程。主要的职责为: 1 协调工作线程的统一动作; 2 收集并记录仿真器运行过程中发生的错误信扈 3 充当工作线程与用户界面之间的接口: 2 2 2e k e y s i m 的数据结构 在e k e y s i m 中,为管理系统中的各个线程设置了一个全局的线程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论