第三讲密钥分配和用户认证
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 数字证书—证实用户和公钥之间的绑定关系, 包括用户名、公开密钥其他身份信息,由证书 颁发机构对之的数字签名
证书结构
• 基于X.509的数字证书结构(ITU提出)
• • • • • • • • • • • 版本 序号 标识证书 签名算法标识(用于证书签名的算法、相关参数) 发文者 建立和签署该证书的CA的X.500名称 证书的有效期(起始时间,中止时间) 持证书人名 主体公钥信息(公钥,该公钥用于何种加密算法,相关参数) 发放者唯一标识符 主体唯一标识符 扩展 数字签字 证书所有数据散列映射后 用CA私钥加密 签名算法 相关参数
公钥基础设施PKI(Public Key Infrastructure)
• RFC2822定义 基于非对称密钥体制的用来生成、管理、存储、分配和 撤销数字证书的一套硬件、软件、人员、策略和过程 目的: 对公钥的认证,安全、方便高效获取公钥 PKI遵循X.509的标准 • 完成功能 - 为用户生成一对密钥,通过一定途径分发给用户
Seq#--服务器向客户端发
送消息中所用序列号的 起始值
Kerberos存在的问题
• 要求一个可信任的票据授权服务器连续可用 • 服务器的真实性要求在授权服务器与每一个服务器之间 保持一种信任关系 • 要求实时传输(票据时间限制) • 口令猜测—返回给用户的原始票据是用用户口令加密的 • 不具备可扩展性—密钥问题 • Kerberos是一整套解决方案,不能与其他方案结合使用
Kerberos
(3)用户从文件服务器获得服务 传送票据和认证符,服务器验证票据
(同样有票据重用和认证的问题,方法同上)
Kerberos可以抵御分布式环境下的多种攻击
• • • • 网络中无口令通信--口令只存放在Kerberos服务器上 有限有效期—每个票据,防止暴力密码分析 时间戳阻止重放攻击—每个请求以请求时刻为标记. 相互鉴别—服务器只有在拥有与票据授权服务器共享的密 钥时,才能对票据解密,获取会话密钥,用来解密用户请求. 同时服务器返回一个用相同的会话密钥加密且包含1+用户 时间戳给用户,可以判定服务器是可信的。
• 用户与Kerberos 服务器建立一会话,用户传送自己 的身份+TGS服务器号+时间 • Kerberos 服务器验证该用户是否为合法用户,发 送会话密钥 Kc,tgs, 用户网络地址 ADc 和票据 Tickettgs 给用户(用用户的口令Kc加密); • 若工作站可以用用户输入的口令Kc解密回应信息, 就成功通过鉴别
基于对称加密的密钥分配
简单的基于密钥分发中心的会话密钥分发机制
重放攻击
解决方案:时间戳
临时值
时间戳+临时值
Kerberos
• 是一种认证服务,支持分布式鉴别,由麻省理工学院设计 • 要解决的问题:在一个分布式的环境中,工作站的用户希 望访问分布在网络各处的服务器上的服务。
• 困难:依靠工作站鉴别不可行。 用户可能进入一个特定工作站,冒充该工作站用户; 可能改变工作站的网络地址; 可能窃听并重放。
•
• Subject: C=CN, ST=, L=Nanjing, O=Southeast Univesity, OU= Network Center, CN=Jian Gong/Email=jgong@ • Subject Public Key Info: • Public Key Algorithm: rsaEncryption • RSA Public Key: (1024 bit) • Modulus (1024 bit): • 00:d9:fd:c6:68:34:0d:67:9e:95:4b:ed:c5:76:05: • 0c:cc:49:0e:21:a6:2c:cd:85:22:62:e4:bd:72:5d: • 5e:48:65:b8:98:3b:21:b3:65:67:a8:53:cd:63:53: • 23:d9:21:37:c3:93:d7:3d:0a:69:ed:da:bf:64:a4: • 6c:bb:a4:4b:cf:46:f5:cc:72:74:54:0a:b6:e8:22: • 70:69:ca:f7:8d:5b:25:24:bd:11:67:94:dc:97:21: • ff:08:7a:50:4c:3a:ff:33:4b:5f:54:66:ea:8e:cb: • f0:b3:af:96:ce:d0:78:a4:51:3e:8c:f9:98:52:0a: • fd:ad:cb:85:b5:45:d4:14:3f • Exponent: 65537 (0x10001) •
引入票据授权服务器的意义 可以避免用户每次访问新的服务器都要输入口令。用户只需保 存第一次认证获得的票据,每次有新的请求,重用该票据直接送 给票据授权服务器。
问题:该过程如何防止重放攻击的? 即在消息截获者可能会在AS授予的票据有效期内,利用该票据。 解决方法:需要 TGS 服务器和用户之间的认证,因此有一个会话密钥 Kc,tgs,认证符就采用会话密钥对ID,网络地址和时间加密,避免 重放
基于非对称加密的密钥分配
• 如何信任他人公布 的公钥 • 公钥证书 公钥+公钥所有者的 ID+可信第三方签名
广泛接受的公钥证书的 格式是X.509标准, 被应用于IP安全 SSL SET S/MIME
问题:如何验证公钥证书?为何能防止假冒攻击?
基于公钥密码的秘密密钥密钥分发
• • • • B想与A通信 使用一次性传统会话密钥Ks加密消息 E(Ks,P) 用A的公钥加密会话密钥 E(KApub,Ks) 一起发送
第三讲 密钥分配和用户认证
提纲
基于对称加密的密钥分配 Kerberos 基于非对称加密的密钥分配 X.509证书 公钥基础设施PKI
基于对称加密的密钥分配
密钥分发技术
传递密钥给希望交换数据的双方,不允许其他人看见密钥的方法。
可能的选择
A能够选定密钥并通过物理方法传递给B 第三方可以选定密钥并通过物理方法传递给A和B 一方用已有的旧密钥加密新密钥传递给另一方 A和B各自有一个到达第三方的加密链路,C能够在加密链路上传递密钥 给 A和 B 两种类型的密钥 会话密钥(session Key) 一次性会话使用 永久密钥(permanent Key) 用于分发会话密钥
• X509v3 extensions: • Netscape Cert Type: • SSL Client • Netscape CA Revocation Url: • • /common_bin/crl.der • Netscape Comment: • • Cernet Eastern China(North) Network Center Certificate Authority • • Signature Algorithm: md5WithRSAEncryption • 92:ad:96:f6:4e:10:fa:69:3b:1b:99:61:80:1b:4a:36:49:8f: • 0f:1e:d0:96:42:1e:10:13:52:34:2c:03:f8:43:bb:de:96:02: • bc:2d:79:7c:54:95:95:a7:60:2e:e5:c4:09:9e:96:8c:c8:c3: • 97:55:05:c8:45:5b:b8:e6:9b:87:62:91:d4:0e:f1:c5:43:93: • 36:b2:d8:5d:59:f2:6b:da:95:30:a8:d6:72:98:8a:62:9f:43: • e0:5e:d0:4b:d2:be:16:b3:f6:81:f7:7e:60:92:24:9d:80:9d: • db:ff:89:8f:36:09:df:e1:49:45:fb:db:36:04:cb:51:86:91: • c2:53
Kerberos 域间认证机制
Kerberos版本5
• 版本4的不足与改进 • 环境不足与改进 加密系统依赖性,DES算法。—密文被标上加密类型,可以使用任 何类型加密技术。 需要使用IP地址 网络地址被标记上类型和长度,支持其他类型网 络地址 消息发送者使用自己选择的字节排序所有消息结构使用抽象语法表 示法ASN.1和基本编码规则BER 票据有效期只有8位编码,最多21小时票据有明确开始时间和结束 时间,可以任意长。 不支持认证转发(不允许将发放给客户端的证书转发给其他主机) 版本5支持一个客户端访问一台服务器,并让服务器以客户端名义访 问另一服务器 版本4中N个域互操作需要N2阶关系版本5支持一种较少的关系
Kerberos版本5
• 版本4的不足与改进 • 技术缺陷与改进 双重加密,消息(2)和(4)中向客户端提供的票据经过了双重加密, 计算上浪费。 使用了非标准的DES加密模式传播密钥分组链接(PCBC),易受交换 密钥块攻击-提供了完整的完整性机制,使用标准CBC模式加密, 每个票据都包含一会话密钥,用于认证,同时可能在后来用来保护会 话传输的消息,同一票据又被重用来获取一个特定服务器上的服务, 存在重放会话的风险协商子会话密钥,新的访问将导致新的子会话 密钥 两个版本都容易受口令攻击,由AS发给客户端的消息包含用基于客户 口令的密钥加密过的内容,攻击者可以截获并尝试解密。
Kerberos版本5的交换过程
Real-用户所在域 Options-用于请求在返 回票据中设置某些标志 Times-被客户端用来请 求以下票据中的时间设 置 from 期望请求票据的 起始时间 till 期望请求票据的过期 时间 Nonce—一个随机数 Subkey-此次特定服务 会话的加密密钥
Kerberos
• 基本思想:利用集中认证服务器实现用户对服务器的认证 和服务器对用户的认证,认证服务器提供一种票据(表示 已鉴别的令牌,是不能伪造、不能重放、已鉴别的对象) 。使用对称密钥加密体制。 版本4和版本5(RFC 4120) •
Kerberos
• 工作过程: • (1) 用户身份鉴别
- 为用户签发数字证书,发给用户 - 对用户证书有效性验证 - 对用户证书管理,包括证书的公布、撤销(黑名单)证书归档
• Public Key Infrastructure
• • • •
在PKI基础上的应用基础上的应用 – 抗抵赖 – 身份认证身份认证 – 对称密钥交换 数据加密存储
标准PKI系统结构
• 问题:为什么不直接采用传递口令方式?
Kerberos
•注意:口令是集中存在 Kerberos 服务器上的,不需在网络上传输
Kerberos
(2)用户向票据授权服务器请求获得该服务的票据。 用户发送请求票据授权服务器对U验证其访问许可, 返回一服务票据 . 该票据用票据服务器和文件服务器 之间的会话密钥加密.
University, OU= Cernet Northeast Network Center, CN=Certificate Authority /Email=ca_master@
• •
•
Validity:
Not Before: Oct 7 01:53:38 2000 GMT Not After : Oct 7 01:53:38 2001 GMT
证书结构
公钥证书举例
• Certificate: • Data: • Version: 3 (0x2) • Serial Number: 46 (0x2e) • SignatureAlgorithm: md5WithRSAEncryption • Issuer: C=CN, ST=JiangSu, L=Nanjing, O=Southeast
PKI的组成(1)
(1)注册机构RA 注册管理中心 认证机构与其用户或证书申请人间的交互是由被称为 注册机构(RA) 的中介机构来管理;管理; 一个认证机构可能对应了多个注册机构,而且这些注 册机构可能是分散的; 发放证书时,申请人需亲自到场 ,出具身份证明文件、交换实物标记或进行实物标记,以 便于确定申请人的身份; 的身份 注册机构本身并不发放证书,但注册机构可以确认、 批准或拒绝证书申请人,随后由认证机构给经过批准的申 请人发放证书。 接收和验证新注册人的注册信息 • 代表用户生成密钥 • 接收和授权密钥备份和恢复请求 • 接收和授权证书撤销请求