Что значит идентификация пользователя. Идентификация и аутентификация, управление доступом. Вопросы корректности идентификации объекта доступа

13 июня 2007 г. 10:51

А.Щеглов, К.Щеглов

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

Требования нормативных документов к механизму идентификации и аутентификации

Прежде всего, напомним основные понятия. Идентификация - это процесс распознавания элемента системы, обычно с помощью заранее определенного идентификатора или другой уникальной информации - каждый субъект или объект системы должен быть однозначно идентифицируем. Аутентификация - это проверка подлинности идентификации пользователя, процесса, устройства или другого компонента системы (обычно осуществляется перед разрешением доступа).

Прежде всего, обратимся к формализованным требованиям в области защиты информации, попробуем в них найти ответ на вопрос, какими же функциями должен быть наделен механизм идентификации и аутентификации? Формализованные требования к механизму идентификации и аутентификации пользователей задаются действующим сегодня нормативным документом "Гостехкомиссия России. Руководящий документ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от НСД к информации".

Для СЗИ от НСД, используемых для защиты конфиденциальной информации (5 класс СВТ) требования к механизму идентификации и аутентификации состоят в следующем:

● Комплекс средств защиты информации (КСЗ) должен требовать от пользователей идентифицировать себя при запросах на доступ.

● КСЗ должен подвергать проверке подлинность идентификации - осуществлять аутентификацию.

● КСЗ должен располагать необходимыми данными для идентификации и аутентификации.

● КСЗ должен препятствовать доступу к защищаемым ресурсам неидентифицированных пользователей и пользователей, подлинность идентификации которых при аутентификации не подтвердилась.

Видим, что, выдвигается требование, состоящее в необходимости идентификации и аутентификации пользователя именно при запросах на доступ.

Заметим, что в требованиях к СВТ 4-го класса защищенности вообще задачи идентификации и аутентификации пользователя при входе в систему и при запросе на доступ разделены на две самостоятельные задачи, кроме того, здесь появляется некое понятие "субъект" в общем виде.

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

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

Задача идентификации и аутентификации субъекта "пользователь" при запросах на доступ

Этапы идентификации и аутентификации пользователя, реализуемые ОС Windows

Этапы идентификации и аутентификации пользователя, реализуемые в системе (на примере ОС Windows), представлены на рис. 1.

Первый шаг идентификации, поддерживаемый режимом аутентификации, реализуется при входе пользователя в систему. Здесь следует выделить возможность входа в штатном и в безопасном режиме (Safe Mode). В порядке замечания отметим, что принципиальным отличием безопасного режима является то, что при запуске системы в безопасном режиме можно отключить загрузку сторонних по отношению к системе драйверов и приложений. Поэтому, если в системе используется добавочная СЗИ от НСД, можно попытаться загрузить систему в безопасном режиме без компонент СЗИ от НСД, т.е. без средства защиты. С учетом же того, что загрузить систему в безопасном режиме может любой пользователь (в Unix системах – только Root), то СЗИ от НСД должна обеспечивать возможность входа в систему в безопасном режиме (после идентификации и аутентификации) только под учетной записью администратора.

Второй шаг состоит в запуске пользователем процессов, которые уже, в свою очередь, порождают потоки (именно потоки в общем случае и осуществляют обращение к ресурсам). Все работающие в системе процессы и потоки выполняются в контексте защиты того пользователя, от имени которого они так или иначе были запущены. Для идентификации контекста защиты процесса или потока используется объект, называемый маркером доступа (access token). В контекст защиты входит информация, описывающая привилегии, учетные записи и группы, сопоставленные с процессом и потоком. При регистрации пользователя (первый шаг, см. рис. 1) в системе создается начальный маркер, представляющий пользователя, который входит в систему, и сопоставляющий его с процессом оболочки, применяемой для регистрации пользователя. Все программы, запускаемые пользователем, наследуют копию этого маркера. Механизмы защиты в Windows используют маркер, определяя набор действий, разрешенных потоку или процессу.

Рис.1. Этапы идентификации и аутентификации пользователя

В общем случае пользователь имеет возможность запуска процесса как с собственными правами, так и под учетной записью другого пользователя. Запуск пользователем процесса под другой учетной записью возможен только после выполнения процедуры аутентификации – пользователь должен ввести идентификатор и пароль, соответствующие той учетной записи, под которой им будет запущен процесс (например, подобную возможность в ОС Windows предоставляет утилита runas.exe, но, начиная с ОС Windows XP, эта функция уже вынесена в проводник - ее можно реализовать, нажав правой кнопкой мыши на выбранном в проводнике исполняемом файле).

В порядке замечания отметим следующее. С одной стороны, это очень полезная опция, которая может быть использована в корпоративных приложениях, когда на одном компьютере требуется обрабатывать конфиденциальные и открытые данные. При этом предполагается, что для обработки данных различных категорий создаются различные учетные записи. Данная опция предполагает, что одновременно (без перезагрузки) можно обрабатывать данные различных категорий, например, под одной учетной записью обрабатывать необходимым приложением конфиденциальные данные, под другой учетной записью запустить Internet-приложение (у Вас на мониторе может быть открыто одновременно два окна). Естественно, что реализация данной возможности выставляет и дополнительные требования к СЗИ от НСД (например, при подобном запуске приложения ОС Windows между пользователями не изолируется буфер обмена, который в ОС является "принадлежностью" рабочего стола).

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

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

