DanillaTech Опубликовано 30 июня, 2014 Жалоба Опубликовано 30 июня, 2014 (изменено) Часто мы стоим перед выбором, какой пароль придумать для того или иного сайта или сервиса. И главное, так придумать, чтобы не забыть! Поэтому очень часто мы используем одинаковые пароли для регистрации на разных сайтах, что снижает нашу безопасность. А ещё снижает безопасность хранение паролей в открытом виде.Я, DanillaTech, предлагаю пример "технологии" , позволяющую создавать легкие для ввода, но сложные для взлома 16-значные пароли, которые можно хранить в открытом виде с помощью всего одного символа.Это алгоритмические пароли, v1.0.Определимся с требованием к паролю многими сервисами: это строчные буквы, прописные, символы, знаки. Наш пароль будет содержать всё это. Для хорошей защищённости наш пароль будет содержать 16 знаков. По 4 знака на каждую группу (символы, цифры, прописные или строчные буквы). Пусть символы вводятся поочерёдно (двигаясь вправо или влево по клавиатуре) - т.е. QWER, ASDF, VCXZ. Если идти вправо или влево по клавишам нельзя (граница клавиатуры), то всё это дело циклится. Желательно использовать лишь буквенную часть на латиннице, т.к. при вводе пароля с QWERTY-клавы на смартфоне, например, будут различные трудности.Создадим небольшую произвольную табличку 3х3, допустим391245867Наша "защита" паролей будет сделана с помощью этой таблицы.Допустим, создаём пароль для сервиса EvernoteКлючём для пароля выбираем цифру 7.Относительно центра (4) она смещена на 1 вниз и вправо. За ключевую букву выбираем первую букву (можно любую) от Evernote. На клавиатуре смещением вправо и вниз относительно E будет F, первые четыре символа fghjЗатем берём какую-либо букву из этого же символа (допустим, вторую по счёту), применяем такое же смещение. Это буква G, из неё получаем NВторая часть пароля NMZXТретья часть пусть базируется на нашей цифре 7, желательно со смещением, допустим, получим 6789,нажимаем шифт и получаем ^&*( Наш пароль:fghjNMZX6789^&*(Конечно, можно применять различные усложнения, комбинации, придумать свой алгоритм пароля...Преимущества от алгоритмических паролей такие:1. Хранение пароля в "открытом" виде без понимания алгоритма или какой-то части (типа таблички) ничего не скажет неискушенному взломщику2.Лёгкий ввод3. Даже узнав пароль от какого-либо сайта, злоумышленник не будет знать пароль от других сайтов. При этом понять алгоритм вполне реально (особенно если злоумышленник читал эту статью), но без таблицы будет куда сложнее. И да, желательно учесть то, что алгоритмы могут меняться, и неплохо бы им присвоить версии, т.е. пароль в открытом виде будет содержать уже два символаВОт ещё фичи, которые могут усложнить пароль: кратность двум, игра с шифтами/длинной какого-либо блока/ Изменено 1 июля, 2014 пользователем DanillaTech (смотреть историю редактирования) Цитата
Felte Опубликовано 30 июня, 2014 Жалоба Опубликовано 30 июня, 2014 http://xkcd.ru/i/936_v3.png Такие дела. 1 Цитата
Администрация Flair Опубликовано 30 июня, 2014 Администрация Жалоба Опубликовано 30 июня, 2014 Уходи, страшный человек. Здесь любят аниме. 1 Цитата
DanillaTech Опубликовано 30 июня, 2014 Автор Жалоба Опубликовано 30 июня, 2014 Возоржамши.Что за странное слово? Цитата
Ernest_Kabardinov Опубликовано 30 июня, 2014 Жалоба Опубликовано 30 июня, 2014 Что за странное слово? Наш пароль:fghjNMZX6789^&*(Правильным путем идете, товарищ! Цитата
Shinsaku-To Опубликовано 30 июня, 2014 Жалоба Опубликовано 30 июня, 2014 Что за странное слово? Слово означает, что я громко смеялся. Страдалец, блин. Таблички рисовать при каждом логине, ага. Юзабилити и Tech на высоте! :D Написано левой пяткой за 37,4 секунды. 30 секунд было потрачено на изучение Swing, чтобы окошечко вырвиглазное нарисовать. Запускается как обычный экзешник, требует JRE 1.7 на компе. Алгоритм -- ехали хэши через md5. В окошечко можно, к примеру, адрес сайта ввести. https://yadi.sk/d/OLbJO68lVajrz Цитата
DanillaTech Опубликовано 1 июля, 2014 Автор Жалоба Опубликовано 1 июля, 2014 (изменено) Shinsaku-To, видишь ли, табличка одна для всех паролей). Она может быть меньше, допустим 2х2, или вообще 1х1, если ты не в состоянии что-то запомнить, а в уме легко сгенерировать новый пароль с помощью того или иного алгоритма, как и умножить 2х17. Зато напишешь "пяткой калькулятор за 34 секунды, лол", посчитав себя невероятно крутым :P .И что твоя прога генерирует, неужто пароль, который легко запомнить , который содержит символы, буквы разного регистра, который легко набрать, который можно уместить в один символ? Изменено 1 июля, 2014 пользователем DanillaTech (смотреть историю редактирования) Цитата
Jabberwocker Опубликовано 1 июля, 2014 Жалоба Опубликовано 1 июля, 2014 она выдает пароль, для взлома которого недостаточно таблички и перебора символов. Цитата
DanillaTech Опубликовано 1 июля, 2014 Автор Жалоба Опубликовано 1 июля, 2014 (изменено) Я и без программы такой пароль составлю dalfjdnalfjd*(*@(*@(@#*(292389LDJFNDSLJFDLBL , это круто? Составил за 2 секунды, да и набор символов пообширнее :) Изменено 1 июля, 2014 пользователем DanillaTech (смотреть историю редактирования) Цитата
Jabberwocker Опубликовано 1 июля, 2014 Жалоба Опубликовано 1 июля, 2014 Я и без программы такой пароль составлю@DanillaTech, читайте внимательнее:Алгоритм -- ехали хэши через md5.Вообще говоря, вы с криптоанализом на каком уровне знакомы?Прежде чем изобретать шифр или систему генерации паролей, минимальные теоретические знания просто необходимы. Цитата
DanillaTech Опубликовано 1 июля, 2014 Автор Жалоба Опубликовано 1 июля, 2014 Я знаком со здравым (и не очень) смыслом, более или менее.А здравый смысл мне подсказывает, что 32 знака - слишком много, а разный регистр букв и цифры могут стать обязательным требованием, а иметь какую-то программу которая генерирует пароль по единому алгоритму не очень хорошо. Вообще, много чего могу сказать по поводу программы. В данной версии АП я справился с умещением открытой инфы в один символ, лёгкую и быструю генерацию в голове пароля для любого сервиса (а если сервиса нет, можно базироваться на имени файла и т.д.), изоляцию алгоритма от ключа в виде квадрата 3х3. Я не говорю, что я что-то архисложное, идеальное придумал. Может я алгоритм чуть доработаю, или совсем изменю, сделав алгоритм более динамическим... Также не заставляю этим пользоваться никого) Цитата
Jabberwocker Опубликовано 1 июля, 2014 Жалоба Опубликовано 1 июля, 2014 Я знаком со здравым (и не очень) смыслом, более или менее.Этого недостаточно. А здравый смысл мне подсказывает, что 32 знака - слишком много, а разный регистр букв и цифры могут стать обязательным требованием, а иметь какую-то программу которая генерирует пароль по единому алгоритму не очень хорошо.salt + hash -- с точки зрения современного криптоанализа не взламывается кроме как полным перебором.предлагаемая табличка приводит к зависимостям между соседними символами пароля, что резко снижает его стойкость. В данной версии АП я справился с умещением открытой инфы в один символЭто значит, что взломщику достаточно перебрать 256 вариантов. Цитата
DanillaTech Опубликовано 1 июля, 2014 Автор Жалоба Опубликовано 1 июля, 2014 В одном символе 256 вариков, не плохо? А если учесть то, что площадь на клавиатуре может быть нестандартная, может быть реализован пропуск определённых зон, может быть применён динамический алгоритм, в общем, простор для фантазии большой. И именно вот эта самая фантазия затрудняет математический перебор). Цитата
Jabberwocker Опубликовано 1 июля, 2014 Жалоба Опубликовано 1 июля, 2014 ну будет не 256 вариантов а десяток тысяч. это не является устойчивым ко взлому паролем. Цитата
Танцующий на воде Опубликовано 1 июля, 2014 Жалоба Опубликовано 1 июля, 2014 Люди не зхнают о существовании Lastpass... Цитата
DanillaTech Опубликовано 1 июля, 2014 Автор Жалоба Опубликовано 1 июля, 2014 С десяток тысяч...? Пароль будет 16-символьным. В нём будут использоваться буквы разного регистра, цифры и знаки.Сколько различных символов? 26*2(буквы разного регистра)+10(цифры)+10(символы)=72 (8 бит, к слову)Количество символов - 16, количество комбинаций вычисляется 72^16=521578814501447328359509917696 . Затем там, конечно, можно будет кое-что вычесть... Но суть в том, что методом перебора это трудно решить, куда проще будет разгадать алгоритм, и для постороннего чловека даже в открытом виде пароль будет представлять HJKLasdf6789#$%^ тут ясно видно, что буквы друг за другом следуют, но а принцип-то какой? Да и разгадывание принципа при использовании карты усложнит задачу. А если принцип ещё и динамический, т.е. меняется от цифры к цифре, или к другой группе цифр, то это сложняково решить). Цитата
Jabberwocker Опубликовано 1 июля, 2014 Жалоба Опубликовано 1 июля, 2014 да блин! никак не 26 в степени и тем более не 72. как только мы привязываемся к табличке, к расположению клавиш на клавиатуре -- число комбинаций резко падает.а без привязки -- никакого "алгоритма генерации" нет, просто "возьмем достаточно длинную случайную последовательность символов". Цитата
Ernest_Kabardinov Опубликовано 1 июля, 2014 Жалоба Опубликовано 1 июля, 2014 А если учесть то, что площадь на клавиатуре может быть нестандартнаяА как ВЫ учли то, что раскладка может быть нестандартная? С вашими-то решетками, привязанными к стандартной клавиатуре? Цитата
DanillaTech Опубликовано 1 июля, 2014 Автор Жалоба Опубликовано 1 июля, 2014 никак не 26 в степени и тем более не 72. как только мы привязываемся к табличкС непредвзятой точки зрения, в любом месте может быть один из 72-х символов, т.к. порядок произвольный **** **** **** ****, поэтому кол-во комбинаций будет 72^16. Это если уже глубже идти, то можно сильно уменьшить количество комбинаций, но как? Тебе придётся описывать положение клавиш на клавиатуре, описать то, что они должны идти вместе, да много чего. Мало кто может, мало кто будет это делать, куда проще расшифровать алгоритм по имеющимся паролям, но и над этим надо попотеть. А как ВЫ учли то, что раскладка может быть нестандартная?Так и учли, что ориентируемся на QWERTY. Если что-то там нестандартное, то можно тупо взглянуть на QWERTY и понять, что да как (если на нестандартной ты, конечно, можешь вводить). Для облегчения ввода с мобильных устройств и так была взята только буквенная часть - не qwertyuiop[]asdfghjkl;'zxcvbnm,./Вместо этогоqwertyuiopasdfghjkl... Цитата
Jabberwocker Опубликовано 1 июля, 2014 Жалоба Опубликовано 1 июля, 2014 Тебе придётся описывать положение клавиш на клавиатуре, описать то, что они должны идти вместе, да много чего.Это описывается элементарно. Соседние клавиши для пароля -- вообще зло, если это не случайное совпадение, а система. Цитата
DanillaTech Опубликовано 1 июля, 2014 Автор Жалоба Опубликовано 1 июля, 2014 (изменено) Соседние клавиши - зло, ок, ничего не мешает изменить алгоритм для генерации "случайных" клавиш.Зачем так сильно любить "случайные" пароли, и недолюбливать алгоритмические? Ведь если всё будет случайно, то это приведёт к хранению их в открытом виде, зависимости от источника, который ещё может кому-то пренадлежать, а электронные накопители легко считываются, всякие трояны легко предоставят информацию кому надо, элементарно ставятся кейлоггеры, сохранялки скриншотов, удалёнки, эти самые программы могут быть на том устройстве, откуда ты авторизуешься - зашёл в хранилище паролей на чужом компьютере - и всё, твои пароли переданы кому надо :rolleyes: . Можно запоминать случайные, но мы очень хорошо забываем то, чем не пользуемся. Даже если это 5-значный пароль, то тебе нужно помнить 5 символов, каждый из которых имеет, грубо говоря, 72 различные вариации (или один байт), т.е. это 5 байтов. В случае с АП тебе нужно помнить (записывать) всего лишь одну цифру, которую можно кодировать всего пятью битами. Экономия от использования АП возрастает вместе с количеством сгенерированных паролей. А если ты всегда пользуешься одним алгоритмом и таблицей, у тебя это всегда актуально, и алгоритм с таблицей просто так не забудутся. Изменено 1 июля, 2014 пользователем DanillaTech (смотреть историю редактирования) Цитата
Jabberwocker Опубликовано 1 июля, 2014 Жалоба Опубликовано 1 июля, 2014 предлагаемый алгоритм опасен тем, что в случае компрометации одного из паролей, остальные вскрываются очень быстро.во втором посте темы уже дали приемлимое решение проблемы.легко запоминается, достаточная энтропия, довольно длинный пароль, чтобы сломать перебором. еще у лукьяненко в одной из книг было "40тысячобезьянвжопусунулибанан" в качестве пароля. Цитата
DanillaTech Опубликовано 1 июля, 2014 Автор Жалоба Опубликовано 1 июля, 2014 (изменено) Не забывай про нелинейность алгоритма), и про использование ключ-карты. Чтобы сгенерировать любой пароль, нужно обладать 4-мя знаниями:1. На какой символ чего опирается алгоритм (может быть первым, вторым, последним, предпоследним, зависящим от цифры)2. Алгоритм3. Ключ-карту4. Цифру40тысячобезьян - хорошо, но ты вряд ли запомнишь 102 подобных пароля. А если сервис выставит требования букв разного регистра, использования символов, ограничение по длине, скажем, 16, или 8?При относительной сложности расшифровки АП его достаточно легко ввести и запись, на любом носители информации, будет в n-ое количество раз меньше, чем какой бы то ни было пароль. Если средний пароль 10 символов, то цифра будет писаться в 10 раз быстрее. Но я рекомендую, по крайней мере для себя допускаю возможность смены версий алгоритмов. Поэтому будет уже две цифры - например 71, 81, 21... А если к этому применить ещё нестандартную запись (можно выразить цифры через буквы, поменять местами), то злоумышленник увидит лишь lj , например). Изменено 1 июля, 2014 пользователем DanillaTech (смотреть историю редактирования) Цитата
Shinsaku-To Опубликовано 1 июля, 2014 Жалоба Опубликовано 1 июля, 2014 (изменено) Shinsaku-To, видишь ли, табличка одна для всех паролей). Она может быть меньше, допустим 2х2, или вообще 1х1, если ты не в состоянии что-то запомнить, а в уме легко сгенерировать новый пароль с помощью того или иного алгоритма, как и умножить 2х17. В уме легко сгенерировать, легко и разгенерировать. Криптостойкость у алгоритма как у сопли в полёте -- алгоритм обратимый, в обратную сторону вычислительная сложность та же. Имея часть данных без проблем можно восстановить отсутствующие. Ты бы это прекрасно понял и сам, если бы не считал, что достаточно Здравого Смысла™, а хотя бы попытался изучить предметную область, для которой предлагаешь решения. Вкратце: твой алгоритм очень плох. Зато напишешь "пяткой калькулятор за 34 секунды, лол", посчитав себя невероятно крутым . Именно. Написанная кое-как программка отлично работает, и моментально выдаёт криптостойкие пароли для любого входа (методы давно известны для этого). Ты же предлагаешь пользователю ради решения локальной проблемы пыхтеть и считать каждый раз (!) пароль для каждого ввода, с нефиговым риском ошибиться. Это финиш, сушите вёсла. При том, что существует множество готовых решений для генерации и хранения паролей, которые и уникальные, и криптостойкие, и с чёртом в ступе, и при этом не требуют от пользователя каких-либо заметных усилий -- они просто работают. О существовании которых ты бы тоже, конечно, узнал, если бы хоть попробовал пробежаться по предметной области, для которой предлагаешь решение. Вот именно по этим причинам -- твой пост и смешной. Сродни попытке продать дорожному строителю каменный молоток, когда у него есть отбойный. Изменено 1 июля, 2014 пользователем Shinsaku-To (смотреть историю редактирования) 2 Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.