当前课程知识点:网络空间安全技术 > 第4章 网络空间安全防御加密与认证技术 > 4.5 认证技术与PKI体系 > 4.5 认证技术与PKI体系
同学们,大家好
这节课我们来学习
《网络空间安全技术》这门课程第三篇
网络空间安全防御技术体系第4章
网络空间安全
防御加密与认证技术的第五部分内容
认证技术与PKI体系
在这一章里面
我们分以下几点来进行讨论
首先是认证的概念和分类
第二是消息认证技术
第三是实体认证技术
第四是PKI体系数字证书与数字签名
第五点是我们这节课的思考与拓展的问题
首先我们来看第一点
认证的概念和分类
我们首先来看网络空间当中的认证
提到网络空间当中的认证
我们必须要
考虑网络空间当中的信任关系
所谓信任关系
它的作用是在网络空间环境当中
进行身份识别
权限分配和责任认定
信任关系就是要完成这些功能
它表明在网络空间当中的系统
部件、进程等实体之间
需要建立一种信任关系
认证的意义和作用
我们说认证是构建
网络空间当中
信任关系的主要手段之一
它用来核实真实的身份
对于开放环境当中
各个信息系统的安全性
有重要的作用
我们说的身份
它包括消息和实体两个方面
我们来看一下
网络空间当中认证方案的设计目标
一个完整的认证方案需要能够实现
合法的消息接收方
能够验证其收到的消息是否真实
而发信者无法抵赖自己发出的消息
除了合法的发信者之外
别人没有办法来伪造信息
如果收发双方产生争执
可以由第三方来进行仲裁
这个是完整的认证方案
需要实现的目标
我们来看一下认证的分类
根据认证对象的不同
我们可以把认证分为消息认证
和实体认证
消息认证就是对通信数据的认证
而实体认证呢
则是对通信主体的认证
接下来我们来看一下消息认证技术
首先我们来看消息认证的定义
所谓消息认证
是用来验证消息的完整性
当接收方收到发送方的报文时
接收方能够验证收到的报文是真实的
和未被篡改的
它包含两层含义
首先验证信息的发送者是“真正的”
而不是冒充的
也就是数据起源的认证
第二个
是验证信息在传送过程当中未被篡改
重放或者是延迟等
接下来我们看一下消息认证的方法
分为三种
第一个是加密
通常采用对称加密和非对称加密方法
第二个是消息认证码
也就是所谓的MAC方法
第三个是利用哈希函数的方法
比如说采用MD5、SHA 系列函数等
接下来我们来看一下MAC
所谓MAC
它实际上是一种带密钥的哈希函数
根据密钥和消息摘要所获得的一个值
可用于数据源发认证和完整性检验
它的具体步骤是
第一步在消息发送之前
发送方
首先使用双方协商好的哈希函数
来计算这个消息的摘要值
第二步在共享会话密钥的作用之下
由摘要值来获得MAC
第三步会将MAC和数据合在一起
形成报文来实现发送
第四步接收方收到报文之后
首先利用会话密钥还原摘要值
再利用哈希函数在本地计算
所收消息的摘要值
并将这两个消息进行比对
第五步
如果刚才计算出的两个消息二者相等
则该报文通过认证
我们刚才说了
如果两个消息相等
则该报文通过认证。这是为什么呢
接收方可以相信消息未被篡改
如果攻击者修改了消息
而攻击者并不知道密钥
因此他不能够算出新的MAC
接收方可以相信消息
来自特定的发送方
因为其他各方均不知道密钥
因此他们无法产生正确的MAC报文
如果在消息中加入序列号
由于攻击者无法成功
“正确地”修改序列号
因此可以相信报文的顺序是正确的
使用MAC进行消息认证
需要注意一些事项
在上述方法当中
由于消息是以明文传送的
故无法提供保密性
如果要获得保密性
可使用MAC算法之前
或之后对报文进行加密
这个时候需要使用独立密钥
而且该密钥被收发双方所共享
MAC算法通常是多对一的函数
多种明文可能会产生相同的MAC
MAC算法
不要求可逆性
但是加密算法必须可逆
因此MAC要比加密函数更难攻破
而且由于收发双方共享密钥
因此MAC算法
并不能提供数字签名功能
同学们接下来我们来看一下实体认证
首先我们来看一下
实体认证的理论基础
实体认证的理论基础包括物理基础
数学基础和协议基础
物理基础
是3条
第一个是“实体所知”,也就是密码和口令
第二是“实体所有”,比如说身份证
数字证书等
第三是“实体特征”
比如说指纹
虹膜、面貌等生物特征
实体认证的数学基础包括零知识证明
所谓零知识证明
也就是既能充分证明自己
是某种权益的合法拥有者
又不泄露有关信息
也就是透露给外界的“知识”为零
故此它得名“零知识证明”
实体认证的协议技术
分为单向认证和双向认证
基于可信第三方的认证和双方认证
对称密码认证和非对称密码认证
接下来我们来看一下
单向认证和双向认证
所谓单向认证
是指通信双方只有一方
来校验对方的合法性
一方在向对方证明自己身份的同时
即可发送数据
另一方收到数据时
先要验证发送方的身份
验证通过即可接收数据
它可以采用非对称加密的认证模式
来实现单向认证
比如说HTTPS协议一般是单向认证
客户端保存着服务端的证书
并信任该证书即可
双向认证
是指通信双方互相校验对方的合法性
比如在C/S架构当中
服务器需要校验每个客户端的证书
而每个客户端
也需要校验服务器的证书
因此它是双个方向的认证
接下来我们来看一下PKI体系
数字证书和数字签名
在PKI体系当中
我们首先来看PKI的概念和作用
所谓PKI也就是公钥基础设施
它包括硬件
软件、人员、策略和规程的集合
PKI的作用
是利用公钥密码体制
来构建一种基础设施
绑定证书持有者的身份和相关的密钥对
实现基于公钥密码体制的密码
和数字证书的产生
管理存储分发和撤销等功能
因此我们可以看出PKI的本质
它是实现公钥
也就是非对称密钥管理的标准化
我们来看一下PKI的结构
PKI体系它的结构主要由认证机构CA
注册机构RA、证书发布系统
密钥管理中心KMC
以及应用接口系统五部分组成
认证机构CA
它是数字证书的签发机构
是PKI的信任基础和核心
用于发放证书和发布证书撤销列表
也就是CRL
注册机构RA
它提供用户和CA之间的一个接口
接受用户的注册申请
审查用户的申请资格
并决定是否同意CA
给其签发数字证书
证书发布系统
支持对外发布数字证书服务
减轻RA的负担
通过轻量级目录访问协议
LDAP方式对外提供证书查询
或下载服务
密钥管理中心KMC
是为CA系统提供密钥的生成
保存、备份、更新
恢复、查询等密钥服务
应用接口系统API
是为各种具体的应用提供安全
一致、可信的方式
与PKI紧密交互
接下来我们来看一下PKI的功能
PKI的主要功能分为两部分
一个是证书管理,第二是密钥管理
证书管理主要是实现策略批准
证书签发
证书发布、证书撤销、证书归档
以及密钥生成功能
密钥管理呢
除了密钥生成功能之外
还要进行密钥恢复和
密钥更新功能的实现
接下来我们来看一下
数字证书
首先我们来看一下数字证书的概念
数字证书又称为公钥证书
简称证书
数字证书是
用来证明公钥拥有者身份的电子文件
多由权威第三方发放
也就是PKI系统
它基于公钥密码原理
拥有者凭此证明自己的身份
通俗的理解其为
网络版的身份证
证书内含姓名等身份信息
还包含一个用户公钥
每个用户
都拥有一个数字证书和一个私钥
该私钥与数字证书当中的公钥配对
数字证书可以公开
但私钥是必须保密的
个人私钥目前都采用USB Key的方式
我们俗称U盾
接下来我们来看一下
数字证书的格式和它的内容
数字证书格式普遍采用
X.509 V3国际标准
它的内容包括公钥
也就是证书所有者的公开密钥信息
身份信息
包括网络主机名、组织名称
或者是个体名称等
签名信息
是证书签发机构CA的签名
或者是自签名
接下来我们来看一下
数字证书的生成及使用流程
数字证书的生成过程分为基本的五步
通常
仅在审核签发环节需要CA参与
第一步是用户申请证书
接下来CA进行审核
并向用户签发证书
第三步是用户的通信对方向用户请求证书
第四步对方利用证书信息
来验证用户的身份
最后
是验证通过后,来执行后续的业务操作
接下来我们看
用户证书生成及使用的具体步骤
首先是用户申请认证
用户需自己生成
公钥私钥对提交给CA机构
申请文件中含公钥、个人信息
域名等
第二步是CA审核的签发
CA验证申请者信息的真实性
审核通过之后
向申请者签发认证文件也就证书
那么这个证书里面包含申请者的公钥
申请者的个人信息
CA信息
有效时间、证书序列号等信息的明文
并含一个CA签名
CA的签名
首先使用哈希函数
计算公开的明文信息
哈希值
再用CA的私钥对该哈希值进行加密
得到的密文也就是签名
第三步
用户的通信对方向用户请求证书
用户向对方返回证书
第四步
对方利用证书信息来验证用户的身份
对方读取证书当中相关的明文信息
采用同一个哈希函数来计算
得到哈希值
再利用CA的公钥解密签名数据
对比证书的哈希值
如果二者一致
我们就可以确认证书的合法性
也就是用户的公钥合法
从而确认用户的身份
第五步
验证通过后执行后续的业务操作
双方可进行密钥协商
并根据协商的密钥来进行数据加密
数据传输
和数据解密等具体业务
接下来我们来看一下数字证书的分类
数字证书
有很多种分类方式
根据密钥对来进行分类
可以分为签名证书和加密证书
根据证书的用途
我们可以分为SSL证书
时间戳证书等
根据证书持有者来进行分类
持有者是否CA
可以分为CA证书和用户证书
根据持有者的类型来分类
又分为个人证书
单位证书以及系统证书
根据验证模式来分类
我们可以分为DV证书
也就是域名型证书
OV证书也就是企业型证书
以及EV证书
也就是增强型证书
根据域名来进行分类
可以分为单域名证书
也就是一个证书对应一个域名
泛域名证书
一个证书对应一个域名
同一级的全部子域名
以及多域名证书
我们常称为SAN证书
也就是一个证书
对应支持多个不同的域名
接下来我们来分析一下
数字证书的应用场景
首先它可以用于身份认证
也就是进行身份识别和鉴别
确认实体
即为自己所声明的实体
鉴别身份的真伪
第二个
可以实现数据完整性的保护
利用数字签名提供实体认证
并保障被签名数据的完整性
第三个是数据保密性的保护
利用数字信封机制来实现
第四个是不可否认性保护
用数字签名的方法
来防止其对行为的否认
接下来我们来看一下
数字签名的基本概念和主要作用
所谓数字签名
是对电子形式信息
进行签名的一种方法
在数据单元上附加一些数据
或对数据单元做密码变换
这种附加数据或变换
允许接收者应用
已确认数据单元的来源及其完整性
并保护数据
防止数据被伪造
接下来我们来看
数字签名的实现形式
主要有基于对称密码
基于哈希函数以及基于公钥密码三种
如果单纯采用对称密码
无法实现数字签名
需要借助MAC等其他辅助手段
但在不可否认性方面
它的保障能力不强
基于哈希函数的数字签名
哈希散列签名方法发明于1970年
或者是早于1980年
现今因公钥签名安全性问题呢
又被重视
基于公钥密码的数字签名
它是一种主流的数字签名形式
它是利用
公钥加密体制当中的认证模式
实践中
可具体结合PKI及数字证书来实现
我们来看一下数字签名的应用示例
首先从发送者的角度来看
发送者A
对准备发送的名为M1
进行哈希运算得到消息摘要H
接下来A用自己的私钥SK对
H进行加密
得到A的数字签名 S
并将其附在M1上
第三步A随机产生一个DES密钥
并用此M加密形成C
A用B的公钥PK
对刚才随机产生的加密密钥进行加密
将加密后的DES密钥连同密文C
一起传送给B
从接受者B的角度来看
B收到A传送过来的密文C
和加过密的DES密钥
先用自己的私钥SK
对加密的DES密钥进行解密
得到DES密钥
B再用DES密钥
收到的密文C进行解密得到明文
B用A的公钥PK
对A的数字签名S
进行解密得到H1
然后必再用相同的哈希算法
对收到的明文M2再进行
哈希运算得到一个新的H2
第五步B将收到的信息摘要H1
和新生成的信息摘要H2进行比较
如果二者一致
则说明收到的信息未被篡改
也就是M2等于M1
同学们接下来我们来看一下
本节需要大家思考的问题
我们要思考的问题是
基于
国产密码算法的PKI体系的构建和应用
我们给出以下三点提示
在结构实现方面
PKI体系需要用到哪些国产密码算法
在自主可控方面使用国产密码算法
能起到哪些作用
在国际认证方面
基于国产密码算法的PKI体系如何实现
与国际其他PKI体系的交叉认证
同学们
本讲就讲到这里
感谢观看
下次再见,谢谢
-课程总览
-1.1 网络与网络空间
-1.2 网络安全与网络空间安全
-1.3 网络空间安全与国家安全
-1.4 网络空间安全威胁 风险与攻防
-第1章 习题
--第1章 习题
-2.1 安全理论 技术 与工程的关系
-2.2 网络空间信息系统安全工程
-2.3 网络空间安全技术体系
-2.4 网络安全与攻防对抗模型
-第2章 习题
--第2章 习题
-3.1 攻击模型与攻击链
-3.2 攻击向量与攻击面
-3.3 攻击图
--3.3 攻击图
-3.4 网络安全攻击技术分类
-3.5 典型的安全攻击方法
-第3章 习题
--第3章 习题
-4.1 密码与加密概述
-4.2 对称加密技术
-4.3 非对称加密技术
-4.4 哈希技术
--4.4 哈希技术
-4.5 认证技术与PKI体系
-第4章 习题
--第4章 习题
-5.1 信任体系与零信任安全
-5.2 操作系统与终端安全
-5.3 网络安全防护架构
-5.4 典型的网络安全技术
-第5章 习题
--第5章 习题
-6.1 漏洞扫描与漏洞挖掘技术
-6.2 Web安全技术
-6.3 软件安全技术
-6.4 数据安全技术体系
-6.5 信息隐藏技术
-第6章 习题
--第6章 习题
-7.1 网络安全风险评估技术
-7.2 网络安全测评技术
-7.3 网络安全等级保护
-7.4 网络安全情报分析与态势感知技术
-7.5 内容安全技术
-第7章 习题
--第7章 习题
-8.1 工业控制系统安全保障
-8.2 物联网安全保障
-8.3 信息物理系统安全保障
-8.4 云计算安全保障
-8.5 区块链安全保障
-第8章 习题
--第8章 习题