Рассуждение на тему аутентификации

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

1. Классический способ:

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

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

Минусы: затраты времени на регистрацию на каждом из необходимых ресурсов, необходимость хранения/запоминания множества связок «логин/пароль»

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

Возможный, частичный способ решения проблемы с запоминанием логина — использование вместо него e-mail'a, но пароли для надежности нужно иметь различные — поэтому и частичный.

2. OpenID:

Кратко цитируя wikipedia.org, OpenId это:

«OpenID — это открытая децентрализованная система единого входа на сайты, порталы, блоги и форумы. Поддержка множеством сайтов технологии OpenID позволяет пользователю использовать единый логин для авторизации на любом из этих сайтов.»

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

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

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

Технические моменты(критика с wikipedia.org, частично поддерживаю):

1. Провайдер OpenID может представиться своим пользователем. Это возможно или в случае недобропорядочности провайдера, или в случае его взлома.

2. Пользователь должен доверять провайдеру, так как тот может узнать, какие сайты посещал владелец OpenID. Хотя, с другой стороны, провайдер обычно даёт пользователю OpenID возможность проконтролировать, на каких сайтах был использован его логин, чтобы заметить кражу пароля.

3. В OpenID не встроена защита от фишинга (для ввода пароля пользователя могут не перенаправить на страницу провайдера, а показать поддельную страницу, похожую на страницу провайдера). Однако многие провайдеры и дополнительные программы (например, расширения для Firefox) предоставляют эту защиту.

Учитывая всё вышеперечисленное делаю вывод:

Наиболее приемлемый способ — это комбинирование классического способо и openID, с предоставлением права выбора пользователю.

Однако, по своей старой привычке, позвольте помечтать на сию тему :)

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

До полного счастья было бы еще очень неплохо добавить возможность доступа по такому ID к хранилищам данных а-ля ftp, к разнообразным IM(ну icq отпадает скорее всего, а вот с jabber-ом возможно и получится) и еще лично мне было бы удобно иметь что-то наподобие истории действий со своим ID, как для безопасности, так и для проявлений склероза: какой файл куда заливал, откуда скачивал, по каким сайтам шастал и т.д.

Вот, намечтал — получилось что-то вроде слегка пропатченого openID с замашкой на социальность. Если интересно попробую написать отдельный топик с абстрактной схемой реализации описанного выше.

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

Спасибо за внимание, по привычке скажу, что все, что выше мое ИМХО, что я рад осмысленным пусть и критичным комментариям, ну и конечно конструктивному обсуждению, ибо на мой взгляд проблема довольно насущная, пусть, возможно и не самая острая.

З.Ы. если подкинете еще интересные способы(желательно со ссылками) или разумные идеи относительно описанных — с радостью добавлю в топик.
Tags:идентификацияаутентификацияopenID
Hubs: Lumber room
0
283 2
Comments 37
Android-разработчик (kotlin)
to 150,000 ₽BlogmanСанкт-ПетербургRemote job
Android developer
to 180,000 ₽Improve DigitalНовосибирск
Android разработчик (Kotlin)
to 175,000 ₽МТСМоскваRemote job
Senior Android Developer
from 200,000 ₽FunCorpМосква