В порядке замечания отметим, что аналогичная ситуация имеет место и в ОС семейства Unix, где существуют понятия идентификатора и эффективного идентификатора (под которым собственно и осуществляется запрос доступа к ресурсам).

Вывод. Требование "КСЗ должен обеспечивать идентификацию пользователей при запросах на доступ…" актуально и должно реализовываться современными СЗИ от НСД. При этом задача защиты при выполнении этого требования сводится к контролю корректности олицетворения при запросах доступа к ресурсам, т.к. именно использование сервиса олицетворения может привести к неконтролируемой смене исходного идентификатора.

Реализация механизма идентификации и аутентификации при запросах доступа к ресурсам

В общем виде решение задачи должно состоять в следующем. При запросе доступа к ресурсу должны выявляться факты произошедшего олицетворения (соответственно, субъектом доступа здесь выступает процесс, для которого анализируется наличие олицетворяющего маркера доступа) и проверяться их корректность в соответствии с заданными разрешениями (запретами), что проиллюстрировано на рис. 2. Очевидно, что проверка прав субъекта доступа к ресурсу должна осуществляться уже после проверки корректности его идентификации.

Рис.2. Укрупненный алгоритм идентификации и аутентификации при запросе доступа к ресурсу

Таким образом, в качестве субъекта доступа выступает процесс (в том числе, это обусловливается и тем, что различные процессы (приложения) могут затребовать и различных правил разрешенных (запрещенных) олицетворений, что невозможно обеспечить, если в качестве субъекта доступа принять пользователя – учетную запись).

Ограничения возможности корректного решения задачи

Разграничение доступа к устройствам – это задача противодействия внутренним ИТ-угрозам (в частности, решаемая для защиты информации от санкционированных пользователей – инсайдеров), которая далеко не единственная в данных приложениях, но, пожалуй, сегодня наиболее обсуждаемая.

Заметим, что в нормативном документе "Гостехкомиссия России. Руководящий документ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от НСД к информации" вопросы контроля доступа пользователей к устройствам (начиная с СВТ 4-го класса защищенности) формируются в виде отдельного требования: КСЗ должен включать в себя механизм, посредством которого санкционированный пользователь надежно сопоставляется с выделенным ему конкретным устройством.

Чтобы понять суть существующих ограничений, проанализируем, как ОС Windows (в ОС семейства Unix рассматриваемые проблемы не столь критичны, т.к. устройства в них монтируются к файловой системе) работает с устройствами, и сразу натолкнемся на проблему (решения рассматриваемой задачи, реализуемые собственно ОС Windows, рассматривать не будем, т.к. они не удовлетворяют требованиям применения в корпоративных приложениях). Проблема здесь состоит в том, что многие устройства предполагают возможность взаимодействия с ними приложения не напрямую, а через драйвер. В этом случае запрос доступа к устройству осуществляется от лица пользователя System (варианты решения задачи на прикладном уровне рассматривать не будем, ввиду их априорной уязвимости). Возникает вопрос, а откуда взять идентификатор пользователя, который инициировал это обращение к устройству. Можно, конечно, "посмотреть", какой пользователь зарегистрирован в системе, и фильтровать запросы доступа применительно к его учетной записи (кстати говоря, подобный подход реализуется некоторыми специализированными средствами защиты). Но не будем забывать, что современные ОС Windows многопользовательские. Как отмечалось выше, начиная с Windows XP, возможность входа в многопользовательский режим уже вынесена в интерфейс (например, из проводника можно по правой кнопки мыши выбрать опцию запуска приложения с правами другого пользователя – получим многопользовательский режим). В многопользовательском режиме в системе одновременно зарегистрировано уже несколько пользователей, при этом выявление учетной записи, от которой осуществлен запрос доступа к устройству, становится неразрешимой (или, по крайней мере, весьма сложно корректно решаемой) задачей.

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

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

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

Возникает вопрос - как решить данную задачу (речь идет о корректном разграничении доступа пользователей к устройствам, доступ к которым осуществляется через драйверы), если архитектурная особенность реализации обращения к ресурсу такова, что он осуществляется от имени пользователя System?

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

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

Задача идентификации и аутентификации субъекта "процесс" при запросах на доступ

Прежде всего, несколько слов об альтернативных подходах к реализации разграничительной политики доступа к ресурсам. В качестве субъекта доступа (для которого разграничиваются права доступа к ресурсам) в общем случае необходимо рассматривать ту сущность, которая по каким-либо соображениям не пользуется доверием (для нее и следует ограничивать права доступа). Если мы говорим о внутренних ИТ-угрозах (противодействие попыткам хищения информации со стороны санкционированных пользователей – инсайдеров), в качестве субъекта доступа, в первую очередь, следует рассматривать пользователя. При этом в равной мере актуальны задачи разграничения прав доступа к ресурсам как между различными пользователями (чтобы один пользователь не получил доступ к информационным ресурсам другого пользователя), так и для одного пользователя. В последнем случае необходимо ограничивать (либо разделять, если пользователем может обрабатываться и открытая, и конфиденциальная информация) режимы обработки информации (по сути – это уже "сессионный" контроль доступа к ресурсам).

