Сегодняшние методы аутентификации дают возможность подобрать подходящую конфигурацию под разные ситуации. Для компьютерной игры без микротранзакций подойдет обычный пароль, интернет-банкинг потребует двухфакторной аутентификации, а для некоторых государственных услуг понадобятся не только постоянный и временный пароли, но и документ, подтвержденный электронной цифровой подписью. Статья поможет разобраться, какая защита целесообразна в различных случаях.
- Введение
- Однофакторная аутентификация
- 2.1. Пароли
- 2.2. Цифровые сертификаты и ЭЦП
- 2.3. Аппаратные токены
- 2.4. Биометрия
- Двухфакторная аутентификация
- Выводы
Введение
Как отличить специалиста по безопасности от обычного человека? Специалист по безопасности знает разницу между идентификацией, аутентификацией и авторизацией. Неудивительно, впрочем, что эти слова пытаются использовать как синонимы, поскольку все три понятия являются частями одного общего процесса. Первое постепенно перетекает во второе, а второе служит отправной точкой для третьего, так что на первый взгляд не всегда ясно, где заканчивается один этап и начинается следующий. Однако суть каждого из них выделяется четко и ясно.
Аутентификация заслуживает особого внимания, когда речь идет о защите, поскольку ее задача – удостовериться, что пользователь действительно является тем, за кого себя выдает. На третьем шаге процесса авторизация выдаст ему полномочия для действий в информационной системе, и если эти права достанутся постороннему человеку, то последствия могут быть весьма печальны. Соответственно, идет постоянный поиск таких решений, которые с безупречной надежностью отличали бы нужного пользователя от всех остальных.
Российское общество и государство довольно давно информатизируются, догоняя восточные страны и оставляя позади западные. Чем больше сторон жизни людей уходит в информационные системы, тем больше становится нагрузка на средства аутентификации. Важные данные граждан, взаимодействующих с «электронным правительством» или с банками, естественным образом становятся интересны злоумышленникам; органы власти, в свою очередь, закономерно реагируют и выдвигают строгие требования к безопасности таких систем, чтобы не терять контроль над ситуацией и гарантировать людям защищенность их сведений.
Именно поэтому выбор и методов аутентификации в целом, и конкретных решений для их реализации уже не ограничивается только эргономикой и расчетом рисков: влиятельным фактором становится законодательная регуляция, причем со стороны не только государственных нормативных актов, но и отраслевых стандартов. Еще два года назад появился первый прототип ГОСТа по идентификации и аутентификации, что свидетельствует о внимании государства к таким вопросам и о намерении их решать.
Обратимся к существующим методам аутентификации и освежим в памяти то, насколько они соответствуют требованиям времени – в том числе применительно к отечественной специфике.
Однофакторная аутентификация
Фактор аутентификации – это, обобщенно говоря, атрибут, по которому удостоверяется подлинность пользователя. В роли фактора могут выступать материальные объекты (аппаратные устройства, части тела) или нематериальные сущности (кодовые слова, файлы). Простейший случай аутентификации – использование одного фактора.
Пароли
Классика удостоверения личности в информационных системах – пароль. Он так прочно ассоциируется с аутентификацией, что иногда считается ее сущностью. Например, в ГОСТе по судебно-технической экспертизе (Р 57429-2017) значится, что аутентификация пользователя – это «процедура проверки подлинности пользователя путём сравнения введенного им пароля с паролем, сохраненным в базе данных пользователей». Кажется очевидным, что здесь подразумевается постоянный, или многоразовый, пароль, который пользователь запоминает и воспроизводит каждый раз, когда ему нужно подтвердить свою подлинность.
Вряд ли мы очень преувеличим, если скажем, что в качестве фактора аутентификации постоянный пароль давно всем надоел. Если он прост, то его легко запомнить, но тогда он без большого труда подбирается, в том числе и банальным брутфорсом. Если он сложен, его трудно подобрать, но в то же время тяжело и запомнить – и тогда надежные бессмысленные комбинации символов просто записываются на листочках и наклеиваются на монитор. Помимо этого, средний пользователь современного Интернета зарегистрирован на десятках (если не на сотне-другой) разных ресурсов и сервисов, и каждый из них требует от него пароль. Один пароль на все сайты удобен, но небезопасен. Отдельный пароль для каждого сайта безопасен, но неудобен, поскольку пользователь нуждается либо в великолепной памяти, либо в хранилище для кодовых слов (которое опять же можно взломать). Одним словом, постоянный пароль давно уже годится только для некритичных активов или учетных записей, ограниченных в правах.
Попытка решить проблему постоянных паролей – концепция паролей временных, или одноразовых, которые нужно получать заново для каждой попытки входа. Такой подход ликвидирует большинство недостатков постоянных кодовых слов – временный пароль не нуждается ни в особой сложности, ни в хранении, ни в запоминании. В то же время пользователю обычно нужно иметь при себе какое-либо устройство, позволяющее получать пароли, а система аутентификации закономерно усложняется изнутри, т.к. хранить в базе данных постоянный пароль гораздо проще, чем генерировать его, сопоставлять с учетными записями, следить за сроком действия и т.п. Впрочем, обработку одноразовых паролей можно переложить на «подрядчика»: скажем, Google предлагает всем желающим воспользоваться приложением Authenticator, которое берет работу с одноразовыми паролями на себя. В этом случае можно не разрабатывать свою систему, а воспользоваться уже существующей – что и делает, например, популярное геймерское приложение Discord. Впрочем, это – уже тема для разговора о двухфакторной аутентификации.
Рисунок 1. Одноразовый пароль по SMS
Для парольной защиты настоящим является тот пользователь, который знает условную комбинацию символов. Вполне очевидно, что этот вариант никак не гарантирует подлинности лица, допускаемого к работе с системой: достаточно узнать пароль тем или иным способом. В случае одноразового пароля эта процедура сложнее, но технически она вполне возможна и реализуема – были бы желание и выгода. Например, передачу временного кода по SMS, которую практикуют многие банки, относительно просто перехватить путем анализа радиосигнала или посредством обычного вируса. Потому, кстати, этот способ доставки одноразовых паролей обоснованно считается ненадежным, и финансовые организации переходят на альтернативные варианты вроде использования Push-уведомлений. Национальный институт стандартов и технологий США призвал отказаться от SMS-аутентификации еще два года назад.
Цифровые сертификаты и ЭЦП
Цифровой сертификат – элемент криптографической защиты информации, электронное удостоверение, которое подтверждает, что открытый ключ шифрования принадлежит определенному пользователю. Он является обязательной частью инфраструктуры открытых ключей (public key infrastructure, PKI), поскольку без подобной верификации открытый ключ уязвим для злонамеренных манипуляций.
Вообще пользователи чаще всего соприкасаются с цифровыми сертификатами при зашифрованных соединениях с ресурсами Интернета по протоколу SSL. Здесь удостоверяется подлинность не пользователя, а сервера – т.е. посетитель имеет возможность убедиться, что подключается к настоящему сайту, а не фишинговой копии, например. Тем не менее, поскольку сертификат сопоставляет ключ с его владельцем, электронное удостоверение можно применять и для аутентификации пользователей. В этом случае информационная система проверит его источник (центр сертификации должен входить в список доверенных) и срок действия, после чего личность пользователя будет считаться подтвержденной.
Помимо прочего, цифровой сертификат является частью механизма электронной цифровой подписи, поскольку ЭЦП является по сути результатом криптографического преобразования документа и тоже основана на инфраструктуре открытых ключей. Открытый ключ позволяет проверить корректность ЭЦП, а сертификат увязывает этот открытый ключ с человеком, которому он принадлежит.
В каком-то смысле электронная цифровая подпись также является средством аутентификации, так как среди ее функций есть подтверждение авторства: она удостоверяет, что документ действительно исходит от определенного лица и может рассматриваться как официальное выражение его намерений. В подобной роли ЭЦП используется, например, в «электронном правительстве», где гражданин может обратиться в органы власти удаленно, заменяя собственноручную подпись на бумажном документе этим специальным реквизитом. Квалифицированная электронная подпись придает документу полную юридическую силу.
При таком подходе, когда фактором аутентификации служит файл или набор данных, настоящим считается тот пользователь, у которого есть сертификат и закрытый (секретный) ключ шифрования. К сожалению, в случае с той же ЭЦП ответственность за хранение закрытого ключа возлагается на самого владельца, и он может принимать те меры, которые сам сочтет необходимыми и достаточными для защиты. В результате образуется риск кражи данных, и если злоумышленник сможет завладеть закрытым ключом, то ничто более не помешает ему выдать себя за легитимного владельца. Конечно, криптографические методы более надежны, чем пароли, однако и здесь нельзя говорить с абсолютной уверенностью о том, что пользователь и владелец ключа – одно и то же лицо.
Тем не менее, электронная подпись постепенно становится все более влиятельным фактором во множестве сфер деятельности людей. Anti-Malware.ru посвятил этому круглый стол с участием ведущих экспертов отрасли.
Аппаратные токены
Аппаратный токен – это устройство, предназначенное специально для аутентификации.
В простейшем случае токен сам по себе является удостоверением, т.е. пользователь должен иметь его при себе и тем или иным образом предъявить системе – например, подключить к компьютеру или поднести к считывателю. В этих же целях используются пластиковые карты с микросхемами, они же смарт-карты, которые при желании можно реализовать программно – создавая тем самым более удобную и практичную виртуальную карту.
В то же время токены или смарт-карты могут служить средством реализации двух предыдущих факторов аутентификации. Так, например, известны токены, которые генерируют одноразовые пароли для ввода вручную. В этом случае сам токен не является удостоверением, поскольку подлинность пользователя определяется не по нему, а по паролю. Также токены и смарт-карты используются для хранения данных электронной цифровой подписи и для ее создания. Тогда устройство будет содержать на себе криптопровайдер – программное обеспечение, выполняющее криптографические преобразования. Там же часто хранится и закрытый ключ шифрования.
Рисунок 2. Аппаратный токен с генерацией одноразовых ключей RSA SecurID
Однако даже в тех случаях, когда токен или смарт-карта играют роль обычного удостоверения, «изнутри» процедура аутентификации тоже может быть построена на сопоставлении временных паролей или на криптографических операциях. Например, устройство пользователя может получать от сервера случайную последовательность данных, шифровать ее и отправлять обратно, позволяя системе определить, чьим именно ключом было проведено преобразование. В отечественных реалиях криптографические алгоритмы токена должны соответствовать ГОСТу и иметь сертификат Федеральной службы безопасности.
Каким бы именно образом ни работал аппаратный токен, для системы будет подлинным тот пользователь, который держит устройство в руках. Так же, как и в двух предыдущих случаях, наличие токена никоим образом не связано с конкретным человеком: устройство можно украсть и использовать злонамеренно. Пусть физическая кража может быть сложнее в исполнении, чем виртуальная, но, как обычно, в конечном счете все упирается в мотивацию и усилия: если нападающий действительно желает добыть токен, то тем или иным образом у него это получится. Так, вневедомственная охрана предпочитает не ставить приборы сигнализации с аппаратными ключами, поскольку в этом случае злоумышленники решают проблему доступа в помещение путем нападения на владельца ключа.
Биометрия
Средства аутентификации, использующие биометрию, полагаются на параметры тела человека или на особенности его поведения. Уникальных параметров относительно много: можно сканировать отпечатки пальцев, как это делают популярные модели смартфонов, можно распознавать лицо или голос, анализировать походку или характерные особенности набора текста на клавиатуре. Все это обещает избавление от традиционных недочетов перечисленных выше методов: биометрические параметры не только уникальны, но и неотделимы от человека, что позволяет с гораздо большей уверенностью говорить о подлинности пользователя. Кроме того, для прохождения такой проверки не нужно никаких дополнительных предметов или устройств, которые можно потерять или забыть дома.
Тем не менее, пока что технологии считывания этих показателей не вполне совершенны, и специалисты еще не могут рекомендовать полагаться всецело на биометрию. Известны случаи, когда исследователям удавалось обмануть считыватели с помощью распечаток на 3D-принтерах или даже просто фотографий в высоком разрешении. Однако это – проблема не самого метода аутентификации как такового, а технических средств его реализации, которые имеют свойство совершенствоваться. Кажется вполне вероятным, что рано или поздно биометрия начнет доминировать над остальными вариантами удостоверения личности. В отечественной практике уже есть проект создания Единой биометрической системы федерального масштаба.
Помимо считывателей, есть еще две проблемы, которые могут возникнуть при биометрической аутентификации. С одной стороны, есть теоретическая вероятность появления «двойников», т.е. людей с параметрами, похожими до степени смешения – в особенности это касается распознавания лиц. С другой стороны, характеристика человека может внезапно измениться (например, в результате травмы), и тогда пользователь утратит доступ к системе. Впрочем, те или иные риски характерны для любого механизма, и присутствие этих проблем кажется скорее естественным побочным эффектом, чем опасным изъяном метода в целом. На данный момент биометрическая аутентификация выглядит наиболее надежной с точки зрения гарантированной подлинности пользователя – если, конечно, разработчики считывателей все же научат их отличать живого человека от искусственной копии пальца.
В частности, одним из признаков растущего доверия к биометрии можно назвать тот факт, что российские банки уже готовы использовать ее для удостоверения личности не сотрудников даже, а клиентов. Как правило, если на какой-либо способ защиты можно положиться в финансовых вопросах, то степень его надежности вполне достаточна, а проблемы – решаемы. Последние новости на эту тему поступают буквально только что.
Многофакторная (двухфакторная) аутентификация
Идеология многофакторной аутентификации (multi-factor authentication, MFA) заключается в том, чтобы взаимно компенсировать недостатки нескольких отдельных факторов, как минимум двух, у которых различаются ключевые риски. Чаще всего на практике используется двухфакторная аутентификация. Например, систему, построенную на аппаратных ключах, которые пользователи должны иметь при себе, можно усилить за счет механизма паролей, которые пользователи должны помнить. Тогда злоумышленник с токеном не будет знать пароля, а взломщик, укравший пароль, не будет иметь токена. Конечно, самый распространенный и общеизвестный вариант двухфакторной аутентификации – это два пароля, постоянный и одноразовый; однако сущность этой конструкции аналогична описанной выше, потому что базовым способом доставки одноразового пароля остается мобильная связь. Иными словами, подлинным признается тот пользователь, который знает постоянный пароль и имеет при себе смартфон, куда приходит пароль временный – так что устройство связи де-факто играет роль аппаратного токена.
Популярность и относительная надежность двухфакторной аутентификации приводят к тому, что на рынке появляются готовые решения, избавляющие клиента от необходимости разрабатывать все самому. Одно из них – упоминавшийся выше Google Authenticator, однако это приложение – не единственный вариант. Например, Symantec предлагает сервис VIP – Validation and Identity Protection (бывший VeriSign Identity Protection), который не бесплатен, но предлагает довольно разнообразные функции вроде бесконтактной разблокировки, когда сотруднику не нужно ничего вставлять в считыватель или подносить к нему – достаточно находиться рядом.
Стоит, однако, иметь в виду, что двухфакторная аутентификация не решает проблем той же парольной защиты в корне – она лишь усложняет задачу злоумышленника за счет ввода еще одного фактора. Ключевой изъян – отсутствие прямой связи с личностью пользователя – остается на месте. Поскольку возможность выдать себя за другого человека сохраняется, взломщики ищут (и находят) обходные пути. Например, при удаленной аутентификации не обязательно узнавать постоянный пароль: можно «доверить» пользователю ввести его самостоятельно, а затем перехватить или выманить одноразовый код. Такой подход уже состоит на вооружении у некоторых мошенников, в нужный момент присылающих сообщения вида «вам придет код, назовите мне его».
В целом, если нет специальных требований к системе защиты, а риски, связанные с компрометацией учетной записи, не слишком велики, то двухфакторная аутентификация вполне надежна (и в любом случае превосходит большинство однофакторных вариантов) – особенно в том случае, если сотрудники или клиенты обучены базовым мерам безопасности. В корпоративной среде у потенциального злоумышленника меньше пространства для маневра, чем, например, при дистанционном банковском обслуживании, поэтому здесь двухфакторная аутентификация может успешно заменить биометрию (тем более что в пределах организации она поддерживается другими средствами защиты информации).
Выводы
Как обычно, при выборе элементов системы безопасности необходимо подчиняться требованиям законов и стандартов, а также соизмерять риски с затратами.
Большинство методов удостоверения личности в информационных системах основано на произвольных атрибутах, т. е. таких, которые не имеют прямой связи с личностью человека и могут переходить от одного пользователя к другому. Это создает очевидные риски, однако постольку, поскольку этих мер оказывается достаточно и для них нет более выгодных альтернатив, эксплуатанты готовы мириться с их недостатками. В конце концов, идеальная защищенность в любом случае недостижима, а если система аутентификации справляется со своими задачами, то менять ее на нечто более совершенное ни к чему.
Безусловную гарантию того, что пользователь действительно является тем, за кого себя выдает, обеспечивает только биометрия, поскольку она использует неотъемлемые атрибуты вроде частей тела человека, которые невозможно передать другому. При условии, что считыватели будут технически совершенны, просты в производстве и экономичны, можно ожидать, что информационные системы с важными данными будут полагаться исключительно на этот метод аутентификации в качестве основного. Однако двухфакторные (и многофакторные) варианты вряд ли исчезнут: в конце концов, два фактора всегда лучше одного, и даже биометрию всегда полезно подкрепить дополнительным уровнем защиты.