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.

A protected digital shield with binary code and a secure lock for cyber security
Inside this lesson 10 sections 5 questions 5 figures

SECTION 1

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.

SECTION 2

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.

SECTION 3

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.

Client(Supplicant)👤NAS / Authenticator(Policy Enforcement)AuthN CheckAuthZ ApplyAcct RecordAAA Server(RADIUS / TACACS+)Identity StorePolicy EngineAudit Database1. Credentials2. AuthN Request3. Accept + AuthZ attrs4. Access Granted5. Acct Start/StopAAA Transaction FlowClient → NAS → AAA Server lifecycleAuthenticationAuthorizationAccountingDashed line indicates asynchronous accounting records sent during and after the session.
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.

SECTION 4

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.

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

Authentication factor taxonomy — the first three are classical; the last two are emerging.

⚠

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).

SECTION 5

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.

Authorization Models ComparisonDACDiscretionary Access Control• Owner sets permissions• ACL-based• Flexible but riskye.g., UNIX file permsMACMandatory Access Control• System-enforced labels• Lattice-based model• Strict, non-overridee.g., SELinux, MLSRBACRole-Based Access Control• Roles aggregate perms• Users assigned to roles• Scalable managemente.g., Active DirectoryABACAttribute-Based Access Control• Policies over attributes• Context-aware decisions• Highly expressivee.g., XACML, AWS IAMRuBACRule-Based Access Control• Global IF-THEN rules• Time/condition triggers• Often combined w/ RBACe.g., Firewall ACLs
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.

SECTION 6

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. 1

    Step 1 — Identification

    Alice'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. 2

    Step 2 — Authentication

    The 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. 3

    Step 3 — Authorization

    Bundled 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. 4

    Step 4 — Accounting Start

    As 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. 5

    Step 5 — Accounting Stop & Session Teardown

    After 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.

SECTION 7

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.

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 architectural differences between RADIUS and TACACS+.

✦

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.

SECTION 8

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.

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

Evolution from perimeter-based AAA to Zero Trust AAA.

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.

SECTION 9

Practice Problems

Question 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.
Show answer
No, this is not true MFA. Both a password and a security question fall under the knowledge factor category ('something you know'). Genuine MFA requires factors from at least two distinct categories — for example, a password (knowledge) combined with a TOTP code from an authenticator app (possession). Using two knowledge factors is 'multi-step' authentication but does not materially improve security because a single class of attack (e.g., social engineering or phishing) could compromise both.

Question 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).
Show answer
Session duration: 7200 seconds ÷ 3600 seconds/hour = 2 hours. Input octets: 1,073,741,824 bytes = 1 GiB (since 2³⁰ = 1,073,741,824). Output octets: 268,435,456 bytes = 0.25 GiB (since 2²⁸ = 268,435,456). Total transfer: 1 + 0.25 = 1.25 GiB. These accounting records enable ISP billing (usage-based pricing), capacity planning, and anomaly detection — for instance, an unusually large output-to-input ratio might indicate data exfiltration.

Question 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.
Show answer
First, the organization would lose per-command authorization. TACACS+ can intercept each CLI command a network administrator types and evaluate it against a policy before execution — for example, allowing 'show' commands but blocking 'configure terminal' for junior staff. RADIUS lacks this granularity; authorization is session-level. Second, the organization would lose full-packet encryption. TACACS+ encrypts the entire packet body, protecting authorization attributes and command strings in transit. Classic RADIUS only encrypts the password field, meaning sensitive authorization data (ACL names, VLAN assignments) travels in cleartext unless RadSec (RADIUS over TLS) is deployed. For device administration where commands can reconfigure the network, these capabilities are critical for enforcing least-privilege and maintaining audit integrity.

Question 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.
Show answer
Authentication: Handled by the OpenID Connect (OIDC) layer. The Identity Provider's /authorize and /token endpoints issue an id_token (a signed JWT) that asserts the authenticated user's identity with claims like 'sub', 'email', and 'iss'. The user authenticates via a login form, biometric, or federated IdP. Authorization: Handled by OAuth 2.0 access tokens. The authorization server issues scoped access_tokens (e.g., scope: 'read:orders write:inventory') that micro-services validate at their API gateways or sidecar proxies. Accounting: There is no single standard artifact. Accounting is implemented through structured logging of token issuance events, API gateway access logs (capturing request URI, token claims, response code, latency), and SIEM ingestion of these logs for audit and compliance. The startup might also use the /introspection endpoint to record token revocation events.

Question 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.
Show answer
(a) Continuous authentication generates orders of magnitude more accounting data than session-based AAA. Instead of one Accounting-Start and one Accounting-Stop record per session, every micro-service request may produce an audit entry containing user identity, device posture, geolocation, risk score, resource accessed, and decision outcome. This creates a high-cardinality telemetry stream that demands scalable storage (e.g., distributed log systems like Kafka + Elasticsearch) and real-time analytics pipelines. (b) The privacy implications are significant: continuous accounting effectively creates a detailed behavioral profile of each user — which resources they accessed, at what times, from which locations, and with which device state. Under regulations like GDPR, this constitutes personal data processing and requires a lawful basis, data minimization, and defined retention periods. (c) Organizations can balance security and privacy by applying purpose limitation (only log attributes necessary for security decisions, not all available telemetry), data minimization (aggregate or pseudonymize identifiers in long-term storage), tiered retention (keep detailed logs for 30 days, aggregated summaries for 1 year), and transparency (informing users what is logged and why through a clear privacy notice). Risk-adaptive authentication can also reduce accounting burden: low-risk requests need only lightweight logging, while high-risk requests trigger detailed capture.

SUMMARY

Summary

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)