首页 > 代码库 > 哈希表 之 接入与身份认证技术概述

哈希表 之 接入与身份认证技术概述

1 概述

随着信息化的高速发展,对国家、组织、公司或个人来说至关重要的信息越来越多的通过网络来进行存储、传输和处理,为获取这些关键信息的各种网络犯罪也对应急剧上升。

当前,网络安全在某种意义上已经成为一个事关国家安全。社会经济稳定的重大问题。得到越来越多的重视。

在网络安全中。身份认证技术作为第一道,甚至是最重要的一道防线。有着重要地位,可靠的身份认证技术能够确保信息仅仅被正确的“人”所訪问。身份认证技术提供了关于某个人或某个事物身份的保证。这意味着当某人(或某事)声称具有一个特别的身份时,认证技术将提供某种方法来证实这一声明是正确的。

本文主要从局域网接入和接入用户身份认证的角度,讨论经常使用的认证机制、认证协议,以及採用这些认证技术的不同接入协议。

2 认证技术概述

身份认证可分为用户与系统间的认证和系统与系统之间的认证。身份认证必须做到准确无误地将对方辨认出来。同一时候还应该提供双向的认证。眼下使用比較多的是用户与系统间的身份认证,它仅仅需单向进行,仅仅由系统对用户进行身份验证。随着计算机网络化的发展,大量的组织机构涌入国际互联网,以及电子商务与电子政务的大量兴起。系统与系统之间的身份认证也变得越来越重要。

身份认证的基本方式能够基于下述一个或几个因素的组合:

所知(Knowledge):即用户所知道的或所掌握的知识,如口令;

全部(Possesses):用户所拥有的某个秘密信息。如智能卡中存储的用户个人化參数,訪问系统资源时必需要有智能卡;

特征(Characteristics):用户所具有的生物及动作特征,如指纹、声音、视网膜扫描等。

依据在认证中採用的因素的多少,能够分为单因素认证、双因素认证、多因素认证等方法。

身份认证系统所採用的方法考虑因素越多,认证的可靠性就越高。

3 认证机制与协议

一般而言。用于用户身份认证的技术分为两类:简单认证机制和强认证机制。简单的认证中认证方仅仅对被认证方的名字和口令进行一致性的验证。因为明文的password在网上传输极easy被窃听,一般解决的方法是使用一次性口令(OTP。One-Time Password)机制。

这样的机制的最大优势是无需在网上传输用户的真实口令,而且因为具有一次性的特点,能够有效防止重放攻击。RADIUS协议就是属于这样的类型的认证协议。

强认证机制一般将运用多种加密手段来保护认证过程中相互交换的信息,当中。Kerberos协议是此类认证协议中比較完好、较具优势的协议,得到了广泛的应用。

以下简介一些经常使用的认证机制与协议。

3.1 经常使用的认证机制

3.1.1 基于口令的身份认证机制

基于口令的身份认证技术因其简单易用,得到了广泛的使用。

但随着网络应用的深入和网络攻击手段的多样化,口令认证技术也不断发生变化,产生了各种各样的新技术。

最常採用的身份认证方式是基于静态口令的认证方式,它是最简单、眼下应用最普遍的一种身份认证方式。但它是一种单因素的认证,安全性仅依赖于口令,口令一旦泄露。用户就可以被冒充。同一时候易被攻击。採用窥探、字典攻击、穷举尝试、网络数据流窃听、重放攻击等非常easy攻破该认证系统。相对静态口令,动态口令也叫一次性口令。它的基本原理是在用户登录过程中,基于用户口令增加不确定因子。对用户口令和不确定因子进行单向散列函数变换。所得的结果作为认证数据提交给认证server。认证server接收到用户的认证数据后,把用户的认证数据和自己用相同的散列算法计算出的数值进行比对,从而实现对用户身份的认证。在认证过程中,用户口令不在网络上传输,不直接用于验证用户的身份。动态口令机制每次都採用不同的不确定因子来生成认证数据。从而每次提交的认证数据都不相同。提高了认证过程的安全性。

