(电路与系统专业论文)密码工程实验平台的研究开发[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)密码工程实验平台的研究开发[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)密码工程实验平台的研究开发[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)密码工程实验平台的研究开发[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)密码工程实验平台的研究开发[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(电路与系统专业论文)密码工程实验平台的研究开发[电路与系统专业优秀论文].pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着信息时代的到来,如何保障信息的安全显得越来越重要,但不可 回避的是国内密码工程实践人才的缺乏给整个行业所带来的负面影响,这 就对我们高校的信息安全教育提出了新的要求。密码工程实验平台项目 正是在这个背景下提出的。本文是作者参与该项目研究和设计之后的课题 总结,主要研究的是密码工程实验平台的设计方案以及安全片内操作系统 的实现方案。 本文首先详细研究了p k i 体系结构的特点,提出了利用终端加密设备作 为实验平台的整体设计方案,简要介绍了密码实验平台系统框架中各部分 的功能。 其次,本文的硬件设计部分详细说明了各硬件模块组成和设计方法。 软件设计部分,详细介绍了卡内操作系统( 简称c o s ) 各部分的研究及实现过 程,其中包括:传输控制、安全管理、算法系统、指令系统和文件系统。 为了解决使用中密钥管理带来的困难,提出了管理密钥文件加应用密钥文 件的设计方法,前者用于c o s 的安全管理,后者用于特定的加密应用环境。 目的是将两类密钥加以区分,完善了密钥管理方案。除了实现i s o i e c7 8 1 6 标准中所要求的指令系统之外,还自定义了p k i 指令系统,包含密钥对产生、 数字签名等功能,拓展了其使用价值。 最后,作者通过搭建了应用环境对实验平台进行了实验调试,其中包 括电阻热噪声芯片输出信号的分析,通过c a n 接口对实验平台的算法系统 进行测试,保证了实验平台的运行良好。 关键词公钥基础设旌;片内操作系统;密钥管理;公钥加密标准;加密服 务提供者 燕山大学工学硕士学位论文 a b s t r a c t w i t hi n f o r m a t i o na g e sc o m i n g ,t h es e c u r i t yo fi n f o r m a t i o ni sa t t a c h e d m o r ei m p o r t a n c e h o w e v e r , t h ep a s s i v ef a c tt h a tw ea r es h o r to fp r o f e s s i o n a li s i n t r a c t a b l e ,w h i c he d u c a t i o ni n s t i t u t e sh a v et of a c e t h ep r o j e c to f “t h ed e s i g n o fe x p e r i m e n t a lp l a t f o r mf o rc r y p t o g r a p h i ce n g i n e e r i n g i sl o o k e df o r w a r dt o s e t t l et h eq u a n d a r y t h i sp a p e ri st h es u r m n a r i z a t i o no fa u t h o r sw o r ki nt h i s p r o j e c t t h ep a p e rm a i n l ya n a l y s e sa n ds t u d i e st h ed e s i g ns c h e m eo ft h i s p l a t f o r ma n dc h i po p e r a t i o ns y s t e mo n i t f i r s t l y , t h ep a p e rs t u d i e st h es t r u c t u r eo f p k i ,f o u n d st h ef r a m e - w o r ko f t h e p l a t f o r ma n di n t r o d u c e sf u n c t i o n so f a l lt h ep a r t st h a tm a k eu pt h ep l a t f o r m s e c o n d l y , a tt h ep a r to fh a r d w a r e ,t h ep a p e rs t u d i e st h ep r i n c i p l eo fe a c h m o d u l ei nd e t a i l a tt h es o f t w a r ep a r t ,a n a l y s e st h ec o m p o s i t i o n so fc o s , i n c l u d i n gt r a n s p o r tc o n t r o l ,s e c u r i t ym a n a g e m e n t ,a l g o r i t h ms y s t e m ,i n s t r u c t i o n a n df i l es y s t e m i no r d e rt os e t t l et h ed i f f i c u l t yo fk e y - m a n a g e m e n t ,c o s r e a l i z e st w ok i n d so fk e yf i l e s ,o n ei sc h a r g e dw i t hs e c u r i t ym a n a g e m e n t ,a n d t h e o t h e ri sc h a r g e dw i t hs p e c i a la p p l i c a t i o n a le n v i r o n m e n tf o re n c r y p t i o n , w h i c hd i s t i n g u i s ht h eu s a g e so ft h e ma n dc o n s u m m a t et h es c h e m eo fk e y m a n a g e m e n t e x c e p tt h eb a s ef u n c t i o n sp u tf o r w a r db yi s o f l e c7 8 1 6 ,a u t h o r a l s o c o m p l e t e t h ew o r ko fs o m ec u s t o mf u n c t i o n sf o rp k i ,s u c ha s k e y g e n e r a t i o n ,d a t as i g n a t u r e ,e t g ,w h i c hw i l le x t e n do u rp l a t f o r m su s a g e f i n a l y , a u t h o rh a sb u i l tu ps o m ea p p l i c a t i o ne n v i r o n m e n t st ot e s tp l a t f o r m s p e r f o r m a n c e s u c ha sa n a l y s i so nt h eo u t p u to fr a n d o mg e n e r a t o rb a s eo n t h e r m a ln o i s eo fr e s i s t o r , t h ea l g o r i t h mt e s tu s i n gc a p i ,w h i c hw i l li n d i c a t et h a t p l a t f o r mw o r k sp r o p e r l y k e y w o r d sp k i ;c h i po p e r a t i o ns y s t e m ;k e ym a n a g e m e n t ;p k c s ;c s p 燕山大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文密码工程实验平台的研 究开发,是本人在导师指导下。在燕山大学攻读硕士学位期间独立进行研 究工作所取得的成果。据本人所知,论文中除已注明部分外不包含他人已 发表或撰写过的研究成果。对本文的研究工作做出重要贡献的个人和集体, 均己在文中以明确方式注明。本声明的法律结果将完全由本人承担。 作者签字 与良日期:劫晦湖确 燕山大学硕士学位论文使用授权书 基于双目视觉的目标定位与运动分析研究系本人在燕山大学攻读 硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归燕 山大学所有,本人如需发表将署名燕山大学为第一完成单位及相关人员。 本人完全了解燕山大学关于保存、使用学位论文的规定,同意学校保留并 向有关部门送交论文的复印件和电子版本,允许论文被查阅和借阅。本人 授权燕山大学,可以采用影印、缩印或其他复制手段保存论文,可以公布 论文的全部或部分内容。 保密口,在 年解密后适用本授权书。 本学位论文属于 不保密寸。 ( 请在以上相应方框内打“4 ”) 作者勰昌良 日期知。辞年月净 导师签名: 商历焉 日期:础牛月缃 第1 章绪论 1 1 课题背景 第1 章绪论 随着计算机处理能力的飞速发展,基于网络的应用环境已经形成,例 如发展已多时的电子商务和现今发展势头处于上升之势的电子政务j ,视频 会议等等,已经深入到我们日常生活、工作的各个方面,人们在享受网络 和计算机带来便利的同时,也意识到了安全问题的重要性。病毒的快速传 播、电脑“黑客”【2 】的肆虐入侵、重要信息的泄密这些问题已威胁到政 府服务、金融、电信、电力等国家基础设施。随着网络应用的扩展,日益 恶化的网络环境所带来的安全问题不容回避。 公开密钥基础设施( p k i ) 口,4 j 的出现虽然在一定程度上解决了这个问题, 但是我们必须意识到在整个体系中,人的因素是关键性的。作为为各地政 府部门培育信息安全通信、信息系统安全、电子政务与办公自动化专门人 才的高等院校,北京电子科技学院始终把密码学教育放在首要位景,并不 断开拓思路,总结了一套较为完整的教学方案和实验体系,密码工程实验 平台正是这个实验体系的一个重要环节,它的实现与运用将在很大程度上 提高学生的密码工程实践能力。 密码工程实验平台的设计目的在于将学生从抽象的密码学原理、公式 或是抽象的p k i 模型中摆脱出来,将自己对p k i 的认识具体化,什么是数字 签名,什么是电子信封口】、密钥交换协议 6 1 分类,如何通过工程实践加以实 现,这些问题都将在密码工程实验平台的出现后得到解决。 1 2 密码工程实验平台概述 1 2 1 公钥体系发展现状 公开密钥基础设施( p u b l i ck e yi n f r a s t r u c t u r ep k i ) 是以公开密钥密码学 为理论技术基础的一整套网络信息安全技术设施与服务7 1 。其内容包括数字 证书【8 ,9 1 、非对称密钥密码技术l l o l 、认证中心、证书颁发和密钥的管理、安 燕山大学工学硕士学位论文 全代理软件、不可否认性服务、时间戳服务、安全杂凑、相关信息标准、 操作规范等。 p k i 在中国已经算不上是新名词了,这几年的p k i 发展成果也是有目共 睹的,目前已经成功建设大型的行业性或是区域性的p k i c a 就有八十多个, 发放证书超过5 0 0 万张,涉及金融、税务、报关、工商年检等行业和部门。 影响最大的行业性p k u c a 有:中国金融认证中心( c f c a ) ”“、中国电信认证 中心( c t c a ) 。这些c a 的应用主要在于电子商务,现在随着电子政务【l2 】的发 展,各地政府也在积极地筹划c a 的建设,可以说,p 的建设正如火如荼 的在全国上下开展。但是高速发展的背后,是数字签名、电子文档及认证 中心的法律地位如何界定,令人鼓舞的是,2 0 0 4 年8 月2 8 目上午,十届全国 人大常委第十一次会议对中华人民共和国电子签名法( 草案) ( 电子签 名法) 进行了表决并获得通过口,随后国家主席胡锦涛签署了第十八号主 席令,公布了这部法律( 草案) ,并于2 0 0 5 年4 月1 日起实施。有了法律的保证, 我国的p k i 的发展环境得到了根本的改善,发展的步伐将迸一步加大。 1 2 2 密码工程实验平台在公钥体系中的位置 首先介绍一下p k i 模型概念,从广义上讲,p k i 体系是一个集网络建设、 软硬件开发、信息安全技术、策略管理和相关法律政策为一体的大型的、 复杂的、分布式的综合系统。在本文中,将从p k i 的体系模块进行分析。到 目前为止,业界普遍认为一个比较完整的p k i 至少应包括以下6 个部分的内 容【1 4 】: ( 1 ) 认证中心( c a ) p k i 的核心,它负责信任关系的建立和管理。直接信 任和第三方信任是所有网络安全产品实现的基础,认证中心c a 提供这样的 第三方认证。 ( 2 ) i e 书和证书库证书口5 】是数字证书或电子证书的简称,是构成p k i 的基本元素。它是参与网上信息交流及商务交易活动的各个实体( l l 如持卡 人、企业、商家、银行等) 的身份证明,证明该用户真实身份和公钥的合法 性,以及该用户与公钥的匹配关系。它相当于护照,而且是一种“电子护 照”。证书的格式一般遵循i t u t 中x 5 0 9 v 3 国际标准。 2 第1 苹绪论 f 3 ) 密钥备份及恢复系统为防止用户遗失加密密钥,造成大量加密数 据的丢失,p k i 提供了密钥备份及恢复系统。当需要恢复的时候,用户只需 向c a 提出申请或通过一些行政手续,c a 便可以通过恢复系统为用户作自动 恢复。但是一般而言对于签名密钥,一般不予进行备份操作,而是在遗失 或证书过期后进行证书的重新申请。 ( 4 ) 密钥和证书的更新系统在证书丢失或是有效期截至的情况下对旧 证书进行废止,为用户生成一个新证书。一般而言,证书服务器根据证书 挂失请求产生c r l 列表,即证书废止列表。证书服务器根据证书中的序列 号对证书进行区分,该序列号是全球唯一的,c r l 列表中正是根据该号进 行标示。 ( 5 ) 证书历史档案记录用户的密钥历史,保证加密数据使用的连贯性, 目的是为了便于用户使用,建立良好的应用接口环境,很容易地实现数字 签名、传输加密等工作,确保安全网络环境的完整性、易用性和可信度。 ( 6 ) 交叉认证解决各大c a 机构存在的相互信任问题即“信任孤岛 问题”。通过发放交叉证书i ”】加以实现。 将文献 1 4 中的模型用图1 - l 简单表示如下,在此模型中,密码工程实 验平台属于应用接口系统,位于p k i 体系的终端,主要功能在于提供个体的 身份认证【1 7 1 和密码运算功能,将密钥运算交由防篡改 1 8 】的运算模块进行处 理来达到密钥的安全。通过建立模拟的p k i 环境,实现数字签名、加密传输 等数据安全服务,使得各种应用能够安全、一致、可信地交互。 图1 - 1p k i 体系结构 f i g 1 1t h ea r c h i t e c t u r eo f p k i 3 _雾 燕山大学工学硕士学位论文 1 3 课题来源 本课题依托于北京电子科技学院0 3 - - 0 4 年科研实验计划:密码工程实 验平台。 作为拥有国有密码算法提出权的七家单位之一,也是国内较早涉及信 息安全教育的高校之一,北京电子科技学院所开设的信息安全的课程涉及 密码学基础、编码原理、密码工程实践等方面,具备了一定的教学经验, 并将朝着更高的方向进行探索。 1 4 本论文研究的主要内容及结构 本文的结构安排如下: 第2 章提出了密码工程实验平台总体设计方案,介绍了密码工程实验平 台的系统框架、设计思想及基本组成,同时还简要介绍了研究开发时所用 到的技术知识背景。 第3 章论述了密码工程实验平台的硬件设计,分模块介绍实验平台的基 本组成,及各模块的设计思想。 第4 章论述了密码工程实验平台的软件设计,重点阐述了操作系统的传 输控制、文件系统、安全管理等模块的设计思想及方法,同时对c s p 、 p k c s # 1 1 等通用加密设备调用接口的研究与设计作了介绍。 第5 章通过对实验平台的系统调试和测试,增强了系统的稳定性和可用 性,同时给出了实验中的参数数据。 结论部分对本文的研究成果进行总结,提出了在此成果的基础上,进 一步的研究方向。 4 第2 章密码工程实验平台设计简介 第2 章密码工程实验平台设计简介 2 1密码工程实验平台的知识背景 密码工程实验平台作为p k i 体系中的终端设备,为p k i 终端使用者提供 了数字签名、数据加密等安全服务,所以其开发过程中需要一定的密码学 知识背景。 2 。1 ,1 密码学基础知识 2 1 1 1 算法和密钥算法即密码算法,是用于加密和解密的数学函数【1 9 1 。 通常情况下,包括一个加密函数和一个解密函数。如果算法的保密性是基 于保持算法细节本身的秘密,那么这种算法称为受限算法。这类算法的最 大局限在于其不可能进行评估和标准化,因为每一个使用它的组织或个人 都必须有自己的一套算法,而不能采用流行的硬件或软件产品,这样一来 其应用就会受到很大限制。 现代密码学采用的密钥概念将算法的保密性基于密钥的安全性之上, 这就意味着有关算法的所有实现细节均可以公开,可以用于生产目的或是 研究目的,这样,即使让窃听者知道算法细节也是没有关系的,只要不知 道具体的密钥值,是无法解密原文的。密钥用k 表示,k 的可能值的范围叫 做密钥空间,一般而言,k 越长,空间成几何倍数增长,其抗穷举法攻击的 能力就越强。 基于密钥的算法有两类:对称算法、非对称算法( 公开密钥算法) 。 2 1 1 2 对称算法对称算法的解密密钥能够从加密密钥中推算出来,反之 也成立。现在多数流行的对称算法中,大部分对称算法的加、解密密钥是 相同的,这些算法同时也被称为秘密密钥算法或单密钥算法。它要求通信 的发起方和接受方在安全通信之前,必须协商一个对称密钥,我们又称之 会话密钥( s e s s i o n k e y ) 2 0 川,该密钥本身的泄漏意味着任何人都可咀加解密 信息,窃听任何一方的保密数据,算法本身的透露与否不危及安全,通信 5 燕山大学工学硕士学位论文 过程的安全与否取决于密钥值本身的安全与否。该密钥在一次完整通信结 束后必须销毁。现在较为流行的对称密钥算法有:d e s l 2 2 2 5 l 、a e s 2 6 2 7 、 r c 2 和r c 4 2 8 1 等。 在对称算法的实现中,一次只对明文的一个字节进行运算的称为序列 算法 2 9 , 3 0 l ,如r c 2 等,相对而言,如果一次对明文的若干个字节进行运算, 称为分组密钥。就现在的计算速度而言,6 4 b i t 位长度的密钥已经经受不起 考验了,立 i d e s - - 6 4 ,现在工程实现中常用的分组算法有d e s 一1 2 8 、d e s 一1 9 2 、a e s 、r c 4 等。 对称算法具有加密速度快、强度高等特点,不足之处在于其密钥管理 的难度比较大,例如,每次通信之前,发送接受双方需要协商密钥,而如 何协商这个密钥本身又是一个安全问题,这牵扯到密钥的预分发。另外, 随着每个用户使用不同的密钥,用户数量的增加必定导致密钥总数的增加, n 个用户需要n ( n 一0 2 个密钥,密钥的管理难度可想而知。 2 1 1 3 非对称算法( 公开密钥算法) 非对称算法【3 ”中用作加密的密钥与 用作解密的密钥是不同的、或是没有联系的。这两个密钥之中,有一个可 以公开,称为公开密钥或加密密钥,即陌生人能够利用它加密信息,另一 个密钥称为秘密密钥或解密密钥,为密钥对使用者所专有,他可以利用私 人密钥解密陌生人加密的信息,表示为: 邑私【 彳秘密j j = f 秘密( 2 - 1 ) 非对称密钥的特点在于解决了密钥分发【3 2 】的问题,因为算法体系中有 一个公开密钥,秘密信息发送方可以很方便地得到接受方的公开密钥,双 方无需通过协商密钥的方式达到传送秘密信息。缺点在于1 3 3 , 3 4 : ( 1 ) 公开密钥算法的运算速度比对称算法慢按照现今的计算速度,对 称算法一般比公开密钥算法快一千倍,虽然计算速度在若干年以后也将会 大幅度的提高,使得公开密钥算法的速度达到或超越现今对称算法的速度, 但是同样带宽要求也会加大,到时同样会出现更高的数据加密要求。这也 是公开密钥算法不用于大量数据加密的原因。 ( 2 ) 公开密钥算法对选择明文攻击是脆弱的选择明文攻击即是在已知 明文p 的几种可能及加密密钥的情况下,对各种可能情况依次加密,对比结 6 第2 章密码工程实验平台设计简介 果和实际密文c ,从而在不知解密密钥的情况下,推算确定出明文p 。 邑( p ) = c ( 2 - 2 ) e 。( c ) = p( 2 3 ) 不难看出非对称密钥算法正好满足选择明文攻击的前提条件,因为非 对称密钥算法的一个加密密钥是公开的,所以密码分析者可以随意进行( 2 2 ) 操作,而不用考虑通过( 2 3 ) 操作得到明文p 。对称密钥一般而言不易受到这 种攻击,因为在不知道加密密钥的情况下,完成加密的尝试是徒劳的。 2 1 1 4 单向散列函数散列函数长期以来一直在计算机科学中使用,无论 从数学角度或是别的角度看,散列函数就是把可变输入长度串( 预映射) 转换 为固定长度输出值的函数,简单的散列函数就是将输入的多个字节异或形 成一个字节的输出。而单向散列函数是在一个方向上工作的散列函数,从 预映射的值很容易计算其散列值,但要使其散列值等于一个特殊值却很难, 单向散列函数又可以称为消息摘要、数据指纹、密码校验和操作检验码等 等。好的散列函数是无冲突的( c o l l i s i o n f r e e ) :难于产生两个预映射的值, 使他们的散列值相同口5 1 。单向散列函数的算法过程是公开的,任何人都可 以进行h a s h 操作,它的安全性是在于算法的单向性。 消息鉴定码( m e s s a g ea u t h e n t i c a t i o nc o d em a c ) 是带有秘密密钥的单 向散列函数,散列值是预映射的值和密钥的函数,这在理论上与散列函数 是一样的,只有拥有密钥的某砦人才能验证散列值。可以使用散列函数或 分组加密算法产生m a c ,也有专门用于m a c 的算法。 2 1 1 5 数字签名 数字签名是对一段数据进行密码学运算得到一个签名 值附加在数据之后,接收到数据的用户可以根据这个签名值验证数据的完 整性和不可否认性p 6 1 。实现数字签名方法有多种,比如利用m a c 或是 h m a c 实现数字签名,或是通过非对称算法加h a s h 算法的方式获取一段数 据的数字签名【3 ”。具体的密码学运算过程有两种情况:其一,用非对称算 法的私钥对数据加密,将加密后的数据作为签名值,这种签名方式在需要 签名的数据量很大时是不实用的,因为非对称算法的速度比较慢;其二, 先对数据作单向散列,得到一个散列值,用非对称算法的私钥对散列值进 行加密。常用的数字签名流程如图2 1 所示。 7 燕山大学工学硕士学位论文 发方的私钥 ! 发方的公钥 图2 i 数字签名流程 f i g 2 - 1t h ep r o c e s so f d a t a - s i g n a t u r e 2 1 2 公钥体系基础知识 p k i x ( p u b l i c - k e yi n f r a s t r u c t u r ex 5 0 9 ) i 作组对p k i 的定义为:“是一组 建立在公开密钥算法基础上的硬件、软件、人员和策略的集合,它应具备 产生、管理、存储、分发和废止证书的能力”。一个完备的p k i 系统应该有 以下几个组成部分:证书颁发机构( c e r t i f i c a t ea u t h o r i t y , c a ) ,证书注册申请 机构( r e g i s t r a t i o n a u t h o u r y t y , r a ) ,证书持有者( 最终用户) ,证书库,密钥恢 复服务器。 2 ,1 3 实验平台中参照使用到的协议标准 2 1 3 1 x 5 0 9 证书标准之所以公钥密码技术能得到广泛应用,从第1 章 中的介绍中不难知道,对于那些需要使用公钥来获得基本安全服务的实体 来说,公钥总是能很方便地得到。要保证这一点,就得有一个数据完整性 机制来确保分发密钥的正确和完整,这也是p k i 实现的基本保证,在技术 上使用数字签名达到保证数据完整及不可抵赖性,证书概念的提出正好符 合了这一机制的要求,使得证书使用者能得到以下保证: 公钥信息和它的所有者属性信息的完整性和可靠性得到了保障。这些 信息作为数据取h a s h 后由c a 进行签名,对这些信息进行任何形式的篡改都 会导致解签名的失败。 8 第2 章密码工程实验平台设计简介 以下是目前存在的几种证书类型: f 1 ) x 5 0 9 公钥证书该证书格式现已从第一版发展到第三版,版本1 0 于1 9 8 8 年作为x 5 0 0 目录服务系统推荐的一部分出版,版本2 0 增加了一些字 段以支持目录存取控制,版本3 0 通过增加了属性扩展字段来支持更广的应 用需求,该字段可以由任何组织或社区定义和注册; ( 2 ) 简单p 证书一种简化格式的电子证书,简称s p k i i e 书恻; ( 3 ) p g p 证书该类证书用于支持p g p ( p r e t t yg o o dp r i v a c y ) 算法,这个算 法又称杂合算法,该类算法的薄弱环节在于密钥管理和认证问题【3 9 l ,正是 由于这点使得该算法普及性并不高; ( 4 ) 属性证书该类证书主要用于基于证书属性的扩展应用。 以上四类证书具有各自不同的格式,同一类型的证书会有好几种版本。 其中s p k i 也称为授权证书,相对于身份证书而言,其安全性较低;p g p 是一种对电子邮件和文件进行加密与数字签名的证书,p g p 证书与x 5 0 9 证 书在内容上和使用上有着很大不同,这就造成p g p 用户群体和x 5 0 9 证书用 户群体之间互操作性的障碍,但p g p 的6 5 版本正努力朝着互相兼容的方向 发展;s e t 证书基本采用了x 5 0 9 第三版公钥证书的格式,不同的是它自身 根据应用需要制定了自己私有的扩展;属性证书准确来讲不是公钥证书, 而是用来传递主体的属性。 本系统支持x 5 0 9 格式证书,通过c s p ( n 密服务提供者) 通用接口进行 证书申请,证书数据作为密钥属性文件存放在f l a s h 中。 2 1 3 2 p k c s 系列标准p k c s 由美国r s a 公司提出,已成为p k i 体系中 不可获取的一部分1 4 。p k c s 定义的内容很多,定义多种应用信息的格式, 硬件组件的接口标准。共由1 5 个标准组成,p k c s # 2 和p k c s # 4 两项已经 废止,他们的内容已经被并到p k c s # 1 中。p k c s # 1 4 的内容定义了伪随机 数的标准,但已经不再使用。目前使用的1 2 项标准内容如下。 ( 1 ) p k c s # 1r s a 加密标准,定义了r s a 算法的加密解密执行方式。目 前版本2 1 。 ( 2 ) p k c s # 3d i f f i e h e l l m a n 4 1 密钥交换标准定义了执行d i f f i e h e l l m a n 密钥交换协议的信息格式。目前版本1 4 。 9 燕山大学工学硕士学位论文 ( 3 ) p k c s # 5 基于口令的加密标准,定义了如何使用口令保护敏感数据 的标准。目前版本2 0 。 ( 4 ) p k c s # 6 证书扩展语法标准,定义了在目前的x 5 0 93 0 证书中加入 更多信息所要遵循的语法标准,但是由于x 5 0 9 v 3 0 本身已经加入了扩展字 段部分,因此这个标准基本不再使用。目前版本1 5 。 ( 5 ) p k c s # 7 加密信息语法标准,定义了信息加密、签名等密码运算应 该采用的数据封装格式。目前版本1 5 。 ( 6 ) p k c s # 8 私有密钥语法格式,个人密钥必须严格保护,一般用口令 保护或者用硬件方式保护,为了交互信息的准确性,必须有固定的存储格 式和封装格式,此标准定义了密钥数据在加密前的数据封装格式。目前版 本1 2 。 ( 7 ) p k c s # 9 可选择的数据格式,定义了p k c s # 6 ,p k c s # 7 ,p k c s # 8 , p k c s 撑l o 所用的数据属性的格式。目前版本2 0 。 ( 8 ) p k c s # 1 0 证书请求语法格式,定义了使用者向r a 或c a 申请证书 应该遵循的信息格式。目前版本1 7 。 ( 9 ) p k c s # 1 1 密码组件接口标准,定义了密码组件的接口标准。目前 已经成为业界密码设备所使用的的最常用的标准接口之一。目前版本2 2 。 ( 1 0 ) p k c s # 1 2 个人信息交换格式标准,定义了个人信息在传输时的数 据封装格式。 ( 1 1 ) p k c s # 1 3 椭圆曲线标准,由于椭圆曲线算法在学术上还存在分歧 和争论,所以目前这个标准并没有正式推出。 ( 1 2 ) p k c s # 1 5 密码组件数据格式标准,定义了在硬件上存储密码相关 数据的格式。目前版本1 1 。 2 1 3 3 c r y p t a p i 通用加密服务调用接口 为了简化在w i n d o w s 操作系统 上开发安全应用程序的难度,扩展其系统在安全领域的广泛应用,m i c r o s o f t 公司开发小组将所有密码设备的调用接口统一到标准的加密接口上,屏蔽 了各类加密设备在硬件上的差异性,这套接口就是c r y p t p t a p i 接口【“l ,从接 口功能上分,c a p i 可以分为基本加密服务接口、证书及证书容器函数接1 3 、 证书验证接口、秘密消息接口及一些辅助接口,分别提供密钥对产生、基 1 0 第2 章密码工程实验平台设计简介 本对称加解密、非对称签名、解签名、h a s h 算法、证书解析及验证等一些 基本的p k i 安全操作。通过调用c r y p t a p i 接口中的通用服务接口,开发者可 以很方便的完成对特定密码设备的调用,该接口已由微软公司提出实现标 准并加以实施,目前版本为v 2 0 。c r y p t o a p i1 o 版支持公共密钥和对称密钥 的操作,比如密钥生成、密钥管理、密钥交换、加密、解密、散列、数字 签名和签名验证。c r y p t o a p i2 0 包含了核心加密功能和基于认证的功能,使 得开发人员能够通过这些公共密钥操作和一些必要封装和编码操作将认证 应用于他们的应用程序。 c r y p t o a p i 使用了一种服务程序模型,在该模型中加密操作由加密服务 提供程序c s p 提供。通过不同的c s p ,开发人员能够使用具有更高输出性的 加密系统,新的加密算法,或一些基于硬件的加密设备,而不必改变他们 的应用程序代码,保证了代码的连贯性。c r y p t o a p l 支持x 5 0 9v 3 认证格式 和a s n 1 编码,以及p k c s 撑7 和p k c s # 1 0 封装标准。这使得调用c r y p t o a p i 的应用程序能够与其它依赖上述标准的基于认证的系统进行互操作。m s d n 中关于c r y p t a p i 结构体系如图2 2 所示。 c r y p t a p l 体系结构 证书醋数消息函数 c 图2 - 2c r y p t a p i 结构 f i g 2 - 2t h ea r c h i t e c t u r eo f c r y p t a p i l l 燕山大学工学硕士学位论文 2 1 3 4 智能卡系列标准智能卡和读卡器互操作性方面的标准是为接触 式集成电路卡指定的国际化标准组织( i s 0 ) 7 8 1 6 标准【4 ”。这些标准说明了物 理、电气和数据链路层的互操作性。其中7 8 1 6 1 、2 标准规定了带触点集成 电路卡的物理特性、触点尺寸及任务分配等,在我们实现实验平台中并没 有参考这两个物理特性标准。7 8 1 6 - 3 标准规定了电源、信号结构、信息交换 的参数,包括信号速率、电压电平、电流值、奇偶校验和传输控制等约定。 与该标准相似的还有7 8 1 6 - 1 0 标准,它针对的是非接触式i c 卡与读卡器之间 的信号传输控制。7 8 1 6 4 标准规定了报文、命令和相应内容的格式,在复位 应答期间信号的历史字节的内容,同时该标准还定义了访问数据和文件权 限的安全体系结构,秘密报文的传送方式等等。作为成熟的一套标准体系, 我们在实现密码工程实验平台的过程中充分的参照了为i c 卡定制的7 8 1 6 标 准。密码工程实验平台实现的c o s ( 片内操作系统) 指令集基本参照该标准, 但是所实现的有关p i g 指令系统是该c o s 所特有的。 2 2 密码工程实验平台的设计方案 2 2 1实验平台总体设计思想 通过前一章的大致介绍,我们可以知道,实验平台在p k i 体系中所扮演 的角色类似于终端加密设备,同时为了起到与教学相呼应的作用,实验平 台将硬件各部件一一分解,通过实验板的形式展现在学生面前,硬件部分 主要分为: ( 1 ) c p u 和程序存储部分由d s p 芯片$ i f l a s h 芯片构成,分别作为运 算单元和程序存储单元: ( 2 ) 算法模块单元由一块r s a 模乘加速芯片和一块噪声芯片构成; ( 3 ) 通信模块单元本实验平台实现u s b 通信和串口通信两种模式,所 以由u s b 通用芯片和串口处理芯片构成。 硬件的组成形式如上面所介绍的,作为软件层来说,实验平台参照了 智能卡i s o i e c7 8 1 6 3 、4 等标准,将智能卡中的c o s 概念引入到我们的实 验平台中,为什么参照该标准是出于以下几个方面的考虑: 第2 章密码工程实验平台设计简介 ( 1 1i s o i e c7 8 1 6 标准提供相关文件管理办法,实验平台引入文件管理 概念,在实现中引入数据结构中的双向链表概念m 】,方便对证书及密钥数 据的管理,方便上层中间件的开发( c s p 、p k c s # 1 1 ) 。 ( 2 ) i s o i e c7 8 1 6 标准提供较为完整的指令集及返回码定义集 4 3 】,即指 令调用接口,方便c o s 的实现。但需要注意的是,相关p k i 指令是我们实现 的c o s 专用的,比如密钥对产生、公私钥进行加解密、对成密钥加解密等 都是根据实验平台的设计需求进行定制的。 由于实验平台处于p k i 体系的终端位置,所以实验平台需要和流行的 p k i 应用进行无缝衔接,实现并完善统一的调用接口是解决这一问题的最佳 办法,所以实验平台系统框架的软件部分还包括c s p 、p k c s # 1 1 等标准接口 的实现。 2 2 2 实验平台的软件设计方案 实验平台在功能上和智能卡相同,因此,实验平台上的操作系统应该 遵循智能卡的标准。c o s 的设计主要分为文件系统、安全机制和传输控制 三部分。c o s 的具体设计方案如下: ( 1 ) c o s 总体结构c o s 的总体结构如图2 3 所示。外部程序请求通过外 层的命令解释转化为内核层能够辨认的命令,内核层完成规定的操作,将 结果返回给外层,通过返回解释,把结果传达给外部程序。c o s 实现三类 功能:文件系统,传输控制和安全机制。 至三 冈冈网 ,。1 。一 竺兰兰竺 图2 - 3c o s 结构 f i g 2 - 3t h ea r c h i t e c t u r eo f c o s 1 3 燕山大学工学硕士学位论文 ( 2 ) 文件系统文件系统遵照i s o i e c7 8 1 6 - 4 和中国金融集成电路i c 卡规范及应用规范采用树形结构,结构如图2 4 所示。 m f ( m a s t e rf i l e ) 是主控文件,每个系统有且只有一个m f 。在系统初始 化的时建立,在系统的生命周期内一直有效。它是整个文件系统的起始点。 d f ( d e d i c a t ef i l e ) 是在m f 下对应于不同应用建立的文件。类似于 w i n d o w s 文件系统的目录,它之下可以建立其他的d f 或者e f 。每个d f 可以 定义自己d f 下的安全权限。 e f ( e l e m e n tf i l e ) 为基本文件,用来存储各种应用和管理信息。e f 支持 二进制文件、定长记录文件、不定长记录文件和循环定长记录文件等四种 文件类型。其中证书数据、证书属性数据、公钥数据和私钥数据都存放在 二进制文件中,由于支持的非对称算法固定,故这些文件的长度为定长。 而管理密钥数据利用定长记录文件进行存放,以便于数据的索引使用。 图2 - 4 文件系统结构 f i g 。2 - 4t h es t r u c t u r eo f f i l es y s t e m ( 3 ) 安全机制为了保护设备上的敏感数据,要保证只有经过授权的用 户才能够访问某些数据或是调用设备进行某些操作,实验平台的授权用户 设为两级:用户和管理员。 所有的操作都必须通过权限检查才能进行,权限检查的内容是对比执 行操作的当前用户的状态和文件的安全属性,如果符合,权限检查成功, 否则失败。改变用户状态的方式总共有两种,一是通过p 矾码认证,二是通 1 4 第2 章密码工程实验平台设计简介 过外部安全认证。文件的安全属性只有在建立的时候指定。这些体制保证 了数据的安全性。另外,文件针对不同的操作有相应的安全属性,比如, 针对读操作的安全属性,针对写操作的安全属性等等。这样,使得权限控 制也非常灵活,可以针对不同的操作制定不同的权限要求。所有操作的权 限操作流程见图2 5 所示。 图2 - 5c o s 的安全机制 f i g2 - 5t h es e c u r i t ym e c h a n i s mo f c o s ( 4 ) 密钥及算法相关本设计中实现了两种对称密钥文件:管理密钥文 件和应用密钥文件,管理密钥文件中用于存放系统管理密钥,比如应用主 密钥、外部和内部认证密钥、p i n 密钥、应用维护密钥等。而应用密钥文件 中存放用于加解密相关数据的密钥,是供专用p k i 指令使用的,关于这点将 会在第三章详细给大家介绍。 ( 5 ) 传输控制传输控制是指对实验平台与计算机通信的控制。传输线 路上,根据不同的需求采用不同的报文格式:明文格式,是指数据不经过 任何处理直接在线路上传输;密文格式,将数据加密后在线路上传输;校 验格式,给数据加上校验码后进行传输,接受方可以根据该校验码对发送 方进行确认;密文加校验格式:将数据加密并加入校验码进行传输,集合 了密文方式和校验方式的特点,保证了数据的安全与完整。 l s 燕山大学工学硕士学位论文 除了实现卡上操作系统之外,作为一个终端加密设备而言,必须对外 提供一个调用接口进行设备访问,以便提供文件服务及加密服务。在实验 平台的软件体系设计中,我们采用了微软的c s p 标准进行实现,原因是该接 口在加密设备调用的实现思想和实现方式都较为流行,其次p 很大一部分 应用都是基于c r y p t a p i 接口进行开发。由于其思想思想也容易接受,下层的 设备功能也基本围绕标准接口的要求进行实现。c s p 接口是以容器的方式对 设备上的各类对象进行管理,其中包括私钥、公钥和证书,我们实验平台 的由于存储容量的限制,目前实验平台支持最大4 个容器,最多8 张个人证 书。 2 - 3 本章小结 本章首先介绍了密码实验平台研究开发过程中涉及到的背景知识,接 着提出了密码实验平台设计的总体方案。具体内容如下: ( 1 ) 密码实验平台研究和开发过程中涉及的背景知识主要包括基本密码 学知识、p k i 体系结构原理及实现、密钥管理知识、智能卡实现技术标准、 几类主流加密服务中间件标准。 ( 2 ) 提出了密码实验平台的总体设计方案,其中包括硬件设计思想及方 案、片内操作系统的设计思想、加密服务中间件设计原理等。 ( 3 ) 针对片内操作系统的设计特点,对文件系统、密钥管理、算法实现、 传输控制、指令系统及安全权限控制等方面进行详细地介绍。实验平台中 片内操作系统的特点是提供了灵活、稳定的文件管理和安全的权限管理, 结合了p 体系结构的特点,开发了适用于p k i 应用体系的指令系统,扩展 了实验平台的应用,同时在设备上实现了安全算法,保障了设备上一些敏 感信息的安全存储及传输。 第3 章密码工程实验平台的硬件设计 第3 章密码工程实验平台的硬件设计 本章主要论述密码工程实验平台的硬件部分。整个硬件系统包括以下 几个模块:主控单元、算法单元、存储单元、通信单元,如图3 1 所示。 图3 1 买验平台系统架构 f i g 3 - 1t h es y s t e ma r c h i t e c t u r eo f e x p e r i m e n t a lp l a t f o r m 主控部分包括:d s p 中央处理器;算法部分包括:r s a 模乘加速芯片、 算法噪声芯片:存储单元包括:s d r a m 存储器,f l a s h 存储器;通信单元 包括:u s b 通信芯片及串口通信芯片;其它部分包括:时钟芯片、电源部 分和f p g a 算法下载部分。 3 1 主控部分 c p u 主控部分采用t t i ( t e x a si n s 咖c t i l r e ) 公司生产的系列产品c 3 x 中的 t m s 3 2 0 v c 3 3 - 1 2 0 芯片。它是一款基5 c c m o s 技术的支持3 2b i t 运算的高速 浮点运算器,工作时钟频率0 6 0m h z ,

温馨提示

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

评论

0/150

提交评论