接入与身份认证技术
认证机制:基于口令(包括OTP)、挑战/响应(客户端根据挑战值和密钥进行哈希,属于一次性口令)、EAP、公钥认证机制(验证方用CA发布的公钥验证数字签名)。
认证协议:RADIUS(UDP,1812端口负责认证,1813端口负责计费工做)、TACACS(认证、受权、计费是分离的,可用TCP49端口)、Kerberos(解决分布式网络认证)、LDAP(基于X.500标准)。
认证技术:IEEE 802.1X(基于端口)、Portal接入(Web认证技术)、MAC接入、Triple接入(多种认证共存)。
1、RADIUS
一、使用场景:
当用户想要经过某个网络与NAS(网络接入服务器)创建链接从而得到访问其余网络的权利时,NAS能够选择在NAS上进行本地认证计费,或把用户信息传递给RADIUS服务器,由RADIUS进行认证计费;RADIUS 协议规定了NAS与RADIUS 服务器之间如何传递用户信息和计费信息,即二者之间的通讯规则;RADIUS服务器负责接收用户的链接请求,完成认证,并把用户所需的配置信息返回给NAS。用户得到受权后,在其正常上线、在线和下线过程当中,RADIUS服务器还完成对用户帐号计费的功能。
二、网络安全:
采用MD5加密算法进行的,C/S之间保持秘钥(不公开),RADIUS协议利用这个密钥使用MD5算法对RADIUS中的数据进行加密处理。
1)在RADIUS包中,有16字节的验证字(authenticator)、秘钥用MD5对包进行签名。
2)用户的口令用秘钥加密后传输;
3)radius C/S之间的验证:
PAP验证:Secret password =Password XOR MD5(Challenge + Key)(Challenge就是RADIUS报文中的Authenticator)(NAS阶段是明文传输密码,NAS与radius才密文传输。)
CHAP(挑战握手)验证:NAS发送challeng、CHAP ID、hostname给用户,用户用challenge和MD5对CHAP ID、用户密码生成secret password,和用户名username一块儿发送给NAS;NAS把用户发回来的信息和challenge、CHAP ID发给radius服务器进行认证。(密文传输客户端密码)
三、RADIUS报文的交互流程:
1) 用户输入用户名和口令;
2) RADIUS客户端根据获取的用户名和口令,向RADIUS服务器发送认证请求包(Access-Request)。
3) RADIUS服务器将该用户信息与Users数据库信息进行对比分析,若是认证成功,则将用户的权限信息以认证响应包(Access-Accept)发送给RADIUS客户端;若是认证失败,则返回Access-Reject响应包。
4) RADIUS客户端根据接收到的认证结果接入/拒绝用户。若是能够接入用户,则RADIUS客户端向RADIUS服务器发送计费开始请求包(Accounting-Request),Status-Type取值为start;
5) RADIUS服务器返回计费开始响应包(Accounting-Response);
6) RADIUS客户端向RADIUS服务器发送计费中止请求包(Accounting-Request),Status-Type取值为stop;
7) RADIUS服务器返回计费结束响应包(Accounting-Response)。
四、报文结构:
RADIUS采用UDP,经过定时器管理机制、重传机制、备用服务器机制,确保消息正确收发。
报文包括:
Code:包类型
Identifier: 包标识,同一组请求包和响应包的Identifier应相同,值是序列增加的。
Length:包长度
Authenticator:验证字域,16字节明文随机数。请求验证字、响应验证字=MD5(Code+ID+length+请求验证字+Attributes+Key)
Attributes:属性域,携带详细的认证、受权、信息和配置细节,采用(Type、length、Value)三元组的形式提供。26号属性(Vender-Specific)被用来扩展以支持供应商本身定义的扩展属性。
五、参地址:
http://www.h3c.com.cn/MiniSite/Technology_Circle/Net_Reptile/The_Seven/Home/Catalog/201309/797634_97665_0.htm
2、TACACS+(Terminal Access Controller Access Control System,终端访问控制器控制系统协议)
一、采用客户端/服务器模式实现NAS与TACACS+服务器之间的通讯.主要用于PPP和VPDN(Virtual Private Dial-up Network,虚拟私有拨号网络)接入用户及终端用户的AAA。
二、与radius区别:
采用TCP更加可靠;
不只仅是对密码字段进行加密,而是对整个报文加密;
认证和受权报文分离,使得认证、受权服务能够分离在不一样的安全服务器上实现;
用户可以使用的命令行受到用户级别和AAA受权的双重限制。
三、加密方法以下:
1)将session_id、secret key, 版本号和sequence number一块儿进行MD5运算(其中secret key 为TACACS客户端和服务器之间的共享秘密),计算结果为MD5_1
2)后续的MD5运算将上次MD5运算的结果也归入运算范围,以下:
MD5_1 = MD5{session_id, key, version, seq_no}
MD5_2 = MD5{session_id, key, version, seq_no, MD5_1}
....
MD5_n = MD5{session_id, key, version, seq_no, MD5_n-1}
3)将全部的运算结果链接起来,直到总长度大于须要加密的数据的长度,而后截断到实际数据的长度,获得pseudo_pad:
pseudo_pad = {MD5_1 [,MD5_2 [ ... ,MD5_n]]} truncated to len(data)
4)随后将须要加密的数据和上面的pseudo_pad进行XOR运算,获得密文:
ENCRYPTED {data} == data ^ pseudo_pad因为TACACS+对整个数据包进行加密,私密性要好于RADIUS,窃听者没法根据报文的内容来猜想网络的配置和用户的身份。
四、TACACS+共有7种类型的消息:Authentication_START、Authentication_CONTIUNE、Authentication_REPLY、Authorization_REQUEST、Authorization_RESPONSE、Accounting_REQUEST、Accounting_REPLY。全部的TACACS+数据包都使用12字节长的包头,字段Type为1表示认证,2表示受权,3表示计费。
3、LDAP(Lightweight Directory Access Protocol)
基于X.500标准的,与X.500不一样的是,LDAP支持TCP/IP。
一、与unix目录的比较:
LDAP没有真正的根目录,而unix有/;
目录的每一个节点均可以包含数据,均可能做为一个容器,文件系统的每一个节点或者是文件或者是目录,但不能同时是两者;
文件系统的表示方法是从根目录到深层目录一层一层表示,而LDAP则相反。
二、表示方法:
dn :Distinguished Name;惟一可区别的名称,记录了一条记录的位置
dc :一条记录所属区域
ou :Organization Unit;一条记录所属组织
cn/uid:Common Name;可用来区分身份的属性,等同于一条记录的名字/ID
dn:cn=cc,ou=imcuser-test-ld,dc=zhjdtest,dc=com
三、目录的模式(schema):属性类型(attribute types)、对象类(object classes)、语法(syntaxes)、匹配规则(matching rules)、目录信息树内容规则(DIT
content rules)、目录信息树结构规则(DIT strctural rules)和命名形式(name forms)。
四、LDAP的认证分为:无认证、基本认证、SSL/TLS三种。
4、Kerberos
Kerberos认证是一个三路处理过程,依赖称为密钥分发中心(KDC)的第三方服务来验证计算机相互的身份,并创建密钥以保证计算机间安全链接。本质上每台
计算机分享KDC一个秘钥,而KDC有两个部件:一个Kerberos 认证服务器和一个票据受权服务器。
一、Kerberos协议自己并不能彻底解决网络安全性问题,它是创建在一些假定之上的:
不能对拒绝服务(Denial of Service)***进行防御;
主体必须保证他们的私钥的安全;
Kerberos没法应付口令猜想***;
网络上每一个主机的时钟必须是松散同步的;
主体的标识不能频繁地循环使用;
二、认证过程:
首先Client向KDC申请TGT,以后Client经过得到TGT向KDC申请用于访问Server的票据,最后Client向Server提交票据用于认证。经过三个子协议来完成,它们
分别是:Authentication Service Exchange、Ticket GrantingService Exchange和Client/Server Exchange。
(1)首先Client须要先得到一个受权,被称为Ticket Granting Ticket(票据受权票据,简称TGT),TGT的分发仍然是KDC来完成.获得TGT后,Client向KDC发
送一个对SServer-Client的申请,其中包括本身的信息以及但愿访问的Server的信息。KDC在接收到这个请求的时候,生成一个会话密钥,并生成两个拷贝,分
别被Client和Server使用。而后从数据库中提取Client和Server的主密钥分别对这两个拷贝进行对称加密。对于后者,和会话密钥一块儿被加密的还有一些
Client的信息。KDC有了两个分别被Client和Server 的主密钥加密过的会话密钥,KDC会将这两个被加密的拷贝一并发给Client,属于Server的那一份将会由
Client发送给Server。
(2)Client使用本身的主密钥对KDC加密的会话密钥进行解密从而得到SServer-Client,随后建立鉴别码(关于Client的一些信息和当前时间的一个时间戳)
并用SServer-Client对其加密。最后连同从KDC得到的、被Server的主密钥加密过的数据包一并发送到Server端。咱们把经过Server的主密钥加密过的数据包称
为会话票据。
(3)Server接收到这两组数据后,先使用他本身的主密钥对会话票据进行解密,从而得到SServer-Client。随后使用SServer-Client解密鉴别码获取时间戳,
同当前的时间进行比较,若是误差超出一个能够接受范围,Server会直接拒绝该Client的请求。
三、优缺点:
一旦Client得到用于访问某个Server的票据,则该Server就能根据票据实现对Client的验证,再也不须要KDC的参与;
以进行双向验证;
加密和解密使用相同的密钥,安全性有所下降;
Kerberos中身份认证服务和票据受权服务时集中式管理,系统的性能和安全性也过度依赖于这两个服务的性能和安全。
5、EAP(Extensible Authentication Protocol)可扩展认证协议
该协议通常运行在数据链路层上,便可以直接运行于PPP或者IEEE 802之上,没必要依赖于IP。EAP的架构很是灵活,容许协商认证方法,容许使用另外的认证服
务器,支持重传机制。
EAP认证方法目前大约有40种,包括:EAP-MD五、 EAP-OTP、EAP-GTC、EAP-TLS、EAP-SIM和EAP-AKA。
一、封装:
当PPP帧的协议字段是0xC227的时候,表示PPP帧的信息字段里封装了一个完整的EAP报文;
EAP在LAN的报文(简称EAPOL)数据帧格式Type域为EAP-Packet时,Packet Body为EAP数据报文。
二、EAP过程
(1)Authenticator发送请求报文EAP-Request给Supplicant(客户端),代表EAP认证开始。该请求由一个字段标明须要请求的数据是什么。
(2)Supplicant针对Authenticator发过来的请求回应一个响应消息EAP-Response;
(3)Authenticator继续发送EAP-Request消息,消息中包含具体EAP Type及其协议数据,Supplicant对此作出响应。根据EAP Method的不一样,此步骤可能会交
互屡次。
每次只能处理一个EAP报文,在收到响应以前不能发送新的请求,即锁步机制(Lockstep)。所以Authenticator要负责请求消息的重传。
(4)交互屡次以后,会出现两种情形:Authenticator不能确认Supplicant的接入权限,此时必须发送EAP-Failure,终结这次的EAP过程;或者确认接入权限
,此时必须发送EAP-Success消息。
Authenticator也能够做为Pass Through设备,透传EAP报文。
6、802.1X技术
全称为Port-Based Networks Access Control,即基于端口的网络访问控制。
一、结构:
客户端(Supplicant System):该终端系统一般须要安装一个客户端软件,必须支持EAPOL。
认证系统(Authenticator System):也称NAS(Network Access System,即网络接入系统),一般为支持802.1X协议的网络设备。
认证服务器(Authentication Server System):一般为Radius服务器,该服务器能够存储有关用户的认证、计费、业务信息。
二、协议:
(1)客户端和NAS之间:EAPOL(EAP over LANs)
(2)客户端、NAS和认证服务器之间认证信息的交互:EAP(Extensible Authentication Protocol,可扩展认证协议)
三、认证的基本过程:
(1)802.1X的认证发起能够由NAS发起,也能够由客户端主动发起。
当NAS探测到未通过认证的用户使用网络时,就会主动发起认证;用于支持不能主动发送EAPOL-Start报文的客户端,例如Windows XP自带的802.1X客户端。
客户端则能够经过客户端软件主动向NAS发送EAPOL-Start报文发起认证:组播MAC地址:01-80-C2-00-00-03。
(2)认证过程:
EAP中继方式:IEEE 802.1X标准规定的,其将EAP承载在其它高层协议中,如EAPOR(EAP over Radius),以便EAP报文穿越复杂的网络到达认证服务器。须要
Radius服务器支持EAP属性:EAP-Message(值为79)和Message-Authenticator(值为80)。
EAP终结方式:EAP报文在设备端终结并映射到Radius报文中,经过标准的Radius协议完成认证、受权和计费。CHAP密码经过密文方式在客户端和NAS之间传输,
而PAP密码经过明文的方式传输。
EAP中继方式与EAP终结方式的认证流程十分相似,不一样之处主要在于加密字的生成处理及传递方式。在EAP中继方式中,用来对用户口令信息进行加密处理的随
机加密字由认证服务器生成。EAP终结方式中,用来对用户密码信息进行加密处理的随机加密字由NAS生成。
四、H3C公司对802.1X的扩展属性
支持基于端口和基于MAC的不一样认证方式
支持的下发业务包括VLAN业务、ACL业务和CAR(用户流量控制)业务
按期握手机制取代了从新认证机制
独特的代理用户检测
7、PORTAL
Portal在英语中是入口的意思。Portal认证一般也称为Web认证,通常将Portal认证网站称为门户网站。
一、Portal的四大主要系统:
认证客户端:
接入设备(BAS):交换机、路由器等宽带接入设备的统称。在认证以前,将用户的全部HTTP请求都重定向到Portal服务器。在认证经过后,容许用户访问被管
理员受权的互联网资源。
Portal服务器:提供免费门户服务和基于Web认证的界面。Portal服务器经过PAP或CHAP的方式向接入设备传递用户信息。接入设备获取到用户信息后,将该信
息经过AAA模块完成认证。
认证/计费服务器:与接入设备进行交互,完成对用户的认证和计费。
二、对EAD系统的支持
须要用户在终端上安装专用的Portal客户端软件,用户在经过Portal认证后,安全策略服务器经过与Portal客户端、接入设备进行交互,完成对用户的安全认
证。若对用户采用了安全策略,则用户的安全检测经过以后,安全策略服务器根据用户的安全策略,受权用户访问非受限资源。
三、认证方式
二层认证方式:只容许源MAC地址经过认证的用户才能访问外部网络资源,目前仅支持本地Portal认证,即接入设备做为本地Portal服务器。
三层认证方式:直接认证方式、二次地址分配认证方式和跨三层认证方式。直接认证方式和二次地址分配认证方式下,认证客户端必须经过二层直接链接到接
入设备。IP地址都是用户的惟一标识。接入设备基于用户的IP地址下发ACL对接口上经过认证的用户报文转发进行控制。
8、MAC地址认证
基于端口和MAC地址对用户的网络访问权限进行控制的认证方法;
不须要用户安装任何客户端软件;
认证过程当中,不须要用户手动输入用户名或者密码;
若该用户认证成功,则容许其经过端口访问网络资源,不然该用户的MAC地址就被添加为静默MAC。在静默时间内(可经过静默定时器配置),来自此MAC地址的
用户报文到达时,设备直接作丢弃处理。
一、MAC地址认证使用的用户名格式分为两种类型:
使用用户的MAC地址做为认证时的用户名和密码,用户名和密码相同;
不论用户的MAC地址为什么值,全部用户均使用设备上指定的一个固定用户名和密码替代用户的MAC地址做为身份信息进行认证;
二、两种MAC地址认证方式:
选用RADIUS服务器认证方式;
接入设备上进行本地认证;
三、认证触发与下线:
下线检测定时器(offline-detect):用来设置用户空闲超时的时间间隔;
静默定时器(quiet):用来设置用户认证失败之后,设备中止对其提供认证服务的时间间隔;
服务器超时定时器(server-timeout):设置设备同RADIUS服务器的链接超时时间;
MAC地址认证触发,目前只有一种触发方式:new-mac事件触发,就是有了新的MAC到使能了MAC认证的端口,并被该端口学习到,便可触发MAC地址认证。
四、扩展特性:
(1)一般将受限的网络资源和用户划分到不一样的VLAN。认证服务器(远程或本地)受权下发VLAN功能。设备根据用户接入的端口链路类型,按不一样状况为端口
下发VLAN。经过认证便可访问受权vlan。
(以太网端口有三种链路类型:access、trunk、hybird. Access类型的端口只能属于1个VLAN,用于计算机; Trunk类型的端口能够容许多个VLAN经过,用于
交换机; Hybrid类型的端口能够容许多个VLAN经过,用于交换机和计算机。)
(2)从认证服务器(远程或本地)下发的ACL被称为受权ACL,它为用户访问网络的权限提供了良好的过滤功能。
(3)MAC地址认证的Guest VLAN功能容许用户在认证失败的状况下,访问某一特定VLAN中的资源。
9、Triple认证
802.1X认证须要客户端的配合,适用于安装了802.1X客户端的主机;移动终端如手机、PAD等能够选择Portal认证;而对于打印机、打卡器等终端,因为自己往
往不支持认证交互,MAC地址又是已知且固定不变的,这类设备适合采用MAC认证。为了知足不一样用户的需求,在同一端口上同时实现下挂不一样的认证用户,推
出了Triple认证。
Triple认证能够支持在一个交换机二层端口上同时使能802.1X认证、MAC认证以及二层Portal认证,在Triple认证中采用基于MAC认证模式的802.1X。
一、几种认证之间的覆盖关系
对于接入用户,只要经过其中一种认证,就能够访问相关权限。
客户端启动或者网卡接入时首先触发MAC地址认证,经过了MAC认证之后,再使用802.1X客户端触发802.1X认证能够认证成功,将覆盖以前MAC认证信息,而当
802.1X认证失败后又能够从新经过new MAC事件来触发MAC认证。
用户经过MAC地址认证后,不会再触发Portal认证。
二层Portal认证以及802.1X认证成功后不能被其余认证覆盖。
二、受权:
接入设备对认证成功的用户能够添加相应的受权VLAN。
Triple认证应用中采用基于MAC的VLAN技术来实现对于不一样的用户下发不一样的权限。MAC-VLAN表项采用动态下发的方式,要求用户端口采用hybrid口,端口上启
用MAC-VLAN。
GUEST VLAN设置了用户在认证成功前被授予的权限,在Triple认证中也是须要同MAC-VLAN结合实现的;
Auth-fail VLAN 划分了在用户认证失败后可以访问的资源。
10、EAD(Endpoint Admission Domination终端准入控制)方案介绍
其核心就是对终端用户的准入和控制。它以接入认证技术为载体,为网络提供一套立体的安全体系。EAD主要组件分为终端用户、接入控制设备、第三方补丁和
病毒服务器、安全策略服务器。逻辑上分为隔离区和受权安全区域。
一、基本思想:
终端用户首先经过接入认证技术进行身份认证,接入认证包括802.1X认证、PORTAL认证、L2TP认证。身份认证不经过,直接被拒绝,不能访问网络受保护资源
。若是身份认证经过,则首先要把用户放到隔离区,而后进行安全检查,若是安全检查不合格,则用户将一直被隔离,只能访问隔离区域,直到自动修复或手
工修复完成。若是安全检查合格,则用户会被动态受权,进入安全区域,能够访问受保护网络资源,但仅限于受权的网络资源,不能越权访问。此后用户在线
过程当中,其行为能够被约束,当打开或者安装禁止的进程或程序时,用户会被要求下线,禁止访问网络。
二、接入认证技术能够是PORTAL、802.1X和L2TP(×××),并且这三种接入技术分别适合不一样的应用场景。
三、在安全检查阶段不能符合预约的安全策略,EAD系统会针对该用户启动安全措施。默认的安全模式5种,分别是:隔离模式、监控模式、VIP模式(提醒模式
)、下线模式、访客模式。
四、EAD 802.1X认证流程:
(1)和普通802.1X认证不一样之处在于后续的EAD认证过程,在用户身份认证经过后,策略服务器经过radius-access-accept报文告知接入认证NAS设备该用户认
证经过,同时包含filter-id(下发ACL)和策略服务器地址等信息。接入认证NAS设备把该属性封装为eap报文后透传给客户端。
(2)iNode客户端收到透传的EAP报文后,解析出策略服务器的地址、端口等信息,开始发起EAD认证。
1号报文是认证请求,包含主要内容以下:认证用户名、IP地址(可选)、客户端监听端口号、客户端版本号等;
2号报文是服务器回应的安全检查报文,它须要通知客户端哪些安全项须要进行检查而且上报;
3号报文是用于向策略服务器反馈终端PC的一些安全检查结果的。
若是安全检查经过,则直接向客户端发送EAD4号报文。如是隔离模式,以后会发生radius的session-control报文,经过filter-id向接入认证通告该用户应该
被受权下发的ACL,经过ACL的约束来达到对用户受权的目的。
若是安全检查不经过,则向终端PC发送EAD 6号报文。
在用户下线前,EAD终端PC和策略服务器会经过EAD 11号报文和12号报文来维持心跳保活。
当用户主动请求下线时,向策略服务器发送EAD13号报文,策略服务器会回应EAD14号报文,其携带属性和EAD11号报文大体相同。
五、PORTAL EAD的认证流程
与802.1X相同,当用户身份认证经过后,若是用户安全策略的模式是隔离模式,那么radius服务器会经过access-accept报文中的filter-id属性下发隔离ACL。
PORTAL服务器经过CODE-PP-LOGIN-RESPONS 报文通了结端PC的iNode安全策略服务器的IP地址、端口号等。算法