CYBER SECURITY β€’ FOUNDATIONS AND THREAT LANDSCAPE

AAA (Authentication, Authorization, Accounting) β€” Explain authentication, authorization, and accounting (AAA) (conceptual)

The triad that governs who you are, what you can do, and what you did on every secure network.

Historical Context & Motivation

Before the emergence of formalized access-control frameworks, early multi-user systems like UNIX time-sharing hosts relied on simple password files and rudimentary privilege bits to separate users from one another. As networks expanded from isolated mainframes to interconnected enterprise environments during the 1980s and 1990s, the need for a unified model of identity verification, permission enforcement, and activity tracking became impossible to ignore. Early dial-up Internet service providers faced mounting losses from unauthorized usage, while enterprises discovered that a compromised password could cascade into a full-network breach without any audit trail to trace the intrusion.

The AAA framework β€” standing for Authentication, Authorization, and Accounting β€” crystallized from this operational necessity. It provided a conceptual and architectural scaffold that separated three logically distinct but deeply interdependent concerns into cleanly defined services. Cisco Systems, Livingston Enterprises, and the IETF played pivotal roles in standardizing protocols that embodied this model, transforming ad-hoc security checks into a principled, auditable, and scalable architecture.

1970s
UNIX Password Model
Early multi-user systems stored hashed passwords in /etc/passwd, establishing the basic idea of verifying identity before granting shell access. Authorization was limited to owner/group/other permission bits.
1991
TACACS Introduced
BBN developed the original Terminal Access Controller Access-Control System (TACACS) for MILNET routers, centralizing authentication decisions on a dedicated server rather than on each individual device.
1997
RADIUS Standardized (RFC 2058/2059)
The IETF published RFCs for the Remote Authentication Dial-In User Service (RADIUS), which explicitly separated authentication, authorization, and accounting into distinct message types, giving the AAA model its canonical protocol.
2003
Diameter Protocol (RFC 3588)
As mobile networks demanded greater scalability, the Diameter protocol superseded RADIUS for 3G/4G carrier environments, retaining the AAA structure while adding reliable transport and richer attribute handling.
2010s–Present
Zero Trust & Identity-Centric AAA
Modern architectures like Zero Trust and cloud-native IAM platforms (OAuth 2.0, OpenID Connect) embed AAA principles at every micro-service boundary, not just the network perimeter.

The central question that the AAA framework addresses remains as relevant today as it was in the era of dial-up modems: How can a system reliably determine who is requesting access, decide what that entity is allowed to do, and maintain a tamper-evident record of everything that occurred? Understanding the answer requires examining each pillar of the triad in turn.

Core Principles & Definitions

The AAA framework decomposes secure access management into three sequentially dependent functions. Each function answers a distinct question, yet all three must operate in concert to provide a security posture that is both usable and auditable. A failure in any single pillar can undermine the guarantees provided by the other two: authentication without authorization leads to unconstrained access; authorization without accounting leaves no forensic trail; and accounting without proper authentication renders audit logs unreliable because subject identity cannot be trusted.

1

Authentication (AuthN)

Answers the question "Who are you?" The process of verifying a claimed identity using one or more authentication factors: something you know (password), something you have (token), or something you are (biometric). Successful authentication binds a session to a verified principal.
2

Authorization (AuthZ)

Answers the question "What are you allowed to do?" After identity is established, the system evaluates policies β€” such as access control lists (ACLs), role-based rules, or attribute-based policies β€” to determine which resources and operations the authenticated principal may access.
3

Accounting (Acct)

Answers the question "What did you do?" The system records session metadata β€” timestamps, resources accessed, bytes transferred, commands executed β€” into audit logs for billing, compliance, and forensic analysis.

Two additional concepts underpin the AAA model. Identification β€” the act of claiming an identity (e.g., entering a username) β€” is sometimes listed as a precursor step, making the model 'IAAA.' Meanwhile, non-repudiation is the property that emerges when strong authentication is coupled with comprehensive accounting: a user cannot credibly deny having performed a recorded action. Together, these supplementary concepts reinforce the integrity of the triad.

✦ KEY TAKEAWAY
Think of the AAA framework like passing through airport security. Authentication is showing your passport β€” proving your identity. Authorization is checking your boarding pass β€” confirming you're allowed on this specific flight to this specific gate. Accounting is the manifest the airline records β€” a log that you boarded, your seat assignment, and when you deplaned. Without any one of these, the system fails: an unverified passenger is a security risk, an unapproved passenger could board the wrong flight, and an unrecorded passenger creates liability gaps.

Visual Explanation β€” The AAA Flow

