id: Гость   вход   регистрация
текущее время 22:03 28/03/2024
Автор темы: poptalk, тема открыта 28/09/2007 19:59 Печать
Категории: криптография, софт, аутентификация, разное, расширения, офф-топик
https://www.pgpru.com/Форум/Офф-топик/ГлобальнаяАвторизацияСПомощьюЭцп
создать
просмотр
ссылки

Глобальная авторизация с помощью ЭЦП


После того, как список паролей к различным сайтам перевалил за 100, я задумался об оптимизации этой системы.
Можно просто хранить все пароли в мастере подстановки броузера. Но тогда сайты не будут знать, что мои аккаунты на разных сайтах — это один и тот же человек.
Есть, конечно, OpenID, но она упирается в провайдера авторизации. Провайдер должен быть всегда он-лайн (в этом плане у отдельного пароля к каждому сайту есть преимущество), если провайдер закроется, мой аккаунт издыхает вместе с ним. Всё-таки приятнее свой аккаунт носить с собой. :)
Я подумал, что ЭЦП является наиболее элегантным решением проблемы. Есть ли какая-то готовая технология? Я видел, что здесь на форуме некоторые сообщения вроде бы подписаны. Насколько удобно общаться на форуме с использованием ЭЦП?
Ещё вопрос: обязательно человеку, который подписывает сообщения, регистрироваться на вашем сайте? Если обязательно, то зачем?
Какую технологию я хотел бы увидеть: заходить на сайт под одним из существующих у меня ключей или под сгенерированным анонимным. Если сайт мне нравится, тогда я подвязываю анонимный ключ к одному из основных, чтобы все знали, что это я. Я также могу подвязать какой-либо ключ к тому ключу, который связан с паспортом, но хочу, чтобы об этом знал только ограниченный круг людей.


 
На страницу: 1, 2 След.
Комментарии
— ПэГусев (28/09/2007 21:15)   профиль/связь   <#>
комментариев: 112   документов: 8   редакций: 15
Насколько удобно общаться на форуме с использованием ЭЦП?

Нормально.
Ещё вопрос: обязательно человеку, который подписывает сообщения, регистрироваться на вашем сайте? Если обязательно, то зачем?

Если открытый ключ загружен на сайт, движок может проверить ЭЦП и вывести "Верная ЭЦП от ...". Если ключ не загружен, движок не может проверить подпись и отображает "Неопределенная ЭЦП ключом 0x.....". В обоих случаях Вы можете открыть подписанный оригинал и проверить подпись лично.
Загружать ключи в настоящее время могут только зарегистрированные участники.
— SATtva (28/09/2007 23:07)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Привет, poptalk. Почитайте эту статью. Решение с открытыми ключами действительно наиболее элегантно. Осталось написать формальную спецификацию и реализовать.

В плане реализации, на мой взгляд, можно пойти таким путём.
  1. У Вас есть ключ PGP (обычно один или несколько). Всё, что нужно для регистрации на сайте — это сообщить серверу свой ключ.
  2. Сервер подписывает Ваш сертификат своим ключом, определяя его как достоверный.
  3. Для логина на сайт Вы электронно подписываете выданную сервером строку-запрос.
  4. Сервер проверяет подлинность строки, Вашей подписи и собственной подписи на данном ключе. Если всё сходится — Вы внутри.

Технических проблем здесь всё равно куча, останавливаться на них не стану. Главная беда та же, что и с OpenID, и с клиентскими SSL-сертификатами: они мало у кого есть. Пока ситуация не изменится, администраторам и разработчикам придётся создавать и поддерживать обе схемы аутентификации: и token-based, и парольную. А отсюда и куда меньшее желание изначально ввязываться в эту затею: зачем что-то менять, если и так всё работает? Ради пяти пользователей сайта? (Это отчасти и мои собственные мысли, когда я задумываюсь над реализацией чего-то подобного.)
— poptalk (29/09/2007 01:33)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Технических проблем здесь всё равно куча, останавливаться на них не стану. Главная беда та же, что и с OpenID, и с клиентскими SSL-сертификатами: они мало у кого есть. Пока ситуация не изменится, администраторам и разработчикам придётся создавать и поддерживать обе схемы аутентификации: и token-based, и парольную. А отсюда и куда меньшее желание изначально ввязываться в эту затею: зачем что-то менять, если и так всё работает? Ради пяти пользователей сайта?

