Какие есть методы борьбы с фродами при авторизации пользователя с использованием MSISDN?
Доброго времени суток.
Для начала расскажу, что такое MSISDN.
MSISDN - параметр HTTP-заголовка ( например X-MSISDN ), который дописывает оператор сотовой связи при входе абонента на тот или иной ресурс посредством WAP/GPRS/etc.. .
Почти всегда данный параметр содержит телефонный номер ( в редких случаях HASH, но это справедливо только для Вымпелкома =))) ) абонента. Те, используя данный параметр, мы можем избавить абонента от ввода логинов и паролей для авторизации при заказе разного рода услуг и тд.
Теперь вопрос.
Например у нас имеется портал оператора, на котором есть личный кабинет абонента, идентификация абонента происходит посредством MSISDN. В кабинете ему выводятся разные данные о состоянии лицевого счета, детализация звонков любовницам и тд.
Каким образом я могу проверить, что это именно тот абонент, а не Вася Пупкин, добавивший в HTTP-заголовок параметр с номером, по которому он хочет получить инфу?
@etspring ну если для определенных хостов и их определяет оператор - то это не общий случай. И в таком случае проверка элементарная - два заголовка, первый - MSISDN, а второй - X-MSISDN-HASH который будет хеш функцией от MSISDN + USER_AGENT + IP + DYNAMIC_SALT. Ну и сравниваете эти значения.
@zona7o к сожалению ОпСос никогда не реализует такое - для этого им придется дорабатывать свои гейты.
Скажу больше. Если от абонента приходит на гейт http-запрос, содержащий msisdn, то значение заголовка не перезаписывается ( например по причине работы с SSO ).
Что-то я не припомню, чтобы MSISDN еще передавался заголовком, годом так с 2006-го. А по делу, авторизацию нужно проводить, либо через смс код, либо по логин-паролю. Полностью доверять заголовкам никогда нельзя.
Это ничего не меняет. Подход с автоматической авторизацией абонента является изначально не верным. Заголовки можно подделать любые и доверять им, значит иметь дыру в безопасности.
@NeLexa а вы не задумывались об лояльности абонента? Или "давайте сделаем супер-пупер-безопасный сервис", который никому не нужен в следствии большого числа "шагов", необходимых абоненту для достижения необходимой цели.
@etspring не уверен, что абонент будет проявлять лояльность, если кто-то подделает заголовок и получит доступ к его личному кабинету с возможностью получения персональных данных.
Пообщался я со спецами ОпСоСа - пришли к заключению, что единственным более-менее годным способом защиты является изменение названия заголовка - возможность настройки имени заголовка для определенного ресурса присутствует.
Идеальный вариант - hash.