Однако на практике не менее актуальной является задача разграничения прав доступа к ресурсам для субъекта "процесс".В общем случае именно процесс следует рассматривать в качестве источника возникновения внешней ИТ-угрозы. Тому может быть несколько причин, что следует из приведенной классификации известных типов вирусов, положим их в основу классификации процессов, несущих в себе угрозу:

● Несанкционированные (сторонние) процессы. Это процессы, которые не требуются пользователю для выполнения своих служебных обязанностей и могут несанкционированно устанавливаться на компьютер (локально, либо удаленно) с различными целями, в том числе, и с целью осуществления несанкционированного доступа (НСД) к информации;

● Критичные процессы. К ним мы отнесем две группы процессов: к процессам первой группы отнесем те, которые запускаются в системе с привилегированными правами, например, под учетной записью System, к процессам второй группы те, которые наиболее вероятно могут быть подвержены атакам, например, сетевые службы. Атаки на процессы первой группы наиболее критичны, что связано с возможностью расширения привилегий, в пределе – получения полного управления системой; атаки на процессы второй группы наиболее вероятны.

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

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

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

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

Заметим, что угроза, порождаемая процессом, далеко не всегда является внешней ИТ-угрозой. Инсайдер также может запустить стороннюю программу, модифицировать код санкционированного приложения, воспользоваться недекларируемой возможностью ПО.

Другими словами, разграничительная политика доступа к ресурсам для процессов носит более общий характер и обязательно должна реализовываться СЗИ от НСД (если, конечно, мы говорим об эффективном средстве защиты информации). Задача обеспечения компьютерной безопасности в рассматриваемых приложениях в основе своей сводится к задаче контроля запуска и локализации действий процессов на защищаемом компьютере.

На практике трудно себе представить ситуацию, когда может понадобиться реализация разграничительной политики доступа к ресурсам либо только для субъекта "пользователь", либо только для субъекта "процесс". Поэтому актуальна задача комплексирования.

Для решения рассматриваемой задачи при управлении доступом к ресурсам следует различать два самостоятельных субъекта доступа – "пользователь" и "процесс". При этом необходимо управлять доступом (разграничивать права доступа) не только для субъекта "пользователь", или только для субъекта "процесс", но и для субъекта "пользователь, процесс" в комплексе. Как следствие, могут быть выделены следующие схемы задания разграничительной политики доступа к ресурсам:

● разграничение прав доступа к объектам процессов вне разграничений пользователей (эксклюзивный режим обработки запросов процессов - доступ к объекту разрешается, если он разрешен процессу);

● разграничение прав доступа к объектам пользователей вне разграничений процессов (эксклюзивный режим обработки запросов пользователей - доступ к объекту разрешается, если он разрешен пользователю);

● комбинированное разграничение прав доступа - разграничение прав доступа к объектам процессов в рамках разграничений пользователей (доступ к объекту разрешается, если он разрешен и пользователю, и процессу).

Заметим, что техническое решение, реализующее данный подход, нами запатентовано (А.Ю.Щеглов. Система разграничения доступа к ресурсам, патент №2207619, приоритет от 12.07.2001).

Вернемся к вопросам идентификации и аутентификации, но уже применительно к субъекту доступа "процесс". Идентификатором его является полнопутевое имя. Таким образом, для корректной идентификации субъекта "процесс" необходимо предотвратить возможность запуска процессов под иными именами и предотвратить возможность модификации исполняемых файлов, полнопутевые имена которых разрешены для выполнения.

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

Для решения рассматриваемой задачи в общем случае целесообразно использовать механизм обеспечения замкнутости программной среды.

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

В предлагаемой нами реализации для локализации программной среды необходимо регламентировать права доступа к папкам (каталогам, подкаталогам), из которых пользователям разрешено (запрещено) запускать исполняемые файлы. С учетом принятых правил размещения приложений и необходимости запуска системных процессов, целесообразно разрешать выполнение программ только из каталогов \Program Files, куда следует устанавливать приложения, и \Winnt (WINDOWS). А чтобы предотвратить возможность модификации санкционированных исполняемых файлов, запись пользователям в эти каталоги, напротив, следует запретить.

Заметим, что если в качестве субъекта доступа может выступать как сущность "пользователь", так и сущность "процесс", то данный механизм защиты позволит настраивать замкнутость программной среды не только для пользователей, но и для процессов. В этом случае можно разрешить любому процессу, либо контролируемому процессу (как субъекту) запуск исполняемых файлов только из каталогов \Program Files, и \Winnt (WINDOWS) и запретить прикладным процессам запись в них. Очевидное достоинство этого решения в "равноправности" разграничений для всех пользователей - вне зависимости от корректности их идентификации при доступе к ресурсам (в частности, атаки на расширение привилегий становятся невозможными).

Вывод. Требование "Комплекс средств защиты информации (КСЗ) должен обеспечивать идентификацию пользователей при запросах на доступ, проверять подлинность идентификатора субъекта - осуществлять аутентификацию…" актуально и должно реализовываться современными СЗИ от НСД и применительно к субъекту доступа "процесс". При этом задача защиты при выполнении этого требования сводится к реализации механизма обеспечения замкнутости программной среды.

Вопросы корректности идентификации объекта доступа

Здесь, на первый взгляд, проблем вообще не существует. Однако если внимательно рассмотреть архитектурные принципы реализации и возможности современных универсальных ОС, точка зрения на этот вопрос радикально меняется. В качетсве примера рассмотрим предоставляемые современными ОС Windows возможности идентификации файлового объекта при запросе доступа.

