суббота, 25 сентября 2010 г.

ISSP \ Домен 06. Криптография. Часть 7

В этой части рассмотрены следующие вопросы:
  • Управление ключами
  • Принципы управления ключами
  • Правила использования ключей и управления ключами
  • Канальное и сквозное шифрование


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

Многие администраторы знают, что управление ключами – самая большая головная боль при внедрении криптографии. Объем работ по поддержке и сопровождению ключей значительно превышает объем работ по их использованию для шифрования сообщений. Ключи должны безопасно распространяться уполномоченным пользователям и постоянно обновляться. Они должны надежно защищаться при их передаче и хранении на рабочих станциях и серверах. Ключи должны генерироваться, уничтожаться и восстанавливаться безопасным образом. Управление ключами может быть организовано вручную или с помощью автоматического процесса.

Хранение ключей выполняется и до, и после их передачи. Пользователь, при получении ключа, должен не просто бросить его на свой рабочий стол – он обязан разместить ключ в безопасном месте своей файловой системы для его надежного хранения и исключения возможности бесконтрольного использования. Ключ, алгоритм, использующий этот ключ, настройки и параметры сохраняются в модуле, который также должен быть хорошо защищен. Если атакующий сможет получить доступ к этим компонентам, он сможет выдавать себя за другого пользователя, чтобы получить возможности расшифровывать, читать или перешифровывать предназначенные для этого пользователя сообщения.

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

При использовании протокола Kerberos (описанного в Домене 02), для хранения, распространения и сопровождения криптографических сеансов и секретных ключей применяется Центр распространения ключей (KDC). Это пример автоматизированного метода распространения ключей. Компьютер, которому нужен доступ к определенному сервису на другом компьютере, запрашивает этот доступ через KDC. KDC генерирует сеансовый ключ, который используется при взаимодействии запрашивающего компьютера с компьютером, предоставляющим запрашиваемый сервис или ресурс. Автоматизация этого процесса снижает вероятность ошибок, которые не редко случаются при ручной работе, однако если Служба предоставления билетов (TGS, являющаяся частью KDC) скомпрометирована, все компьютеры и их сервисы становятся подвержены возможной компрометации.

В некоторых случаях, управление ключами по-прежнему выполняется вручную. Многие компании используют криптографические ключи, но, к сожалению, они редко меняют их, что может быть вызвано как раз трудностями в процессе управления ключами, либо чрезмерной загруженностью сетевого администратора другими задачами, или его непониманием реальной важности выполнения регулярной смены ключей. Частота, с которой следует менять криптографические ключи, напрямую связана с частотой их использования. Чем чаще используется ключ, тем выше вероятность его перехвата и компрометации. Если ключ используется очень редко, этот риск существенно снижается. Кроме частоты использования ключей, на необходимую частоту их смены также указывает требуемый уровень безопасности. Криптографические ключи, используемые для передачи информации, типа приглашения на ужин в ресторане, могут меняться, например, раз в месяц, тогда как ключи, используемые для защиты военной информации, должны меняться ежедневно или еженедельно. Также, следует обратить внимание на безопасность самих методов смены ключей.

Управление ключами – это наиболее сложная часть криптографии и, в то же время, наиболее критичная. Это нужно учитывать при разработке сложных алгоритмов и методов работы с ключами, но если ключи хранятся или передаются небезопасным образом, стойкость используемого алгоритма не имеет никакого значения.


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

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

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

Восстановление ключей с резервных копий может потребоваться во множестве различных случаев. Например, в зашифрованной папке на компьютере Боба хранятся все важные расчеты цен, информация по биржевым индексам, а также презентация по анализу корпоративных трендов, завтра с утра необходимая высшему руководству. А Боб, так некстати, упал и сломал руку… Но кто-то же должен получить доступ к этим данным вместо него. Другой пример – из компании увольняется сотрудник, на компьютере которого хранятся важные зашифрованные документы. Вероятно, компании позднее потребуется получить доступ к этим данным. Или вице-президент положил дискету со своим закрытым ключом в ящик стола, вместе с мощным магнитом. Он не намерен выслушивать лекцию об электромагнитных полях и их воздействии на носители информации, ему срочно нужен доступ к важной информации.

Конечно, наличие дополнительных экземпляров ключа увеличивает вероятность его компрометации, поэтому компания должна решить, действительно ли нужны резервные копии, и, если они все-таки необходимы, внедрить соответствующие меры для их недежной защиты. Компания может внедрить систему коллегиального аварийного восстановления ключей, в которой при необходимости восстановления ключа, требуется участие нескольких человек одновременно (2-3 или более). Они должны ввсести свои закрытые ключи или аутентифицироваться иным способом для восстановления утраченного ключа. При этом эти люди не должны быть сотрудниками одного подразделения (например, Департамента ИТ). Желательно, чтобы среди них были руководители, представители безопасности и кто-то из Департамента ИТ. Коллегиальное восстановление ключей снижает вероятность злоупотреблений, поскольку для этого необходим сговор двух или более людей.


