Там какие-либо угрозы безопасности связаны со мной использование OpenID как метод аутентификации для моего сайта?

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

21
задан Peter Mortensen 1 January 2010 в 11:30
поделиться

6 ответов

На самом деле мне всегда не нравился OpenID по различным причинам.

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

    1. , Если мой пароль OpenID поставлен под угрозу, все мои сайты, где я использую OpenID, поставлены под угрозу. Обычно я был бы, выбрал другой пароль для каждого сайта, который я использую, но я не могу с OpenID.

    2. мне не нравится понятие Персоны вообще. Даже при том, что меня спрашивают, прежде чем любые данные отправляются, они просто не кажутся правильным, что у одного поставщика есть эта информация, и другие сервисы могут запросить это. Хорошо, я не должен использовать его, если мне не нравится, но понятие кажется дефектным мне.

    3. , Как уже был упомянут, данные отправляются между сайтом и поставщиком OpenID и назад снова. Каждый раз, когда данные переданы, они могут быть поставлены под угрозу. Никакая система не является на 100% защищенной; даже SSL (HTTPS). Вот в чем разница, если данные только перемещаются от меня до стороны и назад мне или если это также перемещается от той стороны до другого и назад снова.

    4. , Если поставщик OpenID взламывается и хакер получает данные входа в систему всех пользователей (в конце концов, они прекрасны централизованный в одном месте!), просто думайте о влиянии!

Только для именования некоторых. Мне также не удается видеть большое преимущество OpenID. Для пользователя они говорят

  1. Быстрее & более легкая регистрация и вход в систему
    • Уменьшенное разочарование от имени пользователя, о котором забывают / пароль
    • Поддерживает персональные данные, текущие на предпочтительных сайтах
    • , Минимизируют угрозы безопасности пароля

Хорошо, давайте проанализируем это.

(1), Как часто Вы регистрируетесь для страницы в день? 200 раз? Если я регистрируюсь для 2 страниц в неделю, который уже является проклятой партией. Обычно скорее для 2-3 месяцы самое большее (на самом деле Переполнение стека или мой поставщик OpenID для использования Переполнения стека, было последней страницей, которую я зарегистрировал и это было не совсем вчера). Таким образом, когда Вы регистрируетесь для 2 сайтов в месяц, у Вас нет этих 5 минут, которые требуется для заполнения формы? Продвиньтесь, не будьте смешны.

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

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

(4) На самом деле я вижу его наоборот. Это максимизирует угрозу безопасности. Как это минимизировало бы риск?

7
ответ дан 29 November 2019 в 21:21
поделиться

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

OpenID хорошо для чего-то как Переполнение стека, где это, doesn’t действительно имеют значение, исполняет ли кто-то роль Вас. Используя OpenID для сайтов с более серьезным †“на персональном уровне †“содержание чрезвычайно опасно. Если Вы используете OpenID для своей электронной почты, например, то любой крадущий Ваш идентификатор может получить доступ к Вашей электронной почте. Они могли тогда в свою очередь отправить запросы напоминания о пароле на другие сайты, которые Вы используете для получения паролей для тех сайтов. В худшем случае Вы могли использовать OpenID для банковского счета или иметь банк, который отправляет напоминания о пароле в Ваш почтовый ящик...

существуют многочисленные другие проблемы безопасности с OpenID. Можно найти больше информации в "Конфиденциальность в Интернете" .

6
ответ дан 29 November 2019 в 21:21
поделиться

Я соглашаюсь со многими точками, которые David делает выше, таким образом, я делаю некоторые точки здесь только ради аргумента.

Для хорошо осведомленного пользователя, я утверждал бы, что OpenID [еще 113] безопасная форма аутентификации, чем много веб-сайтов обеспечивают. Теперь позвольте мне создать резервную копию того оператора. Сначала, под чем я подразумеваю хорошо осведомленный пользователь ? Я определил бы того человека как кого-то, кто знает о слабых местах OpenID и кто принимает меры для смягчения их:

  • Поддерживает несколько персон, если они не хотят, чтобы веб-сайты были в состоянии отследить их эффективно.
  • Регистры два или больше поставщика OpenID в веб-сайтах, где 24/7 доступ является проблемой.
  • Всегда логины их поставщика OpenID непосредственно. Они никогда не входят в систему к странице, к которой сторонний веб-сайт перенаправил их.

Много веб-сайтов не знают, как надежно поддержать пароли пользователя . Действительно хорошая вещь с OpenID состоит в том, что я добираюсь для выбора моего поставщика OpenID, и таким образом уровень аутентификации должен был войти в систему полагающейся стороне. Например, я могу принять решение делегировать аутентификацию к Verisign или Trustbearer - оба из которых обеспечивают намного более сильные методы аутентификации, чем большинство веб-сайтов в сети. Я очень доверял бы организации, которая специализируется на безопасности с моим паролем, чем некоторым случайным веб-сайтом по сети. Таким образом, я спорил бы, что для knowledeable пользователя, OpenID может быть более безопасным, чем каждый веб-сайт, реализовывая их собственную систему аутентификации.

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

10
ответ дан 29 November 2019 в 21:21
поделиться

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

Обзор раздел Considerations безопасности спецификации.

Для замечательного описания слабых пятен в OpenID и демонстрации того, как хороший поставщик OpenID может дать опыт, это намного более безопасно, чем традиционное легко-phished пароль, см. это короткое видео Kim Cameron от его Блог .

Идентификационных данных
4
ответ дан 29 November 2019 в 21:21
поделиться

OpenID можно сделать более безопасным, если вы решите игнорировать всех поставщиков OpenID, которые не поддерживают HTTPS

2
ответ дан 29 November 2019 в 21:21
поделиться

Мне нравится VIP-доступ Verisign, который можно использовать на сайтах, и есть симпатичное маленькое приложение для iPhone, которое позволит вам получить сгенерированный токен, как и secureID

-1
ответ дан 29 November 2019 в 21:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: