Русский
Русский
English
Статистика
Реклама

Визуальная криптография

Из песочницы Эффект доверенного просмотра против атаки Man In Device

05.08.2020 14:08:45 | Автор: admin
Привет, Хабр.

Вы не задумывались о таком обстоятельстве, что век пользовательской криптографии безвозвратно уходит. Нет, я не о том, что шифрование мессенджеров и криптовалюты сегодня в опале. Я о старом добром ДБО, проще говоря о системах банк-клиент. Еще каких-то 10 лет назад любой уважающий себя банк-клиент состоял из софта и токена с цифровой подписью. А сегодня это уже практически раритет, все повсеместно переходят на смс-подтверждения, что безусловно на порядок удобнее чем возня с настройками крипто-провайдеров и установками сертификатов ЦП.

В чем же дело, неужели удобство перевесило безопасность в такой сфере как финансы? А вот и нет, оказывается, что безопасность обоих вариантов одинаково низкая. Как же так, ну понятно смс аутентификация далеко не идеал безопасности с возможностью перехвата и подмены смсок, но крипта да еще и в аппаратном носителе! Всё дело в том, что любая система безопасности оценивается по её самому слабому звену.

Алиса и Боб


Опишу проблему на примере Алисы и Боба. Представьте, что в одной руке у Алисы смартфон, на экране которого выведен какой-либо платежный документ. А в другой руке беспроводной токен с цифровой подписью. Алисе предстоит подписать электронную платежку, для этого достаточно сопрячь токен и смартфон и кликнуть подписать.

Как будто все достаточно просто и безопасно оба устройства принадлежат Алисе и оба в её руках. Но допустим есть Боб, который решает в этот момент перехватить Алисин документ и направить в её токен другой документ например платежку, в которой со счета Алисы уйдет крупная сумма на неизвестный счет.

image

Здесь мы не будем рассматривать различные сценарии как это сделать, достаточно перечислить те потенциально небезопасные участки, где Боб может осуществить задуманную подмену. Итак, потенциальная площадь атаки включает в себя: операционную систему смартфона, процессор, видеопроцессор, ОЗУ, беспроводный канал связи. Дистанционный перехват управления смартфоном позволяет на любом из перечисленных участков организовать Бобу атаку примерно по следующему алгоритму: отследить что шлюз токена открыт для приема данных, перехватить документ Алисы по пути от ОЗУ до беспроводного передатчика, направить в шлюз токена свой документ, принять с беспроводного приемника смартфона подписанный документ и направить его на определенный хост. При этом вывести на экран смартфона информацию об успешно подписанном документе Алисы. Атаку можно провести и через беспроводной канал связи, но в целом алгоритм атаки будет аналогичным.

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

Об антифроде


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

MITM, точнее MID


Таким образом мы имеем разновидность угрозы человек посередине Man In The Middle (MITM). В данном случае посередине между экраном смартфона и токеном с цифровой подписью. Но в отличие от классической атаки человек посередине нейтрализовать её криптографическими методами невозможно. Не знаю имеет ли данный вид атаки свой специфический термин, мы назвали её человек в устройстве Man In Device (MID). Далее по тексту буду именно так называть данную атаку.

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

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

Что есть на рынке?


Существуют ли сегодня способы и устройства для нейтрализации атаки Man In Device? Да такие устройства существуют, это пользовательские терминалы класса Trust Screen.

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

С такой установкой 1,5 года назад мы начали мозговой штурм в поисках нового решения угрозы Man In Device.

Вернемся к Алисе и Бобу


Для наглядности найденного решения еще раз возвратимся к модели угрозы с Алисой и Бобом. Итак, Алиса по прежнему держит в одной руке смартфон, неважно какой марки и модели и неважно с какой операционной системой. Назовем его не доверенным устройством. В другой руке Алиса держит некое устройство с цифровой подписью, будем считать, что это сертифицированное доверенное устройство, произведенное по всем канонам информационной безопасности и Бобу не под силу взломать данное устройство Алисы. Но Боб без труда проник в смартфон Алисы и готов реализовать на нем атаку Man In Device.