The following diagram illustrates the canonical AAA transaction flow. A client (supplicant) initiates an access request to a Network Access Server (NAS), which acts as a policy enforcement point. The NAS forwards credential data to a centralized AAA Server (such as a RADIUS or TACACS+ server). The server performs authentication against an identity store, returns authorization attributes (e.g., VLAN assignment, ACLs), and later receives accounting records that document the session lifecycle.

The diagram shows the five-step lifecycle: the client (left) presents credentials to the NAS, which proxies the authentication request to the AAA server (right). Upon acceptance, the AAA server returns authorization attributes. The NAS enforces those attributes and sends accounting start/stop records (dashed line) to the AAA server's audit database throughout the session.

Notice that the NAS functions as both a policy enforcement point (PEP) and a relay. It does not make authentication or authorization decisions autonomously in a centralized AAA deployment; instead, it delegates those decisions to the AAA server, which serves as the policy decision point (PDP). This separation of concerns is critical for scalability β€” a single RADIUS server can support thousands of NAS devices β€” and for security, because credentials never persist on the edge devices themselves.

How It Works β€” Protocols and Mechanisms

The AAA model is protocol-agnostic at the conceptual level, but two dominant protocols implement it in practice: RADIUS and TACACS+. Each takes a different architectural approach to separating the three A's, and understanding their mechanics reveals the design space of AAA implementations.

RADIUS β€” Combined AuthN/AuthZ, Separate Accounting

RADIUS, defined in RFC 2865/2866, operates over UDP (ports 1812 for authentication/authorization and 1813 for accounting). It combines authentication and authorization into a single Access-Request/Access-Accept exchange: the Access-Accept packet carries both the authentication verdict and the authorization attributes (such as VLAN IDs, ACL names, or session timeouts) as attribute-value pairs (AVPs). Accounting is handled by separate Accounting-Request packets with status types of Start, Interim-Update, and Stop. RADIUS encrypts only the user's password field within the Access-Request packet; the remainder of the packet (including authorization attributes) is transmitted in cleartext, a well-known limitation that modern deployments mitigate by wrapping RADIUS inside IPsec or TLS (RadSec, RFC 6614).

TACACS+ β€” Fully Separated AAA

TACACS+, a Cisco-proprietary protocol operating over TCP port 49, treats authentication, authorization, and accounting as three entirely independent exchanges. This granular separation allows an administrator to authenticate users against an LDAP directory while enforcing command-level authorization via a separate policy engine and shipping accounting records to a dedicated syslog collector. The entire TACACS+ packet body is encrypted (using a shared secret and MD5-based pseudo-pad), providing confidentiality for all three transaction types β€” a significant advantage over classic RADIUS in environments where authorization attributes themselves are sensitive.

Authentication Factor Categories

Regardless of the transport protocol, authentication relies on presenting one or more factors from distinct categories. When two or more factors from different categories are required, the system employs multi-factor authentication (MFA), dramatically reducing the probability of credential compromise because an attacker must independently defeat each factor.

Authentication factor taxonomy β€” the first three are classical; the last two are emerging.
Factor CategoryDescriptionExamples
Knowledge (Something you know)A secret memorized by the user.Password, PIN, security question
Possession (Something you have)A physical or digital artifact uniquely held by the user.Smartcard, TOTP app, FIDO2 security key
Inherence (Something you are)A biometric characteristic intrinsic to the user.Fingerprint, retina scan, voice pattern
Location (Somewhere you are)Geolocation or network-based constraint.GPS coordinates, source IP range
Behavior (Something you do)Patterns of interaction unique to the user.Keystroke dynamics, gait analysis
⚠️ MFA vs. Multi-Step Authentication
Requiring a password and then a security question is not true MFA β€” both are knowledge factors. Genuine MFA demands factors from at least two distinct categories, such as a password (knowledge) plus a TOTP code (possession).

Authorization Models & Accounting Detail

Once a user is authenticated, the authorization engine must determine the precise set of permissions to grant. Several formal models exist, each embodying different trade-offs between expressiveness, administrative overhead, and scalability. Understanding these models is essential because they determine how authorization policies are encoded, evaluated, and maintained across an organization.

Five common authorization models. DAC gives owners discretion; MAC uses system-enforced security labels; RBAC groups permissions into roles; ABAC evaluates rich attribute-based policies; and RuBAC applies global conditional rules. Modern systems often blend multiple models β€” for instance, AWS IAM uses ABAC policies with role assumption (RBAC).

Accounting Data Categories

