第27卷第12期 2010年12月 计算机应用与软件 Computer Applications and Software V01.27 No.12 Dec.201O 基于真实IPv6源地址的网络接入认证技术研究 禹 龙 田生伟 (新疆大学网络中心新疆乌鲁木齐830046) (新疆大学信息科学与工程学院新疆乌鲁木齐830046) 摘要 提出了一种新的基于真实IPv6源地址的网络安全接入认证方法。此方法在IPv6无状态地址自动配置过程中加入 802.1X认证技术,只有经过授权的节点才能获得IPv6全局地址,同时改进了802.IX认证流程,使管理者可以主动获得节点用户的 全局IPv6地址。该方法既保留了IPv6“即插即用”的优点,又从源头上保证接入网络的安全性。 关键词 IPv6真实源地址认证 NETWoRK ACCESS AUTHENTICATIoN BASED oN REAL IPv6 SOURCE ADDRESS Yu Long Tian Shengwei。 (Network Center,Xinjiang University,Ummqi 830046,Xinjiang,China) (Institute ofInformation ̄ienee and Engineering Technology,Xinjiang University,Urumqi 830046,Xinjiang,China) Abstract This paper proposes a new security access authentication method based on real IPv6 source address network,this method adds 802.1 X authentication technology in the process of IPv6 stateless address autoconfiguration,only authorized node can access IPv6 global address,improves the 802.1X authentication process so that managers can take the initiative to get global IPv6 address of the user node.This method not only retains the IPv6”plug and play”advantage,and also ensures the security of access networks from the source. Keywords IPv6 Real source address Authentication 然,DHCP必须升级以支持IPv6地址,即DHCPv6。作为有状态 0 引 言 自动配置协议,它要求安装和管理DHCP服务器,并要求接受 DHCP服务的每个节点都必须在服务器上进行配置。DHCP服 基于IPV4网络的认证不强调真实源地址认证,仅强调信息 务器保存着要提供配置信息的节点列表,如果节点不在列表中, 发到哪里,不强调信息从哪里来,造成了很多网络安全问题,其 该节点就无法获得IP地址。DHCP服务器还保持着使用该服 应用产生了信任危机。IPv6引入以后,在协议安全性上有了显 务器的节点的状态,因为该服务器必须了解每个IP地址使用的 著的提高,但它仍然没有完全解决源地址欺骗所带来的安全问 时间,以及何时IP地址可以进行重新分配。有状态自动配置的 题。因此,基于源地址欺骗的网络攻击,尤其是拒绝服务攻击, 问题在于,用户必须保持和管理特殊的自动配置服务器以便管 仍是IPv6网络的主要安全威胁之一。真实的地址和标识是可 理所有“状态”,即所容许的连接及当前连接的相关信息。 信任网络的基础和前提,真实IPv6地址是可信任下一代互联网 1.3无状态地址自动配置 的基础,IPv6网络对用户进行接入控制成为越来越重要的安全 IPv5的无状态地址自动配置允许个人节点能够确定自己 管理措施,如何保证数据的真实地址仍然是IPv6网络用户安全 的IP配置,而不必向服务器显式请求各节点的信息,同时要求 接入的重要课题之一。 本地链路支持组播,而且网络接口能够发送和接收组播。无状 态自动配置对主机使用的IPv6地址做如下结构性假设:一个主 1 IPv6地址配置技术 机的IPv6地址是由前缀和接口ID组成,实现动态配置就是实 现这两个部分的动态配置。IPv6前缀的实际作用是标识主机 1.1手工地址配置 与路由器之间的网络,所以一般来讲主机需要的这个前缀就是 IPv6手工地址配置方法与IPv4中的静态地址配置相似,用 路由器接口的前缀。为了自动获得这个前缀,需要在路由器和 户可以在主机上手工配置IPv6全局地址,配置操作取决于不同 主机之间运行一个无状态配置协议。这里需要用到ND(Neigh. 操作系统的具体实现。IPv6手工配置操作不如IPv4静态地址 bor Discovery)协议的Router Solicatation和Router Advertisement 配置直观,对用户要求较高,所以IPv6手工地址配置方法在 消息,前者用于发现路由器,并促使路由器发送Router Adver. IPv6网络管理中使用较少。 收稿日期:2010—07—05。新疆自治区高校科研计划项目(XJEDU 1.2有状态地址自动配置 2009S08);新疆大学校院联合基金资助项目(XY080156)。禹龙,副教 IPv6有状态地址自动配置方法与IPv4中的DHCP相似,当 授,主研领域:计算机智能技术,计算机网络。 122 计算机应用与软件 2010血 tisement消息通报前缀信息。对于接口ID,IEEE EUI一64规范 是其中最重要的一种生成方法,将48比特的MAC地址转化为 64比特的接口ID,MAC地址的唯一性保证了接口ID的唯一 性,此操作也是节点自动生成,不需人为干预。 连接到交换机端口上的用户/设备进行认证。在认证通过之前, 802.1X只允许EAPOL(基于局域网的扩展认证协议)数据通过 设备连接的交换机端口;认证通过以后,正常的数据可以顺利地 通过以太网端口。 无状态自动配置对用户来说操作简单,即插即用,但此方法 802.1 x协议在实现整个安全认证的过程中,其三个关键部 对得到IP地址的节点提供最低程度的监视。 2现有IPv6网络接入认证技术分析 2.1 DHCPv6+AAA DHCPv6(dynamic host configuration protocol version 6)是动 态主机配置协议,用于TCP/IP网络上的客户机获得IPV6网络 地址信息和其它非地址信息。为进一步保证安全性,通常采用 AAA(authentication authorization accounting,认证、授权和计费) 服务器和DHCPv6服务器联合对节点的身份进行验证。DH— CPv6+AAA为节点安全接入IPv6网络提供了一种可行的方式, 能够对客户进行可靠的配置,通用性好,但缺点是:涉及到DH— CPv6和AAA两种技术,复杂性高,用户需要经过两次IP地址 分配,登录时间长。集中式的网络结构降低了网络的扩展性能。 2.2包过滤 包过滤技术是指在网络层对数据包进行分析、选择,通过检 查数据流中每一个数据包的源地址、目的地址、所用端口号及协 议状态等因素或它们的组合来确定是否允许该数据包通过。其 优点是仅用一台路由器就可以保护整个网络,不需要用户软件 的支撑,包过滤工作对用户来讲是透明的。但缺点是:IPv6包 过滤很难做好,尤其当安全需求定义得不好且不细致的时候更 是如此,访问权限的查找会降低路由器的转发速度,有些协议不 适合使用包过滤,有些安全规则难以用包过滤规则实现。 2.3基于认证的IPv6无状态地址自动配置 在IPv6原有的无状态地址自动配置过程中的路由请求、路 由宣告阶段加入认证机制,使合法用户获得IPv6地址,同时拒 绝非法用户进入网络。认证信息可以在路由请求、路由宣告报 头中的保留位和扩展选项中加入。修改后的路由发现过程是, 节点首先向本地链路上的所有路由器发出路由请求包,其中包 含认证信息,路由器收到路由请求包后,把它转发给一个专门的 认证服务器,由认证服务器对节点的身份进行验证,若认证成 功,路由器将向节点响应路由宣告包,其中包含网络前缀信息, 否则路由宣告包中不包含网络前缀信息。此方案保留了IPv6 即插即用的优点,也解决了它“对节点的最低程度的监视”的缺 点,但是需要在IPv6节点和路由器上使用定制开发的IPv6模 块,同时,由于此方法仅仅是在网络前缀的获得上加入了认证, 网络管理者并不知道用户的真实、完整的IPv6全局地址,无法 保证源地址的真实性,所以依然无法满足网络管理以及网络安 全的需要。 3新的基于IPv6无状态地址自动配置的802.1X 认证方法 3.1 802.1X认证技术 802.1X协议是基于Client/Server的访问控制和认证协议。 它可以限制未经授权的用户/设备通过接入端口访问LAN/ MAN。在获得交换机或LAN提供的各种业务之前,802.1X对 分(客户端、认证系统、认证服务器)之间是通过通信协议进行 交互的,EAPOL、EAP、RADIUS三个协议在实现8021X过程中起 到了关键作用,EAP协议使得客户端系统可以采取灵活的认证 方式与认证服务器建立连接实现认证,而EAPOI 协议保证了 EAP认证信息在以太网络环境中的完整传输,RADIUS协议则 利用了对EAP的扩展属性实现EAP信息再次封装,从而可以穿 越复杂的异构网络到达认证服务器系统;在具体的实现过程中, 认证系统扮演了双重角色,即对客户端系统来说是认证服务代 理,而对认证服务系统来说则充当了客户端系统代理的角色,换 言之,对认证服务系统来说,并不需要知道认证信息是通过什么 方式传递到客户端,它只关心对认证方式的选择和对认证信息 的解析以及与用户数据库交互,同理对客户端系统来说也不需 要知道认证信息是如何传输到认证服务器的,它只关心对认证 方式的选择、用户信息的输入等,通过这种方式可以将三个协议 很好的融合、运用。 3.2 IPV6无状态地址自动配置下的802.1X认证流 程设计 IPV6 1I ・ l帆 诳:服务器 图1 lPv6无状态地址自动配嚣下的802.1X认证流程 如图1所示,网络环境为纯IPv6环境,其中认证接人设备 一呲 管理地址也支持IPv6地址设置,IPv6主机和RADIUS服务器也 运行在纯IPv6协议栈下。图1所示的认证流程描述如下: (1)刚接入IPv6网络的节点处于初始状态,该节点接口只 有测试用的本地链路地址用以申请路由通告以及进行网络地址 重复检测使用。此时认证接入设备连接于该节点的授权端口是 断开的,节点发送的邻居请求消息无法发送到IPv6路由器,同 时路由器定时发送的路由器通告该节点也无法接收。此时节点 只能发送IEEE802.1X客户端请求进行认证。 (2)NAS接收到客户端发送过来的EAPOL—Start报文后, 发送EAPOL—Identity以及EAPOL—MDSChallenge对用户进行用 户标识以及用户密码相关信息的收集。 (3)NAS在接收到客户端按照CHAP协议发送过来的密码 信息后通过RADIUS客户端转发给RADIUS服务器。请求对该 用户进行认证。 (4)在RADIUS服务器根据接收到的信息认证以后,通过 接受到的信息和本地信息进行比较,如果符合本地存储信息,则 发送RADIUS Success报文,反之则发送RADIUS—Failure报文。 (5)如果认证成功,打开该节点连接的授权端口,同时记录 (下转第147页) 第12期 郑芳:ASP.NET中验证和授权的原理和设计 147 器可以获得客户端用户的全局IPv6地址。网络管理者则可以 通过全局IPv6地址与用户名的绑定关系追溯到人。 3.3技术实现 在上述认证方法中,所涉及的802.1X认证中的3个角色客 户端、认证系统(NAS)、认证服务器都要做相应的改进。 图2登录页面 通过以上的设计,基于IPv6协议的802.1X客户端软件需要 上传用户最终的IPv6地址,由于IPv6地址采用的是无状态自动 配置方式,因此需要客户端软件随时获得接口目前的地址状态。 通过用户选择某一网卡的方式,获得该网卡的MAC地址,在接收 到认证设备端发送过来的请求IPv6地址消息以后,该客户端软 件会获得目前所有接口的IPv6地址,然后查询特定MAC地址的 输入用户名和密码,点击登录按钮后:(1)如果满足验证和 授权信息,则路径转到请求页面“http://localhost:1038/WineOn— lineShop/admin/AdminCategory.aspx”。(2)如果不满足验证和 授权中的任何一个,则依然显示登录页面。 实验2状态:已登录,此时,当在地址栏中输入:“http:// localhost:1038/WineOnlineShop/admin/AdminCategory.aspx”。将 接口的目前IPv6地址状态,并发送不以re80::(本地链路地址前 缀)、fee0::(本地站点地址前缀)作为前缀的全局IPv6地址。 认证设备端应该需要改进完成以下几点功能:认证设备端 (NAS)起到了对端口进行控制以及作为RADIUS客户端与RA— DIUS服务器交互的作用。接收来自认证客户端的EAPOL协议 直接显示本页面的内容,不提示登录框,即路径不发生改变。 5结束语 本文详细分析了HttpApplieation类的事件的执行时机和功 (此协议为数据链路层协议),同时能够在IPv6协议下作为RA— DIUS的客户端向RADIUS服务器发送认证请求。认证设备端 需要设置一个定时器,在用户通过首次密码认证后启动计时器, 能后,找出了处理验证和授权的事件,解决了权限管理系统中的 关键性技术问题。 参考文献 经过一个路由器通告间隔后,认证设备端会发送一个ID和IPv6 地址请求,请求客户端端发送刚刚配置好的全局IPv6地址。 目前的RADIUS版本并不支持在IPv6地址下监听,因此需 要对它进行相应的改进,主要包括:首先修改其监听套接字使其 支持IPv6地址,并提高对NAS请求的响应速度。其次根据 RFC3162中对IPv6下相应属性的定义,增加认证服务器对IPv6 [1]Sandhu R,Bhamidipati V,Munawer Q.The ARBAC97 model for role based administration of roles『J].ACM Transactions on Information and System Security,1999,2(1):105—135. [2]单徐梅,虞慧群.基于RBAC的工作流管理系统授权约束方法 [J].计算机工程,2010,36(4):152—154. [3]http://msdn.microsoft.com/en—us/library/system.web.httpapplica— tion.aspx. 属性的支持,以及对认证接入设备相关IPv6属性的支持。 4 总 结 本方案将802.IX认证技术应用于IPv6环境,在IPv6环境 下实现了基于端口的网络访问控制管理,同时适应了IPv6地址 获得的新特性。基于IPv4协议的认证系统,其网络状况(包括 IPv4地址)管理者在客户端主动连接之前是已知的。而IPv6下 的“即插即用”特性破坏了这一管理上的便利,它的“无状态地 [4]戴瑞,沃特森.ASP.NET电子商务实战[M].人民邮电出版社, 2010.233 (上接第122页) 当前时间StartTime。此时客户端发送的路由请求以及邻居请求 报文可以发送到IPv6路由器。 (6)路由器在接收到节点发送过来的路由器请求后,会马 上回应一个路由器通告消息。由于此时客户端的授权端日已经 被连通,该通告消息会传送到IPv6客户端,客户端通过接收到 的路由器通告配置本节点接口全局地址。 址自动配置方式”使得管理者无法主动获得节点的IPv6地址, 本文所提出的方案解决了这方面的问题。最终从源头上解决了 以真实源地址安全接人IPv6网络的问题。提出的方案虽然是 针对固定节点的IPv6的接入需求进行设计,但对于移动节点的 IPv6的接入认证,有一定借鉴价值。 在新疆Cernet2IPV6试验床的测试应用中,该方案在安全性 接人方面显示了优异性能,验证该方案得可行。 (7)NAS在“StartTime+路由器设置发送路由器通报消息 问隔”时刻再次发送EAPOL—Identity请求报文,要求客户端重新 发送用户名和配置好的全局IPv6地址。 (8)客户端回应EAPOL—Identity报文,附带“用户名+全局 IPv6地址”。 参考文献 (9)NAS把包含用户名以及IPv6全局地址的EAP响应包 重新封装在Radius协议包中并由RADIUS客户端发送至Radius 服务器。 1]Motta G H M B.Furuie S S.A Contextua1 Ro1e—based Access Control Authorization Model for Electronic Patient Record[J].IEEE Transac- tions on,2005,7(3):202—207. (10)RADIUS服务器在接收到用户的详细认证信息后,将 用户名与用户全局IPv6地址做以动态绑定,或与本地原有绑定 [2]Rigney C,Wikllens S,Rubens A.Remote Authentication Dial In User Service(RADIUS).IETF RFC 2865,2005:22—41. 信息进行比较,如果符合本地存储信息,则发送RADIUS—Success 报文,反之则发送RADIUS—Failure报文,强制该用户下线。 在此认证流程中,使用了IPv6无状态地址自动配置的方 [3]隆晓波.RADIUS服务器的实现[D].电子科技大学,2004. [4]胡薇.移动JPv6中计费系统的设计与实现[D].电子科技大学,2OY5. [5]李兴峰.IPv4/IPv6协议分析及过渡策略研究与实现[D].北京交 通大学,2005. 法,同时通过在802.1X认证流程中加入2次认证,使认证服务 [6]高嵩.基于IPv6的认证计费系统设计及实现[D].北京交通大学,2OO6.