【网络安全】第4讲 身份认证技术(笔记)

news2024/11/24 9:44:44

一、身份认证技术概述

1、身份认证

  • 是网络安全的第一道防线。
  • 是最基本的安全服务,其他的安全服务都依赖于它。
  • 在物联网应用系统中,身份认证也是整个物联网应用层信息安全体系的基础。

2、基本身份认证技术

(1)双方认证

是一种双方相互认证的方式。

(2)可信第三方认证

认证过程必须借助于一个双方都能信任的可信第三方(如:Kerberos 认证协议)。


3、基于 PKI/WPKI 轻量级认证技术

(1)PKI(公钥基础设施)

是一个用公钥技术来实施和提供安全服务的、具有普适性的安全基础设施。

(2)WPKI

  • Wireless PKI
  • 是为了满足无线通信的安全需求而发展起来的公钥基础设施。

4、新型身份认证技术 —— 零知识身份认证技术

不需要提供私密信息也能够识别用户身份

技术思想:有两方,认证方 V 和被认证方 P,P 掌握了某些私密信息,P 想设法让 V 相信它确实掌握了那些信息,但又不想让 V 知道他掌握的那些信息具体内容是什么。


5、非对称密钥认证

  • 通过请求认证者和认证者之间对一个随机数作为数字签名与验证数字签名的方法来实现。
  • 要求(用于实现数字签名和验证数字签名的密钥对必须与进行认证的一方唯一对应

二、Kerberos 网络用户身份认证系统

1、Kerberos 简介


2、Kerberos 系统要解决的问题

  • 在一个开放的分布环境中,工作站的用户想获得分布在网络中的服务器上的服务;服务器应能够限制授权用户的访问,并能鉴别服务请求的种类。
  • 但在这种环境下,存在以下三种威胁:
  1. 攻击者可能假装成其他用户操作工作站。
  2. 攻击者可以变更工作站的网络地址,从而冒充另一台工作站发送请求。
  3. 攻击者可以监听信息交换并使用重播攻击,以获得服务或破坏正常操作。

3、Kerberos 系统的功能

  • 提供一个集中的认证服务器,其功能上实现服务器与用户之间的相互认证。
  • 采用可信任的第3方密钥分配中心(KDC)保存与所有密钥持有者通信的主密钥(秘密密钥)
  • 安全机制(首先对发出请求的用户进行身份验证,确认是否是合法的用户,如果是,再审核该用户是否有权对他所请求的服务或主机进行访问)。

4、Kerberos 系统的目的

  • 安全:非法用户不能伪装成合法用户来窃听有关信息。
  • 可靠:用户依靠Kerberos提供的服务来取得进行访问控制所需的服务。
  • 透明:整个系统对用户来说应该是透明的。除了需要输入一个口令外,用户感觉不到认证服务的发生。
  • 可扩缩:系统应采用模块化、分布式结构,能支持大量客户和服务器。

5、Kerberos 系统的角色

(1)认证服务器 AS

作为第三方对用户进行身份认证。

(2)票据许可服务器 TGS

向已通过 AS 认证的用户发送用户获取业务服务器 V 所提供的服务的票据。


6、Kerberos 系统的缩写


7、Kerberos 系统的凭证

(1)票据(Ticket)

(2)鉴别码(Authentication)


8、Kerberos 系统的认证过程


9、Kerberos 系统的优缺点

(1)优点

  • 较高的安全性
  • 用户透明性好
  • 扩展性好

(2)缺点

  • 服务器在回应用户的口令时,不验证用户的真实性。
  • 随着用户数的增加,密钥管理较复杂。
  • AS 和 TGS 是集中式管理,容易形成瓶颈,系统的性能和安全也严重依赖于 AS 和 TGS 的性能和安全。

10、Kerberos 系统的安全性

(1)旧的鉴别码很有可能被存储和重用

票据的有效期可能很长,典型的为八小时

(2)鉴别码基于这样一个事实,即网络中的所有时钟基本上是同步的

如果能够欺骗主机,使它的正确时间发生错误,那么旧鉴别码就能被重放。

(3)Kerberos 对猜测口令攻击很脆弱

若能收集足够多的票据,则有很大机会找到口令。

(4)恶意软件的攻击


11、小结


三、公钥基础设施 PKI

1、PKI

  • Public Key Infrastructure
  • 是一个包括硬件、软件、人员、策略和规程的集合,能够为所有网络应用提供基于公钥密码体制的加密和数字签名等密码服务,以及所必须的密钥和证书的产生、管理、存储、分发和撤销等功能。
  • PKI技术是电子商务的关键和基础。
  • PKI 技术是信息安全技术的核心。

2、PKI 的动机

(1)在开放的环境中为开放性业务提供加密和数字签名服务

(2)公钥技术

  • 如何提供数字签名功能?
  • 如何实现不可否认服务?
  • 公钥和身份如何建立联系(为什么要相信这是某个人的公钥)?
  • 公钥如何管理?

(3)方案

  • 引入证书(certificate)

3、PKI 的基本组成

(1)公钥证书

  • 由可信实体签名的电子记录,记录将公钥和密钥所有者的身份捆绑在一起。
  • 是 PKI 的基本部件

(2)认证机构(CA,Certificate Authority)

  • PKI 的核心,主要任务是颁发和作废公钥证书。

(3)注册机构(RA,Registration Authority)

  • 多数用于在证书请求过程中核实证书申请者的身份。

(4)证书管理机构(CMA,Certificate Management Authority)

  • 将 CA 和 RA 合起来

(5)PKI 管理标准

  • 用于定义证书颁发、吊销、更新和续订等证书管理的细节

(6)数字证书库

  • 用于存储已签发的数字证书及公钥

(7)密钥备份及恢复系统

  • 提供备份与恢复密钥的机制(由可信的机构来完成)
  • 只能备份解密密钥,不能备份签名私钥

(8)证书注销系统


4、PKI 的基本体系结构图


5、PIK 的信任模型

(1)分级模型


(2)对等模型



6、PKI 中的证书(Certificate,简称 cert)

  • PKI 适用于异构环境中,所以证书的格式在所使用的范围内必须统一。
  • 证书是一个机构颁发给一个安全个体的证明,所以证书的权威性取决于该机构的权威性。
  • 一个证书中,最重要的信息是
  1. 个体名字、个体的公钥
  2. 机构的签名、算法和用途
  • 签名证书和加密证书分开
  • 最常用的证书格式为 X.509 v3


7、小结


四、密钥的管理

1、密钥的分配

  • 公开发布
  • 公开可访问目录
  • 公钥授权
  • 公钥证书

2、公钥的分配

(1)分开发布


(2)公开可访问目录


(3)公钥授权


(4)公钥证书


(5)利用公钥分配对称密钥

A. 简单的秘密钥分配


B. 具有保密性和真实性的秘密钥分配


3、Diffie-Hellman 密钥交换

(1)目的

使两个用户能安全地交换密钥。

(2)只限于进行密钥交换

(3)有效性建立在计算离散对树困难性的基础之上


(4)三方或多方 Diffie-Hellman 密钥交换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1898492.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构——队列练习题

在C语言中,.和->运算符用于访问结构体的成员变量。它们之间的区别在于:.运算符用于访问结构体变量的成员。->运算符用于访问结构体指针变量的成员 1a(rear指向队尾元素后一位,判空判满时牺牲一个存储单元) 首先…

Linux系统安装青龙面板结合内网穿透实现使用公网地址远程访问

文章目录 前言一、前期准备本教程环境为:Centos7,可以跑Docker的系统都可以使用。本教程使用Docker部署青龙,如何安装Docker详见: 二、安装青龙面板三、映射本地部署的青龙面板至公网四、使用固定公网地址访问本地部署的青龙面板 …

ASP.NET Core 使用Log4net

1. Nuget安装log4net&#xff0c;图里的两个 2.项目根目录下添加log4net.config.添加下面的代码: <?xml version"1.0" encoding"utf-8"?> <configuration><!-- This section contains the log4net configuration settings --><log…

若依 Vue 前端分离 3.8.8 版中生成的前端代码中关于下拉框只有下拉箭头的问题

生成代码修改前 <el-form-item label"课程学科" prop"subject"><el-select v-model"queryParams.subject" placeholder"请选择课程学科" clearable><el-optionv-for"dict in course_subject":key"dict…

学会python——用python制作一个绘图板(python实例十九)

目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3.制作一个绘图板 3.1 代码构思 3.2 代码实例 3.3 运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可…

并发、多线程和HTTP连接之间有什么关系?

一、并发的概念 并发是系统同时处理多个任务或事件的能力。在计算中&#xff0c;这意味着系统能够在同一时间段内处理多个任务&#xff0c;而不是严格按照顺序一个接一个地执行它们。并发提高了系统的效率和资源利用率&#xff0c;从而更好地满足用户的需求。在现代应用程序中&…

2-3 图像分类数据集

MNIST数据集是图像分类任务中广泛使用的数据集之一&#xff0c;但作为基准数据集过于简单&#xff0c;我们将使用类似但更复杂的Fashion-MNIST数据集。 %matplotlib inline import torch import torchvision # pytorch模型关于计算机视觉模型实现的一个库 from torch.utils i…

Ubuntu24.04LTS基础软件下载

librewolf: deb文件link 作用&#xff1a;访问github&#xff0c;无痕浏览&#xff0c;这个速度&#xff0c;不指望了 vscodium: 从deb安装&#xff0c;ubuntu sudo dpkg -i xxx.debpaste-image 插件替代 markdown wps: libreoffice: 替换USTC源 sudo nano /etc/apt/sourc…

昇思25天学习打卡营第8天|ResNet50迁移学习

一、迁移学习定义 迁移学习&#xff08;Transfer Learning&#xff09;&#xff1a;在一个任务上训练得到的模型包含的知识可以部分或全部地转移到另一个任务上。允许模型将从一个任务中学到的知识应用到另一个相关的任务中。适用于数据稀缺的情况&#xff0c;可减少对大量标记…

【hive】数据采样

参考https://hadoopsters.com/how-random-sampling-in-hive-works-and-how-to-use-it-7cdb975aa8e2&#xff0c;可以直接查看原文&#xff0c;下面只是对原文进行概括和实际性能测试。 1.distribute by sort by2.测试3.map端数据过滤优化采样 在说数据采样之前&#xff0c;需要…

聚集索引与非聚集索引的区别

1.从文件存储方式来区别 聚集索引是指表的索引和数据存储在一个文件中&#xff08;innodb&#xff09; 非聚集索引指表数据与表索引存储在两个文件中&#xff08;MyISAM&#xff09; 2.从文件的检索方式来区别 聚集索引的data存在叶子节点 非聚集索引叶子节点存储的事data的…

三叶青图像识别研究简概

三叶青图像识别研究总概 文章目录 前言一、整体目录介绍二、前期安排三、构建图像分类数据集四、模型训练准备五、迁移学习模型六、在测试集上评估模型精度七、可解释性分析、显著性分析八、图像分类部署九、树莓派部署十、相关补充总结 前言 本系列文章为近期所做项目研究而作…

Java并发编程知识整理笔记

目录 ​1. 什么是线程和进程&#xff1f; 线程与进程有什么区别&#xff1f; 那什么是上下文切换&#xff1f; 进程间怎么通信&#xff1f; 什么是用户线程和守护线程&#xff1f; 2. 并行和并发的区别&#xff1f; 3. 创建线程的几种方式&#xff1f; Runnable接口和C…

基于aardio web.view2库和python playwright包的内嵌浏览器自动化操作

通过cdp协议可以实现playwright操控webview。 新建Python窗口工程 修改pip.aardio 修改pip.aardio&#xff0c;并执行&#xff0c;安装playwright。 //安装模块 import process.python.pip; //process.python.path "python.exe";/* 安装模块。 参数可以用一个字…

深度学习每周学习总结N3(文本分类实战:基本分类(熟悉流程)、textCNN分类(通用模型)、Bert分类(模型进阶))

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 目录 0. 总结&#xff1a;1. 前期准备环境安装 2. 文本分类基本流程a. 加载数据b.构建词典c.生成数据批次和迭代器d.定义模型及实例e. 定义…

C++ 仿QT信号槽二

// 实现原理 // 每个signal映射到bitset位&#xff0c;全集 // 每个slot做为signal的bitset子集 // signal全集触发&#xff0c;标志位有效 // flip将触发事件队列前置 // slot检测智能指针全集触发的标志位&#xff0c;主动运行子集绑定的函数 // 下一帧对bitset全集进行触发清…

玩转内网穿透详细教程,收藏这一篇就够了

小朋友&#xff0c;你是否有过以下这些烦恼&#xff1f; 当你在外地&#xff0c;苦于无法拿到存储在家里的资料&#xff1b; 当你在玩游戏的时候&#xff0c;苦于无法和朋友直接联机&#xff1b; 当你在家里&#xff0c;苦于无法通过自己的电脑连上公司电脑远程办公&#xf…

论文导读 | 综述:大模型与推荐系统

最近&#xff0c;预训练语言模型&#xff08;PLM&#xff09;在自然语言处理领域取得了巨大成功&#xff0c;并逐渐引入推荐系统领域。本篇推文介绍了最近的两篇预训练语言模型和推荐系统结合的综述&#xff1a; [1] Pre-train, Prompt, and Recommendation: A Comprehensive …

Django学习第五天

启动项目命令 python manage.py runserver 图像验证码生成随机字母或者数字 import random from PIL import Image, ImageDraw, ImageFont, ImageFilterdef check_code(width120, height40, char_length5, font_fileZixunHappyBold.ttf, font_size28):code []img Image.new…

《后端程序猿 · Caffeine 本地缓存》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻一周&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…