Cryptocam позволяет записывать, одновременно шифруя видео и аудио на лету, используя AES-128 и OpenPGP. Cryptocam использует OpenKeychain для шифрования записанного видео без сохранения незашифрованных данных в хранилище устройства.
Использование OpenPGP только с открытым ключом (ключами), хранящимся на устройстве, означает, что записи не могут быть расшифрованы на телефоне ни вами, ни злоумышленником ни при каких обстоятельствах, что полезно в случаях когда злодеи завладеют вашим устройством
Как это устроено
Cryptocam использует функциональность MP4-CENC ffmpeg / libav для шифрования видео и аудио на уровне выборки с использованием AES-128. Ключ AES создается для каждой записи и зашифровывается через OpenPGP вместе с другими метаданными перед записью на диск. Cryptocam использует OpenKeychain для шифрования с использованием OpenPGP для гибкого управления ключами и проверенной реализации OpenPGP.
Использование OpenPGP только с открытым ключом (ключами), хранящимся на устройстве, означает, что записи не могут быть расшифрованы на телефоне ни вами, ни злоумышленником ни при каких обстоятельствах.
Как это использовать
Настроить:
- Установите OpenKeychain на свое устройство
- Импортируйте один или несколько открытых ключей в OpenKeychain
- Следуйте настройкам в Cryptocam, чтобы установить ключ (и), который вы хотите использовать для шифрования.
- Создайте папку и установите ее в качестве места вывода, где будут храниться записи
Перед использованием Cryptocam выберите желаемые настройки камеры (разрешение и частоту кадров) и проверьте, действительно ли они работают.
Не все конфигурации поддерживаются всеми устройствами, поэтому, если вы выберете ту, которую ваше устройство не поддерживает, Cryptocam вернется к предпочтительным конфигурациям ваших устройств. Так что, если вы не хотите удивляться видео 1200 x 1200 при 15 кадрах в секунду, проверьте его перед использованием!
Пока что эти устройства были протестированы:
- Samsung Galaxy S9: до 1920x1080 при 60 кадрах в секунду. Нет 4K
- Google Pixel 2XL: до 1920x1080 при 60 кадрах в секунду. Нет 4K
- LG G6: до 1920x1080 при 60 кадрах в секунду. Нет 4K
Пожалуйста, поделитесь своими результатами на своем устройстве!
Расшифровка видео
Расшифровка проверена только в Linux. Хотя, вероятно, он работает и на MacOS.
Клон скрипт компаньона и следуйте инструкциям в README.md.
Перенесите каталог, в котором хранятся видео, на ваш компьютер и cd
туда, где вы клонировали сопутствующий скрипт. Затем запустите:
./decrypt.sh /path/to/my/cryptocam/videos/* --destination /desired/destination
Здание
Перед сборкой приложения его ffmpeg
необходимо загрузить и скомпилировать. Полную сборку можно запустить с помощью ./complete_build.sh
. Последующие сборки можно запускать через Android Studio или Gradle.
Содействие
Пожалуйста, протестируйте его на своих доступных устройствах и поделитесь результатами. Создайте проблему или отправьте мне электронное письмо по адресу [email protected], чтобы объяснить, что работает, а что не работает.
Если вы разбираетесь в видео и ffmpeg, пожалуйста, ознакомьтесь с реализацией мультиплексирования видео / аудио в Cryptocam и улучшите ее. Это работает, но видео и аудио иногда не синхронизируются, и мне не хватает опыта, чтобы это исправить.