Я хочу рассказать о том, как я придумал электронную цифровую подпись (ЭЦП) видеопотока.
Идея пришла ко мне после фразы Чурова о «фильмах, снятых в квартирах».
Несколько лет назад была представлена идея видеонаблюдения за выборами.
Говорят, если на избирательных участках установить видеокамеры, выборы сразу станут честными и прозрачными.
На деле получилось строго по-черномырдински - "хотели как лучше, а получилось как всегда".
Люди наблюдали, как сотрудники УИК бросали стопки бюллетеней в урны, возмущались, а потом выяснилось, что «онлайн к делу неприменим», обратились в хранилище, где размещены официальные видеозаписи происходящего на избирательном участке.
избирательные участки якобы должны были храниться, оказалось напрасным, поскольку «вдруг» выяснилось, что эти записи невозможно получить из-за технических сбоев, а «неофициальные» копии отказались признавать.
На предстоящих выборах 18 марта ситуация еще больше осложняется тем, что срок хранения видеозаписей официально сокращен с года до 3 месяцев.
Мое мнение, что это сделано специально для того, чтобы сделать выборы неоспоримыми - результаты выборов будет невозможно оспорить, даже если в ходе выборов будут допущены грубые нарушения.
Пока заявление рассматривается избирательной комиссией, прокуратурой, судом первой инстанции и т. д., три месяца пролетят быстро и незаметно, а 3 месяца после выборов - первичные документы (бюллетени, собранные на избирательных участках в г.
ТИК) уничтожаются безвозвратно, после чего ничего нельзя доказать или опровергнуть.
Я знаю о чем говорю - сам участвовал в выборах как наблюдатель на избирательном участке и как доверенное лицо кандидата в депутаты.
Что делать? Я долго искал решение и наконец нашел - электронно-цифровая подпись видеопотока! Такую постановку вопроса я даже не встречал ни в одной книге или статье по прикладной криптографии, хотя читал их немало.
Проблема в том, что обычно документ определенного размера защищается электронно-цифровой подписью.
Для тех, кто не знает, что такое ЦП, небольшое пояснение.
Есть такая тема — криптография с открытым ключом.
В отличие от симметричной криптографии, где для шифрования и дешифрования информации используется один и тот же ключ, здесь используются два ключа, образующие пару — публичный и секретный.
То, что зашифровано с помощью закрытого ключа, можно расшифровать с помощью открытого ключа, и, наоборот, то, что зашифровано с помощью открытого ключа, можно расшифровать с помощью связанного с ним секретного ключа.
Например, один человек хочет отправить другому сообщение.
Он шифрует его с помощью открытого ключа получателя и уверен, что никто, кроме получателя, обладающего соответствующим секретным ключом, не сможет его расшифровать и прочитать.
Но чтобы убедить получателя в том, что отправитель является автором сообщения, он может взять сообщение, зашифровать его своим секретным ключом и отправить результат вместе с письмом.
Адресат может взять открытый ключ отправителя, расшифровать с его помощью приложение, сравнить его с письмом и убедиться одновременно в двух вещах - во-первых, что письмо не было модифицировано и дошло до адресата в неизменном виде, во-вторых, что оно был отправлен отправителем, у которого был соответствующий секретный ключ.
Это электронная цифровая подпись.
Я говорю это упрощенно; на самом деле есть много нюансов.
Например, секретным ключом шифруется не само сообщение, а значение криптографической хэш-функции сообщения.
Хэш-функция вычисляется из документа любого размера, кроме определенного, а наш видеопоток вообще имеет неопределенную длину.
Соответственно, мы можем подписать каждый отдельный кадр, но тогда каждый конкретный кадр будет защищен от изменения, но последовательность кадров не защищена - можно будет редактировать видеозапись - что-то вырезать или переставлять последовательность кадров или заменять.
одни кадры с другими.
Можно видеопоток разрезать на фрагменты определенного размера, скажем, по 15 минут - тогда в этом фрагменте не только все кадры будут защищены от модификации, но и последовательность кадров, а что если интересующее событие попадает на границу двух фрагментов? Можно подписать сразу все 24 часа трансляции — но полученный видеофайл будет огромным и с ним будет неудобно работать.
Решение, которое я придумал, оказалось на удивление простым и очевидным — подписывать покадрово, но при вычислении подписи включать хеш не только от текущего кадра, но и от предыдущего.
Таким образом мы защищаем от модификации не только каждый кадр, но и последовательность кадров.
В результате мы можем быть уверены, что нам показывают не «кино, снятое в квартирах», а видеопоток, подписанный ключом избирательной комиссии, при этом мы можем сохранить любой интересующий нас эпизод, и в этом фрагменте все свойства электронной цифровой подписи сохраняются - мы можем легко проверить, что каждый кадр не был изменен, а также не изменилась последовательность кадров, при этом подтвердив, что данная видеозапись подписана секретным ключом избирательной комиссии, т.е.
избирательная комиссия не сможет отказать в его подписи.
Очевидно, что такое решение позволяет расширить применение – в расчет ЦП можно включить звуковую дорожку или данные приемника ГНСС (глобальной навигационной спутниковой системы) о дате, времени и месте съемки.
Также очевидно, что данное решение подходит не только для наблюдения за выборами, но и во всех других случаях, когда осуществляется видеозапись – в видеорегистраторах, во время процессуальных действий или оперативных мероприятий.
Более того, на мой взгляд, такая видеозапись, оснащенная ЦП и геоданными, полученными от приемника ГНСС, становится более убедительной, чем нотариально заверенная справка.
Патентовать эту идею мне не хотелось, поэтому я описал ее в виде статьи, выложил в открытый доступ и как автор идеи передал в общественное достояние для неограниченного использования.
Теги: #Работа с видео #видео #ЭЦП
-
«Мы Не Делим Агентства По Размерам»
19 Oct, 24 -
Objective-J, Технологии Macos В Сети
19 Oct, 24 -
Три Кита Успеха
19 Oct, 24 -
Увольнение 2.0
19 Oct, 24 -
Стек Протоколов Для Интернета Вещей
19 Oct, 24 -
Linq-Подобный Синтаксис Для Нокаута
19 Oct, 24