среда, 15 мая 2013 г.

Как спрятать важные номера на видном месте

Недавно наткнулся на одну программу для смартфонов, предназначением которой является сохранение локально на телефоне или в облаке данных о важных для человека документов: паспортов, свидетельств, карточек и т.п. Вся эта информация, по заверениям разработчика, шифруется, а для входа в программу используется 4-значный пароль. При этом в комментариях к тому сообщению очень многие высказались, что "это как самостоятельно отдать все данные о своих документах неизвестному дяде". Вариант с несанкционированной передачей данных приложением "на сторону" рассматривать не буду, стану считать, что всё именно так, как разработчик и говорит. Но при этом физический доступ к телефону злоумышленниками и возможность войти в программу, даже защищённую паролем на входе, я не исключаю.

Поэтому сейчас хотел бы поделиться способом хранения информации типа номеров паспортов и кредитных карт, который призван дополнительно обезопасить данные. Будет ли он использоваться вами в приложениях, подобных описанному выше, в текстовых файлах "Все_пароли.txt" на Рабочем столе или же не будет использоваться вообще – несущественно. Данный способ или производные от него, возможно, поможет кому-то и в других областях ну или хотя бы упростит кому-то жизнь.
! Важное замечание: Этот способ не предполагает работы с отсканированными или сфотографированными документами без внесения изменений в изображения с помощью программ для обработки графических файлов. По умолчанию имеется в виду работа с обычными текстовыми символами (plain text).

Оговоримся, что нам не важно, где именно находятся номера, которые требуется "не светить", важно то, что они там лежат в "открытом виде". А требуется сделать так, чтобы попадание этих данных в чужое поле зрения не повлекло их мгновенной дискредитации.

Итак, весь смысл в том, чтобы произвести замену одних цифр другими. По только вам известному алгоритму. Основными вариациями я считаю пару:

замена местами цифр определённых позиций;
(Для номера 123456 при замене первой и последней цифр получим 623451, первой и третьей – 321456. На более реальном номере 770141 будет смотреться лучше: 170147 и 077141 соответственно.
Правда, в случае одинаковых цифр на нужных позициях данное вариант спотыкается, тогда можно использовать смещение всех цифр влево или вправо:
123456 станет 234561 при смещении влево на одну позицию и 561234 при смещении вправо на две.
Для 770141 получим 701417 и 417701 при тех же действиях.
Этот вариант более устойчив, кроме случая с одинаковыми цифрами на всех позициях, что довольно нечасто встречается. Тем не менее, если у вас такой случай, смотрите следующий вариант);

увеличение/уменьшение цифры на конкретной позиции на единицу или несколько единиц.
(Увеличим на единицу каждую позицию номеров 123456 и 770141: 234567 и 881252. В случае если после увеличения происходит переход в другой десяток, стоит оставлять только последний разряд, т.к. это не сложение/вычитание в столбик и мы сами устанавливаем правила, а дополнительные разряды нам могут всё спутать. Уменьшим те же номера на две единицы в каждой позиции: 901234 и 558929. При уменьшении цифр только на первой и последней позициях получаем: 923454 и 570149).

Даже считая основными эти два и половиной способа, суммарное количество вариаций просто огромно. Всё ограничивается только вашей фантазией.

А напоследок ещё замечание (в случае, если "под вас копают" ваш алгоритм, не учитывающий это, смогут "расколоть" быстрее): для паспортов есть смысл отставлять серию без изменений, т.к. при сильном отличии от остальных (серии документов, как правило, не являются рэндомными значениями) это может сразу бросить подозрение на реальность вашего _нереального_ серийного номера, а для номеров кредитных и других карт учитывайте, что часто банк-клиенты, банкоматы и чеки не скрывают последние 4 цифры номера (и несколько первых) для более удобной идентификации вами же. Смышлёные злоумышленники, найдя чек, номер в котором оканчивается на 3454 смогут довольно быстро определить ваш _реальный_ номер счёта, спрятанный в оканчивающейся на 2343 последовательности. Хотя, просто от обладания номером счёта без дополнительных сведений, толку им будет не особо много.

По крайней мере, если вы пишите или царапаете PIN-код на карте, изменение даже одной цифры, скорее всего, сохранит вам деньги. И нервы.

Добавление от 23 мая 2013:
Изменил форматирование примеров. Полужирным выделены части, затронутые изменениями. Полагаю, так читать и воспринимать текст удобнее.

Комментариев нет:

Отправить комментарий

Если у вас есть что сказать и/или вы не согласны с изложенным в посте – оставьте комментарий. Регистрации не требуется.

If you think I'm wrong and/or you have to say something – fill free to write comment. No sign up required.