Принудительные буквенно-цифровые идентификаторы пользователей

StackOverflow https://stackoverflow.com/questions/97765

Вопрос

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

Считаете ли вы, что это хорошее требование?

У вас есть какие-нибудь веские причины не делать этого?

Знаете ли вы о каком-либо исследовании, на которое я мог бы сослаться?

Редактировать:Это нет что касается пароля.У нас уже есть аналогичные требования к этому, против которых я не возражаю.

Это было полезно?

Решение

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

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

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

Редактировать: Я предполагаю, что это обсуждение касается имен пользователей или общедоступных идентификаторов, НЕТ что-то, что имеет непосредственное отношение к безопасности, например пароли.

Другие советы

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

Что касается общих идей:

  • Это мнение, но добавление цифры к имени пользователя не обязательно повысит безопасность.Люди записывают имена пользователей в заметках post it, большинство пользователей просто добавляют "1" в начало или конец своего имени пользователя, чтобы его было легко угадать.
  • С точки зрения удобства использования, это плохо, поскольку нарушает норму.Принуждение их добавлять цифру к своему имени пользователя просто приведет к вышеуказанному пункту.Они просто добавят "1" в конец или начало своего имени пользователя.

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

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

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

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

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

Для обоих банковских счетов, которые у меня есть, требуется буквенно-цифровое имя пользователя и два пароля для онлайн-входа.У одного из них также есть образ, который я должен запомнить.Эти два пароля должны меняться примерно раз в месяц.Таким образом, у меня есть вся регистрационная информация прямо здесь, в текстовом файле.(Даже смотреть на это не имеет никакого смысла;Мне придется спуститься в банк и снова сбросить свои пароли.Это в общей сложности 7 сбросов пароля для 6 входов в систему.Говорить о безопасности, даже не Я можете получить доступ к моей учетной записи.)

хорошо, если это указано в их пароле (поскольку, увы, финансовые компании любят отказывать вам в этом праве безопасности [я обращаюсь к вам, american express]).

имя пользователя, я говорю "нет", если только они сами этого не захотят.

Имя пользователя (предположительно) необходимо будет указывать по телефону при обращении в службу поддержки, чтобы оно было общедоступным, в отличие от пароля.Кроме того, поле имени пользователя не будет замаскировано в браузерах, как поля пароля, поэтому оно будет иметь гораздо больший доступ и будет кэшироваться / регистрироваться в разных местах, поэтому "преимущество" дополнительной безопасности будет отменено в кратчайшие сроки.

И чем сложнее вы что-то усложняете, тем больше вероятность того, что пользователь запишет это куда-нибудь, что снова подрывает безопасность (на самом деле то же самое относится и к политике паролей, но это уже другая история!)

Я также работаю в финансовом учреждении, и все наши имена пользователей (как реальных людей, так и производственных идентификаторов) написаны в нижнем регистре, в алфавитном порядке, длиной до 8 символов, и я никогда не считал это проблемой...позволяет избежать путаницы 0 против O, 1 против I и 8 против B - если только вы не работаете в той же компании, что и я, и не собираетесь внедрять новую политику...

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

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

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

Наличие несогласованных имен пользователей увеличивает ряд специфических рисков:

  1. Это затруднит отслеживание аудиторского журнала (серьезная угроза безопасности).
  2. Это может увеличить стоимость, если вы позже начнете использовать единый вход в систему.
  3. Это приведет к плохому взаимодействию с пользователем, так как пользователи должны помнить, что это приложение использует странное имя пользователя.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top