Closed sergeevabc closed 9 years ago
- Извините, Дмитрий, имел в виду Crypto-JS не в расширении, а на сайте.
А, понял. Да, это давно не обновлялось.
- Вы заглядывали в исходники Password Generator? Там — моментальный popup.
Действительно, у него быстрее попап показывается. Я полистал код, но не понял, почему.
- Там же можно подсмотреть, как реализовано сохранение в памяти до закрытия браузера. Для пользователя это лишь переключатель: не сохранять/сохранять в памяти/сохранять на диске. Последнее, очевидно, лишнее, а второе — компромисс между паранойей и удобством.
ОК, подумаю. Все-таки браузер — страшная вещь, лучше все убивать (память, процессы) как только есть возможность :)
- Смущает метка Max length X characters. Почему не просто Length? При текущем написании кажется, что пароль может выйти и короче. Как вот на спидометре автомобиля указана максимальная скорость 250 км/ч, но обычно стрелка плавает в районе 100 км/ч.
Согласен. Забыл почему именно "max", но должен точно выдавать.
- Какой набор симолов участвует в генерации: A-Z/a-z/0-9 и что-то ещё?
Base64: A-Z a-z 0-9 + /
- Генерация включает PBKDF2-HMAC-SHA256, верно? (Сейчас указано PBKDF2-SHA256.)
Да.
- Как получается, что использование в Cryptopass медленного по дизайну PBKDF2 практически не создаёт задержек и по скорости выходит примерно, как и обычный SHA256 в других решениях? Всё ли дело в грамотном яваскрипте и малом (5000) количестве итераций? Например, проект Hash0 использует аж 100 000 итераций.
5000 — это сейчас очень мало. Такое количество выбиралось, потому что раньше компьютеры, JavaScript-движки и имплементации PBKDF2-HMAC-SHA256 были медленными. Сейчас я бы перешел на scrypt: моя JavaScript-версия, я замерял, лучше даже нативного PBKDF2 при одинаковом времени выполнения (scrypt использует много памяти). Я делал новый проект, который использовал бы scrypt, но не доделал, так как понял, что обычный менеджер паролей с хранилищем для меня удобнее, чем генератор.
Спасибо за пояснения, Дмитрий.
Правда, под конец стало как-то грустно, прям в тональность свинцового осеннего неба за окном, а так хочется света, надежды, импортозамещения и развития. Т.е. порвать с заокеанскими Lastpass, Dashlane и иже с ними, доверить самое-самое Keepass’у, а для остальных авторизаций из дома и в дороге использовать генератор — лучший из возможных (по надёжности, быстроте и удобству).
Перепробовал всё, что энтузиасты от безопасности разместили в Chrome Webstore и счёл, что вы продвинулись дальше остальных, но требуется обновление. Как же быть?
Импортазамещения? Это тогда надо ГОСТ Р 34.11-2012 вместо SHA-256 :laughing:
Может попробуете уговорить автора https://github.com/eterevsky/passwordgen добавить scrypt?
Добавить Scrypt не проблема, сложно допилить интерфейс, ибо для подсчёта SHA256 требуется один набор настроек, а для Scrypt — другой. Да и людей смущает ваше же заявление про альфа-версию, «которую лучше не применять для серьёзных вещей».
Разработчик PasswordMakerPro, утяжелённой версии Passwordgen'a, вообще упёрся рогом, мол, если и добавит, то SHA3 и попозже, а в использовании PBKDF2, Bcrypt, Scrypt — толка не видит.
Нашлось решение OneShallPass, где применяют аж PBKDF2-HMAC-SHA512 и подробно описывают весь процесс (вас может заинтересовать), однако расширение для Хрома оставляет желать лучшего. Просишь улучшить — молчат.
Кстати, по поводу немедленного появления popup, приглядитесь к содержанию файлов manifest.appcache
, manifest.json
и manifest_app.json
. В них используются инструкции вроде background
, cache
, offline_enabled
, persistent
, storage
. Возможно, задержка появления Cryptopass связана именно с необходимостью каждый раз подсасывать ресурсы.
И хотя вы поспешили закрыть тикет, но я не теряю надежды, что Cryptopass рано списывать в утиль и он ещё может послужить делу. Дмитрий, в первом приближении предлагаю:
Разработчик проекта, во многом аналогичного Passwordgen'у, вообще рогом упёрся, мол, если чего и добавит, то SHA3 когда-нибудь, а в PBKDF2, bcrypt, scrypt — толка не видит.
Да уж, SHA-3 совершенно не подходит для паролей. Советую его отправить сюда почитать: https://password-hashing.net/faq.html
И хотя вы поспешили закрыть тикет, но я не теряю надежды, что Cryptopass рано списывать в утиль.
по внешнему виду переименовать Secret в Masterkey, Max. Length в Length
Открыл тикет про Max Length https://github.com/dchest/cryptopass/issues/3, попозже займусь. С Secret не согласен, пусть будет secret-ом :-)
не показывать красную надпись про минимум 16 символов при нажатии на Show, если символов больше 16 (ведь их по умолчанию выходит 25)
Эта надпись — про количество символов в Secret, а не в полученном пароле. 16 символов английского алфавита дают lg(26)*16 = ~75
бит энтропии, что уже не очень хорошо, а меньше 16-ти — не очень секьюрно.
по содержанию — увеличить [количество итераций][6] до 100 000 и скорости ради переключиться на вашу библиотеку Fast-sha256-js.
Так как это сломает обратную совместимость, я лучше в качестве опционального алгоритма добавлю scrypt: https://github.com/dchest/cryptopass/issues/4
А может и нет :) https://github.com/dchest/cryptopass/issues/5
Да и людей смущает ваше же заявление про альфа-версию, «которую лучше не применять для серьёзных вещей».
Действительно, убрал надпись https://github.com/dchest/scrypt-async-js/commit/002843760aca5e75e878d17a7d6ea840b763a8b6. scrypt-async-js уже используется, например, в miniLock.
Minilock лапочка, сработана по уму и сексуально упакована. Образец!
Тем временем натыкаюсь на ещё один генератор, звать Getvault. И вновь сокрушаюсь, разве что настройка символьной кассы сделана интересно, гарантируя aA% в каждом результате.
Казалось бы, что мешает вывести и реализовать наиболее здравую формулу на ближайшие годы? Всё какие-то полумеры, дыхание в одну ноздрю, выдумывание колеса…
Доброго вечера, коллега! Спешу поделиться новостями.
Интересуюсь переходом с Password Generator на ваш Cryptopass.
Чего не хватает в последнем:
Дмитрий, вы могли бы внести соответствующие изменения?