Вы можете заметить, что пока ситуация ничем не отличается от той, что была описана выше, в которой Боб с легкостью проворачивает мошенничество с подменой документа. Где же решение?
Найденное решение, названное нами эффектом доверенного просмотра не обезвреживает данные атаки, но позволяет гарантированно подтвердить, что на экране смартфона демонстрируется правильный документ. Этот принцип схож с идеей квантовой криптографии в которой канал связи не защищается, но стороны гарантированно могут определить попытку перехвата ключа. Так и в нашей технологии мы не беремся объять необъятное в попытке защитить каналы связи, операционную систему, процессор и т.д., но наше решение способно гарантированно определить факт подмены или изменения электронного документа на любых не доверенных устройствах, будь то смартфон или персональный компьютер.

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

О визуальной криптографии


Один из самых известных методов принадлежит Мони Наору и Ади Шамиру, разработавшим его в 1994 году. Они продемонстрировали графическую схему с разделением секрета, согласно которой изображение было разделено на n частей так, что только человек, имеющий все n частей мог расшифровать изображение, в то время как остальные n-1 части не показали никакой информации об оригинальном изображении.

image
Соединение разделенных секретов позволяет увидеть скрытую информацию


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

здесь спрятано 3 секрета



секретны разделены


Разберем криптосхему алгоритма


Исходный текст состоит из трех черно-белых изображений, каждый пиксель либо 0 прозрачный, либо 1 черный.

При наложении изображений друг на друга пиксели сливаются по следующему принципу:

1) 0 + 0 + 0 = 0
2) 1 + 0 + 0 = 1 или 0 + 1 + 0 = 1 или 0 + 0 + 1 = 1
3) 1 + 1 + 0 = 1 или 1 + 0 + 1 = 1 или 0 + 1 + 1 = 1
4) 1 + 1 + 1 = 1

Таким образом слияние изображений приводит к утрате части информации (строки 2 и 3) что не позволит без ключа восстановить каждое из изображений по отдельности. Так происходит этап шифрования.

Теперь покажу, как сформировать ключ для дешифрования, то есть для обратного разложения картинки на исходные составляющие.

Например, перед нами три фрагмента исходных изображений, накладываемых друг на друга:



Зашифрованный фрагмент изображения содержит пиксели черного и прозрачного цвета и имеет меньший объем информации по сравнению с тремя исходными изображениями.

Чтобы создать ключ дешифрования нужно пробежаться по пикселям черного цвета в каждом фрагменте исходных изображений и сопоставить их в соответствии с координатами.
Полученный ключ будет содержать координаты черных пикселей в зашифрованном изображении и их исходное содержание.

В приведенном примере получится следующий ключ:

a1:110,c2:011,d2:111,b4:010,a5:110,c5:111

где a1 координаты черного пикселя в зашифрованном изображении, а 110 это цвета пикселей с теми же координатами в исходных изображениях.

Данный крипто алгоритм по сути является односторонней функцией с ключом.

О криптостойкости


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



Таким образом в небольшом фрагменте изображения, приведенном в примере, состоящем из 6 пикселей черного цвета существует 6 в 7-й степени или 279 936 вариантов разложения на исходные картинки.

Несложно прикинуть, что если на полноформатном изображении таких пикселей окажется, например, 1000, то количество вариантов составит 1000 в 7-й степени или
1 000 000 000 000 000 000 000 вариантов.

Понятно, что при данной крипто стойкости прямой метод взлома невозможен. Но у потенциального взломщика есть другие методы криптоанализа.

С учетом того, что в последнее время системы распознавания изображений на основе нейросетей сильно шагнули вперед потенциальный злоумышленник вполне мог бы использовать их для распознавания изображения кода подлинности на едином изображении. Однако данный инструмент в данном случае окажется бессильным по трем причинам.
Во-первых, код подлинности выводится в деформированном виде в форме капчи. Причем расположение капчи и угол наклона также имеют случайный характер.

Во-вторых, капча смешана с изображением защитной сетки, имеющей случайный узор и текстом документа.

