Создаем usb ключ защиты средствами Windows. ЭЦП и аутентификация: сделано в России. Смарт-карты или USB флэшки

Всем привет, продолжаем изучать безопасность компьютера. Ранее я вам рассказал как как взломать пароль sa в sql , сегодня наоборот расскажу как немного защититься. Сегодня мы научимся создавать usb ключ защиты средствами Windows, нужны они для доступа к компьютеру и если он не вставлен, то вас не пустит. На рынке много ПО, совсем не бесплатного, которое делает эту задачу, но зачем за что-то платить, когда все уже есть встроенное в Windows 🙂 , тем более у вас на это уйдет не так много времени.

usb ключ для windows

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

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

Нажимаем Win+R у вас откроется окно Выполнить. Введите в нем

У вас откроется оснастка Управление дисками.

Как видите у меня есть флешка 30 гб, у вас это может быть конечно другая 🙂 .

Щелкаем по ней правым кликом и выбираем пункт Изменить букву диска или пусть к диску.

Тут нам для флешки, а точнее будущего usb защитника, нужно изменить букву на А.

Если у вас буква А занята, то поставьте тому устройству что ее использует другую букву

У меня получилось вот так.

Теперь нажимаем Win+R и вводим syskey

У вас откроется окно Защита БД учетных записей Windows, тут вам нужно будет нажать обновить, для того чтобы сделать usb ключ для windows.

Нажимаем кнопку обновить. В итоге у вас откроется окно Ключ запуска, в нем ставим переключатель на Хранить ключ запуска на дискете. Требуется вставлять дискету при запуске системы. Этим мы и делаем нашу флешку токеном для windows.

Вас попросят подтвердить, что вы согласны с копирование ключа на нее.

Как видим, все готово

Посмотрим на его содержимое.

В итоге у вас пропишется маленький файл размеров 8 кб, под именем StartKey

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

В данной конфигурации для запуска Windows требуется ключевая дискета Вставьте эту дискету и нажмите кнопку ОК.

Нажимаем для примера кнопку ок, без флешки и видим следующее.

Не найден файл ключа запуска на дискете, вставленной в привод А.

Вставляем usb key для windows и логинимся. Как видите, двух факторная аутентификация работает нормально.

Отключить все это можно теми же шагами, единственное в Окне ключ выберите пункт

Хранить ключ запуска на локальном диске.

Вам потребуется чтобы ваш usb ключ защиты был вставлен.

Все теперь ключ храниться локально.

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

Одной из наиболее опасных угроз ИТ-безопасности сегодня является несанкционированный доступ к конфиденциальной информации. Согласно исследованию Института компьютерной безопасности США и ФБР (см. «CSI/FBI Computer Crime and Security Survey 2005»), в прошлом году 55% компаний зарегистрировали инциденты, связанные с неправомочным доступом к данным. Более того, каждая фирма потеряла в 2005 году вследствие неавторизованного доступа в среднем 303 тыс. долл., причем по сравнению с 2004 годом убытки увеличились в 6 раз.

Бизнес сразу же отреагировал на возросшую опасность угроз. По данным IDC (см. «Russia Security Software 2005-2009 Forecast and 2004 Vendor Shares»), российские компании не только увечили инвестиции в ИТ-безопасность на 32,7%, но и в значительной мере направили свои усилия на внедрение систем «3А» (аутентификация, авторизация, безопасное администрирование).

Сегмент рынка систем «3А» за год вырос на 83%. Такая динамика вполне объяснима: средства сильной аутентификации, лежащие в основе всей концепции «3А», позволяют защитить компанию от целого комплекса угроз ИТ-безопасности - это и несанкционированный доступ к информации, и неправомочный доступ к корпоративной сети со стороны служащих, и мошенничество, и утечки данных вследствие кражи мобильных устройств или действий персонала и т.д., а ведь известно, что каждая из этих угроз ежегодно наносит громадный ущерб (рис. 1).

Рис. 1. Потери от различных видов атак, долл.

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

Использование средств многофакторной аутентификации в немалой степени снижает роль паролей, и в этом проявляется еще одно преимущество строгой аппаратной аутентификации, так как, по некоторым оценкам, сегодня пользователям требуется помнить около 15 различных паролей для доступа к учетным записям. Вследствие информационной перегруженности служащие, чтобы не забыть пароли, записывают их на бумаге, что снижает уровень безопасности из-за компрометации пароля. Забывание паролей наносит фирмам серьезный финансовый ущерб. Так, исследование Burton Group (см. «Enterprise Single Sign-On: Access Gateway to Applications») показало, что каждый звонок в компьютерную службу помощи обходится компании в 25-50 долл., а от 35 до 50% всех обращений приходится именно на забывчивых сотрудников. Таким образом, использование усиленной или двухфакторной аутентификации позволяет не только снизить риски ИТ-безопасности, но и оптимизировать внутренние процессы компании вследствие уменьшения прямых финансовых потерь.

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

Типы персональных средств аутентификации

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

USB-токены

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

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

Смарт-карты

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

USB-токены со встроенным чипом

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

OTP-токены

