330 likes | 470 Views
讲师姓名:林麟. 大纲. 加密 对称加密 非对称加密 公共密钥体系 证书服务 SSL 身份验证 常见身份验证方法 NTLM 和 Kerberos 身份验证协议与微软操作系统. 加密的优势. 加密的种类和强度. 加密种类 对称加密( Symmetric ) 非对称加密( Asymmetric ) 哈希算法( Hash ) 加密强度 算法强度 密钥的保密性 密钥的长度 配方数 =2 的 n 次方. 计算机和密码破译能力. 加密算法示例.
E N D
大纲 • 加密 • 对称加密 • 非对称加密 • 公共密钥体系 • 证书服务 • SSL • 身份验证 • 常见身份验证方法 • NTLM和Kerberos • 身份验证协议与微软操作系统
加密的种类和强度 • 加密种类 • 对称加密( Symmetric ) • 非对称加密( Asymmetric ) • 哈希算法( Hash ) • 加密强度 • 算法强度 • 密钥的保密性 • 密钥的长度 • 配方数=2的n次方
加密算法示例 • 最早的恺撒密文就是一种简单的字母替换加密算法,算法本身非常简单但同时也是最容易破解的算法。其加密方式就是按照其在英文字母表里的顺序将字母循环移位。整个算法可归结为下面的公式 F (x) = ( x + s ) mod 26 x 是原文字母 s 是一个常数 缺点:字母出现的频率没有变化
对称加密 • 在加密和解密过程中使用同一个密钥 • 常见对称加密算法 • Data encryption standard (64/2 bit , 16 round,56bit key) • Triple DES(128key) • Symmetric algorithms created by the RSA Security Corporation • International Data Encryption Algorithm • Blowfish and Twofish • Skipjack • MARS • Rijndael and Serpent • Advanced Encryption Standard
DES描述 • DES是一种block密文,意思是把数据加密成64位的block。使用相同的密钥来加密和解密。每64位的数据又被分成两半,并利用密钥对每一半进行运算(称做—次round)。DES进行16个rounds,并且对于每个round运算所使用密钥的位数是不同的。 • 理论破解概率:1/70,000,000,000,000,000
非对称加密 • 在加密和解密过程中使用不同密钥 • 密钥交换 • 手动交换密钥 • 首先和接收方交换公钥 • PGP 和 S/MIME • 自动交换密钥 • 通过一系列的握手过程可以自动地安全地交换信息(包括私钥) • SSL和IPSec
非对称加密 • 非对称加密特点 • 加密解密速度慢 • 强度高 • 实施难度大 • 通常与对称加密配合使用 • 非对称加密算法 • RSA • DSA • Diffie-Hellman
Diffie-hellman • 研发人员 • Diffie • Hellman • 时间:1976年 • 核心原理 • 密钥保密 • 算法公开
RSA算法 • 研发人员 • Ron Rivest • Adi Shamir • Leonard Adleman • 核心原理 • 大数分解难 • 其安全性一直未能得到理论上的证明。
RSA算法——密钥对的产生 • 选择两个大素数,p 和q 。计算:n = p * q (n称为模数) • 然后随机选择加密密钥e < n ( 经常为3或65537),要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。最后,利用Euclid 算法计算解密密钥d, 满足e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。
RSA算法——加密解密信息 • 加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。对应的密文是:ci = mi^e ( mod n ) ( a )解密时作如下计算:mi = ci^d ( mod n ) ( b ) • RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证。具体操作时考虑到安全性和 m信息量较大等因素,一般是先作 HASH 运算
RSA算法 • 1978年就出现了这种算法,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。 • RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数( 大于 100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。
证书服务 Active Directory 证书申请与吊销 证书发布 公共密钥体系(PKI) SSL 和 IPSec PKI 应用程序 域控制器 客户端计算机
公共密钥体系——加密 证书服务 User2 的公钥 User2 的私钥 User1 User2 明文 密文 明文
User1 的私钥 公共密钥体系——数字签名 计算摘要 3 加密摘要 5 2 User1 的公钥 摘要 4 计算摘要 1 明文 对比 6 User1 (发送方) User2 (接受方)
应用 PKI 的产品 • Outlook/OWA SMIME • RADIUS/RAS + Smart card • Wireless PKI 支持 • 源码签名(code signing) • 电子邮件数字签名 • Smart card登录 • SSL
身份验证 • 身份验证方法 • what you know • 密码 • what you have • 智能卡/证书 • who you are • 物理/生物特征 • where you are • 源IP地址 (IIS) • DNS 反向解析
常用的身份验证技术 • Kerberos V5 身份验证 • 与密码或智能卡一起使用的用于交互式登录的协议。它也是适用于服务的默认的网络身份验证方法。 • SSL/TLS 身份验证 • 用户尝试访问安全的 Web 服务器时使用的协议。 • NTLM 身份验证 • 客户端或服务器使用早期版本的 Windows 时使用的协议。 • 摘要式身份验证 • 摘要式身份验证将凭据作为 MD5 哈希或消息摘要在网络上传递。 • Passport 身份验证 • Passport 身份验证是提供单一登录服务的用户身份验证服务。
NTLM身份验证协议 • Windows NT 使用NTLM与远程机器建立一个会话,这个会话是一个安全隧道,通过它参与隧道的机器之间可以互通信息,事件的顺序如下 • 会话请求者(客户)对会话接收者(服务器)传送一个数据包,请求安全隧道的建立。 • 服务器产生一个随机的64位数(挑战)传送回客户。 • 客户取得这个由服务器产生的64位数,用试图建立连接的帐号的口令打乱它,将结果返回到服务器(响应)。 • 服务器接受响应发送到本地安全验证(LSA),LSA通过使用用户正确的口令核实响应确认请求者身份。如果请求者的帐号是服务器的本地帐号,核实本地发生;如果请求的帐号是一个域的帐号,响应传送到域控制器去核实。当对挑战的响应核实为正确,一个访问令牌产生,然后传送给客户。客户使用这个访问令牌连接到服务器上的资源直到建立的会话被终止。
Kerberos身份验证 • 到服务器的身份认证更高效 • 相互身份认证 • 代理身份认证 • 简化的信任管理 • 互操作性
! 如何解决密钥分发问题 基本概念——鉴别码 1 2 "I'm Alice", K {Alice, timestamp} AB 鉴别码 Bob Alice 共享密钥 4 3 K {timestamp} AB
! 如何解决server密钥保存问题 基本概念——密钥分配 Client wants Server KDC invents Server Client session key S CS K {use S for Server} K {use S for Client} Client CS Server CS 会话密钥 长效密钥
基本概念——会话票证(Session Ticket) Client wants Server KDC invents Client session key S CS K {use S for Server}, ticket = K {use S for Client} Client CS Server CS
基本概念——C/S相互身份验证 S {Client, time}, ticket = K {use S for Client} CS Server CS Server Client S {time} CS