Мой блог

Аутентификация и Авторизация

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

Как я вижу аутентификацию пользователя?

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

Авторизация начинается с Намерения
Это может быть намерение от пользователя "Авторизуй меня, пожалуйста" или это может быть входящее намерение от сервера авторизации, как состояние обработки какого-либо протокола.

  • Устройство создает намерение "Авторизуйте меня, пожалуйста". Намерение транслируется на связанные Хранилища намерений в поисках серверов авторизации.
  • Сервера авторизации принимают или не принимают Намерение, в зависимости от своих политик авторизации. Устройству начинают приходить Встречные намерения.
  • Устройство принимает или не принимает Встречные намерения, в зависимости от своих политик авторизации
  • Серверу авторизации может быть отправлен логин и пароль для входа или входные данные для регистрации, если позволяют политики

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

В такой системе можно войти под разными аккаунтами на одном ресурсе, чтобы собирать данные с обоих аккаунтов. Одним и тем же аккаунтом входить одновременно на несколько разных ресурсов. Мы можем доверять открытым серверам авторизации, а можем использовать собственные в зависимости от тех требований безопасности к ресурсу, которые мы предъявляем.

Такие задачи как "Я специалист, я хочу разместить свою анкету на всех профильных ресурсах, которые смогу найти" или "Я ищу специалиста, который мне может помочь. Я хочу принимать входящие намерения со всех профильных ресурсов, которые смогу найти" становятся выполнимы.

05 янв.2019