И в-третьих, времени на попытку распознавания у злоумышленника крайне мало, 1-2 секунды. Именно столько времени должно пройти с момента нажатия кнопки пользователем на доверенном устройстве и появлением изображения на экране не доверенного устройства.


Попробуйте распознать кодовое слово, смешанное с защитной сеткой и частью текста документа

После обесцвечивания защитной сетки


Этот же фрагмент после того, как слой с защитной сеткой частично обесцвечен кодовое слово распознается без труда

Все ли так гладко?


Однако обзор представленной технологии был бы неполным, если не упомянуть о потенциальной лазейке, которую мог бы использовать хакер. Дело в том, что один из трех слоев на едином изображении заранее известен злоумышленнику Бобу это изображение с текстом документа. Естественно, что у Боба также есть изображение и своего документа, которым он собирается подменить документ Алисы. И далее задача Боба может быть значительно упрощена. Зная один из трех секретов в виде слоя с изображением текста можно из единого изображения вычесть маску с изображением данного секрета. В итоге останется изображение, включающее в себя 2 слоя с защитной сеткой и кодом подлинности. После чего полученное изображение смешивается с изображением текста оригинального документа. И все задача взлома решена.

Правда здесь все не так просто: на тех участках, где пиксели текста перемешаны с пикселями защитной сетки и/или кода подлинности после вычитания маски останутся видимые разрывы. Но если оригинальный текст отличается от фальшивого небольшим количеством символов на локальном фрагменте, то после наложения остаточного изображения защитной сетки с кодом подлинности на оригинальный текст данные разрывы на большинстве участков исчезнут и останутся лишь на небольшом фрагменте, где осуществлена подмена. Так что Алиса может и не заметить подмену документа.

Решение


Чтобы не допустить возможность взлома по приведенному сценарию предлагается достаточно простое решение. В доверенном устройстве изображение текста документа предварительно подвергается незначительной деформации с использованием случайных значений. Самый простой способ деформации изменение ширины каждого из 4-х полей каждой страницы документа.

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


плавное обесцвечивание защитной сетки позволяет убедиться, что текст документа при этом не меняется

Для простоты понимания приведен пример с черно-белыми изображениями. Но при определенной модификации алгоритма его можно применить и к цветным изображениям.

Теперь пару слов о роли пользователя в данной технологии. Использование в технологии методов визуальной криптографии подразумевает использование зрения пользователя в качестве основной метрики для оценки отсутствия или наличия атаки Man In Device. По сути речь идет о визуальной валидации, которая выражается в двух последовательных операциях, совершаемых пользователем:

1. сравнении кода подлинности на индикаторе доверенного устройства с кодом подлинности в капче на изображении документа


в качестве доверенного устройства предлагается создать специальную пластиковую карту
с индикатором кода подлинности и кнопками подтвердить и отменить


2. сравнении текста, проявляемого при постепенном уменьшении контрастности слоев с защитной сеткой и кодами подлинности с оригинальным текстом документа

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

Именно визуальная валидация создает конечный эффект доверенного просмотра.

P.S.: В следующей части я постараюсь рассказать о том, с какими проблемами пришлось столкнуться при разработке прототипа, как можно перенести часть сложных вычислений из доверенного устройства на доверенный сервер без ущерба для безопасности и удалось ли нам найти инвестора в проект.
Подробнее..

Обобщённый алгоритм визуальной криптографии

22.12.2020 14:23:50 | Автор: admin
Spoiler

Если нет времени читать все, можно после описания классической схемы сразу перейти к разделу практическое применение визуальной криптографии.

Вступление

Рассмотрим схему визуальной криптографии, предложенную Мони Наору и Ади Шамиром [2, 3]. Основная идея схемы заключается в том, что для передачи секретного изображения генерируются две пластины, каждая по отдельности выглядящая как белый шум и не несущая никакой информации об секретном изображении. Чтобы раскодировать сообщение достаточно наложить две пластины друг на друга. Таким образом, процесс декодирования не требует никакого специального оборудования. Материал взят из статьи Generalized Visual Cryptography Scheme with Completely Random Shares. [1]

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

