CN104702607B - 一种软件定义网络的接入认证方法、装置和系统 - Google Patents
一种软件定义网络的接入认证方法、装置和系统 Download PDFInfo
- Publication number
- CN104702607B CN104702607B CN201510107751.8A CN201510107751A CN104702607B CN 104702607 B CN104702607 B CN 104702607B CN 201510107751 A CN201510107751 A CN 201510107751A CN 104702607 B CN104702607 B CN 104702607B
- Authority
- CN
- China
- Prior art keywords
- messages
- sdn
- authentication
- eap
- sent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施方式提出一种软件定义网络(SDN)的接入认证方法、装置和系统。所述方法应用于SDN控制器,该方法包括:向SDN交换机下发流表项,该流表项用于将SDN交换机从认证客户端接收到的局域网上的可扩展认证协议(EAPOL)报文承载于SDN报文并发送到SDN控制器,所述EAPOL报文包含可扩展认证协议(EAP)报文;从所述SDN报文中解析出所述EAPOL报文,从所述EAPOL报文中解析出所述EAP报文,将所述EAP报文承载于远程认证拨号用户服务(RADIUS)报文并发送到认证服务器,并以EAP中继的方式与所述认证服务器执行认证。
Description
技术领域
本发明实施方式属于网络通信技术领域,特别是一种软件定义网络(SoftwareDefined Network,SDN)的接入认证方法、装置和系统。
背景技术
SDN技术通过将网络设备的控制平面与数据平面分离,从而实现网络流量的灵活控制。相应地,SDN架构中包括SDN控制器和SDN交换机,其中:SDN控制器和SDN交换机之间通过优选为开放流(OpenFlow协议)的SDN管理通道进行通信,SDN控制器根据用户的配置或者动态运行的协议生成流表下发到SDN交换机,SDN交换机依据SDN控制器下发的流表进行报文处理。
二层用户接入控制是一种基于用户信息的安全管理机制,根据用户名密码来进行访问控制。目前主要使用802.1X机制,包括对用户进行认证、授权和计费。802.1X协议是一种基于端口的网络接入控制协议,即在局域网接入设备的端口上对所接入的用户和设备进行认证,以便控制用户设备对网络资源的访问。
然而,由于不符合SDN网络中控制平面和数据平面相分离的原则,传统网络的二层接入方案无法应用在SDN网络中。例如:在802.1X认证过程中,当用户接入认证成功后,授权服务器会对管理该用户的设备下发相应的授权策略。同时,管理员还需要在设备上进行相应的控制配置,如配置用户允许访问的虚拟局域网(VLAN)、访问控制列表(ACL)规则、用户配置文件(UserProfile)等。这种配置明显违背了SDN网络的原则,因此传统网络的二层接入方案不能适用于SDN网络。
发明内容
本发明实施方式提出一种SDN的接入认证方法、装置和系统,将802.1X接入控制技术融入到SDN网络中,实现对SDN网络进行接入控制。
本发明实施方式的技术方案如下:
根据本发明实施方式的一方面,提出一种SDN的接入认证方法,所述方法应用于SDN控制器,该方法包括:
向SDN交换机下发第一流表项,所述第一流表项用于将SDN交换机从认证客户端接收到的局域网上的可扩展认证协议EAPOL报文承载于SDN报文并发送到SDN控制器,所述EAPOL报文包含可扩展认证协议EAP报文;
从所述SDN报文中解析出所述EAPOL报文,从所述EAPOL报文中解析出所述EAP报文,将所述EAP报文承载于远程认证拨号用户服务RADIUS报文并发送到认证服务器,并以EAP中继的方式与所述认证服务器执行认证。
优选地,所述EAP报文包含用户名信息;
所述以EAP中继的方式与所述认证服务器执行认证包括:
接收认证服务器发送的MD5随机数,并通过SDN交换机将所述MD5随机数发送到认证客户端;
接收认证客户端通过SDN交换机发送的、基于所述MD5随机数计算的认证信息,并将所述认证信息发送到认证服务器,以由所述认证服务器基于所述用户名信息和认证信息执行认证。
优选地,在所述认证通过后,还包括:
向所述SDN交换机下发第二流表项,所述第二流表项用于将SDN控制器所下发的授权信息发送到认证客户端,所述授权信息包括下列组中的至少一个:用户允许访问的虚拟局域网(VLAN)列表;访问控制列表(ACL)规则;用户配置文件(UserProfile)。
根据本发明实施方式的一方面,提出一种SDN的接入认证方法,所述方法应用于SDN控制器,该方法包括:
向SDN交换机下发第一流表项,所述第一流表项用于将SDN交换机从认证客户端接收到的局域网上的可扩展认证协议EAPOL报文承载于SDN报文并发送到SDN控制器,所述EAPOL报文包含可扩展认证协议EAP报文;
从所述SDN报文中解析出所述EAPOL报文,从所述EAPOL报文中解析出所述EAP报文,并以EAP终结的方式与所述认证服务器执行认证。
优选地,所述与认证服务器执行认证包括:与所述认证服务器执行密码验证协议PAP认证或质询握手验证协议CHAP认证。
优选地,所述EAP报文包含用户名信息;
所述以EAP终结的方式与所述认证服务器执行认证包括:
生成MD5随机数,并通过所述SDN交换机将所述MD5随机数发送到认证客户端;
接收认证客户端通过SDN交换机发送的、基于所述MD5随机数计算的认证信息;
将所述认证信息、所述MD5随机数和所述用户名信息承载于RADIUS报文并发送到认证服务器,以由所述认证服务器执行认证。
优选地,还包括:
向所述SDN交换机下发第二流表项,所述第二流表项用于将授权信息发送到认证客户端,所述授权信息包括下列组中的至少一个:用户允许访问的VLAN列表;ACL规则;UserProfile。
根据本发明实施方式的一方面,提出一种SDN中的认证装置,所述装置应用于SDN控制器,该装置包括:
第一流表项下发模块,用于向SDN交换机下发第一流表项,该第一流表项用于将SDN交换机从认证客户端接收到的局域网上的可扩展认证协议EAPOL报文承载于SDN报文并发送到SDN控制器,所述EAPOL报文包含可扩展认证协议EAP报文;
认证模块,用于从所述SDN报文中解析出所述EAPOL报文,从所述EAPOL报文中解析出所述EAP报文,将所述EAP报文承载于远程认证拨号用户服务RADIUS报文并发送到认证服务器,并以EAP中继的方式与所述认证服务器执行认证。
优选地,所述EAP报文包含用户名信息;
认证模块,用于接收认证服务器发送的MD5随机数,并通过SDN交换机将所述MD5随机数发送到认证客户端;接收认证客户端通过SDN交换机发送的、基于所述MD5随机数计算的认证信息,并将所述认证信息发送到认证服务器,以由所述认证服务器基于所述用户名信息和所述认证信息执行认证。
优选地,还包括:
第二流表项下发模块,用于向所述SDN交换机下发第二流表项,所述第二流表项用于将SDN控制器所下发的授权信息发送到认证客户端,所述授权信息包括下列组中的至少一个:用户允许访问的虚拟局域网VLAN列表;ACL规则;UserProfile。
根据本发明实施方式的一方面,提出一种SDN中的认证装置,所述装置应用于SDN控制器,该方法包括:
第一流表项下发模块,用于向SDN交换机下发第一流表项,该第一流表项用于将SDN交换机从认证客户端接收到的局域网上的可扩展认证协议EAPOL报文承载于SDN报文并发送到SDN控制器,所述EAPOL报文包含可扩展认证协议EAP报文;
认证模块,用于从所述SDN报文中解析出所述EAPOL报文,从所述EAPOL报文中解析出所述EAP报文,并以EAP终结的方式与所述认证服务器执行认证。
优选地,认证模块,用于与所述认证服务器执行密码验证协议PAP认证或质询握手验证协议CHAP认证。
优选地,所述EAP报文包含用户名信息;
认证模块,用于生成MD5随机数,并通过所述SDN交换机将所述MD5随机数发送到认证客户端;接收认证客户端通过SDN交换机发送的、基于所述MD5随机数计算的认证信息;将所述认证信息、所述MD5随机数和所述用户名信息承载于RADIUS报文并发送到认证服务器,以由所述认证服务器执行认证。
优选地,还包括:
第二流表项下发模块,用于向所述SDN交换机下发第二流表项,所述第二流表项用于将SDN控制器所下发的授权信息发送到认证客户端,所述授权信息包括下列组中的至少一个:用户允许访问的VLAN列表;ACL规则;UserProfile。
根据本发明实施方式的一方面,提出一种SDN的接入认证系统,包括:
认证客户端,用于向SDN交换机发送局域网上的可扩展认证协议EAPOL报文,所述EAPOL报文包含可扩展认证协议EAP报文;
SDN交换机,用于基于SDN控制器所下发的流表将所述EAPOL报文承载于SDN报文并发送到SDN控制器;
SDN控制器,用于从所述SDN报文中解析出所述EAPOL报文,从所述EAPOL报文中解析出所述EAP报文,并以EAP中继或EAP终结的方式与认证服务器执行认证。
由此可见,本发明实施方式将802.1X接入控制技术融入到SDN网络中,达到对SDN网络进行接入控制的目的,并且遵循SDN网络的核心思想:分离数据平面和控制平面,层次化集中控制平面。
附图说明
图1为根据本发明实施方式SDN中的接入认证系统的示范性示意图;
图2为根据本发明实施方式SDN中通过EAP中继方式的接入认证方法流程图;
图3为根据本发明实施方式OpenFlow网络中的EAP中继示意图;
图4为根据本发明实施方式OpenFlow网络中的EAP中继方式认证流程图;
图5为根据本发明实施方式SDN中通过EAP终结方式的接入认证方法流程图;
图6为根据本发明实施方式OpenFlow网络中的EAP终结示意图;
图7为根据本发明实施方式OpenFlow网络中的EAP终结方式认证流程图;
图8为根据本发明实施方式SDN中通过EAP中继方式的接入认证装置结构图;
图9为根据本发明实施方式SDN中通过EAP终结方式的接入认证装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
图1为根据本发明实施方式SDN中的接入认证系统的示范性示意图。
如图1所示,该系统包括:
认证客户端101,用于向SDN交换机102发送局域网上的可扩展认证协议(EAPOL)报文,EAPOL报文包含可扩展认证协议(EAP)报文;
SDN交换机102,用于基于SDN控制器103所下发的流表将EAPOL报文承载于SDN报文并发送到SDN控制器103;
SDN控制器103,用于从SDN报文中解析出EAPOL报文,从EAPOL报文中解析出EAP报文,并以EAP中继或EAP终结的方式与认证服务器104执行认证。
认证客户端101是请求接入局域网的用户终端,由局域网中的SDN控制器103对其进行认证。在认证客户端101上安装有支持802.1X认证的客户端软件。
SDN交换机102是局域网中控制认证客户端101接入的网络设备,为认证客户端101提供接入局域网的端口(物理端口或逻辑端口),并负责与SDN控制器103交互。SDN交换机102与SDN控制器103交互时,SDN控制器103向SDN交换机102下发匹配EAOPL报文(以太报文类型为0X888E)的流表项,动作为上送SDN控制器103。比如,SDN交换机102可以将EAPOL报文封装在OpenFlow Packet-In协议报文上送SDN控制器103,同时SDN控制器103记录该OpenFlow Packet-In协议报文所携带的EAPOL报文的入接口;如果SDN控制器103需要回复某个SDN交换机102管理下的认证客户端101,可以将EAPOL报文封装在OpenFlow Packet-Out协议报文中发送到相对应的SDN交换机102上,动作为将此OpenFlow Packet-Out协议报文携带的EAPOL报文从记录的入接口发送。当SDN控制器103对认证客户端101进行下发授权信息时,可以通过OpenFlow流表、组表或meter表完成。
SDN控制器103是控制SDN交换机102的控制服务器,并为802.1X的相关业务提供载体,同时与认证服务器104交互来对所连接的认证客户端101进行认证。
认证服务器104用于对认证客户端101进行认证、授权和计费,通常为远程认证拨号用户服务(Remote Authentication Dial-In User Service,RADIUS)服务器。认证服务器104根据SDN控制器103发送来的客户端认证信息来验证认证客户端101的合法性,并将验证结果通知给SDN控制器102,由SDN控制器102决定是否允许认证客户端101接入。
在SDN交换机102与认证服务器104之间,EAP报文的交互有EAP中继和EAP终结两种处理机制。EAP是一种C/S模式的认证框架,它可以支持多种认证方法,例如MD5-Challenge、可扩展认证协议-传输层安全(Extensible Authentication Protocol-Transport LayerSecurity,EAP-TLS)、受保护的扩展认证协议(Protected Extensible AuthenticationProtocol,PEAP)等。在认证客户端与SDN交换机之间,EAP报文使用EAPOL封装格式承载于数据帧中传递。在SDN交换机与SDN控制器之间,EAPOL报文可以使用OpenFlow协议封装格式承载于OpenFlow(Packet-In、Packet-Out)报文中传输。
在SDN控制器与认证服务器之间,EAP报文的交互有EAP中继和EAP终结两种处理机制。
图2为根据本发明实施方式SDN中通过EAP中继方式的接入认证方法流程图,该方法应用于SDN控制器。
如图2所示,该方法包括:
步骤201:SDN控制器向SDN交换机下发第一流表项,第一流表项用于将SDN交换机从认证客户端接收到的EAPOL报文承载于SDN报文并发送到SDN控制器,EAPOL报文包含EAP报文。
步骤202:SDN控制器从SDN报文中解析出EAPOL报文,从EAPOL报文中解析出EAP报文,将EAP报文承载于RADIUS报文并发送到认证服务器,并以EAP中继的方式与认证服务器执行认证。
在一个实施方式中,EAP报文包含用户名信息;以EAP中继的方式与认证服务器执行认证包括:SDN控制器接收认证服务器发送的MD5随机数,并通过SDN交换机将MD5随机数发送到认证客户端;SDN控制器接收认证客户端通过SDN交换机发送的、基于MD5随机数计算的认证信息,并将认证信息发送到认证服务器,以由认证服务器基于用户名信息和认证信息执行认证。
在一个实施方式中,在认证通过后,该方法还包括:
SDN控制器向SDN交换机下发第二流表项,第二流表项用于将SDN控制器所下发的授权信息发送到认证客户端。
优选地,授权信息包括下列组中的至少一个:用户允许访问的VLAN列表;ACL规则;用户配置文件(UserProfile)。
可以将图2所示方法应用于各种SDN网络中,优选实施到OpenFlow网络。图3为根据本发明实施方式OpenFlow网络中的EAP中继示意图。在EAP中继中,OpenFlow控制器对接收到的EAP报文进行中继。
由图3可见,OpenFlow交换机将从认证客户端接收到的EAPOL报文承载于OpenFlow协议报文Packet-In中,并发送给OpenFlow控制器。OpenFlow控制器收到报文后,将EAP报文解析出来,并使用EAPOR封装格式将EAP报文承载于RADIUS报文中发送给认证服务器。
在EAP中继机制下,EAP认证过程在认证客户端和认证服务器之间进行。认证服务器作为EAP服务器来处理认证客户端的EAP认证请求,OpenFlow交换机和OpenFlow控制器相当于两个中继设备,仅对EAP报文做中转。因此,EAP中继方式处理简单,并能够支持EAP的各种认证方法,不过需要认证服务器支持相应的EAP认证方法。
图4为根据本发明实施方式OpenFlow网络中的EAP中继方式认证流程图。
如图4所示,该方法包括:
步骤(1):当用户需要访问外部网络时,在认证客户端打开802.1X客户端程序,并输入用户名和密码,发起连接请求。此时,认证客户端中的802.1X客户端程序向OpenFlow交换机发出认证请求帧(EAPOL-Start),开始启动一次认证过程。
步骤(2):OpenFlow交换机将接收到的请求帧(EAPOL-Start)承载于OpenFlow协议报文OpenFlow Packet-In中,并发给OpenFlow控制器。
步骤(3):OpenFlow控制器收到认证请求帧后,在OpenFlow Packet-Out报文中封装一个Identity类型的请求帧(EAP-Request/Identity),以要求认证客户端的802.1X客户端程序发送所输入的用户名。
步骤(4):OpenFlow交换机从OpenFlow Packet-Out报文中解析出EAPOL报文,发送到认证客户端的802.1X客户端程序。
步骤(5):认证客户端的802.1X客户端程序响应OpenFlow交换机发出的请求,将用户名通过Identity类型的响应帧(EAP-Response/Identity)发送给OpenFlow交换机。
步骤(6):OpenFlow交换机接收EAPOL协议报文后,将它封装到OpenFlow协议报文OpenFlow Packet-In中,发给OpenFlow控制器。
步骤(7):OpenFlow控制器从OpenFlow交换机发送来的Packet-In报文中解析出EAPOL报文,将它封装在RADIUS报文中,并发送给认证服务器进行处理。
步骤(8):认证服务器收到OpenFlow控制器转发的报文后,解析出用户名,将该用户名与数据库中的用户名列表对比,以查询该用户名对应的密码,而且利用随机生成的一个MD5 Challenge对密码进行加密处理,同时将此MD5 Challenge通过RADIUS Access-Challenge报文发送给OpenFlow控制器。
步骤(9):OpenFlow控制器将认证服务器发送来的报文封装到OpenFlow Packet-Out报文中并转发给OpenFlow交换机。
步骤(10):OpenFlow交换机从OpenFlow Packet-Out报文中解析出EAP-Request/MD5 Challenge报文,转发给认证客户端的802.1X客户端程序。
步骤(11):认证客户端的802.1X客户端程序收到由OpenFlow交换机传来的MD5Challenge后,用该Challenge对所输入的密码进行加密处理,生成EAP-Response/MD5Challenge报文,并发送给OpenFlow交换机。
步骤(12):OpenFlow交换机将此EAP-Response/MD5 Challenge报文封装在OpenFlow Packet-IN中发送给OpenFlow控制器。
步骤(13):OpenFlow控制器从OpenFlow Packet-In报文中解析出EAP-Response/MD5 Challenge报文,并转发给认证服务器。
步骤(14):认证服务器将收到的已加密的密码信息和本地经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,并向OpenFlow控制器发送认证通过报文(RADIUS Access-Accept)。
步骤(15):OpenFlow控制器收到认证通过报文后,在OpenFlow Packet-Out报文中封装认证成功帧(EAP-Success),发给OpenFlow交换机。
步骤(16):OpenFlow交换机从OpenFlow Packet-Out报文中解析出认证成功帧(EAP-Success),并将它发送给认证客户端的802.1X客户端程序。
步骤(17):OpenFlow控制器根据用户的配置或者动态运行的协议生成流表项发送到OpenFlow交换机,OpenFlow交换机接收到OpenFlow控制器设置的流表项后,根据流表项进行用户报文转发。
步骤(18):当用户在线期间,OpenFlow控制器通过OpenFlow交换机向认证客户端的802.1X客户端程序定期发送握手报文的方法,对用户的在线情况进行监测。
步骤(19):OpenFlow交换机将OpenFlow控制器发送的握手报文转发给认证客户端的802.1X客户端程序。
步骤(20):认证客户端的802.1X客户端程序收到握手报文后,通过OpenFlow交换机向OpenFlow控制器发送应答报文,表示用户仍然在线。缺省情况下,若OpenFlow控制器发送的两次握手请求报文都未得到认证客户端的802.1X客户端程序的应答,OpenFlow控制器将让用户下线,防止用户因为异常原因下线而无法感知。
步骤(21):OpenFlow交换机将认证客户端的802.1X客户端程序发送的握手应答报文转发给OpenFlow控制器。
步骤(22):认证客户端的802.1X客户端程序发送EAPOL-Logoff帧给OpenFlow控制器,主动要求下线。
步骤(23):OpenFlow交换机将认证客户端的802.1X客户端程序发送的EAPOL-Logoff帧封装在OpenFlow Packet-In报文中,转发给OpenFlow控制器。
步骤(24):OpenFlow控制器删除该用户的流表项,对用户进行去授权处理。
步骤(25):OpenFlow控制器将EAP-Failure报文封装在OpenFlow Packet-Out报文中,发给OpenFlow控制器。
步骤(26):OpenFlow交换机从OpenFlow Packet-Out报文中解析出EAP-Failure报文,发给认证客户端的802.1X客户端程序。
其中步骤(22)-(26)为对用户下线(包括正常下线、异常下线)进行相应的处理流程。
以上以OpenFlow网络为示例对本发明实施方式的SDN网络中的EAP中继方式的接入认证进行了详细说明,本领域技术人员可以意识到,本发明实施方式并不局限于OpenFlow网络,而是适用于任意的SDN网络。
图5为根据本发明实施方式SDN中通过EAP终结方式的接入认证方法流程图,该方法应用于SDN控制器。
如图5所示,该方法包括:
步骤501:SDN控制器向SDN交换机下发第一流表项,第一流表项用于将SDN交换机从认证客户端接收到的局域网上的EAPOL报文承载于SDN报文并发送到SDN控制器,EAPOL报文包含EAP报文;
步骤502:SDN控制器从SDN报文中解析出EAPOL报文,从EAPOL报文中解析出所述EAP报文,并以EAP终结的方式与认证服务器执行认证
在一个实施方式中,与认证服务器执行认证包括:与认证服务器执行密码验证协议PAP认证或质询握手验证协议CHAP认证。
在一个实施方式中,EAP报文包含用户名信息;以EAP终结的方式与所述认证服务器执行认证包括:生成MD5随机数,并通过所述SDN交换机将所述MD5随机数发送到认证客户端;接收认证客户端通过SDN交换机发送的、基于MD5随机数计算的认证信息;将认证信息、MD5随机数和所述用户名信息承载于RADIUS报文并发送到认证服务器,以由认证服务器执行认证。
在一个实施方式中,该方法还包括:向SDN交换机下发第二流表项,第二流表项用于将授权信息发送到认证客户端,授权信息包括下列组中的至少一个:用户允许访问的VLAN列表;ACL规则;用户配置文件(UserProfile)。
可以将图5所示方法应用于各种SDN网络中,优选为OpenFlow网络。图6为根据本发明实施方式OpenFlow网络中的EAP终结示意图。在EAP终结中,OpenFlow控制器对EAP认证过程进行终结。
由图6可见,OpenFlow交换机将从认证客户端接收到的EAPOL报文承载于OpenFlow协议报文Packet-In中,并发送给OpenFlow控制器,OpenFlow控制器收到Packet-In报文后,将EAP报文解析出来,并将EAP报文中的客户端认证信息封装在标准的RADIUS报文中,与认证服务器之间采用PAP或CHAP等方法进行认证。
在EAP终结处理机制下,由于现有的认证服务器基本均可支持PAP认证和CHAP认证,因此对认证服务器无特殊要求。OpenFlow控制器需要作为EAP服务器来解析与处理认证客户端的EAP报文。
EAP终结方式与EAP中继方式的认证流程相比,不同之处在于用来对用户密码信息进行加密处理的MD5 challenge由OpenFlow控制器生成,OpenFlow控制器将MD5 challenge封装在OpenFlow Packet-Out报文中,通过OpenFlow交换机转发给认证客户端。而且,OpenFlow控制器会把用户名、MD5 challenge和认证客户端加密后的密码信息从OpenFlowPacket-In报文中解析出来,并发给认证服务器以进行相关的认证处理。
图7为根据本发明实施方式OpenFlow网络中的EAP终结方式认证流程图。
如图7所示,该方法包括:
步骤(1):当用户需要访问外部网络时,在认证客户端打开802.1X客户端程序,并输入用户名和密码,发起连接请求。此时,认证客户端中的802.1X客户端程序向OpenFlow交换机发出认证请求帧(EAPOL-Start),开始启动一次认证过程。
步骤(2):OpenFlow交换机将接收到的请求帧(EAPOL-Start)承载于OpenFlow协议报文OpenFlow Packet-In中,并发给OpenFlow控制器。
步骤(3):OpenFlow控制器收到认证请求帧后,在OpenFlow Packet-Out报文中封装一个Identity类型的请求帧(EAP-Request/Identity),以要求认证客户端的802.1X客户端程序发送所输入的用户名。
步骤(4):OpenFlow交换机从OpenFlow Packet-Out报文中解析出EAPOL报文,发送到认证客户端的802.1X客户端程序。
步骤(5):认证客户端的802.1X客户端程序响应OpenFlow交换机发出的请求,将用户名通过Identity类型的响应帧(EAP-Response/Identity)发送给OpenFlow交换机。
步骤(6):OpenFlow交换机接收EAPOL协议报文后,将它封装到OpenFlow协议报文OpenFlow Packet-In中,发给OpenFlow控制器。
步骤(7):OpenFlow控制器从OpenFlow交换机发送来的Packet-In报文中解析出EAPOL报文,解析出用户名并在本地保存该用户名,随机生成对应于该用户名的MD5Challenge,并将该MD5 Challenge封装到OpenFlow Packet-Out报文中并转发给OpenFlow交换机。
步骤(8):OpenFlow交换机从OpenFlow Packet-Out报文中解析出MD5 Challenge报文,转发给认证客户端的802.1X客户端程序。
步骤(9):认证客户端的802.1X客户端程序利用该MD5 Challenge对所输入的密码进行加密处理,将MD5 Challenge加密后的密码携带在EAP-Response/MD5 Challenge报文中,并发送给OpenFlow交换机。
步骤(10):OpenFlow交换机将此MD5 Challenge报文封装在OpenFlow Packet-IN中发送给OpenFlow控制器。
步骤(11):OpenFlow控制器从OpenFlow Packet-IN报文中解析出MD5 Challenge加密后的密码,并将MD5 Challenge加密后的密码、MD5 Challenge和用户名和封装在RADIUSA报文(RADIUS Access-Request)中发送给认证服务器进行认证。
步骤(12):认证服务器利用接收到的用户名查询到对应的密码,并利用MD5Challenge加密该查询出的密码,而且将接收到MD5 Challenge加密后的密码和认证服务器自身利用MD5 Challenge加密后的密码进行对比,如果相同,则认为该用户为合法用户,并向OpenFlow控制器发送认证通过报文(RADIUS Access-Accept)。
步骤(13):OpenFlow控制器收到认证通过报文后,在OpenFlow Packet-Out报文中封装认证成功帧(EAP-Success),发给OpenFlow交换机。
步骤(14):OpenFlow交换机从OpenFlow Packet-Out报文中解析出认证成功帧(EAP-Success),并将它发送给认证客户端的802.1X客户端程序。
步骤(15):OpenFlow控制器根据用户的配置或者动态运行的协议生成流表项发送到OpenFlow交换机,OpenFlow交换机接收到OpenFlow控制器设置的流表项后,根据流表项进行用户报文转发。
步骤(16):当用户在线期间,OpenFlow控制器通过OpenFlow交换机向认证客户端的802.1X客户端程序定期发送握手报文的方法,对用户的在线情况进行监测。
步骤(17):OpenFlow交换机将OpenFlow控制器发送的握手报文转发给认证客户端的802.1X客户端程序。
步骤(18):认证客户端的802.1X客户端程序收到握手报文后,通过OpenFlow交换机向OpenFlow控制器发送应答报文,表示用户仍然在线。缺省情况下,若OpenFlow控制器发送的两次握手请求报文都未得到认证客户端的802.1X客户端程序的应答,OpenFlow控制器将让用户下线,防止用户因为异常原因下线而无法感知。
步骤(19):OpenFlow交换机将认证客户端的802.1X客户端程序发送的握手应答报文转发给OpenFlow控制器。
步骤(20):认证客户端的802.1X客户端程序发送EAPOL-Logoff帧给OpenFlow控制器,主动要求下线。
步骤(21):OpenFlow交换机将认证客户端的802.1X客户端程序发送的EAPOL-Logoff帧封装在OpenFlow Packet-In报文中,转发给OpenFlow控制器。
步骤(22):OpenFlow控制器删除该用户的流表项,对用户进行去授权处理。
步骤(23):OpenFlow控制器将EAP-Failure报文封装在OpenFlow Packet-Out报文中,发给OpenFlow控制器。
步骤(24):OpenFlow交换机从OpenFlow Packet-Out报文中解析出EAP-Failure报文,发给认证客户端的802.1X客户端程序。
本发明实施方式中,将802.1X接入控制系统融入SDN(比如OpenFlow网络)网络的策略是:将EAPOL报文承载于OpenFlow协议报文中(OpenFlow Packet-In报文及OpenFlowPacket-Out报文)。OpenFlow Packet-In报文中承载认证客户端需要发给认证服务器的信息;OpenFlow Packet-Out报文中承载认证服务器需要通知认证客户端的信息。OpenFlow交换机仅对EAPOL报文透传,其中对用户的认证、授权、计费处理流程都可以提升到OpenFlow网络中的OpenFlow控制器上,由OpenFlow控制器与认证、授权和计费服务器交互;若认证成功,认证、授权和计费服务器就会下发授权信息,OpenFlow控制器收到此授权信息后,将此授权信息解析为OpenFlow流表项,发送给OpennFlow交换机,从而对用户进行访问控制。
以上以OpenFlow网络为示例对本发明实施方式的SDN网络中的EAP中继方式的接入认证进行了详细说明,本领域技术人员可以意识到,本发明实施方式并不局限于OpenFlow网络,而是适用于任意的SDN网络。
基于上述详细分析,本发明还提出了一种SDN中的认证装置。图8为根据本发明实施方式SDN中通过EAP中继方式的接入认证装置结构图,该装置800应用于SDN控制器,包括:
第一流表项下发模块801,用于向SDN交换机下发第一流表项,该第一流表项用于将SDN交换机从认证客户端接收到的EAPOL报文承载于SDN报文并发送到SDN控制器,EAPOL报文包含EAP报文;
认证模块802,用于从SDN报文中解析出EAPOL报文,从EAPOL报文中解析出EAP报文,将EAP报文承载于RADIUS报文并发送到认证服务器,并以EAP中继的方式与认证服务器执行认证。
在一个实施方式中,EAP报文包含用户名信息;
认证模块802,用于接收认证服务器发送的MD5随机数,并通过SDN交换机将MD5随机数发送到认证客户端;接收认证客户端通过SDN交换机发送的、基于MD5随机数计算的认证信息,并将认证信息发送到认证服务器,以由认证服务器基于所述用户名信息和认证信息执行认证。
在一个实施方式中,该装置800还包括:
第二流表项下发模块803,用于向SDN交换机下发第二流表项,第二流表项用于将SDN控制器所下发的授权信息发送到认证客户端,授权信息包括下列组中的至少一个:用户允许访问的VLAN列表;ACL规则;UserProfile。
基于上述详细分析,本发明还提出了一种SDN中的认证装置。
图9为根据本发明实施方式SDN中通过EAP中继方式的接入认证装置结构图,该装置应用于SDN控制器。
如图9所示,该装置900包括:
第一流表项下发模块901,用于向SDN交换机下发第一流表项,该第一流表项用于将SDN交换机从认证客户端接收到的EAPOL报文承载于SDN报文并发送到SDN控制器,EAPOL报文包含EAP报文;
认证模块902,用于从SDN报文中解析出EAPOL报文,从EAPOL报文中解析出EAP报文,并以EAP终结的方式与认证服务器执行认证。
在一个实施方式中,认证模块902,用于与认证服务器执行PAP认证或CHAP认证。
在一个实施方式中,EAP报文包含用户名信息;认证模块902,用于生成MD5随机数,并通过SDN交换机将MD5随机数发送到认证客户端;接收认证客户端通过SDN交换机发送的、基于MD5随机数计算的认证信息;将认证信息、MD5随机数和用户名信息承载于RADIUS报文并发送到认证服务器,以由认证服务器执行认证。
在一个实施方式中,该装置900还包括:
第二流表项下发模块903,用于向SDN交换机下发第二流表项,第二流表项用于将SDN控制器所下发的授权信息发送到认证客户端,授权信息包括下列组中的至少一个:用户允许访问的VLAN列表;ACL规则;UserProfile。
综上所述,本发明实施方式将802.1X接入控制技术融入到SDN网络中,达到对SDN网络进行接入控制的目的,并且遵循SDN网络的核心思想:分离数据平面和控制平面,层次化集中控制平面。
当将本发明实施在OpenFlow网络中时,OpenFlow交换机只需要对EAPOL认证报文做透传,而且将对接入用户的认证、授权和计费转移到OpenFlow控制器进行处理,既减轻OpenFlow交换机的负担,也符合OpenFlow网络的思想。另外,也可以将认证、授权和计费服务器作为一个接入控制组件运行在OpenFlow控制器上,从而更加满足OpenFlow网络的分层次集中控制的思想。
以上所述,仅为本发明的较佳实施方式而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种软件定义网络SDN的接入认证方法,其特征在于,所述方法应用于SDN控制器,该方法包括:
向SDN交换机下发第一流表项,所述第一流表项用于将SDN交换机从认证客户端接收到的局域网上的可扩展认证协议EAPOL报文承载于SDN报文并发送到SDN控制器,所述EAPOL报文包含可扩展认证协议EAP报文;
从所述SDN报文中解析出所述EAPOL报文,从所述EAPOL报文中解析出所述EAP报文,将所述EAP报文承载于远程认证拨号用户服务RADIUS报文并发送到认证服务器,并以EAP中继的方式与所述认证服务器执行认证;
在所述认证通过后,该方法还包括:
向所述SDN交换机下发第二流表项,所述第二流表项用于将认证服务器向SDN控制器所下发的授权信息发送到认证客户端;
所述授权信息包括下列组中的至少一个:用户允许访问的虚拟局域网VLAN列表;访问控制列表ACL规则;用户配置文件UserProfile。
2.根据权利要求1所述的方法,其特征在于,所述EAP报文包含用户名信息;
所述以EAP中继的方式与所述认证服务器执行认证包括:
接收认证服务器发送的MD5随机数,并通过SDN交换机将所述MD5随机数发送到认证客户端;
接收认证客户端通过SDN交换机发送的、基于所述MD5随机数计算的认证信息,并将所述认证信息发送到认证服务器,以由所述认证服务器基于所述用户名信息和认证信息执行认证。
3.一种软件定义网络SDN的接入认证方法,其特征在于,所述方法应用于SDN控制器,该方法包括:
向SDN交换机下发第一流表项,所述第一流表项用于将SDN交换机从认证客户端接收到的局域网上的可扩展认证协议EAPOL报文承载于SDN报文并发送到SDN控制器,所述EAPOL报文包含可扩展认证协议EAP报文;
从所述SDN报文中解析出所述EAPOL报文,从所述EAPOL报文中解析出所述EAP报文,并以EAP终结的方式与认证服务器执行认证;
在所述认证通过后,该方法还包括:
向所述SDN交换机下发第二流表项,所述第二流表项用于将认证服务器向SDN控制器所下发的授权信息发送到认证客户端;
所述授权信息包括下列组中的至少一个:用户允许访问的虚拟局域网VLAN列表;访问控制列表ACL规则;用户配置文件UserProfile。
4.根据权利要求3所述的方法,其特征在于,所述与认证服务器执行认证包括:与所述认证服务器执行密码验证协议PAP认证或质询握手验证协议CHAP认证。
5.根据权利要求3所述的方法,其特征在于,所述EAP报文包含用户名信息;
所述以EAP终结的方式与所述认证服务器执行认证包括:
生成MD5随机数,并通过所述SDN交换机将所述MD5随机数发送到认证客户端;
接收认证客户端通过SDN交换机发送的、基于所述MD5随机数计算的认证信息;
将所述认证信息、所述MD5随机数和所述用户名信息承载于RADIUS报文并发送到认证服务器,以由所述认证服务器执行认证。
6.一种软件定义网络SDN中的认证装置,其特征在于,所述装置应用于SDN控制器,该装置包括:
第一流表项下发模块,用于向SDN交换机下发第一流表项,该第一流表项用于将SDN交换机从认证客户端接收到的局域网上的可扩展认证协议EAPOL报文承载于SDN报文并发送到SDN控制器,所述EAPOL报文包含可扩展认证协议EAP报文;
认证模块,用于从所述SDN报文中解析出所述EAPOL报文,从所述EAPOL报文中解析出所述EAP报文,将所述EAP报文承载于远程认证拨号用户服务RADIUS报文并发送到认证服务器,并以EAP中继的方式与所述认证服务器执行认证;
该装置还包括:
第二流表项下发模块,用于在所述认证通过后,向所述SDN交换机下发第二流表项,所述第二流表项用于将认证服务器向SDN控制器所下发的授权信息发送到认证客户端;
所述授权信息包括下列组中的至少一个:用户允许访问的虚拟局域网VLAN列表;访问控制列表ACL规则;用户配置文件UserProfile。
7.根据权利要求6所述的装置,其特征在于,所述EAP报文包含用户名信息;
认证模块,用于接收认证服务器发送的MD5随机数,并通过SDN交换机将所述MD5随机数发送到认证客户端;接收认证客户端通过SDN交换机发送的、基于所述MD5随机数计算的认证信息,并将所述认证信息发送到认证服务器,以由所述认证服务器基于所述用户名信息和所述认证信息执行认证。
8.一种软件定义网络SDN中的认证装置,其特征在于,所述装置应用于SDN控制器,该装置包括:
第一流表项下发模块,用于向SDN交换机下发第一流表项,该第一流表项用于将SDN交换机从认证客户端接收到的局域网上的可扩展认证协议EAPOL报文承载于SDN报文并发送到SDN控制器,所述EAPOL报文包含可扩展认证协议EAP报文;
认证模块,用于从所述SDN报文中解析出所述EAPOL报文,从所述EAPOL报文中解析出所述EAP报文,并以EAP终结的方式与认证服务器执行认证;
该装置还包括:
第二流表项下发模块,用于在所述认证通过后,向所述SDN交换机下发第二流表项,所述第二流表项用于将认证服务器向SDN控制器所下发的授权信息发送到认证客户端;
所述授权信息包括下列组中的至少一个:用户允许访问的虚拟局域网VLAN列表;访问控制列表ACL规则;用户配置文件UserProfile。
9.根据权利要求8所述的装置,其特征在于,
认证模块,用于与所述认证服务器执行密码验证协议PAP认证或质询握手验证协议CHAP认证。
10.根据权利要求8所述的装置,其特征在于,所述EAP报文包含用户名信息;
认证模块,用于生成MD5随机数,并通过所述SDN交换机将所述MD5随机数发送到认证客户端;接收认证客户端通过SDN交换机发送的、基于所述MD5随机数计算的认证信息;将所述认证信息、所述MD5随机数和所述用户名信息承载于RADIUS报文并发送到认证服务器,以由所述认证服务器执行认证。
11.一种软件定义网络SDN的接入认证系统,其特征在于,包括:
认证客户端,用于向SDN交换机发送局域网上的可扩展认证协议EAPOL报文,所述EAPOL报文包含可扩展认证协议EAP报文;
SDN交换机,用于基于SDN控制器所下发的流表将所述EAPOL报文承载于SDN报文并发送到SDN控制器;
SDN控制器,用于从所述SDN报文中解析出所述EAPOL报文,从所述EAPOL报文中解析出所述EAP报文,并以EAP中继或EAP终结的方式与认证服务器执行认证,在所述认证通过后,向所述SDN交换机下发第二流表项,所述第二流表项用于将认证服务器向SDN控制器所下发的授权信息发送到认证客户端;
所述授权信息包括下列组中的至少一个:用户允许访问的虚拟局域网VLAN列表;访问控制列表ACL规则;用户配置文件UserProfile。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510107751.8A CN104702607B (zh) | 2015-03-12 | 2015-03-12 | 一种软件定义网络的接入认证方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510107751.8A CN104702607B (zh) | 2015-03-12 | 2015-03-12 | 一种软件定义网络的接入认证方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104702607A CN104702607A (zh) | 2015-06-10 |
CN104702607B true CN104702607B (zh) | 2018-10-09 |
Family
ID=53349376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510107751.8A Active CN104702607B (zh) | 2015-03-12 | 2015-03-12 | 一种软件定义网络的接入认证方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104702607B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105119911B (zh) * | 2015-07-28 | 2018-10-12 | 上海斐讯数据通信技术有限公司 | 一种基于sdn流的安全认证方法及系统 |
CN106817348B (zh) * | 2015-11-30 | 2020-06-26 | 北京华为数字技术有限公司 | 一种基于sdn的安全认证方法及相关设备 |
CN105721317B (zh) * | 2016-02-25 | 2019-09-13 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的数据流加密方法和系统 |
CN106506295B (zh) * | 2016-11-15 | 2021-03-02 | 新华三技术有限公司 | 一种虚拟机接入网络的方法及装置 |
CN106713263B (zh) * | 2016-11-18 | 2018-07-13 | 上海红阵信息科技有限公司 | 局域网内用户按需动态认证连接的系统及方法 |
CN108632124A (zh) * | 2017-03-24 | 2018-10-09 | 中兴通讯股份有限公司 | 一种资源分配方法、服务器、光线路终端及系统 |
CN107094157A (zh) * | 2017-06-22 | 2017-08-25 | 电子科技大学 | 一种基于sdn的radius安全认证方法及系统 |
CN107547568B (zh) * | 2017-09-29 | 2020-07-07 | 新华三技术有限公司 | 认证方法和装置 |
CN108337243B (zh) * | 2017-11-02 | 2021-12-07 | 紫光恒越技术有限公司 | 报文转发方法、装置和转发设备 |
CN107733929B (zh) * | 2017-11-30 | 2020-04-10 | 中国联合网络通信集团有限公司 | 认证方法和认证系统 |
CN109088855A (zh) * | 2018-07-12 | 2018-12-25 | 新华三信息安全技术有限公司 | 一种身份认证的方法及设备 |
CN112260913B (zh) * | 2020-12-21 | 2021-04-02 | 广东省新一代通信与网络创新研究院 | 一种用于实现分布式宽带的接入方法及系统 |
CN113612787B (zh) * | 2021-08-10 | 2023-05-30 | 浪潮思科网络科技有限公司 | 一种终端认证方法 |
CN113904856B (zh) * | 2021-10-15 | 2024-04-23 | 广州威戈计算机科技有限公司 | 认证方法、交换机和认证系统 |
CN115378636A (zh) * | 2022-07-11 | 2022-11-22 | 中国电子科技集团公司第三十研究所 | 一种sdn架构下虚拟网络接入鉴权系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595712A (zh) * | 2013-11-06 | 2014-02-19 | 福建星网锐捷网络有限公司 | 一种Web认证方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9094285B2 (en) * | 2013-01-25 | 2015-07-28 | Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. | Automatic discovery of multiple controllers in Software Defined Networks (SDNs) |
-
2015
- 2015-03-12 CN CN201510107751.8A patent/CN104702607B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595712A (zh) * | 2013-11-06 | 2014-02-19 | 福建星网锐捷网络有限公司 | 一种Web认证方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
《基于SPIN的802.1X协议形式化验证和改进》;郑强;《基于SPIN的802.1X协议形式化验证和改进》;20120615;论文正文部分第13页-第14页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104702607A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104702607B (zh) | 一种软件定义网络的接入认证方法、装置和系统 | |
CN107425983A (zh) | 一种基于web服务的统一身份认证方法及系统平台 | |
EP1655921A1 (en) | Apparatus and method for authenticating user for network access in communication system | |
CN107210916A (zh) | 条件登录推广 | |
CN110267270B (zh) | 一种变电站内传感器终端接入边缘网关身份认证方法 | |
CN103906052B (zh) | 一种移动终端认证方法、业务访问方法及设备 | |
CN108964885A (zh) | 鉴权方法、装置、系统和存储介质 | |
CN103780397A (zh) | 一种多屏多因子便捷web身份认证方法 | |
CN101695022B (zh) | 一种服务质量管理方法及装置 | |
CN104426656B (zh) | 数据收发方法及系统、消息的处理方法及装置 | |
CN109905374A (zh) | 一种面向智能家庭的具有隐私保护特性的身份认证方法 | |
CN1658547B (zh) | 密钥分发方法 | |
CN104009972B (zh) | 网络安全接入的认证系统及其认证方法 | |
CN104468618B (zh) | 基于传感器网络的xmpp协议安全接入方法 | |
CN102271134A (zh) | 网络配置信息的配置方法、系统、客户端及认证服务器 | |
CN109314693A (zh) | 验证密钥请求方的方法和设备 | |
CN106534050A (zh) | 一种实现虚拟专用网络密钥协商的方法和装置 | |
CN104901940A (zh) | 一种基于cpk标识认证的802.1x网络接入方法 | |
CN110611658B (zh) | 一种基于sd-wan的设备认证方法及系统 | |
CN109587100A (zh) | 一种云计算平台用户认证处理方法及系统 | |
CN110138779A (zh) | 一种基于多协议反向代理的Hadoop平台安全管控方法 | |
CN108966216A (zh) | 一种应用于配电网的移动通信方法及装置 | |
CN105978810A (zh) | 基于sdn的用户认证方法及系统 | |
CN102420808B (zh) | 一种在电信网上营业厅实现单点登录的方法 | |
CN106375123A (zh) | 一种802.1x认证的配置方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |