您好,欢迎访问三七文档
密钥管理主讲人:裴士辉e_mail:shihui_pei@sina.com电话:13694302598密钥管理所有的密码技术都依赖于密钥。密钥的管理本身是一个很复杂的课题,而且是保证安全性的关键点。密钥管理方法因所使用的密码体制(对称密码体制和公钥密码体制)而异。密钥类型基本密钥(BaseKey)又称初始密钥(PrimaryKey),用户密钥(Userkey),是由用户选定或由系统分配给用户的,可在较长时间(相对于会话密钥)内由一个用户所专用的密钥。会话密钥(SessionKey)即两个通信终端用户在一次通话或交换数据时使用的密钥。–文件密钥(Filekey):用于加密文件;–数据加密密钥(DataEncryptingKey):用于加密数据。密钥类型密钥加密密钥(KeyEncryptingKey)用于对会话密钥或文件密钥进行加密时采用的密钥。又称辅助(二级)密钥(SecondaryKey)或密钥传送密钥(keyTransportkey)。通信网中的每个节点都分配有一个这类密钥。主机主密钥(HostMasterKey)它是对密钥加密密钥进行加密的密钥,存于主机中。在公钥体制下,还有公开密钥、秘密密钥、签名密钥之分。密钥类型将用于数据加密的密钥称三级密钥;保护三级密钥的密钥称二级密钥,也称密钥加密密钥;保护二级密钥的密钥称一级密钥,也称密钥保护密钥。例如:如用口令保护二级密钥,那么口令就是一级密钥。所有的密钥都有生存期密钥的生存周期:授权使用该密钥的周期。原因:1.拥有大量的密文有助于密码分析;一个密钥使用得太多了,会给攻击者增大收集密文的机会;2.假定一个密钥受到危及或用一个特定密钥的加密/解密过程被分析,则限定密钥的使用期限就相当于限制危险的发生。密钥的生存期一个密钥主要经历以下几个阶段:1.产生(可能需要登记)2.分配3.使用4.更新/替换5.撤销6.销毁密钥产生手工/自动化选择密钥方式不当会影响安全性使密钥空间减小差的选择方式易受字典式攻击攻击者并不按照数字顺序去试所有可能的密钥,首先尝试可能的密钥,例如英文单词、名字等。(DanielKlein使用此法可破译40%的计算机口令),方法如下:(1)用户的姓名、首字母、帐户名等个人信息(2)从各种数据库得到的单词(3)数据库单词的置换(4)数据库单词的大写置换(5)对外国人从外国文字试起(6)尝试词组好的密钥的特点真正的随机避免使用特定算法的弱密钥双钥系统的密钥必须满足一定的关系选用易记难猜的密钥较长短语的首字母,词组用标点符号分开采用散列函数不同等级的密钥的产生方式不同主机主密钥安全性至关重要,故要保证其完全随机性、不可重复性和不可预测性。可用投硬币、骰子,噪声发生器等方法产生密钥加密密钥数量大(N(N-1)/2),可由机器自动产生,安全算法、伪随机数发生器等产生会话密钥可利用密钥加密密钥及某种算法(加密算法,单向函数等)产生。X9.17密钥产生加密加密加密TiViVi+1Ri其中加密EK(X)表示用密钥对X进行三重DES加密。K是密钥。V0是秘密的64位种子。T是时间标记。Ri是预产生的随机密钥。(())ikkiiREETV1(())ikkiiVEETR密钥交换主密钥的分配方式Diffie-Hellman算法主密钥的分配方式利用安全信道实现1.直接面议或通过可靠信使递送2.将密钥分拆成几部分分别传送Diffie-Hellman算法Alice和Bob协商一个大素数n和模n的本原元g,n和g不用保密。1.Alice选取一个大的随机整数x,并且发送给BobX=gxmodn2.Bob选取一个大的随机整数y,并且发送给AliceY=gymodn3.Alice计算k=Yxmodn=gxymodn4.Bob计算k’=Xymodn=gxymodn站间协议协议假定Alice和Bob彼此有对方的公开密钥证书1.Alice产生随机数x,并把X=gxmodn发送给Bob2.Bob产生随机数y,计算k=Xymodn=gxymodn,并发送给Alice如下消息:Y=gymodn,Ek(Sskb(X,Y))3.Alice也计算k.她对Bob发送的消息解密,并验证他的签名。然后发送给Bob如下消息:Ek(Sska(X,Y))4.Bob解密消息并验证Alice的签名三方的Diffie-Hellman算法1.Alice选取一个随机整数x,发送给BobX=gxmodn2.Bob选取一个随机整数y,发送给CarolY=gymodn3.Carol选取一个随机整数z,发送给AliceZ=gzmodn4.Alice发送给BobZ’=Zxmodn5.Bob发送给CarolX’=Xymodn6.Carol发送给AliceY’=Yzmodn7.Alice计算k=(Y’)xmod=gxyzmodn8.Bob计算k=(Z’)ymod=gxyzmodn9.Carol计算k=(X’)zmod=gxyzmodn秘密分割在某些情况下,通常必须由两人或多人同时参与才能生效,这时都需要将秘密分给多人掌管,并且必须有一定人数的掌管秘密的人同时到场才能恢复这一秘密。秘密分割门限方案thresholdschemes设秘密s被分成n个部分信息,每一部分信息称为一个子密钥或影子,由一个参与者持有,使得:①由k个或多于k个参与者所持有的部分信息可重构s。②由少于k个参与者所持有的部分信息则无法重构s。则称这种方案为(k,n)秘密分割门限方案,k称为方案的门限值。Shamir门限方案Shamir门限方案是基于多项式的Lagrange插值公式的。设{(x1,y1),…,(xk,yk)}是平面上k个点构成的点集,其中xi(i=1,…,k)均不相同,那么在平面上存在一个惟一的k-1次多项式f(x)通过这k个点。若把密钥s取作f(0),n个子密钥取作f(xi)(i=1,2,…,n),那么利用其中的任意k个子密钥可重构f(x),从而可得密钥sShamir门限方案:秘密的分割设GF(q)是一有限域,其中q是一大素数,满足q≥n+1,秘密s是在GF(q)\{0}上均匀选取的一个随机数,表示为s∈RGF(q)\{0}。k-1个系数a1,a2,…,ak-1的选取也满足ai∈RGF(q)\{0}(i=1,2,…,k-1)。在GF(q)上构造一个k-1次多项式f(x)=s+a1x+…+ak-1xk-1。n个参与者记为P1,P2,…,Pn,Pi分配到的子密钥为f(i)。Shamir门限方案:秘密的重建如果任意k个参与者要想得到多项式f(x)和秘密s,112,,,1kiikPPiiin1111(mod)()kkkljjljlljisfiqii11()()(mod)()kkljjljlljxifxfiqii例5.1设k=3,n=5,q=19,s=11,随机选取a1=2,a2=7,得多项式为f(x)=(7x2+2x+11)mod19分别计算f(1)=(7+2+11)mod19=20mod19=1f(2)=(28+4+11)mod19=43mod19=5f(3)=(63+6+11)mod19=80mod19=4f(4)=(112+8+11)mod19=131mod19=17f(5)=(175+10+11)mod19=196mod19=6得5个子密钥。•如果知道其中的3个子密钥f(2)=5,f(3)=4,f(5)=6,就可按以下方式重构s:3125104420mod191832351235155525mod196232513236666mod196525332(1)(1866)mod1911s练习Supposewehavea(2,4)Shamirsecretsharingschememodtheprimep=13.ParticipantsA,B,Caregiventhefollowingvalidshares:A:(1;11);B:(2;3);C:(3;8):(a)Whatisthesecret?(b)SupposeDhasthepoint(4,7).Isthisavalidshare?Explainwhyorwhynot.练习题•分权管理假设部队中一个班10个人,其中士兵8个人,副班长1人,班长一人假设一件事情,4个士兵可以决定或者2个士兵加上副班长可以决定或者班长可以决定请问如何设计密钥共享方案?下此课内容缓冲区溢出下次课再见!
本文标题:4-2密钥管理
链接地址:https://www.777doc.com/doc-3222647 .html