Термины

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

Каждый пиксель секретного изображения соответствует n x n пикселям, которые образуют плитку. Из плиток формируются базовая и кодировочная пластина. В нашем случае плитка будет размера 2 x 2. Мы будем называть плитку базовой пластины базовой плиткой, а плитку кодировочной пластины - кодировочной плиткой. Базовая пластина генерируется из плиток, выбранных случайным образом. Примеры плиток 2 x 2 со всевозможным сочетанием чёрных и белых пикселей вы можете видеть на рисунке 1.

Рисунок 1: Квадраты 2x2 со всевозможным сочетанием белых и чёрных пикселейРисунок 1: Квадраты 2x2 со всевозможным сочетанием белых и чёрных пикселей

Классическая схема

Рассмотрим процесс генерации кодировочной пластины. Кодировочная плитка берётся равной базовой плитке, соответствующей тому же пикселю секретного изображения, если данный пиксель белый. Если пиксель чёрный, то кодировочная плитка является противоположной к соответствующей базовой плитке. Примеры наложения плиток вы можете видеть на рисунке 2.

Рисунок 2: Демонстрация наложения квадратов при декодировкеРисунок 2: Демонстрация наложения квадратов при декодировке

В схеме Наор-Шамира используются плитки 2 x 2, у которых 2 белых пикселя, 2 чёрных пикселя. Таким образом, при наложении друг на друга плитки, соответствующие чёрному пикселю секретного изображения будут давать чёрный квадрат 2 x 2, а плитки, соответствуюшие белому - квадрат с двумя белыми и двумя чёрными пикселями.

Мы будем демонстрировать наши исследования на примере изображения, показанного на рисунке 3.

Рисунок 3: Секретное изображения, которое будет закодировано через 2 пластиныРисунок 3: Секретное изображения, которое будет закодировано через 2 пластины

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

Раскодированное изображение показано на рисунке 4a. Информация видна с контрастом наполовину меньше чем на оригинальной картинке.

Рисунок 4: (a) классический алгоритм (b) случайный (c) почти случайныйРисунок 4: (a) классический алгоритм (b) случайный (c) почти случайный

Никакая из пластин не содержит секретной информации, так как плитки выбираются случайным образом. Базовые пластины показаны на рисунке 5; кодировочные пластины имеют такой же вид.

Рисунок 5: (a) классический алгоритм (b) случайный (c) почти случайныйРисунок 5: (a) классический алгоритм (b) случайный (c) почти случайный

Легко проверить, что классические пластины не являются случайными в том смысле, что их пиксели не образуют случайную последовательность нулей и единиц. Это происходит, потому что соседние пиксели связаны между собой ограниченным выбором плиток. Так как плаcтины специфичны исходя из метода кодирования, то происходит утечка самого факта кодирования. Далее будет предложен способ это избежать.

Версия со случайными плитками

Наше предложение заключается в том, чтобы для генерации базовой пластины использовать любую плитку из 16 возможных (показаны на рисунке 1). Кодировочная пластина генерируется аналогично, как и в классической схеме. Базовая и кодировочная пластины теперь абсолютно случайны. Базовая пластина случайной версии кодирования показана на рисунке 5b. Также добавим, что как и в случае классического алгоритма, базовая и кодировочная пластины выглядят абсолютно одинаково.

Раскодированное изображение показано на рисунке 4b. В данном случае, появляются ошибки декодирования. Они включают в себя плитки, которые должны содердать белые пиксели, но в соответствующей базовой плитке их недостаточно. В классической схеме в плитке всегда два белых пикселя, поэтому мы возьмём классический вариант как точу отсчёта. Тогда, ошибки появляются, когда не хватает одного или два белых пикселя в базовой плитке. Самая жёсткая ошибка возникает, когда нет ни одного белого пикселя в базовой плитке, и белый пиксель секретного изображения будет раскодирован как чёрный квадрат 2 x 2, тогда как в классическом варианте это был наполовину белый квадрат 2 x 2. Будем называть это -2 ошибкой. Когда не хватает одного белого пикселя: -1. Такая ошибка не очень жёсткая. Также есть ошибки +, когда в базовой плитке три или четыре белых пикселя, то есть в раскодированнм изображении будут плитки с более чем двумя белыми плитками. Это +1 и +2 ошибки. Такие ошибки не очень важные, так как они не ухудшают видимость информации. В случае с чёрным пикселем никаких ошибок не возникает. Ошибки разного типа показаны в Секции Визуализация ошибок.

