密钥管理技术研究综述常熟理工计算机学院《数字签名与认证技术》课程学习报告课程学习报告课程名称:数字签名与认证技术设计题目:密钥管理技术研究综述院系:计算机科学与工程学院专业:网络工程班级:07网络班学号:090207206姓名:沈叶指导教师:靳勇开课时间:2009 至2010 学年第 2 学期常熟理工学院计算机科学与工程学院制 1 姓名:杨捷班级:07网络班学号:090207239 学生姓名成绩评语:2 指导教师年月日姓名:杨捷班级:07网络班学号:090207239 题目:密钥管理技术研究综述摘要: 网络安全服务所依赖的基础之一就是对传送数据的加密,不论是链路加密方式还是端到端的加密方式都是密钥技术的应用。
于密钥技术的核心内容是通过加密方法把对大量数据的保护归结为对若干核心参量——密钥的保护,因此网络系统中加秘密钥管理问题就成为首要的核心问题。
密钥的管理综合了密钥的生成、分配、存储、销毁等各个环节中的保密措施。
宗旨:确保使用中密钥的安全。
关键词:1引言传统的安全保护主要通过防火墙、病毒检测、VPN及加密锁等安全体系实现,都是以被动防御为主,导致各种防御措施层出不穷,而且防火墙也越砌越高、入侵检测越做越复杂、恶意代码库越做越大,但是信息安全仍然得不到有效保障。
这些安全保护基本上以软件为基础,附以密钥技术,侧重以防为主。
事实证明这种保护并不是非常可靠而且存在着被篡改的可能性。
因此,在我国目前硬件、操作系统、安全等许多关键技术还严重依赖国外的情况下,对可信计算的要求迫切地摆在用户的面前。
可信计算密码支撑平台不同于传统的安全概念,它将加密、解密、认证等基本的安全功能写入硬件芯片,并确保片中的信息不能在外部通过软件随意获取。
以可信密码模块为基础,中间通过可信密码模块的服务模块,来构建可信计算的密码支撑平台,最终,在这个平台中形成可以有效防御恶意攻击,支撑计算机在整个运行过程中的3个安全体系:④防御病毒攻击的体系,通过一种可信链来防御攻击;②建立一个可信的身份体系,识别假冒的平台;③高安全性的数据保护体系,使数据能够密封在非常安全的一个区域中,达到非法用户进不来,保密数据无泄露的目的。
这些功能的实现大多与各种密钥密切相关。
比如,EK实现平台惟一身份标识,是平台的可信报告根;SMK实现对数据和密钥的存储保护,是平台的可信存储根;PIK代替EK 对运行环境测量信息进行签名从而提供计算平台环境的证言等等。
因此,作为密码技术基本要素之一的密钥管理的好坏直接决定整个可信计算密码支撑平台本身的安全性,是实现终端可信的核心环节,在整个可信计算体系中占有举足轻重的地位。
2密钥的分类和结构可信密码模块密码算法提供对称算法SMS4、非对称算法SM2、杂凑算法SM3,对于算法提供的功能在密钥的基础上提供。
根据密钥的使用范围,平台中的密钥可以分为三类:①平台身份类密钥密码模块密钥(EK)对应公钥、私钥分别表示为PUBEK、PRIVEK。
其中私钥只存在于可信密码模块 3 姓名:杨捷班级:07网络班学号:090207239 中且一个可信密码模块对应惟一的EK。
EK是可信密码模块的初始密钥,是平台可信度的基本元素。
平台身份密钥(PIK)是可信密码模块的身份密钥。
平台身份密钥用于对可信密码模块内部的信息进行数字签名,实现平台身份认证和平台完整性报告。
平台加密密钥(PEK)与平台身份密钥配对构成双密钥(及双证书)。
平台加密密钥可用于平台间的密钥迁移以及平台问的其它数据交换。
②平台存储类密钥(SMK)用于保护PIK和用户密钥UK的主密钥。
③用户类密钥(UK)用于实现用户所需的密码功能,包括机密性、完整性保护和身份认证等。
在信息处理系统中,密钥的某些信息必须放在机器中,总有一些特权用户有机会存取密钥,这对密码系统的安全是十分不利的。
解决这一问题的方法之一是研制多级密钥管理体制。
在可信计算密码支撑平台中,密钥分层体系如图1所示。
密钥的生成和加载EK厂商定义的方式生成,采用256位ECC非对称密钥生成算法。
密码模块密钥可以定义不可撤销和可撤销两种密码模块密钥。
SMK 必须在获取平台所有权时生成,采用128位SMS4对称密钥,平台所有者生成密码模块密钥时,必须在可信密码模块内部生成。
PIK采用256位ECC非对称密钥生成算法为256位的ECC密钥,必须在可信密码模块内部生成,并将PIK公钥,EK公钥和PIK签名发送给可信方,可信方接收到平台发送的信息后,签署PIK证书,可信密码模块使用密码模块密钥采用ECC解密算法解密来激活使用平台身份密钥。
PEKKMC(密钥管理中心)生成,可信密码模块向CA发送PEK证书和PEK密钥请求获取加密PEK证书的对称密钥,导入PEK,并使用SMK解密激活平台加密密钥。
用户密钥都是在TCM 内部产生的,TCM 的功能之一就是创建ECC密钥对和SMS4对称密钥,它们的详细密钥信息在创建后将保存在TCM中,创建时需要输人一个授权信息在以后使用时作为验证。
于TCM的空间有限,必要时将他们以加密的形式放到外部的存储区中。
当要使用这个密钥的时候,首先,在密钥缓冲池中查找并判断此密钥是否已经存在,如果存在,则说明此密钥信息已经存在于TCM中,不需要重新加载,直接就可以在TCM中使用;如果不存在,则说明此密钥信息不在TCM中,需要进行加载。
加载时分为两种:带授权的加载和不带授权的加载。
带授权的加载密钥输入密钥信息及父密钥信息和不带授权的相同外,多了一个在创建的时候自己输入的一个授权信息。
2 姓名:杨捷班级:07网络班学号:090207239 密钥长度决定密钥长度需要考虑多方面的因素:数据价值、数据的安全期、攻击者的资源情况不同信息安全需求计算机计算能力和加密算法的发展。
选择比需要的密钥长度更长的密钥。
对称密钥长度对称密码体制的安全性是算法强度和密钥长度的函数:前者比较重要,后者更容易述。
Kerckhoffs假设,密码体制的安全性依赖于密钥,而不是依赖算法的细节。
穷举攻击所需的时间及所花的代价。
硬件穷举攻击对称密钥的平均时间估计3姓名:杨捷班级:07网络班学号:090207239 公钥密钥长度破译公钥密码的出发点是试图分解大整数选择公钥密码体系时为了决定所需要的密钥长度,必须考虑所需的安全性和密钥的生命周期以及了解当前因子分解技术的发展水平3基于密钥托管技术的密钥监管密码技术可以用来保护合法的机密信息,也可能被非法用户用来躲避法律的打击,因此有必要为国家相关职能部门提供依法获得个人加密信息的渠道。
1993年,美国政府颁布了一份新的通信加密方案,旨在提供高质量的通信安全保障,同时不会威胁到法律机构、公共安全以及国家安全。
该方案是基于特殊的防窜改硬件加密设备和密钥托管系统(KES)来实现的。
它可以使获得授权的政府机构得到一种特殊的设备密钥,该密钥可以解密所有使用Clipper Chip加密的通信信息。
在生成密钥的同时密钥同时分成两个部分,两个独立的托管机构托管密钥。
法律授权的政府机构只有获得所有的两个被托管的密钥部分,才能获得设备密钥。
密钥托管的应用研究主要集中于固定电话、E2mail、传真、数据库访问等通信方式中。
常见的密钥托管方案有下面几种。
密钥托管标准( EES) 它应用了两个特性: (1)一个保密的加密算法———Skip jack算法,它是一个对称的分组密码,密码长度为80bit,用于加/解密用户间通信的信息; (2)为法律实施提供的“后门”部分———法律实施访问域(LEAF, law enforcement access field) ,通过这个访问域,政府部门可在法律授权下,取得用户间通信的会话密钥。
但是EES同时也存在一些问题,比如: 系统使用的算法Skip jack是保密的,托管机构需要大量的数据库来存储托管密钥,如果硬件芯片的密钥被泄露了,整个芯片就永久失效了。
正是于EES存在非常明显的缺陷,遭到了公众的强烈反对而不能推广使用。
门限密钥托管思想 4 姓名:杨捷班级:07网络班学号:090207239 门限密钥托管的思想是将( k, n)门限方案和密钥托管算法相结合的一个领域。
这个思想的出发点是,将一个用户的私钥分为n个部分,每一部分通过秘密信道交给一个托管代理。
在密钥恢复阶段,在其中的任意k个托管代理参与下,可以恢复出用户的私钥,而任意少于k的托管代理都不能够恢复出用户的私钥。
如果k = n,这种密钥托管就退化为( n, n)密钥托管,即在所有的托管机构的参与下才能恢复出用户私钥。
部分密钥托管思想Shamir首次提出了部分密钥托管的方案,其目的是为了在监听时延迟恢复密钥,从而阻止了法律授权机构大规模实施监听的事件发生。
所谓部分密钥托管,就是把整个私钥c分成两个部分x0 和a,使得c = x0 + a,其中a是小比特数, x0 是被托管的密钥。
x0 分成许多份子密钥,它们分别被不同的托管机构托管,只有足够多的托管机构合在一起才能恢复x0。
监听机构在实施监听时依靠托管机构只能得到x0 ,要得到用户的私钥c,就需要穷举搜出a。
时间约束下的密钥托管思想政府的密钥托管策略是想为公众提供一个更好的密码算法,但是又保留监听的能力。
对于实际用户来说,密钥托管并不能够带来任何好处,但是从国家安全出发,实施电子监视是必要的。
因此,关键在于寻找能够最大程度保障个人利益的同时又能保证政府监视的体制。
A1Lenstra提出了在时间约束下的密钥托管方案,它既能较好地满足尽量保障个人利益,同时又能保证政府监视的体制。
时间约束下的密钥托管方案限制了监听机构监听的权限和范围。
方案有效地加强了对密钥托管中心的管理,同时也限制了监听机构的权力,保证了密钥托管的安全性更容易被用户信任与接受。
4 基于身份的密码系统基于身份的密码系统是一种特殊的公开密钥系统,在这种系统中,用户密钥的公开部分可以用户的身份标识比如Email变换得到。
1984年, Shamir为了简化在Email系统中证书管理的复杂性,提出了基于身份的加密算法。
在这个密码体制提出后的很长一段时间,并没有能够建立起令人满意的实用系统,直到2000年Joux开创性的研究成果,使得这个问题得到了突破性发展。
1993年,Menezes等人发现Weil Pairing能够被用来攻击某些椭圆曲线系统, 1994年, Frey等人采用Tate Pairing进行相似的攻击。
很长时间内, Pairing只能用来进行密码分析。
2000年后Joux发现Pairing不仅用于密码分析,而且可以用来构建密码系统,双线性使得许多构建的系统具有了非常有趣的特点。
很快,人们利用Pairing构建了基于身份的数字签名,密钥协商,鉴密,门限解密等方案。
基于身份的密码系统不需要通过证书管理用户的公开密钥,因此大大简化了密钥管理的复杂性。