Топик посвящён защите секретной информации разного рода – паролей, приватных ключей, парольных фраз (seeds), ПИН-кодов.
Актуальность проблемы.
Тема достаточно актуальна, ибо всем нам приходится хранить и содержать в секрете ту или иную информацию. Между тем уровень защищённости её, на мой взгляд, в большинстве случаев недостаточный. Хорошо когда пароли и сиды хранятся на съёмном носителе. Хорошо, если сделаны бэкапы флешки в несколько экземпляров; когда бэкапы регулярно обновляются. Ещё лучше, когда содержимое флэшки зашифровано и пароль достаточно сильный. Но тут сразу встают интересные и нетривиальные вопросы. А где хранить и как шифровать пароль от зашифрованного контейнера? Нигде, только в памяти? А если пароль забудется? Или создавать для этого пароля отдельный контейнер? Тогда его тоже придётся паролить и где тогда этот ещё один пароль хранить? А самое главное: пользуясь программным продуктом, который создали не вы сами, как вы можете быть уверены в безопасности ваших средств, которые вы доверяете на хранение этому коду? А если код содержит вредоносные компоненты? Что, если ваши приватные данные попадут в руки владельца вредоносного кода? Я вам расскажу о системе, которая максимально затруднит злоумышленнику использование вашей секретной информации даже если она попадёт к нему в руки. У вас всегда будет время для того, чтобы предпринять дополнительные меры в отношении этой информации.
В этом топике пойдёт речь о
DERK – схеме, с помощью которой вы сможете придать дополнительную и, самое главное, очень сильную безопасность вашей секретной информации.
DERK–схема - это нечто среднее между шифрованием и классической стеганографией, но при этом не является, строго говоря, ни тем, ни другим (хотя на стеганографию похоже больше). При этом данная схема, тем не менее, отлично сочетается и с тем и с другим. Я даже рекомендую сочетать её и с тем и с другим.
Ключевые элементы в схеме:
намёк, бревно, яд, витамин, антивитамин. Далее, по ходу описания, я поясню значение этих терминов.
Сама схема состоит из 3-х основных элементов: яда, витамина и антивитамина в разных сочетаниях. Есть разные модификации этой схемы: по уровню сложности, по направленности на тот или иной тип сохраняемой информации. Далее я в основном буду делить схему по уровню сложности: 1, 2, 3. Первый уровень сложности бывает 2-х видов:1Я или 1В. Разные уровни нужны для того, чтобы предоставлять пользователю инструменты различной сложности в зависимости от ценности сохраняемой информации. Скажем, если у вас на сиде лежит маленький объём средств, то вряд ли имеет смысл слишком сильно заморачиваться. Подойдёт схема 1 уровня – 1Я или 1В, в зависимости от вашего вкуса. Если объём средств посерьёзнее, то имеет смысл заморочиться со схемой 2-го уровня (Я+В). А если вы биткойновый кит, то вам подойдёт третий уровень (Я+В+АВ).
Теперь подробнее остановимся на модификациях этой схемы (уровнях сложности). И всё это вместе можно застеганографировать и зашифровать. Пароль от шифра тоже деркуем в отдельном файле и стеганографируем, но уже не шифруем.
1.DERK-1Я. Секретная информация (бревно) + яд. Бревно – это информация, подлежащая сокрытию. Яд – это последовательность символов, добавляемая к исходной информации (бревну), которая делает эту исходную информацию невалидной, недействительной. Иными словами, для того, чтобы заработал пароль или приватный ключ, нужно освободить их от яда. Секретная информация, в которую добавлен яд, должна быть помечена
намёком. Намёк – это особая иносказательная оговорка, которая стоит перед секретной информацией и предупреждает владельца о том, что бревно изменено, оно « с секретом». Иначе, если забудете оставить такую пометку, то можете сами забыть, что пароль изменён или забудете, как распознать яд. В качестве намёка может быть любая фраза, которая натолкнёт вас на то, что секретная инфа ниже – с секретом и чтобы ею воспользоваться, нужно убрать яд. Например: гнилые брёвны непригодны для заготовки. Или: стрелы, смазанные кураре. Да всё, что угодно, что насторожит вас и заставит вспомнить, что этот пароль или приватник – необычный.
Графиня изменившимся лицом бежит пруду.
Яд- это один из основных компонентов (наряду с витамином) DERK – схемы. Перед использованием из бревна яд удаляется. Есть разные типы ядов в зависимости от уровня сложности и уровня задачи, которую они решают. Простейший яд – это несколько символов, добавляемые в конец пароля и делающие его недействительным. Яд посложнее – это яд, добавляемый не только в конец бревна, но и в начало. Ещё более сложный яд – длинные последовательности символов, добавляемые в разные места пароля ( в начало, середину и конец). Прежде, чем применять яд, вы должны создать систему генерации яда. То есть вы должны безошибочно определять сами, где в пароле оригинальные, «деревянные» символы, а где токсично – ядовитые. Это могут быть ключевые слова, цифры, знаки препинания, целые фразы.Они могут даже быть записаны задом наперёд и с ошибками. Но они должны для вас чем-то отличаться от остального текста. В качестве источника ключевых фраз и слов можно брать те или иные художественные произведения, например, сказки. Ключевые слова из какой-нибудь сказки будут для вас ядом. Или персонажи какой-нибудь игры. Или термины из феншуя. Или элементы из системы Менделеева, расположенные в одном каком-то периоде. Или… в общем, полёт фантазии ничем не ограничен. Главное – он должен быть уникальным для вас и ничего не говорящим для потенциального злоумышленника. Приведу простейший пример. Есть пароль:
Fp&78&695_%Gnmud;&?87593АкРО8
Это относительно безопасный пароль. Но что, если его обнаружит злоумышленник? Скажем, флешка или блокнот с паролем попадёт к нему в руки? В таком случае, он сможет легко им воспользоваться. Возьмём простейший яд:
Drink beer red Bull. Усовершенствуем этот яд, убрав из него гласные:
Drnkbr rdBl l и добавим его в начало и конец пароля:
DrnkbrFp&78&695_%Gnmud;&?87593АкРО8rdBll
Мы получили простейший ядовитый пароль для умеренно значимой информации. Этот яд я привёл для простоты; в реальных случаях его можно и нужно делать длиннее и сложнее, если информации сильно ценна.
Ещё раз просуммируем правила повышения сложности яда:
1. Добавляем яд не только в конце, но и в начале и в середине бревна.
2. Яд разделяем на большое количество групп и вставляем на всё протяжении бревна. Такой яд резко повышает безопасность пароля, но создаёт затруднения при очистке пароля перед употреблением. Использовать только для высокоценной приватной инфы.
3. Увеличить длину яда. Относительно несложный приём и качественный.
4. Увеличить хаотичность яда. При этом его распознавание затрудняется и поэтому придётся поработать над его запоминанием или, лучше, запомнить начало и конец ядовитого фрагмента. Ну или придумать такой ядовитый фрагмент, который легко запоминать или определять его начало и конец.
Теперь ещё раз перечислим требования к яду в схеме DERK-1:
1. Яд должен быть таким, чтобы владельцу пароля легко было догадаться, какие фрагменты пароля ядовиты, а какие нет.
2. Для злоумышленника ядовитые фрагменты ничем не должны принципиально отличаться от неядовитых.
3. Для вас должна существовать схема генерации яда, то есть схема, облегчающая нахождение яда в секретной информации.
Если вам сложно эту систему запомнить, то она, во всяком случае на первое время, должны быть записана на бумаге или в электронный файл на другой флешке. Я в качестве яда использую слова малоизвестного языка. На этом языке я составляю намёк, а также использую его в качестве одного из источников для яда. В яде я использую эти слова задом наперёд, с орфографическими ошибками и особым образом перемежаю их цифрами и спецсимволами.
II. Derk-1в. Секретная информация (бревно) + витамин.
Эта схема принципиально отличается от 1Я. Здесь используется иной вид маскировки и вводится элемент под названием «витамин». Что такое витамин?
Витамин – это последовательность символов, которая отсутствует в секретной информации, но которую необходимо добавить в неё для того, чтобы она стала валидной. Естественно, что витамин (если речь не идёт о каком-то простом и неответственном случае) должен храниться отдельно от основного «бревна».
Есть несколько разных типов витаминов:
- Одиночный короткий витамин, добавляется в конце (простейший витамин).
-То же, но добавляется вначале, либо в середине пароля.
- То же, но витамин – длинный.
- Несколько витаминов.
Правила составления витаминов:
1. Витамин – Это часть сложного пароля (бревна), который, в то же время, сам должен быть существенно сложным паролем (бревном).
2. Лучше всего хранить витамины в отдельном файле – «флаконе».
3. Сам «флакон» тоже можно запаролить.
4. Если ваша секретная инфа (приватники, сиды) не хранит много средств (но, в то же самое время, их было бы жалко потерять), то можно придумать один витамин для нескольких брёвен. В ответственных случаях лучше использовать индивидуальные витамины.
5. В простых случаях витамин добавляется в конец пароля (бревна), в ответственных – в разных местах или по какой-либо схеме (в том числе может быть несколько витаминов).
Рядом с паролем (бревном) должен быть намёк
6. – который в иносказательной форме должно предупреждать вас о том, что бревно нуждается в витамине. Если намёка не будет, то вы можете забыть о необходимости вставить витамин и будете безуспешно пытаться использовать эту инфу.
Схема DERK-2. Секретная информация + яд + витамин.
Здесь принцип тот же, что и предыдущих вариантах, просто наблюдается комбинация разных элементов. Применяется для сокрытия инфы повышенной ценности.
Схема DERK-3. Секретная информация + яд + витамин + антивитамин.
Это ещё более сложный, «параноидный» уровень. Применяется для сокрытия особо крупных капиталов, особо ценных ресурсов или для самоуспокоения людей с параноидной психикой. На мой взгляд, даёт очень надёжную защиту. Но здесь главное не забыть все особенности безопасности этой схемы. Здесь помимо стандартных элементов безопасности добавляется такая вещь, как «антивитамин». Что такое антивитамин?
Антивитамин – это яд для витамина. Иными словами, для того, чтобы воспользоваться витамином, из него сначала нужно убрать собственный яд. Правила составления яда для витамина точно такие же, как и для обычного бревна. Единственно, яд для бревна и яд для витамина должны быть разными. Желательно также, чтобы все компоненты этой схемы хранились в разных «флаконах». Чтобы не забыть и не запутаться в элементах этой схемы, периодически следует использовать секретную инфу, извлекая её из этих элементов безопасности.
Это – краткое описание элементов схемы.