16. Враги-4. Об пароль.

Dec 11, 2013 11:21

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

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

И пошел тогда Кодер к учителю за советом. И сказал ему Сатоши: вспомни, что рассказывал я вам про энтропию паролей! Делай волшебные слова длиннее! Щедро добавляй в них цифр и знаков и капслоков!

И стал Кодер делать волшебные слова все длиннее и длиннее и щедро добавлять в них цифр и знаков и капслоков. И помогло это поначалу. Но создавал Хакер все новых железных рабов и все быстрее могли они перебирать заклинания. И настал момент, когда так длинны стали волшебные слова, что не мог уже их запомнить сам Кодер.

Снова пришел Кодер к учителю и говорит: "Не могу я. Все быстрее и усерднее его железные рабы подбирают заклинания и так длинны стали волшебные пароли, что и сам я их забываю!"

Улыбнулся Сатоши и сказал: "Трудно запомнить набор букв, но легко запомнить набор слов!" Вспомни, что рассказывал я вам про заклинание "correct-horse-battery-staple"!



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

В третий раз пришел Кодер к учителю и взмолился: "Не могу я! Все фразы мира знает зловредный Хакер и не могу я найти безопасного заклинания! В самых дальних углах Либрусека отыскиваю я самые запыленные свитки, но и их уже прочли хакеровы слуги! И даже когда сам придумываю я сам фразы, и добавляю капслоки, и цифры и знаки, все равно разгадываются это пароли!

И ответил ему Сатоши: Вспомни опять историю заклинания correct-horse-battery-staple! Не пытайся придумать случайной фразы, ибо не способен к тому человеческий разум, а выбирай слова, бросая игральные кости!

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

И в последний раз пришел Хакер к учителю и взмолился: "Не могу я! Не четыре раза, как велено в "correct-horse-battery-staple", а целых шесть раз бросаю я кости, но все равно угадывают их хакеровы железные рабы! Могу я и по двенадцать раз бросать кости, чтобы удвоить длину своего заклинания, но разве будет от этого прок? Удвоит и Хакер свою армию и угадают они мое заклинание".

Улыбнулся Сатоши и сказал: Вспомни о великом шахматном числе и о волшебной силе Экспоненты!

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

Добрым молодцам урок:
1. Пароль, надежный для онлайн банка, ненадежен для брейнваллета. Потому что в первом случае у хакера будет десяток попыток (если он не умудрится украсть хэши паролей с банковского сервера), а во втором - квинтиллионы. Если не больше.
2. Сложность пароля должна быть колмогоровская! То есть у пароля 123456 - энтропия не двадцать, как положено шестизначному числу (2^20), а всего три (2^3), ибо он входит в восьмерку самых распространенных паролей.
3. Если фразу можно найти в Википедии / Либрусеке / Гуттенберге / Твиттере или вообще где бы то ни было, она не годится в пароли.
4. Создав пароль, не проверяйте его гуглением! И вообще не печатайте его нигде. Печатая пароль, вы его автоматически компрометируете.
5. Все трюки, которыми вы увеличиваете энтропию паролей, давно хакерам известны. Вам их не перехитрить.
6. Человек вообще не годится в генераторы случайных паролей. Используйте diceware (список слов плюс игральные кости / монетка).
7. Однако же, чтобы чуть легче было запоминать, вполне безопасно 1-2 слова в пароле заменить на те, которые вы и так уже помните. Скажем, ваш емейл(!) Это безопасно, потому что атакуется не лично ваш пароль, а пароли всех владельцев биткойнов. Могут, конечно, атаковать и вас лично, но ресурсы, затраченные на это, будут на порядки меньше, а значит и случайная часть пароля может быть короче.
8. Энтропия пароля должна быть 100-128. Меньше - ненадежно, больше - незачем. Почему именно 100? Потому что подбор паролей к брейнваллетам уже становится развитой индустрией с серьезными вложениями. Считаем: миллион процессоров, каждый из них пробует миллиард паролей в секунду в течении миллиарда секунд (30 лет). При этом шансы, что подберут ваш пароль, должны быть один к миллиону. Итого: 20+30+30+20=100. А 128 - это энтропия самогО биткойновского хэша. Нет смысла делать одно звено цепи крепче других.

Это все было про ваших врагов - хакеров. Однако хакеры - это еще семечки. Ботаники. Бывают ребята и покруче. Но о них - в следующий раз.

bitcoin

Previous post Next post
Up