В NTFS файловый объект может быть идентифицирован различными способами:

● файловые объекты, задаваемые длинными именами, характеризуются той отличительной особенностью, что к ним можно обращаться как по длинному, так и по короткому имени, например к каталогу "\Program files\" можно обратиться по короткому имени "\Progra~1\";

● файловые объекты, задаваемые русскими (либо в иной кодировке) буквами, также имеют короткое имя, которое формируется с использованием кодировки Unicode (внешне они могут существенно различаться), например короткое имя для каталога "C:\Documents and Settings\USER1\Главное меню" выглядит как "C:\Docume~1\USER1\5D29~1\". К этим объектам также можно обратиться как по длинному, так и по короткому имени;

● файловый объект идентифицируется не только именем, но и своим идентификатором (ID) – индекс объекта в таблице MFT, причем некоторые программы обращаются к файловым объектам не по имени, а именно по ID.

Пусть установленная в вашей информационной системе СЗИ от НСД не перехватывает и не анализирует лишь один подобный способ обращения к файловому объекту, и, по большому счету, она становится полностью бесполезной (рано или поздно, злоумышленник выявит данный недостаток средства защиты и воспользуется им).

Вывод. Из сказанного выше получаем следующее требование к идентификации объекта доступа – объект доступа должен однозначно идентифицироваться при любом допустимом способе обращения к нему (при любом способе его идентификации приложением) на доступ.

Мы в исследовании не затронули вопросы ссылок, возможность обращения к файловым объектам по их ID, что на практике реализуется рядом приложений, и т.д.

Таким образом, проведя данное исследование, видим, насколько сложна задача идентификации и аутентификации как в своей постановке в общем виде, так и в решении, если, конечно, говорить о построении эффективного средства защиты информации, сколько механизмов защиты должно быть реализовано в составе СЗИ от НСД для решения данной задачи в общем виде. А если хотя бы одного из рассмотренных механизмов в средстве защиты нет – уже уязвимость! Кстати говоря, о термине "эффективность" в данных приложениях. Заметим, что СЗИ от НСД не может обладать высокой или низкой эффективностью (это не параметр производительности). СЗИ от НСД либо защищает, либо нет. Если существует хотя бы один канал обхода средства защиты, рано или поздно им воспользуется злоумышленник, как следствие, в этом случае правомерно утверждать, что данная СЗИ от НСД не обладает потребительской стоимостью (или просто бессмысленна для практического использования). Здесь невольно возникает вопрос (это уже в части формализации требований к СЗИ от НСД – сегодня очень актуальный вопрос), а как подразделять СЗИ от НСД на какие-либо классы или группы? СЗИ от НСД высокого класса обеспечивает защиту, а низкого нет (иного не дано)? Напрашивается вывод о том, что подобное разделение СЗИ от НСД на какие-либо группы или классы по функциональным возможностям и по набору механизмов защиты недопустимо! Тогда на основании чего могут быть введены классификационные признаки СЗИ от НСД?

В заключение отметим, что в данной работе на примере исследования лишь одной, на первый взгляд, наиболее изученной сегодня задачи защиты информации, авторы сделали попытку убедить читателя, что защита информации – это очень сложная научно-техническая и инженерная задача. К сожалению, исторически нас приучили к тому, что средство защиты может быть простым в использовании и в администрировании. Большую (на наш взгляд, отрицательную) роль в этом сыграли антивирусные средства, основанные на сигнатурном анализе – "нажал две кнопки, запустил "черный ящик", все проверил, безопасность обеспечена". Однако сигнатурные анализаторы – это не средства защиты – это средства контроля (сравнение с эталоном). Поэтому, с одной стороны, они могут быть простыми в использовании (задача лишь в пополнении набора эталонов, которая для потребителя "прозрачна"), с другой стороны, их использование принципиально не может обеспечить эффективной защиты (принципиально невозможно обеспечить выполнение требования к полноте и достаточности набора эталонов). Если же мы говорим о корпоративных приложениях, где конфиденциальные данные являются потенциальным товаром, т.е. обладают потребительской стоимостью, к вопросам компьютерной безопасности необходимо относиться серьезно, необходима соответствующая квалификация лиц, отвечающих на предприятии за защиту информации (о разработчиках СЗИ от НСД уж и не говорим). В этом случае потребитель уже должен ожидать от разработчика средств защиты не простых, а эффективных и обоснованных решений!

Идентификация пользователя

Идентификация пользователя

Идентификация пользователя - распознавание пользователя компьютерной системы на основании ранее заданного описания. Идентификация имеет целью определение полномочий пользователя (права доступа к данным и выбора режима их использования).

По-английски: User identification

Финансовый словарь Финам .


