第10章 密码学及应用
10.1 密码学的概念及发展历史
10.1.1 密码学的概念
1.密码学包括密码编程学和密码分析学。
密码编程学主要研究信息的编码,构建各种安全有效的密码算法和协议,用于消息的加密、认证方面。
密码分析学是研究破译密码获取消息,或对消息进行伪造。
10.1.2 密码学的发展历史
- 第一阶段:
古典密码、凯撒密码
密码算法多采用针对字符的替代和置换。 - 第二阶段:
机械代替手工计算
密码算法的安全性仍然取决于密码算法本身的保密。
最具代表性的是ENIGMA转轮机 - 第三阶段:
Shannon发表跨时代论文“保密系统的通信理论”为密码学奠定了理论基础,密码学从此开始成为一门科学。 - 第四阶段:
密码学进入公钥密码学的新阶段。
现在,密码学已经得到广泛应用,密码标准化工作和世纪应用得到各国政府,学术界和产业界的空前关注,推动了密码学的研究与应用。
10.2 密码算法
密码按其功能特性主要分为三类:对称密码(也称为传统密码)、公钥密码(也称为非对称密码)和安全哈希算法。
10.2.1 对称密码算法
1.对称密码算法的基本特征是用于加密和解密的密钥相同,或者相对容易推导,因此也称为单密钥算法。
对称密码算法常分为分组密码算法和流密码算法。
2.分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分为长度为N的组(可看成长度为N的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。
3.流密码是指利用少量的密钥(制乱元素)通过某种复杂的运算(密码算法)产生大量的伪随机位流,用于对明文位流的加密。
10.2.2 非对称密码算法
公钥密码体制是建立在数学函数的基础上,而不是基于替代和置换操作。在公钥密码系统中,加密密钥和解密密钥不同,由加密密钥推导出相应的解密密钥在计算上是不可行的。系统的加密算法和加密密钥可以公开,只有解密密钥保密。
10.2.3 哈希函数
哈希(Hash)函数是进行消息认证的基本方法,主要用于消息完整性检测和数字签名。
10.3 网络空间安全中密码学应用
- 机密性保护问题:机密性保护通常通过加密来解决
- 完整性保护问题:循环冗余校验码就是一种完整性保护措施
- 可鉴别性保护问题:可鉴别性保护一般通过数字签名来实现
- 不可否认性保护问题:通过在发送数据中嵌入或附加一段只有发送者能够生成的数据
- 授权与访问控制问题:授权证书能保证授权访问的有效性
10.3.1 公钥基础设施
1.PKI概述
公钥基础设施也成为公开密钥基础设施。
2.PKI体系架构
PKI体系一般由CA,注册权威机构(RA),数字证书,证书/CRL库和终端实体等部分组成
- CA
为保证数字证书的真实可靠,需要建立一个可信的机构,撰文负责数字证书的产生,发放,管理,这个机构就是认证权威机构CA。
主要功能:- 证书的签发和管理
- CRL的签发和管理
- RA的建立,审核及管理
- RA
负责数字证书的申请,审核和注册,同时也是CA认证机构的延伸。
功能:- 进行用户身份信息的审核,确保其真实性
- 管理和维护本区域用户的身份信息
- 数字证书的下载
- 数字证书的发放和管理
- 登记黑名单
- 数字证书
数字证书三一段经CA签名的,包含拥有着身份信息和公开密钥的数据体,是各实体的身份证明,具有唯一性和权威性。数字证书和一对公,私钥相对应。
证书体一般包括以下内容:- 版本号
- 序列号
- 签名算法表示
- 签发者
- 有效期
- 主体名
- 主体的公钥
- 发行着唯一识别符
- 主题唯一识别符
- 扩展域
- 证书/CRL库
证书/CRL库主要用来发布,存储数字证书和证书撤销列表,供用户查询,获取其他用户的数字证书,为系统中的CRL所用。 - 终端实体
终端实体指拥有公/私钥和相应公钥证书的最终用户,可以是人,设备,进程等。
3.PKI互操作模型
需要采用新人模型来建立和管理它们之间的新人关系。
常用的PKI互操作模型主要有:
- 严格层次结构模型
树模型或层次模型
军队 垂直性行业 学校爱哦
在层次结构模型中,信任建立在严格的层次机制上,优点是其机构与许多组织或单位的结构相似,容易规划,缺点是不同单位的CA必须在一个共同的CA管理之下,根CA会导致风险集中。 - 网状信任结构模型
把信任分散到两个或多个CA上,在该结构中,每个终端实体都信任其证书签发CA,而CA之间如果信任,则以点对点的方式相互签发证书。网状信任结构模型的优点三结构灵活,拓展容易,适合动态变化的组织机构。缺点三选择证书路径比较困难。 - 桥信任结构模型
每个根CA都与但以的用作相互连接的处于中心地位的CA进行交叉认证,处于中心地位的CA称为桥CA
4.PKI的应用与发展
PKI作为一种安全基础措施,在网络中应用非常广泛。PKI也在不断发展,主要表现为:
- 属性证书
AC是特权管理基础设施的重要组成部分。其核心思想是以资源管理为目标,将对资源的访问控制全统一交给由资源的所有者来进行访问控制管理。 - 漫游证书
它由第三方软件提供,只需要在系统中正确地配置,该软件就可以允许用户访问自己的公/私钥对。 - 无线PKI
10.3.2 虚拟专用网
1.虚拟专用网
虚拟专用网(VPN)通常是指在公共网络中,利用隧道技术,建立一个临时的、安全的网络。VPN由“虚拟”(virtual)、“专用或私有”(private)以及“网络”(network)组成。
2.VPN的特点
- 成本低
- 安全保障
- 服务质量保证
- 可管
- 理性
- 可扩展性
3.VPN的工作原理及关键技术
- 隧道技术
隧道技术通过对数据进行封装,在公共网络上建立一条数据通道,让数据包通过这条隧道传输。
三种隧道协议:第二层隧道协议、第三层隧道协议和第四层隧道协议。- 第二层隧道协议在数据链路层,原理是先把各种网络协议封装到PPP包中,再把整个数据包装入隧道协议中,这种经过两层封装的数据包由第二层协议进行传输。
- 第三层隧道协议的原理是在网络层把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输。
- 第四层隧道协议在传输层进行数据封装。
- 加解密技术
在VPN实现中,大量通信流量的加密使用对称加密算法,而在管理和分发对称加密的密钥上采用非对称加密技术。 - 使用者与设备身份认证技术
除传统的身份认证协议外,使用PKI体系的身份认证的有IPSec、SSL等协议,在这些协议中,通信双方通过交换、验证数字证书来确认彼此的身份。 - IPSec技术
IPSec协议提供对IP及其上层协议的保护。在IP层上对数据包进行高强度的安全处理,提供包括访问控制、完整性、认证和保密性在内的服务。它包括安全协议和密钥协商协议两部分。
Ipsee安全协议给出了封装安全荷载(ESP)和鉴别头(AH)两种保护机制。
ESP机制为通信提供机密性、完整性保护;AH机制为通信提供完整性保护。
IPSec协议使用Internet密钥交换(IKE)协议实现安全参数协商。安全参数集合称为安全关联(SA)。
- IPSec的架构
- 认证头协议
用于增强IP层安全,该协议可以提供无连接的数据完整性,数据源验证和抗重放攻击服务。
AH主要基于MAC来实现认证,双方需要共享一个密钥,在报头中包含一个带密钥的散列值。
AH的格式包括5个固定长度域和一个变长的认证数据域:
1)下一个头
2)载荷长度
3)保留
4)安全参数索引
5)序列号
6)认证数据 - 封装安全载荷
封装安全载荷(ESP)协议也是一种增强IP层安全的IPSec协议,由RFC2406定义。ESP协议除了可以提供无连接的数据完整性、数据源验证和抗重放攻击服务外,还提供数据包加密和数据流加密服务。
ESP数据包由4个固定长度的域和3个可变长度域组成:
1)安全参数索引
2)序列号
3)载荷数据
4)填充
5)填充长度
6)下一个头
7)认证数据 - 安全关联
安全关联(SA)是IPSec协议的基础。AH和ESP协议都使用SA来保护通信。
安全协议使用一个三元组唯一地标识SA,该三元组包含安全参数索引(SPI)、IP目的地址和安全协议号(AH或ESP)。 - Internet密钥交换
IKE是一种混合型协议。由RFC 2409定义,其中包含3个不同协议地有关部分:
1)Internet安全关联和密钥管理协议(ISAKMP)是一个建立和管理SA的总体框架。
2)Oakley协议是密钥的生成协议。
3)安全密钥交换机制(SKEME)协议是一种匿名的,防抵赖的密钥生成方案。
- 认证头协议
- 安全套接层技术(SSL)
安全套接层协议位于TCP/IP与各种应用层协议之间,为数据通信提供安全支持,目前已广泛用于Web浏览器与服务器之间的身份认证和加密数据传输。
SSL协议的优势在于它是与应用层协议独立的,高层的应用层协议能透明地建立于SSL协议之上。
- 安全协议的架构由记录协议、握手协议、更改密码说明协议和 告警协议组成。
- 记录协议
SSL记录协议为SSL连接提供机密性和报文完整性服务。
SSL记录协议定义-->SSL记录头格式;SSL记录数据格式。 - 更改密码说明协议
SSL更改密码说明协议由值为1的单个字节组成,用来指示切换至新协商好的密码算法和密钥,接下来通信双方将使用这些算法和密钥加以保护。 - 告警协议
告警协议用于指示在什么时候发生了错误,或两个主机之间的会话在什么时候终止,将SSL协议有关的警告传送给对方实体。 - 握手协议
SSL协议中最复杂的部分。其过程如下:
1.客户端问候消息
2.服务器问候消息
3.证书
4.客户端认证请求
5.服务器密钥交换
6.服务器问候结束
7.客户端证婚俗
8.客户端密钥交换
9.证书验证
10.更改加密约定
11.客户端结束
12.加密数据
- 记录协议
4.VPN的典型应用方式
- 远程访问VPN
远程访问VPN适用于企业内部人员流动频繁或远程办公环境,出差或在家办公的员工使用Internet服务提供商(ISP)提供的服务就可以和企业的VPN网关建立起私有的隧道连接。 - 内联网VPN
企业内部异地分支机构的互联,可以采用内联网VPN,它能在两个异地网络的网关之间建立一个加密的VPN隧道,两端的内部网络使用该VPN隧道,像使用本地网络一样通信。 - 外联网VPN
将客户、供应商、合作伙伴或利益群体连接到企业内部网。它通常使用网关对网关的VPN,在不同企业的内部网络之间建立安全连接,需要配置不同协议和设备。
10.3.3 特权管理基础设施
1.PMI概述
它提供了一种在多应用环境中的权限管理和访问控制机制,将权限管理和访问控制从具体应用系统中分离出来,使得访问控制机制和应用系统之间能灵活且方便地结合。
2.PMI的组成
(1)属性证书
PMI使用AC表示权限信息,对权限生命周期的管理是通过管理证书的生命周期实现的。
(2)属性权威机构
属性权威机构(AA)是PMI的核心服务节点,是对应于具体应用系统的授权管理系统,由各应用部门管理,SOA授予它管理一部分或全部属性的权力。
(3)证书库(AC库)
证书库用于发布PMI用户的AC以及AC撤销列表(ACRL),以供查询。PMI和PKI一起建设时,也可以直接使用PKI的LDAP作为PMI的AC/ACRL库。
3.PMI应用的结构
PMI建立在PKI提供的可信的身份认证服务的基础上,采用基于属性证书的授权模式,提供用户身份到应用权限的映射。
- PMI和PKI之间的主要区别是:
- PMI主要进行授权管理,证明用户有什么权限、能干什么。
- PKI主要进行身份鉴别,证明用户身份。
- 两者之间的关系类似于护照和签证,护照是身份证明,可以用来唯一标识个人,同一个护照可以有多个国家的签证,能在指定时间进入相应的国家。
- 相似之处:
- 为用户数字证书签名的实体被称为CA,签名AC的实体被称为AA。
- PKI信任源被称为根CA,PMI的信任源被称为SOA。
- CA可以有它们信任的次级CA,次级CA可以代理鉴别和认证,SOA可以授权给次级AA。
- 如果用户需要废除其签名密钥,则CA将签发CRL.与之类似,如果用户需要废除授权允许(authorization permissions), AA将签发一个AC撒销列表。