Что такое электронная подпись видео

Хочу рассказать о том, как я придумал электронную цифровую подпись (ЭЦП) видеопотока.

Идея у меня возникла после фразы Чурова про «кино, снятое на квартирах». Несколько лет назад была представлена идея видеонаблюдения за выборами. Дескать, если понаставить видеокамер на избирательных участках, то выборы сразу станут честными и прозрачными… В реальности же получилось строго по-черномырдински — «хотели, как лучше, а получилось, как всегда». Люди смотрели, как сотрудники УИКов бросали в урны для голосования пачки бюллетеней, возмущались, а потом оказалось, что «онлайн к делу не пришьёшь», запросы в хранилище, где якобы должны были храниться официальные видеозаписи того, что происходило на избирательных участках, оказывались напрасными, поскольку «внезапно» оказалось, что эти записи получить невозможно из-за технических сбоев, а «неофициальные» копии отказались признавать.

На грядущих выборах 18 марта ситуация дополнительно усложняется тем, что срок хранения видеозаписей официально сокращён с года до 3 месяцев. Моё мнение заключается в том, что это сделано специально, чтобы сделать выборы неоспоримыми — результаты выборов невозможно будет оспорить даже при наличии вопиющих нарушений, допущенных на выборах. Пока будет рассматриваться заявление в избиркоме, в прокуратуре, в суде первой инстанции и т.д., три месяца пролетят быстро и незаметно, а через 3 месяца после выборов, первичные документы (избирательные бюллетени, собранные с участков в ТИКах) уничтожаются безвозвратно, после чего ничего уже ни доказать, ни опровергнуть нельзя. Я знаю, о чём говорю — я сам участвовал в выборах в качестве наблюдателя на участке и в качестве доверенного лица кандидата в депутаты.

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

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

Хэш-функция вычисляется от документа любого размера, но определённого, а у нас видеопоток в общем случае неопределённой длины. Соответственно, можно подписать каждый отдельный кадр, но тогда у нас от модификации будет защищён каждый конкретный кадр, но последовательность кадров не защищена — можно будет видеозапись отредактировать — что-то вырезать или переставить последовательность кадров или заменить одни кадры другими… Можно нарезать видеопоток на фрагменты определённого размера, скажем, по 15 минут — тогда в этом фрагменте не только все кадры будут защищены от модификации, но и последовательность кадров, но что если интересующее событие попало на границу двух фрагментов? Можно подписать сразу все 24 часа трансляции — но получившийся видеофайл будет огромным, с ним неудобно будет работать.

Читайте также:  Служебное письмо образец заполнения

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

Очевидно, это решение допускает расширение применения — в расчёт ЭЦП можно включить аудиотрек или данные с приёмника ГНСС (глобальной навигационной спутниковой системы) о дате, времени и месте съёмки. Также очевидно, что это решение подходит не только для наблюдения за выборами, но и во всех других случаях, где осуществляется видеозапись — в видеорегистраторах, при осуществлении процессуальных действий или оперативных мероприятий. Причём, по моему мнению, такая видеозапись, снабжённая ЭЦП и геоданными, полученными с приёмника ГНСС, становится более доказательной, чем нотариально заверенное свидетельство.

Я не захотел патентовать эту идею, поэтому я её описал в виде статьи, выкладываю в общий доступ и, как автор идеи, передаю её в public domain для неограниченного использования.

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

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

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

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

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

Читайте также:  Http glavkniga u calculatos otpusk

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

А почему бы не сделать так, чтобы способ шифрования был сразу известен всем, но расшифровать наши данные было бы нельзя без какого-то ключа? Ведь ключ (в отличие от всего алфавита) маленький, его достаточно легко сделать новый, если что (опять же, в отличие от переработки всего алфавита), легко спрятать. Наиболее наглядно плюсы ключевых систем показывает следующий пример: получателю надо прочитать сосланное вами сообщение. Обычное, на бумаге. Допустим, вы используете секретный алфавит. Тогда, чтобы прочитать сообщение, получатель должен знать алфавит, иметь большой пыльный талмуд, в котором описаны способы расшифровки (ведь алфавит должен быть сложным, чтобы быть надежным) и понимать, как же с этим талмудом работать. С ключами же все проще: вы кладете сообщение в коробку с замком, а получателю достаточно просто вставить подходящий ключик, а знать, как же устроен замок ему совершенно но нужно.
Итак, общеизвестные «алфавиты» и ключи — механизм, существенно более удобный, чем просто алфавиты. Но как же так зашифровать, чтобы все расшифровывалось простым ключом? И вот тут нам на помощь приходит математика, а конкретнее – математические функции, которые можно использовать для замены наших исходных символов на новые.

