Мало бизнесу проблем — к санкциям, проблемам с поставками и продажами прибавляется растущая стоимость авторизации пользователей. SMS стоит 3 рубля — кажется, что не так много, но если их отправляются тысячи каждый день? А сколько реально доходит до пользователей? Неизвестно. К счастью, сегодня у бизнеса есть способ сэкономить на авторизации и подтверждении личности своих клиентов — сейчас расскажем как.

Изначально самым популярным способом авторизации был пароль. Реализовать его проще всего — регистрируешься с одним паролем, а затем система сверяет введенный пароль с тем, что хранится в базе. Но за время существования этого способа обнаружилось несколько проблем:

  • Пароль могут скомпрометировать — это происходит регулярно.

  • Пароль часто забывают — особенно когда система просит менять его каждые 6 месяцев на новый.

  • Необходимость восстанавливать пароль вполне может привести к отказу от сервиса с такой авторизацией.

Авторизация через соцсети

Альтернативой простому входу по паролю может быть авторизация через другие сервисы — VK, Яндекс и т. д. Например, вы регистрируетесь или входите в новое приложение на телефоне и при помощи VK ID можете быстро создать аккаунт без всяких паролей. 

Но тут тоже есть проблемы. Для пользователя их две:

  • Для входа в VK, Яндекс или другой сервис надо помнить пароль — возвращаемся к проблемам с этим способом авторизации.

  • Не у всех есть аккаунты в сервисах, предлагающих свой способ авторизации.

  • Далеко не каждый захочет делиться с компанией при регистрации своими личными данными, которые есть в VK или Яндексе.

Для  компании тут тоже есть существенный минус: настроить такую авторизацию не так просто, как кажется, — надо сначала создать приложение, потом пройти модерацию, получить доступы, подключить SDK, настроить авторизацию, подключить токены, а потом все это хорошенько протестировать. За пару дней тут не справишься.

Гораздо проще морально и физически для бизнеса – просто подключить авторизацию по SMS.

SMS-код

Вы точно сталкивались с SMS-авторизацией. Она организована очень просто: при попытке авторизации на сайте система генерирует случайный код, а затем отправляет его на мобильный телефон пользователя через SMS. Пользователь должен ввести этот код в соответствующее поле на сайте или приложении, чтобы подтвердить свой номер телефона. Система сравнивает присланный код со сгенерированным и решает, пускать пользователя дальше или нет.

Эта технология авторизации чаще всего используется в качестве второго этапа двухфакторной аутентификации, которую сейчас внедряет все больше и больше компаний, чтобы обеспечить безопасность данных своих пользователей. 

Технология авторизации по SMS-коду используется не только для доступа к веб-ресурсам, но и для авторизации пользователей на оборудовании MikroTik для доступа в интернет, например, в метро или кафе. 

А теперь задумайтесь: каждое SMS-сообщение стоит порядка 3–3,5 рублей. 10 лет назад оно обходилось отправителю в 10 копеек — тогда это было действительно выгодно. Но если сейчас посчитать стоимость такой авторизации для бизнеса, можно ужаснуться огромным цифрам расходов. Например, если в кафе каждый день заходят в среднем по 200 человек, то в месяц у бизнеса на одну только авторизацию в бесплатном Wi-Fi уйдет 18 000 рублей. 18 тысяч, Карл! 

Flash Call

Не стоит думать, что бизнесу это нравилось — SMS пытались заменить не раз. Например, звонками. Называется технология авторизации по звонку Flash Call. И ее вы, наверняка, тоже замечали. Вот как она работает:

  1. Пользователь запрашивает авторизацию на сайте или в приложении.

  2. Приложение или сайт отправляет запрос на сервер, который генерирует уникальный 4-значный код.

  3. Сервер находит виртуальный номер, последние 4 цифры которого совпадают со сгенерированным кодом.

  4. С виртуального номера пользователю звонят, но сам звонок он не принимает, запоминая последние 4 цифры.

  5. Пользователь вводит 4-значный код в приложении или на сайте.

  6. Приложение проверяет, соответствует ли введенный пользователем код авторизации полученному коду.

  7. Если коды совпадают, пользователь успешно авторизован в приложении.