Смотреть что такое "Идентификация пользователя" в других словарях:

    идентификация пользователя - vartotojo atpažinimas statusas T sritis automatika atitikmenys: angl. user identification vok. Anwenderidentifikation, f; Benutzerkennung, f rus. идентификация пользователя, f pranc. identificateur d utilisateur, m … Automatikos terminų žodynas

    идентификация пользователя сети - (МСЭ Т Х.7). Тематики электросвязь, основные понятия EN network user identificationNUI …

    Авторизация (идентификация) пользователя Интернет-сайта - Авторизация (идентификация) проверка пользователя на право просматривать определенные страницы сайта. Идентификация пользователя осуществляется с помощью имени пользователя (логина) и пароля... Источник: Приказ Казначейства РФ от 28.08.2008 N 231 … Официальная терминология

    автоматическая идентификация пользователя - — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN user automatic secure authentication … Справочник технического переводчика

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

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

    идентификация (код) пользователя (для определения его полномочий) - — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN user identification … Справочник технического переводчика

    идентификация по паролю - Процедура, позволяющая однозначно идентифицировать пользователя по паролю, копия которого хранится в системе. Процедура выполняется для определения прав и полномочий пользователя на использование ресурсов системы. [Л.М. Невдяев.… … Справочник технического переводчика

    ГОСТ Р ИСО/МЭК 19762-3-2011: Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 3. Радиочастотная идентификация (РЧИ) - Терминология ГОСТ Р ИСО/МЭК 19762 3 2011: Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 3. Радиочастотная идентификация (РЧИ) оригинал документа: 05.02.21 абстрактный… …

    ГОСТ Р ИСО/МЭК 19794-4-2006: Автоматическая идентификация. Идентификация биометрическая. Форматы обмена биометрическими данными. Часть 4. Данные изображения отпечатка пальца - Терминология ГОСТ Р ИСО/МЭК 19794 4 2006: Автоматическая идентификация. Идентификация биометрическая. Форматы обмена биометрическими данными. Часть 4. Данные изображения отпечатка пальца оригинал документа: 4.16 впадина (valley): Область,… … Словарь-справочник терминов нормативно-технической документации

Идентификация и аутентификация представляют собой основу современных программно-технических средств безопасности, так как любые другие сервисы в основном рассчитаны на обслуживание указанных субъектов. Эти понятия представляют собой своеобразную первую линию обороны, обеспечивающую пространства организации.

Что это такое?

Идентификация и аутентификация имеют разные функции. Первая предоставляет субъекту (пользователю или процессу, который действует от его имени) возможность сообщить собственное имя. При помощи аутентификации уже вторая сторона окончательно убеждается в том, что субъект действительно представляет собой того, за кого он себя выдает. Нередко в идентификация и аутентификация заменяются словосочетаниями «сообщение имени» и «проверка подлинности».

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

Аутентификация

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

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

  • что выступает в качестве аутентификатора;
  • как именно был организован обмен данными аутентификации и идентификации и как обеспечивается его защита.

Чтобы подтвердить свою подлинность, субъектом должна быть предъявлена одна из следующих сущностей:

  • определенная информация, которая ему известна (личный номер, пароль, специальный криптографический ключ и т. д.);
  • определенная вещь, которой он владеет (личная карточка или какое-то другое устройство, имеющее аналогичное назначение);
  • определенная вещь, являющаяся элементом его самого (отпечатки пальцев, голос и прочие биометрические средства идентификации и аутентификации пользователей).

Особенности систем

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

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

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

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

Отдельное внимание стоит уделить тому, что используемый сервис может быть выбран в качестве объекта атаки на доступность. Если выполнена таким образом, чтобы после некоторого числа неудачных попыток возможность ввода была заблокирована, то в таком случае злоумышленниками может останавливаться работа легальных пользователей путем буквально нескольких нажатий клавиш.

Парольная аутентификация

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

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

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

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

Как это исправить?

Есть несколько средств, как может быть защищена идентификация и аутентификация. Компонент обработки информации может обезопаситься следующим:

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

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

Одноразовые пароли

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

На данный момент одним из наиболее популярных программных генераторов одноразовых паролей является система под названием S/KEY, выпущенная компанией Bellcore. Основная концепция этой системы заключается в том, что имеется определенная функция F, которая известна как пользователю, так и серверу аутентификации. Далее представлен секретный ключ К, который известен только определенному пользователю.

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

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

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

В России в качестве объединенного сервиса используется специальный государственный портал - "Единая система идентификации/аутентификации" ("ЕСИА").

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

Kerberos

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

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

Электронная идентификация/аутентификация через систему Kerberos предусматривает ее использование в качестве доверенной третьей стороны, которая имеет информацию о секретных ключах обслуживаемых объектов и при необходимости оказывает им помощь в проведении попарной проверки подлинности.

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

Отдельное внимание здесь следует уделить тому, что передача секретных ключей не осуществлялась по сети, и они использовались исключительно для шифрования.

Проверка подлинности с использованием биометрических данных

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

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

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

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

ЕСИА

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

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

Уровни

Портал предусматривает три основных уровня учетных записей для физических лиц:

  • Упрощенная. Для ее регистрации достаточно просто указать свою фамилию и имя, а также какой-то определенный канал коммуникации в виде адреса электронной почты или мобильного телефона. Это первичный уровень, с помощью которого у человека открывается доступ только к ограниченному перечню различных государственных услуг, а также возможностей существующих информационных систем.
  • Стандартная. Для ее получения изначально нужно оформить упрощенную учетную запись, а потом уже предоставить также дополнительные данные, включая информацию из паспорта и номер страхового индивидуального лицевого счета. Указанная информация автоматически проверяется через информационные системы Пенсионного фонда, а также Федеральную миграционную службу, и, если проверка проходит успешно, учетная запись переводится на стандартный уровень, что открывает пользователю расширенный перечень государственных услуг.
  • Подтвержденная. Для получения такого уровня учетной записи единая система идентификации и аутентификации требует от пользователей стандартный аккаунт, а также подтверждение личности, которое выполняется через личное посещение отделения уполномоченной службы или посредством получения кода активации через заказное письмо. В том случае, если подтверждение личности окажется успешным, учетная запись перейдет на новый уровень, а перед пользователем откроется доступ к полному перечню необходимых государственных услуг.

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

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

В теоретической части курса будут методы, лежащие в основе соответствующих средств и механизмов. В лабораторных работах рассматриваются конкретные настройки операционных систем.

Рассматриваемые вопросы можно разделить на две группы:

  • вопросы, связанные с идентификацией и аутентификацией пользователей;
  • защита передаваемых сообщений.

Идентификация и аутентификация

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

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

Обычно выделяют 3 группы методов аутентификации.

  1. Аутентификация по наличию у пользователя уникального объекта заданного типа. Иногда этот класс методов аутентификации называют по-английски "I have" ("у меня есть"). В качестве примера можно привести аутентификацию с помощью смарт-карт или электронных USB-ключей.
  2. Аутентификация, основанная на том, что пользователю известна некоторая конфиденциальная информация - "I know" ("я знаю"). Например, аутентификация по паролю. Более подробно парольные системы рассматриваются далее в этом разделе.
  3. Аутентификация пользователя по его собственным уникальным характеристикам - "I am" ("я есть"). Эти методы также называются биометрическими.

Нередко используются комбинированные схемы аутентификации, объединяющие методы разных классов. Например, двухфакторная аутентификация - пользователь предъявляет системе смарт-карту и вводит пин-код для ее активации.

Наиболее распространенными на данный момент являются парольные системы аутентификации . У пользователя есть идентификатор и пароль , т.е. секретная информация , известная только пользователю (и возможно - системе), которая используется для прохождения аутентификации.

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

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

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

  1. Задание минимальной длины используемых в системе паролей. Это усложняет атаку путем подбора паролей. Как правило, рекомендуют устанавливать минимальную длину в 6-8 символов.
  2. Установка требования использовать в пароле разные группы символов - большие и маленькие буквы, цифры, специальные символы. Это также усложняет подбор.
  3. Периодическая проверка администраторами безопасности качества используемых паролей путем имитации атак , таких как подбор паролей "по словарю" (т.е. проверка на использование в качестве пароля слов естественного языка и простых комбинаций символов, таких как "1234").
  4. Установка максимального и минимального сроков жизни пароля, использование механизма принудительной смены старых паролей.
  5. Ограничение числа неудачных попыток ввода пароля (блокирование учетной записи после заданного числа неудачных попыток войти в систему).
  6. Ведение журнала истории паролей, чтобы пользователи, после принудительной смены пароля, не могли вновь выбрать себе старый, возможно скомпрометированный пароль.

Современные операционные системы семейства Windows позволяют делать установки, автоматически контролирующие выполнение требований 1,2,4-6. При использовании домена Windows , эти требования можно распространить на все компьютеры, входящие в домен и таким образом повысить защищенность всей сети.

Но при внедрении новых механизмов защиты могут появиться и нежелательные последствия. Например, требования "сложности" паролей могут поставить в тупик недостаточно подготовленного пользователя. В данном случае потребуется объяснить, что с точки зрения операционной системы Windows надежный пароль содержит 3 из 4 групп символов (большие буквы, малые буквы, цифры, служебные знаки). Аналогичным образом, надо подготовить пользователей и к внедрению блокировки учетных записей после нескольких неудачных попыток ввода пароля. Требуется объяснить пользователям, что происходит, а сами правила блокировки должны быть хорошо продуманы. Например, если высока вероятность того, что пользователь заблокирует свою запись в период отсутствия администратора, лучше ставить блокировку не насовсем, а на какой-то срок (30 минут, час и т.д.).

Это приводит к тому, что должна быть разработана политика управления паролями , сопровождающие ее документы, а потом уже проведено внедрение.

При использовании ОС семейства Windows , выявить учетные записи со слабыми или отсутствующими паролями можно, например, с помощью утилиты Microsoft Baseline Security Analyzer . Она же позволяет выявить и другие ошибки администрирования. Вопросам использования этой утилиты, а также настройке политики паролей посвящена лабораторная работа № 3.

Протокол Kerberos был разработан в Массачусетском технологическом институте в середине 1980-х годов и сейчас является фактическим стандартом системы централизованной аутентификации и распределения ключей симметричного шифрования. Поддерживается операционными системами семейства Unix, Windows (начиная с Windows "2000), есть реализации для Mac OS.

В сетях Windows (начиная с Windows "2000 Serv.) аутентификация по протоколу Kerberos v.5 ( RFC 1510) реализована на уровне доменов. Kerberos является основным протоколом аутентификации в домене, но в целях обеспечения совместимости c с предыдущими версиями, также поддерживается протокол NTLM .

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

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

Серверная часть Kerberos называется центром распределения ключей (англ. Key Distribution Center , сокр. KDC ) и состоит из двух компонент :

  • сервер аутентификации (англ. Authentication Server , сокр. AS);
  • сервер выдачи разрешений (англ. Ticket Granting Server, сокр. TGS ).

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


Рис. 5.1.

Пусть клиент C собирается начать взаимодействие с сервером SS (англ. Service Server - сервер , предоставляющий сетевые сервисы). В несколько упрощенном виде, протокол предполагает следующие шаги [ , ]:

  1. C->AS: {c} .

    Клиент C посылает серверу аутентификации AS свой идентификатор c (идентификатор передается открытым текстом).

  2. AS->C: {{TGT}K AS_TGS , K C_TGS }K C ,
    • K C - основной ключ C ;
    • K C_TGS - ключ, выдаваемый C для доступа к серверу выдачи разрешений TGS ;
    • {TGT} - Ticket Granting Ticket - билет на доступ к серверу выдачи разрешений

    {TGT}={c, tgs ,t 1 ,p 1 , K C_TGS } , где tgs - идентификатор сервера выдачи разрешений, t 1 - отметка времени, p 1 - период действия билета.

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

    Получить доступ к содержимому билета TGT не может не только нарушитель, но и клиент C , т.к. билет зашифрован на ключе, который распределили между собой сервер аутентификации и сервер выдачи разрешений.

  3. C-> TGS : {TGT}K AS_TGS , {Aut 1 } K C_TGS , {ID}

    где {Aut 1 } - аутентификационный блок - Aut 1 = {с,t 2 } , t 2 - метка времени; ID - идентификатор запрашиваемого сервиса (в частности, это может быть идентификатор сервера SS ).

    Клиент C на этот раз обращается к серверу выдачи разрешений ТGS . Он пересылает полученный от AS билет, зашифрованный на ключе K AS_TGS , и аутентификационный блок, содержащий идентификатор c и метку времени, показывающую, когда была сформирована посылка.Сервер выдачи разрешений расшифровывает билет TGT и получает из него информацию о том, кому был выдан билет, когда и на какой срок, ключ шифрования, сгенерированный сервером AS для взаимодействия между клиентом C и сервером TGS . С помощью этого ключа расшифровывается аутентификационный блок. Если метка в блоке совпадает с меткой в билете, это доказывает, что посылку сгенерировал на самом деле С (ведь только он знал ключ K C_TGS и мог правильно зашифровать свой идентификатор). Далее делается проверка времени действия билета и времени отправления посылки 3 ). Если проверка проходит и действующая в системе политика позволяет клиенту С обращаться к клиенту SS , тогда выполняется шаг 4 ).

  4. TGS ->C: {{ TGS }K TGS_SS ,K C_SS }K C_TGS ,

    где K C_SS - ключ для взаимодействия C и SS , { TGS } - Ticket Granting Service - билет для доступа к SS (обратите внимание, что такой же аббревиатурой в описании протокола обозначается и сервер выдачи разрешений). { TGS } ={с,ss,t 3 ,p 2 , K C_SS } .

    Сейчас сервер выдачи разрешений TGS посылает клиенту C ключ шифрования и билет, необходимые для доступа к серверу SS . Структура билета такая же, как на шаге 2): идентификатор того, кому выдали билет; идентификатор того, для кого выдали билет; отметка времени; период действия ; ключ шифрования.

  5. C->SS: { TGS }K TGS_SS , {Aut 2 } K C_SS

    где Aut 2 ={c,t 4 } .

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

  6. SS->C: {t 4 +1}K C_SS

    Смысл последнего шага заключается в том, что теперь уже SS должен доказать C свою подлинность. Он может сделать это, показав, что правильно расшифровал предыдущее сообщение. Вот поэтому, SS берет отметку времени из аутентификационного блока C , изменяет ее заранее определенным образом (увеличивает на 1), шифрует на ключе K C_SS и возвращает C .сеть логически делится на области действия серверов Kerberos. Kerberos-область - это участок сети, пользователи и серверы которого зарегистрированы в базе данных одного сервера Kerberos (или в одной базе, разделяемой несколькими серверами). Одна область может охватывать сегмент локальной сети, всю локальную сеть или объединять несколько связанных локальных сетей. Схема взаимодействия между Kerberos-областями представлена на рис. 5.2 .

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

    После установки взаимных соглашений, клиент из области 1 (пусть это будет K 11 ) может установить сеанс взаимодействия с клиентом из области 2 (например, К 21 ). Для этого K 11 должен получить у своего сервера выдачи разрешений билет на доступ к Kerberos-серверу, с клиентом которого он хочет установить взаимодействие (т.е. серверу Kerberos KDC2). Полученный билет содержит отметку о том, в какой области зарегистрирован владелец билета. Билет шифруется на ключе, разделенном между серверами KDC1 и KDC2. При успешной расшифровке билета, удаленный Kerberos- сервер может быть уверен, что билет выдан клиенту Kerberos-области, с которой установлены доверительные отношения . Далее протокол работает как обычно.

    ключ , но и убедились в подлинности друг друга, иными словами - аутентифицировали друг друга.

    Что касается реализации протокола Kerberos в Windows , то надо отметить следующее.

    1. Ключ пользователя генерируется на базе его пароля. Таким образом, при использовании слабых паролей эффект от надежной защиты процесса аутентификации будет сведен к нулю.
    2. В роли Kerberos-серверов выступают контроллеры домена, на каждом из которых должна работать служба Kerberos Key Distribution Center ( KDC ). Роль хранилища информации о пользователях и паролях берет на себя служба каталога Active Directory. Ключ, который разделяют между собой сервер аутентификации и сервер выдачи разрешений формируется на основе пароля служебной учетной записи krbtgt - эта запись автоматически создается при организации домена и всегда заблокирована.
    3. Microsoft в своих ОС использует расширение Kerberos для применения криптографии с открытым ключом. Это позволяет осуществлять регистрацию в домене и с помощью смарт-карт, хранящих ключевую информацию и цифровой сертификат пользователя .
    4. Использование Kerberos требует синхронизации внутренних часов компьютеров, входящих в домен Windows.

    Для увеличения уровня защищенности процесса аутентификации пользователей, рекомендуется отключить использование менее надежного протокола NTLM и оставить только Kerberos (если использования NTLM не требуют устаревшие клиентские ОС).