Версия с почти случайными плитками

Можно осуществить модификацию случайного алгоритма с целью улучшить качество раскодированного сообщения. Чтобы исключить -2 ошибки, нужно не использовать полностью чёрную плитку, обозначенную как 1 на рисунке 1. -1 ошибки могут быть исключены, если не использовать плитки, обозначенные как 2, 3, 5 и 9, но этот случай не будет рассматриваться в данной статье. Оба типа ошибок могут быть решены исходя из следующих возможностей.

  1. Перечисленные плитки могут быть исключены из кодировочных пластин.

  2. Перечисленные плитки будут использованы только для чёрных регионов секретного изображения.

Базовая пластина, созданная по возможности 1 показана на рисунке 5c. Она не содержит чёрных плиток, поэтому её внешний вид менее шероховатый, чем базовая пластина случайного алгоритма, показанная на рисунке 5b. Это делает раскодированное изображение, показанное на рисунке 4c, менее размытым, чем раскодированное с помощью случайного алгоритма, рисунок 4b. Будем называть этот процесс почти-случайное 1 кодирование. В самом деле, как будет показано в Секции Визуализация ошибок, количество ошибок кодирования меньше чем в случайной версии.

Однако оба предложенных принципа имеют серьёзные недостатки. Возможность 1 подразумевает утечку информации о факте кодирования (смотрите Секцию Случайность пластин). Легко проверить, что некоторые типы плиток не используются в пластинах (смотрите рисунок 7).

Возможность 2 должна быть немедленно исключена так как она подразумевает утечку информации в тёмных регионах секретного изображения, что недопустимо. Происходит визуальная утечка информации в кодировочной пластине, показанной на рисунке 6, где тень секретной информации может быть легко замечена. Это вызвано использованием чёрных плиток только в местах, где в секретом изображении чёрный пиксель и базовые плитки белые. Этот эффект может быть исключён, если мы не будем также использовать полностью белую плитку, что мы назовём почти-случайное 2 кодирование. В самом деле, при этом кодировании, кодировочная пластина не открывает секрет, и её внешний вид такой же как и у базовой пластины, показанной на рисунке 5d. Однако, как мы увидим в Секции Случайность пластин, в этом случае пластины также не обладают абсолютно случайными свойствами.

Рисунок 6: тень секретной информации виднаРисунок 6: тень секретной информации видна

Случайность пластин

В классическом алгоритме плитки в базовой пластине выбираются случайно из плиток с ровно двумя белыми пикселями. Очевидно, что в результате этого отдельные пиксели не выбираются случайно, что можно чётко видеть, сравнив пластину классического алгоритма на рисунке 5a, и пластину случайного алгоритма на рисунке 5b, чьи пиксели выбираются случайно. Это наблюдение может быть подтверждено тестами на случайность, например, тест, основанный на числе нулей или единиц в непрерывной последовательности.

Результаты для кодировочной и базовой пластин в классическом, случайном и обоих случаях почти случайных алгоритмах шифрования показаны в таблице 1. Для проведения тестирования, ряды пикселей были составлены из последовательных рядов или столбцов. P-критерий немного разный для этих двух способов. Что наиболее хорошо видно в этой таблице, это то, что пластины только случайного алгоритма могут считаться по настоящему случайными. Только в этом случае факт кодирования скрыт, так же как и сама секретная информация. Это сделано ценой некоторой потери качества декодирования секретного изображения. Это может быть видно на декодированных изображениях на рисунке 4 и на визуализации ошибок на рисунке 8 в Секции Визуализация ошибок. Здесь видно, что эта потеря в допустимом диапазоне, при условии умеренной детализации секретного изображения.

