Триада CIA: конфиденциальность, целостность, доступность

Любую меру безопасности можно объяснить через три свойства: конфиденциальность, целостность и доступность.

Триада CIA (Confidentiality, Integrity, Availability) — базовая модель, описывающая три ключевых свойства, которые защищает информационная безопасность.

Конфиденциальность (Confidentiality)

Данные видят только те, кому это разрешено. Ваш пароль не должен быть доступен другим пользователям, а медицинская карта — постороннему. Инструменты обеспечения конфиденциальности: шифрование, разграничение доступа (права, роли), аутентификация.

Нарушение конфиденциальности — это утечка. Например, база данных с открытым доступом в интернет, из которой кто угодно скачивает записи пользователей.

Целостность (Integrity)

Данные нельзя незаметно изменить. Если злоумышленник подменит сумму банковского перевода или текст договора, а система этого не заметит — нарушена целостность. Защищают целостность хэш-функции, цифровые подписи, контроль версий, проверки на стороне сервера.

Классический пример: при скачивании файла сайт публикует его хэш (контрольную сумму). Вы считаете хэш у себя и сравниваете — совпал, значит файл не подменили по дороге.

Доступность (Availability)

Система работает, когда нужна легитимным пользователям. Самая защищённая база данных бесполезна, если сервис «лежит». Доступность обеспечивают резервные копии, отказоустойчивость, резервирование серверов, защита от перегрузки.

Атака, цель которой — сделать сервис недоступным (перегрузить его запросами), бьёт именно по доступности.

Три свойства часто конфликтуют

Усиливая одно, легко ослабить другое. Если зашифровать данные очень сложным образом и потерять ключ — пострадает доступность (вы сами не прочитаете данные). Если сделать вход максимально удобным без пароля — пострадает конфиденциальность. Хорошая архитектура — это поиск баланса под конкретную задачу.

СвойствоВопрос, на который отвечаетЧем защищают
КонфиденциальностьКто может прочитать данные?шифрование, права доступа, аутентификация
ЦелостностьНе подменили ли данные?хэши, подписи, проверки на сервере
ДоступностьРаботает ли система?бэкапы, резервирование, защита от перегрузки

Проверка целостности на практике

Хэш — короткий «отпечаток» данных. Изменишь хоть один символ — отпечаток полностью меняется. Запустите пример и убедитесь сами:

import hashlib

original = "Перевести 100 рублей Алисе"
tampered = "Перевести 900 рублей Алисе"

h1 = hashlib.sha256(original.encode()).hexdigest()
h2 = hashlib.sha256(tampered.encode()).hexdigest()

print("Исходный хэш :", h1[:16], "...")
print("Хэш подделки :", h2[:16], "...")
print("Совпадают?   :", h1 == h2)

Вывод:

Исходный хэш : 83bd430b8d3868df ...
Хэш подделки : d945d4dca466d7ef ...
Совпадают?   : False

Даже одна изменённая цифра дала совершенно другой хэш — значит, подмену легко обнаружить.

Итог

  • Конфиденциальность — кто видит данные.
  • Целостность — не подменили ли их.
  • Доступность — работает ли система, когда нужна.
  • Свойства конфликтуют; задача архитектора — найти баланс.
Проверьте себя
1. Какое свойство триады CIA нарушается при утечке базы данных пользователей?
AЦелостность
BДоступность
CКонфиденциальность
DАутентичность
2. Чем чаще всего проверяют целостность файла при скачивании?
AСравнением размера в байтах
BСравнением хэша (контрольной суммы)
CПроверкой имени файла
DЗапросом у пользователя
3. Атака, перегружающая сервер запросами до отказа, бьёт прежде всего по...
Aконфиденциальности
Bцелостности
Cдоступности
Dприватности паролей
4. Почему свойства CIA называют конфликтующими?
AОни вообще не связаны между собой
BУсиление одного свойства часто ослабляет другое
CИх нельзя обеспечить одновременно никогда
DОни противоречат закону
Поддержать проект