Я думаю, что это нужно множеству людей, просто сами люди ещё об этом не знают. ;) Нужно только правильно подать технологию. Далёкий от криптографии человек на слово "шифрование" реагирует индифферентно, и я даже могу с ним согласится. Сегодняшние проблемы пользователей, взломы почтовых ящиков и угон ICQ, насколько я могу судить, происходят не из-за слабых алгоритмов шифрования, а из-за троянов или сами пользователи отдают свои пароли. :)
Но шифрование косвенно помогает решить проблемы с *регистрацией* и *авторизацией*. Регистрация обычно требует ввести капчу и проверить почту. Занимает время. А некоторые капчи приходится разгадывать как ребусы. :) Если вы хотите оставить всего один комментарий на сайте, овчинка, то есть регистрация, явно не стоит выделки. Или некоторые поступают так, что регистрируются с взятым от фонаря паролем, который помнят один день. В следующий раз регистрируют новый аккаунт. Потому что запомнить пароли ко всем сайтам в голове не реально.
И главный недостаток — даже зарегистрировавшись на сайте, я получаю доступ только к этому сообществу. Регистрироваться только для того, чтобы обнаружить, что на твой вопрос никто не может ответить.
Это реальные и очень больные проблемы.
Снижение барьера на вход в новое сообщество сильно расширит круг общения.
Если нет необходимости вводить пароль на сайте, ещё лучше. Даже если пароль подставляется броузером, всё равно лишняя перезагрузка страницы.
Прохождение капчей тоже можно оптимизировать. Для каждой технологии капчей достаточно иметь *один сайт*. Прошёл капчу — получил подпись об этом. Авторизация-то у нас глобальная. А сейчас приходится проходить капчу на каждом форуме/блоге.
Пошёл читать статью. :)
— ключ (29/09/2007 19:56)   <#>
Я думаю, что это нужно множеству людей, просто сами люди ещё об этом не знают.

Человек, как ёж – гордая птица: пока никто не пинает, она не летит, и лишь когда появляется угроза сесть на длительный срок вследствии вовлечённости в антигосударственные/противоправные деяния, возникает и время, и силы, и желание на изучание основ ИБ.
— Гость (29/09/2007 20:09)   <#>
Если вы хотите оставить всего один комментарий на сайте
то попробуйте сначала http://bugmenot.com/ ;)
— poptalk (29/09/2007 20:17)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Если вы хотите оставить всего один комментарий на сайте

то попробуйте сначала wwwhttp://bugmenot.com/ ;)

Это ж для анонистов. :)
— Гость (29/09/2007 20:30)   <#>
Теперь понятно, кто посещает сайты
www.nytimes.com
www.nypost.com
www.washingtonpost.com
www.chicagotribune.com
:))
— SATtva (29/09/2007 22:02)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Прохождение капчей тоже можно оптимизировать. Для каждой технологии капчей достаточно иметь *один сайт*. Прошёл капчу — получил подпись об этом. Авторизация-то у нас глобальная. А сейчас приходится проходить капчу на каждом форуме/блоге.

Сложность всех подобных инициатив — как с электронными деньгами: начальное развёртывание (bootstrap). Пользователи не хотят пользоваться системой, пока она не поддерживается большим количеством участников среды (магазинами — для платёжных систем, интернет-сайтами — для систем аутентификации). Участники среды не хотят подключаться к новой системе, пока ей не начнёт пользоваться значительное число людей. В итоге оказывается так, что каждый проект изобретает собственную систему, которая, из-за недостатка поддержки, так и не получает распространения, чтобы стать де-факто или де-юре стандартом и выйти за рамки одно родительского или пары дружественных сайтов (вспомним хоть ту же инициативую Microsoft с Passport'изацией пользователей интернета).
— poptalk (29/09/2007 22:42)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Теперь понятно, кто посещает сайты
www.nytimes.com
www.nypost.com
www.washingtonpost.com
www.chicagotribune.com
:))

Анонимы есть везде. :)
Я же говорил о глобальной авторизации, а в bugmenot.com я работаю под чужим аккаунтом. Эту систему можно использовать для шуток разве что.
— poptalk (29/09/2007 23:06)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Сложность всех подобных инициатив — как с электронными деньгами: начальное развёртывание (bootstrap). Пользователи не хотят пользоваться системой, пока она не поддерживается большим количеством участников среды (магазинами — для платёжных систем, интернет-сайтами — для систем аутентификации). Участники среды не хотят подключаться к новой системе, пока ей не начнёт пользоваться значительное число людей.