The accounting component of AAA captures a range of session metadata. In RADIUS, these are conveyed through Accounting-Request packets with an Acct-Status-Type attribute that indicates Start (session begins), Interim-Update (periodic usage data), or Stop (session ends). The server typically stores these records in a relational database or forwards them to a SIEM for correlation. Key recorded attributes include session duration, octets transferred (input and output), the authenticated username, the NAS IP and port, and any vendor-specific attributes that capture command-level detail.

  • Session accounting: Start/stop timestamps, session ID, termination cause.
  • Usage accounting: Bytes in/out, packets in/out β€” essential for ISP billing.
  • Command accounting: Every CLI command executed on a managed device (TACACS+ specialty).
  • Event accounting: Failed login attempts, privilege escalation events, policy violations.

Worked Example β€” RADIUS AAA for Wi-Fi Access

Consider a university deploying WPA2-Enterprise Wi-Fi using 802.1X with a RADIUS back-end. A student, Alice, opens her laptop and attempts to connect to the 'UnivSecure' SSID. The following worked example traces the complete AAA lifecycle from association to session teardown.

AAA Lifecycle: Alice Connects to University Wi-Fi
1
Step 1 β€” IdentificationAlice's supplicant (e.g., wpa_supplicant on Linux) sends an EAPOL-Start frame to the wireless access point (AP). The AP responds with an EAP-Request/Identity frame, and Alice's device replies with her username: alice@univ.edu. At this point, Alice has identified herself but has not yet been authenticated.
Identity claimed: alice@univ.edu
2
Step 2 β€” AuthenticationThe AP (acting as the NAS) encapsulates Alice's EAP identity in a RADIUS Access-Request packet and forwards it to the university's FreeRADIUS server. The server initiates an EAP-TLS handshake: Alice's device presents a client certificate, and the RADIUS server validates it against the university CA. The server also presents its own certificate, which Alice's supplicant verifies. Because certificate-based authentication is a possession factor (the private key stored on her device), this constitutes single-factor authentication; the university could add a password prompt for MFA.
EAP-TLS mutual authentication succeeds. RADIUS server issues Access-Accept.
3
Step 3 β€” AuthorizationBundled within the Access-Accept packet, the RADIUS server includes authorization AVPs: Tunnel-Private-Group-Id = 100 (assigning Alice to VLAN 100, the student network), Session-Timeout = 28800 (8-hour session limit), and Filter-Id = "student-acl" (applying the student ACL that blocks access to administrative subnets). The AP enforces these attributes immediately.
Alice is placed on VLAN 100 with an 8-hour timeout and a restrictive ACL.
4
Step 4 β€” Accounting StartAs soon as Alice's session is established, the AP sends a RADIUS Accounting-Request with Acct-Status-Type = Start. This packet records the session ID, Alice's username, the AP's NAS-IP-Address, the NAS-Port (the radio interface), and the start timestamp. The RADIUS server logs this record to its PostgreSQL database and acknowledges with an Accounting-Response.
Accounting record created: session start at 2025-01-15T09:00:00Z.
5
Step 5 β€” Accounting Stop & Session TeardownAfter 3 hours, Alice closes her laptop. The AP detects the disassociation and sends a RADIUS Accounting-Request with Acct-Status-Type = Stop, including Acct-Session-Time = 10800 (seconds), Acct-Input-Octets = 524288000 (500 MB downloaded), and Acct-Terminate-Cause = User-Request. Security analysts can later query this accounting data for capacity planning, anomaly detection, or compliance audits.
Complete audit trail: Alice, VLAN 100, 3-hour session, 500 MB transferred, user-initiated disconnect.

RADIUS vs. TACACS+ β€” Strengths and Limitations

While both RADIUS and TACACS+ implement the AAA model, they differ significantly in architecture, security properties, and typical deployment contexts. The table below provides a systematic comparison across dimensions that matter most in protocol selection.

Key architectural differences between RADIUS and TACACS+.
DimensionRADIUSTACACS+
TransportUDP (1812/1813)TCP (49)
AAA SeparationAuthN + AuthZ combined; Accounting separateAll three fully separated
EncryptionPassword field only (without RadSec)Entire packet body encrypted
Primary Use CaseNetwork access (Wi-Fi, VPN, dial-up)Device administration (router/switch CLI)
GranularityCoarse β€” AVP-level policies per sessionFine β€” per-command authorization possible
StandardizationIETF RFCs (open standard)Cisco proprietary (documented but not IETF)
Multiprotocol SupportBroad β€” PPP, 802.1X, EAP, etc.Narrower β€” primarily Cisco IOS/NX-OS
✦ KEY TAKEAWAY
Think of RADIUS as a customs desk at an international airport: your passport check and visa stamp happen at the same counter (combined AuthN/AuthZ), and your entry is logged separately. TACACS+ is more like a high-security government facility where badge verification, clearance-level authorization, and activity logging each happen at different checkpoints with independent staff. The choice between them depends on whether you need the broad interoperability of RADIUS for network access or the per-command granularity of TACACS+ for device administration.

