概要
接入控制只允许授权接入网络的用户所使用的终端接入网络,相应的协议PPP协议(其中PPP本身是载体协议,口令鉴别协议PAP、挑战握手协议CHAP,IP控制协议IPCP);802.1X标准/WPA2(其中扩展鉴别协议EAP)。访问控制只允许每一个用户访问授权该用户访问的网络资源,由Kerberos协议实现。接入控制的核心的身份鉴别,访问控制的核心是身份鉴别和授权。
接入控制
身份鉴别
身份鉴别定义:验证主题真实身份与其所声称的身份是否符合符合的过程,主体可以是用户、进程和主机。(身份鉴别过程也实现防重放、防假冒)
身份鉴别分类:单向鉴别,双向鉴别、三方鉴别。
主体身份标识信息:秘钥、用户名和口令、证书和私钥。
PPP实现接入控制过程:
点对点协议(PPP)既是基于点对点信道的链路层协议,又是接入控制协议。接入控制设备完成对终端的接入控制过程中需要与终端交换信息,由于终端与控制设备之间的传输路径是点对点语音信道,因此,需要将终端和接入控制设备之间的相互交换的信息封装成适合点对点语音信道传输的格式,PPP就很合适。
物理链路停止:
物理链路停止状态表明没有建立终端A与接入控制设备之间的语音信道,终端A和接入控制设备在用户线上检测不到载波信号。该状态既是PPP开始的状态,也是PPP结束状态。
PPP链路建立:
终端A与接入控制设备之间的点对点语音信道建立之后,PPP进入PPP链路建立阶段。该过程是为终端A与接入控制设备之间完成用户身份鉴别、IP地址分配进行的参数协商过程。一是协商指定用于鉴别用户身份的鉴别协议,二是在数据传输之前,约定一些参数。
用户身份鉴别:
用户身份鉴别协议有PAP和CHAP两种协议,
PAP认证:
终端A以明文的方式(安全隐患)向接入控制设备发送启动终端A接入Internet的过程的用户输入的用户名和口令。
接入控制设备接收到用户名和口令之后,检索注册用户库,如果该用户名和口令与注册用户库中用户名和口令相同,确定启动终端接入Internet的用户是注册用户,并向终端发送鉴别成功帧。
CHAP认证:
接入控制设备为了确定启动终端A接入Internet的过程是注册用户,先向终端A发送一个随机数C。
终端A接收到随机数之后,将随机数与口令P串接在一起,然后将用户名和MD5(C||P)发送给接入控制设备。
接入控制设备根据用户名找到对应口令P’,计算出MD5(C||P’),如果接收到的MD5(C||P)等于MD5(C||P’),表明启动终端A接入Internet的过程的用户输入的用户名和口令与注册用户库中某对用户名和口令相同,接入控制设备向终端A发送鉴别成功帧。
网络层协议配置:
IP控制协议(IPCP)的作用是为终端A动态分配IP地址等网络信息。接入控制设备为终端A分配一个全球IP地址,并且在路由表中增添一项路由项,将该IP地址和终端A与接入控制设备之间的语音信道绑在一起。终端A可以利用该IP地址访问Internet。
该阶段如果发生以下情况:一是终端A和接入控制设备无法通过用户线检测到载波信号,二是为终端A分配IP地址失败。 PPP进入终止PPP链路阶段。
终止PPP链路:
该阶段,终端A和接入控制设备释放建立PPP链路是分配的资源,PPP回到物理链路阶段。
802.1X实现接入控制:
一、引入扩展鉴别协议(EAP)的原因
身份鉴别过程需要在示证者和鉴别者之间传输鉴别协议PDU,鉴别协议需要封装成适合互连示证者和鉴别者的网络传输的链路层帧格式。为了避免建立多种应用环境和多种鉴别协议两两之间的绑定关系,将多种鉴别协议对应的PDU统一封装成扩展鉴别协议(EAP)报文,然后将EAP报文封装成不同类型传输网络对应的链路层帧格式。
二、802.1X实现接入控制过程:
802.1X是一种实现用户身份鉴别(通过EAP),并开通连接有以太网接入权限的用户终端的端口的接入控制协议。它的目的在于通过身份鉴别过程确定连接用户终端的端口是否开通,开通该端口,表示以太网交换机可以转发从该端口输入输出的数据帧。
EAP实现身份鉴别:
- 首先鉴别者向用户发送请求报文,要求用户提供身份信息(用户名)。
- 用户收到请求报文之后,向鉴别者回送响应报文,向鉴别提供自己的身份信息。
- 鉴别者在确定用户的关联鉴别机制和口令之后,向用户发起一个挑战,鉴别者根据CHAP对应的数据类型将随机数challenge封装成EAP请求报文,并将EAP报文封装成对应的帧格式,发送给用户。
- 用户根据CHAP鉴别操作过程,将请求报文的标识符字段值、challenge和口令串接在一起,并将该串接结果进行MD5报文摘要运算,并通过EAP响应报文发送给鉴别者。
- 鉴别者重新计算相关参数然后和EAP响应报文中的结果进行比较,如果相同,向用户发送鉴别成功报文,否则发送鉴别失败报文。
- PS:第3和4步中的请求报文和响应报文内容与双方采用的鉴别机制有关,我在写的时候用的是CHAP鉴别机制。
802.1X操作过程:
一个物理端口被虚化成两个端口,一个是受控端口,另一个是非受控端口,用于接收EAP报文和其他广播报文。
受控端口只有在完成用户身份鉴别之后,才能从非授权状态转变为授权端口,提供正常的输入输出服务,用户通过离线或者退出操作将受控端口从授权状态变为非授权状态。
非受控端口一直允许接受EAP报文或者广播帧,并将接收到的EAP报文提交给端口接入实体(PAE),有PAE根绝鉴别者的功能配置,或者直接进行鉴别操作或者转发EAP报文。在完成对接入端口身份鉴别之后,该端口才能正常输入输出数据帧。
基于Kerberos的访问控制的基本原理
访问控制:一种对用户访问服务器资源过程实施控制的安全机制,其核心是身份鉴别和授权。
Kerberos的由来:分布式应用环境下,同一用户可能具有多个应用服务器的访问授权,同一个应用服务器也有多个授权访问的用户,同一用户一次事务中可能需要访问多个授权访问的应用服务器,Kerberos用于实现这一情况下的访问控制。
基于Kerberos的访问控制,用户的身份鉴别和用户访问权限鉴别是分开的。鉴别服务器只负责对用户的身份进行鉴别,要判断用户是否有权访问指定应用服务器由票据授权服务器TGS完成。
用鉴别服务器实现用户身份鉴别:
用户C向鉴别服务器AS发送包含用户名(ID)C、票据授权服务器名(ID)TGS和这一次份鉴别有效时间TIMES的身份鉴别请求。
鉴别服务器AS通过检索授权用户列表1找到用户名(ID)C及对应的口令(PW)C,只要确认用户C知道口令,就能确定用户C的用户名为(ID)C。AS通过推导出用户C与AS之间的共享秘钥(K)C,同样客户端通过用户C输入的口令推导出共享秘钥(K)C。然后向用户C发送票据(Ticket)TGS:1.该票据由鉴别服务器签发,用于向票据授权服务器证明用户C的身份,2.该票据由用户C拥有。
获取访问应用服务器票据:
- 用户向票据授权服务器发送访问权限鉴别请求,该请求包含访问应用服务器名(ID)V,票据(Ticket)TGS,鉴别信息(AUTH)C1。
- 票据授权服务器收到请求之后,用于鉴别服务器之间共享秘钥(K)(AS,TGS)验证票据的正确性,同时获得鉴别服务器动态生成的用户C与票据服务器之间的会话秘钥(K)(C,TGS)验证鉴别信息(AUTH)C1的正确性。
- 验证正确后,TGS通过检索授权用户列表判断用户C是否授权访问应用服务器(ID)V,同时检索应用服务器信息库获得票据授权服务器TGS与应用服务器(ID)V的共享秘钥(K)(TGS,V),因此生成表明用户C具有访问应用服务器(ID)V权限的票据(Ticket)V,以及应用服务器(ID)V用于证实访问请求者的发送者是用户C的用户C与应用服务器之间的会话秘钥(K)(C,V)。
访问应用服务器: - 用户C向应用服务器发送访问请求,请求包含票据(Ticket)V和鉴别信息(AUTH)C2。
- 应用服务器通过与票据授权服务器之间的共享秘钥(K)(TGS,V)验证票据的正确性,同时获得票据授权服务器动态生成的用户C与应用服务器之间的会话秘钥(K)(C.V)验证鉴别信息的正确性。
- 验证正确后,应用服务器向用户C发送响应消息,应用服务器为了证实自己的身份,发送给用户C的响应消息是用 应用服务器和用户C之间的会话秘钥(K)(C,V)加密子秘钥Subkey,时间戳TS2和序号SEQ,因为应用服务器只有具有和鉴别服务器之间的共享秘钥(K)(TGS,V)才能解密票据(Ticket)V,得到与用户C之间的会话秘钥。
(如果各位读者发现其中有什么不妥的地方,欢迎大家批评指正。)
来源:CSDN
作者:0rambot
链接:https://blog.csdn.net/tangCprogranm/article/details/84444811