Надеюсь, когда-нибудь всё сдвинется с мёртвой точки. :)
PGPuam похоже экспериментальная система, про которую все забыли. Вы говорили про клиентские SSL-сертификаты, их используют в WebMoney Keeper Light, хотя именно Light-ом я ни разу не пользовался. Уже есть прогресс.
— poptalk (30/09/2007 23:31)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
В плане реализации, на мой взгляд, можно пойти таким путём.


2.
Сервер подписывает Ваш сертификат своим ключом, определяя его как достоверный.
По-моему, если так сделать, и сервер будет проверять, что на клиентском сертификате обязательно стоит личная сервера подпись, вся глобальность авторизации испаряется. Это опять авторизация в границах одного сервера. Наоборот, или сервер не должен проверять подпись сертификата клиента, или, если веб-сервер на это настроить нельзя, то сертификат должен быть подписан закрытым ключом, который опубликован для общественности. Тогда любой пользователь сможет подписать свой сертификат самостоятельно.
3.
Для логина на сайт Вы электронно подписываете выданную сервером строку-запрос.
Если не ошибаюсь, авторизация с помощью клиентского SSL-сертификата так и делает. Client Authentication – Mozilla Developer Center

Ещё возник такой вопрос. Раньше я думал, что клиентский SSL и PGP по сути одно и то же. То есть, данные, отправленные по защищённому SSL-соединению и с использованием клиентского сертификата, можно считать подписанными ЭЦП. Но вот я нашёл мнение, что это не так.
Клиентские SSL-сертификаты обеспечивают лишь криптографически стойкую аутентификацию клиентов, но совершенно никак не пригодны для формирования ЭЦП клиентов под финансовыми документами (в браузерах просто нет такого механизма).

bankir.ru.

Я подумал, что это происходит потому, что в SSL подписывается только сессионный ключ, а ключом шифруются отправленные клиентом данные, данные шифруются поблочно, следовательно, получатель может переставить блоки местами и извратить документ. Я прав?
— poptalk (01/10/2007 23:28)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Чтобы получить клиентский сертификат, пользователю Firefox-а достаточно пару раз щёлкнуть по ссылкам. Следовательно, загвоздка в серверах, в SSL-хостинге.
— SATtva (02/10/2007 09:30)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Я подумал, что это происходит потому, что в SSL подписывается только сессионный ключ, а ключом шифруются отправленные клиентом данные, данные шифруются поблочно, следовательно, получатель может переставить блоки местами и извратить документ. Я прав?

Да. Как-то у нас здесь упоминалось о старом не получившем поддержки протоколе SHTTP, реализующем процесс иначе. Можете легко найти, если воспользуетесь поиском.

Сервер подписывает Ваш сертификат своим ключом, определяя его как достоверный.

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

Глобальность не испарится, если сервер будет считать достоверной не только свою подпись, но и подписи других таких же веб-сайтов. В этом случае схема получает должную гибкость: каждый администратор сам сможет решать, с каких сайтов принимать пользователей без дополнительной регистрации. Получается сеть доверия на уровне веб-сайтов.
— poptalk (02/10/2007 15:06)   профиль/связь   <#>
комментариев: 271   документов: 13   редакций: 4
Глобальность не испарится, если сервер будет считать достоверной не только свою подпись, но и подписи других таких же веб-сайтов. В этом случае схема получает должную гибкость: каждый администратор сам сможет решать, с каких сайтов принимать пользователей без дополнительной регистрации. Получается сеть доверия на уровне веб-сайтов.

Можно и так, только это сильно отличается от того, к чему мы привыкли на данный момент. Я хочу снизить затраты на вхождение в сеть. Пользователь, впервые зашедший в Интернет, хочет немедленно начать общаться. Значит, мы должны раздавать сертификаты всем желающим. Тогда в чём ценность такого сертификата? И в дальнейшем я не могу добавить доверия к своему сертификату. Хотя, наверное, технически возможно переподписать публичный ключ у другого CA. Просто система не подходит для наших целей. Всё-таки она была придумана для корпораций. Сеть PGP нам больше подходит. Я могу создать ключ независимо ни от кого, а получение доверия отложить на потом. И когда я получаю доверие, доверие к моим сделанным до этого сообщениям также растёт. Это имеет значение, если я, например, публикую блог. Люди могут читать мои старые записи. То есть это важно только для общения. Для платёжных транзакций, для подписания финансовых документов, эта функциональность, конечно, значения не имеет.
— unknown (02/10/2007 16:01)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Ничто не ново под луной?
На страницу: 1, 2 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3