Как защитить медиа-контент (видео, аудио) на Android от сохранения / распространения? - PullRequest
14 голосов
/ 02 октября 2011

Какие возможности существуют у обычных разработчиков приложений (я имею в виду, что вы не компания, производящая контент на миллион долларов или поставщик каналов распространения, а обычная небольшая компания по разработке приложений) для защиты видео / аудио контента для приложения от сохранения / распространения. Я упоминаю «обычного разработчика», потому что я видел в коде ядра Android, что Sony добавила в него некоторые части кода, в пакеты DRM. Давайте предположим, что мы не настолько сильны, чтобы говорить с Google, чтобы включить такие в свой основной код.

Существуют ли реально безопасные способы защиты видео / аудио (как части приложения) на Android.

Допущения (поправьте меня, если я ошибаюсь):

  • устройства могут быть привязаны к пользователям, необходимо знать об этом
  • обнаружение, является ли устройство рутованным или нет (в приложении), на самом деле невозможно на Android, так как суперпользователь может подделать любое состояние устройства.
  • мы не можем модифицировать какое-либо оборудование или систему пользователя (то есть: мы не связываем наш продукт приложения с устройством, приложение должно быть доступно как «обычное» приложение в App Market для загрузки)
  • мультимедийные файлы / поток могут находиться локально на устройстве или поступать удаленно с сервера, оба в порядке

Я довольно много исследовал эту тему, много гуглил, перебрал (надеюсь) все связанные с этим вопросы здесь, на SO, я поговорил с одним провайдером DRM (с которым действительно трудно связаться как небольшой компании или внештатный разработчик, или, по крайней мере, чтобы получить некоторую реальную актуальную информацию, технические документы и детали).

Я рассматривал DRM как один из подходов, но «безопасность за неизвестностью», похоже, не очень хороший способ. Кроме того, я не нашел никакой информации или реальных решений / API для постоянных разработчиков.

Шифрование с открытым ключом было другой идеей, но где действительно безопасно хранить закрытый ключ? Кроме того, я предполагаю, что в таком случае вся медиа-структура и проигрыватель должны быть переписаны, чтобы передать защищенный видеопоток на проигрыватель. Или я ошибаюсь?

Я хотел бы узнать мнение других опытных разработчиков в этой области, поскольку действительно сложно найти информацию о защите медиа-контента для Android где-либо.

Обновление:

В контексте моего вопроса я нашел этот Вопрос и его обновление интересным: Потоковая передача на Android MediaPlayer

Ответы [ 2 ]

10 голосов

Существуют ли реально безопасные способы защиты видео / аудио (как части приложения) на Android.

Если под «безопасным» вы подразумеваете «полностью защищенный», то нет. См. Аналоговое отверстие .

определение, является ли устройство рутованным или нет (в приложении), на самом деле невозможно на Android

И нигде это невозможно. законы вселенной делают невозможным обнаружение такой вещи (хорошо, возможно, вы могли бы использовать квантовую физику для этого, но даже тогда я не уверен), вы можете только добавить код для обнаружения известных методов, все из которых тривиальны обойти.

Шифрование с открытым ключом было другой идеей, но где действительно безопасно хранить закрытый ключ?

Хранить его негде безопасно. Подумайте об этом, вы хотите зашифровать контент и дать пользователю ключ для его дешифрования (чтобы он мог его смотреть), но вы не хотите, чтобы он мог его дешифровать (поэтому он не может его скопировать). Это противоречие.

Максимум, что вы можете сделать - это зашифровать ваш поток, чтобы пользователь не мог просто перехватить его и использовать. Затем запутайте код, который декодирует / воспроизводит поток. Однако, осуществляя это, вы рискуете внести больше ошибок (и ухудшить производительность), что ухудшит восприятие законного пользователя. Если вы решите не свернуть свою собственную обфускацию и использовать какой-то автоматический продукт обфускатера, уже доступный какой-либо крупной компании, он уже будет взломан, и для человека, который едва знает, что он делает, будет очень легко взломать ваш продукт в небольшой компании. количество времени. Пока ваш продукт станет популярным удаленно, один человек собирается взломать его и загрузить все видео в торрент, тогда каждый сможет скопировать ваш продукт, не выполняя никакой работы.

0 голосов
/ 02 октября 2011

Я не думаю, что есть решение для защиты медиа-контента в приложениях от кражи.DRM, конечно, не подходит для обычного разработчика.Я также не понимаю, почему открытый ключ может помочь.

...