Рейтинг:3

Объединение пароля и TOTP - возможные проблемы

флаг cn

Я столкнулся с двухфакторным механизмом входа в систему, использующим OTP на основе времени (TOTP). TOTP (6 цифр) отображается пользователю в приложении.

Есть два способа входа в систему.

Способ 1:

Пользователь вводит имя пользователя и пароль. Затем утверждает уведомление о входе, полученное в приложении TOTP. В этом случае нет необходимости вводить TOTP.

имя пользователя = имя пользователя
пароль = пароль

Способ 2:

Пользователь вводит комбинацию пароля и TOTP из приложения в качестве пароля. В этом случае уведомление в приложение не поступает.

имя пользователя = имя пользователя
пароль = пароль + TOTP (6 цифр)

Имя пользователя и пароль отправляются через TLS.

На стороне сервера я предполагаю, что они отделяют последние 6 цифр от полученного значения пароля и проверяют, соответствует ли оно TOTP (а затем сопоставляют остальную часть строки с сохраненным паролем).

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

Какие могут быть возможные проблемы или криптографические недостатки в этой системе?

флаг et
Если TOTP совпадает, то, надеюсь, вы также проверяете пароль, верно? Вы не указали это в вопросе
Yash Dhingra avatar
флаг cn
Я не знаю, что происходит на стороне сервера. Но да, указание правильного TOTP и неправильного пароля показывает ошибку о том, что имя пользователя или пароль неверны; поэтому они должны проверять пароль. Я добавлю это в вопрос.
Рейтинг:0
флаг cn

я предполагаю

Мое правило №1, когда дело доходит до безопасности: предполагай худшее или вообще ничего не предполагай (хотя, признаюсь, я все еще делаю предположения)

Какие могут быть возможные проблемы или криптографические недостатки в этой системе?

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

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

Есть ли другие показательные факты, которые компания обнародовала о безопасности своих услуг? Используют ли они такие пугающие слова, как «шифрование военного уровня» или «невзламываемый»? Какова их политика в отношении сложности пароля? Использует ли их веб-сайт TLS 1.3?

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

Yash Dhingra avatar
флаг cn
У них нет публичных заявлений о своей безопасности. И они используют TLS 1.2. О других подробностях спросить у них невозможно. Вот почему я задал этот вопрос сообществу, чтобы оценить, может ли эта практика добавления двух параметров иметь возможные проблемы с безопасностью. Были ли какие-либо предыдущие случаи, когда это вызывало какие-либо проблемы?
Richie Frame avatar
флаг cn
@YashDhingra, когда длина одного из них фиксирована, это, вероятно, не проблема, но когда длина варьируется, могут возникнуть серьезные проблемы. Наличие обязательного разделителя также может привести к проблемам, фиксированная длина без разделителя более надежно разбивается без проблем.
Yash Dhingra avatar
флаг cn
Да, длина TOTP фиксированная (6 цифр). Это будет означать, что если они не хранят пароли в виде простого текста и не используют подготовленные операторы для очистки ввода, в этом подходе не возникает особых проблем? Кроме того, было бы лучше иметь отдельный вход для TOTP, а не добавлять к нему пароль?
Richie Frame avatar
флаг cn
@YashDhingra просто с точки зрения UI / UX имеет смысл использовать TOTP в качестве отдельного входа, действительно существует множество технических мер, которые можно использовать, чтобы предотвратить возникновение каких-либо проблем с безопасностью при объединении.

Ответить или комментировать

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