наличие защищенных линий связи, предназначенных для обмена ключами. Однако большинство пользователей не имеют доступа к защищенным линиям связи, поэтому для получения надежной защиты длина ключа должна быть не меньше длины самого сообщения (Leiss,1982). Тем не менее большинство эксплуатируемых систем построено на использовании ключей, которые короче самих сообщений. Одна из распространенных систем шифрования называется DES (Data Encryption Standard)в ней используется стандартный алгоритм шифрования, разработанный фирмой IBM. В этой системе для шифрования и дешифрования используется один и тот же ключ, который должен храниться в секрете, хотя сам алгоритм шифрования не является секретным. Этот алгоритм предусматривает преобразование каждого 64-битового блока обычного текста с использованием 56-битового ключа шифрования. Система шифрования DES расценивается как достаточно надежная далеко не всеми некоторые разработчики полагают, что следовало бы использовать более длинное значение ключа. Так в системе шифрования PGP (Pretty Good Privacy) используется 128-битовый симметричный алгоритм, применяемый для шифрования блоков отсылаемых данных.
В настоящее время ключи длиной до 64 бит раскрываются с достаточной степенью вероятности правительственными службами развитых стран, для чего используется специальное оборудование, хотя и достаточно дорогое. Тем не менее, в течение ближайших лет эта технология может попасть в руки организованной преступности, крупных организаций и правительств других государств. Хотя предполагается, что ключи длиной до 80 бит также окажутся раскрываемыми в ближайшем будущем, есть уверенность, что ключи длиной 128 бит в обозримом будущем останутся надежным средством шифрования. Термин «сильное шифрование» и «слабое шифрование» иногда используются для подчеркивания различий между алгоритмами, которые не могут быть раскрыты с помощью существующих в настоящее время
131
технологий и теоретических методов (сильные), и теми, которые допускают подобные раскрытия (слабые).
Другой тип систем шифрования предусматривает использование для шифровки и дешифровки сообщений различных ключей подобные системы принято называть несимметричными. Примером такой системы является система с открытым ключом, предусматривающая использование двух ключей, один из которых является открытым, а другой хранится в секрете. Алгоритм шифрования также может быть открытым, поэтому любой пользователь, желающий направить владельцу ключей зашифрованное сообщение, может использовать его открытый ключ и соответствующий алгоритм шифрования. Однако дешифровать данное сообщение сможет только тот, кто знает парный закрытый ключ шифрования. Системы шифрования с открытым ключом могут также использоваться для отправки вместе с сообщением “цифровой подписи”, подтверждающей, что данное сообщение было действительно отправлено владельцем открытого ключа. Наиболее популярной несимметричной системой шифрования является RSA (это инициалы трех разработчиков данного алгоритма). Как правило, симметричные алгоритмы являются более быстродействующими, чем несимметричные, однако на практике обе схемы часто применяются совместно, когда алгоритм с открытым ключом используется для шифрования случайным образом сгенерированного ключа шифрования, а уже этот случайный ключ для шифровки самого сообщения с применением некоторого симметричного алгоритма.
Вспомогательные процедуры
Хотя выше уже были описаны различные механизмы, которые могут использоваться для защиты данных в среде СУБД, сами по себе они не гарантируют необходимого уровня защищенности и могут оказаться неэффективными в случае неправильного применения или управления. По этой причине в данном разделе мы обсудим различные вспомогательные
132
процедуры, которые должны использоваться совместно с описанными выше механизмами защиты.
Авторизация и аутентификация
Выше в этой главе уже описывался механизм паролей, являющийся самым распространенным методом подтверждения личности пользователей. С точки зрения обеспечения необходимого уровня защиты очень важно, чтобы все используемые пароли держались пользователями в секрете и регулярно обновлялись через некоторый установленный интервал времени. В ходе процедуры регистрации в системе значение пароля не должно отражаться на экране, а списки идентификаторов пользователей и их паролей должны сохраняться в системе в зашифрованном виде. Кроме того, в организации должен использоваться некоторый стандарт для выбора допустимых значений пароля, например, все пароли должны быть не меньше установленной длины, обязательно содержать цифры и служебные символы, а также подлежать замене через установленный интервал времени (скажем, пять недель). Для выявления слабых паролей в системе следует использовать специальное программное обеспечение (например, в качестве пароля могут использоваться реальные имена или адреса пользователей, что недопустимо). Кроме того, специализированные программы могут применяться для выявления устаревших паролей.
Еще одним аспектом авторизации является разработка процедур, посредством которых конкретным пользователям предоставляются права доступа к различным объектам базы данных. Очень важно хранить историческую информацию о предоставлении прав пользователям, особенно если служебные обязанности пользователей меняются, и они перестают нуждаться в доступе к определенным массивам данных. В частности, если пользователь увольняется, чрезвычайно важно немедленно удалить его учетную запись и аннулировать все предоставленные ему права доступа, что позволит
133
своевременно пресечь любые возможные попытки нарушения защиты системы.
Копирование
Процедуры, регламентирующие процессы создания резервных копий, определяются типом и размерами эксплуатируемой базы данных, а также тем набором соответствующих инструментов, который предоставляется используемой СУБД. Эти процедуры должны включать необходимые этапы, на которых будет непосредственно выполняться создание резервной копии. Как уже указывалось выше, крупные базы данных могут полностью копироваться раз
внеделю или даже раз в месяц, но при этом следует организовать обязательное инкрементное копирование, выполняемые с более высокой частотой. День и час выполнения резервного копирования должен устанавливаться ответственными лицами.
Впроцедурах копирования также может указываться, какие еще части системы (например, прикладные программы), помимо самих данных, должны подлежать копированию. В зависимости от частоты внесения в систему изменений, в течение одних суток может выполняться несколько копирований; созданные копии должны помещаться в безопасное место. Место хранения последних копий должно быть оборудовано как минимум несгораемыми шкафами. Кроме того, желательно использовать некоторое внешнее хранилище,
вкоторое будет помещаться второй экземпляр созданных копий. Все упомянутые детали должны найти свое четкое отражение в разработанных процедурах резервного копирования, которые должны неукоснительно выполняться обслуживающим персоналом.
Восстановление
Как и процедуры копирования, процедуры восстановления также должны быть тщательно продуманны и проработаны. То, какие именно процедуры восстановления
134
будут выполняться, должно определяться типом имевшего места отказа (разрушение носителя, отказ программного обеспечения или отказ оборудования системы). Кроме того, процедурами восстановления должны учитываться особенности методов восстановления, принятых в используемой СУБД. В любом случае разработанные процедуры восстановления должны быть тщательно протестированы, поскольку необходимо получить полную гарантию, что они работают правильно, еще до того, как произойдет реальный отказ системы. В идеале, процедуры восстановления должны регулярно тестироваться с некоторым установленным интервалом.
Аудит
Одно из назначений процедуры аудита состоит в проверке того, все ли предусмотренные средства управления задействованы и соответствует ли уровень защищенности установленным требованиям. В ходе выполнения инспекции аудиторы могут ознакомиться с используемыми ручными процедурами, обследовать компьютерные системы и проверить состояние всей имеющейся документации на данную систему.
Все упомянутые процедуры и средства контроля (рис. 5.4) должны быть достаточно эффективными, в противном случае они должны быть подвергнуты пересмотру. Для определения активности использования базы данных анализируются ее файлы журнала. Эти же источники могут использоваться для выявления любых необычных действий в системе. Регулярное проведение аудиторских проверок, дополненное постоянным контролем содержимого файлов журнала с целью выявления ненормальной активности в системе, очень часто позволяет своевременно обнаружить и пресечь любые попытки нарушения защиты.
135