华中科技大学研究生课程考试答题本考生姓名潘鹏考生学号M201372817系、年级计算机技术硕士2013级类别计算机技术考试科目密码学与访问控制理论考试日期2013年11月20日评分题号得分题号得分总分:评卷人:注:1.无评卷人签名试卷无效。2.必须用钢笔或圆珠笔阅卷,使用红色,用铅笔阅卷无效。1.试描述OpenID认证的基本框架和步骤。(6分)基本框架:OpenID是一个基于URI/URL的身份系统,一个OpenID身份标识是一个简单的URL,用户在登陆一个网络应用/服务的时候输入的是一个URL作为用户名。OpenID是一个以用户为中心的身份标识管理框架,其采用身份管理认证服务和网络应用服务相分离的方法,和其他大多数的身份认证系统的一个基本不同是OpenID是完全去中心化的。基本认证步骤:OpenID认证框架下,一个最终用户在一个启用了OpenID支持的网站上OpenID的表单输OpenIDurl后,这网站会将用户定位到用户所使用的OpenID服务提供者,在那里通过各种需要的凭证来进行登录并完成认证。认证完成以后,OpenID服务提供者服务器会将恋童所需凭证一起将用户重定向到它先前所访问的网站。2.描述PKI/CA系统中各主要部件的功能及证书颁发的基本流程。(6分)证书机构(CA):也称认证中心,作为权威的、可信赖的、公正的第三方机构,专门负责发放、撤销和管理数字证书。数字证书的作用是验证身份、生成和校验数字签名、交换加密数据等。登记机构(RA):RA系统是CA功能的延伸。它负责证书申请者的信息录入、审核以及证书发放等工作;同时,对发放的证书完成相应的管理功能。RA系统是整个CA中心正常运营不可缺少的一部分。资料库:证书库存放了经CA签发的证书和已撤销证书的列表。证书库通过LDAP目录技术实现网络服务,能够支持大量用户同时访问,对检索请求有较好的响应能力。证书颁发基本流程:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证书发行机构发布。数字证书各不相同,每种证书可提供不同级别的可信度。可以从证书发行机构获得您自己的数字证书。3.置换和代换是分组密码设计的主要技术,试以SPN密码结构为例,描述置换和代换在分组密码设计过程中分别所起的作用。(6分)一个SPN就是一类特殊的迭代密码,明文和密文都是长度为lm的二元向量(即lm是分组密码的分组长度)。一个SPN包括两个变换,我们首先用异或操作混入该轮密钥,再用代换对l个m长度的比特进行代换,最后对l个m比特的小组进行置换。4.描述利用线性密码分析方法分析分组密码的过程。(8分)假使能够在一个明文比特子集和最后一轮即将进行代换的输入状态比特子集之间找到一个概率线性关系,换句话说,即存在一个比特子集使得其中元素的异或表现出非随机的分布。现在假设一个攻击者拥有大量的用同一未知密钥加密的明-密文对。对每一个明-密文对,我们将用所有可能的候选密钥来对最后一轮解密密文。对每一个候选密钥,我们计算包含在线性关系式中的相关状态比特的异或值,然后确定上述的线性关系是否成立。如果成立,就在对应于特定候选密钥的计数器上加1。5.CryptoAPI是微软在Windows系统中嵌入的一套公钥密码体制,提供对称加密、非对称加密、散列、签名等密码学的接口,如果你有一个自己开发的加密卡,希望Windows的CryptoAPI调用你的加密卡而非缺省的软件加密算法,需要编写CSP(CryptographicServiceProvider)。试简要描述编写和使用CSP的基本方法。(8分)CSP为Windows平台上加密运算的最核心层实现,是真正执行加密工作的独立的模块。CSP与Windows的接口以DLL形式实现。要实现自己的CSP就需要使用微软CryptoAPI,它是Win32平台下为应用程序开发者提供的数据加密盒安全的编码接口。同时微软还提供了CryptoAPICOM方便我们使用接口函数,他封装了CSP的复杂操作,第三方开发者只需要调用一两个函数,就可以完成指定的功能。1、实现SPI接口;2、加密签名算法实现;3、CSP密钥库及密钥容器实现;4、申请证书,传递自己的CSP名称;6.简述多级密钥管理的基本思想,并举例说明其应用。(6分)多级密钥中,顶层密钥为主密钥,用于对下一级密钥信息进行加密,最低层为工作密钥,对数据进行加/脱密。例如:数据库加密需要实行二级密钥管理。一级密钥为主密钥,二级密钥为工作密钥。主密钥的作用是对二级密钥信息加密生成工作密钥。工作密钥用于对数据库数据的加/脱密。工作密钥信息的长度为64位,前56位是记录名,需要带校验地存储在数据库表中。后8位是数据库表的列(字段)信息(该字段在表中的某些特征),它们是临时生成的。为了存储记录名数据,每个数据库表增加了一个记录名字段,在用户录入数据时,系统自动生成记录名数据,使每条记录都有一个记录名并做到各记录名数据互不重复。7.如何利用“中间人”的方法攻击Diffie-Hellman协议,并谈谈该协议可能的改进方法。(8分)中间人虽然很难解决离散对数问题,但是可以破坏Diffie-Hellman协议传输过程中的交换信息,但接受方并不知道信息已被破坏,使得双方得不到一致的密钥,接收方最终无法正常解密。我认为该方法还应该加上数字签名为辅,防止传输的交换密钥信息被篡改。8.试设计一个具有加密保护、完整性检测和数字签名功能的数字信封。(6分)首先用对称密钥加密密钥对内容进行加密,然后使用接收方的公钥或者共享的对称密钥对加密密钥进行加密。加密的内容和密钥形成报文,然后用哈希函数提取出报文的摘要并用接收方的私钥进行加密,然后将加密的摘要和秘密报文一起发送给接收方,接收方首先用与发送方相同的hash函数提取报文摘要,然后和用发送方的公钥解密加密的摘要,比较两个摘要是否一致,不一致则可能被篡改。如果一致可用共享对称密钥或者接收方的私钥对报文中的加密密钥进行解密,获得对称解密密钥,到此秘密信息被正确解密。9.假设RSA公钥密码体制中7,11pq,加密密钥7e,试对明文50m用解密密钥进行数字签名,并验证数字签名的正确性。(6分)P=7,q=11那么n=7x11=77,ǿ(n)=(7-1)(11-1)=60;b=7,那么a=b-1mod/ǿ(n),a=-17mod60=43;对m加密操作是:e(m)=507mod77;对m解密操作是:d(m)=[e(m)]43mod77。10.假设p是一个素数,*pZ上的ElGamal公钥密码体制为:***,,{(,,,):(mod)}ppppbbpZZZPCK,*pbZ为本原元,,其中,,pb是公钥,是私钥。对于(,,,)Kpb以及一个(秘密)的随机数1pkZ,定义加密函数为12(,)(,)Kexkyy,其中12(mod),(mod)kkybpyxp。试求出其解密函数12(,)Kdyy,并简要分析算法的安全性。(6分)11.在访问矩阵模型中,基于客体的授权表和基于主体的能力表各有什么优缺点?(6分)基于客体的授权表:很容易知道哪些主体对客体有哪些访问权限,但是如果对某客体可以访问的主体很多,那么授权表会变得很长,占据较大的存储空间,并且在监控程序作判别时,也将话费较多的CPU时间。基于主体的能力表:根据每一主体s的能力表,可以决定s可否对给定的客体访问以及可以进行什么样的访问。能力表在时间效率和空间效率上都优于访问矩阵,但能力表也有许多不便之处,如对于一个给定的客体,要确定所有有权限访问它的主体,用户生成一个新的客体并对其授权或删除一个客体时都显得较为麻烦。12.BLP模型的三条安全特性,反映了一种什么样的安全策略?(6分)自主安全性、简单安全性、一致性反映了BLP下读上写的安全策略。13.RBAC96模型簇由哪几个模型组成?各个模型的主要安全功能和区别是什么?如何利用RBAC96实现强制访问控制?(6分)RBAC96是一个模型族,其中包括RBAC0~RBAC3四个概念模型;RBAC0定义了完全支持RABC概念的任何系统的最低需求;RBAC1中增加了角色的分级概念,一个角色可以从另一个角色继承许可权;RBAC2增加了一些限制,强调在RBAC的不同组件中在配置方面的一些限制。RBAC96通过对角色分等级、增加限制条件,通过角色的继承和互斥实现了强制访问控制。14.CPABE是一种基于密文策略的属性加密算法,假设一个单位的组织机构图如图1所示,试利用CPABE设计一种密钥管理和加密方案,实现如下安全要求:(8分)(1)同一部门的用户之间可以互访加密文件;(2)不同部门的用户之间不能互访加密文件;(3)上级部门的用户可以查看下级部门用户的加密文件。图1某单位组织机构图密钥管理:系统共用一个公钥,然后系统根据要分配给用户的属性来分配私钥,并不是不同的用户就一定要具有不同的属性。按树形结构分配相应属性。可以让上级的密钥体系包含下级密钥体系。不同部门的体系密钥没有交集可以实现。加密方案:比如我们假设董事会是最上层结构,下属俩个部门财务部和技术部。我们给财务部分配属性集合M={M1,M2,M3},给技术部分配属性集合T={T1,T2,T3},这俩个任何一个不能是另外一个的子集,否则属性多的一方可以解密另一方。而董事会分配的属性可以是MUT,这样就可以解密下级文件。我们还可以如下来做:主体安全性包括标示(ID),密级(SL),业务范围(WR)。用户A主管综合部,我们把A描述为ID=A,SL=1,WR=董事会.总经理.执行经理.综合部。其中”.”用来标示树状结构的上下级关系。如果希望密级2以上或者综合部及以上部门可以查看,我们将客体定义如下:SL=2orWR=*.综合部,在这种策略下面,很明显我们可以实现上级对下级的访问,同一个部门可以内部访问,而不同部门不能互访。15.WebService是一种常用的云存储接口,试结合WebService和云存储的特点,分析系统中存在的安全问题和可能的解决方法。(8分)第一种是文件的可用性,防止这些文件在任何情况下丢失、文件的完整性。1、周期性的数据完整性校验去恢复数据,以及数据中心间的高速连接,存储单元的RAID方案,文件分级策略,是根据文件的重要性不同。2、对全局做用户的纵向切分,把用户分成很多的集群,当某个集群出现了不可预知的天灾人祸的时候,也只会影响到这部分用户,不会影响到全局用户;第二是文件的机密性,防止文件在任何非授权情况下泄露。1、在云端把文件分片散列混淆,分布在不同的机房、不同的用户之间,即使用户拿到,也只是片段而已。2、是数据元信息加密。3、数据本身是加密的,即使拿到也是密文。用户一人一密,用户端文件操作流水,这样用户就可以看到其他人对自己的文件在什么时间什么地点做了哪些操作。4、匿名举报机制,如果你认为此人的操作存在问题的话,可以立刻举报;第三类是文件传播安全,因为一旦传播开来会不会有木马、病毒,会导致用户受到损失。云盘文件的传播中,接入云查杀,PC可执行程序的云查杀、手机安装包、文档宏病毒查杀等。