现代密码学应用和ssl
现代密码学应用
主讲内容
密码学基础 对称密钥加密和非对称密钥加密 消息摘要,消息认证码(MAC)和数字签名 数字证书和PKI 传输层安全SSL和TLS
SSL介绍及协议流程分析 SSL数据包分析(基于RSA和D-H) SSLv2 SSLv3 TLS对比及应用层使用
SSL和TLS介绍Fra bibliotek数字签名
我们通常所说的公钥密码学主要包括公钥加密算法和数字 签名算法 有些公钥加密算法可以很容易被改造成一个数字签名算法, 如RSA,而有些则需要经过较大改动。 常见的数字签名算法: RSA DSA //美国NIST作为DSS数字签名标准的算法 ECDSA ELGamal
数字签名
数字摘要就是采用单项Hash函数将需要加密的明文“摘 要”成一串固定长度的密文,这一串密文又称为数字指纹。 用于证明原文信息的完整性和准确性。 同样的明文其摘要必定一致。 不同的信息找到相同的摘要,很困难 由摘要反推出原输入信息,很困难 MD5(Message Digest):128bit SHA(Secure Hash Algorithm):160bit
加密块链模式 CBC
加密反馈模式 CFB 输出反馈模式 OFB 计算器模式
非对称加密简史
20世纪70年代中期,斯坦福大学的学生 Whitfield Diffie和他的导师Martin Hellman提出 了密钥交换问题,并发明了非对称密钥思想 (非对称密钥加密之父) 同时,美国国家安全局很可能就有了这种系统 1977年,麻省理工的Ron Rivest、Adi Shamir 和len Adleman三人提出了RSA算法,并推广 实用。
SSL/TCL发展历史
1994年Netscape开发了SSL(Secure Socket Layer)协 议,专门用于保护Web通讯 版本和历史
1.0,不成熟 2.0,基本上解决了Web通讯的安全问题
Microsoft公司发布了PCT(Private Communication Technology), 并在IE中支持
数字证书就是互联网通讯中标志通讯各方身份 信息的一串数字,提供了一种在Internet上验 证通信实体身份的方式,其作用类似于日常生 活中的身份证。它是由一个由权威机构—— CA机构,即证书授权(Certificate Authority) 中心发行的,人们可以在网上用它来识别对方 的身份。数字证书是一个经证书授权中心数字 签名的包含公开密钥拥有者信息以及公开密钥 的文件。
现代密码学应用
主讲内容
密码学基础 对称密钥加密和非对称密钥加密 消息摘要,消息认证码(MAC)和数字签名 数字证书和PKI 传输层安全SSL和TLS
SSL介绍及协议流程分析 SSL数据包分析(基于RSA和D-H) SSLv2 SSLv3 TLS对比及应用层使用
数字证书-值得信赖的公钥
消息认证码(MAC)
Message Authentication Code 带密钥的hash 发送方首先使用通信双方协商好的散列函数计算其摘要值, 在双方共享的会话密钥作用下,由摘要值获得消息验证码 消息认证码的计算分两种:
利用已有的加密算法,如DES等直接对摘要值进行加密处理 HMAC,它基于MD5或者SHA-1,在计算散列值时将密钥和数据同 时作为输入,并采用了二次散列迭代的方式 HMAC的一个典型应用是用在“挑战/响应”(Challenge/Response) 身份认证中。
证书机构
如同护照的签发必须由政府部门一样 数字证书的签发必须有一个权威或第三方信任的 组织来做。这就是证书机构 证书机构通常是一些著名的组织,如邮局、财务 机构、软件公司等。 证书机构为每个使用公开密钥的用户发放一个数 字证书,证明证书中列出的用户合法拥有证书中 列出的公开密钥。CA机构的数字签名使得攻击者 不能伪造和篡改证书 世界上最著名的证书机构是VeriSign与Entrust
现代密码学应用
邮箱:mymei@ 部门:研发测试部 分机:3307
现代密码学应用
主讲内容
密码学基础 对称密钥加密和非对称密钥加密 消息摘要,消息认证码(MAC)和数字签名 数字证书和PKI 传输层安全SSL和TLS
SSL介绍及协议流程分析 SSL数据包分析(基于RSA和D-H) SSLv2 SSLv3 TLS对比及应用层使用
PKI
PKI:Public Key Infrastructure 即公钥基础设施 包括的思想:非对称密钥加密、信息摘要、数字签名 、加密服务,最主要:数字证书技术 PKI几乎是所有机密系统的必经之路 完整的PKI系统必须具有权威认证机构(CA)、数字证 书库、密钥备份及恢复系统、证书作废系统、应用接 口(API)等基本构成部分,构建PKI也将围绕着这五 大系统来着手构建。 需要大量的经费、精力、决心才能建立、维护和使用 的。
SSL/TCL设计目标
协议的设计目标
为两个通讯个体之间提供机密性、完整性,服务器认证以及 可选的客户端认证(身份确定)。 互操作性、可扩展性、相对效率
SSLv3 协议流程
SSL使用过程
使用SSL保护的高层报文需要封装在SSL报文中投 递 所有SSL报文最终封装在传输层报文中投递
协议分为两层
SSL(安全套接层,Secure Socket Layer)和TLS(传 输层安全,Transport Layer Security)为传输层提供 安全性。 在传输层部署安全性的优点 IP层安全是点对点的,传输层是端对端的(进程之间 的通信) 传输层提高了可靠性,使得高层服务不必关注可靠性 问题。 应用层协议直接构建于传输层之上,在传输层上构架 安全协议,可以把高层应用从安全性中解放出来。
现代密码学应用
主讲内容
密码学基础 对称密钥加密和非对称密钥加密 消息摘要,消息认证码(MAC)和数字签名 数字证书和PKI 传输层安全SSL和TLS
SSL介绍及协议流程分析 SSL数据包分析(基于RSA和D-H) SSLv2 SSLv3 TLS对比及应用层使用
消息摘要(数字摘要)
非对称加密算法
公钥密码体制根据其所依据的难题一般分为三 类:大整数分解问题类、离散对数问题类、椭 圆曲线类。有时也把椭圆曲线类归为离散对数 类。 RSA D-H Elgamal 背包算法 Rabin ECC
对称与非对称密钥加密
特性 对称密钥加密 非对称密钥加密
加密/解密使用的密钥
加密/解密的速度
加密/解密使用的密钥 相同
快
加密/解密使用的密钥 不同
慢
得到的密文长度
密钥协定与密钥交换
通常等于或小于明文长 大于明文长度 度
大问题 没问题
所需密钥数与消息交换 大约为参与者个数的平 等于参与者个数,因此 参与者个数的关系 方,因此伸缩性不好 伸缩性好
用法 主要用于加密/解密 可以用语加密/解密 (保密性),不能用于 (保密性)和数字签名 数字签名(完整性和不 (完整性和不可抵赖性) 可抵赖性)
数字证书细节
1999年,IETF发表了X.509标准的RFC2459
证书层次
如何验证证书
Bob要将自己的证书发给Alice 同时要将B11的公钥发给Alice 这样Alice可以用B11的公钥设计和验证Bob的 证书。 但Alice不信任发过来的B11的公钥 那么Alice就要验证B11的证书(包含B11的公 钥),那么就需要A3的公钥来验证B11的证书 A3的公钥也要用A3的证书来得到,但证书也 要被验证,需要根CA的公钥 问题又来了:如何信任根CA的公钥呢?
算法类型
块加密:将固定长度的数据块转换成长度相同的密码块,块长
度一般为64bit 128bit DES 3DES IDEA AES RC2 RC5 RC6
块加密算法模式
电子密码本模式 ECB
每一分组独立加密,产生独立密文组 将前面一个加密块输出的密文与下一个要加密的明文块进行XOR(异或) 操作计算,将计算结果再用密钥进行加密得到密文。 通过连接关系,使得密文跟明文不再是一一对应的关系,破解起来更困难, 缺点是不能实时解密
如何信任根证书
根CA证书是一种自签名证书 根CA的证书一般都直接嵌入到软件或硬件中 了。
数字证书的格式和安全
数字证书文件格式
X.509标准
DER二进制格式:.der .cer .crt PEM文本格式:.pem .cer .crt .pfx .p12 //含私钥
PCKS
证书和私钥的安全
3.0,1996年发布,增加了一些算法,修改了一些缺陷 TLS 1.0(Transport Layer Security, 也被称为SSL 3.1), 1997年IETF发布了Draft,同时,Microsoft宣布放弃PCT, 与Netscape一起支持TLS 1.0 1999年,发布RFC 2246(The TLS Protocol v1.0)
密码学基础
传统密码学
替换和置换
现代密码学
使用密钥 对称加密:加解密使用相同的密钥 非对称加密:加密和解密使用不同的密钥
对称加密算法
算法基本原则