Это должно хорошо снабдить соли хешами?

SAP является зверем для пререкания вниз.. некоторые предложения:

  • Для программиста: Получите достойный ABAP, программирующий книгу. Большинство понятий будет довольно знакомо, и они дают Вам хорошую начальную точку для лучше понимания системы.
  • Для "бизнес-пользователя": Кроме движения к дорогому курсу (главным образом напрасно потраченное время / деньги, по-моему), сядьте с пользователем и сделайте, чтобы он объяснил также Вас, что они делают в течение часа или два.
  • Для "customizer": Это - то, где вещи становятся действительно трудными, поскольку существует огромное количество шагов и выбора и мест для изменения вещей. Наличие кого-то более опытного помогает. Как Вы отметили, книги/статьи главным образом не очень полезны, поскольку они должны обычно в недоумении объяснять понятия.

Несколько вещей иметь в виду также:

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

Просто начинают, задают вопросы, испытывают некоторые вещи, не бойтесь размером его. Довольно скоро Вы поправитесь в нем...

23
задан Imagist 30 October 2009 в 07:25
поделиться

7 ответов

Также с точки зрения VS 2010, MSdeploy будет интегрирован в IDE, так что это определенно будет правильным направлением ... Ознакомьтесь с Обзорный пост для веб-развертывания в VS 2010 .

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

Итак. очень важно, чтобы соль была уникальной для каждого пользователя и представляла собой случайное значение, хранящееся вместе с паролем; альтернативы, описанные в вопросе (с использованием имени пользователя в качестве соли, с использованием единого значения соли для всего приложения), не работают:

  • если системы используют имя пользователя или другие мелочи, то пароль можно сравнить с другими пользователями с тем же именем в других системах (представьте, как часто учетная запись пользователя «администратор» или «root» использует один и тот же пароль в разных системах ...)

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

19
ответ дан 29 November 2019 в 02:42
поделиться

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

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

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

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

9
ответ дан 29 November 2019 в 02:42
поделиться

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

1
ответ дан 29 November 2019 в 02:42
поделиться

Ваше второе решение «Сохраните соль для каждого пароля "является правильным и обычно используется.

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

Обычно вы либо генерируете случайную соль и сохраняете ее с паролем, либо используете другой идентификатор (идентификатор пользователя, имя пользователя и т. Д.) В качестве соли.

0
ответ дан 29 November 2019 в 02:42
поделиться

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

В основном: более длинный (в байтах) пароль + соль увеличивает пространство поиска и, таким образом, затрудняет использование стандартных радужных таблиц.

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

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

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

Если вы хотите использовать первичный ключ, вероятно, лучше взять хэш первичного ключа, а не используя сам первичный ключ, потому что если пароль + соль для пользователя 43 выглядит как «myPassword00000000043», то злоумышленник может построить таблицу, предполагая, что в середине много нулей. Временные метки создания и случайная строка, вероятно, являются лучшими вариантами, поскольку PKeys иногда можно легко найти или угадать.

0
ответ дан 29 November 2019 в 02:42
поделиться

Фактически у вас уже есть значение соли, сохраненное в пользовательской таблице: pkey таблицы.

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

Это почти дублированный wtb: Хеширование паролей, сохранение и хранение хешированных значений

-1
ответ дан 29 November 2019 в 02:42
поделиться

Нашел ответ, возможно:

air.File.applicationStorageDirectory.spaceAvailable

В конце концов, он был в документации. RTFM.

http://help.adobe.com/en_US/AIR/1.1/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7fe4.html#WSC2FAD3B6-D59A-4e4d-B63F-9846584CF5125 [--- ] Просто запустите foo.exe ? Вам нужно добавить / WAIT , чтобы сделать паузу.

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

Помните: любой криптографический алгоритм взломан. Информация может считаться "безопасной" только в том случае, если взлом защиты (с помощью радужной таблицы или иным образом) стоит дороже, чем ее стоимость.

edit:

Предполагая, что вы новичок в криптографии, вот еще несколько советы:

  • Более длинные соли лучше, чем короткие.
  • Чем больше возможных значений для соли, тем лучше. Буквенно-цифровая соль лучше, чем числовая. Бинарная соль лучше, чем буквенно-цифровая.
  • Соли не сделают грубую силу атак с меньшей вероятностью против одного пароля.
0
ответ дан 29 November 2019 в 02:42
поделиться
Другие вопросы по тегам:

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