Помощники адресов с аутентификацией

Proposal 135
Open
Author zzz
Created 2017-02-25
Last Updated 2017-02-25

Обзор

Это предложение добавляет механизм аутентификации к URL-адресам помощников.

Мотивация

URL-адреса помощников по своей природе небезопасны. Кто угодно может вставить параметр помощника адресу в ссылку, даже для изображения, и может указать любое назначение в параметре URL “i2paddresshelper”. В зависимости от реализации HTTP-прокси пользователя, это отображение имени хоста/назначения, если оно отсутствует в адресной книге, может быть принято, с промежуточным сообщением для подтверждения пользователем или без него.

Дизайн

Доверенные серверы переходов и службы регистрации адресной книги будут предоставлять новые ссылки помощников, добавляющие параметры аутентификации. Два новых параметра будут представлять собой подпись в формате base 64 и строку подписавшего.

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

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

Если параметры аутентификации отсутствуют, HTTP-прокси может принять, отклонить или предоставить информацию пользователю.

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

Влияние на безопасность

Это предложение повышает безопасность за счет добавления аутентификации от доверенных служб регистрации/переходов.

Спецификация

Требует доработки.

Два новых параметра могут быть названы i2paddresshelpersig и i2paddresshelpersigner?

Допустимые типы подписей требуют доработки. Вероятно, не RSA, поскольку подписи в формате base 64 будут очень длинными.

Алгоритм подписи: требует доработки. Возможно, просто hostname=b64dest (так же, как предложение 112 для аутентификации регистрации).

Возможный третий новый параметр: строка аутентификации регистрации (часть после “#!”), используемая для дополнительной проверки HTTP-прокси. Любой “#” в строке должен быть заменен как “#” или “#”, либо заменен на другой указанный (требует доработки) URL-безопасный символ.

Переходный период

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

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

Новые HTTP-прокси, которые требуют параметров аутентификации, не допустят использования старых ссылок помощников без параметров.

Политики реализации прокси могут развиваться в течение переходного периода.

Проблемы

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

Возможно, прокси сможет проверить заголовок Referer для запроса помощника адреса. Если Referer присутствует, содержит b32, и b32 совпадает с назначением помощника, тогда это может быть разрешено как самоперенаправление. В противном случае это можно считать запросом третьей стороны и отклонить.