Добавлен: 29.10.2018
Просмотров: 48138
Скачиваний: 190
9.6. Аутентификация
701
машина) начинается с входа пользователя в банковский компьютер через удаленный
терминал (ATM-машину) с использованием пластиковой карты и пароля (в настоящее
время в большинстве стран это ПИН-код, состоящий из 4 цифр, позволяющий избе-
жать затрат на установку в банкоматах полноценной клавиатуры).
Пластиковые карты, содержащие информацию, бывают двух вариантов: карты с маг-
нитной полосой и карты с микросхемой (чипом). На картах с магнитной полосой
содержится около 140 байт информации, записанной на кусочке магнитной ленты, на-
клеенной с тыльной стороны карты. Эта информация может быть считана терминалом
и отправлена на центральный компьютер.
Зачастую информация содержит пользовательский пароль (например, ПИН-код),
поэтому терминал может провести операцию идентификации даже при потере связи
с основным компьютером. Как правило, пароль зашифрован ключом, известным толь-
ко банку. Эти карты стоят от 10 до 50 центов в зависимости от наличия на лицевой
стороне голографической наклейки и объема их выпуска. Вообще-то использование
карт с магнитной полосой для идентификации пользователей не обходится без риска,
обусловленного широким распространением и низкой стоимостью оборудования для
чтения и записи хранящейся на них информации.
У чип-карт есть небольшая встроенная микросхема (чип). Эти карты могут быть раз-
делены на две категории: карты с хранимой суммой и смарт-карты. Карты с хранимой
суммой
(stored value cards) имеют небольшой объем памяти (обычно менее 1 Кбайт),
использующей технологию, позволяющую запоминать сумму при извлечении карт
из считывающего устройства и, соответственно, отключении питания. Эти карты
не содержат центрального процессора, поэтому хранимую сумму должен изменять
внешний центральный процессор (в считывающем устройстве). Стоят они меньше
доллара, выпускаются миллионами, используются, к примеру, в качестве предопла-
ченных телефонных карт. При совершении звонка телефон просто уменьшает сумму
на карте, исключая наличный расчет. Поэтому такие карты обычно выпускает какая-
нибудь компания для использования только на ее машинах (например, в телефонах
или торговых автоматах). Они могут использоваться для аутентификации при входе
в систему, сохраняя в себе пароль длиной 1 Кбайт, который считывающее устройство
будет отправлять центральному компьютеру, однако так они применяются редко.
Но в наши дни основной объем работ по обеспечению безопасности сконцентрирован
на смарт-картах (smart cards), у которых сейчас имеется что-то вроде 8-разрядного
центрального процессора с тактовой частотой 4 МГц, 16 Кбайт ПЗУ, 4 Кбайт EEPROM,
512 байт временной оперативной памяти и каналом связи со скоростью 9600 бит/с для
обмена данными со считывающим устройством. Со временем эти карты становятся все
более замысловатыми, но имеют ограничения по многим параметрам, включая толщину
микросхемы (поскольку она встроена в карту), ширину микросхемы (она не должна
ломаться при изгибах карты) и стоимость (обычно она колеблется от 1 до 20 долларов
в зависимости от мощности центрального процессора, объема памяти и присутствия
или отсутствия криптографического сопроцессора).
Смарт-карты, как и карты с хранимой суммой, могут использоваться для хранения
денежных средств, но более безопасным и универсальным образом. В банкоматах или
дома по телефону с использованием специального устройства чтения, предоставляе-
мого банком, на эти карты может быть зачислена определенная сумма. После вставки
в устройство чтения торговой организации пользователь может авторизовать карту на
снятие с нее определенной суммы (набрав подтверждение
YES
), заставляя ее отправить
702
Глава 9. Безопасность
торговому терминалу небольшое зашифрованное сообщение. Затем чуть позже торговый
терминал может передать сообщение банку-кредитору для получения выданной суммы.
Большим преимуществом смарт-карт, скажем, над кредитными или дебетовыми кар-
тами является то, что им не нужна оперативная связь с банком. Если вы не верите
в это преимущество, можете провести следующий эксперимент. Попробуйте купить
шоколадный батончик и настоять на том, чтобы расплатиться кредитной картой. Если
продавец будет возражать, скажите, что у вас нет наличных средств и, кроме того,
вы стараетесь как можно чаще рассчитываться картой, чтобы получить скидки. Вы
увидите, что продавец не воспринял эту идею с энтузиазмом (поскольку связанные
с этим издержки снижают прибыль от продажи). Польза от смарт-карт проявляется
при мелких покупках, оплате парковки, пользовании торговыми автоматами и многими
другими устройствами, для расчета с которыми обычно требуется мелочь. Эти карты
получили широкое распространение в Европе и по всему миру.
Потенциальная сфера применения смарт-карт довольно широка (например, для безопас-
ного хранения зашифрованных сведений о подверженности аллергическим реакциям
и других медицинских показателях для использования в критических ситуациях), но
здесь не место для подобных рассказов. Нас интересует, как эти карты могут использо-
ваться для безопасной аутентификации при входе в систему. Основная концепция до-
вольно проста: смарт-карта — это миниатюрный, защищенный от внешних воздействий
компьютер, который может быть привлечен к переговорам (по протоколу) с центральным
компьютером, чтобы выполнить аутентификацию пользователя. Например, пользова-
тель, желающий купить что-нибудь на коммерческом веб-сайте, вставляет смарт-карту
в домашнее считывающее устройство, подключенное к персональному компьютеру.
Коммерческий веб-сайт не только воспользуется смарт-картой для аутентификации
пользователя более безопасным способом по сравнению с вводом пароля, но и может
непосредственно снять с нее сумму для оплаты покупки, избавляя от многих издержек
(и риска), связанных с использованием кредитных карт при сетевых покупках.
Со смарт-картами могут применяться различные схемы аутентификации. Простой про-
токол «оклик — отзыв» работает следующим образом. Сервер посылает 512-разрядное
случайное число смарт-карте, которая добавляет к нему 512-разрядный пароль, хра-
нящийся в электрически стираемом программируемом ПЗУ. Затем сумма возводится
в квадрат, и средние 512 бит посылаются обратно на сервер, которому известен пароль
пользователя, поэтому сервер может произвести те же операции и проверить правиль-
ность результата. Эта последовательность показана на рис. 9.17. Если даже взломщик
видит оба сообщения, он не может извлечь из них что-либо полезное. Сохранять эти
сообщения на будущее также нет смысла, так как в следующий раз сервер пошлет
пользователю другое 512-разрядное случайное число. Конечно, вместо возведения
в квадрат может применяться (и, как правило, применяется) более хитрый алгоритм.
Недостаток любого фиксированного криптографического протокола состоит в том,
что со временем он может быть взломан, делая смарт-карту бесполезной. Избежать
этого можно, если хранить в памяти карты не сам криптографический протокол, а Java-
интерпретатор. При этом настоящий криптографический протокол будет загружаться
в карту в виде двоичной программы Java и запускаться на ней в режиме интерпретации.
Таким образом, как только один протокол будет взломан, можно будет без особого тру-
да установить по всему миру новый протокол: при следующем использовании карты
на нее будет установлено новое программное обеспечение. Недостаток такого подхода
заключается в том, что и без того не отличающаяся высокой производительностью
9.6. Аутентификация
703
Рис. 9.17. Использование смарт-карты для аутентификации
смарт-карта будет работать еще медленнее, но с развитием технологий этот метод
приобретает все большую гибкость. Другой недостаток смарт-карт состоит в том, что
утраченная или похищенная смарт-карта может стать объектом атаки по побочному
каналу
(side-channel attack), к примеру атаки, основанной на анализе уровня энерго-
потребления. Специалист, обладающий соответствующим оборудованием, наблюдая
за потребляемой картой электрической мощностью во время выполнения ею повто-
ряющихся операций шифрования, может установить содержимое ключа. Измерение
времени, необходимого на зашифровку различных специально подобранных ключей,
также может предоставить ценную информацию о ключе.
9.6.6. Аутентификация с использованием
биометрических данных
Третий метод аутентификации основан на измерении физических характеристик поль-
зователя, которые трудно подделать. Они называются биометрическими параметрами
(biometrics) (Boulgouris et al., 2010; Campisi, 2013). Например, для идентификации
пользователя может использоваться специальное устройство считывания отпечатков
пальцев или тембра голоса.
Работа типичной биометрической системы состоит из двух частей: занесения пользова-
теля в список и идентификации. Первая часть состоит в измерении пользовательских
характеристик и оцифровке результатов. Затем извлекаются отличительные признаки,
которые сохраняются в связанной с пользователем записи. Эта запись может храниться
в централизованной базе данных (например, для входа на удаленный компьютер) или
сохраняться на смарт-карте, находящейся у пользователя и вставляемой в удаленное
устройство считывания (например, в банкомат).
Вторая часть заключается в идентификации. Пользователь вводит регистрационное имя.
Затем система опять проводит измерения. Если новые значения совпадают с полученны-
ми на этапе занесения пользователя в список, вход разрешается, в противном случае он
отклоняется. Регистрационное имя требуется потому, что измерения никогда не имеют
точных результатов, поэтому их сложно проиндексировать, чтобы потом вести поиск
по индексу. К тому же у двоих людей могут быть одни и те же характеристики, поэтому
требование соответствия измеренных характеристик тем характеристикам, которые
704
Глава 9. Безопасность
относятся к конкретному пользователю, носит более строгий характер, чем требование
соответствия характеристикам какого-либо пользователя. Выбранная характеристика
должна обладать достаточным разнообразием значений, чтобы система могла безоши-
бочно отличать друг от друга множество людей. К примеру, цвет волос не может служить
хорошим показателем, поскольку есть множество людей с одинаковым цветом. К тому же
характеристика не должна со временем изменяться, а у некоторых людей цвет волос этим
свойством не обладает. Точно так же и человеческий голос может изменяться из-за про-
студы, а лицо может выглядеть по-другому из-за бороды или макияжа, которых не было
во время занесения пользователя в список. Поскольку последующие пробы, скорее всего,
никогда в точности не совпадут с первоначальными, разработчики системы должны
принять решение, насколько точным должно быть совпадение, чтобы быть принятым.
В частности, они должны решить, что хуже — время от времени отказывать в доступе
легитимному пользователю или иногда давать возможность обманщику входить в систе-
му. Для коммерческого веб-сайта может быть принято решение, что лучше уж запустить
на него небольшое количество мошенников, чем отказать законному клиенту, а вот для
веб-сайта, имеющего отношение к разработке ядерного оружия, может быть принято
решение, что отказ во входе настоящему сотруднику предпочтительнее выдачи дважды
в год разрешения на вход совершенно постороннему человеку.
Давайте кратко рассмотрим некоторые биометрические характеристики, используемые
в настоящее время. Как ни удивительно, но довольно часто практикуется измерение
длины пальцев. Каждый компьютер, на котором используется это измерение, оборуду-
ется устройством, похожим на изображенное на рис. 9.18. Пользователь вставляет свою
ладонь в это устройство, где происходят измерение длины всех его пальцев и сравнение
полученных результатов с данными, сохраненными в базе.
Рис. 9.18. Устройство для измерения длины пальцев
Но измерение длины пальцев далеко от идеала. Система может быть атакована с ис-
пользованием отливок ладоней, изготовленных из гипса или других материалов,
возможно, с настраиваемой длиной пальцев, допускающей подбор нужных размеров.
9.6. Аутентификация
705
Еще одна биометрическая технология, получившая широкое коммерческое распростра-
нение, — распознавание по радужной оболочке глаз (iris recognition). Ни у кого из
людей (даже у совершенно похожих друг на друга близнецов) нет одинакового рисунка,
поэтому распознавание по радужной оболочке глаз ничуть не хуже распознавания по
отпечаткам пальцев и легче поддается автоматизации (Daugman, 2004). Человек просто
смотрит в камеру (с расстояния до 1 м), которая фотографирует его глаза и извлекает
определенные характеристики, выполняя так называемое вайвлет-преобразование
Габора
(Gabor wavelet tronsformation) и сжимая результаты до 256 байт. Полученная
строка сравнивается со значением, полученным при внесении человека в список,
и если расстояние Хэмминга ниже определенного критического порога, происходит
идентификация человека. (Расстояние Хэмминга между двумя большими строками —
это минимальное число изменений, которые необходимо внести для преобразования
одной строки в другую.)
Любая технология, основанная на использовании изображений, становится предметом
обмана. Например, человек может подойти к оборудованию (скажем, к автоматической
камере банкомата), надеть темные очки с наклеенными на них фотографиями чьих-
то глаз. Ведь если камера банкомата может сделать хорошую фотографию радужной
оболочки глаз с расстояния до 1 м, то это может сделать и кто-то другой и на большем
расстоянии, используя телеобъектив. Поэтому нужны какие-нибудь контрмеры, напри-
мер вспышка, но не для подсветки, а для анализа реакции человека, чтобы посмотреть
присутствие эффекта красных глаз, который портит любительские фотографии при
снимке со вспышкой, но отсутствует, когда вспышка не используется. В аэропорту
Амстердама распознавание по радужной оболочке глаз используется с 2001 года, чтобы
дать возможность часто путешествующим пассажирам проходить обычную иммигра-
ционную границу.
Еще одна разновидность технологии основана на анализе личной подписи. Пользо-
ватель ставит свою подпись специальной ручкой, подключенной к компьютеру, ко-
торый сравнивает ее с известным образцом, сохраненным на удаленном компьютере
или смарт-карте. Еще лучше сравнивать не подпись, а движение ручки и давление
на поверхность при росписи. Специалист может подделать подпись, но никто ему не
может подсказать точный порядок прорисовки элементов или то, с какой скоростью
и нажимом они выполнялись.
Для снятия голосовой биометрии требуется минимум специального оборудования
(Kaman et al., 2013). Для этого нужен лишь микрофон (или даже телефон), а все осталь-
ное делает программное обеспечение. В отличие от систем распознавания речи, которые
пытаются определить, что именно было сказано, эти системы пытаются определить
личность говорящего. Некоторые системы требуют от пользователя просто произнести
пароль, но эти системы могут быть пройдены подслушивающим, который мог записать
пароли и позже воспроизвести их. Более совершенные системы воспроизводят что-
нибудь для пользователя и просят это повторить, а при каждом входе в систему исполь-
зуют разный текст. Некоторые компании начали использовать идентификацию по голосу
для таких приложений, как покупки из дома по телефону, поскольку такая идентифика-
ция меньше подвержена посягательствам со стороны мошенников, чем идентификация
с помощью ПИН-кода. Чтобы повысить точность, распознавание речи может сочетаться
с другой биометрией, например с распознаванием лица (Tresadern et al., 2013).
Можно привести еще немало примеров, но еще два помогут сделать одно весьма важное
замечание. Кошки и другие животные метят свою территорию по периметру. Очевидно,