Взаимная аутентификация или двухсторонняя аутентификация (не путать с двухфакторной аутентификацией ) относится к двум сторонам, аутентифицирующим друг друга одновременно в протоколе аутентификации . Это режим аутентификации по умолчанию в некоторых протоколах ( IKE , SSH ) и необязательный в других ( TLS ).
Взаимная аутентификация является желательной характеристикой в схемах проверки, которые передают конфиденциальные данные, для обеспечения безопасности данных . [1] [2] Взаимная аутентификация может быть выполнена с использованием двух типов учетных данных: имен пользователей и паролей , а также сертификатов открытых ключей .
Взаимная аутентификация часто используется в Интернете вещей (IoT). Написание эффективных схем безопасности в системах IoT является сложной задачей, особенно когда схемы должны быть легкими и иметь низкие вычислительные затраты. Взаимная аутентификация является важнейшим шагом безопасности, который может защитить от многих враждебных атак, [3] которые в противном случае могут иметь большие последствия, если системы IoT (например, серверы электронного здравоохранения) будут взломаны. В анализах схем, проведенных в прошлых работах, отсутствие взаимной аутентификации считалось слабостью в схемах передачи данных. [4]
Схемы, в которых есть этап взаимной аутентификации, могут использовать различные методы шифрования, коммуникации и проверки, но все они имеют одну общую черту: каждая сущность, участвующая в коммуникации, проверяется. Если Алиса хочет связаться с Бобом , они оба аутентифицируют друг друга и проверят, что это тот, с кем они ожидают связаться, прежде чем будут переданы какие-либо данные или сообщения. Процесс взаимной аутентификации, который обменивается идентификаторами пользователей, может быть реализован следующим образом: [ необходима цитата ]
Для проверки того, что взаимная аутентификация прошла успешно, логика Берроуза-Абади-Нидхэма (логика BAN) является хорошо известным и широко принятым методом, поскольку она проверяет, что сообщение пришло от заслуживающего доверия субъекта. Логика BAN сначала предполагает, что субъекту нельзя доверять, а затем проверяет его законность. [1] [2] [5] [6]
Взаимная аутентификация поддерживает сетевое взаимодействие с нулевым доверием , поскольку она может защитить коммуникации от враждебных атак, [7] в частности:
Взаимная аутентификация также обеспечивает целостность информации, поскольку если стороны подтверждают, что являются правильным источником, то полученная информация также является надежной. [5]
По умолчанию протокол TLS только подтверждает подлинность сервера клиенту с помощью сертификатов X.509 , а аутентификация клиента на сервере остается на уровне приложений. TLS также предлагает аутентификацию клиент-сервер с помощью аутентификации X.509 на стороне клиента. [13] Поскольку он требует предоставления сертификатов клиентам и подразумевает менее удобный пользовательский интерфейс, он редко используется в приложениях для конечных пользователей.
Взаимная аутентификация TLS (mTLS) чаще используется в приложениях «бизнес-бизнес» (B2B), где ограниченное количество программных и однородных клиентов подключается к определенным веб-сервисам, операционная нагрузка ограничена, а требования безопасности обычно намного выше по сравнению с потребительскими средами.
mTLS также используется в приложениях на основе микросервисов , основанных на средах выполнения, таких как Dapr , через такие системы, как SPIFFE. [7]
Хотя облегченные схемы и защищенные схемы не являются взаимоисключающими , добавление этапа взаимной аутентификации к протоколам передачи данных часто может увеличить производительность и вычислительные затраты. [2] Это может стать проблемой для сетевых систем, которые не могут обрабатывать большие объемы данных или тех, которые постоянно должны обновляться для получения новых данных в реальном времени (например, отслеживание местоположения, данные о состоянии здоровья в реальном времени). [2] [9]
Таким образом, становится желательной характеристикой многих схем взаимной аутентификации иметь легкие свойства (например, иметь низкий объем памяти ), чтобы приспособиться к системе, которая хранит много данных. [3] Многие системы реализуют облачные вычисления , которые обеспечивают быстрый доступ к большим объемам данных, но иногда большие объемы данных могут замедлить связь. Даже с облачными вычислениями на основе периферии, которые быстрее общих облачных вычислений из-за более близкого расположения сервера и пользователя, [5] легкие схемы обеспечивают большую скорость при управлении большими объемами данных. Одним из решений для сохранения легких схем во время процесса взаимной аутентификации является ограничение количества битов , используемых во время связи. [3]
Приложения, которые полагаются исключительно на связь между устройствами (D2D), где несколько устройств могут общаться локально в непосредственной близости, исключают стороннюю сеть. Это, в свою очередь, может ускорить время связи. [14] Однако аутентификация по-прежнему происходит через незащищенные каналы, поэтому исследователи полагают, что по-прежнему важно обеспечить взаимную аутентификацию, чтобы сохранить безопасную схему. [14]
Схемы могут жертвовать лучшим временем выполнения или стоимостью хранения при обеспечении взаимной аутентификации, чтобы отдать приоритет защите конфиденциальных данных. [2] [11]
В схемах взаимной аутентификации, которые требуют ввода пароля пользователем как части процесса проверки, существует более высокая уязвимость для хакеров , поскольку пароль создан человеком, а не сгенерированным компьютером сертификатом. Хотя приложения могут просто требовать от пользователей использовать сгенерированный компьютером пароль, людям неудобно его запоминать. Созданные пользователем пароли и возможность изменить свой пароль важны для того, чтобы сделать приложение удобным для пользователя, [15] поэтому многие схемы работают над тем, чтобы учесть эту характеристику. Исследователи отмечают, что протокол на основе пароля с взаимной аутентификацией важен, поскольку идентификационные данные и пароли пользователей по-прежнему защищены, поскольку сообщения могут быть прочитаны только двумя вовлеченными сторонами. [16]
Однако отрицательным аспектом аутентификации на основе пароля является то, что таблицы паролей могут занимать много места в памяти. [15] Одним из способов обхода использования большого количества памяти во время схемы аутентификации на основе пароля является реализация одноразовых паролей (OTP), которые представляют собой пароль, отправляемый пользователю по SMS или электронной почте. OTP чувствительны ко времени, что означает, что они истекают через определенное время, и что память не нуждается в хранении. [17]
В последнее время все больше схем имеют более высокий уровень аутентификации, чем схемы на основе пароля. В то время как аутентификация на основе пароля считается «однофакторной аутентификацией», схемы начинают внедрять схемы аутентификации на основе смарт-карт ( двухфакторные ) [15] или биометрические (трехфакторные). Смарт-карты проще внедрять и легко аутентифицировать, но все еще есть риск подделки. [15] Биометрия стала более популярной, чем схемы на основе пароля, потому что при использовании биометрии сложнее скопировать или угадать ключи сеанса, [6] но может быть сложно шифровать зашумленные данные. [17] Из-за этих рисков и ограничений безопасности схемы все еще могут использовать взаимную аутентификацию независимо от того, сколько факторов аутентификации добавлено. [6]
Взаимная аутентификация часто встречается в схемах, используемых в Интернете вещей (IoT), где физические объекты включены в Интернет и могут взаимодействовать через IP-адрес. [10] Схемы аутентификации могут применяться ко многим типам систем, которые включают передачу данных. [14] По мере увеличения присутствия Интернета в механических системах написание эффективных схем безопасности для большого количества пользователей, объектов и серверов может стать сложной задачей, особенно когда требуется, чтобы схемы были легкими и имели низкие вычислительные затраты. Вместо аутентификации на основе пароля устройства будут использовать сертификаты для проверки личности друг друга.
Взаимная аутентификация может быть реализована в схемах радиосетей, где передача данных по радиочастотам является безопасной после проверки отправителя и получателя. [11] [18]
Радиочастотные идентификационные метки (RFID) обычно используются для обнаружения объектов, которые многие производители внедряют в свои складские системы для автоматизации. [19] Это позволяет быстрее отслеживать инвентарь и объекты. Однако отслеживание элементов в системе с помощью RFID-меток, которые передают данные на облачный сервер, увеличивает вероятность рисков безопасности, поскольку теперь нужно отслеживать больше цифровых элементов. [19] Трехсторонняя взаимная аутентификация может происходить между RFID-метками, считывателями меток и облачной сетью, которая хранит эти данные, чтобы обеспечить безопасность данных RFID-меток и исключить возможность их манипулирования. [19]
Аналогично, была предложена альтернативная система RFID-меток и считывателей, которая назначает назначенных считывателей для тегов для дополнительной безопасности и низкой стоимости памяти. [20] Вместо того, чтобы рассматривать все считыватели тегов как одно целое, только определенные считыватели могут считывать определенные теги. При использовании этого метода, если считыватель будет взломан, это не повлияет на всю систему. Отдельные считыватели будут взаимодействовать с определенными тегами во время взаимной аутентификации, которая выполняется за постоянное время, поскольку считыватели используют один и тот же закрытый ключ для процесса аутентификации.
Многие системы электронного здравоохранения, которые удаленно отслеживают данные о состоянии здоровья пациентов, используют беспроводные сети наблюдения (WBAN), которые передают данные по радиочастотам. [11] Это выгодно для пациентов, которых нельзя беспокоить во время наблюдения, и может снизить нагрузку на медицинских работников и позволить им сосредоточиться на более практической работе. Однако большая проблема для поставщиков медицинских услуг и пациентов в отношении использования удаленного отслеживания данных о состоянии здоровья заключается в том, что конфиденциальные данные пациентов передаются по незащищенным каналам, [8] поэтому аутентификация происходит между пользователем медицинской сети наблюдения (пациентом), поставщиком медицинских услуг (HSP) и доверенной третьей стороной.
Облака e-Healthcare — еще один способ хранения данных пациентов, собранных удаленно. [2] Облака полезны для хранения больших объемов данных, таких как медицинская информация, к которой можно получить доступ с помощью многих устройств, когда это необходимо. Медицинские информационные системы Telecare (TMIS), важный способ для пациентов получать медицинскую помощь удаленно, могут гарантировать безопасность данных с помощью схем взаимной проверки подлинности. [14] Блокчейн — один из предложенных способов взаимной аутентификации пользователя в базе данных путем аутентификации с помощью основного узла mediBchain и сохранения анонимности пациента. [21]
Туманно-облачные вычисления — это сетевая система, которая может обрабатывать большие объемы данных, но все еще имеет ограничения относительно вычислительных затрат и стоимости памяти. [22] Мобильные периферийные вычисления (MEC) считаются улучшенной, более легкой сетевой системой туманно-облачных вычислений, [22] и могут использоваться для медицинских технологий, которые также вращаются вокруг данных на основе местоположения. Из-за большого физического диапазона, необходимого для отслеживания местоположения, сети 5G могут отправлять данные на границу облака для хранения данных. Такое приложение, как умные часы , отслеживающие данные о здоровье пациента, можно использовать для вызова ближайшей больницы, если у пациента наблюдается отрицательное изменение жизненных показателей. [5]
Сети туманных узлов могут быть реализованы в автомобильной автоматизации , сохраняя данные об автомобиле и его окружающих состояниях в безопасности. Благодаря аутентификации туманных узлов и транспортного средства, передача управления транспортным средством становится безопасным процессом, а система автомобиля защищена от хакеров. [9]
Многие системы, не требующие присутствия человека в системе, также имеют протоколы, которые взаимно аутентифицируют стороны. В системах беспилотных летательных аппаратов (БПЛА) происходит аутентификация платформы, а не аутентификация пользователя. [2] Взаимная аутентификация во время связи с транспортным средством предотвращает взлом системы одного транспортного средства, что может затем негативно повлиять на всю систему. Например, система дронов может использоваться для сельскохозяйственных работ и доставки грузов, но если один дрон будет взломан, вся система может рухнуть. [2]