




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密码编码学与网络安全
电子工业出版社2006-2007第7章对称密码算法应用7.1密码功能的设置 ↓7.2传输保密性 ↓7.3密钥分配 ↓7.4 随机数 ↓7.a 案例分析 ↓
从加密到其他对称加密技术主要用来抵抗对通信的窃听,用来保护存储文件,有时候也可以用来产生鉴别码,甚至用来产生随机数。使用对称加密算法有许多细节需要考虑,如算法的选定、密钥的产生及大小、会话密钥协商方法、从口令到密钥衍生方法、算法使用的位置及层次,以及和其他密码安全特性(如鉴别和签名)的结合等问题。7.1密码功能的设置攻击可能发生的位置-Ⅰ/Ⅱ/Ⅲ链路加密端到端加密攻击可能发生的位置-Ⅰ局域网LAN上半数以上的安全威胁来自内部广播式网络(以太网原理)集线器Hub交换机Switch拨号入LAN的NDIS-winpcap-libpcap-tcpdump(户内/户外)搭线窃听远程入侵控制攻击可能发生的位置-Ⅱ出入口(属于LAN)交换机Switch路由器Router网关Gateway本地交换中心公共网络:通信子网电信营运商网络干线、光纤、交换中心管理职能的滥用攻击可能发生的位置-Ⅲ无线网络WLANIEEE802.11i蓝牙Bluetooth/IEEE802.15WPAN兼容微波发射无线漫游*专题阅读:WAPI*
安全隐患示意图
链路加密在一段同质导线的两端链路两端分别设置加密设备(硬件)要求所有线路段上都加密才行可以加密整个包【目的地址+源地址+控制+数据+校验】但是在路由器中得解密成明文*位于第一/二层(物理层和数据链路层)*适合高度内聚的单一主体如军队端到端加密端到端加密存在于两个程序进程之间只是在源和目的两端架设保密设备只能加密有效[数据]载荷部分适合公共商用网*因此不能避免流量分析*位于在3+层网络层VPN、传输层SSL、应用层PGP*适合分散用户如一般的个人、公众、商业应用等Linkvs.End-to-End
不同加密策略实现
7.2传输保密性对称密码系统选择合适的算法需求场合,强度,速度,内存,实现代码考虑标准AES,DESRC4/5/6,IDEA,Blowfish,…(stream,block)实现代码使用Open/Free实现,如OpenSSL中分离需要部分vs.自己实现或改造(NO)商业实现(OS中自带,如MSCryptoAPI/CSP)密钥和模式选择ECB,CBC,CFB,OFB,CTS,CM关于通信流量分析TrafficAnalysis流量发生本身就会泄漏信息参与通信双方的身份从IP地址就可以知道很多信息报文统计信息:长度,数量,频度,模式等关联事件:意外事件结合固定格式的探测中途岛战役(“AK”)抵抗通信流量分析-1:传输填充链路加密可使用填充抵抗流量分析没有数据发送时,就发送噪音(随机数)数据可以掩盖通信的进行,以抵抗流量分析攻击适用于军队等单位端到端加密不能使用填充抵抗流量分析因为公共网络/商业应用注重价格和效率,不能靠平时发送随机数掩盖流量抵抗流量分析之传输填充
抵抗通信流量分析-2:隐通道隐通道(CovertChanne)在看似正常的通信中隐藏了实现约定的信息不同于加密,它让对手感觉不到可能的秘密在传输阈下信道subliminalchannelOnionRoutingOnionRoutingOnionRoutingisaninfrastructureforprivatecommunicationoverapublicnetwork.Itprovidesanonymousconnectionsthatarestronglyresistanttobotheavesdroppingandtrafficanalysis.Onionrouting'sanonymousconnectionsarebidirectionalandnearreal-time,andcanbeusedanywhereasocketconnectioncanbeused.
OnionRoutingresearchproject
TorTor能一定程度上掩盖流 量去向,但并不彻底7.3密钥分配概说如何协商好初始密钥是个大问题,必要时必须手工(这最后归结为PKI体系中的根证书)层次式的密钥管理常用在层次式的组织,如银行等部门使用旧密钥加密传输新密钥是一种常用的方法自动协商,如Diffie-hellman密钥协商方法,有其方便和局限性密钥应该取自好的随机数密钥达成一方产生,传递到另一方另外的安全信道,如面对面、电话、信函、信使等如果从前有一旧密钥,可以借以传递新密钥有可信第三方(中心)的中心和用户有各自的通信密钥(用户主密钥)中心产生,分发给双方可通过中心转交双方协商:分布式秘密计算使用不安全信道协商计算密钥DH密钥协商协议密钥规模如果事先分配2人一组用1个密钥(或每种应用)n人就得n×n-1/2个钥,每人得n-1个更新问题使用时间越长,泄漏的关于密钥的信息越多,因此主密钥+会话密钥(sessionkey)模式。如果需要时才达成安全信道/可靠手段Diffie-Hellman层次式KDC单个KDC多个KDC层次式KDC密钥分配方案(1)准备KDC密钥分发中心用户,和KDC有共享的唯一密钥,如Ka、Kb假设的方法 或者1AliceKDC 1AliceKDCEKa(IDa,IDb,Ks) EKa(IDa,IDb,Ks)2KDCBob 2AliceKDCEKb(IDa,IDb,Ks) EKb(IDa,IDb,Ks) 3AliceBob EKb(IDa,IDb,Ks)问题没有身份的鉴别KDC和A之间相互的身份判定B和A之间的身份识别不能抵抗会话重放没有关于时间或会话一次性标识的信息TABTABPopek,Kline的方案过程1AliceKDC,请求和Bob通信请求(IDa,IDb,N1) N1防止重放2AliceKDC,响应EKa(请求,Ks,EKb(Ks,IDa))3AliceBobEKb(Ks,IDa)4AliceBobEKs(N2) N2防止重放5AliceBobEKs(f(N2))P,K方案图示
不同的流程形式(1)Wide-MouthFrog协议Needham-Schroeder协议A-T-A-B A-T-A-B-A-BYahalom协议 Otway-Rees协议A-B-T-A-B A-B-T-B-ATABTABTABTAB不同的流程形式(2)Kerberos协议 DASS协议A-T-A-B-A A-T-A-B-A-BNeuman-Stubblebine协议 Denning-Sacco协议A-B-T-A-B A-T-A-BTABTABTABTAB不同的流程形式(3)Woo-Lam协议A-T-A-B-T-B-A-BTAB安全协议的形式化分析BAN逻辑SVO逻辑密钥使用注意事项密钥(key)不同于通行字/口令(passwd)用口令衍生出的密钥的质量一般也是不好的(字典攻击),必要时遵循PKCS#5密钥寿命必须勤更换,且避免重复循环使用密钥要分类:不同的用途的密钥一定要分开主密钥/会话密钥文件加密密钥/PIN密钥签名的钥/加密的钥密钥的选择随机数,好的随机数秘密(密钥)共享秘密分割(多人共同持有秘密)秘密K需要t个人联合打开产生随机数R1、R2、…、Rt-1、Rt=K⊕R1⊕R2…⊕Rt-1t个人分别持有Ri恢复秘密K=R1⊕R2…⊕Rt-1⊕Rt秘密的门限共享(m,n)门限方案秘密的恢复需要n个人中的m个参与即可Lagrange插值方案以(3,n)门限方案为例: 取多项式f(x)=ax2+bx+K,a、b是随机数,K是秘密对于成员i=1…n,给予f(xi)=axi2+bxi+K,一般取xi=i恢复秘密时只需n中的三个(x、y)点即重构f(x)其他方法,见AC2ed7.4随机数随机数的用途用做会话密钥[需保密]用来产生公钥[需保密]如产生RSA密钥时素数p和q鉴别方案中用来避免重放攻击nonce[不需保密]每次使用不同的随机数很多挑战-应答协议里的挑战值[不需保密]saltin/etc/passwdetc[不需保密]* 安全不仅依赖于密钥的保密,也依赖于随机数的质量随机数的质量要求均匀分布在任何尺度上看其统计规律是均匀的比如0、1的平均各半字节0~255的出现概率是1/256双字节0~65535的出现概率是1/65536等等独立性没有周期,也无法推导或预测类似洗牌、抛硬币、摇奖等*无理数(不是密码学上期望的随机数)e,π,√2,真随机数来源确实有,比如抛硬币,摇奖器具,搅拌器物理噪声发生器,白/背景噪声、热运动、齐纳击穿但都不实用尤其不适合软件产生数字计算机本身不能产生真正的不可预测的随机数有限状态自动机专用硬件(芯片/板卡)IntelRandomNumberGenerator/dev/random,/dev/urandom对真随机数的改进处理:用md5等消除偏差伪随机数列发生器随机数vs.伪随机数伪随机数公设1955年,Golomb关于伪随机数的三个公设↓伪随机数数发生器 PRNG伪随机数的种子 seed有周期n线性同余方法线性反馈移位寄存器linearfeedbackshiftregister伪随机数产生器:线性同余迭代是一般性的思路 x0=seed x1=f(x0) x2=f(x1) x3=f(x2) … xi=f(xi-1) 即x=f(x)迭代线性同余线性同余方法X0=
seedXi+1
=(aXi+b)%m要求能够通过随机性测试循环周期为m若m是素数合理取a可时周期为m-1 Xi+1
=aXi%m线性同余推荐参数IBM使用的a=7^5,m=2^31-1(素数) abm2^31812128411134456 456151349243000 7141547732592002^32930149297233280 40961508897140252^3324163744411771875线性同余是可预测的线性同余不能产生密码学要求的随机数随机性表现和抛硬币出来的几乎没有差别但是完全依赖于种子x0的选取在选定了种子后,就是确定可预测的了 x1=ax0+c%m x2=ax1+c%m 求a、c、m x3=ax2+c%m线性同余可改造rand()inCstaticlongholdrand=1L;voidsrand(unsignedintseed) { holdrand=(long)seed; }intrand(void) { return(((holdrand=holdrand*214013L +2531011L)>>16)&0x7fff); }LFSR-LinearFeedbackShiftRegister* morewhenStreamCipher基于LFSR的流密码实现方法Threegeneralmethodsareemployedtoreducethisproblem(LFSRisalinearsystem)
inLFSR-basedstreamciphers:*Non-linearcombinationofseveralbitsfromtheLFSRstate;*Non-linearcombinationoftheoutputbitsoftwoormoreLFSRs(seealso:shrinkinggenerator);or*IrregularclockingoftheLFSR,asinthealternatingstepgenerator.Non-linearcombinationoftheoutputbits
关于迭代的复杂性例子Mandelbrot,JuliaSetZ
=
Z2
+
C GIF动画:用来产生随机数或加密(chaoscryptography)MandelbrotsetMandelbrotJuliaset
基于加密算法的随机数产生方法加密计数器值NN+1重复加密DES-OFBANSIX9.17PRNG
BBSPRNG(byBlum,Blum,Shub)方法
x0=seed,n=pq,p\q=4k+3 xi=xi-12%n 取xi的最低比特输出特点很好的不能预测性质预测等价于解离散对数问题很慢,因为要求n很大*只适合密码学上的应用BitsproducedbyBBSgeneratorisi
zi
020749
11431351217767113970480489992051740511680649174566318694420918689401017704601113792201212317511386300141143860151486311613301511710606511845870019137171120480600cryptographicallysecurepseudorandombitgenerators(CSPRBG)n=192649=383×503seed=101355^2modn
=20749bits=110111010ofaTuringMachineJohnvonNeumann
observedin1951that "Anyonewhoconsidersarithmeticalmethodsofproducingrandomdigitsis,ofcourse,inastateofsin".编程和实现PRNGinOpenSSL
voidRAND_add(constvoid*buf,intnum,doubleentropy);intRAND_bytes(unsignedchar*buf,intnum);intRAND_pseudo_bytes(unsignedchar*buf,intnum);randinPGP产生RSA钥对产生会话密钥和IV推荐阅读:PKCS#5PKCS-PublicKeyCryptographyStandards
PKCS#5-Password-BasedCryptographyStandardkeyderivationfunctionsencryptionschemesmessage-authenticationschemesASN.1syntaxidentifyingthetechniques
NotationC ciphertext,anoctetstringc iterationcount,apositiveintegerDK derivedkey,anoctetstringdkLenlengthinoctetsofderivedkey,apositiveintegerEM encodedmessage,anoctetstringHash underlyinghashfunctionhLen lengthinoctetsofpseudorandomfunctionoutput,apositiveintl lengthinblocksofderivedkey,apositiveintegerIV initializationvector,anoctetstringK encryptionkey,anoctetstringKDF keyderivationfunctionM message,anoctetstringP password,anoctetstringPRF underlyingpseudorandomfunctionPS paddingstring,anoctetstringpsLenlengthinoctetsofpaddingstring,apositiveintegerS salt,anoctetstringT messageauthenticationcode,anoctetstringT1,…,Tl,U1,…,Uc intermediatevalues,octetstrings01,02,…,08 octetswithvalue1,2,…,8\xor
bit-wiseexclusive-oroftwooctetstrings|||| octetlengthoperator|| concatenationoperator<i..j> substringextractionoperator:extractsoctetsithroughj,0
i
jKeyDerivationFunctionsPBKDF1(P,S,c,dkLen): T1=Hash(P||S)
T2=Hash(T1)
…
Tc=Hash(Tc-1)
DK=Tc<0..dkLen-1>.PBKDF2(P,S,c,dkLen)l=dkLen/hLen,
r=dkLen–(l–1)
hLen.T1=F(P,S,c,1),
T2=F(P,S,c,2),
…
Tl=F(P,S,c,l),where
F(P,S,c,i)=U1\xorU2\xor\xorUc,where
U1=PRF(P,S||Int(i)),
U2=PRF(P,U1),
…
Uc=PRF(P,Uc-1).DK=T1||T2||
||Tl<0..r-1>PBES1DK=PBKDF1(P,S,c,16).K=DK<0..7>,
IV=DK<8..15>.EM=M||PS,
PS=01—if||M||mod8=7;
PS=0202—if||M||mod8=6;
...
PS=0808080808080808—if||M||mod8=0.EncrypttheencodedmessageEMwiththeunderlyingblockcipher(DESorRC2)incipherblockchainingmodeundertheencryptionkeyKwithinitializationvectorIVtoproducetheciphertextC.PBES2DK=KDF(P,S,c,dkLen).EncryptthemessageMwiththeunderlyingencrypti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45328-2025碳酸锂、单水氢氧化锂、氯化锂中磁性异物金属颗粒的测定洁净度仪测试法
- 受众画像创建方法试题及答案
- 2025年茶艺师考试常见领域及试题及答案
- 健康管理师考试思维导图试题及答案
- 妇幼保健员常见疾病应对试题及答案
- 软件专业技术考试应对策略与试题及答案
- 2025年健康管理师考试社区健康试题及答案
- 随机过程与分析试题及答案
- 对2024年人力资源管理师考试的全面指南试题及答案
- 妇幼保健员综合能力提升试题及答案
- 委托别人办病历委托书
- 请护工照顾老人协议书
- 幼儿园大班语言课件:《春天在哪里》
- 零售药店医保统计信息管理制度
- 健康证的管理制度
- DZ∕T 0272-2015 矿产资源综合利用技术指标及其计算方法(正式版)
- 2024北京通州区高三一模英语试题及答案
- 部编版《道德与法治》四年级下册第6课《有多少浪费本可避免》精美课件
- 叉车理论考试题库
- 中枢性性早熟诊断与治疗专家共识
- 中国短暂性脑缺血发作早期诊治指导规范
评论
0/150
提交评论