Контроль целостности данных. Оценка стойкости парольных систем.
Контроль целостности данных.
Целостность информации — термин в информатике (криптографии, теории телекоммуникаций, теории информационной безопасности), означающий, что данные не были изменены при выполнении какой-либо операции над ними, будь то передача, хранение или отображение.
В телекоммуникации целостность данных часто проверяют, используя хеш-сумму сообщения, вычисленную алгоритмом MAC (англ. message authentication code).
В криптографии и информационной безопасности целостность данных (в широком смысле) — это состояние информации, при котором отсутствует любое её изменение либо изменение осуществляется только преднамеренно субъектами, имеющими на него право.
Примеры нарушений целостности данных:
- попытка злоумышленника изменить номер аккаунта в банковской транзакции, или попытка подделки документа;
- случайное изменение информации при передаче или при неисправной работе жёсткого диска;
- искажение фактов средствами массовой информации с целью манипуляции общественным мнением.
В теории баз данных целостность данных означает корректность данных и их непротиворечивость. Обычно она также включает целостность связей, которая исключает ошибки связей между первичным и вторичным ключом.
Примеры нарушений целостности данных:
- существование записей-сирот (дочерних записей, не имеющих связи с родительскими записями);
- существование одинаковых первичных ключей.
Для проверки целостности данных в криптографии используются хеш-функции, например, MD5. Хеш-функция преобразует последовательность байт произвольного размера в последовательность байт фиксированного размера (число). Если данные изменятся, то и число, генерируемое хеш-функцией, тоже изменится.
Целостность данных — свойство, при выполнении которого данные сохраняют заранее определённый вид и качество.
Целостность информации (ресурсов автоматизированной информационной системы) — состояние информации (ресурсов автоматизированной информационной системы), при котором её (их) изменение осуществляется только преднамеренно субъектами, имеющими на него право.
Понятие «целостность объекта» (англ. integrity) используется как термин в теории информационной безопасности (ИБ). Под объектом понимают информацию, специализированные данные или ресурсы автоматизированной системы. Целостность информации (как ресурса автоматизированной системы) является одним из трёх основных свойств объекта ИБ.
Свойства объекта ИБ:
- доступность (англ. availability);
- целостность (англ. integrity);
- конфиденциальность (англ. confidentiality).
Оценка стойкости парольных систем.
В настоящее время на практике используется большое количество различных способов аутентификации пользователей. Однако из всего разнообразия методов можно выделить парольные системы аутентификации, которые являются самыми распространёнными. Применение паролей в информационных системах позволяет организовать разграничение доступа к ресурсам локальной или корпоративной сети. Кроме того, пароль можно также использовать для установления шифрованного канала между двумя собеседниками для передачи данных по сети. Однако из-за своей распространённости парольные системы в большей степени подвержены атакам злоумышленников.
Существует две основные проблемы, с которыми аутентификационные системы на основе паролей встречаются чаще всего. Во-первых, это человеческий фактор. Для полноценной защиты конфиденциальной информации используются длинные и сложные пароли, состоящие из случайного сочетания цифр, символов и специальных знаков. Такие пароли считаются надёжными, но пользователи не всегда способны их запомнить и использовать в корпоративных сетях или в личном пользовании.
Во-вторых, техническое несовершенство реализации парольных систем. Наиболее распространённой ошибкой является хранение паролей пользователей в открытом виде. В случае успешной проведённой атаки на такой сервис, злоумышленник может получить доступ к базе данных с логинами и паролями пользователей. Применение хэширования позволяет обезопасить данные пользователей даже в случае завладения ими третьей стороной.
Для снижения деструктивного влияния человеческого фактора необходимо определить минимально допустимые требования к используемым паролям. Существует несколько способов для количественной оценки надёжности пароля. Одним из таких методов является энтропия. Это мера неопределенности, которая измеряется в битах. Например, мера неопределенности, состоящая из 1-го бита, соответствует двум паролям, а пароль с энтропией в 32 бита потребует 232 (4 294 967 296) попыток, чтобы использовать все возможности во время перебора.
В общем случае информационная энтропия случайного пароля E определяется по формуле:
E = log2MN ,
где M - мощность алфавита паролей, N - длина пароля.
В таблице 1 приведены значения энтропии для некоторых комбинаций паролей, состоящих из цифр и латинского алфавита. Можно заметить, что разные по длине и мощности алфавита пароли имеют схожее значение энтропии. Например, пароль состоящий из 10 цифр эквивалентен паролю, содержащему 7 букв латинского алфавита без учёта регистра.
Таблица 1. Значения энтропии для некоторых длин паролей.
Количество символов в пароле |
Цифры |
Латинские буквы без учета регистра |
Латинские буквы с учетом регистра |
Цифры и латинские буквы без учета регистра |
Цифры и латинские буквы с учетом регистра |
6 |
19.9 |
28.2 |
34.2 |
31.0 |
35.7 |
7 |
23.3 |
32.9 |
39.9 |
36.2 |
41.7 |
8 |
26.6 |
37.6 |
45.6 |
41.4 |
47.6 |
10 |
33.2 |
47.0 |
57.0 |
51.7 |
59.5 |
11 |
36.5 |
51.7 |
62.7 |
56.9 |
65.5 |
12 |
39.9 |
56.4 |
68.4 |
62.0 |
71.5 |
Метрика на основе энтропии используется различными методами для расчета коэффициента надежности пароля. Одним из таких методов является Password Strength Tester. В зависимости от полученного значения энтропии, паролю присваивается соответствующая характеристика его стойкости (рис. 1 ).
Рисунок 1. Зависимость уровня стойкости пароля от значения энтропии.
Описание уровней стойкости:
- Очень слабый - разрешимо защищать только не ценную информацию;
- Слабый - данный тип паролей способен предотвратить атаку начинающих злоумышленников;
- Средний - пароли с уровнем «Средний» используются в корпоративных сетях;
- Высокий - пароль со статусом «Высокая сложность» используются для защиты конфиденциальной или финансовой информации;
- Сверхнадежный - пароль обладает очень большой стойкостью к подбору.
Качественно другая методика, позволяющая исключить коллизии, используется в анализаторе надёжности паролей Password Strength Meter. В процессе работы данного метода анализируется количество используемых символов, а именно количество английских символов в верхнем и нижнем регистре, цифр и специальных символов. В зависимости от их количества выставляются определенные коэффициенты.
Алгоритм расчета коэффициента надежности пароля с помощью Password Strength Meter состоит из следующих шагов:
1. Параметр надежности пароля приравнивается к нулю;
2. Если длина пароля не соответствует установленному минимальному порогу, то алгоритм прекращается, если пароль равен или больше минимального порога, то вес пароля увеличивается на величину 4*len, где len - длина пароля. Минимальный порог равен 4 символа в пароле;
3. На следующем шаге проводится сканирование пароля на наличие подряд идущих одинаковых символов, например, используя данный алгоритм к паролю «aaabbvad», результатом будет следующий пароль «abvad». После алгоритма сжатия пароля, происходит уменьшение веса пароля на величину len-len_compress, где len - исходная длина пароля, а len compress - длина пароля после сжатия. Процедура сжатия пароля происходит до тех пор, пока не удалятся все одинаковые подряд идущие символы. Важно, сжатие каждый раз производиться на проверяемом пароле, а не на строках, полученных в результате предыдущих сжатий;
4. После сжатия пароля происходит увеличение веса пароля по определенным параметрам:
- Наличие цифр;
- Наличие специальных символов;
- Наличие символов в верхнем и нижнем регистрах;
- Сочетание цифр и символов;
- Сочетание цифр и специальных символов;
- Сочетание символов и специальных символов;
Также возможно и уменьшение веса пароля по следующим параметрам (рис. 1):
- Пароль, состоящий только из цифр;
- Пароль, состоящий только из букв.
5. На следующем шаге работы алгоритма происходит нормализация: если вес пароля меньше 0, то установить его равным 0. Если больше 100, то установить равным 100;
Считается, что если стойкость анализируемого пароля меньше 34-х, то данный пароль является не надежным, и может использоваться только для защиты не конфиденциальной информации. Если вес пароля от 34 до 67, то пароль относится к категории «Хороший», а если более 67, то пароль считается надежным.
Рассмотренные метрики оценки стойкости паролей позволяют по определенному набору признаков дать количественную оценку стойкости пароля ко взлому. В зависимости от области применения критерии оценивания надежности могут меняться, однако минимальный набор требований к мощности алфавита и длине паролей в большинстве случаев совпадает: наличие цифр, символов в верхнем и нижнем регистрах, специальные символы, а длина пароля должна быть не менее 6 символов.