Идентификация пользователя – распознавание пользователя компьютерной системы на основании ранее заданного описания. Идентификация имеет целью определение полномочий пользователя (права доступа к данным и выбора режима их использования).

Аутентификация пользователя – процедура проверки прав пользователя на доступ к информации или на выполнение определенных действий.

Идентификация позволяет пользователю назвать себя (сообщить свое имя). Посредством аутентификации вторая сторона убеждается, что субъект действительно тот, за кого он себя выдает ("проверка подлинности").

Аутентификация бывает односторонней и двусторонней (взаимной). Пример односторонней аутентификации – процедура входа пользователя в систему.

3 группы способов аутентификации:

1) основанные на том, что пользователь знает некоторую подтверждающую его подлинность информацию. Это парольная аутентификация и аутентификация на основе модели «рукопожатия».

2) основанные на том, что пользователь имеет некоторый материальный объект , который может подтвердить его подлинность (пластиковая карта с идентифицирующей пользователя информацией и т п) – программно-аппаратные методы

3) основанные на таких данных, которые позволяют однозначно считать, что пользователь и есть тот самый субъект, за которого себя выдает (биометрические данные, особенности клавиатурного почерка и росписи мыши и т п)

Парольная аутентификация

Общая информация

При выборе пароля необходимо руководствоваться двумя взаимоисключающими правилами: пароль должен трудно подбираться и легко запоминаться . Сложность подбора пароля определяется мощностью множества символов (N) и минимально возможной длиной пароля (k). Число всех возможных вариантов паролей С=N^k.

