Комментарии 56
потеря цифровой подписи должна наказываться сильнее чем среднее преступленее, которое может быть с нею совершено
— Украли одну камеру и выдрали из прошивки ее закрытый ключ (ну да — работа по реверсингу та еще)
— там же какая то система корневых сертификатов и так далее? Значит товарищи из <цензура> которые нам совсем не товарищи — украли корневой/один из промежуточных ключей (ради интереса — можно даже реально дать комп/HSM с ним украсть и героическими усилиями правоохранительных органов — «спасти», после того как он побывал некоторое время неизвестно где)
И кстати вопрос а как у камер часы синхронизируются? По (S)NTP? Имитируется на раз. По GPS/GLONASS? Если у нас (или те кто говорят что подделка- говорят что он у нас есть) уже имитатор сигнала есть…
По хорошему, если мы реально заинтересованы в видеодоказательствах — это должен быть международный проект. И систему для России надо заказывать в США, а экспертизу просить провести — АНБ. А для США — наоборот. Железо — разное. И весь софт (ну разве что кроме Linux'а базового да и то если есть вариант).
Даже напрягаться с придумыванием не станут — просто не будет никаких подписей видео :)
Один из первых результатов в гугле, FIG.7
ЭЦП с открытым ключом для обозначенной мною задачи подходит. Прямо в процессе видеотрансляции можно проверить, что поток идёт с подписью ЦИКа. А если будут замечены какие-либо нарушения, то эпизод с нарушениями можно сохранить и предъявить, при этом ЭЦП с открытым ключом предоставляет свойство non-repudiation (невозможность отречения от авторства).
В системах с несимметричным ключом секретный (закрытый) ключ присутствует — им подписывают/шифруют, а вот проверяют подпись/расшифровывают открытым ключом, поэтому (если смотреть на обозначенный мной рисунок) все соответствует вашей задаче, а уж какое криптографическое ядро использовать — дело десятое.
но зачем нам шифрованные видео, если и так в предыдущий раз все транслировали, и все видели как пачки по 90 листов летели в урну.
И тут речь не про шифрованные видео, а про электронную цифровую подпись видео. Одно из свойств ЭЦП — non-repudiation (невозможность отказа от авторства).
Таким образом мы защищаем не только каждый кадр от модификации, но и последовательность кадров.
А не проще в каждый кадр ставить время и сквозную нумерацию кадров?
Так можно выдернуть из потока любой фрагмент и потом точно понимать откуда он и при необходимости состыковывать с другими фрагментами.
А как видится реализайия на практике?
1 Все камеры наблюдения специализированны с криптозащитой от ЦИК и возможностью записи на внешние источники.
2 Все желающие(или допущенные), могут подлючать/отключают свои носители(флешки), на которые потоком пишется видео с момента вставки.
3 Проверка осуществляется как централизованно, так и обычным отключением носителя и проигрыванием данных в программе позволяющей проверить как миди потоки так и валидность ключа.
Кто знает как можно отключить носитель без потери открытых фалов? Или файлы должны быть по 1-5 мин?
У кого есть более простое решение?
2. Нет. Никто и близко к камере не подходит, чтобы ЦИК потом не сказал, что из камеры симку с секретным ключом спёрли. Там, конечно, можно сделать так, что для того, чтобы добраться до симки, нужно при помощи отвёртки вскрывать корпус, а корпус можно опломбировать, но даже при всех этих ухищрениях, пусть лучше во время трансляции никто к видеокамере и не подходит. Незачем.
3. Нет. Проверка проверяется любым, кто смотрит видеопоток. На сайте ЦИКа должна быть опубликована база данных публичных ключей каждой камеры с соответствующими сертификатами. Программа, которой просматривают видеопоток (и, возможно, сохраняют копию) по публичному ключу, полученному из публичной БД ЦИКа, аутентифицирует видеопоток. В идеале программа должна быть с открытым исходным кодом.
С другой стороны, если какой-то кадр теряется, то теряется непрерывность эпизода — будет очень тяжело объяснять, почему в представленном эпизоде нет непрерывности кадров, возникают очень неприятные вопросы на тему, кто и с какой целью удалил кадры из потока, и вообще, нет ли тут видеомонтажа. Если поток непрерывный, то вопросов нет, а вот если поток прерывается из-за пропущенных кадров — ну да, проблема…
Прекрасный сюжет! Да, тут криптография будет бессильна. С одной стороны, на участке есть наблюдатели, которые имеют право заходить во все помещения участка. С другой стороны, ничто не мешает ЦИКу разместить камеры видеонаблюдения вообще вне участка где-то «на квартирах» и транслировать подписанную картинку, где всё чинно и благолепно. Ну тут могу предложить только организационную меру. На участках непосредственно перед открытием участков для голосования наблюдателям демонстрируют пустые урны для голосования, демонстрируют исправное функционирование КОИБов, и опечатывают урны. Нужно прописать в ФЗ-67 «Об основных гарантиях избирательных прав...», что в списке этих процедур, совершаемых перед открытием участка, наравне с опломбировкой урн, также наблюдатели контролируют изображение с камеры, что это не муляж, убеждаются, что в неё установили симку с ключом ЭЦП, опечатали пломбой, как урну, проверили, что ключ ЭЦП именно избиркомовский, внесён в базу данных, имеет действительный сертификат публичного ключа ЭЦП…
В частности:
The basic idea of our solution is to divide the stream into blocks and embed some authentication
information in the stream itself. The authentication information of the ith block will be used to authenticate
the (i + 1)st block. This way the signer needs to sign just the first block and then the properties of
this single signature will “propagate” to the rest of the stream through the authentication information
Это придумано давно и называется "блокчейн".
Я в курсе нескольких судебных исков по части выборов. Общий сценарий такой. Избирком допускает какое-то нарушение. Подаём иск в районный суд. Районный суд принимает неправосудное решение, поддерживая избирком. Оспариваем в областном суде. Областной суд поддерживает решение районного. Оспариваем в Верховном Суде. Верховный Суд сначала артачится, дескать, исковая давность прокисла. Подаём иск о восстановлении срока исковой давности. Верховный Суд срок восстанавливает и принимает иск к рассмотрению. Верховный Суд отменяет решения районного и областного судов. Только никто никакой ответственности не несёт, да и времени уже с момента выборов прошло уже больше года, никто ничего отменять уже не будет, никаких мандатов ни у кого отбирать не будет, никаких новых выборов назначать не собирается, и заставлять их делать по суду — как раз к следующим выборам, может быть, успеем…
Реформа судебной системы несколько выходит за рамки того, что я согласен обсуждать тут. Поэтому отвечу так: да, идея ЭЦП видеопотока никак не вылечит нашу судебную систему, но это и не её задача, тем не менее, идея ЭЦП видеопотока будет полезной даже с учётом волокиты нашего российского суда, поскольку позволяет сохранить в безопасности от ЦИКа копию видеозаписи с нарушениями и предъявить её, сохраняя её доказательную силу.
То, что зашифровано на секретном ключе, может быть расшифровано, используя публичный ключ, и, наоборот, то, что зашифровано на публичном ключе, может быть расшифровано при помощи парного к нему секретного ключа.— вы уверены в такой формулировке? Чем же она тогда отличается от симметричного шифрования?
— У кого есть вопросы?
Один студент руку тянет:
— Профессор, в последнем утверждении я не понял, как вы пришли к такому выводу…
— Это утверждение, а не вопрос. У кого есть вопросы?
Иллюстрация тут: ru.wikipedia.org/wiki/RSA#%D0%A6%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%8C
Формулировка немного неполная, меня она не так давно тоже поставила в тупик. Полная выглядит так: зашифрованное закрытым ключом можно расшифровать только открытым, и наоборот — зашифрованное открытым ключом можно расшифровать только закрытым.
Хотите отправить получателю зашифрованное письмо — берете открытый ключ этого пользователя и им шифруете, теперь расшифровать его сможет только этот получатель своим закрытым ключом.
С цифровой подписью наоборот — автор документа шифрует своим закрытым ключом, например, вычисленный хэш документа и выкладывает этот документ с полученной подписью подписью. Теперь любой может открытым ключом автора расшифровать эту подпись и полученный хэш сравнить с вычисленным самостоятельно. Если они совпали, значит: 1) документ не изменен 2) подпись принадлежит автору документа
То есть последовательность видеокадров — это блокчейн.
Криптовалютчики достаточно сильно разработали разные подходы к блокчейну.
Это и подписи Шнорра и всякие другие модные штучки.
То есть, если нужна определенная гарантия что видео не будет скомпрометировано в будущем, нужно:
— независимый timestamp-service, который будет выдавать подписанный случайный токен на каждый новый стрим (начало трансляции);
— подписывать каждый кадр (дельту), включая как составляющий элемент хэша вышезапрошенный токен (ну и хэш предыдущего, конечно);
— по окончании стрима (или его прерывании) просить очередной токен и вставлять его в последний кадр.
Таким образом, мы получим стрим, который будет практически невозможно подделать даже если приватный ключ источника будет скомпрометирован. Разумеется, исходя из предположения что timestamp-service не может быть скомпрометирован, но это намного сложнее сделать (хотя в теории, конечно, возможно). Тут, правда, есть потенциал DoS — если timestamp-service будет недоступен — это как раз легко устроить, но дальнейшие меры снижают риски.
Можно пойти дальше и включать в каждый новый стрим подписанный хэш предыдущего (с одного источника), таким образом ещё больше усложняя задачу любителям переписывать историю.
Ну и наконец, вбиваем очередной гвоздь, обязывая всех стримеров публиковать подписанный хэш каждого завершенного стрима в нескольких печатных (да, бумажных) изданиях в текстовом виде + qr-code — всё, у дотошных журналистов и прочих детективов есть всё необходимое чтобы доказать подлинность (или наоборот) любого опубликованного стрима, и даже судам будет сложно сопротивляться — если, разумеется, они вообще признают цифровую подпись стрима.
PS: Это, разумеется, только общий обзор — дьяволов в деталях достаточно :)
PS: Это, разумеется, только общий обзор — дьяволов в деталях достаточно :)
Вот с этим утверждением соглашусь. :) А чтобы не плодить дьяволов в деталях, подскажу, как правильно подходить к придумыванию криптографических протоколов. Есть такая замечательная штука — BAN-логика. dic.academic.ru/dic.nsf/ruwiki/1350500 Позволяет в очень ясной форме записать криптографический протокол и проанализировать его. Особое внимание уделите «верификации»!
Если приватный ключ скомпрометирован, то никакие «независимые timestamp-сервисы» просто не помогут.
Вообще-то помогут — пока не скомпрометированы. Если добавить чуть-чуть деталей. Но это уже совсем другая история, заслуживающая отдельной статьи. За ссылку спасибо, но для меня это уже давно пройденный этап :)
Ну и как этот способ поможет обывателю? Вот есть у меня видеорегистратор в авто, и есть телефон в руках.
Мои действия, после того, как я хочу как-то сохранить фото или видео для суда в качестве 100% доказательства?
ЭЦП видеопотока