您好,欢迎访问三七文档
密码工程实践指南RSASecurity'sOfficialGuidetoCryptography马利2017.3.28目录一.密码学的用途二.对称的密码学三.对称密钥管理四.密码分发与公钥密码学五.数字签名六.PKI和X.509标准七.网络层和传输层安全协议八.应用层安全协议九.硬件解决方案:克服软件的限制十.关于数字签名的其他话题十一.失败的实施-非法闯入十二.成功的实施-遵从标准密码学的用途•当今社会、生活中有太多需要保密的信息•个人信息•组织信息•计算机系统提供的安全•默认操作安全:权限•绕过系统的攻击:数据恢复和内存重构密码学绝不是确保数据安全的唯一工具,它也不能解决所有的安全问题。它只是许多保护手段中的一个。此外,密码学不是坚不可破的。所有的密码都可以被攻破,更重要的是,如果使用不当,它就无法真正增加安全性。密码学的用途•认证(authentication)•非否认性(nonrepudiation)-不可抵赖性•保密性(privacy)•数据完整性(dataintegrity)问题:Authentication和authorization有什么区别?截获篡改伪造中断被动攻击主动攻击目的站源站源站源站源站目的站目的站目的站网络攻击模型计算机网络上的通信面临以下的四种威胁:(1)截获——从网络上窃听他人的通信内容。(2)中断——有意中断他人在网络上的通信。(3)篡改——故意篡改网络上传送的报文。(4)伪造——伪造信息在网络上传送。截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。密码学密码系统密码编码学家密码分析学家开发破译、寻找弱点密码学模型Pao-ChiTTP,可信赖第三方Satomi,黑客GwenDanielMichelleAlexander会话密钥如何分发非对称密钥如何分发(数字证书)HMAC、数字签名(认证、非否认、数据完整性)PKI目录一.密码学的用途二.对称的密码学三.对称密钥管理四.密码分发与公钥密码学五.数字签名六.PKI和X.509标准七.网络层和传输层安全协议八.应用层安全协议九.硬件解决方案:克服软件的限制十.关于数字签名的其他话题十一.失败的实施-非法闯入十二.成功的实施-遵从标准基本概念(1)•对称密码学中,用来加密数据的秘钥和解密的秘钥是相同的•密码学术语:明文(plaintext)、密文(ciphertext)、算法(algorithm)、秘钥(key)、加密(encryption)、解密(decryption)•算法必须标准化,必须公开才有足够多的人使用•密钥的必要性:没有密钥的算法总能被找出规律•保护秘钥比保护算法更容易•真/伪随机数发生器•密钥长度:128/256/512位•熵(entropy),种子(seed)攻击加密的数据•攻击密钥•强力破解•找到种子•攻破算法•不用知道密钥,就能算明文•知道部分明文、密文,推到秘钥已知明文攻击(know-plaintext)基本概念(2)----分组密码•分组密码:对数据分组操作;•慢/DES、AES/百行代码/管理密钥简单/EMAIL、文件加密•ECB:对每个分组进行加密。已知明文攻击;•CBC:用上一次密文与当前明文做异或;误差传输;•CFB模式和OFB模式•CTR模式基本概念(3)----流密码•流密码:•将字符分别与密钥流加密,解密时以同步产生相同的密钥流,其核心问题是密钥流生成器的设计。收发两端密钥的精确同步;•特点:快/RC4/30行代码行/管理密钥困难/数据包传输、SSL。基本概念(4)----对称密钥应用•DES,对应国密SM4•雄霸30年,进化为3DES,速度慢•DES替代者•RSA数据安全公司的RC2和RC5•Entrust公司的CAST•Cylink公司的Safer•Counterpane公司的Blowfish•NIST的AES;•用来替代DES。目录一.密码学的用途二.对称的密码学三.对称密钥管理四.密码分发与公钥密码学五.数字签名六.PKI和X.509标准七.网络层和传输层安全协议八.应用层安全协议九.硬件解决方案:克服软件的限制十.关于数字签名的其他话题十一.失败的实施-非法闯入十二.成功的实施-遵从标准基于口令字加密•口令字/PIN=用户初始设定(使用者身份认证)•SALT=PRNG+环境信息(防止字典攻击password,可能会重复1000次)•KEK=PIN+SALT(提高password熵值)•sessionkey=随机数(算法不同位数不同)•加密的密钥=session+KEK(分发安全、防止暴力破解)•密文=明文+算法+密钥(加密数据)•校验口令:SALT/有规律的字节作为校验值加密过程2)攻破PBE•有两种方法来攻破PBE•可以像攻破任何对称秘钥加密那样使用对KEK的强力攻击来攻破PBE•可以计算出口令字•字典攻击比强力攻击尝试更少的口令字。字典攻击比强力攻击更快基于硬件的密钥存储•令牌:一个处理器、操作系统、输入输出、内存和硬盘。拥有自锁功能、焦土策略。•智能卡:包含有微型计算机。需要读卡器•USB令牌:空间大、速度快、功能多、使用方便。•作为口令字存储设备的令牌•密码加速器:存储空间不可见,焦土策略。需要长时间连接电脑。没有令牌不工作•生物统计学:视网膜扫描、声波纹、指纹。问题:价格和可靠性。目录一.密码学的用途二.对称的密码学三.对称密钥管理四.密码分发与公钥密码学五.数字签名六.PKI和X.509标准七.网络层和传输层安全协议八.应用层安全协议九.硬件解决方案:克服软件的限制十.关于数字签名的其他话题十一.失败的实施-非法闯入十二.成功的实施-遵从标准共享秘密信息•双方都知道密钥,才能共享秘密信息•预先共享密钥。•多人共享,需要(N²-N)/2次•攻破了一个消息的密钥,也就攻破了所有消息的密钥•使用可信任的第三方。•TTP和每一个人共享同一个密钥•而2人通讯时必须通过第三方。•第三方必须可信,可靠。•TTP能够读取所有的信息•一旦这个TTP离开,新的TTP要重新开始公钥密码学-非对称加密•概念:加密与解密使用不同的一个密钥。•会话密钥加密:公钥加密方式速度太慢。只有20KB/S,而对称加密可以达到10MB/S。•安全性:128位的密钥就可以保证安全了。算法,大概相当于90~128位的攻击强度。•会话密钥可以用公钥加密后共享给对端•著名算法:RSA、DH和椭圆曲线公钥密码系统的工作原理•任何好的公钥算法都是基于陷门单向函数的。•公钥密码系统把所有的数据作为数字处理并执行数学运算。工作原理——RSA•RSA•RC4要比RSA快700多倍。所以RSA只能加密密钥而不是直接加密数据。•加密过程:明文----RC4----密文RC4密钥----RSA公钥-----加密密钥•RSA公钥=一个模N和公开的数eRSA私钥=一个模N和秘密的数d•N是一个非常大的两个素数p和q的乘积。素数绝对大于512比特,安全。工作原理——DH和ECDH•DH算法:公钥机制但是不加密•ECDH(ellipticcurve椭圆曲线加密方案)安全系数较RSA偏低,也就意味着需要更大的资源消耗。国密SM2算法本质上是基于ECC算法总结•RSA加密:用公钥加密只能用私钥解密。•三个算法都有优点和缺点,不能说那个更好,只能说适用于不同的特殊应用。•门限方案提供了富有吸引力的带有检查和平衡作用的密钥恢复手段目录一.密码学的用途二.对称的密码学三.对称密钥管理四.密码分发与公钥密码学五.数字签名六.PKI和X.509标准七.网络层和传输层安全协议八.应用层安全协议九.硬件解决方案:克服软件的限制十.关于数字签名的其他话题十一.失败的实施-非法闯入十二.成功的实施-遵从标准数字签名•非对称加密算法:•非对称加密:公钥加密,私钥解密;•数字签名:私钥加密,公钥解密;•公钥加密可用于信息分发,私钥加密可用于数字签名。•数字签名的2条假设:•私钥是安全的,只有拥有者获得;•产生数字签名的唯一途径是私钥。•RSA算法既可以公钥到私钥操作,也可以私钥到公钥操作消息摘要(HASH)•消息摘要(HASH):•简化浓缩数据,数据的表示就是摘要•公钥秘钥处理速度很慢•如果用私钥加密全部信息浪费时间,所以只加密数据的一个表示。•消息摘要的另外一种叫法叫杂凑(hash)•消息摘要的特性:•输出长度是固定的;输出结果是随机的;输入相差1个比特,结果完全不同;不能从结果推导输入。只能暴力破解。不同的输入几乎不会有相同的输出。•无法从摘要恢复出消息•无法找出两条消息,使得他们的消息摘要相同碰撞•碰撞:如果不同的2个信息产生了相同的HASH那么就是一次碰撞。•碰撞是存在的,没有人能按照要求找到一个碰撞。甚至没人发现过碰撞,即使意外也没有。重要的HASH算法•MD(RonRivest):•MD(初始)-MD2(进化;128b,不建议继续使用—MD3(失败)-MD4(有漏洞)-MD5(广泛使用)•SHA-1:比MD内部更强,摘要为160b。同时还有192b和256b。国密SM3。•HASH算法的缺点:黑客可篡改内容也可篡改摘要。带密钥的摘要HMAC•HMAC:•Hashmessageauthenticationchecksum消息认证校验和•HashMessageAuthenticationCode•检验和•改变一个数,检验和也改变•改变一个数,再改变另外一个数,抵消检验和不同•运作:SHA-1对“密钥||消息”计算得到摘要。双方采用同一个密钥,各自将消息和密钥放在一起计算摘要,攻击者必须知道密钥才能改变消息并附以正确的检验和•挑战认证机制数字签名•安全的数字签名:先hash求数据的表示,然后RSA私钥加密摘要•但是由于结果可由自己的公钥解密,所以不能保密原文。•试图修改明文的方式是不可行的•试图否认发送信息是不可行的•盗取私钥是不可行的•实现认证、数据完整性和非否认签名算法•RSA能加密,能签名。•DSA只能签名不用于加密•ECC(ECDSA):算法与DSA类似。ECDSA的数学基础是椭圆曲线,一次密钥长度与ECDH相同算法比较•安全性:RSA恢复了消息摘要,是一层间接性。DSA和ECDSA是比较2个数,是两层间接性。但是黑客可以只用随机数去碰撞。•性能:•传输长度:DSA/ECDSA传输340bit。RSA是密钥长度1024。•互操作性:RSA/DSA比较普及。非对称加密的问题•公钥传输不可认证的问题;大量分发公钥的问题。解决办法:公钥证书。第三方实体——证书颁发机构。PKI和X.509•判断一个公钥是否属于一个人的最常用方法是数字证书目录一.密码学的用途二.对称的密码学三.对称密钥管理四.密码分发与公钥密码学五.数字签名六.PKI和X.509标准七.网络层和传输层安全协议八.应用层安全协议九.硬件解决方案:克服软件的限制十.关于数字签名的其他话题十一.失败的实施-非法闯入十二.成功的实施-遵从标准公钥证书-数字证书公钥证书是一个防篡改的数据集合,它可以证实一个公钥和某个最终用户之间的绑定国际电信联盟(ITU)提出的X.509版本3结构数字证书是名字、公钥、签名三位一体,把名字和公钥看成消息进行签名。证书颁发机构将名字和公钥组成一条消息,再用机构的私钥签署它用户知道证书颁发机构的公钥自签名证书•如果通信中的双方,知道对方,信任对方可以保护好他们的私钥,并且能够保证公钥的传输的精确性,则自签名证书可以减少整体性风险,或者可以构成一个更小的攻击面•CA根证书是自签名的•自签名证书与CA证书的比较•Cost•部署速度•定制化•自签名证书不能吊销,造成危害•自签名证书典型危害•自签SSL证书最容易被假冒和伪造,被欺诈网站利用•部署自签SSL证书的网站,浏览器会持续弹出警告•自签SSL证书最容易受到SSL中间人攻击我证明我是我PKI的构成(1)•PKI--PublickeyInfrastructure•依托主体(relyingparties)-用来验证证书真实性•PKI的各个组成部分协作运转、创建、分配、管理和吊销
本文标题:密码工程实践指南
链接地址:https://www.777doc.com/doc-6646130 .html