Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.08.2013, 11:49
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Вопрос по поводу pbkdf2
Не оч силён в криптографии, так что ищу совета у знающих) Какое оптимальное количество итераций и длину ключа нужно указывать? Сейчас использую: длина ключа 512, 25 тысяч итераций.

И ещё вопрос: нужно ли результат функции пропускать дополнительно через хеш функцию?
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 21.08.2013 в 11:53.
Ответить с цитированием
  #2 (permalink)  
Старый 21.08.2013, 17:50
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Дзен-трансгуманист Посмотреть сообщение
kobezzza,
Тоже не силен, но... куда и зачем ты его используешь?
Для генерации ключа на основе пароля и соли, т.к. пишут, что простое вычисление хеша от пароля - это редкостный отстой и нужно юзать эту функцию (благо она входит в стандартную библиотеку ноды).

Сообщение от Дзен-трансгуманист Посмотреть сообщение
Через хеш-функцию пропустить можно, если ее длина не меньше, чем длина входа (ключа pbkdf2), иначе будет возрастать вероятность практически непредсказуемых вторичных коллизий.
Спасибо!
__________________
kobezzza
code monkey
Ответить с цитированием
  #3 (permalink)  
Старый 21.08.2013, 18:50
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Дзен-трансгуманист Посмотреть сообщение
То есть для дескрипторов безопасности на сервере. А какова вероятность, что их начнут воровать? Это для открытой передачи данных и особо уязвимых хранилищ актуально усложнять алгоритм, а для закрытой от посторонних глаз БД - 25к итераций... Не знаю, но просто потестируй, во сколько миллисекунд обойдется серверу каждая авторизация или изменение пароля.
Не от того, что начнут воровать, а чтобы брутфорсом нельзя было подобрать. Эта функция не должна работать быстро (в ноде она имеет асинхронный интерфейс, т.е. поток лочится не будет), но насчёт итераций я не уверен, вот поэтому и спрашиваю. Вроде как минимум это 1к итераций. Но наверно стоит понизить, пускай будет 10к А по поводу длины ключа никто ничего не знает?

UPD: почитав ещё пару статей по криптографии в итоге понизил количество итераций до одной тысячи
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 21.08.2013 в 19:20.
Ответить с цитированием
  #4 (permalink)  
Старый 21.08.2013, 19:22
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Дзен-трансгуманист Посмотреть сообщение
kobezzza,
Слушай, а почему бы тебе не задать все эти вопросы на хабре? Там уж точняк аудитория знающая есть.
Да, наверн так и надо сделать, не подумал
__________________
kobezzza
code monkey
Ответить с цитированием
  #5 (permalink)  
Старый 21.08.2013, 19:39
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

http://habrahabr.ru/qa/45504/
__________________
kobezzza
code monkey
Ответить с цитированием
  #6 (permalink)  
Старый 21.08.2013, 20:56
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Дзен-трансгуманист Посмотреть сообщение
Вроде бы его можно сразу с buffer'ами юзать: function pbkdf2

В противном случае, кодировку salt надо 'binary' ставить, а не 'hex', судя по всему.
Угу, вот плохо, что в доке у них не пишут формат входных данных. Пасиб за наводку

Но с другой стороны, судя по комментам в коде - это костыль для совместимости со старыми версиями и лучше передавать методу строки
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 21.08.2013 в 21:05.
Ответить с цитированием
  #7 (permalink)  
Старый 21.08.2013, 21:21
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Дзен-трансгуманист Посмотреть сообщение
То есть, наоборот, старые программы использовали строки, теперь переход на буфер, который намного более эффективен.
Нужно мне подтягивать инглиш)

А в какой кодировки лучше хранить строки соль и пароль в базе? в хексе или в бинарном виде?
__________________
kobezzza
code monkey
Ответить с цитированием
  #8 (permalink)  
Старый 21.08.2013, 21:52
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Дзен-трансгуманист Посмотреть сообщение
А зачем тут хекс? Чтобы удвоить потребляемую память? ))

ЗЫ: под словом пароль ты конечно же имел в виду ключ.)
Ну да, ключ) Да я просто много где видел, где конвертят в хекс при сохранении в базу и думал, мб в этом есть какой то тайный смысл Спасибо за помощь!
__________________
kobezzza
code monkey
Ответить с цитированием
  #9 (permalink)  
Старый 21.08.2013, 22:16
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Дзен-трансгуманист Посмотреть сообщение
У некоторых программеров текстовый способ мышления.) Ну или если сама БД бинарку не поддерживает, хотя маловероятно.
Всё ок, теперь храню как бинарные данные СУБД Mongo, всё ок, только вопрос: а как сравнивать 2 буфера? toString делать ? Метода для сравнения в АПИ ноды я не нашёл (
__________________
kobezzza
code monkey
Ответить с цитированием
  #10 (permalink)  
Старый 21.08.2013, 22:44
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Дзен-трансгуманист Посмотреть сообщение
Ты уже наверно спать хочешь, раз такие вопросы задаешь.)
А ну да очень хочу спать, но чёртовы буферы не дают, сейчас пойду
Я ещё прост с недавнего времени примерил на себе шкуру бек-энд прогера, вот и задаю тупые вопросы
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
Загрузка данных с другого сервера, вопрос по поводу кодировки! Niksik Серверные языки и технологии 2 01.01.2013 09:44
Мужики у меня вопрос по поводу ajax Niksik AJAX и COMET 6 13.01.2012 21:47
Вопрос по поводу jqGrid Vasiliusis Библиотеки/Тулкиты/Фреймворки 2 26.11.2010 17:58
Очень простой как даже по мне вопрос по поводу setTimeout & setInterval Хранитель Света Общие вопросы Javascript 5 12.07.2008 20:34