Крайне важно обеспечить надлежащую защиту процесса управления ключами. К процессу управления ключами предъявляются следующие требования:
  • Длина ключа должна быть достаточно большой для обеспечения необходимого уровня защиты.
  • Ключи должны храниться и передаваться безопасными способами.
  • Ключи должны быть абсолютно случайными, а алгоритмы их генерации должны полностью использовать все доступное ключевое пространство.
  • Срок действия ключа должен соответствовать критичности защищаемых им данных. Менее критичные данные можно защищать ключом с большим сроком действия, тогда как критичные данные требуют использования ключей с коротким сроком действия.
  • Чем чаще используется ключ, тем короче должен быть срок его действия.
  • Должна быть создана резервная копия ключа, либо дубликат ключа должен быть передан на хранение независимой третьей стороне (escrowed) на случай чрезвычайной ситуации.
  • Ключи должны надлежащим образом уничтожаться, когда завершается срок их действия.


Шифрование может выполняться различными способами и на различных коммуникационных уровнях. Существует два основных режима реализации шифрования – канальное шифрование и сквозное шифрование. При канальном шифровании (link encryption) зашифровываются все данные, передаваемые по определенному коммуникационному маршруту, например, по спутниковой линии связи, линии Т3, телефонной линии. При этом шифруется не только пользовательская информация, но и заголовки, окончания, адреса, данные маршрутизации – шифрованию подлежит все содержимое передаваемых пакетов. В этой технологии не шифруется только трафик управляющих сообщений канального уровня, который включает в себя команды и параметры, используемые различными канальными устройствами для синхронизации процесса коммуникаций. Канальное шифрование обеспечивает защиту от перехвата пакетов и прослушивания сети. При сквозном шифровании (end-to-end encryption) информация в заголовках, адреса, данные маршрутизации и окончания не шифруются, что позволяет атакующим получить значительно больше информации из перехваченных пакетов и их заголовков.

Канальное шифрование, которое иногда называют шифрованием в режиме реального времени (online encryption), обычно реализуется провайдерами услуг и является частью сетевых протоколов. Поскольку вся информация зашифрована, пакеты должны расшифровываться на каждом узле (таком, как маршрутизатор) или ином промежуточном устройстве, чтобы этот узел мог принять решение, куда дальше отправлять этот пакет. Маршрутизатор должен расшифровать заголовок пакета, считать из него информацию маршрутизации и адреса, а затем снова зашифровать его и отправить дальше.

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

Сквозное шифрование обычно инициируется компьютером отправителя. Сквозное шифрование предоставляет больше гибкости для пользователей, позволяя им самим решать, нужно ли шифровать то или иное сообщение. Такое шифрование называется сквозным, поскольку сообщение остается в зашифрованном виде на всем своем пути от отправителя до получателя.

Канальное шифрование выполняется на канальном и физическом уровнях, как показано на Рисунке 6-25. Аппаратные устройства шифрования работают на физическом уровне, шифруя все проходящие через них данные. В этом случае атакующему не доступны никакие части данных, поэтому атакующий не может получить важную информацию о потоках данных в сети. Это называют безопасностью потока траффика (traffic-flow security).

Рисунок 6-25. Канальное и сквозное шифрование выполняются на различных уровнях модели OSI


ПРИМЕЧАНИЕ. Узел (hop) – это устройство, которое помогает пакету достичь пункта своего назначения. Обычно это маршрутизатор, который анализирует адреса пакета, чтобы решить, куда его следует отправить далее. Обычно пакет проходит через множество узлов между компьютерами отправителя и получателя.


Шифрование на различных уровнях. В действительности, шифрование может выполняться на разных уровнях операционной системы и сетевого стека. Ниже приведено несколько примеров:
Следующий список описывает преимущества и недостатки методов сквозного и канального шифрования.

Преимущества сквозного шифрования:
  • Пользователям предосталяется больше гибкости в выборе того, что шифровать и как.
  • Обеспечивается высокая детализация функциональности, т.к. каждое приложение или пользователь могут выбрать специфические настройки.
  • Не требуется, чтобы у каждого компьютера в сети был ключ для расшифрования каждого пакета.
Недостатки сквозного шифрования:
  • Не зашифровывается информация заголовков, адреса, информация маршрутизации - эта информация не защищена.
Преимущества канального шифрования:
  • Все данные зашифрованы, включая заголовки, адреса и информацию маршрутизации.
  • Пользователям ничего не нужно делать, чтобы это выполнялось. Шифрование выполняется на нижнем уровне модели OSI.
Недостатки канального шифрования:
  • Распространение ключей и управление ими становится сложной задачей, т.к. каждое устройство должно получить ключ. При смене ключа он должен обновляться на каждом устройстве.
  • Пакеты расшифровываются на каждом узле, поэтому существует много точек потенциальных уязвимостей.
  • Канальное шифрование препятствует выполнению анализа трафика.

Программные и аппаратные криптографические системы. Шифрование может выполняться с помощью программного или аппаратного обеспечения, у каждого варианта есть свои преимущества и недостатки. Обычно, программные реализации дешевле, но медленнее аппаратных. Программные криптографические методы может быть существенно проще изменять и отключать по сравнению с аппаратными системами, но это зависит от конкретного программного приложения и аппаратного устройства.
Если компании нужно выполнять функции шифрования на высокой скорости, для нее более предпочтительны аппаратные решения.

Ссылки по теме:



Комментариев нет: