密码学应用 培训机构名称 讲师名字
课程内容
知识子域:VPN技术 理解VPN以及隧道技术、加解密技术、密钥管理技术及身份鉴别技术的作用 掌握IPSec 的组成和工作原理 掌握SSL的组成和工作原理
为什么使用VPN 1、没使用VPN时,分布在各地的组织机构需要用专用网络来保证数据传输安全。其特点 1)安全性好 2)价格昂贵 3)难扩展、不灵活 2、TCP/IP采用分组交换方式传递数据,其特点 1)安全性差 2)价格便宜 3)易扩展,普遍使用 4
为什么使用VPN 图1 非VPN远程访问设置 5
为什么使用VPN 1、将专用网的安全特性和分组交换网的廉价和易于扩展的特性结合在一起,这就是VPN的动机。 2、其本质是利用共享的互联网设施,模拟“专用”广域网,最终以极低的费用为远程用户提供能和专用网络相媲美的保密通信服务。 6
为什么使用VPN 与传统专用网相比,VPN给企业带来很多的好处,同时也给服务供应商特别是ISP带来很多机会。 (1)降低成本 (2)易于扩展 (3)可随意与合作伙伴联网 (4)完全控制主动权 VPN可以为企业和服务提供商带来以下益处: 采用远程访问的公司提前支付了购买和支持整个企业远程访问基础结构的全部费用; 公司能利用无处不在的Internet通过单一网络结构为职员和商业伙伴提供无缝和安全的连接; 对于企业,基于拨号VPN的Extranet能加强与用户、商业伙伴和供应商的联系; 电话公司通过开展拨号VPN服务可以减轻终端阻塞; 通过为公司提供安全的外界远程访问服务,ISP能增加收入;通过Extranet分层和相关竞争服务,ISP也可以提供不同的拨号VPN。
加密数据,以保证通过公网传输的信息即使被他人截获也不会泄露。 信息认证和身份认证,保证信息的完整性、合法性,并能鉴别用户的身份。 VNP基本功能 加密数据,以保证通过公网传输的信息即使被他人截获也不会泄露。 信息认证和身份认证,保证信息的完整性、合法性,并能鉴别用户的身份。 提供访问控制,不同的用户有不同的访问权限。 8
VPN的类型 按协议层次 按应用范围 按体系结构 可以分为二层VPN,三层VPN、四层VPN和应用层VPN。 PPTP-Point to Point Tunnel Protocal 点对点隧道协议 L2TP-Layer2 Tunneling Protocol 第二层隧道协议 IPSEC—Internet Portocol Security 因特网协议安全性 SOCKs VPDN(Virtual Private Dial Network) Intranet VPN Extranet VPN
按协议层次分类的VPN 数据链路层VPN 网络层VPN 传输层VPN 应用层VPN 可以用于各种网络协议,比如IP、IPX、AppleTalk等。 网络层VPN 可以适用于所有应用(即不是应用特定的)。 传输层VPN 常用于保护单独的HTTP应用通信的安全,并且也可以保护其它应用的通信。 每个应用服务器必须支持该协议。 目前主要的web浏览器默认支持该协议。 应用层VPN 保护单个应用的部分或全部通信。 10
按体系结构分类的VPN 网关到网关体系结构示例 主机到网关体系结构示例 主机到主机体系结构示例 11
VPN的使用方式 自构VPN:也称为基于用户设备的VPN。 外购VPN:也称为基于网络的VPN。 用户自己添置设备,利用互联网连接远程网络。此时互联网仅用作IP分组的传送平台,VPN的安全功能由用户网络设备实现。 适合于那些有远程安全通信需求、却又不信任VPN服务供应商提供的安全服务的用户。 外购VPN:也称为基于网络的VPN。 将自有远程网络按VPN服务供应商的要求连接到服务商提供的VPN边缘路由器。 VPN的安全功能由VPN服务供应商提供。 可以省去大量VPN网络设备和维护的费用。 12
VPN的工作原理及关键技术 隧道技术 加解密技术 密钥管理技术 使用者与设备身份认证技术 访问控制技术 13
隧道技术 本质区别在于用户在隧道中传输的数据包是被封装在哪种数据包中。 隧道技术按其拓扑结构分为点对点隧道和点对多隧道,而VPN主要采用点对点隧道。 目前存在多种VPN 隧道,包括L2TP、PPTP、IPSec、MPLS、SSL 14
完整的VPN工作原理图 Internet VPN网关A VPN网关B 192.168.1.25 公司A SPD中的数据项类似于防火墙的配置规则 192.158.1.34 192.168.1.25 Source Address …… Others 绕过、丢弃 安全 Secure Service Destination Address 公司B 192.168.2.34 AH 192.168.2.34 258 ESP 259 192.168.1.25 257 256 Security Protocol Destination Address SPI 查找SPD数据库决定为流入的IP数据提供那些安全服务 建立相应的SA 要求建立安全相应的关联 查找对应SA的参数 建立SAD 负 载 IP 头 负 载 IP 头 SAD中包含每一个SA的参数信息,如算法、密钥等 ESP AH Security Protocol …… Others 110 001 101 010 Key 加密SHA-1 258 3DES CBC 259 DES CBC 4 257 加密MD5 256 Algorithm SPI 对原有数据包进行相应的安全处理 VPN网关A 双方使用ISAKMP/Oakley密钥交换协议建立安全关联,产生或者刷新密钥 Internet 内IP头 ESP尾 负 载 ESP头 AH头 外IP头 VPN网关B
VPN设计原则 保证VPN安全性通过以下手段: 隧道和加密:在安全性较高的场合使用加密隧道保护私有数据不被非法窥视和篡改。 数据验证:数据验证使接收方识别被篡改的数据,保证数据完整性。 身份验证:通过AAA,路由器提供用户验证、访问级别和访问记录,禁止非法访问。 抗重放:防止数据包被扑捉并重新投放到网上。 VPN直接构建在公用网上,任何人都有可能截获通过VPN传递的数据,因此企业需保证自己的数据不被窥探和篡改,并防止敏感信息被非法访问。 抗重放通过与 AH 或 ESP 一起工作的序列号实现 。
数据机密性保护 Internet PSTN WWW Mail DNS 内部WWW SSN区域 边界路由器 Internet 区域 一般子网 内部工作子网 内部WWW 一般子网 拨号服务器 PSTN 明文传输 管理子网 下属机构 重点子网 明文传输 密文传输 DDN/FR X.25专线
数据完整性保护 内部工作子网 内部WWW 摘要 对原始数据包进行Hash 对原始数据包进行加密 加密后的数据包 一般子网 原始数据包 管理子网 重点子网 解密 Hash 加密后的数据包 原始数据包 摘要 摘要 与原摘要进行比较,验证数据的完整性 原始数据包 下属机构 DDN/FR X.25专线 加密后的数据包 摘要
数据源身份认证 DSS 得到数字签名 内部工作子网 Hash 内部WWW 摘要 对原始数据包进行Hash 私钥 一般子网 原始数据包 加密 私钥 一般子网 原始数据包 将数字签名附在原始包后面供对方验证签名 原始数据包 DSS 管理子网 取出DSS Hash 原始数据包 DSS 原始数据包 摘要 重点子网 两摘要相比较 解密 DSS 摘要 相等吗? 验证通过 原始数据包 下属机构 DDN/FR X.25专线 原始数据包 DSS
重放攻击保护 AH协议头 保留 负载长度 认证数据 (完整性校验值ICV)变长 序列号 安全参数索引(SPI) 下一头部 ESP协议头 填充(0~255字节) 下一头部 填充长度 认证数据 (变长的) 负载数据 序列号 安全参数索引(SPI) SA建立之初,序列号初始化为0,使用该SA传递的第一个数据包序列号为1,序列号不允许重复,因此每个SA所能传递的最大IP报文数为232—1,当序列号达到最大时,就需要建立一个新的SA,使用新的密钥。
网络优化 构建VPN的另一重要需求是有效的利用有限的广域网资源,为重要数据提供可靠的带宽。QoS(服务质量)通过流量预测与流量控制策略,可按照优先级分配带宽管理,使各类数据合理的先后发送,并预防阻塞的发生,因此,在设计VPN时需考虑采用多种QoS策略以优化网络资源. 21
VPN的管理 VPN要求企业将其网络管理功能无缝延伸到公用网,甚至是客户和合作伙伴。虽然可将一些次要的网络管理任务交给服务提供商去完成,企业自己仍需完成许多网络管理任务。所以,一个完善的VPN管理系统是必不可少的。 伸缩性:能够随着网络的扩张,很灵活的加以扩展。当增加新的用户或子网时,只需修改已有网络软件配置,在新增客户机或网关上安装相应软件并接人Internet后,新的VPN即可工作。 灵活性:除了能够方便地将新的子网扩充到企业的网络外,由于Intemet的全球连通性,VPN可以使企业随时安全地将信息存取到全球的商贸伙伴和顾客。 易于管理:用专线将企业的各个子网连接起来时,随着子网数量的增加,需要的专线数以几何级数增长。而使用VPN时Internet的作用类似一个HUB,只需要将各个子网接入Internet即可,不需要进行各个线路的管理。
VPN有关协议的工作原理 二层隧道协议 IPSec协议 SSL协议 23
二层隧道协议 二层隧道协议主要有三种: PPTP:微软、Ascend、3COM 等公司支持。 L2F:Cisco、北方电信等公司支持,在 Cisco路由器中有支持。 L2TP:由 IETF 起草,微软、 Ascend 、Cisco、3COM 等公司参与,结合了上面两个协议的优点,成为 有关二层隧道协议的的工业标准。 PPTP (Point to Point Tunneling Protocol,点对点隧道协议)支持客户启动(E-E隧道模式)及客户透明(SP-SP隧道模式)。 两种情况目前都支持NT,即要求客户和服务器都是NT。微软的支持是PPTP的一个主要优势,另外一个优点是支持流量控制,可以防止客户与服务器因业务而导致崩溃,并通过减少丢弃报文及由此二引起的重发提高了性能。 但是PPTP需要IP,并且不对隧道端点进行鉴权。它依靠用户鉴权,此外,分析家认为它不象L2F那样可以用硬件的方法进行扩充。 PPTP能支持Unix和Macintosh。 Layer 2 Forwarding,二层转发协议 是由Cisco Systems发布的隧道化协议 。它利用第二层协议如帧中继、ATM等来建立隧道。L2F需要访问服务器和路由器的支持,这样ISP就必须支持L2F。在安全上L2F具有PPTP没有的特点,如对隧道端点的鉴别。 Layer 2 Tunneling Protocol,二层隧道协议 是一个建议的工业标准,它结合了 L2F及 PPTP的最好特性。它优于PPTP的一个特点是可以建立多点隧道,这使用户可以开通多个VPN,以便同时访问Internet和企业网络。如果隧道支持带宽预留和QoS,多个并发隧道将具有重要意义。但它没有规定信道保护的方法。另外,L2TP没有规定信道保护的方法。
二层隧道协议 L2TP协议 应用 L2TP 所构建的典型 VPN 服务的结构如图 . 其中,LAC 表示 L2TP 访问集中器(L2TP Access Concentrator ),是附属在交换网络上的具有 PPP 端系统和 L2TP 协议处理能力的设备,LAC 一般就是一个网络接入服务器 NAS(Network Access Server)它用于为用户通过 PSTN/ISDN 提供网络接入服务;LNS 表示 L2TP 网络服务器(L2TP Network Server),是 PPP 端系统上用于处理 L2TP 协议服务器端部分的软件。 在一个 LNS 和 LAC 对之间存在着两种类型的连接,一种是隧道(tunnel)连接,它定义了一个 LNS 和 LAC 对;另一种是会话(session)连接,它复用在隧道连接之上,用于表示承载在隧道连接中的每个 PPP 会话过程。 L2TP 连接的维护以及 PPP 数据的传送都是通过 L2TP 消息的交换来完成的,这些消息再通过 UDP 的 1701 端口承载于 TCP/IP 之上。L2TP 消息可以分为两种类型,一种是控制消息,另一种是数据消息。控制消息用于隧道连接和会话连接的建立与维护。数据消息用于承载用户的 PPP 会话数据包。 L2TP 连接的维护以及 PPP 数据的传送都是通过 L2TP 消息的交换来完成的,这些消息再通过UDP的1701端口承载于 TCP/IP 之上。 控制消息中的参数用 AVP 值对(Attribute Value Pair)来表示,使得协议具有很好的扩展性;在控制消息的传输过程中还应用了消息丢失重传和定时检测通道连通性等机制来保证了 L2TP 层传输的可靠性。数据消息用于承载用户的 PPP 会话数据包。L2TP 数据消息的传输不采用重传机制,所以它无法保证传输的可靠性,但这一点可以通过上层协议如 TCP 等得到保证;数据消息的传输可以根据应用的需要灵活地采用流控或不流控机制,甚至可以在传输过程中动态地使用消息序列号从而动态地激活消息顺序检测和流量控制功能;在采用流量控制的过程中,对于失序消息的处理采用了缓存重排序的方法来提高数据传输的有效性。 L2TP协议
IPSec协议 IPSec协议实际上是一个协议包而不是一个单个的协议。自从1995年IPSec的研究究工作开始以来,现在已经积累了大量的标准文件集。 IPSec的安全协议由三个主要的协议组成,它由下图的第二层以及加密和认证算法组成。 Internet安全协商和密钥管理协议(ISAKMP)是IPSec的另一个主要组件。ISAKMP提供了用于应用层服务的通用格式,它支持IPSec协商方的密钥管理需求。 26
IPSec协议体系 IP安全结构 ESP协议 AH协议 密钥管理协议 加密算法 解释域(DOI) 认证算法
AH主要提供数据来源认证、数据完整性验证和防报文回放攻击功能。 包含两种模式:传输模式和隧道模式。 认证头部 AH主要提供数据来源认证、数据完整性验证和防报文回放攻击功能。 包含两种模式:传输模式和隧道模式。 隧道模式需要为每个包创建一个新的IP包头。 传输模式不需要创建新的IP包头。 下一头部: 下一头部字段的宽度为8比特,用来标识认证头后面的下一负载的类型。 负载长度: 这个字段的长度也是8比特,表示以32比特为单位的AH头部长度减2,它与整个IP包的实际负载长度无关。默认状态下,该字段的值为4(3个固定的32比特加上3个用于认证的32比特字,再减去2)。 保留字段: 这个字段被保留作为将来可能出现的新用途。它的长度为16比特,现在总是被置0。 安全参数索引(SPI): 这个字段的长度为32比特,和外部IP头的目的地址,以及协议类型一起,用于识别对这个包进行验证的SA。 序列号: 这是32比特宽的字段,是一个单向递增的计数器,用于防止重放攻击。重放攻击保护是可选的,但这个字段是必须有的。不论接受者是否处理,发送方都会在发送的数据包中加入这个字段。在一个SA建立之初,序列号被初始化为0,使用该SA传递的第一个数据包的序列号自然就是1。序列号不允许重复,这样每个SA上所能传递的IP数据包的最大数目就是232-1,当序列号达到最大值时,就需要建立一个新的SA,新的SA上将使用新的密钥。发送方默认地选择重放攻击保护,如果建立SA时接受方选择不使用该保护,则发送方就不再处理序列号。 验证数据: 这是一个变长字段,也被叫做完整性校验值(Integrity Check Value,ICV),用来验证所收到的数据包的完整性。ICV由SA初始化时指定的算法来计算,验证数据的长度是32比特的整数倍。在做ICV计算时,可变字段被全部置为0。
认证头部 AH隧道模式包 AH传输模式包 29
除了AH协议的功能外,ESP还提供对IP报文的加密功能。 包括两种模式:隧道模式和传输模式。 安全参数索引(SPI):这个字段长度为32比特,和AH中的定义一样。 序列号: 这是一个32比特的单向递增的计数器,和AH中的定义一样。 负载数据:负载数据字段是必须的,它包含了由“下一头部”字段给出的变长的数据。负载数据由SA建立时所选的密码算法加密。如果所选的算法需要初始化向量,那么初始化向量也被放在负载数据字段中。 填充字段:大多数加密算法要求输入数据包含整数个分组,同时密文结果(包括填充、填充长度和“下一头部”字段)的长度必须是4字节的整数倍,以便下一头部字段的右对齐的。这就是为什么需要一个长度字段,它可以被用来隐藏原始数据包的长度。不过使用填充对有效带宽是一种浪费。填充字段是可选的。 填充长度:这是一个8比特的字段,它给出了前面的填充字段的长度。它总是出现在数据包中,置0时表示没有填充。 下一头部:下一头部字段是一个长度为8比特的必须给出的字段,它给出负载中的数据类型。 验证数据:这个字段的长度是可变的,包含了为ESP数据包从SPI字段到下一头部字段而计算的ICV值。验证数据字段是可选的。只有在SA初始化时选择了完整性校验和数据源验证,数据包中才会有验证数据字段。
SSL协议 SSL (Secure socket Layer)安全套接层协议主要是使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用Web Server方式。 包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。 SSL通过在浏览器软件和web服务器之间建立一条安全通道,实现信息在Internet中传送的保密性。 SSL协议 SSL (Secure socket Layer)安全套接层协议主要是使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用Web Server方式。 安全套接层协议(SSL,Security Socket Layer)是网景(Netscape)公司提出的基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性。但由于SSL不对应用层的消息进行数字签名,因此不能提供交易的不可否认性,这是SSL在电子商务中使用的最大不足。有鉴于此,网景公司在从Communicator 4.04版开始的所有浏览器中引入了一种被称作"表单签名(Form Signing)"的功能,在电子商务中,可利用这一功能来对包含购买者的订购信息和付款指令的表单进行数字签名,从而保证交易信息的不可否认性。综上所述,在电子商务中采用单一的SSL协议来保证交易的安全是不够的,但采用"SSL+表单签名"模式能够为电子商务提供较好的安全性保证。
SSL协议 在TCP/IP协议族中,SSL位于TCP层之上、应用层之下。 可以独立于应用层,从而使应用层协议可以直接建立在SSL之上。 包含:SSL记录协议、SSL握手协议、SSL更改密码说明协议和SSL警告协议。 32
SSL协议 33
SSL协议安全连接的特点 连接是保密的:对于每个连接都有一个唯一的会话密钥,采用对称密码体制(如DES等)加密数据。 连接是可靠的:消息的传输采用MAC算法进行完整性检验。 对端实体的鉴别采用非对称密码体制进行认证。 34
IPSec VPN和SSL VPN的比较 项目 IPSec VPN SSL VPN 身份验证 双向/数字证书 单/双向/数字证书 加密 依靠执行加密 基于web浏览器加密 全程安全性 端到边缘 端到端/用户到资源 可访问性 已经定义好受控用户 任何时间/地点 费用 高 低 安装 需要长时间的配置 即插即用 易用性 需要培训 简单友好 应用支持 所有基于IP协议的服务 HTTP/TELNET/NMTP/FTP 用户 适合于企业内部使用 客户/合作伙伴/供应商 可伸缩性 比较困难 容易配置和扩展 35
VPN的解决方案 连接分支机构(Intranet VPN) 连接合作伙伴(Extranet VPN) 连接远程用户(Access VPN) 36
还具有管理上的自主可控、策略集中配置和分布式安全控制等安全特性。 内联网VPN(连接分支机构) 一个组织结构的总部或者中心网络与跨地域的分支机构网络在公共通信基础设施上采用隧道技术和密码技术等VPN技术构成组织机构“内部”的虚拟专用网络。 还具有管理上的自主可控、策略集中配置和分布式安全控制等安全特性。 内联网VPN是解决内联网的结构安全、连接安全和传输安全的主要方法。 37
内联网VPN (连接分支机构) ISP VPN网关B VPN网关A Gateway 必须支持IPSec 分支机构 总部 数据在这一段是加密的 通道只需定义在两边的网关上 Gateway 必须支持IPSec 数据在这一段是认证的 数据在这一段是加密的 ISP
外联网VPN(连接合作伙伴) 使用虚拟专用网络技术在公共通信基础设施上将合作伙伴或共同利益的主机或网络联网,根据安全策略、资源共享约定规则,实施内联网的特定主机和网络资源与外部特定主机和网络资源应相互共享。 外联网VPN是解决外联网结构安全、连接安全和传输安全的主要方法。 必须解决密码分发、管理的一致性问题。 39
通道建立在两边的主机之间,因为业务伙伴内的主机不是都可以信任的 外联网VPN(连接合作伙伴) Internet 业务伙伴 VPN网关A VPN网关B 公司A 主机必须支持IPSec 通道建立在两边的主机之间,因为业务伙伴内的主机不是都可以信任的 数据在这一段是加密的 数据在这一段是认证的 ISP
远程移动用户通过VPN技术可以在任何时间、任何地点采用拨号、ISDN、DSL等方式与公司总部、公司内联网的VPN设备建立隧道,实现访问连接。 41
远程访问VPN(连接远程用户) Internet 主机必须支持IPSec PSTN VPN网关B ISP接入服务器 Gateway 必须支持IPSec PSTN 数据在这一段是加密的 数据在这一段是认证的 通道建立在移动用户与公司内部网的网关处
小结 了解VPN相关概念及分类 VPN工作原理和设计原则 VPN有关协议和解决方案 43
知识子域:PKI/CA系统 理解PKI/CA的原理和作用 掌握PKI/CA的体系结构和各部分的作用 了解PKI/CA的典型应用
什么是PKI/CA PKI 指的是公钥基础设施, CA指的是认证中心. 公钥基础设施(Public Key Infrastructure) 利用公开密钥技术建立的提供信息安全服务的在线基础设施。它利用加密、数字签名、数字证书来保护应用、通信或事务处理的安全。 如同电力基础设施为家用电器提供电力一样,PKI为各种应用提供安全保障 PKI/CA 是一组建立在公开密钥技术基础上的硬件、软件、人员和应用程序的集合,它具备生产、管理、存储、核发和废止证书的能力,从运营、管理、规范、法律、人员等多个角度来解决网络信任问题。
网络存在的典型安全隐患 篡改 冒名传送 网络 否认传送 窃听 假冒? 用户甲 用户乙
信息安全要素举例 认证 授权 保密性 完整性 防抵赖 1.1你是谁? 1.1我是Rick. 1.2怎么确认你就是你? 1.2 口令是1234. 2. 我能干什么? Internet/Intranet Rick 授权 2.你能干这个,不能干那个. 保密性 应用系统 3. 我有密钥? 3.如何让别人无法偷听? 完整性 4.如何保证不能被篡改? Mary 防抵赖 4.别怕,我有数字签名. 5.我有你的罪证. 5.我偷了机密文件,我不承认. 47
认证 PKI对各安全要素的解决方法 Who o o . . R . . U ? 身份证明: 证书中告诉别人,你是谁? 身份证明: 证书中告诉别人,你是谁? 身份验证: 数字签名和证书的唯一性向别人证明,你确是此人? 48
从对称密钥算法到非对称密钥算法 对称密钥算法 非对称密钥算法 使用同一个密钥进行加密和解密 可以解决机密性问题 带来密钥分发问题 DES,3DES,IDEA,Blowfish,RCS,CAST,AES 可以解决机密性问题 带来密钥分发问题 非对称密钥算法 加密密钥和解密密钥不同,但是能够相互解开用对方作为密钥加密的密文 RSA, Diffie-Hellman, DSS,Elliptic Curve
从非对称密钥算法到PKI/CA 非对称密钥算法 PKI/CA CA: Certificate Authority共同信任的第三方 可以解决密钥分发问题 带来公钥的可信度问题:所有人的所有公共密钥都以最大的公开度公开的代价太大 加解密运算量大,速度慢 PKI/CA CA: Certificate Authority共同信任的第三方 为公钥签名,发放公钥证书 PKI除CA外,还要提供证书查询服务(LDAP),撤销服务(RA) PKI还包括一系列应用服务和管理体系
PKI对各安全要素的解决方法 机密性 加密技术 对称加密 共享密钥 非对称加密 公开密钥 51
PKI对各安全要素的解决方法 完整性 数字签名 如果数字签名验证失败,说明数据的完整性遭到了破坏 52
Digital Signature, Date,Time PKI对各安全要素的解决方法 不可抵赖性 数字签名 证明信息已经被发送或接收: 发送方 不能抵赖曾经发送过数据 使用发送者本人的私钥进行数字签名 接收方 不能抵赖曾经接收到数据 接收方使用私钥对确认信息进行数字签名 Digital Signature, Date,Time 53
PKI/CA技术在信息安全中的作用 54 数字证书和PKI解决哪些问题 在传统的安全解决方案中,密码服务与应用紧密地结合在一起,每一种网络应用都有自己的一套密钥管理,功能大量冗余,管理维护工作复杂,费用高,而且这种分散式的方案存在安全隐患,互操作性也得不到保证; 而PKI以统一的、通用的方式来解决所有应用的共同安全问题。利用PKI可以方便地建立和维护一个可信的网络计算环境,从而使得人们在这个无法直接相互面对的环境里,能够确认彼此身份和所交换的信息,能够安全地从事商务活动。 54
公钥机制简介 加密模型 B的公钥 B的私钥 A 加密 密文 B 解密 明文 加密模型 55
加密模型 加密密钥 公开密钥 私有密钥 解密密钥 密文 明 文 明 文 Mary Rick 加密操作 解密操作 56
公钥机制简介 签名模型 A的私钥 A的公钥 明文 A 加密 密文 B 解密 明文 签名模型 57
签名模型 私有密钥 签名密钥 验证密钥 公开密钥 密文 明 文 明 文 Mary Rick 签名操作 验证操作 58
Hash 函数 It was the best of times, It was the best of thymes, it was the worst of times It was the best of thymes, it was the worst of times 小差异-2个字母不同 3au8 e43j jm8x g84w Hash Function b6hy 8dhy w72k 5pqd Hash Function 大差异-一半以上字母不同 Examples: MD5 (128 bit), SHA-1 (160 bit) www.cmd5.com 59
摘要模型 摘要算法 长度固定: 16字节 20字节 内 容 摘要 Mary 摘要操作 60
数字签名与签名验证 数字签名:以电子形式存在于数据信息之中的,或作为其附件的或逻辑上与之有联系的数据,可用于辨别数据签署人的身份,并表明签署人对数据信息中包含的信息的认可。 数字签名的作用类似写在纸上的物理签名,它使用公钥加密技术实现。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
签名与验证 Hash + 加密 = 签名过程 Hash + 解密 = 签名验证 签名e 签名e Bob 等长字符串 Alice 信息传送 接受方 等长字符串 Hash 函数 等长字符串2 解密 等长字符串1 Hash 函数 加密 签名e 如果两者相同,表明信息没有被篡改 发送方 Alice Hash + 解密 = 签名验证 62
数字签名过程 数字签名 摘要技术 摘要技术 明 文 明 文 摘要 Rick Mary 摘要 摘要 比较? 私有密钥加密 公开密钥解密 相同->通过 不相同->失败 私有密钥加密 公开密钥解密 制作数字签名 验证数字签名 63
数字签名与验证 Hash + 加密 = 签名过程 Hash + 解密 = 签名验证 签名e 签名e Bob 等长字符串 Alice 信息传送 接受方 等长字符串 Hash 函数 等长字符串2 解密 等长字符串1 Hash 函数 加密 签名e 如果两者相同,表明信息没有被篡改 发送方 Alice Hash + 解密 = 签名验证 64
数字信封 数字信封就是信息发送端的用一个对称密钥将要发送的信息进行加密,然后把该对称密钥用接收端的公钥加密。这个过程是制作数字信封。 接收端用自己的私钥解密该对称密钥,然后用该对称密钥解密收到的信息,即解开数字信封。
数字信封过程 数字信封 对称密钥加密 对称密钥解密 明 文 明 文 密文 密文 Rick 私有密钥解密 公开密钥加密 制作数字信封 数字信封就是信息发送端的用接收端的公 钥,将一个通信密钥,即对称密钥,生成 一个数字信封。然后接收端用自己的私钥 打开数字信封,获取该对称密钥SK,用它 来打开收到的信息。 私有密钥解密 公开密钥加密 制作数字信封 解开数字信封 66
PKI/CA历史 1976年,Diffie 和 Hellman 共同提出公钥概念 1978年,Rivest, Shamir 及 Adleman 设计出第一个公钥密码系统:RSA 20世纪80年代,美国学者提出了PKI的概念 1995年,美国的犹他州颁布的《数字签名法》是全世界范围内第一部全面规范电子签名的法律。 美国2000年开始实行《数字签名法》,数字签名法具有法律效率。 1996年,以Visa、MastCard、IBM、Netscape、MS、数家银行推出SET协议,推出CA和证书概念 1998年11月,我国第一家CA公司(CTCA )成立 2002年欧盟开始实行《数字签名法》 2004年8月28日中华人民共和国第十届全国人民代表大会常务委员会第十一次会议通过了《中华人民共和国电子签名法》,并于2005年4月1日起施行。
PKI/CA 组成 CA(认证机构) RA(注册机构) 证书存放管理(目录服务) 证书持有者和应用程序
CA层次结构 多层次结构,优点 管理层次分明,便于集中管理、政策制订和实施 提高CA中心的总体性能、减少瓶颈 有充分的灵活性和可扩展性
CA:Certification Authority 签发数字证书 签发证书 更新证书 管理数字证书 撤销、查询 审计、统计 验证数字证书 黑名单认证(CRL) 在线认证 (OCSP)
RA:证书注册机构 证书注册权威 受理用户的数字证书申请 提供证书生命期的维护工作 Registration Authority 对证书申请者身份进行审核并提交CA制证 类似于申请身份证的派出所 提供证书生命期的维护工作 受理用户证书申请 协助颁发用户证书 审核用户真实身份 受理证书更新请求 受理证书吊销
目录服务(LDAP) 目录服务简单地讲是信息的存储库 ,提供了证书的保存,修改,删除和获取的能力 CA采用LDAP标准的目录服务存放证书,其作用与数据库相同,优点是在修改操作少的情况下,对于访问的效率比传统数据库要高 72
CRL CRL (Certificate Revocation List):证书撤销列表,也称“证书黑名单” 在证书的有效期期间,因为某种原因(如人员调动、私钥泄漏等等),导致相应的数字证书内容不再是真实可信,此时,进行证书撤销,说明该证书已是无效 CRL中列出了被撤销的证书序列号
PKI对象模型-四类实体 CA RA 证书 终端实体 担任具体的用户公钥证书的生成和发布,或CRL生成发布职能 进行证书申请者的身份认证 并将之发放给证书申请者 必要时,还协助证书作废过程 证书 符合一定格式的电子文件 用来识别电子证书持有者的真实身份 终端实体 初始化(注册) 证书密钥更新 证书撤销/废止/更新请求 什么是CA机构 CA机构,是为了解决电子商务活动中交易参与的各方身份、资信的认定,维护交易活动中的安全,从根本上保障电子商务交易活动顺利进行而设立的,是受一个或多个用户信任,提供用户身份验证的第三方机构,承担公钥体系中公钥的合法性检验的责任。 RA(Registration Authority) 数字证书注册审批机构。RA系统是CA的证书发放、管理的延伸。它负责证书申请者的信息录入、审核以及证书发放等工作;同时,对发放的证书完成相应的管理功能。发放的数字证书可以存放于IC卡、硬盘或软盘等介质中。RA系统是整个CA中心得以正常运营不可缺少的一部分。 数字证书 数字证书是网络通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。由权威机构CA机构发行的,人们可以在交往中用它来识别对方的身份。 74
证书扩展项(Certificate Extensions) 证书至少需要包括如下内容: (1) 标识证书颁发机构,(2)证书持有者的名字 (3)证书持有者的公钥(标识), (4) 证书有效期, (5) 证书颁发机构的签名 – Digital Signature Guidelines Information Security Committee American Bar Association 版本(Version): v3 序列号(Serial No): 001b6f945h75 算法标识(Algorithms): MD5 RSA 证书持有者名字(Subject DN): John Doe 证书颁发者名字(Issuer DN): State of Kansas 有效期(Validity period): from 11-03-2005 to 11-05-2005 公钥(Public key): 30 81 89 02 81 81 00 ba 6e e5 9a 74 f5 e7 af a9 8a 9c de a8 e5 53 1b 73 c7 f7 8a 13 f3 44 91 09 dc 91 12 b7 1b b2 cf 09 f7 4b 13 7d … CA签名(Signature) 证书扩展项(Certificate Extensions) 证书关键用途(Key Usage): digitalSignature dataEncipherment keyCertSign nonRepudiation keyAgreement encipherOnly keyEncipherment cRLSign decipherOny 扩展用途(Extended Key Usage): serverAuth codeSigning timeStamping clientAuth emailProtection OCSPSigning 证书策略(Certificate Policies): URL of CPS and Policy notice text 证书持有者替换名(Subject Alternative Name): rfc822name, IP Address, DNS Name 黑名单发布点(CRL Distribution Point): URL of the Certificate Revocation List 75 75
证书部分参数的含义 算法标识(Signature algorithms Object Identifier, OID) From Abstract Syntax Notation (ASN.1) standard Global, unique identifiers Sequence of numbers, e.g.: 1.16.840.1.45.33 Top level numbers: 0 – ITU, 1 – ISO, 2 – joint X.509 use: identify algorithms and extensions. 76
证书部分重要参数的含义 Distinguish Name(DN) 符号 含义 C Country L Locality name O Ordered sequence of (pre-defined )keywords, and a string value for each of them. 符号 含义 C Country L Locality name O Organization name OU Organization Unit name CN Common Name 77
78
不同类型的证书 根证书 个人证书 代码签名证书 服务器证书 。。。 Email证书 79
签名密钥对与加密密钥对 签名密钥对 签名密钥对由签名私钥和验证公钥组成。签名私钥具有日常生活中公章、私章的效力,为保证其唯一性,签名私钥绝对不能够作备份和存档, 验证公钥需要存档,用于验证旧的数字签名。用作数字签名的这一对密钥一般可以有较长的生命期。 加密密钥对 加密密钥对通常用于分发会话密钥,解密私钥应该进行备份,同时还可能需要进行存档,以便能在任何时候脱密历史密文数据。加密公钥无须备份和存档。这种密钥应该频繁更换,故加密密钥对的生命周期较短。 尽管有的公钥体制算法,如RSA,既可以用于加密、又可以用于签名,在使用中可以为用户配置两对密钥、两张证书,分别用于数字签名和加密。 80
证书载体 内存、IC卡、软盘… USB-KEY 81
CA的主要功能 体系结构 CA安全认证中心功能: 提供统一的集中管理和监控界面 集中签发数字身份证书 申请、审核 更新、签发 集中管理数字身份证书 撤销、查询 审计、统计 集中验证数字身份证书 黑名单认证 在线认证 体系结构 82
CA系统结构 系统结构 证书签发层 内部管理层 RA服务层 对外服务层 83
CA系统模块结构 84
CA系统数据流图 85
PKI操作行为-12种 产生、验证和分发密钥 自己产生 代理方产生-密钥管理中心 混合方式:双密钥方式 CA:自己产生密钥对 RA:自己产生或代理方产生 86
PKI操作行为-12种 签名和验证 在PKI体系中,对信息或文件的签名,以及相应的对数字签名的验证属于使用非常普遍的操作 多种算法 算法完成:硬件、软件、固件(软硬结合) 密钥存放:内存、IC卡、软盘、Key 87
PKI操作行为-12种 证书的获取 在验证信息的数字签名时,用户必须获取信息的发送者的公钥证书,以及一些需要附加获得的证书(如CA证书等,用于验证发送者证书的有效性) 附加发送 单独发送 从证书发布的目录服务器获得 直接从证书相关的实体获得 88
PKI操作行为-12种 证书的验证 验证证书的过程是迭代寻找证书链中下一个证书和它相应的上级CA证书。 在使用每个证书前,必须检查相应的CRL(对用户来说这种在线的检查是透明的)。 用户检查证书的路径是从最后一个证书(即用户已确认可以信任的CA证书)所签发的证书有效性开始,检验每一个证书,一旦验证后,就提取该证书中的公钥,用于检验下一个证书,直到验证完发送者的签名证书,并将该证书中包括的公钥用于验证签名。 验证证书链中每一个CA证书 上级CA签名的有效性 证书有效期 是否作废:CRL、OCSP 89
PKI操作行为-12种 5. 证书的保存 保存证书是指PKI实体在本地储存证书以减少在PKI体系中获取证书的时间并提高签名验证的效率 在储存每个证书之前,应该验证证书的有效性。 PKI实体可以选择储存所有从其他实体接收到的证书链上所有证书 也可以只存储签名数据发送者的证书等。 证书存储区应定时管理维护 清除已作废或已过期的证书和一定时间内未使用过的证书 同最新发布的CRL文件比较 删除CRL文件中发布的证书 证书存储区存满后,一般采取删除最少使用(LRU,least recently used)证书的方式维护 90
PKI操作行为-12种 本地保存证书的获取 用户收到签名数据后,将检查证书存储区判断是否保存了信息发送者的证书,如果保存了,用户则从本地储存区中取得该证书,用其中包含的公钥验证签名 用户可以选择每次使用前检查最新发布的CRL以确保发送者的证书未被作废 也可以选择定期证实本地证书存储区中证书的有效性 如果用户的本地存储区中未保存发送者的证书,用户则应按照上面描述的获取证书的方法来取得所需的证书 91
密钥泄漏或证书中证明的某种关系中止的报告 PKI操作行为-12种 密钥泄漏或证书中证明的某种关系中止的报告 当PKI中某实体的私钥被泄漏时,泄密私钥对应的公钥证书应被作废 如果证书中包含的证书持有者和某组织的关系已经中止,相应的公钥证书也应该被作废 应尽快以带外(电话或书面文件)方式通知相应证书的签发CA 在密钥泄漏的情况下,应由泄密私钥的持有者通知CA 在关系中止的情况下,由原关系中组织方或相应的安全机构通知相应的RA或CA 如果RA得到通知,RA应通知相应的CA 一旦请求得到认证,CA在数据库中将该证书标记为已作废,并在下次发布CRL时加入该证书序列号及其作废时间 92
PKI操作行为-12种 密钥泄漏的恢复 在密钥泄漏/证书作废后,为了恢复PKI中实体的业务处理,泄密实体将获得一对新的密钥,并要求CA产生新的证书。 在泄密实体是CA的情况下,它需要重新签发以前用泄密密钥签发的证书,每一个下属实体将产生新的密钥对,获得用CA新私钥签发的新的证书。而用泄密密钥签发的旧证书将作废,并被放置入CRL。 为了减少重新产生密钥对和重新签发证书的巨大工作量,可以采取双CA的方式来进行泄密后的恢复。即每一个PKI实体的公钥都由两个CA签发证书,当一个CA密钥泄漏后,得到通知的用户转向另一个证书链,可以通过另一个CA签发的证书来验证签名。而泄密CA的恢复和它对下属实体证书的重新发放可以稍慢进行,系统的功能不受太大影响。 93
PKI操作行为-12种 CRL的获取 每一CA均可以产生CRL。CRL可以定期产生,或在每次有证书作废请求后产生。CA应将它产生的CRL发布到目录服务器上 自动发送到下属各实体 各PKI实体从目录服务器获得相应的CRL 94
PKI操作行为-12种 密钥更新 在密钥泄漏的情况下,将产生新的密钥和新的证书。 在并未泄漏的情况下,密钥也应该定时更换。 如果CA和其下属的密钥同时到达有效期截止日期,则CA和其下属同时更换密钥,CA用自己的新私钥为下属成员的新公钥签发证书。 如果CA和其下属的密钥不是同时到达有效期截止日期,当用户的密钥到期后,CA将用它当前的私钥为用户的新公钥签发证书,而到达CA密钥的截止日期时,CA用新私钥为所有用户的当前公钥重新签发证书。 不管哪一种更换方式,PKI中的实体都应该在就密钥截止之前取得新密钥对和新证书。在截止日期到达后,PKI中的实体开始使用新私钥来签名数据,同时应该将旧密钥对和证书归档保存。 95
PKI操作行为-12种 审计 PKI体系中的任何实体都可以进行审计操作,但一般而言是由CA执行。 独立审计系统概念 96
PKI操作行为-12种 存档 出于政府和法律的要求以及系统恢复的需要,CA产生的证书和CRL应被归档保存。 另外的文件或审计信息出于调整或法规的需要也应被归档保存 加密密钥存档 关键加密文件存档 97
数字证书 网络世界的电子身份证 与现实世界的身份证类似 能够证明个人、团体或设备的身份 包含相关信息: 包含姓名、地址、公司、电话号码、Email地址、 … 与身份证上的姓名、地址等类似 包含所有者的公钥 拥有者拥有证书公钥对应的私钥 由可信的颁发机构颁发 比如身份证由公安局颁发一样 颁发机构对证书进行签名 与身份证上公安局的盖章类似 可以由颁发机构证明证书是否有效 可防止擅改证书上的任何资料
证书扩展项(Certificate Extensions) 数字证书的基本内容 证书至少需要包括如下内容: (1) 颁证机构,(2)证书持有者的名字 (3)证书持有者的公钥(标识), (4) 证书有效期, (5) 证书颁发机构的签名 版本(Version): v3 序列号(Serial No): 001b6f945h75 算法标识(Algorithms): MD5 RSA 证书持有者名字(Subject DN): John Doe 证书颁发机构名字(Issuer DN): State of Kansas 有效期(Validity period): from 11-03-2005 to 11-05-2005 公钥(Public key): 30 81 89 02 81 81 00 ba 6e e5 9a 74 f5 e7 af a9 8a 9c de a8 e5 53 1b 73 c7 f7 8a 13 f3 44 91 09 dc 91 12 b7 1b b2 cf 09 f7 4b 13 7d … CA签名(Signature) 证书扩展项(Certificate Extensions) 证书关键用途(Key Usage): digitalSignature dataEncipherment keyCertSign nonRepudiation keyAgreement encipherOnly keyEncipherment cRLSign decipherOny 扩展用途(Extended Key Usage): serverAuth codeSigning timeStamping clientAuth emailProtection OCSPSigning 证书策略(Certificate Policies): URL of CPS and Policy notice text 证书持有者替换名(Subject Alternative Name): rfc822name, IP Address, DNS Name 黑名单发布点(CRL Distribution Point): URL of the Certificate Revocation List 99 99
CA RA CA工作流程 Directory 应用程序通过证书: 获取用户的身份信息 进行证书废止检查 检查证书的有效期 校验数字证书 应用/其他用户 CA 审核通过的注册请求发送给CA 证书同时要被发布出去 Directory CA为用户签发证书下载凭证... 证书下载到用户本地 RA 提交证书申请请求 应用程序通过证书: 获取用户的身份信息 进行证书废止检查 检查证书的有效期 校验数字证书 解密数据 RA系统审核用户身份 RA将证书下载凭证发放给用户 发送注册信息给RA 用户申请证书 100
PKI 相关标准 与PKI直接有关的标准化工作包括以下几个方面: 1. 证书格式 2.PKCS系列标准: 3.PKIX系列标准 4.应用标准 由RSA实验室制订的PKCS系列标准,是一套针对PKI体系的加解密、签名、密钥交换、分发格式及行为标准。 3.PKIX系列标准 由Internet工程任务组(IETF)制定的PKIX系列协议,定义了X.509证书在Internet上的使用,包括证书的生成、发布和获取,密钥的产生和分发机制等。 CRL、LDAP等 4.应用标准 采用PKI技术的应用,如S/MIME,SSL,Ipsec等
总结 了解PKI/CA相关概念 常用PKI/CA技术的原理 了解PKI/CA的作用 数字证书基本格式 了解PKI/CA相关标准 CA,RA,LDAP,数字证书,CRL 常用PKI/CA技术的原理 加密、数字签名、数字信封 了解PKI/CA的作用 数字证书基本格式 了解PKI/CA相关标准
PKI/CA技术的典型应用 PKI/CA应用 访问控制领域 电子政务领域 机房门禁(物理) 公文扭转 Windows登录(逻辑) 政务门户 电子商务领域 银行 网购 钓鱼 身份盗窃 PKI/CA应用 通信领域 WiFi 部署 硬件设备领域 Web 服务器 域名控制器 VPN 软件开发领域 代码签名 103
PKI/CA应用实例:Windows安全域登录 域登录示意图 104
安全邮件 S/MIME S/MIME –Secure Multipurpose Internet Mail Extensions (安全多用途因特网邮件扩展) 通过发件者签名来防止邮件被伪造 通过对邮件加密来防止邮件被偷看 105
安全邮件 S/MIME 邮件服务器 3.验证数字签名 1.制作数字信封 4.解开数字信封 2.制作数字签名 邮 件 数字证书 Mary 邮 件 数字证书 Mary Rick 数字证书 106
SSL/TLS 107
VPN/IPSec 总部LAN 数字证书 VPN网关 VPN安全通道 VPN安全通道 Internet 数字证书 数字证书 VPN网关 移动用户 Rick 子公司LAN 108
时间戳服务 在某些场合,文件签署时间非常关键性 确定在某一时间,某个文件确实存在 确定多个文件在逻辑上的时间先后顺序 数字时间戳服务(DTS)是一个经过CA签名后形成的凭证文档,包括:需加时间戳的文件的摘要、DTS收到文件的日期和时间、DTS数字签名 时间戳产生过程: 用户将需加时间戳的文件用HASH编码加密形成摘要,并将其发送到CA;CA在加入了收到日期和时间信息后再对该文件加密和数字签名,然后返回用户 数字支票、在线转账
时间戳服务 110
背景 - 时间同步服务(NTP) 互联网时间服务器从GPS取得原始时间源,计算机设备通过互联网从时间服务器取得时间,各计算机上的时间偏差限定在足够小的范围内(如100ms)。 111
文档签名 功能: 对文档及签名者的意见进行签名和验证,确保签名文档的完整性,防止对文档做未经授权的篡改 确认签名者真实身份 保证签名行为的不可否认性 应用场景: 无纸化办公,客户账单电子签收等 112
文档签名 113
可信站点认证服务 功能: 应用场景: 防止钓鱼攻击-通过“克隆”银行网站骗取银行客户信息 访问者向网站发送敏感信息时,确信其信息被发送到真实的目标站点 防止第三方站点仿冒银行网站,骗取访问者向该站点提交的敏感数据(比如:信用卡号码、密码等) 应用场景: 防止钓鱼攻击-通过“克隆”银行网站骗取银行客户信息 114
背景-钓鱼攻击 不少人都会上当 一旦点入随诈骗email附上的银行网址,就有可能被以假乱真的仿冒页面欺骗,私密数据主动送入黑客口袋 哪个是真的“中国银行”? www.BankofChina.cn www.BankofChina.com www.Bank-of-China.com 115
应用可信站点认证服务 通过安全连接发送信息 当站点信息和证书信息不相同时给出警告信息 116
代码签名 功能: 使用代码签名证书对软件进行签名后放到互联网上,使其软件产品更难以被仿造和篡改,增强软件开发商与用户间的信任度和开发商的信誉;用户知道该软件是安全的并且没有被篡改过,用户可以安全地进行下载、使用。 优点: 有效防止代码的仿冒 保证代码的完整性 可追踪代码的来源 应用场景: 软件的安全在线安装/更新 驱动程序代码签名 117
代码签名 118
案例 - 网上银行安全 安全网上银行 内网部分 因特网部分 119
电子政务:公文流转 电子政务 传统手工作业 PKI/CA 公文 费时 公文 费力 传阅 电子传阅 公文 传阅 公文 120
小结 PKI/CA的典型应用 Windows安全登录 时间戳服务 文档签名 安全传输(SSL) 可信网站 代码签名 安全电子邮件
优缺点分析 优点 缺点 标准化 支持广泛 可离线认证 较好的解决了“身份”问题,难以解决“角色”问题 PKIX系列 PKCS系列 支持广泛 SSL: https Web服务器:IIS, Apache, Domino 浏览器:IE、Netscape Email客户端:Outlook, Netscape Mail 可离线认证 缺点 较好的解决了“身份”问题,难以解决“角色”问题 签名/加密等关键操作安全性取决于私钥的安全性 离线认证 不绝对,CRL需要在线更新 Kerberos必须在线实施 122
PKI/CA的应用领域分析 适合的应用领域 不适合的应用领域 私钥的使用位置固定、使用环境相对安全 信任结构简单、稳定 对认证速度要求较高(如VPN应用) 有明显的离线认证要求(如“代码签名”) 不适合的应用领域 信任关系复杂,且有明显的变动性 私钥使用环境不安全(比如在单位的公用机,网吧等 123
谢谢,请提问题!