Как бы вы внедрили анонимную аутентификацию? - PullRequest
2 голосов
/ 09 февраля 2012

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

В результате я ожидаю полной аутентификации системы, предпочтительно с использованием OAuth или OpenID.

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

Ответы [ 2 ]

2 голосов
/ 09 февраля 2012

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

Это изображение затем может быть сохранено на устройствах этого человека с использованием его собственного пароля или средства блокировки битов или даже распечатано и заблокировано физически.Изображение будет ключевым при показе на веб-камеру или при загрузке, что-то вроде обращения QR-кодов.

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

Редактировать:

Потоки биометрических данных немного отличаются каждый раз, когда они принимаются.Нет никакого «восстановления пароля», если вы хэшируете поток как этот, как он есть, он, вероятно, никогда не будет прежним.Большинство мер по уменьшению размерности сделало бы его гораздо менее безопасным и, тем не менее, оставило бы шанс, что его невозможно воспроизвести.

2 голосов
/ 09 февраля 2012

Начнем с того, что OAuth - это совершенно другая вещь, отдельная от объема вашего проекта.

Я полагаю, это зависит от вашего определения "анонимный".Если вы используете OpenID, вы будете сохранять URL-адреса своих пользователей.Другими словами, ваша система будет точно такой же анонимной, как и OpenID ваших пользователей.

Более анонимным решением может быть просто позволить вашим пользователям вводить произвольную строку для идентификации себя.Возвращающиеся пользователи просто снова наберу эту же строку.Если вы хотите отобразить «личность» пользователя, вы можете запустить эту строку через хеш-функцию.Регистрация не требуется (и в отличие от безопасных кодов 4chan).

...