Таблица 1: Результаты тестов на случайность для кодировочных и базовых пластин.Таблица 1: Результаты тестов на случайность для кодировочных и базовых пластин.

Также простой метрикой случайности является доля плиток в разных типах пластин. Доли плиток пластин для изображения на рисунке 7, сгенерированных при разных алгоритмах, показаны соответственно: классический на рисунке 7a, случайный на 7b, почти-случайный 1 на 7c, почти-случайный 2 на 7d.

Рисунок 7: распределение плиток в кодированииРисунок 7: распределение плиток в кодировании

По ним видно, например, что в почти-случайном 1 алгоритме, рисунок 7c, в базовой пластине доли плиток примерно равны 1/15 (не абсолютно точно, так как выборка плиток происходит случайно), кроме отсутствующей плитки номер 1. В кодировочной пластине плитка номер 1 (абсолютно чёрная) присутствует, так как в процессе кодирования некоторые плитки номер 16 (абсолютно белая) в базовой пластине заменяются на противоположные исходя из алгоритма кодирования.

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

Таблица 2: Дисперсия частоты появления плитокТаблица 2: Дисперсия частоты появления плиток

Выборка плиток в базовой пластине может быть произвольной, в то время как кодировочная пластина является функцией от базовой пластины и секретного изображения. Уменьшение числа плиток может быть виден как постепенный, но поэтапный переход от 16 плиток в случайном кодировании до 6 плиток в классическом кодировании. Мы сделали первый шаг, убрав плитку номер 1 в базовой пластине. Этот шаг повлёк негативные результаты, как говорилось ранее. Он привёл к потере симметрии в долях плиток и, что хуже, к утечке информации о секретном изображении.

Простые тесты долей использованных плиток в обоих пластинах открывают факт, что было произведено кодирование, для всех видов кодирования, кроме случайного кодирования. В случае почти-случайного 1 кодирования передаваемая информация может быть легко определена.

Визуализация ошибок

В модифицированной версии кодировочных алгоритмов ошибки декодирования возникают только в белых регионах секретного изображения. Ошибки изображены в таким образом, что те белые пиксели секретного изображения, которые были декодированы отлично от классического декодирования обозначены цветами. -2, -1 ошибки декодирования отображены красным и тёмно-жёлтым , а +1, +2 ошибки декодирования отображены бирюзовым и зелёным соответственно. Визуализация ошибок показана на рисунке 8. (a) - случайный алгоритм, (b) - почти случайный 1, (c) - почти случайный 2.

Рисунок 8: Визуализация ошибок декодированияРисунок 8: Визуализация ошибок декодирования

Ошибки ухудшают декодированное изображение в наибольшей степени в самых мелких деталях, таких как тонкие линии. Клетчатая область с квадратами шириной 1 пиксель не подходит для задач визуальной криптографии и задаёт лимит декодирующей точности.

Развитие идеи

Идеи из данной статьи были развиты в следующих исследованиях.

  • "Случайность пластин в сравнении с качеством декодирования в чёрно-белой визуальной криптографии." [4]

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

  • "Цветная визуальная криптография с полностью случайными кодировочными цветами." [5]

    Резюме: К цветным изображениям применяется концепция визуальной криптографии с двумя полностью случайными пластинами. В классическом кодировании пластины не коррелируют с секретным изображением, но не являются полностью случайными. Мы применяем полностью случайное кодирование, предложенное ранее для случая черно-белых изображений, к цветным изображениям. Это повышает безопасность процесса. Предлагаемый метод имеет свойства, аналогичные свойствам большинства чисто визуальных криптографических методов, включая снижение контрастности и потерю мелких деталей. В процессе декодирования никаких вычислений не требуется, поэтому декодирование может выполняться невооруженным человеческим глазом. Использование полностью случайного кодирования цветов вносит некоторый шум в результаты, но его уровень умеренный. Используется цветовая модель RGB и рассматривается схема криптографии (2, 2).