3.1.2 挑战/响应认证机制

挑战/响应方式的身份认证机制就是每次认证时认证server端都给client发送一个不同的“挑战”码,client程序收到这个“挑战”码。依据client和server之间共享的密钥信息。以及server端发送的“挑战”码做出对应的“应答”。server依据应答的结果确定是否接受client的身份声明。

从本质上讲,这样的机制实际上也是一次性口令的一种。

一个典型的认证步骤例如以下图所看到的:

技术分享

认证过程为:

1) 客户向认证server发出请求,要求进行身份认证;

2) 认证server从用户数据库中查询用户是否是合法的用户。若不是。则不做进一步处理;

3) 认证server内部产生一个随机数,作为“挑战”码。发送给客户;

4) 客户将username字和随机数合并,使用单向Hash函数(比如MD5算法)生成一个字节串作为应答。

5) 认证server将应答串与自己的计算结果比較,若二者同样。则通过一次认证;否则。认证失败。

6) 认证server通知客户认证成功或失败。

3.1.3 EAP认证机制

EAP(Extensible Authentication Protocol)扩展认证协议在RFC2248中定义,是一个普遍使用的认证机制,它常被用于无线网络或点到点的连接中。EAP不仅能够用于无线局域网。并且能够用于有线局域网,但它在无线局域网中使用的更频繁。EAP实际是一个认证框架,不是一个特殊的认证机制。EAP提供一些公共的功能,并且同意协商所希望的认证机制。这些机制被称为EAP方法。

因为EAP方法除了IETF定义了一部分外。厂商也能够自己定义方法,因此EAP具有非常强的扩展性。

IETF的RFC中定义的方法包含EAP-MD5、EAP-OTP、EAP-GTC、EAP-TLS、EAP-SIM和EAP-AKA等。无线网络中经常使用的方法包含EAP-TLS、 EAP-SIM、 EAP-AKA、 PEAP、LEAP和EAP-TTLS。眼下EAP在802.1X的网络中使用广泛。可扩展的EAP方法能够为接入网络提供一个安全认证机制。

3.2 公钥认证机制

随着网络应用的普及,对系统外用户进行身份认证的需求不断添加。即某个用户没有在一个系统中注冊,但也要求可以对其身份进行认证。尤其是在分布式系统中,这样的要求格外突出。这样的情况下,公钥认证机制就显示出它独特的优越性。

公钥认证机制中每一个用户被分配给一对密钥,称之为公钥和私钥,当中私钥由用户保管,而公钥则向全部人公开。用户假设可以向验证方证实自己持有私钥,就证明了自己的身份。当它用作身份认证时,验证方须要用户方对某种信息进行数字签名,即用户方以用户私钥作为加密密钥。对某种信息进行加密,传给验证方。而验证方依据用户方预先提供的公钥作为解密密钥,就行将用户方的数字签名进行解密,以确认该信息是否是该用户所发。进而认证该用户的身份。

公钥认证机制中要验证用户的身份,必须拥实用户的公钥,而用户公钥是否正确。是否是所声称拥有人的真实公钥,在认证体系中是一个关键问题。经常使用的办法是找一个值得信赖并且独立的第三方认证机构充当认证中心(Certificate Authority,CA),来确认声称拥有公开密钥的人的真正身份。

要建立安全的公钥认证系统,必须先建立一个稳固、健全的CA体系。尤其是公认的权威机构。即“Root CA”,这也是当前公钥基础设施(PKI)建设的一个重点。

3.3 使用认证机制的认证协议

很多协议在向用户或设备授权訪问和訪问权限之前须要认证校验,通常要用到认证相关的机制。前面讨论了经常使用的认证机制,本节介绍使用这些认证机制的协议,这些协议包含RADIUS、TACACS、Kerberos、LDAP等。RADIUS和TACACS通经常使用在拨号环境中,Kerberos是在校园网中用的比較多的协议。

LDAP提供一种轻量级的文件夹服务,严格来说不能算作一种认证协议,而对用户进行认证授权仅仅是LDAP的一种应用。

