第10章 密码学及应用

10.1 密码学的概念及发展历史

10.1.1 密码学的概念

密码学包括密码编码学(ryptography)和密码分析学( cryptanalysis)两部分。密码编码学主要研究信息的编码,构建各种安全有效的密码算法和协议,用于消息的加密、认证等方面:密码分析学是研究破译密码获得消息,或对消息进行伪造。

10.1.2 密码学的发展历史

  • 第一阶段:从古代到19世纪末,密码学发展早期的古典密码(classical cryptography)阶段。
  • 第二阶段:20世纪初到1949年,近代密码学的发展阶段。
  • 第三阶段:1949-1975,近代密码学的早期发展阶段。
  • 第四阶段:自1975年至今。1976年,。Diffie和Hellman发表了题为“密码学的新方向”的文章,提出了公钥密码的思想,引发了密码学历史上的一次变革,标志着密码学进入公钥密码学的新时代。

10.2 密码算法

10.2.1 对称密码算法

对称密码算法的基本特征是用于加密和解密的密钥相同,或者相对容易推导,因此也称为单密钥算法。对称密码算法常分为分组密码算法和流密码算法,分组密码和流密码的区别在于其输出的每一位数字不是只与相对应(时刻)的输人明文数字有关,而是与长度为N的一-组明文数字有关。
分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为N的组(可看成长度为N的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。分组对称密码是对称密码算法中重要的一类算法,典型的分组对称密码算法包括DES、IDEA、AES、RC5、Twofish、 CAST-256、 MARS等。
流密码是指利用少量的密钥(制乱元素)通过某种复杂的运算( 密码算法)产生大量的伪随机位流,用于对明文位流的加密。解密是指用同样的密钥和密码算法及与加密相同的伪随机位流来还原明文位流。

10.2.2 非对称密码算法

在公钥密码系统中,加密密钥和解密密钥不同。系统的加密算法和加密密钥可以公开,只有解密密钥保密。

10.2.3 哈希函数

哈希(Hash)函数是进行消息认证的基本方法,主要用于消息完整性检测和数字签名。
哈希函数接收一个消息作为输入,产生一个称为哈希值的输出,也可称为散列值或消息摘要。
将任意有限长度的比特串映射为固定长度的串。
如果H(x)=H(x'),则称x和x'是哈希函数H的一个(对)碰撞。

10.3 网络空间安全中的密码学应用

  • 机密性保护问题
  • 完整性保护问题
  • 可鉴别性保护问题
  • 不可否认性保护问题
  • 授权与访问控制的问题

10.3.1 公钥基础设施

1.PKI概述

公钥基础设施( Public Key Infrastruture, PKI) 也称为公开密钥基础设施。按照国际电联( International Telecommunication Union, ITU)制定的xX.509标准,PKI “是一一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。”简单地说,PKI 是一种遵循标准、利用公钥加密技术提供安全基础平台的技术和规范,能够为网络应用提供密码服务的一一种基本解决方案。PKI解决了大规模网络中的公钥分发和信任建立问题。

2.PKI体系结构

  • (1)CA
    • 证书的签发和管理
    • CRL的签发和管理
    • RA的设立、审核及管理
  • (2)RA
    • 进行用户身份信息的审核,确保其真实性
    • 管理和维护本区域用户的身份信息
    • 数字证书的下载
    • 数字证书的发放和管理
    • 登记黑名单
  • (3)数字证书
    • 版本号
    • 序列号
    • 签名算法标识
    • 签发者
    • 有效期
    • 主体名
    • 主体的公钥
    • 发行者唯一识别符
    • 主体唯一识别符
    • 扩展域
  • 证书/CRL库
  • 终端实体

3.PKI互操作模型

  • 严格层次结构模型
  • 网状信任结构模型
  • 桥信任结构模型

4.PKI的应用与发展

  • 属性证书
  • 漫游证书
  • 无线PKI

10.3.2 虚拟专用网

1.虚拟专用网的概述

1.虚拟专用网概述 虚拟专用网(Virtual Private Network, VPN)通常是指在公共网络中,利用隧道技术,建立一个临时的、安全的网络。从字面意义上看,VPN由“虚拟”(virtual)、“专用或私有"(private)以及“网络”(network)三个词组成。“虚拟” 是相对传统的物理专用网络而言的,VPN是利用公共网络资源和设备建立一个逻辑上的专用通道;“专用或私有”表示VPN是为特定企业或用户所有的,而且只有经过授权的用户才可以使用。

2.VPN的特点

  • 成本低
  • 安全保障
  • 服务质量保证
  • 可管理性
  • 可扩展性

3.VPN的工作原理及关键技术

  • (1)隧道技术 隧道技术通过对数据进行封装,在公共网络上建立一条数据通道(隧道),让数据包通过这条隧道传输。从协议层次看,主要有三种隧道协义:第二层隧道协议、第三层隧道协议和第四层隧道协议。
    • 第二层隧道协议在数据链路层,原理是先把各种网络协议封装到PPP包中,再把整效据包装 入隧道协议中,这种经过两层封装的数据包由第二层协议进行传输。第二层隧国怀议主要有点对点隧道协议( Point to Point Tunneling Protocol, PPTP)和第二层隧道协这( Layer Two Tunneling Protocol, L2TP)。其中,PPTP在RFC-2637中定义,该协议将PP数据包封装在IP数据包内通过IP网络(如Internet)进行传送;而L2TP在RFC 2661中定义, 它可以让用户从客户端或服务器端发起VPN连接请求,L2TP协议支持IP、X.25、帧中继或ATM等传输协议。
    • 第三层隧道协议的原理是在网络层把各种网络协议直接装人隧道协议中,形成的数据包依靠第三层协议进行传输。第三层隧道协议主要有IPSec (IP Security)和通用路由封装(General Routing Encapsulation, GRE)。GRE是通用的路由封装协议,支持全部的路由协议(如RIP2、OSPF等),用于在IP包中封装任何协议的数据包,包括IP、IPX、NetBEUI、AppleTalk、Banyan VIN ES和DECnet等。
    • 第四层隧道协议在传输层进行数据封装。一般将TCP数据包封装后进行传输,如HTTP会话中的数据包。第四层隧道协议主要有SSL、TSL等协议。
  • (2)加解密技术
  • (3)使用者与设备身份认证技术
  • (4)IPSec技术
    • 认证头协议(AH)
    • 封装安全载荷
    • 安全关联
    • Internet密钥交换
  • 安全套接层(SSL)技术
    • 1)记录协议
    • 2)更改密码协议
    • 3)告警协议
    • 4)握手协议

    4.VPN的典型应用方式

  • (1)远程访问VPN(Acess VPN)
  • (2)内联网VPN(Internet VPN)
  • (3)外联网VPN(Extranet VPN)

10.3.3 特权管理基础设施

1.PMI概述

它提供了一种在多应用环境中的权限管理和访问控制机制,将权限管理和访问控制从具体应用系统中分离出来,使得访问控制机制和应用系统之间能灵活且方便地结合。
PMI的主要功能包括对权限管理进行系统的定义和描述,建立用户身份到应用授权的映射,支持应用访问控制。简单地说,它能提供,种独立于应用资源、用户身份及访问权限的对应关系,保证用户能够获取授权信息。

2.PMI的组成

  • (1)属性证书
  • (2)属性权威机构
  • (3)证书库(AC库)

3.PMI应用的结构

PMI和PKI之间的主要区别是:

  • 1) PMI主要进行授权管理,证明用户有什么权限、能干什么。
  • 2) PKI主要进行身份鉴别,证明用户身份。
  • 3)两者之间的关系类似于护照和签证,护照是身份证明,可以用来唯一标识个人,同一个护照可以有多个国家的签证,能在指定时间进人相应的国家。

当然,两者之间的架构也有很多相似之处,例如:

  • 1)为用户数字证书签名的实体被称为CA,签名AC的实体被称为AA。
  • 2) PKI信任源被称为根CA, PMI的信任源被称为SOA。
  • 3) CA可以有它们信任的次级CA,次级CA可以代理鉴别和认证,SOA可以授权给次级AA。
  • 4)如果用户需要废除其签名密钥,则CA将签发CRL。与之类似,如果用户需要废除授权允许( authorization permissions), AA 将签发-个AC 撤销列表。

在实际应用中,PMI大多基于PKI来建设,也和PKI一起为应用程序提供安全支撑。

  • 1)访问者、目标
    访问者是-个实体, 该实体可能是人,也可能是其他计算机实体,它试图 访问应用系统内的其他目标(资源)。
  • 2)策略
    授权策略展示了一个机构在信息安全和授权方面的顶层控制、授权遵循的原则和具体的授权信息。在一个机构的PMI应用中,策略包括.个机构如何将它的人员和数据进行分类组织,这种组织方式必须考虑到具体应用的实际运行环境,如数据的敏感性、人员权限的明确划分,以及必须和相应人员层次匹配的管理等因素。所以,策略需要根据具体的应用来确定。
  • 3)授权检查
  • 4)访问控制决策点

Copyright © 2024 罗雪峰
Powered by .NET 9.0 on Kubernetes