Другие параметры политики учетных записей пользователей :

1) max срок действия пароля;

2) несовпадение пароля с логическим именем пользователя;

3) неповторяемость паролей одного пользователя.

Еще один аспект политики учетных записей пользователей – определение противодействия системы попыткам подбора паролей . Правила:

1) ограничение числа попыток входа в систему;

2) скрытие логического имени последнего работавшего пользователя;

3) учет всех попыток входа в систему.

Реакция системы на неудачную попытку входа:

1) блокировка учетной записи за превышение max возможных попыток

2) нарастающее увеличение временной задержки перед предоставлением пользователю следующей попытки входа (постоянная блокировка учетной записи нецелесообразна, так как позволит нарушителю заблокировать работу легального пользователя)

Для первоначального ввода или для смены паролей используются два правила:

1) символы не отображаются на экране;

2) ввод пароля повторяется дважды.

Хранение пароля в базе данных осуществляется, как правило, в зашифрованном виде. Минусы:

· поскольку при шифровании необходимо использовать ключ, необходимо обеспечить его защищенное хранение

· опасность расшифрования любого пароля и получения его в открытом виде.

Виды парольной аутентификации:

1) с использованием многоразовых паролей;

2) с использованием одноразовых паролей. Пользователь получает список паролей Р1, Р2, … РN. Каждый из паролей действует только на один сеанс входа. В этом случае знание уже использовавшегося пароля ничего не даст злоумышленнику.