3.3.1 RADIUS认证协议

RADIUS(Remote Authentication Dial In User Service)协议最初是由Livingston公司提出的,目的是为拨号用户进行认证和计费。后来经过多次改进。形成了一个通用的AAA协议。

RADIUS协议认证机制灵活,可以支持各种认证方法对用户进行认证。可以採用上述不论什么一种认证机制。

RADIUS是一种可扩展的协议。它进行的所有工作都是基于属性进行的,因为属性可扩展性,因此非常easy支持不同的认证方式。

RADIUS协议通过UDP协议进行通信。RADIUSserver的1812port负责认证。1813port负责计费工作。採用UDP的基本考虑是由于NAS和RADIUSserver大多在同一个局域网中。使用UDP更加快捷方便。

3.3.2 TACACS认证协议

TACACS(Terminal Access Controller Access Control System)最先是由BBN为MILNET开发的一种基于UDP的訪问控制协议,一些厂商对协议进行了扩展。终于形成了一种新的AAA协议,当中CISCO公司对TACACS协议多次进行增强扩展,眼下成为TACACS+协议,H3C在TACACS(RFC1492)基础上进行了功能增强。形成了H3C扩展的TACACS协议。

不管TACACS、TACACS+还是H3C扩展TACACS协议。其认证、授权和计费是分离的,而且与原始TACACS协议相比。TACACS+和HWTACACS能够使用TCP作为传输层协议,port号为49。

TACACS+同意随意长度和内容的认证交换,与RADIUS一样,具有非常强的扩展性,而且client能够使用不论什么认证机制。因为TACACS+的认证与其它服务是分开的,所以认证不是强制的。这点与RADIUS是不同的。

3.3.3 Kerberos认证协议

在一个分布式环境中,採用上述两种认证协议时。假设发生账号修改的情况,每台机器上的都要进行对应的账号修改。工作量很大。

Kerberos是MIT为解决分布式网络认证而设计的可信第三方认证协议。

Kerberos基于对称password技术。网络上的每一个实体持有不同的密钥。是否知道该密钥便是身份的证明。

网络上的Kerberos服务起着可信仲裁者的作用,可提供安全的网络认证。Kerberos常见的有两个版本号:第4版和第5版。眼下使用的标准版本号是版本号5。

Kerberos是一种受托的第三方认证服务,它是建立在Needham和Schroeder认证协议基础上。它要求信任第三方。即Kerberos认证server(AS)。AS为客户和server提供证明自己身份的票据以及两方安全通信的会话密钥。Kerberos中另一个票据授予server(TGS)。TGS向AS的可靠用户发出票据。除客户第一次获得的初始票据是由Kerberos认证server签发外,其它票据都是由TGS签发的,一个票据能够使用多次直至期限。客户方请求服务方提供一个服务时。不仅要向服务方发送从票据授予server领来的票据,同一时候还要自己生成一个鉴别码(Authenticator,Ac)一同发送,该证是一次性的。

3.3.4 LDAP协议

LDAP(Lightweight Directory Access Protocol)是基于X.500标准的,可是比X.500简单,而且能够依据须要定制。与X.500不同,LDAP支持TCP/IP,这对訪问Internet是必须的。LDAP是一个文件夹服务协议,眼下存在众多版本号的LDAP,而最常见的则是V2和V3两个版本号,它们分别于1995年和1997年首次公布。一般在分布式、跨平台认证的场景下,LDAP比前面介绍的认证协议具有一定优势。

LDAP协议严格来说并不属于单纯认证协议,对用户进行授权认证是LDAP协议的一个典型应用。比如Microsoft的Windows操作系统就使用了Active Directory Server来保存操作系统的用户、用户组等信息。用于用户登录Windows时的认证和授权。

文件夹服务事实上也是一种数据库系统,仅仅是这样的数据库是一种树形结构。而不是通常使用的关系数据库。文件夹服务与关系数据库之间的主要差别在于:二者都同意对存储数据进行訪问,仅仅是文件夹主要用于读取,其查询的效率非常高。而关系数据库则是为读写而设计的。

