10.1 密码学的概念及发展历史
10.1.1 密码学的概念
- 密码编程学:主要研究信息的编码,构建各种安全有效的密码算法和协议,用于消息的加密、认证方面。
- 密码分析学:研究破译密码获取消息,或对消息进行伪造。
10.1.2 密码学的发展史
密码学的发展历史大致分为以下四个阶段:
- 第一阶段:从古代到19世纪末,这是密码学发展早期的古典密码阶段。
- 第二阶段:从20世纪初到1949年,这是近代密码学的发展阶段。
- 第三阶段:从1949年到1975年,这是现代密码学的早期发展阶段。
- 第四阶段:自1976年开始一直延续至今。
10.2 密码算法
10.2.1 对称密码算法
- 对称密码算法的基本特征是用于加密和解密的密钥相同,或者相对容易推导,因此也称为单密钥算法。
- 对称密码算法常分为分组密码算法和流密码算法。
- 分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分为长度为N的组(可看成长度为N的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。
- 流密码是指利用少量的密钥(制乱元素)通过某种复杂的运算(密码算法)产生大量的伪随机位流,用于对明文位流的加密。
- DES、IDEA、AES、RC5
10.2.2 非对称密码算法 - 在公钥密码系统中,加密密钥与解密密钥不同,由加密密钥推导出相应的解密密钥在计算上是不可行的。系统的加密算法和加密密钥可以公开,只有解密密钥保密
- 缺点:计算复杂、耗用资源大、并且会导致密文变长
10.2.3 哈希函数 - h=H(M)
- 哈希(Hash)函数是进行消息认证的基本方法,主要用于消息完整性检测和数字签名。
- Q:什么是散列值和信息摘要
10.3 网络空间安全中的密码学应用 - 安全保护问题:
- 机密性保护问题
- 完整性保护问题
- 可鉴别性保护问题
- 不可否认性保护问题
- 授权与访问控制的问题
10.3.1 公钥基础设施
PKI
- 公钥基础设施也称为公开密钥基础设施。PKI是一种遵循标准、利用公钥加密技术提供安全基础平台的技术和规范,能够为网络应用提供密码服务的一种基本解决方案。
PKI体系架构 - PKI体系一般由CA、注册权威机构(RA)、数字证书、证书/CRL库和终端实体等部分组成。
CA
认证权威机构CA,专门负责数字证书的产生、发放和管理。CA是KPI的核心组成部分,PKI体系也往往被称为PKI/CA体系。
CA的主要功能包括: - 证书的签发和管理
- CRL的签发和管理
- RA的设立、审核及管理
RA
RA也称为证书注册中心,负责数字证书的申请、审核和注册,同时也是CA认证机构的延伸。在逻辑上,RA和CA是一个整体,主要负责所有证书申请者的信息录入、审核等工作,同时对发放的证书进行管理。
RA的主要功能如下: - 进行用户身份信息的审核,确保其真实性。
- 管理和维护本区域用户的身份信息。
- 数字证书的下载。
- 数字证书的发放和管理。
- 登记黑名单
数字证书
数字证书是一段经CA签名的、包含拥有者身份信息和公开密钥的数据体,是各实体的身份证明,具有唯一性和权威性。
数字证书主要包括3部分内容:证书体、签名算法以及CA签名数据。
证书体一般包括以下内容:
版本号、序列号、签名算法标识、签发者、有效期、主体名、主体的公钥、发行者唯一标识符、主体唯一标识符、扩展域。
证书/CRL库 - 证书/CRL库主要用来发布、存储数字证书和证书撤销列表,供用户查询、获取其他用户的数字证书,为系统中的CRL所用。
终端实体 - 终端实体指拥有公/私钥对和相应公钥证书的最终用户,可以是人、设备、进程等。
PKI互操作模型
- 严格层次结构模型
严格层次结构模型是一种集中式的信任模型,又称为树模型或层次模型。严格层次结构模型是一棵树,它比较适合具有层次结构的机构。
在层次结构模型中,信任建立在严格的层次机制上,优点是其结构与许多组织或单位的结构相似、容易规划,缺点是不同单位的CA必须在一个共同的根CA管理之下,根CA会导致风险集中。 - 网状信任结构模型
网状信任结构模型也称为分布式信任模型。
网状信任结构模型的优点是结构灵活、扩展容易,适合动态变化的组织机构,因为单CA安全性的削弱不会影响整个PKI的运行,缺点是证书路径的扩展与层次结构比较复杂,选择证书路径比较困难。 - 桥信任结构模型
桥信任结构模型也称为中心辐射式信任模型。任何结构类型的PKI都可以通过桥CA连接在一起,实现互相信任。
PKI的应用与发展
- 应用:虚拟专用网、安全电子邮件、web安全应用、电子商务/电子政务等领域。
- 发展:
(1)属性证书
属性证书(AC)是特权管理基础设施的重要组成部分。其核心思想是以资源管理为目标,将对资源的访问控制权统一交由资源的所有者来进行访问控制管理。
(2)漫游证书
漫游证书是由第三方软件提供,只需在系统中正确地配置,该软件(或者插件)就可以允许用户访问自己的公/私钥对。
(3)无线PKI
将PKI技术直接应用于无线通信领域存在两个问题:无线终端的资源有限,通信模式不同。
在证书编码方面,WPKI证书降低了存储量,实现机制有两种:一种是重新定义证书格式,减少X.509证书尺寸;另一种是采用ECC算法减少证书的尺寸。
10.3.2 虚拟专用网
虚拟专用网概述
- 虚拟专用网(VPN)通常是指在公共网络中,利用隧道技术,建立一个临时的、安全的网络。
- VPN由“虚拟”(virtual)、“专用或私有”(private)以及“网络”(network)组成。
VPN的特点 - 成本低、安全保障、服务质量保证、可管、理性、可扩展性
VPN的工作原理及关键技术
1)隧道技术
隧道技术通过对数据进行封装,在公共网络上建立一条数据通道,让数据包通过这条隧道传输。
三种隧道协议:第二层隧道协议、第三层隧道协议和第四层隧道协议。
第二层隧道协议在数据链路层,原理是先把各种网络协议封装到PPP包中,再把整个数据包装入隧道协议中,这种经过两层封装的数据包由第二层协议进行传输。
第三层隧道协议的原理是在网络层把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输。
第四层隧道协议在传输层进行数据封装。
2)加解密技术
在VPN实现中,大量通信流量的加密使用对称加密算法,而在管理和分发对称加密的密钥上采用非对称加密技术。
3)使用者与设备身份认证技术
除传统的身份认证协议外,使用PKI体系的身份认证的有IPSec、SSL等协议,在这些协议中,通信双方通过交换、验证数字证书来确认彼此的身份。
4)IPSec技术
IPSec协议提供对IP及其上层协议的保护。在IP层上对数据包进行高强度的安全处理,提供包括访问控制、完整性、认证和保密性在内的服务。
安全协议和密钥协商协议。
安全协议--通信保护机制:封装安全荷载(ESP)和鉴别头(AH)。
ESP机制为通信提供机密性、完整性保护;AH机制为通信提供完整性保护。
- IPSec协议使用Internet密钥交换(IKE)协议实现安全参数协商。安全参数集合称为SA。
认证头协议(AH) - 认证头协议是由RFC2402定义的,用于增强IP层安全,该协议可以提供无连接的数据完整性、数据源验证和抗重放攻击服务。AH不提供机密性服务,不加密所保护的数据包。
- AH的格式包括5个固定长度域和1个变长的认证数据域。
封装安全载荷 - 封装安全载荷(ESP)协议也是一种增强IP层安全的IPSec协议,由RFC2406定义。ESP协议除了可以提供无连接的数据完整性、数据源验证和抗重放攻击服务外,还提供数据包加密和数据流加密服务。
安全关联 - 安全关联(SA)是IPSec协议的基础。AH和ESP协议都使用SA来保护通信。
- 安全协议使用一个三元组唯一地标识SA,该三元组包含安全参数索引(SPI)、IP目的地址和安全协议号(AH或ESP)。
Internet密钥交换 - Internet密钥交换协议是IPSec协议组=族的组成部分之一,用来实现安全协议的安全参数协商,以确保VPN与远端网络或者宿主主机进行交流时的安全。IKE协商的安全参数包括加密及鉴别算法、加密及鉴别密钥、通信的保护模式、密钥的生存期等。
- IKE是一种混合型协议,由RFC2409定义,其中包含3个不同协议的有关部分:Internet安全关联和密钥管理协议(ISAKMP)、Oakley和安全密钥交换机制(SKEME)。
- ISAKMP是一个建立和管理SA的总体框架。
- Oakley协议是密钥的生成协议,对密钥生成提供机密性保护,并为协商对方提供身份保护的密钥生成方案。
- SKEME协议是一种匿名、防抵赖的密钥生成方案。
安全套接层(SSL)技术
- 安全套接层协议位于TCP/IP与各种应用层协议之间,为数据通信提供安全支持,目前已广泛用于Web浏览器与服务器之间的身份认证和加密数据传输。
- SSL协议的优势在于它是与应用层协议独立的,高层的应用层协议能透明地建立于SSL协议之上。
- 记录协议:SSL记录协议为SSL连接提供机密性和报文完整性服务。
SSL记录协议定义-->SSL记录头格式;SSL记录数据格式。 - 更改密码说明协议:SSL更改密码说明协议由值为1的单个字节组成,用来指示切换至新协商好的密码算法和密钥,接下来通信双方将使用这些算法和密钥加以保护。
- 告警协议:告警协议用于指示在什么时候发生了错误,或两个主机之间的会话在什么时候终止,将SSL协议有关的警告传送给对方实体。
- 握手协议:SSL协议中最复杂的部分。
VPN的典型应用方式
- 远程访问VPN(Access VPN):远程访问VPN适用于企业内部人员流动频繁或远程办公环境,出差或在家办公的员工使用Internet服务提供商(ISP)提供的服务就可以和企业的VPN网关建立起私有的隧道连接。
- 内联网VPN(Intranet VPN):企业内部异地分支机构的互联,可以采用内联网VPN,它能在两个异地网络的网关之间建立一个加密的VPN隧道,两端的内部网络使用该VPN隧道,像使用本地网络一样通信。
- 外联网VPN(Extranet VPN):将客户、供应商、合作伙伴或利益群体连接到企业内部网。它通常使用网关对网关的VPN,在不同企业的内部网络之间建立安全连接,需要配置不同协议和设备。
10.3.3 特权管理基础设施
- PMI
- 它提供了一种在多应用环境中的权限管理和访问控制机制,将权限管理和访问控制从具体应用系统中分离出来,使得访问控制机制和应用系统之间能灵活且方便地结合。
- PMI的组成
- 属性证书:PMI使用AC表示权限信息,对权限生命周期的管理是通过管理证书的生命周期实现的。
- 属性权威机构:属性权威机构(AA)是PMI的核心服务节点,是对应于具体应用系统的授权管理系统,由各应用部门管理,SOA授予它管理一部分或全部属性的权力。
- 证书库(AC库):证书库用于发布PMI用户的AC以及AC撤销列表(ACRL),以供查询。PMI和PKI一起建设时,也可以直接使用PKI的LDAP作为PMI的AC/ACRL库。
- 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撒销列表。)
- 在实际应用中,PMI大多基于PKI来建设,也和PKI一起为应用程序提供安全支撑。两者和应用系统结合的逻辑结构如图。
- 访问者、目标:访问者是个实体,该实体可能是人,也可能是其他计算机实体,它试图访问应用系统内的其他目标(资源)。
- 策略:授权策略展示了一个机构在信息安全和授权方面的顶层控制、授权遵循的原则和具体的授权信息。策略需要根据具体的应用来确定。
- 授权检查:授权检查即访问控制执行点( Access control Enforcement Function, AEF)。在应用系统中,位于访问者和目标(资源)之间,检查访问者是否具有适当的访问目标(资源)的权限。
策略包含着应用系统中的所有用户和资源信息,以及用户和信息的组织管理方式、用户和资源之间的权限关系。安全地管理授权约束,保证系统安全的其他约束,一般采用基于角色的访问控制(RBAC)。 - 访问控制决策点:访问控制决策点(Access control Decision Function, ADF) 接收和评价授权请求,根据具体策略做出不同的决策。它般不随具体的应用而变化,是一个通用的处理判断逻辑。