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

Где я могу найти хорошо написанную, углубленную техническую дискуссию о "частных URL-адресах", например, тех, которые используются в Документах Google "любой, у кого есть ссылка" ? Я ищу темы, такие как алгоритм и реализация для генерации ссылки, размер используемого пространства ID, анализ последствий для безопасности и прагматические компромиссы в безопасности для удобства. Я хочу избежать чтения догмы о "безопасности через безвестность".

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

Я искал Google Scholar для "кто-нибудь со ссылкой" , "секретный URL" и "private URL" . Я нашел несколько интересных работ и патентов, но мне все еще интересно узнать больше о том, что такое современное состояние. [1] [2] [3] [4] [5]

Ответ 1

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

Прагматично следующие переменные, как правило, доминируют в разговорах, которые я видел:

  • Если у пользователя есть ссылка в руке и fwds это для друзей, это функция или ошибка?
  • Если владелец контента хочет отменить доступ (то есть отозвать ссылку), как легко это сделать? Насколько часто это происходит?
  • Должна ли связь тайм-аут? Если так, то как долго?
  • Где "линия" в нашем комфорте здесь? Например, если это ссылка на документ, читается только достаточно хорошо? Должна ли она работать с чтением и записью? Есть ли предел нашему комфорту с учетом модели угрозы?
  • Существует ли ограничение на количество раз, когда ссылка должна использоваться?
  • Нам все равно, хороши ли ссылки, или у них может быть какая-то уродливая огромная капля в них?
  • Какие существуют проблемы, связанные с управлением версиями ссылок, внутренними службами и вещами, которые могут вызвать нарушения?
  • Если базовое содержимое перемещается/ссылки меняются, должны ли рассылаться личные ссылки, которые были отправлены? В более общем плане, какие виды операций должны разорвать ссылки и какое влияние на пользовательский опыт должно иметь?
  • Предполагая, что высококвалифицированный злоумышленник находится после ваших ссылок, какие существуют другие защиты, чтобы предотвратить угадывание пространства, и какая у вас история инструментов? Затем вы накладываете это на математику в самих ссылках и убеждаете себя, что у вас есть модель угрозы, где требуется угадать сингулярную ссылку, и с такой моделью затрат, что это дорого стоит.

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

Я с удовольствием комментирую ваш конкретный сценарий с большим количеством данных...