Хочу поделиться соображениями о набирающей популярности технологии OpenID.
Если вы не знаете что это, на хабре есть колонка, описывающая принципы технологии.
Начнём с ситуации вокруг хранения пользовательских данных, которая существует сейчас.
Вы имеете пароли от почты, от форума, от хабра, от жж.
Варианты хранения:
1. Вы помните все свои пароли.
2. Вы записываете свои пароли в файл.
3. Вы доверяете свои пароли программе, «менеджеру паролей».
Первый вариант – идеальный, никаких проблем. Вы доверяете только себе.
Второй вариант – вы доверяете пароли своему компьютеру.
Третий вариант – вы доверяете сторонней специализированной программе свои пароли.
Это автоматически означает, что вы доверяете и разработчику программы.
В случае (1) и (2) – несанкционированное использование ваших паролей – исключительно ваша вина. Данные могут пропасть только с вашего компьютера.
В случае (3) – к вашей вине добавляется ещё и возможная вина разработчика программы. Пароли могут «уйти» и с помощью его программы.
Мы помним, что помимо паролей на стороне пользователя, существуют пароли (или производные от них) и на стороне сервиса, которым он пользуется.
У сервисов разные системы аутентификации.
Для сервисов существуют различные уязвимости, позволяющие получить доступ к вашей почте, аккаунту в дневнике и так далее.
Но нет универсальных уязвимостей, позволяющих получить доступ ко всем вашим аккаунтам сразу.
Что предлагает технология OpenID?
Фактически, после регистрации на сервере OpenID, вы имеете один мастер-пароль, подходящий для всех сервисов, которые вы используете.
Есть единый стандартный протокол, по которому сервисы обмениваются с сервером идентификации OpenID информацией. Единая система аутентификации — на сервере OpenID.
Сервер идентификации знает абсолютно все сервисы, на которых вы используете данный идентификатор OpenID.
Сервер идентификации знает ваш мастер-пароль.
Сервисы доверяют данному серверу OpenID.
Абсолютно все знают, какой сервер OpenID вы используете.
Получается, что вам осталось хранить только мастер-пароль в безопасности (и желательно не на компьютере).
Вы может не беспокоиться – в случае взлома (кражи) компьютера злоумышленники не получат доступа к сервисам, на которых вы зарегистрированы.
В случае чего виноваты будете не вы, а сервер идентификации.
Но будет ли вам от этого легче? Что вы сможете с него потребовать?
При использовании OpenID вам нужно постараться не думать о том, что неуязвимых протоколов, сервисов и серверов не бывает.
Вам просто нужно поверить в обратное.
Идея, которая лежит в основе данной технологии — это безусловно хорошая идея.
Но когда идея становится технологией — у неё появляется своя область применения, свои плюсы и минусы.
Вопрос в том, насколько плюсы перевешивают минусы, чтобы делать технологию стандартообразующей и/или универсальной.
А что получится на этот раз — мы очень скоро узнаем.
Если вы не знаете что это, на хабре есть колонка, описывающая принципы технологии.
Начнём с ситуации вокруг хранения пользовательских данных, которая существует сейчас.
Вы имеете пароли от почты, от форума, от хабра, от жж.
Варианты хранения:
1. Вы помните все свои пароли.
2. Вы записываете свои пароли в файл.
3. Вы доверяете свои пароли программе, «менеджеру паролей».
Важный момент:
Вам не обязательно доверять имена (URL) сервисов менеджеру.
Никто не знает, что вы используете менеджер паролей.
Никто не знает, какой менеджер паролей вы используете.
Первый вариант – идеальный, никаких проблем. Вы доверяете только себе.
Второй вариант – вы доверяете пароли своему компьютеру.
Третий вариант – вы доверяете сторонней специализированной программе свои пароли.
Это автоматически означает, что вы доверяете и разработчику программы.
В случае (1) и (2) – несанкционированное использование ваших паролей – исключительно ваша вина. Данные могут пропасть только с вашего компьютера.
В случае (3) – к вашей вине добавляется ещё и возможная вина разработчика программы. Пароли могут «уйти» и с помощью его программы.
Мы помним, что помимо паролей на стороне пользователя, существуют пароли (или производные от них) и на стороне сервиса, которым он пользуется.
У сервисов разные системы аутентификации.
Для сервисов существуют различные уязвимости, позволяющие получить доступ к вашей почте, аккаунту в дневнике и так далее.
Но нет универсальных уязвимостей, позволяющих получить доступ ко всем вашим аккаунтам сразу.
Что предлагает технология OpenID?
Фактически, после регистрации на сервере OpenID, вы имеете один мастер-пароль, подходящий для всех сервисов, которые вы используете.
Есть единый стандартный протокол, по которому сервисы обмениваются с сервером идентификации OpenID информацией. Единая система аутентификации — на сервере OpenID.
Сервер идентификации знает абсолютно все сервисы, на которых вы используете данный идентификатор OpenID.
Сервер идентификации знает ваш мастер-пароль.
Сервисы доверяют данному серверу OpenID.
Абсолютно все знают, какой сервер OpenID вы используете.
Получается, что вам осталось хранить только мастер-пароль в безопасности (и желательно не на компьютере).
Вы может не беспокоиться – в случае взлома (кражи) компьютера злоумышленники не получат доступа к сервисам, на которых вы зарегистрированы.
В случае чего виноваты будете не вы, а сервер идентификации.
Но будет ли вам от этого легче? Что вы сможете с него потребовать?
При использовании OpenID вам нужно постараться не думать о том, что неуязвимых протоколов, сервисов и серверов не бывает.
Вам просто нужно поверить в обратное.
Идея, которая лежит в основе данной технологии — это безусловно хорошая идея.
Но когда идея становится технологией — у неё появляется своя область применения, свои плюсы и минусы.
Вопрос в том, насколько плюсы перевешивают минусы, чтобы делать технологию стандартообразующей и/или универсальной.
А что получится на этот раз — мы очень скоро узнаем.