网络安全之接入控制

news2024/12/26 21:26:10

身份鉴别

​ 定义:验证主题真实身份与其所声称的身份是否符合的过程,主体可以是用户、进程、主机。同时也可实现防重放,防假冒。

​ 分类:单向鉴别、双向鉴别、三向鉴别。

​ 主题身份标识信息:密钥、用户名和口令、证书和私钥

Internet接入控制过程

一些基本模型

终端访问网络资源

​ 在一个简化的单一线路网络中,终端访问网络资源的过程且必需完成以下操作过程,如图所示:

  • 建立终端A与路由器的传输路径。这条线路可能是公共电话网,则需要建立点对点信道;也可能是以太网网络,则需要建立连接到该以太网的信道路径

  • 终端A完成网络信息配置过程**。**终端A需要配置IP地址、子网掩码、默认网关地址等

  • 路由器路由表建立对应路由项。

终端接入Internet

​ 但访问Internet网络上的资源,不是我们接一根线到路由器上就完成得了的,对Internet上的资源,终端接入Internet的过程如图所示:

​ 也就是说在终端A接入Internet前,必须完成用户注册,只能由注册用户开始终端A接入internet程,接入控制设备在确定启动终端A接入Internet的先决条件是由注册用户情况下,才允许终端A完成接入Internet过程和在接入控制设备中建立路由项,这一过程需要完成身份认证。

​ 这里需要注意接入控制设备和路由器的区别:

  • 接入控制设备不仅具有普通路由器的功能还包含其他功能

  • 接入控制设备可以鉴别终端A用户身份

  • 接入控制设备为终端A动态分配IP地址(有点像DHCP的功能,不知道是不是需要在接入控制设备中配置DHCP协议)

终端接入Internet过程
  • 建立终端A到接入控制设备之间的传输路径。

  • 接入控制设备完成身份鉴别过程。确定终端A是注册用户。

  • 动态配置终端A的网络信息。

  • 在接入控制设备路由表中动态配置相应路由项。

PPP与接入控制

简介

​ PPP(Point to Point Protocol)协议,是我们熟知的用于传递点对点信道数据包的数据链路层协议。但其实PPP协议也可作为接入控制协议。

​ 为什么可以用PPP作为接入控制协议?

​ 在早期用户使用的宽带接入技术中,由于公共电话线路铺设广泛而其高频分段的利用的空白为改造成数据传输路线创造了条件,ADSL(非对称数字用户线技术)占到了大多数。也就是拨号上网,使用的是基于PPPoE协议的ADSL。而接入控制设备在与终端A交换信息(A的用户身份标识、接入控制设备为终端A配置的网络信息)的过程中,由于终端A与接入控制设备之间的传输路径是点对点语音信道,因此需要将这种信息风专场适合点对点传输的帧格式,PPP帧就是适合点对点语音信道传输的PPP帧。

PPP帧中与接入控制相关的协议
口令鉴别协议PAP(Password Authentication Protocol)

​ 其在PPP帧中协议属性值为0xC023。终端A以明文方式向接入控制设备发送接入Internet需要的用户名和口令。接入控制设备在在收到信息后,检索注册用户信息库,如果用户名存在且密码匹配,则准入终端A到Internet。

挑战握手鉴别协议CHAP(Challenge Handshake Authentication Protocol)

​ 在PPP帧首部的协议属性值为0xC223。接入控制设备会先向终端A发送一个随机数C,终端A会将接收到的随机数和密码串接,并经过MD5摘要算法运算后,再加上用户名发送到接入控制设备。接入控制设备收到该消息后,在注册用户信息库检索到用户的密码和刚刚发送的随机数选出并经过MD5摘要算法运算后与接收到的消息进行比对。如果相同则准入终端A到Internet。前提:终端A和控制设备之间有共享密钥K。

IP控制协议IPCP(Internet Protocol Control protocol)

​ 其作用是为终端A动态分配IP等网络信息。接入控制设备为终端A分配一个全球IP地址,并且在路由表中添加一项动态路由,该项路由是将终端A的IP地址和语音信道绑定在一起的。

PPP接入控制过程

​ 如图所示

​ 注:LCP也就是Link Control Protocol链路控制协议,用来建立、配置和测试数据链路连接的协议。

EAP

简介

​ EAP全称为Extensible Authentication Protocol,中文名称拓展鉴别协议。在身份鉴别过程中,需要在链路上传送鉴别信息,但在不同的链路上所需要的数据链路层帧格式不同,比如在点对点信道上使用PPP帧,在以太网上使用MAC帧。由于网络环境日益复杂,在终端到接入控制设备之间可能不单单只有一种通信信道的情况下,为了避免鉴别协议的数据帧与通信信道两两绑定的关系,EAP应运而生。

