Шифрованная видеозапись
Задача: Имеется компьютер с WindowsXP и вебкамерой. Необходимо организовать непрерывную запись в формате avi чтобы файл шифровался на лету каким-либо несимметричным алгоритмом. Криптоконтейнеры не подходят по причине того что во время записи файлы могут быть доступны в ОС. Какое программное обеспечение можно применить?
Не уверен возможно ли это в винХР (в линуксе точно можно), однако можно попробовать напрямую перенаправлять вывод с программы, которая управяет вебкамерой, на ввод GnuPG.
Команда должна выглядеть примерно так:
"webcam -prametr | gpg -r 0xXXXXXXXX --encrypt > /home/user/file.asc".
Где "webcam -prametr" – это программа которая выводит изображение на стандартный вывод, 0xXXXXXXXX – id ключа.
Гасколько мне известно, расширение asc – это подписанные файлы, а не зашифрованные. Более уместно там было бы написать расширение gpg.
Во-вторых нечего городить огород там, где это совершенно не нужно. Создаёте криптоФС, с помощью loop-aes (в случае Linux), и пишите вывод программы сразу на криптоФС. Ничего "ещё где-то" не останется, только домашний каталог /home/user тоже должен лежать на криптофс, чтобы логи и настройки программы лежали там же (саму программу можно хранить где угодно).
В winXP замучаешься разбираться кто там куда и что пишет, и опытный спец с большой вероятностью всё же найдёт хоть какой-то из следов что запись реально производилась.
TrueCrypt имеет открытые исходники. Вставьте туда свой несимметричный алгоритм.
А FreeOTFE (тоже ПО с открытыми исходниками) даже имеет возможность подключить свой шифрующий алгоритм в качестве плагина!
Хм... Сочувствую, но асимметричным алгоритмом Вы в принципе подобный поток не зашифруете (дело даже не в чудовищной ресурсоёмкости, сколько в требованиях к открытому тексту). Может Вы всё же имели в виду именно симметричный алгоритм?
p.s: симметричное крипто – это не достаточно круто :) Вот асимметричное – это действительно модно :) И пофиг что асимметричное слабее и нужно только для пересылки симметричных ключей. Кстати, квантовые алгоритмы пошатнут надёжность симметричных алгоритмов или нет? Очень интересно.
Вероятно имеется ввиду обеспечение невозможности расшифровки при дочтупе со стороны к работающей шифрующей системе.
Не "нужно", а подходит. По причинам, названным Sattva.
Боюсь, когда пошатнут, ассиметричные будут уже давно историей.
Я думаю, что мы доживём до этого момента.
"Чтоб жить вам всем в эпоху перемен!"?
"Всё течёт, всё меняется." :)
А вообще, по-моему, serzh в первом комментарии привёл нормальное решение. Важно только, чтобы вебкамерный софт поддерживал направление потока на стандартный вывод.
Кстати, было бы интересно узнать у автора темы, чего он хочет всем этим добиться. Только защиты уже зашифрованных данных от раскрытия? Скажем, как средство аутентификации этот метод не подойдёт.
Рискну предположить, что камера, которую он подключает к портативному ноутбуку (где ещё может стоять WinXP) и скрытно носит с собой для наблюдения.
В случае обнаружения можно вырубить питание и сказать, что закрытый ключ имеется только в центре, который его не выдаст.
Могу предложить такой вариант.
При записи видео с камеры создаются avi файлы по 1 минуте, допустим в формате yymmdd_hhmm.avi Как только предыдущий avi файл закрывается (те начинает писаться новый), он зашифровывается открытым ключем pgp, после зашифровки он стирается.
Конечно, временные avi файлы должны храниться на виртуальном RAMдиске.
Думаю такой алгоритм можно реализовать в винде даже с помошью .cmd файла и pgp для командной строки.
Естественно, на машине должен присутствовать только открытый ключ.
Потом, для просмотра avi файлы можно склеить любым видеоредактором.
Это решение из серии "админовских". ;)
Это хуже, чем предыдущее решение. Файл будет некоторое, хотя и весьма непродолжительное, время не защищен.
Зато реализуется гораздо проще. Незащищён будет лишь кусочек длиной в минуту, а не вся запись. А если хранить временные файлы на RAM-диске, как и было предложено, и находиться рядом с компьютером, то можно его ребутнуть в случае чего и никто не получит даже минутного фрагмента.
А кто вам сказал, что в первом случае вся запись будет незащищенной?
Если в памяти будет висеть троянец, то в вашем случае он в принципе может перехватить _все_ минутные фрагменты.
Если в памяти будет висеть штампованный троянец типа пинча, то у него нет таких возможностей. А если написанный специально под этот случай, то он может и вывод с вебкамеры на себя перенаправить.
А что мешает троянцу успеть открыть файл раньше, чем он будет открыт gpg?
А что мешает троянцу перехватить не файл, а поток данных, ещё до того как он разбивается на минутные фрагменты?
Если он имеет те же права пользователя, что и запущенная программа видеотрансляции и шифрования?
А против какой "угрозы" автор планирует защищаться?
Я предлагал вариант защиты (админовский вариант), когда у вас отнимут ноутер, и будут пытаться посмотреть записи. Действительно, решение самое простореализуемое, тк нарезать запись на куски может любой софт к вэб-камере, а вот "перенаправить вывод" с камеры на pgp в винде я вообще не представляю как сделать (просвятите pls)!
Против троянов защита не рассматривалась, тк это отдельный разговор, и в нормальной системе никаких троянов/руткитов быть не должно по определению, иначе любая защита будет почти бесполезна!