Технология Flash Call имеет несколько преимуществ:

  • Быстрая и удобная авторизация: пользователю не нужно вводить длинные пароли или коды и даже отвечать на звонок — надо просто запомнить последние 4 цифры номера.

  • Дешевизна: так как пользователь фактически даже не принимает звонок, отправитель ничего не платит за такую авторизацию.

Естественно, операторов такой расклад, мягко говоря, не устраивает, ведь они с таких звонков не получают совсем ничего или копейки за предоставление виртуальных номеров. Поэтому операторы регулярно блокируют номера и целые пулы номеров, с которых осуществляются такие «флэш колы». Вычисляют их по длительности звонка и по другим параметрам — например, если с телефона обзванивают по одному разу множество абонентов, но никто из них на звонок не отвечает. 

Voice code

В ответ на такие блокировки со стороны операторов был придуман новый метод — Voice code. Возможно, и с ним вы сталкивались — это когда вы принимаете звонок с номера, а потом робот диктует вам код, который нужно ввести. 

Такой способ авторизации позволил временно обойти алгоритмы блокировок операторов — звонок проходит, люди говорят, все хорошо. Вот только длительность звонков обычно составляет примерно 5–7 секунд. Слишком мало для нормального общения между абонентами, согласитесь? А вот для обхода авторизации по SMS — в самый раз. Операторы, к несчастью, научились вычислять и номера с Voice code — их стали быстро блокировать. Да и для клиентов такая авторизация оказалась не так удобна, ведь надо принять звонок с незнакомого номера и выслушать какой-то код, запомнить его на слух и ввести. В общем, муторно и некомфортно.

Кажется, ну вот и все — больше ничего не придумаешь, как говорится, there is no alternative for SMS. Но не спешите списывать авторизацию по звонку со счетов, ведь есть еще один метод — его назвали CallPassword ID. 

CallPassword ID

Кампании Нью Тел удалось реализовать метод, свободный от блокировок мобильными операторами. Фактически это обратный Flash Call. Обратный потому, что в этом методе не АТС звонит клиенту, а клиент набирает нужный номер. Чуть подробнее, как это происходит:

  1. Клиент вводит свой номер телефона.

  2. На сервере генерируется рандомный виртуальный номер и высвечивается в форме на сайте или в приложении.

  3. Клиент начинает звонок по этому номеру. Звонок для пользователя бесплатный.

  4. Система записывает номер звонящего, а затем сверяет его с тем, который был введен ранее в поле.

  5. Если номера совпадают, авторизация проходит успешно. Клиент не вводит код в поле и не совершает дополнительных действий. 

Новый метод верификации пользователей, увеличивает конверсию и экономит бюджет кампании. Клиент не совершает дополнительных действий, вписывая код в поле верификации. 

Подключить CallPassword ID можно через API к любой системе авторизации — само подключение занимает не больше 2 дней. А цена каждой авторизации при этом — несколько копеек. При этом не важно, насколько большой у вас бизнес — система легко масштабируется от условных 10 авторизаций в сутки до тысяч. 

Поставить себе такую систему очень просто — реализации для любого фронтенда и бэкенда можно найти на GitHub. Для полноценной работы останется лишь зарегистрироваться на сайте New Tel и получить ключ API. Останется поставить его в нужную строку в соответствующем файле (при реализации на php, например, в файл call-verification.php, а на golahg — в main.go) и вуаля — снизили цену авторизации на 90 %. 

Работает такая система одинаково легко как на телефонах, так и на десктопе — пользователю не надо даже номер вручную набирать, можно просто отсканировать QR-код — звонок на нужный номер начнется сам и авторизует клиента. Просто, быстро, а главное — дешево.

Будущее авторизации

Сервисы стремятся к тому, чтобы авторизация пользователей была не только безопасной для них самих в плане личных данных, но и чтобы это привычное действие было как можно более дешевым для самого бизнеса. В этом плане SMS проигрывает по всем параметрам, а авторизация через соцсети, хоть и является условно бесплатной, также может вызвать проблемы как у бизнеса при попытке интеграции в свой сервис, так и у пользователей, далеко не все из которых имеют аккаунт в соцсетях.

Flash call и Voice code успешно блокируются мобильными операторами, поэтому и они в будущем отойдут на второй план или вовсе исчезнут, уступив свое место более совершенным и удобным технологиям. 

На замену им может прийти CallPassword ID: блокировка ему не грозит, ведь звонок осуществляет клиент, а не АТС. Авторизация при таком способе проходит за секунды, а интегрировать ее в свой сервис компания может очень быстро и без существенных затрат. А на саму авторизацию будут уходить копейки — в десятки раз меньше, чем на SMS-коды.

Комментарии (43)


  1. AndreySu
    15.09.2023 10:18
    +2

    Клиент начинает звонок по этому номеру. Звонок для пользователя бесплатный

    Либо серверная часть на звонок не отвечает, и тогда операторы так же начнут блокировать такие номера на которые много различных номеров звонят но тот не отвечает.
    Либо на звонок идет ответ и тогда за тарификацию кто то всё равно платит и цена может быть сопоставима с смс.


    1. SuperLeha Автор
      15.09.2023 10:18

      Хороший комментарий! Есть несколько нюансов:

      • FlashCall попал под меморандум который был подписан между сотовиками и ФАС. Цель данного меморандума- победить вызовы от мошенников. Где FlachCall официально блокировался «типо» по ошибке))) Но эту ошибку уж очень не хотели решать, а ФАС занял сторону большого игрока с которым нужно было решать глобальные вопросы.

      • В новой механике нет исходящих вызовов со стороны оператора, а есть входящие. Следовательно сам абонент выбрал действие -> сделать звонок для верификации. И тут получается, что не оператора блокируют, а каждого абонента который совершает данный вызов, а это уже физ. лица и массовость.

      • Ещё осталась надежда на честный и открытый рынок услуг. Где продвижение своей услуги происходит по принципу - сделаю дешевле и лучше, а не палки в колёса, чтобы потом сказать «а у них не работает, платите нам».


  1. needsomedata
    15.09.2023 10:18
    +1

    Фактически ваше решение аналогично flash call и будет работать только до момента получения большого количества входящих и обращения на ваш сервис операторов.

    Плюс вы сами отдаете свои номера, можно пееребором спарсить весь ваш пул.


    1. SuperLeha Автор
      15.09.2023 10:18
      -1

      Можно. А какое законное обоснование блокировать такие звонки? Нам сам клиент может передать свои существующие номера, а мы предоставим ему конечное решение. Мы не планируем прятаться или не показывать свои номера. Мы считаем, что должны работать в рамках закона. Все должны так работать.


      1. freeExec
        15.09.2023 10:18
        +3

        А какое основание вообще блокировать номера, будь там не берущие трубку или говорящие 5 секунд? Кажется вся проблема в этом.


        1. SuperLeha Автор
          15.09.2023 10:18

          Если Вы про то, что кто-то играет не честно, то я соглашаюсь. Но если руководствоваться только этим, то остались бы мы сейчас ещё в каменном веке. Дорогу осилит идущий ;)


        1. needsomedata
          15.09.2023 10:18

          Подозрительная активность. Фактически коллеги дополнительно нагружают сеть оператора для оказания коммерческих услуг не платя за это деньги. Оператор не мать тереза и оборудование не для этого обновляет.


          1. freeExec
            15.09.2023 10:18

            Ну да и торренты нагружают оборудование поэтому давайте таких пользователей отключим. Специально для этого телекоммуникационная деятельность лицензируется, чтобы таких хитроумных наказывать, и ситуации этим оказываю услугу, этим нет не было.


      1. needsomedata
        15.09.2023 10:18

        Ваше взаимодействие с оператором регламентируется договором, где есть пункт о том что оператор может заблокировать номер если увидит подозрительную активность. Именно по этой причине оператор блокирует номера sms и call бомберов, спам обзвонщиков и так далее, без судебных и прочих разбиательств в автоматическом режиме.


        1. SuperLeha Автор
          15.09.2023 10:18

          Мы знаем проблему про Call бомберов. Это прям проблема проблема! На своей сети данная проблема решена на 100% как только мы поняли над чем работать. Но поняли об этом через третьи руки, на примере SMS бомберов, а содействия (примеров) нам никто не предоставил. Метод описанный в статье полностью ликвидирует их, им не интересно указывать номер на который нет целевого действия.


    1. virt50
      15.09.2023 10:18

      Подождите, подождите! Вот у меня в гаражном кооперативе шлагбаум. Куча звонков на него идет (на симку модема), а он "трубку" и не берёт... Никто ж его не блочит.


      1. needsomedata
        15.09.2023 10:18

        Там воткнут тариф iOT и оператор знает, что будет идти трафик соответствующий. А именно - звонки с ограниченного списка повторяющихся номеров.


  1. s_panteleev
    15.09.2023 10:18
    +3

    Клиент начинает звонок по этому номеру. Звонок для пользователя бесплатный.

    Если клиент не в роуминге.

    Не знаю, как у вас сейчас, но в апреле 2023, при звонке АТС сбрасывала звонок не сразу, а через 1 секунду звонка (МТС – 85 руб., Тинькофф – 15 руб.)


  1. alexxisr
    15.09.2023 10:18
    +6

    а зачем вобще привязывать пользователя к номеру телефона? Есть же например абсолютно бесплатный TOTP, и работает даже там где звонок или смс невозможно совершить.


    1. ifap
      15.09.2023 10:18

      А как тогда собирать номера клиентов и играть в профилирование?


    1. PaulIsh
      15.09.2023 10:18
      +1

      Домохозяйкам TOTP сложно понять


      1. gmtd
        15.09.2023 10:18
        +1

        Зато они хорошо знают, что лучше не набирать неизвестные номера, к тому же все остальные приложения/сайты не просили их это делать.


        1. PaulIsh
          15.09.2023 10:18

          Да я собственно тоже считаю, что не будут они никуда звонить.

          Альтернативой смс могла бы стать доставка через мессенджер, но тут тоже всё не просто. Единого мессенджера нет, а в ряде мессенджеров нет штатных механизмов доставки бизнес уведомлений.

          В Китае, насколько я знаю, wechat решает все проблемы.


  1. pyrk2142
    15.09.2023 10:18

    Надо понимать очень важный момент: Flash Call, Voice Code и CallPassword ID имеют очень серьёзные идейные, архитектурные и технические уязвимости. Разные компании разного размера пытались внедрить такие подходы, это приводило к стабильным проблемам.

    Любой разработчик или архитектор, который внедряет такую технологию без полного понимания, что и зачем он делает, должен понимать, что он расписывается либо в том, что ему и сервису наплевать на данные пользователей в нем (или на то, кто будет отвечать за действия злоумышленника от имени пользователя), либо в том, что разработчик - опасное некомпетентное существо, которое не способно подумать и почитать материалы, но лезет интегрировать неизвестную ему нестандартную технологию.


    1. SuperLeha Автор
      15.09.2023 10:18

      Именно так!


  1. emerald_isle
    15.09.2023 10:18

    каждое SMS-сообщение стоит порядка 3–3,5 рублей. 10 лет назад оно обходилось отправителю в 10 копеек

    А чем это оправдывается, такой кратный рост аж в 30 раз или на 3000%?!

    Расходы у мобильных операторов ведь не в тридцать раз за десять лет выросли?


    1. Arhammon
      15.09.2023 10:18
      +2

      Зато доходы от СМС с появлением мессенджеров упали...


    1. xaosxaos2
      15.09.2023 10:18

      Плюс дядечка не знает, что нельзя приравнивать обычных людей и КОРПОРАЦИИ. Например если для меня отравить СМС стоит 10р, то для того же зеленого полосатого стоит 1копейка :) (ну так во всяком случае было до недавнего времени)


      1. needsomedata
        15.09.2023 10:18

        Вы имеете ввиду, что для оператора стоимость SMS - одна копейка?


        1. xaosxaos2
          15.09.2023 10:18

          Для клиента оператора. Во сколько обходится оператору, я не в курсе. Пардон не подумал, что зелёный полосатый может ассоциироваться с мегафоном :)


    1. needsomedata
      15.09.2023 10:18

      1. Закон Яровой

      2. Стоимость смс это в т.ч. и защита от sms спама

      3. Курс доллара

      4. Инфляция

      5. Все общение ушло в интернет

      6. Дополните сам


      1. SuperLeha Автор
        15.09.2023 10:18

        Четвёрку можно понять почему идёт рост цен, ещё много чего можно написать в 6 пункте.

        Но есть не только их бизнесы, есть много других, которые хотят срезать расходы. А получается так, что технически блокируя другие решения, они провоцируют платить только им, что с точки конкуренции не справедливо.

        Я ещё раз подчеркну, что действия большой четвёрки понятны им и в правду тяжело.


  1. FilimoniC
    15.09.2023 10:18

    С учетом того, что сим-карты всяких шлагбаумов, получающих по 50+ flash-звонков в день, не блокируют, а смена номера вероятно не является чем-то сложным со стороны информационной системы, выглядит вполне годно.

    Однако UX при необходимости набирать каждый раз новый номер может подкачать.

    Спасибо за статью.


  1. Heggi
    15.09.2023 10:18
    -1

    Есть еще вариант - это заставлять самого пользователя отправлять СМС с кодом на номер сервиса. Аналогично как это сделано в KaKaoTalk.
    За СМС платит пользователь (или не платит, если подключен пакет СМС), сервис не платит ничего (только обслуживание номера для приема СМС).
    Из минусов - если авторизоваться необходимо на мобиле под номером другого телефона, то вручную переписывать содержимое СМСки - то еще занятие. А если мобила двухсимочная, то еще и с правильной симки суметь отправить смс.


    1. Heggi
      15.09.2023 10:18
      +2

      Господа, активно минусящие. Хоть бы писали что не так!


    1. Aelliari
      15.09.2023 10:18

      Заставлять пользователя слать смс? Сервис должен обладать огромной ценностью для него…


      1. Heggi
        15.09.2023 10:18

        Чем это принципиально от ситуации "пользователь звонит по указанному номеру" ? Тыкаешь кнопку в приложении, открывается приложение для отправки смс где уже все заполнено и надо только нажать кнопку отправить. Для сайтов, скорее всего, такое не прокатит (но это не точно, СБП из браузера же как-то запускает приложения банков, значит и приложение смс запустить можно)

        И в том и в том случае пользователю необходимо совершить какое-то действие, которое с высокой долей вероятности будет бесплатным для него (наверняка есть тарифы без пакета смс в комплекте, но большинство абонентов все-таки с тарифом с пакетом смс имхо. Хотя я не оператор и статистики такой у меня нет, я могу и ошибаться)

        А по поводу ценности сервиса... Ну для какого-нибуть не уникального сервиса это так, часть пользователей скорее всего уйдет к конкурентам. Но с тем же мессенджером скорее всего прокатит. Взять тот же условный телеграм. Если он сделает авторизацию через отправку смс - много ли пользователей с него уйдет? При том что большинство пользователей эту смс отправят один раз при замене телефона.


        1. Aelliari
          15.09.2023 10:18

          От «пользователь звонит» - принципиально ничем, оба способа - гадость, с моей точки зрения. Я и смс в целом, как средство аутентификации недолюбливаю ни в каком виде


          1. Heggi
            15.09.2023 10:18

            Иногда требуется не аутентификация, а подтверждение владением конкретным номером телефона. И что-то кроме звонка/смс тут не придумать.


  1. newclaus
    15.09.2023 10:18

    Везде учтиво так оговорены плюсы и минусы, но как доходим до FlashCall так только плюс - это дешево. А тут потенциально аутентификация с FlashCall будет растягиваться на 1-2минуты. Это ж надо забить номер (без ошибок), сделать вызов, дождаться когда страница обновится (ибо это единственная гарантия что ваш вызов принят и обработан). Ну и наконец, операторы могут и эту фишку зарубить, когда она распространится. Никто ж им не платит за это, а вызовы надо обслуживать.

    Я лично за ОТР, там хоть опечатки при вводе не так критичны. Ну и менеджер паролей наше все


    1. SuperLeha Автор
      15.09.2023 10:18

      Согласен, что скорость верификации это важный момент. Для совершения вызова не придётся переходить в звонки. В приложениях это копка зелёного цвета «позвонить», замена кликабельного номера телефона. Установление соединения 4 сек., + 2 сек., чтобы отправить данные, перезагрузить и пустить.

      На компьютере это QR код для сканирования. Далее всё автоматом.

      Процедура занимает меньше времени чем получить СМС или звонок и указывать код.

      +есть ещё решение, где пользователю свой номер предварительно не нужно вводить, только нажми кнопку и всё. Мы увидели номер, передали его дальше, а сервис пускай сам решает новый это клиент или пустить его в существующий аккаунт.


  1. popsodav
    15.09.2023 10:18

    Не будут пользователи в большинстве своем звонить куда-то. Ввод такой авторизации приведет к отвалу клиентов на этом этапе. Я бы точно не стал внедрять это в своих сервисах.


  1. Ntari
    15.09.2023 10:18

    А чего вы пристали к этой авторизации через телефон? Есть же много бесплатных способов. Некоторые сервисы отправляют код в мессенджеры (Ватсап/Тг есть почти у всех). А мне вообще больше всего нравится способ с отправкой кода на email. При этом если вам надо верифицировать номер телефона то можно это сделать разово при регистрации или потом в личном кабинете. А саму авторизацию завязать на отправке в мессенджеры или на почту.


    1. SuperLeha Автор
      15.09.2023 10:18

      Отправка кода в мессенджеры не бесплатная. Но можно и туда код отправить, только это уже верификация не пользователя, а устройства где ранее он установил данный мессенджер + доступ может получить не сам пользователь, если данный мессенджер уведут. Но для большинства сервисов это не значительные минусы, по этой причине они пытаются доставить код туда, если не получилось, то используют классические способы.

      e-mail удобен для пользователя, но для сервиса нет. Много одноразовых e-mail + телефон в большинстве случаев всё равно потребуется и его нужно будет подтвердить.


      1. Ntari
        15.09.2023 10:18

        Но телефон, как я сказал, достаточно разово подтвердить. А каждый раз не обязательно. Как самый известный пример Headhunter использует такую связку. При авторизации код отправляется именно на почту. А телефон уже подтверждён ранее.


        1. SuperLeha Автор
          15.09.2023 10:18

          Всё правильно пишите, его и не нужно каждый раз подтверждать. Верификацию можно пройти один раз, далее авторизация по логину и паролю, автовход по ранее использованному устройству (для приложений), запрос на e-mail и т.д.


  1. papilaz
    15.09.2023 10:18

    Есть электропочта. И только так надо. А понаделали разной ерунды вокруг телефонных номеров. Не все дела идут без электропочты в нашем деле. Указал свою почту, получил на неё код и пошёл авторизоваться или временной ссылкой из почты. По-человечески получается.


    1. zartarn
      15.09.2023 10:18

      На телефон завязано так много стало потому что телефон есть у большего количества людей и пользуется ими активнее, чем почтой. Много людей у кого новый телефон - новая почта (кто же помнит пароль от старой), а вот номер телефона - переносится.

      Это мы тут привыкшие к почте)