Возможно имелась виду идентификация человека по физиологическим признакам, т.е. отпечатки пальцев и т.д.
В целом он прав, но пока на практике это невозможно( в виду не распространенности подобных систем) :(
Идентификация по статическому биологическому признаку опасна, как для здоровья так и для системы. Никто не мешает злоумышленнику отрезать ту часть тела от жертвы, которая требуется для идентификации. Таким образом нет никакой защиты против физического принуждения открыть систему злоумышленнику.
Для этого человек должен быть хотя бы в сознании.
В России именно поэтому не пошли зашиваемые в тело брелки опознания владельца для крутых тачек.
Потому как без такой биометрии владельца просто выкинут из машины, но если машина без хозяина не заведется — значит жертва поедет на заднем сиденье в виде трупа.
Проверять биологические показатели? Заодно можно проверять уровень алкоголя: «простите, вы слишком пьяны, чтобы завести машину», «простите, но у вас стоит сердце, возможно вы мертвы, машина не заведется»
всегда можно уникализацию сделать более серьезной.
кстати, можно отбросить стадию с английским текстом и пароль делать только из букв домена
К примеру, у нас есть номер телефона, который хорошо помним:11325567
google.com
ggoolle.
это будет пароль
Для реального номера будет посложнее. для придания длинны написать 2 раза и/или добавить сам номер телефона
для коротких доменов начинать с начала.
Скажу честно использую 3-4 пароля разной степени сложности — бывает путаешься.
Ну тут скорее вопрос, насколько нужно будет кому-нибудь разгадывать систему.
А так ваш вариант мне нравится больше чем предложенный автором.
p.s. Было бы неплохо, если бы кто-нибудь накидал в комментарии по два-три пароля зашифрованные разными способами с участием домена. Заодно и и посмотрели бы — реально ли определить как они «генеряться» или нет.
Из за наличия в номере цифр 2,3,9 и нахождению в этих местах в домене букв «о» получилось достаточно большое количество комбинаций. Но если бы были данные от еще одного домена, где 239 не попадали бы на одинаковые буквы, то можно было бы попробовать найти число.
Ну тут опять же сделаем оговорку на то что изначально известно что мы ищем и из чего это образованно. Если например первую (последнюю) или даже все буквы менять на следующую по алфавиту, то способ определения станет практически невозможным.
p.s. Сейчас посмотрел и понял что что бы не мучатся с подменой букв, можно просто сдвигать буквы на одну кнопку по клавиатуре вправо. Благодаря этому буквы P,L,M — дадут нам символы.
ваш номер, который мы все хорошо помним, не подойдёт для коротких доменов типа vk.com. Ведь тут всего 6 символов.
З.ы. замучаешься высчитывать где какой символ, пока введёшь…
Я пользуюсь Keepass, храню его в дропбоксе, для синка между компами/ноутами, а также синкаю через активсинк с коммуникатором (WinMo, под него своя версия). Т.е. теоретически конечно может возникнуть ситуация, когда нужен пароль, а его нету, но практически — ни разу такого со мной не было.
Пользовался Keepass долгое время, но потом обнаружил что LastPass удобнее. Для оффлайна надо просто не забывать синкать клиентов. Ну и GPRS сейчас копеечный — можно прямо на лету обновлять.
К тому же подвернулся случай купить премиум LastPass+Xmarks, поэтому перешел без сожалений.
У кипаса может быть проблема синхронизации если много машин и на какой-то что-то забыли синкнуть ( не было доступа в инет). Потом появляется «копия» базы которую кроме как вручную ничем не сравнишь ибо шифровано. Хотя вроде они добавляли мерж в новый формат, мне приходилось пользоваться старым в силу некоторых клиентов (не под все платформы был 2.0 клиент)
У меня KeePass по глобальному хоткею вводит всё необходимое прямо в поля программы и нажимает Enter.
Единственное неудобство: какой именно аккаунт вводить — определяется по заголовку окна, у некоторых программ (и особенно сайтов) он неинформативен, поэтому в браузере у меня для некоторых сайтов подключен самодельный юзерскрипт. Есть плагин, который детектит по URL, но он только для IE/FF.
У ластпасса я что-то вообще ничего, кроме браузерных плагинов не заметил, хотя, честно, признаюсь, смотрел недолго. Не очень понравилось как всё устроено, поэтому вернулся на KeePass — у него конечно своих неадекватов тоже хватает, но я с ним как-то более совместим :)
А не подскажите как избавиться от полного зависания винды, если KeePass автоматом вводит что-то в Putty? Он как-то очень медленно вводит, подвешивая даже курсор мыши…
KeePass хорош тем что позволяет генерировать пароли любой длины. То есть обычно в нем хранят пароли 19-256 символов.
Либо вы храните в нем свои придуманные пароли (то есть слабые пароли, хранить которые не имеет смысла), либо вы вводите 19-256 символов вручну. 0_о?
Это не «наезд», просто интересно зачем пользоваться кипасом, если пароли можно ввести руками? Мне всегда казалось что менеджеры созданы для того, что бы генерить такие пароли которые даже вручную будешь час вводить, иначе просто не вижу смысла…
Полностью согласен! Keepass однозначно решает. Все пароли (а их много, клиентские FTP, иебпанели, базы данных и т.д.) генерю с большой стойкостью. Далее пользуюсь автоподстановкой.
1. Другой комп — portable версия, флэшка всегда с собой
2. Мобила — есть версия под Андроид (базы паролей кстати совместимы)
Точности ради, фраза по обезьян в оригинале содержала сорок тысяч приматов.
Кроме того про раскладку не говорилось ничего, а пробелы были значимы.
"— Это фраза, первая буква строчная, все остальные прописные. Пробелы значимы. В конце должна стоять точка. Набирай… и повторяй по буквам.
<...>
Чингиз выдыхает и ледяным голосом произносит:
— Сорок тысяч обезьян в жопу сунули банан."
Кстати, именно сей персонаж Лукьяненко подсказал идею со стихотворными паролями. Набор на английской раскладке, замена некоторых букв на цифры (ч — 4, б — 6, о — 0 и т.д.) вкупе с регистром (Н., в каждом втором слове первая буква заглавная) дают вполне неплохую криптостойкость. Минус — на мобильных устройствах набор проблематичен. Порой трудно вспомнить, где какая буква английского алфавита соответствует русской.
А вообще да, как правильно сказал AYShestakov — пользуйтесь lastpass. Его единственным недостатком можно назвать то, что некоторые люди не могу жить зная что их пароли лежат где-то там на серверах иноземцев (пускай даже и в зашифрованном виде). Зато в плюсах — интеграция со всем и вся, включая мобильные устройства (в премиуме. 1$ в месяц). Генерация, которая позволяет добиться действительно уникальных паролей на каждый ресурс. Автозаполнение и прочие разные вкусности…
Я пароли разбил на 4 группы: быстрый, дежурный, стойкий, секретная фраза.
Далее разбил «ресурсы» на эти же группы по степени ценности. Если мне необходимо зарегистрироваться на каком-нибудь сайте для скачки всего лишь одного файла, использую «быстрый» пароль. Где пароль необходимо набирать очень часто (например дименная учетка) ставлю «дежурный» пароль. Где данные представляют хоть какую нибудь ценность (например почтовики) «стойкий» пароль. На особо критичные данные (типа публичный ssh) ставлю «секретную фразу». Если ресурсы с паролем выше «дежурного» пересекаются, на них ставятся разные «стойкие» пароли. Ах да есть еще один цифирный, иногда необходимо вводить одни циферки.
Пароли меняю каждые полгода, все кроме «быстрого».
Пароли имеют примерно такой вид:
«быстрый» — 6-и знак слово (легко брутится по словорю)
«дежурный» — 8-знаков с использованием спец символов
«стойкий» — циферно-буквенный с использованием разных регистров
«секретная фраза» — небольшое предложение с убранными пробелами с использованием разных регистров
Всего в голове 6 паролей, цифирный, быстрый, дежурный, пара стойких, одна — две секретных фраз. Менять раз в пол года не особо напряженно.
Давно уже «сгенерировал» себе такой 20-значный (и два аналога 10-значных). Очень удобно.
Правда существует еще два: 14 и 13-значные — мама подсказала.=)
На тему слабого места я в курсе. Позволю себе пояснить. Иногда очень трудно судить о важности ресурса при задании для него пароля. У меня поломали аккаунт вконтакте — когда-то давно я регил его на «спамное» мыло с легким паролем на mail.ru. Через мыло и поломали. Вроде ничего важного вконтакте не представляет — но сделал это человек, который лично мне хотел посильнее навредить. В результате получилось довольно неплохо, в том плане что мне было действительно плохо :) Ну и самое поганое — я использовал несколько разных паролей тогда, «быстрый», «дежурный», «сильный». Так вот, на мыле у меня был «быстрый» (я использовал его для регистрации на всяких левых форумах, да и вконтакт зарегил с таким же отношением, уже потом втянулся), на вконтакте «дежурный» — и тот человек получил (насколько мне память подсказывает) 2 из 3х моих паролей. «Дежурный», кстати говоря, он получил потому, что на почте лежало какое-то письмо вида «Добро пожаловать, ваш логин бла, пароль блабла». Это довольно паршиво — понимать, что человек, который хочет тебе максимально причинить зло, обладает паролями от 90% вебресурсов, которые ты посещаешь. И даже логин от компа. Кроме «рутового» )
Предвижу возражения, что использование всего трех паролей это глупо и так далее. Еще раз уточняю — я честно и искренне не верил, а кому я вообще могу быть нужен, на кой я кому-то сдался? Пока жареный петух не клюнет…
К сожалению, ответить на все комментарии не получается, все-таки на работу нужно.
К минусам я бы добавил то, что иногда (очень редко) пароли придумываешь не сам, от тебя требуется только его запомнить. Сам метод мне показался интересным, спасибо.
Дело не в строчках. Просто я хотел обратить Ваше внимание, что в английском языке местоимение «I» всегда пишется с прописной буквы. Если «Ваш вариант для Вас верен», то я ничего против не имею.
В данном случае соблюдаются не правила английского правописания, а алгоритм составления пароля. Он должен быть неизменным для повторяемости. Думать о тонкостях правил скорее вредно. Могу также привести в пример, что по приведенному мной алгоритму замена i на единицу не касается тех «i», которые берутся из имени сайта. А регистр верхний должен быть только у тех букв, с которых начинается строчка. Строгий подход к алгоритму обеспечивает повторяемость результата, что при вводе паролей ммм нередко критично :)
Есть одна большая проблема — security through obscurity — это зло. Это твердят на всех уроках криптографии и в данном случае оно тоже применимо, имхо.
Вы пытаетесь создать систему для легкого запоминания и эта система может быть использована для реверса всех ваших паролей. Т.е. вы сознательно подсказываете алгоритм вскрытия всех ваших паролей. Далее если захотят взломать конкретно вас, то даже получив хэши паролей и зная каким алгоритмом вы пользуетесь, то по двим хэшам смогут подобрать не только коллизию, но и оригинальный пароль. Хотя надо признать — долгая задача, если вообще ничего не знать. А если выяснять определенные буквы (первая буква домена\ кусочек любимой фразы) то можно сильно сузить поле перебора.
И если вы всё строите вокруг длинного стойкого куска, который уже запомнили — то что вам мешает сгенерить и запомнить всего 1 такой длинный кусок и не танцевать с бубном вокруг «стихотворений». В конце концов есть генераторы произносимых паролей — они умеют генерить еще более легкозапоминаемые комбинации, чем полученная.
Вот собственно в том и вопрос — зачем сложная система если можно взять генератор prononceable паролей и просто пользоваться синхронизацией хранилища типа lastpass\keepass?
Попробуйте — prononceable пароли (hint: wapg умеет их генерить) очень легко запоминаются и 5-10 паролей держать в голове — ничего не стоит. При регулярном использовании вы их вслепую будете набирать.
А если забыли и нету под рукой хранилища (что в случае онлайна выглядит странно) — ну большинство сервисов справляется с восстановлением паролей ;).
Хотя «все фломастеры разные» и ваша методика тоже вполне жизнеспособна. Просто есть явные слабые точки: думаю что человек, хорошо разбирающийся в криптографии, зная что у двух хэшей середина оригинального текста одинаковая — сможет значительно уменьшить необходимый брутфорс…
Человек всегда слабая точка :) Но для этого надо знать человека, данные которого ломаешь.
«зная что у двух хэшей середина оригинального текста одинаковая — сможет значительно уменьшить необходимый брутфорс…»
именно что зная. а откуда знать, не зная человека, системы то у всех разные. только если сопоставить несколько баз с разных ресурсов, но это будут делать только, если ориентируются на кого-то конкретного, а тут уже мало что поможет.
Я использую oplop — code.google.com/p/oplop/ Никаких проблем с сохранением паролей на чужом сервере и синхронизацией, уникальные пароли для каждого домена и аккаунта.
Думаю, было бы не плохо знать несколько песен, для разных сайтов и про сам сайт.
Например:
Every night in facebook
I see you, I feel you
That is how I know you log on.
Пароль: EnifaceIsyIfyTihIkyloo
И еще:
Письма, письма лично на почту ношу.
Будто, будто я с mail.ru не дружу,
Знаю, знаю точно где мой адресат.
В доме где резной firewall
ДерПароль: PplnpnBbyasmailndZztgmaVdgrfi
Кстати спсибо за пост, действительно хороший метод. Железу я не доверяю хранить пароли, а на ресурсах пользуюсь 6-ю разными, так как тяжело запоминать, теперь все переделаю.
такого комментария я и ждал! вы полностью уловили мысль — во первых, для общего случая уязвимости такой системы несущественны,
— во-вторых, приведенный мной пример лишь основа, которую я предложил чуть улучшить, и мы одновременно пришли к разным выводам.
в-третьих, главный смысл такой системы, это отсутствие необходимости вспоминать и невозможность забыть. А в опере-мини малый буфер под текст :(
Песня про фейсбук это нечто! :D
«одновременно пришли к разным выводам» — я опечатался, конечно речь шла об одинаковых выводах.
Я все ждал что кто-то меня поймет и улучшит идею. Практически уверен, что почти все кто прочитал статью — не удосужились своими руками проверить методику, просто в лучшем случае вчитались в смысл и прикинули умозрительно.
Смысл идеи не в том, что это дает сверхзащищенность.
Смысл в том, что это дает сверхудобство.
Не требуется ничего запоминать. Даже если несколько лет не заходить на конкретный сайт — при возникшей необходимости логин будет молниеносным, руки сами привыкают автоматически вбивать эту мешанину символов, и добавление пары символов из адресной строки затрат на раздумывание тоже не привносит.
Обычно средний человек использует несколько не очень сложных паролей. Подчеркиваю — средний. У которого мыло, блог, аккаунты в соц.сетях, на хабре/лепре/dirty и в каком-нибудь lastfm — а не полный датацентр серверов за спиной. Помимо этого, нередко люди регаются на каких-либо узкотематических форумах, когда это для чего-то вдруг понадобилось. Потом, через несколько месяцев, при попытке логина на такой форум начинается мучительно вспоминание, какой пароль именно отсюда, или даже сочетание двух паролей.
Приведенный мной в топике пример — отправная точка, предложение хабрасообществу присоединиться к развитию идеи с упором на повышение безопасности способа с минимальным уменьшением юзабилити. Потому что при наличии пары-тройки твоих паролей у злоумышленника появляется очевидная возможность их разгадать.
Один из реальных способов — использование нескольких куплетов одной песни, номер куплета будет зависеть от количества букв в адресе. Можно взять разные группы, по одному куплету от каждой, причем если взять группы, в названии которых есть цифры (Blink-182, Eiffel 65) — то пароли будут визуально похожи только для сайтов с одинаковым количеством символов в домене. При этом внедрение такой системы в свою жизнь усложнится, но скорость ввода пароля и его «незабываемость» почти не изменятся (а именно это я вкладываю в понятие «юзабилити» в данном случае)
Категорически отрицаю целесообразность использования каких-либо спец. сервисов. Когда окажетесь в ситуации, что логин нужен позарез, а в распоряжении лишь чужой мобильник с Opera mini — вы это поймете. Да даже если сервис позволяет как-то зайти через мини-оперу и «вспомнить» пароль от нужного сайта — это несравнимо по удобству с предложенным мной способом. Абсолютно по той же причине (возможное отсутствие в области видимости клавиатуры) нельзя использовать русский текст в английской раскладке — однажды я с этим столкнулся, находясь в походе. Не стоит использовать также какие-то геометрические фигуры, которые можно мысленно наложить на клавиатуру.
В общем, один из отписавшихся здесь людей меня понял :)
А расчет строился на то, что «один мозг хорошо, а полный хабр мозгов — лучше».
Для важных для меня ресурсов, как правило, использую метод личных ассоциаций — внимательно смотрю на название/урл/предназначение ресурса и хватаю первую четко всплывающую в голове ассоциацию. Как правило, это какое-либо словосочетание, или, еще лучше, более длинная цитата на английском. Например, для Facebook отправными точками явно будут слова face и book, для dirty.ru — dirty или по контрасту clean. Это если прямые ассоциации, а ведь у каждого они могут быть очень кривыми и нелогичными ;) Ну и далее придуманная основа для пароля видоизменяется по правилам, упомянутым выше (замена букв, регистр, добавление определенных символов и т.д.)
Бывают, конечно, случаи, когда не могу вспомнить пароль, будучи уверен, что здесь он должен быть вот таким — и какой же дебил выбрал вместо него другой?! Решается сменой пароля на более подходящий к ситуации )
А еще можно придумать 1-2 правила для усиления уже существующего пароля.
Вот по такой маске все пароли будут уникальными: %prefix% %delimiter% %common_password% %delimiter% %postfix%
В качестве префикса можно использовать домен ресурса первого уровня в верхнем регистре. В качестве разделителя любой символ, к примеру "#". В качестве общего пароля какой-либо пароль, который надо усилить. В качестве второго разделителя снова подойдет "#" и в качестве постфикса можно взять первые 3 буквы ресурса.
Например, обычный пароль для хабра — swordfish. После нашего усиления он станет таким: RU#swordfish#hab
Естественно, можно опустить только префикс или только постфикс, сменить формирование этого самого префикса/постфикса, а также расширить количество символов разделителя до 3...4.
Проблема такого способа — очевидность всех твоих паролей после попадания пары из них к злоумышленнику. В приведенном примере так вообще один пароль раскроет все остальные)
Как уже писал выше, я сначала думал что вконтакт мне не будет нужен. Потом я очень тесно в него вжился и поменял пароль на более стойкий. А спамное мыло, на которое он был зарегистрирован, осталось незащищенным. И потом я сидел, сжимая кулаки от злости и от бессилия, глядя на свой тонко подправленный профиль, исходя из которого мнение друзей и знакомых обо мне могло сильно упасть. Это не прямой троллинг «люблю долбиться в *****» в статусе, дело обстояло тоньше. Не жалко потерять аккаунт. Жалко упасть в глазах друзей, а также чувствовать, что такое о тебе нехороший человек может написать и на любом другом ресурсе, потому что «надежный» пароль для них всех у меня был общий.
На мой взгляд проблема «утечка паролей от двух и более ресурсов в одни руки создает серьезную угрозу всем аккаунтам» решается дополнительным преобразованием. Ваша система выглядит так:
pass = f(website, salt)
где website — имя ресурса (google.com например), а salt — та секретная фраза из титаника. Функция f сливает два аргумента по правилам которые вы описали. Можно сделать так:
pass = h(f(h(website), salt))
Здесь функция h это что то вроде хеша, только не md5-подобного, а более простого, чтобы h(s) можно было вычислить в уме.
Можно выучить ASCII коды к основным символам (английские буквы как минимум) и построить функцию h(s) так: заменить s на её 16-ричное представление вида 01f6a7, инвертировать каждый бит и заменить последовательности повторяющихся цифр на одну цифру (123aaa17f -> 123a17f).
А ещё лучше вычислять h с помощью онлайн-генератора md5 хешей :)
благодаря вам понял, как нужно подправить топик. а приведенный пример относительно плох в контексте топика — проводить в уме подобные преобразования каждый раз при вводе пароля?
не говоря уже о необходимости реально учить аски-коды :) вместо того чтобы использовать кусочек текста который и так знаешь наизусть
Приведенные вами ссылки не подходят к теме топика.
Ни одна.
Генератор паролей на яваскрипте не поможет их запомнить.
Использование русских фраз в английской раскладке сослужит плохую службу, когда под рукой только телефон с оперой-мини.
Использование спецсимволов — см. чуть выше.
Эх, и тут напишу.
При написании статьи я опечатался в слове google, написав его как goggle. Отсюда и ошибка в пароле. В дальнейшем слово «гугл» я подправил, потому что мне в личку написали. При обычном применении таких сбоев не возникает, так как в адресной строке имя загруженного сайта всегда правильное.
З.Ы. ну а вообще сейчас наконец поправлю, до дома раз добрался
в пароль надо добавить значительную псевдослучайную часть (такую что вы можете высчитать, а другой человек не сможет) иначе по двум паролям можно будет угадать пароли на все ресурсы.
я лично давно перешел на упомянутый lastpass. да, сам ласт пасс это уязвимое место, но зато другие дырявые сервисы мне не навредят.
Я до подобной системы додумался лет в 14.
Только на каждый ресурс фразы у меня были разные. Выбирались по ассоциациям.
Например, для муз. портала ключевой фразой было «Die, my darling» ( песня Металлики ), а для портала по ИБ — «Theres no hack!» :)
Пароли по этим алгоритмам могу восстановить до сих пор.
Это работает, но видны подводные камни. При достаточном количестве сайтов можно начать путаться в большом количестве фраз. Если текст типа «Theres no hack!» вы через год-два забыли (я говорю — «если»!) — то его уже не восстановить.
да не волнуйтесь вы так! :)
просто я сначала вместо google написал goggle. Опечатку исправил, а пароль не подумал. а сейчас с телефона топик править не берусь.
Есть такая проблема, если раскладка экранной клавиатуры на англ/русском не совпадает с реальной, то еще хуже все.
Если есть запоминание введенных слов (T9 например), то все упрощается, так как по первым 3 символам подсказывает строку пароля (предварительно забитую как доп. слово в словарь)
я решаю проблему стандартными путями (вин мобайл)
при нажатии на экранной клавиатуры «en» — переключается клавиатура на англ расклад, но при клике на букву, раскладка снова русская. т.е. тупо смотришь русскую букву, кликаешь «en», нажимаешь данную «кнопку» и повторяешь действие снова.
О боже мой! Раскрыта вселенская тайна! Теперь я знаю зачем в ВинМо после КАЖДОГО нажатия на кнопку, в только что включённой английской раскладке, снова включает русскую расскладку. Ведь так мегаудобно вводить пароли русскими буквами в английской раскладке.
Создаем txt файлик внутри которого пишем например, «Мой сложный пароль от habrahabr.ru» архивируем этот файл и считаем контрольную сумму которая и будет уникальным паролем к этому сайту.
Закладываться в таких вопросах на реализацию архиватора — всё равно что закладываться на конкретную реализацию рандома в каком-то языке. Так очень не советуют делать в приложениях к шифрованию.
Лучше последовательно применить разный хэш пару раз.
Для кого-то, это бесспорно удобно, но использовать такой метод — как повсеместный метод «запоминания» пароля невозможно.
Сама идея как раз и заключается в том, чтобы совершенно ничего не требовалось запомнить, никаких песен, ни номеров букв в домене.
А так, Вы практический сейчас описали стандартный метод работы криптосистемы с закрытым ключем:)
Я, привыкнув именно к такой системе, неоднократно оказывался в тупике за границей или при логине с телефона/КПК. Русских букв нет на клавиатуре или вообще раскладка нестандартная — и кердык.
Имхо, осмысленный текст набирается вслепую/по памяти, но полностью согласен, что на КПК приходится запоминать именно абракадабру английских букв. Но с другой стороны и всякие хранители паролей на чужом компьютере лучше не запускать, да и на КПК хранители далеки от полного удобства… Все же такие случаи редки.
от это вы смешные. какая разница какой пароль, если уводят то уводят как «123» так и «j38329djkhdkjfhjkhfhk» дело не в пароле, а в том как его хранить. От брутфорса спасает все что больше 5 символов.
по этому пароль: habrahabr!2 будет так же «безопасный» как и «eruhejhehrkjehkjeer224234@#$@$@#$»
Я этот «метод генерации паролей» сам давно придумал и активно использую вот уже многие годы. В 2008 году даже коммент на хабре запостил по этому поводу :)
Я не нашел в описании возможности смены пароля. Некоторые системы требуют периодической смены пароля, да и вообще может появиться необходимость сделать это самому. Это может быть некий волшебный итератор, а может быть и сдвиг/замена согласно какому-то правилу. Вариантов море.
Что стоит сделать — это придумать не слишком замудрённый способ (который сам не забудешь) маскировки кодового слова, чтобы получив пару паролей нельзя было понять систему чисто «на глазок».
Можно завязываться на длине названия сайта:
— Отбрасывая начальную часть кодового слова (habrahabr, убираем 9 первых букв => fyT1h1kyg0)
— Можно то же что в предыдущем пункте, только слово заворачивать по кругу (fyT1h1kyg0En1md1sy1)
— Делая замены символами из названия сайта в позициях зависящих от длины названия
Не стоит забывать, что пароли воруют в основном не тупым перебором, а другими способами, например, фишинговые страницы, троян, или банальным секретным вопросом типо «моя любимая еда» с ответом «пиво».
Я думаю, 8-10 символов с хотя бы одним спецсимволом и разным регистром достаточно.
А еще я пользуюсь специальной методикой, которая позволяет запомнить еще более сложный пароль более простым способом, но раскрыть её я не могу)
… Этот паровоз стоял на шестнадцатом пути. Его собирались увести на ремонт в депо Лысую-на-Лабе, но
не так-то это оказалось просто, господин фельдфебель, потому
что у старшего машиниста, которому поручили его туда перегнать,
была прескверная память на числа. Тогда начальник дистанции
позвал его в свою канцелярию и говорит: «На шестнадцатом пути
стоит паровоз номер четыре тысячи двести шестьдесят восемь. Я
знаю, у вас плохая память на цифры, а если вам записать номер
на бумаге, то вы бумагу эту также потеряете. Если у вас такая
плохая память на цифры, послушайте меня повнимательней. Я вам докажу, что очень легко запомнить какой угодно номер. Так слушайте: номер паровоза, который нужно увести в депо в Лысую-на-Лабе,-- четыре тысячи двести шестьдесят восемь.
Слушайте внимательно. Первая цифра — четыре, вторая — два.
Теперь вы уже помните сорок два, то есть дважды два — четыре,
это первая цифра, которая, разделенная на два, равняется двум,
и рядом получается четыре и два. Теперь не пугайтесь! Сколько
будет дважды четыре? Восемь, так ведь? Так запомните, что
восьмерка в номере четыре тысячи двести шестьдесят восемь будет
по порядку последней. После того как вы запомнили, что первая
цифра — четыре, вторая — два, четвертая — восемь, нужно
ухитриться и запомнить эту самую шестерку, которая стоит перед
восьмеркой, а это очень просто. Первая цифра-- четыре, вторая--
два. а четыре плюс два — шесть. Теперь вы уже точно знаете,
что вторая цифра от конца — шесть; и теперь у вас этот порядок
цифр никогда не вылетит из головы. У вас в памяти засел номер
четыре тысячи двести шестьдесят восемь. Но вы можете прийти к
этому же результату еще проще…
»Восемь без двух — шесть. Теперь вы уже знаете шестьдесят восемь, а шесть минус два — четыре, теперь вы уже знаете четыре и шестьдесят восемь, и если вставить эту двойку, то все это составит четыре — два — шесть — восемь. Не очень трудно сделать это иначе, при помощи умножения и деления. Результат будет тот же самый. Запомните,-- сказал начальник дистанции,-- что два раза сорок два равняется восьмидесяти четырем. В году двенадцать месяцев. Вычтите теперь двенадцать из восьмидесяти четырех, и останется семьдесят два, вычтите из этого числа еще двенадцать месяцев, останется шестьдесят. Итак, у нас определенная шестерка, а ноль зачеркнем. Теперь уже у нас сорок два, шестьдесят восемь, четыре. Зачеркнем ноль, зачеркнем и четверку сзади, и мы преспокойно опять получили четыре тысячи двести шестьдесят восемь, то есть номер паровоза, который следует отправить в депо в Лысую-на-Лабе. И с помощью деления, как я уже говорил, это также очень легко. Вычисляем коэффициент, согласно таможенному тарифу..."
— Чтобы докончить… Вы думаете, господин фельдфебель,
этот машинист запомнил? Он перепутал и все помножил на три, так как вспомнил святую троицу. Паровоза он не нашел. Так он и до сих пор стоит на шестнадцатом пути.
Простой телефонный номер (с кодом страны и города) дает уже 13-14 символьный пароль. А если заменить цифры на буквы по правилам (1 -> i и т.д.) то и больше…
А если писать цифры буквамы (адын, дэва, тры… пьятьдесьят и т.д.) то…
У меня на все сервисы несколько паролей:
1. на все ненужные мне сайты, от которых могу легко отказаться.
2. усложнение первого, для ненужных сайтов которые требуют регистры/цифры
3. сложный пароль на почту
4-5. два сложных пароля на электронные деньги и важные сайты.
Забавно, сам пользуюсь такой системой уже давно – привязывая пароль к домену. Но в последнее время, глядя, как то и дело утекают пароли где-нибудь на mysql.com, начинаю задумываться, безопасно ли это. С другой стороны, все эти пароли однажды были в ящике gmail, а можем ли мы быть уверены, что удалённые сообщения действительно удалены :)?
Я для себя выработал схему генерации паролей такую. Есть набор цифр, та же пресловутая дата рождения. Есть математическая формула. Подставляю дату 31.03.1967 в качестве числа 31031967 в эту формулу, вычисляю, а результат перевожу в HEX. Этот HEX и есть пароль. При этом на главную почту у меня пароль очень и очень длинный и сложный. Но вычислить для меня его не составляет труда. Соответственно, даже если падут мои аккаунты на разных сайтах, почта останется у меня уж точно.
У многих есть «универсальные пароли», которые давно въелись в мозги и которые пальцы набирают автоматом. По описанной в статье системе можно разнообразить такие пароли «привязкой к домену». Т.е. вместо песенки использовать один из своих «универсальных» паролей и модифицировать их в зависимости от домена.
Так что, идея хорошая и полезная. Особенно для тех, кто везде вводит один и тот же пароль.
Есть еще одна идея — использовать обычную фразу, которую легко запомнить, можно даже на английском, вводить скажем каждое слово с большой буквы, пробелы убрать, НО: вводить безграмотно и использовать в фразе скажем название ресурса:
ILaveMyGoogleSyperPasword
Хрен кто по словарю подберет.
К сожалению (однако к счастью с точки зрения безопасности) многие даже не подозревают, что используют эту схему ;-)
Аналогичная некоторым примерам выше проблема — если 2 таких пароля попадут в нехорошие руки — эти руки без проблем введут правильный пароль и на третьем сайте.
Помимо этого, в отличие от правильного написания, которое одно-единственное — вариантов неправильного написания намного больше. Поэтому гарантированно будет возня с правильным набором ошибок, когда сайт не примет пароль.
По-моему самый простой, и в то же время надёжный пароль — брать md5() от имени сайта, обрезать его до приемлемой длины (или не обрезать) и использовать. Получается быстро, просто, единственный фейл — если сайт адрес поменяет).
Решение вопроса с паролями — раз и навсегда