как называется механизм безопасности к которому относятся пароли парольные фразы и pin коды
Аутентификация
Учитывая степень доверия и политику безопасности систем, проводимая проверка подлинности может быть односторонней или взаимной. Обычно она проводится с помощью криптографических методов.
Аутентификацию не следует путать с авторизацией [2] (процедурой предоставления субъекту определённых прав) и идентификацией (процедурой распознавания субъекта по его идентификатору).
Содержание
История
С древних времён перед людьми стояла довольно сложная задача — убедиться в достоверности важных сообщений. Придумывались речевые пароли, сложные печати. Появление методов аутентификации с применением механических устройств сильно упрощало задачу, например, обычный замок и ключ были придуманы очень давно. Пример системы аутентификации можно увидеть в старинной сказке «Приключения Али́-Бабы́ и сорока разбойников». В этой сказке говорится о сокровищах, спрятанных в пещере. Пещера была загорожена камнем. Отодвинуть его можно было только с помощью уникального речевого пароля: «Сезам, откройся!».
В настоящее время в связи с обширным развитием сетевых технологий, автоматическая аутентификация используется повсеместно.
Элементы системы аутентификации
В любой системе аутентификации обычно можно выделить несколько элементов [3] :
Факторы аутентификации
Ещё до появления компьютеров использовались различные отличительные черты субъекта, его характеристики. Сейчас использование той или иной характеристики в системе зависит от требуемой надёжности, защищенности и стоимости внедрения. Выделяют 3 фактора аутентификации [4] :
Способы аутентификации
Аутентификация по многоразовым паролям
Один из способов аутентификации в компьютерной системе состоит во вводе вашего пользовательского идентификатора, в просторечии называемого «логином» (англ. login — регистрационное имя пользователя) и пароля — некой конфиденциальной информации. Достоверная (эталонная) пара логин-пароль хранится в специальной базе данных.
Простая аутентификация имеет следующий общий алгоритм:
Введённый субъектом пароль может передаваться в сети двумя способами:
Защищенность
С точки зрения максимальной защищенности, при хранении и передаче паролей следует использовать однонаправленные функции. Обычно для этих целей используются криптографически стойкие хэш-функции. В этом случае на сервере хранится только образ пароля. Получив пароль и проделав его хэш-преобразование, система сравнивает полученный результат с эталонным образом, хранящимся в ней. При их идентичности, пароли совпадают. Для злоумышленника, получившего доступ к образу, вычислить сам пароль практически невозможно.
Использование многоразовых паролей имеет ряд существенных минусов. Во-первых, сам эталонный пароль или его хэшированный образ хранятся на сервере аутентификации. Зачастую хранение пароля производится без криптографических преобразований, в системных файлах. Получив доступ к ним, злоумышленник легко доберётся до конфиденциальной информации. Во-вторых, субъект вынужден запоминать (или записывать) свой многоразовый пароль. Злоумышленник может заполучить его, просто применив навыки социальной инженерии, без всяких технических средств. Кроме того, сильно снижается защищенность системы в случае, когда субъект сам выбирает себе пароль. Зачастую это оказывается какое-то слово или комбинация слов, присутствующие в словаре. При достаточном количестве времени злоумышленник может взломать пароль простым перебором. Решением этой проблемы является использование случайных паролей или ограниченность по времени действия пароля субъекта, по истечении которого пароль необходимо поменять.
Базы учетных записей
На компьютерах с ОС семейства UNIX, базой является файл /etc/master.passwd (в дистрибутивах Linux обычно файл /etc/shadow, доступный для чтения только root), в котором пароли пользователей хранятся в виде хеш-функций от открытых паролей, кроме этого в этом же файле хранится информация о правах пользователя. Изначально в Unix-системах пароль (в зашифрованном виде) хранился в файле /etc/passwd, доступном для чтения всем пользователям, что было небезопасно.
На компьютерах с операционной системой Windows NT/2000/XP/2003 (не входящих в домен Windows) такая база данных называется SAM (Security Account Manager — Диспетчер защиты учётных записей). База SAM хранит учётные записи пользователей, включающие в себя все данные, необходимые системе защиты для функционирования. Находится в директории %windir%\system32\config\.
В доменах Windows Server 2000/2003 такой базой является Active Directory.
Однако более надёжным способом хранения аутентификационных данных признано использование специальных аппаратных средств (компонентов).
При необходимости обеспечения работы сотрудников на разных компьютерах (с поддержкой системы безопасности) используют аппаратно-программные системы, позволяющие хранить аутентификационные данные и криптографические ключи на сервере организации. Пользователи свободно могут работать на любом компьютере (рабочей станции), имея доступ к своим аутентификационным данным и криптографическим ключам.
Аутентификация по одноразовым паролям
Технологии использования одноразовых паролей можно разделить на:
В первом методе используется генератор псевдослучайных чисел с одинаковым значением для субъекта и для системы. Сгенерированный субъектом пароль может передаваться системе при последовательном использовании односторонней функции или при каждом новом запросе, основываясь на уникальной информации из предыдущего запроса.
Во втором методе используются временные метки. В качестве примера такой технологии можно привести SecurID. Она основана на использовании аппаратных ключей и синхронизации по времени. Аутентификация основана на генерации случайных чисел через определенные временные интервалы. Уникальный секретный ключ хранится только в базе системы и в аппаратном устройстве субъекта. Когда субъект запрашивает доступ в систему, ему предлагается ввести PIN-код, а также случайно генерируемое число, отображаемого в этот момент на аппаратном устройстве. Система сопоставляет введенный PIN-код и секретный ключ субъекта из своей базы и генерирует случайное число, основываясь на параметрах секретного ключа из базы и текущего времени. Далее проверяется идентичность сгенерированного числа и числа, введённого субъектом.
Третий метод основан на единой базе паролей для субъекта и системы и высокоточной синхронизации между ними. При этом каждый пароль из набора может быть использован только один раз. Благодаря этому, даже если злоумышленник перехватит используемый субъектом пароль, то он уже будет недействителен.
По сравнению с использованием многоразовых паролей, одноразовые пароли предоставляют более высокую степень защиты.
Многофакторная аутентификация
В последнее время всё чаще применяется, так называемая, расширенная или многофакторная аутентификация. Она построена на совместном использовании нескольких факторов аутентификации. Это значительно повышает защищенность системы.
В качестве примера можно привести использование SIM-карт в мобильных телефонах. Субъект вставляет аппаратно свою карту (устройство аутентификации) в телефон и при включении вводит свой PIN-код (пароль).
Также, к примеру в некоторых современных ноутбуках присутствует сканер отпечатка пальца. Таким образом, при входе в систему субъект должен пройти эту процедуру (биометрика), а потом ввести пароль.
Выбирая для системы тот или иной фактор или способ аутентификации необходимо прежде всего отталкиваться от требуемой степени защищенности, стоимости построения системы, обеспечения мобильности субъекта.
Можно привести сравнительную таблицу:
Протоколы аутентификации
Процедура аутентификации используется при обмене информацией между компьютерами, при этом используются весьма сложные криптографические протоколы, обеспечивающие защиту линии связи от прослушивания или подмены одного из участников взаимодействия. А поскольку, как правило, аутентификация необходима обоим объектам, устанавливающим сетевое взаимодействие, то аутентификация может быть и взаимной.
Более сложные протоколы аутентификации основаны на принципе «запрос-ответ», например, протокол CHAP (Challenge-Handshake Authentication Protocol). Работа протокола типа «запрос-ответ» может состоять минимум из четырех стадий:
Сам уникальный ключ, на основе которого производится шифрование и с одной, и с другой стороны, не передается по сети, следовательно, злоумышленник не сможет его перехватить. Но субъект должен обладать собственным вычислительным шифрующим устройством, например, смарт-карта, мобильный телефон.
Принцип действия протоколов взаимной аутентификации отличаются от протоколов типа «запрос-ответ» незначительно:
Алгоритм, приведенный выше, часто называют рукопожатием. В обоих случаях аутентификация проходит успешно, только если субъект имеет идентичные с системой уникальные ключи.
В операционных системах семейства Windows NT 4 используется протокол NTLM (NT LAN Manager — Диспетчер локальной сети NT). А в доменах Windows 2000/2003 применяется гораздо более совершенный протокол Kerberos.
Что такое Аутентификация: Методы и Элементы
Узнайте больше о том, для чего нужна аутентификация, и ознакомьтесь с её методами
Аутентификация (англ. authentication) — это основа безопасности любой системы, которая заключается в проверке подлинности данных о пользователе сервером.
Она не тождественна идентификации и авторизации. Эти три термина являются элементами защиты информации. Первая стадия — идентификация. На ней происходит распознавание информации о пользователе, например, логин и пароль. Вторая стадия — аутентификация. Это процесс проверки информации о пользователе. Третья стадия — авторизация. Здесь происходит проверка прав пользователя и определяется возможность доступа.
Содержание
Зачем нужна аутентификация
Аутентификация нужна для доступа к:
Элементы аутентификации
Методы аутентификации
Парольные
Самый распространенный метод. Аутентификация может проходить по одноразовым и многоразовым паролям. Многоразовый пароль задает пользователь, а система хранит его в базе данных. Он является одинаковым для каждой сессии. К ним относятся PIN-коды, слова, цифры, графические ключи. Одноразовые пароли — разные для каждой сессии. Это может быть SMS с кодом.
Комбинированные
Этот метод говорит сам за себя. Аутентификация происходит с использованием нескольких методов, например, парольных и криптографических сертификатов. Он требует специальное устройство для считывания информации.
Биометрические
Это самый дорогостоящий метод аутентификации. Он предотвращает утечку или кражу персональной информации. Проверка проходит по физиологическим характеристикам пользователя, например, по отпечатку пальца, сетчатке глаза, тембру голоса и даже ДНК.
Информация о пользователе
Она используется для восстановления логина или пароля и для двухэтапной аутентификации, чтобы обеспечить безопасность. К этому методу относится номер телефона, девичья фамилия матери, год рождения, дата регистрации, кличка питомца, место проживания.
Пользовательские данные
Этот метод основывается на геоданных о местоположении пользователя с использованием GPS, а также использует информацию о точках доступа беспроводной связи. Недостаток заключается в том, что с помощью прокси-серверов можно подменить данные.
Классификация видов аутентификации
В зависимости от количества используемых методов
В зависимости от политики безопасности систем и уровня доверия
Чтобы защитить владельца сайта от злоумышленников, используют криптографические протоколы аутентификации.
Типы протоколов обусловлены тем, где происходит аутентификация — на PC или в сети.
Аутентификация на PC
Аутентификация в сети
Ресурсы
Также искали с «Аутентификация»
Оценка: 4 / 5 (18)
Начните пользоваться сервисом SendPulse прямо сегодня
Если вам интересно, что такое «✅ Аутентификация: Определение, Методы, Виды», вам может быть интересен наш сервис рассылок.
Методы аутентификации, использующие пароли и PIN-коды
Аутентификация на основе PIN-кода
Наиболее распространенным методом аутентификации держателя пластиковой карты и смарт-карты является ввод секретного числа, которое обычно называют PIN-кодом (Personal Identification Number — персональный идентификационный код) или иногда CHV (CardHolder Verification). Защита PIN-кода карты является критичной для безопасности всей системы. Карты могут быть потеряны, украдены или подделаны. В таких случаях единственной контрмерой против несанкционированного доступа остается секретное значение PIN-кода. Вот почему открытая форма PIN должна быть известна только законному держателю карты. Очевидно, значение PIN нужно держать в секрете в течение всего срока действия карты.
Длина PIN-кода должна быть достаточно большой, чтобы минимизировать вероятность определения правильного PIN-кода методом проб и ошибок. С другой стороны, длина PIN-кода должна быть достаточно короткой, чтобы дать возможность держателям карт запомнить его значение. Согласно рекомендации стандарта ISO 9564-1, PIN-код должен содержать от 4 до 12 буквенно-цифровых символов. Однако в большинстве случаев ввод нецифровых символов технически невозможен, поскольку доступна только цифровая клавиатура. Поэтому обычно PIN-код представляет собой четырехразрядное число, каждая цифра которого может принимать значение от 0 до 9.
PIN-код вводится с помощью клавиатуры терминала или компьютера и затем отправляется на смарт-карту. Смарт-карта сравнивает полученное значение PIN-кода с эталонным значением, хранимым в карте, и отправляет результат сравнения на терминал. Ввод PIN-кода относится к мерам безопасности, особенно для финансовых транзакций, и, следовательно, требования к клавиатуре часто определяются в прикладной области. PIN-кла-виатуры имеют все признаки модуля безопасности и шифруют PIN-код сразу при его вводе. Это обеспечивает надежную защиту от проникновения в клавиатуру для перехвата PIN-кода во время ввода.
При идентификации клиента по значению PIN-кода и предъявленной карте используются два основных способа проверки PIN-кода: неалгоритмический и алгоритмический.
Неалгоритмический способ проверки PIN-кода не требует применения специальных алгоритмов. Проверка PIN-кода осуществляется путем непосредственного сравнения введенного клиентом PIN-кода со значениями, хранимыми в БД. Обычно БД со значениями PIN-кодов клиентов шифруется методом прозрачного шифрования, чтобы повысить ее защищенность, не усложняя процесса сравнения.
Алгоритмический способ проверки PIN-кода заключается в том, что введенный клиентом PIN-код преобразуют по определенному алгоритму с использованием секретного ключа и затем сравнивают со значением PIN-кода, хранящимся в определенной форме на карте. Достоинства этого метода проверки:
• отсутствие копии PIN-кода на главном компьютере исключает его раскрытие обслуживающим персоналом;
• отсутствие передачи PIN-кода между банкоматом или кассиром-автоматом и главным компьютером банка исключает его перехват злоумышленником или навязывание результатов сравнения;
• упрощение работы по созданию программного обеспечения системы, так как уже нет необходимости действий в реальном масштабе времени.
Эта статья была опубликована Пятница, 4 сентября, 2009 at 15:09 в рубрике Технологии аутентификации. Вы можете следить за ответами через RSS 2.0 feed.
Информационная безопасность и защита информации (архив ИПМ бакалавры 2010-2021г, Богомолов)
7 Лекция. Аутентификация
Аутентификация
Аутентификация (Authentication) — проверка принадлежности субъекту доступа по предъявленному им идентификатору (пароль, ключ и т.д.); подтверждение подлинности.
Рис. Методы аутентификации
Аутентификация по многоразовым паролям
Используется один пароль многократно.
Хотя аутентификация может использоваться не только к удаленным системам, методы аутентификации будем рассматривать сразу на примерах к удаленным системам
Протоколы аутентификации
PAP (Password Authentication Protocol)
Недостатки и пути решения:
Решение проблемы «подбора паролей» :
Почему эти пароли плохие:
Наиболее хорошим вариантом являются пароли построенные на фразах:
Рис. Хорошие пароли
Решение проблемы «просмотра паролей в системе» :
Рис. Пароли не хранятся в системе, а хранятся их хэши
Пароли в системе не хранятся, при этом пользователь проходит аутентификацию по паролю.
В большинстве современных систем именно так и сделано. Не только в ОС, но и в СУБД, форумах, сайтах и т.д.
Решение проблемы «перехвата паролей при передачи»:
Рис. Шифрование передаваемых паролей
В настоящее время чаще всего для шифрования паролей используется протокол SSL ( Secure Sockets Layer — уровень защищённых сокетов, http://ru.wikipedia.org/wiki/SSL).
Протоколы аутенти фикации вызов-ответ
CHAP (Challenge Handshake Authentication Protocol)
Основан на вычислении имитовставки по алгоритму HMAC, роль симметричного ключа выполняет пароль.
Рис. Протокол CRAM
В CRAM вместо пароля на сервере может хранится хэш.
Digest access authentication (DIGEST-MD5)
Схема аналогичная CHAP.
HA1 = MD5( «Mufasa:testrealm@host.com:Circle Of Life» )
= 939e7578ed9e3c518a452acee763bce9
HA2 = MD5( «GET:/dir/index.html» ) = 39aff3a2bab6126f332b942af96d3366
Response = MD5( «939e7578ed9e3c518a452acee763bce9:\
dcd98b7102dd2f0e8b11d0f600bfb0c093:\
00000001:0a4f113b:auth:\
39aff3a2bab6126f332b942af96d3366″ )
Взаимная аутентификация
Т.к. сервер может быть ложным, необходимо провести взаимную аутентификацию.
Рис. Протокол взаимной аутентификации
Аутентификация по одноразовым паролям (One-time password)
Различные подходы к созданию одноразовых паролей:
Одноразовые пароли клиент может получать:
Рис. пример банковской карты
Многофакторная аутентификация
Иногда используются сразу несколько методов аутентификации.
Например: электронный ключ и логин.
При использовании SIM-карт в мобильных телефонах. Субъект вставляет свою SIM-карту в телефон и при включении вводит свой PIN-код (пароль).
В случае банковской карты. Субъект вставляет свою банковскую карту в банкомат и вводит свой PIN-код (пароль).
Как называется механизм безопасности к которому относятся пароли парольные фразы и pin коды
Простая аутентификация – одна из наиболее часто используемых схем установки подлинности лица, получающего доступ к какой-либо системе; основанная на использовании многоразовых паролей с одновременным согласованием их обработки и средств использования, простая аутентификация является доступным и ясным примером использования разделяемой информации, которое практикуется в большинстве защищеных виртуальных сетей VPN (Virtual Private Network), где доступ пользователя к серверу разрешается при введении верного пароля. Но эволюция методов аутентификации предоставляет сегодня более эффективные средства – такие как программные и аппаратные системы аутентификации на основе одноразовых паролей, смарт-карт, PIN-кодов и цифровых сертификатов.
Аутентификация с использованием многоразовых паролей.
При аутентификации на основе многоразового пароля доступ ко всем ресурсам сервера разрешается при единичном введении пользователем своего пароля. В соответствии с этим принципом в современных ОС заложена централизованная программа аутентификации, исполняемая каким-либо сервером сети при помощи базы данных, в которой содержится информация в том числе и об идентификаторах (логинах) и паролях пользователей.
Простая аутентификация пользователя имеет следующий алгоритм исполнения:
— пользователь запрашивает доступ в сеть и для подтверждения подлинности своего лица вводит свой идентификатор и пароль;
— введенные данные поступают на сервер аутентификации, где сравниваются с эталоном, содержащимся в базе данных;
— при совпадении эталона с введенными данными аутентификация признается успешной, и пользователь получает доступ к запрошенным ресурсам и права, определеные его статусом в сети.
Идентификатор и пароль пользователя могут передаваться на сервер аутентификации двумя основными способами:
— передача в открытом виде: в соответствии с протоколом парольной аутентификации PAP (Password Authentication Protocol) пароль передается по сети незашифрованным.
— передача с использованием шифрования или однонаправленной функции (хэш-функции): прохождение всех данных пользователя по сети (включая и идентификатор, и пароль, и мести времени, и случайное число) осуществляется в защищённом виде.
Передача пароля в открытом виде является чрезвычайно уязвимой для атак извне, поэтому для защиты информации перед пересылкой по открытому каналу она шифруется при помощи специализированных средств и шифрования и дешифровки, управляемых разделяемым секретным ключом. Исходное значение пароля хранится на сервере аутентификации, и в том случае, если введенная пользователем информация идентична содержащейся в базе данных, то пользователь приобретает легальный статус.
Еще одной уязвимостью простой аутентификации является система хранения паролей пользователей на сервере аутентификации, в которой зачастую отсутствует защита информации при помощи криптографических механизмов (шифрование, хэширование). В этом случае пароли хранятся в системных файлах, на которые ставится простейшая защита от чтения и записи – в операционных системах эта функция осуществляется путем прописывания привилегий тех или иных пользователей в списках контроля доступа ОС. Очевидно, что при такой организации для доступа к системному файлу, содержащему пароли пользователей, достаточно иметь привилегии администратора данной системы, что не является сложной задачей для человека, поставившего себе цель узнать эту информацию.
Для обеспечения наиболее надежной защиты любой информационной системы, хранение конфиденциальной информации должно быть организованно таким образом, чтобы пароль каждого конечного пользователя этой системы был известен только ему и никому другому, даже группе администраторов. Большое количество начинающих специалистов в области информационной безопасности считают, что то, что администратор имеет доступ к учетным записям пользователей, не оказывает отрицательного воздействия на безопасность системы в целом, так как администратор, войдя в нее от имени обычного пользователя, естественно получает права гораздо меньшие, чем те, которые он получил бы, зайдя в систему от своего имени.
В некоторой степени, это все, конечно верно, однако приведенное выше утверждение имеет несколько упущений, во-первых, входя в систему от имени другого пользователя, администратор имеет возможность обойти систему аудита, записывающую в специальный журнал все действия пользователей, во-вторых, администратор получает возможность совершать какие-либо действия, компрометирующие пользователя, что не может быть допустимо в защищенной системе. Таким образом, из приведенных выше фактов, можно сделать вывод, что пароли пользователей в системе, имеющей надежную защиту не должны храниться в открытом виде.
С позиции максимальной защиты информационной системы предпочтительным способом хранения паролей является применение односторонних функций. Наиболее часто для шифрования паролей в базе данных используют одну из известных криптографически стойких хэш-функций. Такой подход характерен тем, что в БД пользователей хранится не сам пароль, а его образ, являющийся результатом, получаемым после применения к паролю хэш-функции. Криптографически-стойкие хеш-функции отличаются своей однонаправленностью. Это означает, что по образу пароля, сгенерированного хэш-функцией восстановить сам пароль невозможно. Однако всегда образы хеш-функции от одного и того же пароля будут одинаковы. Это позволяет скрипту, производящему авторизацию, зная используемую в системе хэш-функцию, получить образ введенного пользователем пароля и сравнить его с тем образом, что хранится в БД. Если образы равны, то пароли одинаковы.
В том случае, когда при регистрации в системе пароль не генерируется случайно, а предлагается к вводу пользователю, система аутентификации имеет пониженную стойкость, поскольку выбор аутентифицирующей информации происходит из относительно небольшого множества слов (как правило, присутствующих в рамках словаря). При достаточном количестве времени система может быть взломана обычным перебором. Чтобы повысить безопасность такой системы, срок действия многоразового пароля должен быть ограничен во времени, по истечении указанного периода, пароль меняется на новый.
Аутентификация с использованием одноразовых паролей
Традиционные схемы аутентификации, имеющие в своей основе использование многоразовых паролей, не обладают достаточным уровнем безопасности. Такие пароли могут быть подобраны при помощи специальных программ, перехвачены, подсмотрены и т.д. Иными словами, узнав пароль однажды, злоумышленник имеет постоянный доступ к взломанной учётной записи. С этой точки зрения, более надежными являются процедуры аутентификации на основе одноразовых паролей.
Основная идея принципа одноразовых паролей заключается в том, что при каждом новом запросе на предоставление доступа будут использоваться различные пароли. Одноразовый динамический пароль может быть использован только для одного входа в систему, после этого его действие истекает. Даже если хакер сможет перехватить его в момент аутентификации, пароль окажется бесполезен. Как показывает практика, динамический механизм генерации паролей является одним из лучших методов защиты процесса аутентификации. Наиболее широко системы аутентификации с одноразовыми паролями применяются при необходимости работы с удаленными пользователями, когда авторизация и аутентификация производятся в условиях небезопасных, общедоступных сетей, таких как Интернет и т.д.
Методы применения одноразовых паролей для аутентификации пользователей классифицируют следующим образом:
1. Использование генератора псевдослучайных чисел, общего для пользователя и проверяющей системы, с одним и тем же начальным значением.
2. Использование механизма временных меток на основе системы единого времени.
3. Использование списка случайных паролей, общего для легального пользователя и проверяющей системы, и механизма их синхронизации.
Следует отметить, что создание одноразовых паролей может иметь в своей основе, как аппаратный, так и про¬граммный способ реализации. Большое количество аппаратных средств на основе одноразовых паролей в настоящее время создаются в виде миниатюрных устройств со встроенным микропроцессором, внешне напоминающих кредитные банковские карты.
Первый метод применения одноразовых паролей для аутентификации пользователей базируется на использовании генератора псевдослучайных чисел, общего для пользователя, осуществляющего вход и проверяющей системы аутентификации, с одним и тем же начальным значением. Различают два основных способа реализации этого метода аутентификации:
— последовательность преобразуемых одноразовых паролей. В процессе очередной сессии аутентификации пользователь создает и передает пароль именно для данной сессии, зашифрованный на секретном ключе, полученном из пароля предыдущей сессии;
— последовательности паролей, основанные на односторонней функции. Суть данного метода составляет последовательное использование односторонней функции. Этот метод является более предпочтительным с точки зрения безопасности по сравнению с методом последовательно преобразуемых паролей.
В качестве примера аппаратного способа реализации механизма одноразовых паролей на основе временных меток можно привести технологию аутентификации SecurId, основанную на одноразовых паролях с использованием аппаратных ключей и механизма временной синхронизации. Эта технология аутентификации создана компанией Security Dynamics и реализована в ряде коммуникационных серверов довольно большого числа компаний, например, в серверах компании Cisco Systems. Данная схема аутентификации основывается на программном алгоритме генерации случайных чисел через определённые промежутки времени, которые устанавливаются и могут быть изменены администратором системы. В механизме аутентификации задействованы два параметра:
— значение метки текущего времени;
В тот момент, когда пользователь осуществляет вход в сеть, система предлагает ему ввести его PIN-код, состоящий из четырех десятичных цифр, а также шесть цифр случайно генерируемого числа, отображаемого в этот момент на дисплее аппаратного ключа. Используя введенный пользователем PIN-код, сервер извлекает из базы данных секретный ключ пользователя и выполняет алгоритм генерации случайного числа, используя в качестве параметров извлеченный секретный ключ и значение текущего времени. После этого сервер осуществляет проверку, совпадают ли сгенерированное число и число, введённое пользователем. Если эти числа совпадают, то сервер разрешает пользователю осуществить логический в систему.
Такая схема аутентификации имеет очень твердую и устойчивую к взломам защиту, что оказывается крайне необходимым при осуществлении в системе критически важных действий, например денежных транзакций на крупные суммы или работы с информацией, составляющей ноу-хау компании. Однако, приведённая выше схема аутентификации, наряду с вполне очевидными достоинствами имеет и ряд серьёзных недостатков, основным из которых является требование точной временной синхронизация аппаратного ключа и сервера. Так как аппаратный ключ может функционировать несколько лет, вполне очевидно, что со временем будет происходить постепенное расхождение внутренних часов сервера и аппаратного ключа. Для решения этой проблемы в компании Security Dynamics предлагают два способа:
— при производстве аппаратного ключа точно измеряется отклонение частоты его внутренних часов от номинала. Полученное значение вводится в формулу вычисления секретного значения, как пара¬метр алгоритма;
— сервер отслеживает коды, генерируемые конкретным аппаратным ключом, и при первых признаках отклонения времени автоматически подстраивается под этот ключ.
Помимо вышеописанной проблемы есть и ещё один существенный недостаток. Так как фактически пользователь может осуществлять доступ к серверам компании из любой точки планеты и любой сети, то необходимо заложить определённый промежуток времени, в течение которого случайно сгенерированное число будет действительно. Это делается для того, чтобы охватить время пересылки информации между терминалом, к которому подключён аппаратный ключ и самим сервером аутентификации, так как в большинстве стран качество связи все ещё оставляет желать лучшего, то время пересылки данных может быть достаточно велико. И, чтобы исключить ситуацию, когда сгенерированный ключ приходит на сервер, а время его действия уже истекло, закладывается интервал действия ключа, в некоторых случаях достаточно большой. Поэтому, в принципе, возможна кратковременная ситуация, когда хакер может перехватить PIN-код и случайное число, чтобы использовать их для доступа в сеть быстрее, чем сам владелец. Это самое уязвимое место схемы аутентификации, основанной на временной синхронизации.
Третий метод использования одноразовых паролей для аутентификации пользователей основан на применении определённого набора случайных паролей, общего для пользователя и проверяющего, а также надежного механизма их синхронизации. Разделяемый список одноразовых паролей представляется в виде последовательности или набора секретных паролей, где каждый пароль употребляется только один раз. Данный список должен быть заранее распределен между сторонами аутентификационного обмена. Вариантом данного метода является использование таблицы запросов-ответов, в которой содержатся запросы и ответы, используемые сторонами для проведения аутентификации, причем каждая пара должна применяться только один раз.
Аутентификация на основе PIN-кодов.
Как было сказано выше, в случаях потери, кражи или подделки пластиковых карт единственным способом предотвращения взлома системы является секретное значение PIN-кода. Именно поэтому PIN должен держаться в секрете в течение всего срока действия карты. При определении длины PIN-кода разработчики подобных систем сталкиваются с несколькими трудностями. С одной стороны его длина должна быть настолько большой, чтобы исключить вероятность определения нужного PIN-кода к карте методом перебора. С другой – не должна быть слишком большой, чтобы была удобна для запоминания и быстрого ввода пользователю. В стандарте ISO 9564-1 указанно, что PIN-код должен содержать от четырех до двенадцати буквенно-цифровых символов. Однако, на практике, в большинстве случаев ввод нецифровых символов технически невозможен, поскольку соответствующая клавиатура недоступна (банкоматы, различные терминалы обмена и оплаты и т.д.). Поэтому наиболее часто PIN-код – это четырехзначное число, каждая цифра которого может принимать значение от 0 до 9.
В систему PIN-код вводится с помощью клавиатуры терминала или компьютера, после чего передается на смарт-карту, которая, в свою очередь, сравнивает полученное значение PIN-кода с правильным значением, хранимым в ней, и отправляет результат сравнения на терминал. Этап ввода PIN-кода относится к критически важным, так как на этом этапе он может быть перехвачен множеством разных способов. Чтобы значительно понизить риск этого этапа, в каждой прикладной области использования смарт-карт существует свой набор стандартов производства терминалов – как правило, PIN-терминалы обладают всеми свойствами модуля безопасности, шифруя PIN-код сразу при его вводе. Это позволяет обеспечить надежную защиту против проникновения в клавиатуру с целью перехвата PIN-кода в момент его ввода.
PIN-коды делятся на статические и динамические (изменяемые). Статический PIN-код не может быть изменен пользователем на протяжении всего срока действия карты. Каждой карте должен соответствовать один и только один PIN-код. Чтобы заменить его, должна быть изменена сама смарт-карта. Вследствие этой особенности работы статических PIN-кодов пользователю следует проявлять максимальную внимательность при обращении со смарт-картой с таким PIN-кодом. Если PIN-код станет известен постороннему лицу, пользователь должен уничтожить карту и получить новую с другим фиксированным PIN-кодом.
Изменяемый PIN-код может быть изменен согласно пожеланиям пользователя на любое другое число, как правило, это такое число, которое пользователю легче вводить с клавиатуры или легче запомнить. Динамический PIN-код значительно облегчает процедуру противодействия в том случае, если он станет доступен постороннему лицу – нет издержек на смену карты, достаточно ввести новый PIN-код со специального терминала. Однако при изменяемом PIN-коде существует значительная опасность – потенциальная возможность быстрого раскрытия PIN-кода методом перебора. Это обуславливается тем, что числа, которые подавляющее количество людей считают удобными для запоминания и бытового применения, это либо очень простые числа, вроде 1111, 1234, 0987 и т.д., либо числа, каким-либо образом связанные с их биографией, самым распространенным примером является использование даты своего рождения, например 15071970 – такой PIN-код легко подобрать, Зная дату рождения пользователя (15 июля 1970-ого года) и т.д. Смарт-карта, как правило, не обладает средствами защиты от таких тривиальных чисел, так как для хранения всех правил, по которым они будут определяться, не хватает доступной памяти. Однако в настоящий момент все больше терминалов оснащаются защитой от замены PIN-кода на такое число.
Следует также отметить такой термин, как «Транспортные PIN-коды». Изначально изготовленная карта обладает случайным значением PIN-кода, а владелец карты получает значение PIN-кода отдельно, в защищенном от просвечивания конверте. При первом использовании смарт-карты, пользователь должен заменить PIN-код, изначально определенный для карты, на выбранный им самим. Такой механизм действий исключает потенциальную возможность того, что PIN-код, выслеженный во время изготовления карты кем-то из сотрудников обслуживающей компании, позже может быть незаконно им использован.
Способы атаки на системы, использующие смарт-карты и PIN-коды.
1. Угадывание PIN-кода. Одним из простейших и старейших (в то же время эффективных до сих пор) методов взлома PIN-кода является банальное угадывание. Вероятность угадывания напрямую зависит от длины угадываемого PIN-кода, от составляющих его символов и от количества разрешенных попыток ввода.
Для оценки риска, связанного с использованием конкретных правил формирования конечного PIN-кода, на практике применяются следующие формулы вычисления вероятности угадывания. Обозначения:
y – результатирующее число возможных комбинаций PIN-кода;
Тогда число возможных комбинаций PIN-кода определяется формулой y= x».
Вероятность угадывания PIN-кода за k попыток определяется формулой I = k/x».
Рассмотрим ситуацию угадывания далее. В спецификациях PC/SC настоятельно рекомендуется, чтобы при вводе PIN-кода было установлено ограничение на количество неверных попыток. Когда число зарегистрированных неверных попыток достигает заданного лимита, процесс ввода блокируется, препятствуя дальнейшим попыткам аутентификации. В одних случаях, ввод блокируется на некоторое время (3, 5, 24 часа), однако, наиболее часто блокировка аутентификации осуществляется «навсегда», до непосредственного контакта с клиентом, чей пароль пытались подобрать. Как правило, в этом случае клиент пишет заявление на разблокирование своего аккаунта, параллельно, с чем может быть заменена смарт-карта и/или ее PIN-код. В спецификации рекомендуется устанавливать допускаемое число неверных попыток в диапазоне от 1 до 255. На практике в большинстве случаев используется число попыток, равное 3.
Добавим в приведенные выше формулы число попыток ввода PIN-кода k. Если число разрешенных попыток ввода k = 3, то вероятность угадывания правильного значения PIN-кода из четырех десятичных цифр за три попытки вво¬да составляет I = k/x» = 3/104 = 0,00003, или 0,03%. Такая вероятность угадывания считается достаточно прочной практически для любых транзакций, в том числе денежных, и применяется большинством банков.
2. Применение на терминале взламываемой системы специальных устройств. Особо широкое распространение этот тип взлома получил в начале 21-ого века. Его суть заключается в «наложении» поверх средств коммуникации с клиентом (цифровая панель для ввода PIN-кода или устройство для вставки смарт-карты) терминала взламываемой системы предметов, созданных злоумышленниками. Например, для изъятия у клиента его смарт-карты используется специальное устройство, называемое «рукав», которое вводится в щель для пластиковой карты и блокирует ее попадание в механизмы терминала. Терминал, естественно, не видит введенной карты и предлагает пользователю заново ввести ее. Транзакции не проходят, карта не возвращается из банкомата. Через некоторое время обиженный и потерявший терпение клиент бросает карту в банкомате, считая, что это какой-то системный сбой. Злоумышленник, после того как пользователь ушел, спокойно достает карту при помощи специального приспособления. Как правило, «рукав» применяется в совокупности со специальной накладкой на клавиатуру, которая располагается поверх настоящей клавиатуры и полностью эмулирует ее работу, запоминая при этом вводимый пользователем PIN-код. Вместо накладки может использоваться мини-видеокамера, направленная на клавиатуру и записывающая, какие кнопки нажимает пользователь.
Помимо проблем, связанных с потенциальным взломом PIN-кода карты, каждый, обслуживающий систему, основанную на пластиковых картах, субъект должен позаботиться о средствах восстановления PIN-кода. В идеале, значение PIN-кода запоминается держателем карты и не должно храниться в любой читаемой форме. Однако, память у людей несовершенна, и часто они попросту забывают значения своих PIN-кодов. На этот случай, субъект, обслуживающий систему, должен иметь специальные механизмы восстановления. Как правило, реализуется один из двух подходов – восстановление забытого клиентом значения PIN-кода и от¬правка его обратно владельцу карты, либо просто генерация но¬вое значение PIN-кода.
При идентификации клиента по значению PIN-кода и предъявленной карте используется два основных способа проверки PIN-кода: неалгоритмический и алгоритмический.
Неалгоритмический способ проверки PIN-кода не требует применения специальных алгоритмов. Проверка PIN-кода осуществляется путем непосредственного сравнения введенного клиентом PIN-кода со значениями, хранимыми в базе данных. Обычно база данных со значениями PIN-кодов клиентов шифруется методом прозрачного шифрования, чтобы повысить ее защищенность, не усложняя процес¬са сравнения.
Алгоритмический способ проверки PIN-кода заключается в том, что введенный клиентом PIN-код преобразуют по определенному алгоритму с использованием секретного ключа и затем сравнивают со значением PIN-кода, хранящимся в опре¬деленной форме на карте. Достоинства этого метода проверки:
— отсутствие копии PIN-кода на главном компьютере исключает его раскрытие обслуживающим персоналом;
— отсутствие передачи PIN-кода между банкоматом или кассиром-автоматом и главным компьютером банка исключает его перехват злоумышленником или навязывание результатов сравнения;
— упрощение работы по созданию программного обеспечения системы, так как уже нет необходимости действий в реальном масштабе времени.