На досуге довольно долго размышлял на тему существующих способов аутентификации: прикидывал плюсы и минусы разных концепций и т.д. В общем и целом из жизнеспособных на мой взгляд решений сейчас имеем следующие:
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.
Спасибо за внимание, по привычке скажу, что все, что выше мое ИМХО, что я рад осмысленным пусть и критичным комментариям, ну и конечно конструктивному обсуждению, ибо на мой взгляд проблема довольно насущная, пусть, возможно и не самая острая.
З.Ы. если подкинете еще интересные способы(желательно со ссылками) или разумные идеи относительно описанных — с радостью добавлю в топик.
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.
Спасибо за внимание, по привычке скажу, что все, что выше мое ИМХО, что я рад осмысленным пусть и критичным комментариям, ну и конечно конструктивному обсуждению, ибо на мой взгляд проблема довольно насущная, пусть, возможно и не самая острая.
З.Ы. если подкинете еще интересные способы(желательно со ссылками) или разумные идеи относительно описанных — с радостью добавлю в топик.