Недостатки: организация защищенного хранения длинного списка паролей, неясность с номером следующего пароля, если при вводе предыдущего вход в систему был не осуществлен из-за сбоя в работе системы. Эти недостатки могут быть устранены, если список паролей генерировать на основе необратимой функции, например, хеширования. Пусть Р – начальный пароль пользователя, а F – необратимая функция. Функция F применяется последовательно i раз для получения Pi: F^i(P) = F(F(…F(P)…)). Тогда список одноразовых паролей создается следующим образом: P1 = F^n (P), P2 = F^(n-1)(P), … , Pn = F(P). При сбое в процессе входа пользователя в систему всегда осуществляется выбор последующего пароля из спсика, а система последовательно применяется функцию F к введенному паролю до совпадения с последним принятым от него паролем или до превышения длины списка.

В любом варианте парольной аутентификации подтверждение подлинности осуществляется на основе ввода некоторой конфиденциальной информации, которую можно выманить, подобрать и т п. Аутентификация на основе модели «рукопожатия» во многом свободна от этих недостатков.

Аутентификация на основе модели «рукопожатия»

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

1) С: генерация случайного значения х, вычисление у = f(х), вывод х.

2) П: вычисление у’ = f ‘ (x), ввод y’.

3) C: если y и y’ совпадают, то пользователь допускается к работе в системе, иначе попытка входа в систему отклоняется.

К функции f предъявляется требование, чтобы по известным x и f(x) нельзя было угадать f.

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

Недостатки : большая длительность этой процедуры по сравнению с парольной.


Похожая информация.