Вспомним же, что такое функция. Это некоторое соотношение, по которому из одного числа можно получить другое. Зная x и подставляя его в известное нам соотношение y=A*x, мы всегда получим значение y. Но ведь, как правило, верно и обратное: зная y, мы можем получить и x.
Как правило, но далеко не всегда. Для многих зависимостей получить y легко, тогда как x – уже очень трудно, и его получение займет продолжительное время. Вот именно на таких зависимостях и базируется используемое сейчас шифрование.

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

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

Асимметричное шифрование поступает несколько хитрее. Здесь и у нас, и у нашего получателя есть уже два ключа, которые называют открытый и закрытый. Закрытый ключ мы и получатель храним у себя (заметьте, каждый хранит только свой ключ, а значит, мы уже выходим за пределы той самой поговорки про двоих знающих), а открытый мы и получатель можем спокойно передавать кому угодно – наш закрытый, секретный, по нему восстановить нельзя. Итого, мы используем открытый ключ получателя для шифрования, а получатель, в свою очередь, использует свой закрытый ключ для расшифровывания. Плюс данного подхода очевиден: мы легко можем начать обмениваться секретной информацией с разными получателями, практически ничем (принимая условие, что наш получатель свой закрытый ключ не потерял/отдал и т.п., то есть не передал его в руки нехорошего человека) не рискуем при передаче информации. Но, без огромного минуса не обойтись. И здесь он в следующем: шифрование и расшифровывание в данном случае идут очень, очень, очень медленно, на два-три порядка медленнее, чем аналогичные операции при симметричном шифровании. Кроме того, ресурсов на это шифрование тратится также значительно больше. Да и сами ключи для данных операций существенно длиннее аналогичных для операций симметричного шифрования, так как требуется максимально обезопасить закрытый ключ от подбора по открытому. А значит, большие объемы информации данным способом шифровать просто невыгодно.

Пример использования асимметричного шифрования [Wikipedia]
e — открытый ключ получателя B
d — закрытый ключ получателя B
m — исходная информация отправителя A
c — зашифрованная исходная информация

Читайте также:  Входит ли обучение в пенсионный стаж

И снова возникает вопрос: что же делать? А делать нужно следующее: взять, и скомбинировать оба способа. Собственно, так мы и получаем комбинированное шифрование. Наш большой объем данных мы зашифруем по первому способу, а чтобы донести ключ, с помощью которого мы их зашифровали, до получателя, мы сам ключ зашифруем по второму способу. Тогда и получим, что хоть асимметричное шифрование и медленное, но объем зашифрованных данных (то есть ключа, на котором зашифрованы большие данные) будет маленьким, а значит расшифровывание пройдет достаточно быстро, и дальше уже в дело вступит более быстрое симметричное шифрование.


Пример применения комбинированной системы [Wikipedia]

Все эти механизмы нашли свое применение на практике, и оба наших больших лагеря PGP и S/MIME их используют. Как говорилось в первой статье, асимметричное шифрование используется для цифровой подписи (а именно, для шифрования нашего хэша). Отличие данного применения от обычного асимметричного шифрования в том, что для шифрования используется наш закрытый ключ, а для расшифровывания достаточно наличие связанного с ним (то есть, тоже нашего) открытого ключа. Поскольку открытый ключ мы не прячем, наш хэш можем прочитать кто угодно, а не только отдельный получатель, что и требуется для цифровой подписи.
Комбинированное же шифрование применяется в обоих стандартах непосредственно для шифрования отправляемых данных.

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

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

Смотреть видео Что такое Электронная Подпись: Как работает ЭП в картинках [Удостоверяющий Центр СКБ Контур] на v4k бесплатно

140 | 20
СКБ Контур | 4 год.

Что такое электронная подпись? Просто и с картинками о том, как работает электронная подпись, вам расскажет эксперт Удостоверяющего Центра СКБ Контур.

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

Какие темы мы затрагиваем в видео:
0:25 Каким законом регулируются электронные подписи
0:36 Как работает электронная подпись и электронная цифровая подпись
0:50 Основы криптографии: как происходит шифрование документов
2:22 Как криптография защищает данные и сохраняет их целостность
4:00 Как происходит шифрование и дешифрование разными ключами
5:23 Ассиметричное шифрование данных
6:14 Как работает электронная подпись
7:20 Роль удостоверяющего центра: создание сертификата электронной подписи, обеспечение безопасности данных
8:33 Как создается электронная подпись в Удостоверяющем центре СКБ Контур

Ссылка на основную публикацию
Займ на карту
close slider

Adblock
detector