Команда специалистов по компьютерной безопасности из Швейцарской высшей технической школы Цюриха придумали новый метод двухфакторной аутентификации пользователя, не требующий от последнего каких-либо действий. Метод, получивший название Sound-Proof, основан на записи и сравнении фонового шума в помещении, где находится пользователь.
Двухфакторная аутентификация — распространённый и действенный приём повышения безопасности пользователя. Если при однофакторной аутентификации достаточно знать лишь логин и пароль пользователя, чтобы войти в его аккаунт в любом веб-сервисе, то двухфакторная использует дополнительный канал связи с пользователем, чтобы убедиться, что его паролем не завладел злоумышленник.
Чаще всего в качестве второго канала выступает SMS-сообщение с одноразовым секретным кодом. В результате, если злоумышленник захочет выдать себя за другого, ему придётся не только завладеть обычным паролем, но и получить доступ к телефону жертвы (физически, или с помощью каких-либо троянских программ).
Но у всего есть как плюсы, так и минусы. Минусом такого подхода служит необходимость дополнительных телодвижений для пользователя. Нужно разблокировать телефон, прочесть SMS, и правильно ввести в форму браузера полученный код, удалить сообщение из телефона. Повышенная безопасность, как это часто бывает, обеспечивается за счёт неудобств.
Как известно, прогрессом двигает лень — поэтому швейцарцы придумали способ, как избавить пользователя от лишних хлопот. Для этого ему потребуется просто один раз установить на смартфон нужное приложение, и иметь в своём компьютере микрофон (в лэптопы он обычно встроен).
При попытке входа на ресурс, поддерживающий этот метод аутентификации, ресурс отсылает приложению команду, и оно в течение трёх секунд записывает фоновый шум в том месте, где оказался пользователь. То же самое делает и микрофон компьютера. Затем шумы сверяются. Если серверная программа подтверждает идентичность записей, то пользователь успешно входит в свою учётную запись.
И тут, конечно, есть свои трудности. Например, микрофоны в смартфоне и компьютере могут сильно отличаться по качеству. В настольном компьютере может вовсе не оказаться микрофона. Злоумышленник может провернуть вход в чужой аккаунт, находясь в том же помещении, что и пользователь (особенно это актуально для перехвата данных по wi-fi в кафе). Или же он может включить ту же радиостанцию или телеканал, что и пользователь.
Кроме того, повышается нагрузка на сервер, и понижается приватность пользователя — хотя разработчики утверждают, что запись происходит всего 3 секунды, а на сервер отправляется не аудиофайл, а созданная на его основе цифровая подпись. Но кто же это проверит?
На ум приходит упрощение такой технологии. Что, если приложению не нужно будет записывать шум и строить из него по сложным алгоритмам цифровую подпись? Ведь вместо этого оно может получить с сервера набор цифр и передать их в виде аудиосигналов при помощи своего динамика на микрофон компьютера, который расшифрует сигнал, и сравнит эти цифры с сервером — то есть, организовать нечто вроде примитивного модема.
Комментарии (15)
zemel
16.08.2015 19:35+1Второй вариант год назад реализовал Приватбанк в Украине.
Вот только видео работы найти не могу.
ain.ua/2014/04/25/521618
leggiermente
17.08.2015 11:40Это что ж получается, если я первый раз дома аутентифицировался, аккурат в тот момент, когда сосед со своей женой детей делал, мне что, просить его повторить? А если у него новая жена будет?
Vilgelm
17.08.2015 14:59Нет, оно каждый раз записывает фоновый шум на микрофон в ноутбуке и микрофон в телефоне и сверяет. Только мне кажется это работать не будет, микрофоны очень разные, плюс на ноутбуке обычно хорошо слышно шум кулера (на телефоне его слышно не будет).
brzsmg
17.08.2015 15:46А не проще ли, этому мобильному приложению выдавать сообщение с вопросом(как мобильные операторы используют ussd для аутентификации):
Вами выполняется операция "%" на другом устройстве?
Варианты ответа: Да(это я)/Нет(это кто то балуется).
[Плюсы]
Не надо вводить никакой код, удалять СМС-ку.
[Минусы]
Таки придется отвлечься на телефон, разблокировать, и ткнуть вариант ответа.
Siper
17.08.2015 18:29Это ломается на раз. Достаточно чтобы рядом с жертвой был человек/устроство — которое либо записывает, либо воспроизводит нужные звуки (возможны варианты для удобства атакующих).
amarao
То есть когда август закончится и цикады перестанут орать под окном, всё, прощай аккаунт?
affka
нет, там одновременно записывается звук и с телефона и с компа, а затем сравнивается. Но в реале это вряд ли будет работать, тупить будет так же как авторизация по отпечатку пальцев сейчас в телефонах (через раз работает, на айфоне)
amarao
А, то есть записывается не звук окружения, а звук, воспроизводимый другой железкой? Ну, имеет смысл. Хотя бы подумал о том, чтобы «приложуха на телефоне» по bluetooth что-то слала в компьютер (или получала).
Рраз — и двухфакторка.
Lungo
Вы опять не так поняли. Записываться будет звук окружения, одновременно с двух устройств. Если звук, записанный с ноутбука, совпадает со звуком, записанным с телефона, значит оба устройства находятся рядом, то есть при пользователе
amarao
А, понял.
Теперь вопрос: нафига записывать окружающий шум, когда можно просто воспроизвести его?
Чаще всего у компьютера есть колонки. Микрофон не всегда. Значит, правильный алгоритм такой:
1. Компьютер воспроизводит криптомелодию.
2. Телефон её слышит и передаёт на сервер.
Атака:
А) Без доступа к телефону невозможна, ибо требуется конкретно то приложение, которое на телефоне. Оно услышанный звук проверяет и подписывает своим ключом (открытая часть которого регистрируется в системе).
Б) Без доступа к аккаунту пользователя невозможна, ибо мелодия уникальная и сервер должен её ждать.
При этом она никакого шума не ожидает, плюс пользователь точно слышит, что «компьютер ща делает платёж», плюс есть возможность выключить (выключил звук — нет платёжек).
Для усиления кон-фу можно попытаться заюзать какие-то неукрадаемые в электронном виде возможности телефона (TPM и всё такое, если оно там есть).
Shannon
Справедливости ради стоит отметить, что на айфоне точность всё таки высокая, 9 из 10 раз срабатывает очень четко. При этом прикладывать палец можно под любым углом и почти любой его площадью, всё равно будет 9 из 10 (на самом деле уже не припомню случая, когда touch id бы не сработал с первого раза)
Если у вас именно тупит, или просто чтобы еще сильнее повысить точность распознавания, достаточно заглянуть в Настройки -> Touch ID и просто поприкладывать нужным пальцем к touch id (удалять и пересканировать отпечаток не нужно), каждый раз будет происходить распознавание и загорится строчка с уже сохраненным отпечатком, точность каждый раз будет повышаться (иногда нужно подождать секунды 2-3, чтобы он распознал более сложный случай прикосновения, но зато в работе уже будет распознавать быстро)
Это сработает, даже если вы будете прикладывать под очень разными углами от изначального распознавания (вертикально или горизонтально или боком и т.д.) или прикасаться разной площадью пальца (пол-пальцем, 1/4 пальца итд). Согласен, немного не очевидное решение, однако после этого, даже коснувшись лишь слегка кончиком пальца к touch id — он будет срабатывать, не говоря уже про полный контакт