​ EAP就是将多种鉴别协议对应的PDU统一封装成拓展鉴别协议EAP报文,然后将EAP报文封装成不同类型传输网络对应的链路层帧格式。

​ EAP包含鉴别数据PDU,链路层帧格式包含EAP。

​ 这样,鉴别协议也就不再具有必须与数据链路层协议绑定的特殊性,而可以随用户终端或者接入控制设备来进行指定。

EAP报文格式

  • 编码:1~4,分别对应请求报文、响应报文、成功报文和失败报文

  • 标识符:一组请求/报文过程中,其请求报文和响应报文的标识必需相同,在相邻两个请求报文中,也必须采用不同的标识符

  • 长度:EAP报文总的长度

  • 类型:1-身份报文;4-CHAP鉴别协议;5-OTP鉴别协议;13-TLS协议

EAP over PPP

简介

​ PPP协议是点对点网络下的对应的链路层协议,自然也是点对点网络环境下的EAP载体协议,用于实现用户和鉴别者之间的EAP报文传输。这也就是所谓的EAP over PPP。

​ PPP封装EAP的报文如图所示

​ 也就是在PPP报文的协议字段位置处的值为0xC227

鉴别过程

​ CHAP鉴别模式下的EAP over PPP报文鉴别过程如图所示

​ 在建立PPP链路的过程中,在鉴别身份之前,会约定采用EAP作为鉴别协议。在服务器向终端A发出的EAP请求报文中其类型值就是身份。注意在终端A会送EAP响应时,会把EAP字段的标识符也纳入到MD5的报文摘要计算之中,用以防止假冒攻击。

EAP over LAN

简介

​ 假如终端用户与接入控制设备之间的传输信道不再是点对点路线,而是处于某一个以太网中,这个时候所采用的链路层帧格式多半是MAC帧。

​ 基于局域网的拓展认证协议(EAP over PPP)给出了将EAP报文封装成LAN对应的帧格式(大都是V2版本的MAC帧)的过程。

​ 其报文格式如下所示

​ 在MAC帧的头部字段值中类型值为0x888E(0x0800时为IP报文)。

​ 与单纯的MAC帧可以说相同也可以说不同,将版本、报文类型、报文体长度和报文体都当作MAC帧的数据时就跟v2 版本的MAC帧是完全一致的,但是这个数据部分又相比单单的EAP报文多出了几个首部。其中一个首部字段值分类及其意思如上图所示。所以我们可以特地称其为EAPOL报文。

802.1X

​ 802.1X就是一种实现用户身份鉴别,并开通连接进以太网的用户终端接入权限端口的接入控制协议。

​ 目前支持802.1X的局域网主要是以太网和无线局域网。

​ 以下是802.1X的操作模型

​ 与后文的RAIUS协议配合使用,且在鉴别者中的端口分为受控端口和非受控端口。受控端口用于对鉴别者提供正常服务,在完成身份鉴别过程后才会打开;非受控端口一直允许接收EAP报文,直接进行鉴别操作或对EAP报文进行转发。也就是说,在完成用户身份鉴别之前,该端口只能输入输出EAP报文和广播帧,只有在用户身份鉴别成功后,才可使用正常服务。

鉴别过程

​ 鉴别过程如图所示

​ 相比于用户A通过EAP over PPP完成鉴别过程,802.1X是允许双方即鉴别者和用户均可发起鉴别过程的,上图是由用户发起鉴别的过程。

以太网接入控制过程

​ 那么我们在上一模块仅仅讲了PPP信道中的接入控制过程,并未提及到以太网是如何进行从以太网接入Internet的过程,有了以上知识作为铺垫,可以简单叙述一下。

​ 值得一提的是现在的以太网交换机实现的802.1X都是基于MAC地址的,而不是基于端口。因为在一个局域网中,一个端口可能涉及到多台主机,所以禁用端口是不现实的。只有当用户完成用户身份鉴别后,交换机才会将该终端的MAC地址列入接收到EAP报文的端口对应的访问访问控制列表,并将访问控制设置为允许访问。

RADIUS

简介

​ 其实我们可以思考一下在上面所示的接入控制协议中,其鉴别服务器都停留在局域网层面,然而实际上,如果将接入控制设备设置在每一个以太网下面,其成本非常高难以维护,而且是非常不安全的,因为每一个接入控制设备都需要存储所有接入用户的身份标识信息。所以为了实现统一鉴别,我们需要将鉴别服务器放在互联网中的任何位置,至少这个位置是易于维护,且安全的。

​ 远程鉴别拨入用户服务RADIUS(Remote Authentication Dial In User Service)就是这样一种可以实现接入控制设备等鉴别者与服务器之间的双向身份鉴别和身份标识信息鉴别者与鉴别服务器之间安全传输应用层协议。设置鉴别服务器在互联网的某一个地方,鉴别服务器统一管理用户,完成对用户的身份鉴别、授权和计费操作。设置鉴别者在以太网层面附近。用户和鉴别者之间仍然可以通过链路层传输路径完成EAP报文传输过程,使用的与传输网络相对应的链路层协议,如ADSL的ppp链路,或传送MAC帧。但鉴别者和鉴别服务器之间的传输路径往往是由路由器互连的多段链路层传输路径所组成的,因此,必须用IP以上的协议作为载体协议。

​ 其端口包括1812的认证授权端口1813的计费端口

RADIUS消息格式

封装格式

​ 因为RADIUS是应用层协议,而且需要在形态各异的网络上进行传输,肯定是需要IP以上的协议的,如图所示,是RADIUS消息的封装格式

RADIUS消息格式

RADIUS消息格式如上图所示

  • 编码code字段:表示当前RADIUS消息类型,目前一共有16种报文类型,分为3大类别:认证报文计费报文授权报文,这里仅对认证报文作消息介绍。编码值为1时,表示请求接入报文,用于传输用户的身份标识信息如用户名和口令等;编码值为2时,表示允许接入报文,完成对用户的身份鉴别;编码为3时,表示拒绝接入报文,未成功完成用户鉴别,拒绝接入网络;编码为11时,表示挑战接入报文,需要用户提供更多的身份标识信息或者需要用户根据约定的鉴别机制对挑战接入消息中包含的数据进行运算

  • 标识符Identifier字段:用于匹配请求接入消息和对应的响应消息。

  • 长度Length字段:给出RADIUS消息总长

  • 鉴别信息Authenticator字段:用于鉴别发送响应消息的鉴别服务器。首先由网络接入服务器NAS(Network Access Server)发送的RADIUS消息中的鉴别信息是一个16字节的随机数,用于防止防重放攻击,在有效期内,不允许出现相同的随机数。而鉴别服务器所发送的响应消息中,鉴别消息会经过如下计算所得

    响应消息中的鉴别消息=MD5(响应消息||对应请求接入消息的鉴别消息(s随机数)||共享密钥K)

    共享密钥K可鉴别鉴别服务器的身份,防止黑客假冒

  • 属性Attribute字段:属性字段用于给出用户身份标识信息和NAS标识信息,如用户名、口令、NAS标识符、NAS IP地址等。根据NAS标识符确定共享密钥K。属性部分本来是支持各种鉴别协议的如PAP或CHAP,但是新发展的鉴别协议要同时支持EAP和RADIUS略显麻烦。所以为了避免重复劳动,EAP不断增加和新发展的鉴别机制相匹配的数据类型,但在RADIUS中只需要设置用于封装EAP报文的EAP属性。对于敏感属性值,如用户名和口令等,需要进行加密运算,使用共享密钥K进行MD5运算。

RADIUS完整应用

一次鉴别身份,接入控制如图所示

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

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

相关文章

Spring 框架七大模块(Java EE 学习笔记03)

​ ​核心容器模块(Core Container) 核心容器模块在Spring的功能体系中起着支撑性作用,是其他模块的基石。核心容器层主要由Beans模块、Core模块、Contex模块和SpEL模块组成。 (1)Beans模块。它提供了BeanFactory类&…

IPv6基础知识

IPv6是由IEIF提出的互聯網協議第六版,用來替代IPv4的下一代協議,它的提出不僅解決了網絡地址資源匱乏問題,也解決了多種接入設備接入互聯網的障礙。IPv6的地址長度為128位,可支持340多萬億個地址。如下圖,3ffe:1900:fe…

旷世yolox自定义数据训练和验证和onnx导出推理

目录 1.前言 2.代码 3.环境 4.自定义数据形态 5.配置文件 6.训练 7.验证 8.评估混淆矩阵 9.导出onnx 10.onnx推理 -- 补充:docker环境 1.前言 旷世科技的yolox比较清爽,效果也不错,简单总结主要有三点创新比较高:deco…

Electron开发构建工具electron-vite(alex8088)添加VueDevTools(VitePlugin)

零、介绍 本文章的electron-vite指的是这个项目👉electron-vite仓库,electron-vite网站 本文章的VueDevTools指的是VueDevTools的Vite插件版👉https://devtools.vuejs.org/guide/vite-plugin 一、有一个用electron-vite创建的项目 略 二、…

软件测试—— Selenium 常用函数(一)

前一篇文章:软件测试 —— 自动化基础-CSDN博客 目录 前言 一、窗口 1.屏幕截图 2.切换窗口 3.窗口设置大小 4.关闭窗口 二、等待 1.等待意义 2.强制等待 3.隐式等待 4.显式等待 总结 前言 在前一篇文章中,我们介绍了自动化的一些基础知识&a…

UE5 腿部IK 解决方案 footplacement

UE5系列文章目录 文章目录 UE5系列文章目录前言一、FootPlacement 是什么?二、具体实现 前言 在Unreal Engine 5 (UE5) 中,腿部IK(Inverse Kinematics,逆向运动学)是一个重要的动画技术,用于实现角色脚部准…

私有化部署视频平台EasyCVR宇视设备视频平台如何构建视频联网平台及升级视频转码业务?

在当今数字化、网络化的时代背景下,视频监控技术已广泛应用于各行各业,成为保障安全、提升效率的重要工具。然而,面对复杂多变的监控需求和跨区域、网络化的管理挑战,传统的视频监控解决方案往往显得力不从心。 EasyCVR视频融合云…

山东春季高考-C语言-综合应用题

(2018年)3.按要求编写以下C语言程序: (1)从键盘上输入三个整数a、b、c,判断能否以这三个数为边构成三角形,若可以则计算机三角形的面积且保留两位小数;若不可以则输出“不能构成三角…

Linux移植IMX6ULL记录 一:编译源码并支持能顺利进入linux

目录 前言 一、不修改文件进行编译 二、修改设备树文件进行编译 前言 我用的开发板是100_ask_imx6ull_pro,其自带的linux内核版本linux-4.9.88,然后从linux官网下载过来的linux-4.9.88版本的arch/arm/configs/defconfig和dts设备树文件并没有对imx6ull…

从Stream的 toList() 和 collect(Collectors.toList()) 方法看Java的不可变流

环境 JDK 21Windows 11 专业版IntelliJ IDEA 2024.1.6 背景 在使用Java的Stream的时候,常常会把流收集为List。 假设有List list1 如下: var list1 List.of("aaa", "bbbbbb", "cccc", "d", "eeeee&qu…

大语言模型---LoRA简介;LoRA的优势;LoRA训练步骤;总结

文章目录 1. 介绍2. LoRA的优势3. LoRA训练步骤:4.总结 1. 介绍 LoRA(Low-Rank Adaptation)是一种用于高效微调大模型的技术,它通过在已有模型的基础上引入低秩矩阵来减少训练模型时所需的参数量和计算量。具体来说,L…

Debug-031-近期功能实现小结

由于时间原因,没办法对每个小的功能点进行比较细致的总结,这里统一去记录一下最近的实现了的功能,算是存档备份,为今后开发带来便利和参考。 一、ACEeditor ACEeditor使用手册(一)_ace editor-CSDN博客 AC…

深度学习中的mAP

在深度学习中,mAP是指平均精度均值(mean Average Precision),它是深度学习中评价模型好坏的一种指标(metric),特别是在目标检测中。 精确率和召回率的概念: (1).精确率(Precision):预测阳性结果中实际正确的比例(TP / …

基于SpringBoot+Vue的影院管理系统(含演示视频+运行截图+说明文档)

web启动链接地址: http://localhost:8082(管理端) http://localhost:8081(用户端) http://localhost:8082(员工端) 一、项目介绍 基于框架的系统,系统分为用户、员工和管理员三个…

科研实验室的数字化转型:Spring Boot系统

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理实验室管理系统的相关信息成为必然。开发合…

网络无人值守批量装机-cobbler

网络无人值守批量装机-cobbler 一、cobbler简介 ​ 上一节中的pxe+kickstart已经可以解决网络批量装机的问题了,但是环境配置过于复杂,而且仅针对某一个版本的操作系统进批量安装则无法满足目前复杂环境的部署需求。 ​ 本小节所讲的cobbler则是基于pxe+kickstart技术的二…

基于Java Springboot二手商品网站

一、作品包含 源码数据库全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据库:…

使用chrome 访问虚拟机Apache2 的默认页面,出现了ERR_ADDRESS_UNREACHABLE这个鸟问题

本地环境 主机MacOs Sequoia 15.1虚拟机Parallels Desktop 20 for Mac Pro Edition 版本 20.0.1 (55659)虚拟机-操作系统Ubuntu 22.04 服务器版本 最小安装 开发环境 编辑器编译器调试工具数据库http服务web开发防火墙Vim9Gcc13Gdb14Mysql8Apache2Php8.3Iptables 第一坑 数…

java: spire.pdf.free 9.12.3 create pdf

可以用windows 系统中文字体,也可以从文件夹的字体文件 /*** encoding: utf-8* 版权所有 2024 ©涂聚文有限公司* 许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎* 描述:* # Author : geovindu,Geovin Du 涂…

PSO融合DWA路径规划(附MATLAB源代码)

PSO(粒子群优化算法)和DWA(动态窗口法)是路径规划领域常用的两种算法,它们结合使用可以充分发挥各自的优势,实现高效且安全的机器人路径规划。 1. PSO算法的全局路径规划 - 工作原理:PSO模拟群…