Технология OTP (One-Time Password) подразумевает использование одноразовых паролей, которые генерируются с помощью токена. Для этого служит секретный ключ пользователя, размещенный как внутри OTP-токена, так и на сервере аутентификации. Для того чтобы получить доступ к необходимым ресурсам, сотрудник должен ввести пароль, созданный с помощью OTP-токена. Этот пароль сравнивается со значением, сгенерированным на сервере аутентификации, после чего выносится решение о предоставлении доступа. Преимуществом такого подхода является то, что пользователю не требуется соединять токен с компьютером (в отличие от вышеперечисленных типов идентификаторов). Однако количество приложений ИТ-безопасности, которые поддерживают возможность работы с OTP-токенами, сегодня намного меньше, чем для USB-токенов (как с чипом, так и без) и смарт-карт. Недостатком OTP-токенов является ограниченное время жизни этих устройств (три-четыре года), так как автономность работы предполагает использование батарейки.

Гибридные токены

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

Программные токены

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

Характеристика различных типов персональных идентификаторов

Российский рынок многофакторной аутентификации

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

Основным фактором, сдерживающим развитие российского рынка OTP-токенов, является высокая стоимость владения (Total Cost of Ownership, TCO) и короткий жизненный цикл. Встроенной батарейки обычно хватает на три-четыре года, после чего заказчик вынужден менять устройство, оплачивая порядка 70% его начальной стоимости. Рассмотрим в качестве примера популярный на Западе OTP-токен RSA SecurID. Стоимость решения для 500 пользователей, куда входят основной сервер и сервер-репликатор, программное обеспечение и сами персональные идентификаторы, составляет 76 тыс. долл. (один токен SecurID стоит 79 долл.). Вдобавок ежегодно на поддержку, по данным дилеров, придется тратить еще 6,6 тыс. долл. Таким образом, в целом решение обойдется в 82,6 тыс. долл., а стоимость одного рабочего места, оборудованного ОТР-токеном, составит не менее 165 долл.

Для сравнения возьмем еще один электронный ключ с генератором одноразовых паролей - eToken NG-OTP от компании Aladdin. В этом случае схема расчета на одно рабочее место несколько иная: серверы аутентификации приобретать не нужно, достаточно иметь серверную версию Windows, которой оснащено сейчас подавляющее число локальных сетей предприятий. Стоимость универсальной системы управления всеми средствами аутентификации (в том числе и разнотипными) в масштабе предприятия (eToken TMS) составит около 4 тыс. долл. (серверная лицензия), а общая цена на 500 токенов (при цене одного устройства 67 долл.) равна 33,5 тыс. долл. Прибавим сюда пользовательскую лицензию для каждого токена: 24 долл. - до 500 пользователей и 19 долл. - свыше 500. Таким образом, стоимость одного рабочего места с интегрированной системой строгой аутентификации по одноразовым паролям составит 99 долл,. а при расчете на 501 пользователя - 94 долл.

Однако, даже несмотря на эту разницу, стоимость защиты одного рабочего места с помощью «стандартного» токена, то есть без ОТР, значительно ниже. Например, для того же eToken PRO, самого популярного в линейке Aladdin USB-токена со встроенным чипом, рассчитанная по той же формуле стоимость одного рабочего места составляет всего 47 долл.

Таким образом, российский рынок персональных идентификаторов значительно отличается от мирового и состоит в основном из USB-токенов со встроенным чипом - на их долю приходится примерно 80-85% рынка. Впрочем, именно USB-токены со встроенным чипом являются сегодня наиболее эффективным средством сильной аутентификации. Так, аналитики ведущих консалтинговых компаний, например IDC и Gartner, считают, что к 2008 году большая часть всего рынка персональных идентификаторов будет приходиться именно на USB-токены со встроенным чипом. Кроме того, компания Gartner назвала USB-токены со встроенным чипом лучшим инвестиционным вложением в обеспечение безопасного доступа к данным в 2005 году.

По внутренним данным Aladdin-Russia, лидером отечественного рынка USB-токенов со встроенным чипом является российская компания Aladdin (70%), за ней с серьезным отставанием следуют Rainbow Technologies (25%) и «Актив» (5%) (рис. 2).

