Безопасно ли использовать UUID в URL для полуприватных данных? - PullRequest
0 голосов
/ 16 сентября 2018

Я управляю компанией по благоустройству и имею несколько экипажей. Я хочу предоставить каждому свой URL (например, mysite.com/xxxx-xxxx-xxxx), который показывает их ежедневное расписание. При переходе на страницу будет указано имя, адрес и номер телефона 5-10 клиентов за день.

Безопасно ли / целесообразно использовать UUID в URL для полуприватных данных?

Ответы [ 2 ]

0 голосов
/ 16 сентября 2018

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

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

На стороне реализации вещей:

  • Не все генераторы UUID созданы равными. В идеале вы хотите использовать генератор на основе криптографически безопасного ГСЧ, предоставляющий UUID, где каждый байт выбирается случайным образом.
  • Использование UUID для поиска в базе данных или аналогичной операции не обязательно является операцией с постоянным временем (и, следовательно, возможны атаки по побочным каналам, если вы сами не выполняете поиск)
  • Убедитесь, что ваш URI не просочился через реферер
  • Некоторые инструменты пытаются обнаружить «секретные» URL-адреса, чтобы защитить их от синхронизации истории или других автоматических функций. Ваша схема, скорее всего, не будет определена как «секретная». Возможно, было бы лучше искусственно удлинить ваш URI и переместить ваш UUID в параметр запроса.
  • Вы можете дополнительно уменьшить поверхность атаки обычными методами (ограничение скорости, усиление защиты сервера и т. Д.)

На концептуальной стороне вещей:

  • Один идентификатор для идентификации и аутентификации не обязательно является плохой вещью. Однако в большинстве случаев нужен только идентификационный идентификатор - вы не должны использовать «секретный» UUID в этих сценариях
  • Если «экипаж» состоит из нескольких человек: вы не можете аннулировать доступ для одного члена экипажа
  • Некоторое программное обеспечение (антивирус, браузер и т. Д.) Обрабатывает информацию в URL-адресах как общедоступную и может загружать ее без взаимодействия с пользователем
0 голосов
/ 16 сентября 2018

Зависит от того, насколько вы хотите, чтобы это было безопасно.

Используются ли UUID для чего-то еще? В противном случае они подходят для создания случайных URL.

Но, история браузера позволила бы любому, использующему ту же машину, найти URL. Кроме того, если не использовать https, сетевой анализатор может легко увидеть запрошенные URL-адреса и перейти на ту же страницу.

Еще одна проблема - боты-пауки. Убедитесь, что ничего не ссылается на эти страницы, используйте robots.txt для предотвращения индексации сайта, но вы все равно можете обнаружить, что некоторые страницы отображаются в поисковых системах. Возможно, было бы лучше установить UUID в файле cookie и проверить, чтобы определить, каким сотрудником он является, чтобы ваши полуприватные страницы не появлялись в Google.

...