Cyber Security CIA Triad

The CIA Triad — Confidentiality, Integrity, and Availability — is the core model security professionals use to describe what they are trying to protect and why.

The Three Pillars of Security

Whenever security professionals discuss protecting a system, they are almost always talking about one of three properties: keeping information confidential, keeping it accurate, or keeping it available. Together these three properties form the CIA Triad, a simple but powerful way to reason about what you are protecting and what could go wrong.

Confidentiality

Confidentiality means that information is only visible to the people and systems authorized to see it. Encryption, access controls, and authentication all exist mainly to enforce confidentiality. If an attacker reads a database of customer emails they were never meant to access, that is a confidentiality failure — even if they don't change a single record.

Integrity

Integrity means information stays accurate and unaltered except by authorized action. A confidentiality breach is about who can see data; an integrity breach is about whether the data can be trusted. If an attacker doesn't read your bank balance but quietly changes it, or modifies a software update before you install it, that's an integrity violation.

Availability

Availability means authorized users can access the systems and data they need, when they need them. A system can be perfectly confidential and perfectly accurate and still fail this test if it's offline. Denial-of-service attacks, hardware failures, and even a misconfigured update can all be availability problems.

PillarGoalExample ThreatExample Control
ConfidentialityOnly authorized parties can view dataAn attacker steals a database of passwordsEncryption at rest, strict access control
IntegrityData stays accurate and unalteredAn attacker alters a financial transaction in transitDigital signatures, checksums, audit logs
AvailabilitySystems stay usable when neededA DDoS attack floods a web serverRedundancy, load balancing, rate limiting

Example: Verifying Integrity with a Checksum

# A vendor publishes the expected hash of a file so you can verify it hasn't been tampered with
expected_hash = "3a7bd3e2360a3d29eea436fcfb7e44c7"
actual_hash = sha256("installer.exe")

if actual_hash == expected_hash:
    print("Integrity verified: the file matches what the vendor published")
else:
    print("Warning: the file may have been altered or corrupted in transit")
Note: The three pillars often trade off against each other. Locking a system down with heavy encryption and multiple approval steps can strengthen confidentiality and integrity while hurting availability — for example, an overly aggressive spam filter that blocks legitimate emails. Good security design balances all three rather than maximizing one at the expense of the others.
  • Some frameworks extend the Triad with related ideas worth knowing: authenticity (proving who really sent something), non-repudiation (preventing someone from denying an action they took), and accountability (tracing actions back to a specific user).
  • Whatever framework is used, almost every security control you'll study in this course exists to protect one or more of confidentiality, integrity, and availability.