Connection to Zero Trust & Modern IAM

The traditional AAA model assumes a clear perimeter: authenticate at the edge, authorize once, and account for the session. Zero Trust Architecture (ZTA), as formalized by NIST SP 800-207, dissolves this perimeter assumption. In a Zero Trust environment, every request β€” not just the initial session β€” is subject to continuous AAA evaluation. Authentication becomes continuous and risk-adaptive, authorization is enforced at the individual resource level (micro-segmentation), and accounting must capture fine-grained telemetry from every micro-service interaction.

Evolution from perimeter-based AAA to Zero Trust AAA.
AspectTraditional AAAZero Trust AAA
AuthenticationOnce at session start (perimeter)Continuous; re-evaluated per request with context signals
AuthorizationStatic ACLs/roles assigned at loginDynamic ABAC policies; least-privilege per micro-service
AccountingSession-level start/stop recordsPer-request telemetry fed to SIEM/SOAR in real time
Trust ModelTrust-but-verify (implicit trust inside perimeter)Never trust, always verify
Key ProtocolsRADIUS, TACACS+, KerberosOAuth 2.0, OpenID Connect, SPIFFE/SPIRE, mTLS

Modern identity platforms like OAuth 2.0 and OpenID Connect (OIDC) can be viewed through the AAA lens: OIDC handles authentication by issuing ID tokens, OAuth 2.0 handles authorization by issuing scoped access tokens, and structured logging of token grants and API calls serves as the accounting layer. Service mesh frameworks like Istio embed mutual TLS authentication and fine-grained authorization policies at the sidecar proxy level, effectively distributing AAA enforcement to every hop in a micro-service architecture. As you advance into topics like identity federation, SAML assertions, and decentralized identity (DID), you will see that the AAA triad remains the conceptual skeleton onto which all of these technologies attach.

Practice Problems

PROBLEM 1 β€” CONCEPTUAL
A system requires users to enter a password and then answer a security question before granting access. Does this qualify as multi-factor authentication (MFA)? Explain your reasoning by identifying the factor categories involved.
PROBLEM 2 β€” BASIC CALCULATION
A RADIUS server receives an Accounting-Stop record with the following AVPs: Acct-Session-Time = 7200, Acct-Input-Octets = 1073741824, and Acct-Output-Octets = 268435456. Calculate the session duration in hours and the total data transferred in gigabytes (GB, using powers of 2).
PROBLEM 3 β€” INTERMEDIATE
An enterprise uses RADIUS for VPN access and TACACS+ for managing Cisco routers. A security engineer proposes consolidating everything onto RADIUS to reduce operational complexity. Identify at least two capabilities the organization would lose by abandoning TACACS+ and explain why each matters for router administration.
PROBLEM 4 β€” APPLIED
A cloud-native startup uses OAuth 2.0 and OpenID Connect for its micro-service architecture. Map each component of the AAA model to the corresponding OAuth 2.0/OIDC mechanism or artifact. Include specific token types and endpoints in your answer.
PROBLEM 5 β€” CRITICAL THINKING
In a Zero Trust Architecture, authentication is described as 'continuous.' Analyze how continuous authentication affects the accounting pillar of AAA. Specifically, discuss: (a) the volume and granularity of accounting data generated, (b) the privacy implications for users, and (c) how an organization might balance security with user privacy in its AAA policy design.

Summary

The AAA framework decomposes secure access management into three interdependent pillars. Authentication verifies identity through one or more factor categories (knowledge, possession, inherence, location, behavior), with multi-factor authentication (MFA) requiring factors from at least two distinct categories. Authorization determines permitted actions through models like DAC, MAC, RBAC, and ABAC. Accounting records session metadata β€” timestamps, data volumes, commands executed β€” for billing, compliance, and forensics.

Two canonical protocols implement AAA: RADIUS (UDP-based, combined AuthN/AuthZ, widely used for network access) and TACACS+ (TCP-based, fully separated AAA, preferred for device administration with per-command authorization). In modern architectures, the AAA model extends into Zero Trust environments where authentication is continuous, authorization is per-request, and accounting generates rich telemetry β€” a natural evolution of the same three questions the framework has always asked: Who are you? What can you do? What did you do?

Varsity Tutors β€’ Cyber Security β€’ AAA (Authentication, Authorization, Accounting)