Какие возможности существуют у обычных разработчиков приложений (я имею в виду, что вы не компания, производящая контент на миллион долларов или поставщик каналов распространения, а обычная небольшая компания по разработке приложений) для защиты видео / аудио контента для приложения от сохранения / распространения.
Я упоминаю «обычного разработчика», потому что я видел в коде ядра Android, что Sony добавила в него некоторые части кода, в пакеты DRM. Давайте предположим, что мы не настолько сильны, чтобы говорить с Google, чтобы включить такие в свой основной код.
Существуют ли реально безопасные способы защиты видео / аудио (как части приложения) на Android.
Допущения (поправьте меня, если я ошибаюсь):
- устройства могут быть привязаны к пользователям, необходимо знать об этом
- обнаружение, является ли устройство рутованным или нет (в приложении), на самом деле невозможно на Android, так как суперпользователь может подделать любое состояние устройства.
- мы не можем модифицировать какое-либо оборудование или систему пользователя (то есть: мы не связываем наш продукт приложения с устройством, приложение должно быть доступно как «обычное» приложение в App Market для загрузки)
- мультимедийные файлы / поток могут находиться локально на устройстве или поступать удаленно с сервера, оба в порядке
Я довольно много исследовал эту тему, много гуглил, перебрал (надеюсь) все связанные с этим вопросы здесь, на SO, я поговорил с одним провайдером DRM (с которым действительно трудно связаться как небольшой компании или внештатный разработчик, или, по крайней мере, чтобы получить некоторую реальную актуальную информацию, технические документы и детали).
Я рассматривал DRM как один из подходов, но «безопасность за неизвестностью», похоже, не очень хороший способ. Кроме того, я не нашел никакой информации или реальных решений / API для постоянных разработчиков.
Шифрование с открытым ключом было другой идеей, но где действительно безопасно хранить закрытый ключ? Кроме того, я предполагаю, что в таком случае вся медиа-структура и проигрыватель должны быть переписаны, чтобы передать защищенный видеопоток на проигрыватель. Или я ошибаюсь?
Я хотел бы узнать мнение других опытных разработчиков в этой области, поскольку действительно сложно найти информацию о защите медиа-контента для Android где-либо.
Обновление:
В контексте моего вопроса я нашел этот Вопрос и его обновление интересным: Потоковая передача на Android MediaPlayer