Практическое применение

  • Визуальная криптография может быть использована для защиты биометрических данных, в которых расшифровка не требует каких-либо сложных вычислений. На эту тему существует исследование "Визуальная криптография для биометрической безопасности". [6]

    Резюме: Сохранение конфиденциальности цифровых биометрических данных (например, изображений лиц), хранящихся в центральной базе данных, приобрело первостепенное значение. В этой работе исследуется возможность использования визуальной криптографии для придания конфиденциальности биометрическим данным, таким как изображения отпечатков пальцев, коды радужной оболочки глаза и изображения лиц. В случае лиц частное изображение лица разделяется на два основных изображения лица (известные как листы), которые хранятся на двух отдельных серверах баз данных, так что частное изображение может быть раскрыто только тогда, когда оба листа доступны одновременно; в то же время отдельные изображения листов не раскрывают идентичность частного изображения.

  • Также интересным является применение визуальной криптографии для детектирования фишинг-аттак (получение доступа к конфиденциальной информации пользователей - логинам и паролям). На это тему есть исследование "Детектирование фишинг-аттак используя визуальную криптографию в ad-hoc сети". [7]

    Резюме: Мобильные специализированные сети (MANET) обеспечивают широкий спектр приложений, таких как помощь при бедствиях, военные приложения, беспроводные сенсорные сети (WSN), образование, увлечение, здравоохранение, коммерческая и гражданская среда. Одно из его важных приложений - это коммерческая и гражданская среда, охватывающая электронную торговлю, автомобильные услуги и сети посетителей в аэропортах. В настоящее время количество фишинговых атак на веб-сайты электронной коммерции растет. В этой статье представлен новый подход к борьбе с фишингом, основанный на визуальной криптографии. Согласно этому подходу пользователь генерирует две доли изображения, используя схему визуальной криптографии (2, 2). Клиент сохраняет первую долю этого изображения, а вторая доля загружается на веб-сайт во время регистрации пользователя. После этого веб-сайт запрашивает другую информацию, например, вторую часть изображения, имя пользователя и пароль. Эти учетные данные конкретного пользователя могут изменяться один раз за один вход. На каждом этапе входа в систему пользователь проверяет легитимность веб-сайта, получая секретную информацию с помощью объединения обоих общих ресурсов. Существует множество подходов, основанных на криптографической технике, но все они страдают от ложного срабатывания уведомления. Однако предлагаемый подход не страдает от ложных срабатываний (FP) уведомления и превосходит все существующие подходы.

Выводы

В классической схеме визуальной криптографии происходит утечка факта кодирования. Этой утечки можно избежать. Была предложена модификация классической схемы Наор-Шамира для визульной криптографии, которая заключалась в том, что в ней пластины являются полностью случайными. Статистические тесты пластин показали их случайный характер, а само кодирование безопасно. Качество декодированного изображения немного хуже чем в классическом случае, однако для секретного изображения с умеренным числом деталей это приемлемо. Существует ряд схем, где используются плитки, начиная с полностью случайных, до пластин классического алгоритма. Во всех из этих алгоритмах, кроме схемы с абсолютно случайными плитками, можно обнаружить факт кодирования. Несмотря на это, было бы интересно исследовать другие алгоритмы визуальной криптографии, пытаясь оптимизировать отношение качества декодирования к секретности процесса передачи информации.

Ссылки

  1. Оригинальная статья: Orowski A., and Chmielewski L. J. "Generalized Visual Cryptography Scheme with Completely Random Shares"

  2. M. Naor and A. Shamir. 1995. Visual Cryptography

  3. M. Naor and A. Shamir. 1997. Visual Cryptography II

  4. Orowski A., and Chmielewski L. J. Randomness of Shares Versus Quality of Secret Reconstruction in Black-and-White Visual Cryptography

  5. Orowski A., and Chmielewski L. J. Color Visual Cryptography with Completely Randomly Coded Colors

  6. Arun Ross, Asem A Othman Visual Cryptography for Biometric Privacy

  7. Vimal Kumar, Rakesh Kumar Detection of phishing attack using visual cryptography in ad hoc network

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru