网络安全之接入控制


网络安全之接入控制

身份鉴别

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

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

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

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。

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

Kerberos

简介

Kerberos中存在4中角色,分别是用户鉴别服务器票据授权服务器应用服务器

统一由鉴别服务器完成用户身份鉴别功能,统一由票据授权服务器完成yoghurt访问权限鉴别功能。