所以LDAP协议非常适合数据库相对稳定。而查询速度要求比較高的认证场合。

4 接入认证技术

以上介绍了常见的认证技术,这些认证技术与不同的局域网接入技术结合,能够实现对接入用户的认证授权,从而实现对局域网接入用户的訪问控制。在局域网中对接入用户的认证控制,已成为网络安全的重要组成部分。眼下在局域网中常见的接入认证技术包含802.1X、Portal、MAC地址认证等。本节简介这些经常使用的局域网接入认证技术,详细协议细节以及实现原理在兴许文章中会有对应介绍。

4.1 IEEE 802.1X接入认证技术

802.1X协议是为解决无线局域网网络安全问题而提出来的。可是随着该技术的广泛应用,眼下802.1X协议作为局域网接入控制机制在以太网中被广泛应用,主要解决以太网内认证和安全方面的问题。

802.1X协议是一种基于port的网络接入控制协议。“基于port的网络接入控制”是指。在局域网接入设备的port这一级,对所接入的用户设备通过认证来控制对网络资源的訪问。802.1X能够与不同的认证协议结合实现对接入用户的认证。眼下在使用802.1X接入时常与RADIUS配合实现对接入用户的认证与授权。

802.1X技术能够扩展到基于MAC地址对用户接入进行控制,即对共用同一个物理port的多个用户分别进行认证控制。另外H3C对802.1X接入协议进行了扩展。与EAD解决方式结合,加强了对用户的集中管理。提升了网络的总体防御能力。

4.2 Portal接入认证技术

Portal技术通常也称为Web认证技术,一般将Portal认证站点称为门户站点。

Portal认证是一种三层网络接入认证,在认证之前用户首先要获取地址,这点与802.1X不同。未认证用户上网时。设备强制用户登录到特定站点。用户能够免费訪问当中的服务。当用户须要使用互联网中的其他信息时,必须在门户站点进行认证,仅仅有认证通过后才干够使用互联网资源。

不同的组网方式下,可採用的Portal认证方式不同。

依照网络中实施Portal认证的网络层次来分。Portal的认证方式分为两种:二层认证方式和三层认证方式。

前者在二层接口上启用Portal功能。而后者是在三层接口上启用Portal功能。

眼下H3C Portal除了支持Web认证方式之外,还支持client方式的Portal认证,这样Portal协议就能够与EAD解决方式结合,提供端点接入控制,从而提高网络的安全性。

4.3 MAC接入认证技术

MAC地址认证是一种基于port和MAC地址对用户的网络訪问权限进行控制的认证方法,是一种二层网络接入认证技术,与802.1X以及Portal不同,用户不须要安装不论什么client软件就可进行认证。设备在启动了MAC地址认证的port上首次检測到用户的MAC地址以后,即启动对该用户的认证操作。认证过程中,不须要用户手动输入username或者password。若该用户认证成功。则同意其通过port訪问网络资源,否则该用户的MAC地址就被加入为静默MAC。在静默时间内(可通过静默定时器配置),来自此MAC地址的用户报文到达时,设备直接做丢弃处理。以防止非法MAC短时间内的反复认证。

4.4 Triple接入认证技术

在client形式多样的网络环境中,不同client支持的接入认证方式有所不同。为灵活地适应这样的网络环境中的多种认证需求,须要在接入用户的port上对多种认证方式进行统一部署,使得用户能够选择不论什么一种适合的认证机制来进行认证,且仅仅须要成功通过一种方式的认证就可以实现接入。无需通过多种认证。

Triple认证方案可满足以上需求,同意在设备的二层port上同一时候开启Portal认证、MAC地址认证和802.1X认证功能,使得选用当中随意一种方式进行认证的client均可通过该port接入网络。

5 结束语

用户身份识别与认证是网络安全的重要组成部分,对接入用户进行身份认证,是保障网络安全的重要环节。本文简介了常见认证机制、认证协议以及接入认证技术。相关内容的具体介绍。请參考兴许文章。

哈希表 之 接入与身份认证技术概述