Рис. 2. Структура российского рынка USB-токенов со встроенным чипом (

Расскажу еще об одном механизме аутентификации на web-ресурсах. Механизм прост, в его основе лежит использование ЭЦП, для хранения ключей при этом используется USB-токен.

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

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

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

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

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

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

Регистрация:

  1. Клиент генерирует в токене ключевую пару e,d ;
  2. Публичный ключ e клиент отсылает на сервер;


Аутентификация:
  1. Клиент отсылает серверу логин;
  2. Сервер генерирует RND и отсылает клиенту;
  3. Клиент генерирует RND и отсылает серверу подписанное сообщение (RND-server||RND-client||Server-name );
  4. Сервер проверяет подлинность ЭЦП использую публичный ключ клиента;

Для тех кто с недоверием относится к «велосипедам» - погуглить «ISO public-Key Two-pass Unilateral Authentication Protocol».

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

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

В данной статье рассмотрен способ беcпарольной аутентификации по ключу, находящемуся на USB flash-накопителе. Сам механизм аутентификации по ключу обеспечивает PAM-модуль pam_usb. Аутентификация через pam_usb может работать на любом сервисе, скомпилированном с поддержкой PAM, например: login, xdm/kdm/gdm, su, sshd.

Загрузить исходные коды последней версии pam_usb можно с его домашней страницы pamusb.org (на момент написания статьи последней была версия 0.3.2). Компиляция и установка данного модуля тривиальны:

$ tar -zxvf pam_usb-0.3.2.tar.gz $ cd pam_usb-0.3.2 $ make $ su - # make install

Для основанных на RPM дистрибутивов лучше всего найти готовый RPM-пакет с этим модулем и устанавливать штатным rpm. Например, для дистрибутива SuSE 9.1, на котором производилась установка и настройка pam_usb при написании статьи, соответствующий RPM-пакет можно загрузить с сайта www.linux-administrator.com .

Если процесс установки не выявил ошибок, то в директории /lib/security/ появится модуль pam_usb.so, имя которого необходимо будет в дальнейшем указывать в конфигурационных файлах PAM-модулей сервисов.

Список приложений, использующих PAM, находится в /etc/pam.d (хотя, в некоторых дистрибутивах настройка PAM-модулей находится в /etc/pam.conf). Аутентификацию через pam_usb можно сконфигурировать в трех режимах, описанных ниже для сервиса xdm, взятого в качестве примера (файл конфигурации PAM-модуля данного сервиса - /etc/pam.d/xdm):

1) для того, чтобы была возможность логиниться как с присоединенным накопителем, так и без него, необходимо перед строкой auth required pam_unix2.so добавить :

Auth sufficient pam_usb.so check_device=-1 check_if_mounted=-1 force_device=/dev/sda fs=vfat

2) для того, чтобы была возможность логиниться лишь с присоединенным накопителем, необходимо строку auth required pam_unix2.so заменить на:

3) для того, чтобы была возможность логиниться с помощью пароля и одновременно с присоединенным накопителем, необходимо к строке auth required pam_unix2.so добавить :

Auth require pam_usb.so check_device=-1 check_if_mounted=-1 force_device=/dev/sda fs=vfat

Примечание: в некоторых дистрибутивах, например в Debian, вместо модуля pam_unix2.so присутствует pam_unix.so. Примечание 2: значения параметров «force_device» и «fs» выбраны для примера и поэтому могут отличаться в каждой конкретной системе. Если их вообще не указывать, то аутентификация сработает, однако будут опробованы по очереди устройства /dev/sda* и /dev/sdb*, а также ФС ext2 и vfat, что, естественно, займет немного больше времени.

Механизм беспарольной аутентификации по ключу довольно-таки прост. Сначала генерируется пара DSA-ключей: приватный и публичный. Приватный помещается на USB-flash, а публичный - в домашнюю директорию пользователя. При попытке зарегистрироваться на каком-нибудь сервисе под учетной записью пользователя считываются приватный ключ с носителя и публичный из домашней директории этого пользователя. При помощи публичного ключа генерируется случайная последовательность символов, которая может быть расшифрована лишь приватным ключом, парным данному публичному. Соответственно, если расшифровка удалась, то приватный ключ считается валидным и процесс аутентификации завершается успешно. В противном случае - «от ворот поворот».

Генерируется пара аутентификационных DSA-ключей с помощью утилиты usbadm, которая идет в составе пакета pam_usb. Синтаксис ее следующий:

Usbadm

где - это одно из доступных действий и его аргументы: help - вывод справки. Если задано значение действия , то выводится справка по этому действию, иначе - общая справка. keygen - генерация пары DSA ключей. Необходимые параметры: точка монтирования устройства, имя пользователя, для которого генерируется пара ключей, длина ключа в битах. cipher - управление шифрованием ключей. Позволяет шифровать/расшифровывать/изменять пароль для приватного ключа указанным алгоритмом для указанного пользователя. addserial - установка серийного номера устройства. Если в качестве ничего не указано, то будет произведена попытка считывания серийного номера присоединенного устройства.

Для того, чтобы сгенерировать пару DSA-ключей длиной 2048 бит для пользователя fly4life, необходимо смонтировать USB flash-накопитель (в данном примере это /dev/sda) и воспользоваться утилитой usbadm с ключом keygen:

# mount -t vfat /dev/sda /mnt # usbadm keygen /mnt fly4life 2048

Таким образом на flash-накопителе создастся директория.auth/, в которой будет сгенерирован приватный ключ, а в одноименном подкаталоге домашней директории пользователя (~/.auth/) - публичный. После размонтирования устройства USB flash-накопитель готов для использования его в процессах аутентификации.

В заключение отмечу, что в качестве носителя информации для хранения приватных ключей можно использовать floppy-дискеты и CD-диски. Все, что необходимо добавить в настройках PAM-модулей, - это опции!check_device, !check_if_mounted, и заменить значение параметра force_device на /dev/fd0 и /dev/cdrom соответственно. Например:

Auth sufficient pam_usb.so !check_device !check_if_mounted force_device=/dev/fd0