Authentication, Authorization 和 Accounting
用户通过许多设备获取访问数据网络和网络资源的权限. 这个发生在一个大范围的硬件上. 以太网交换机, Wi-Fi access points, 和VPN服务器都提供网络访问.
当这些设备用来控制网络访问, 例如一个带有WPA2企业版安全实现的WiFi access point或者一个带有802.1x(EAP)的基于端口的认证的以太网交换机, 他们被称做一个NAS(Network Access Server).
所有这些设备需要进行一些形式的控制来确保合适的安全和使用. 这个要求通常被描述为AAA(Authentication, Authorization和Accounting). AAA有时也被称为"三A框架"(Triple A Framework). AAA是一个高层次的架构模型, 可以被用各种方法实现.
AAA是通过许多RFC来指定的. 一般的AAA架构是在RFC2903上指定的. 也有许多RFC涵盖不同的AAA方面.
Authentication
Authentication通常是考虑的第一步, 为了获取网络访问和他提供的服务. 这是一个过程用来确认是否Alice提供的credential是有效的. 提供credential的最常见的方式是通过用户名和密码. 其他方式像one-time token, certificate, PIN numbers, 或者甚至biometric scanning也可以使用.
在成功authentication之后一个session被初始化. 这个session持续直到网络连接被终止掉.
Alice是谁?
Alice和Bob是占位名. 事实上, 有一个完整的角色集合, 每一个代表一个指定的角色. 我们将会使用下面的占位名:
- Alice: 一个想要访问我们网络的用户.
- Bob: 另一个想要访问我们网络的用户.
- Isaac: ISP(Internet Service Provider)/我们的网络
更多的介绍: http://en.wikipedia.org/wiki/Alice_and_Bob
下图通过使用从ATM提取资金的常见活动作为示例说明了认证过程。 这实际上可以让您访问银行的网络(尽管它极其有限)。
Authorization
Authorization是一种Isaac控制资源使用的方式. 在Alice已经authenticate了她自己之后, Isaac可以强加某些限制或者授予某些权利. Isaac可以例如检查Alice从哪台设备访问网络和基于这点来做出决定. 他可以限制Alice可以拥有的打开的session的个数, 给她一个预先决定的IP地址, 只允许某些流量通过, 或者甚至执行QoS基于一个SLA(Service Level Agreement, 服务级别协议).
Authorization通常包含逻辑. 如果Alice是学生组的一部分那么在工作时间没有网络访问权限. 如果Bob通过一个captive portal访问网络, 那么一个带宽限制被强加来阻止他超量使用网络连接.
逻辑可以基于许多事情. Authorization决定例如可以基于组成员或者你连接的NAS或者甚至你访问资源是星期几.
如果我们采用之前的ATM示例,我们可以看到,如果Alice没有透支工具,她将受限于她可以提取的金额。
Accounting
Accounting是一种测量资源使用量的方式. 在Isaac已经确定谁是Alice并且在建立的session上强加合适的控制, 他也可以测量她的使用量. Accounting是测量使用量的不间断的过程.
这允许Isaac来跟踪Alice花费了多少时间和资源在一个建立的session上. 获取accounting数据允许Isaac来对Alice的资源进行计费, 趋势分析, 和行为监视.
当Alice想要检查她的使用量和可取出的钱, ATM提供这个功能. Isaac银行也可以监视他的账户和发现是否她经常在月底前花光. 他们然后可以提供给他一个透支机制.
RADIUS是一种协议用来提供在TCP/IP网络上的AAA. 下一节将会继续更多关于RADIUS协议的内容.