Насколько безопасный Ваш пароль в LDAP?

Я использовал класс LogUtils , как в примере приложения Google IO. Я изменил это, чтобы использовать специфическую для приложения константу DEBUG вместо BuildConfig.DEBUG, потому что BuildConfig.DEBUG ненадежен . Тогда в моих классах у меня есть следующее.

import static my.app.util.LogUtils.makeLogTag;
import static my.app.util.LogUtils.LOGV;

public class MyActivity extends FragmentActivity {
  private static final String TAG = makeLogTag(MyActivity.class);

  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LOGV(TAG, "my message");
  }
}

16
задан user32262 3 July 2009 в 07:20
поделиться

5 ответов

Пароли сохраняются как хешированные строки в каталогах LDAP. OpenLDAP, например, поддерживает схемы с солеными SHA1 {SSHA} , crypt {CRYPT} (зависит от ОС), MD5 {MD5} , соленые MD5 { SMD5} и SHA1 {SHA} . Я думаю, что серверы Active Directory хранят какой-то хэш LM и / или NT.

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

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

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

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

12
ответ дан 30 November 2019 в 22:02
поделиться

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

Мой коллега однажды потерял свой ноутбук, и он очень беспокоился, что вор получит доступ ко всем секретным материалам в его системе. Как выяснилось, он прикрепил к своему ноутбуку небольшую записку со своим паролем. И, к сожалению, он не единственный человек в этом мире, который просто записывает пароли в записке рядом со своим компьютером.

5
ответ дан 30 November 2019 в 22:02
поделиться

LDAP - это протокол связи, способ хранения пароля в значительной степени зависит от системы каталогов. См. Аутентификация пользователя NTLM в Windows , чтобы узнать, что делает Windows, например.

Пароль, совместимый с LAN Manager: совместим с паролем, который используется LAN Manager. Этот пароль на базе оригинального оборудования набор символов производителя (OEM). это пароль не чувствителен к регистру и может быть длиной до 14 символов. OWF версия этого пароля также известна как LAN Manager OWF или ESTD версия. Этот пароль вычисляется используя шифрование DES для шифрования константа с паролем в виде открытого текста. Пароль LAN Manager OWF - 16. длина в байтах. Первые 7 байтов открытый текстовый пароль используется для вычислить первые 8 байтов LAN Пароль менеджера OWF. Вторая 7 байты пароля в виде открытого текста используется для компьютера вторые 8 байтов пароль LAN Manager OWF.

Пароль Windows основан на Набор символов Юникода. Этот пароль чувствителен к регистру и может быть до 128 длинные символы. Версия OWF этот пароль также известен как Пароль Windows OWF. Этот пароль вычислено с помощью RSA MD-4 алгоритм шифрования. Этот алгоритм вычисляет 16-байтовый дайджест строка открытого текста переменной длины байт пароля.

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

Это также зависит от того, как вы храните свой пароль в базе данных и какие политики применяются. Хранить простой пароль в нехешированном или незашифрованном виде - ужасная идея. Обычно этим занимается система каталогов. Например, AD может потребовать сложный пароль и предотвратить повторное использование одного и того же пароля и т. Д. Помещать его в файл, доступный для злоумышленника, было бы плохой идеей.

3
ответ дан 30 November 2019 в 22:02
поделиться

Пока вы не раскрываете свой пароль в незашифрованном виде в сети, это так же безопасно, как и хранение хешированных паролей в базах данных. В зависимости от реализаций сервера LDAP вы можете использовать множество различных типов хэшей.

OpenLDAP предлагает CRYPT, MD5, SMD5, SSHA и SHA (согласно моей странице руководства).

Короче говоря, LDAP предлагает вам такие же возможности хеширования, как если бы вы сами хешировали пароли и сохраняли их в базе данных SQL.

2
ответ дан 30 November 2019 в 22:02
поделиться

В LDAP пароль проверяется на сервере. По замыслу, это не намного безопаснее. Но существует множество решений SSO, использующих LDAP, поэтому существует очень большая база пользователей.

0
ответ дан 30 November 2019 в 22:02
поделиться
Другие вопросы по тегам:

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