Есть ли решение DRM с открытым исходным кодом?
Существует ли какая-либо открытая, хорошо документированная и используемая среда / библиотека DRM?
Я хочу написать какую-то платформу для покупки и продажи цифровых материалов, где я хочу каким-то образом реализовать для продавца возможность блокировки файлов с помощью какого-либо типа DRM, где его могут открыть только авторизованные компьютеры (что-то как iTunes FairPlay).
Это может и, вероятно, должно включать в себя обращение к моему серверу с некоторыми учетными данными для входа.
С другой стороны, я хочу, чтобы клиент был с открытым исходным кодом, и, возможно, сервер тоже.. это вообще возможно? Безопасность через неизвестность не работает, но DRM не совсем "безопасность"...
Все, что мне удалось найти, - это обсуждение slashdot с точно такой же проблемой, но оно закончилось "DRM IS BAD" и проектом Sun DReaM, но я понятия не имею, как добраться до реального кода / использования инфраструктуры на их сайт.
Если вы считаете, что DRM с открытым исходным кодом невозможна, скажите мне об этом.
6 ответов
Это претендует на то, чтобы быть реализацией с открытым исходным кодом OMA DRM2. Я предполагаю, что он содержит программные компоненты, необходимые для построения сервера и клиента, оставляя аппаратное обеспечение в качестве упражнения для читателя:
http://sourceforge.net/projects/openipmp
Лицензия MPL, которая не совместима с GPL лицензией FOSS.
У меня нет опыта этой реализации, но немного о OMA DRM, и в то время она казалась работоспособной схемой DRM, так же как любая схема DRM работоспособна. Стандарт OMA DRM хорошо документирован и широко используется (или, по крайней мере, широко используется) в индустрии мобильных телефонов.
Основная проблема с DRM с открытым исходным кодом состоит в том, что, хотя все алгоритмы и исходный код могут публиковаться без ущерба для схемы, клиентские устройства должны быть "доверенными" эмитентом прав для соблюдения прав, то есть не делать ничего запрещенного. Это несовместимо с FOSS, в котором говорится, что пользователь устройства должен иметь полный контроль над тем, что оно делает.
Безопасность через неизвестность не работает, но DRM не совсем "безопасность"
Безопасность из-за неясности алгоритмов обычно слабая. Безопасность посредством секретности информации - единственный способ сделать шифрование, подписывание и т. Д. DRM не требует незаметности алгоритмов (именно поэтому OMA DRM является опубликованным стандартом, и почему источник для реализации может быть опубликован и доступен для свободного использования), но для этого требуется, чтобы устройство проигрывателя имело доступ к информации (своего рода ключу), которой нет у пользователя устройства и которая не является частью алгоритма / источника.
Как правило, безопасность защищает владельца / пользователя устройства от модели угроз внешних злоумышленников. В модели угроз DRM владелец / пользователь устройства является злоумышленником, а правообладатель защищается. Если пользователь устройства имеет полный контроль над ним, то, в принципе, игра окончена.
На практике это может быть не так уж и быстро, но в случае с открытым исходным кодом, позволяя людям писать свои собственные клиенты DRM, которые мешают им копировать ваши защищенные данные, будет требовать от них поразительной честности.
Иногда можно убедить пользователей быть законопослушными, и в этом случае DRM берет на себя роль напоминания им, что если они прыгают через обручи, чтобы обойти ограничения, то они могут нарушать закон.
DRM с открытым исходным кодом практически невозможно.
Суть DRM состоит в том, чтобы предотвратить дешифрование пользователем некоторых данных, в то же время позволяя ему делать это при некоторых обстоятельствах. Теоретическая структура шифрования делает это абсурдом - как пользователь может иметь ключ для дешифрования только некоторых данных, если он использует их для утвержденных целей?
Решение, принятое существующими системами DRM, состоит в том, чтобы пойти на нелепые меры, чтобы скрыть ключ - прекрасный пример защиты от неясности, - но если исходный код доступен, то просто изменить код, чтобы передать ключ пользователю. На этом этапе не имеет значения, насколько хорошо ваше шифрование, у пользователя есть все, что нужно для его взлома.
Одним из решений всего этого является использование доверенного платформенного модуля на некоторых машинах для проверки двоичного образа всего программного обеспечения, которое может иметь доступ к ключу, и обеспечения того, что сам ключ недоступен (зашифрован ключом, полученным с помощью записанного секретного ключа). -хардверная стоимость). Однако я не уверен, насколько распространены TPM, и, кроме того, это в значительной степени побеждает точку соприкосновения программного обеспечения с открытым исходным кодом, так как вы не сможете изменить его каким-либо образом без потери доступа к ключам DRM.
Наконец, с более практической точки зрения, DRM, похоже, все еще находится на выходе - например, iTunes полностью избавился от DRM, и киноиндустрия, похоже, тоже движется в этом направлении...
Для решения DRM с открытым исходным кодом, скорее всего, будет трещина с открытым исходным кодом.
Многие DRM-решения на самом деле работают по принципу "безопасность за неясностью". То есть некоторые из них еще не сломаны, потому что их модели хранятся в секрете Даже это не мешает сломать основную систему DRM.
DRM не работает, потому что он опирается на принцип "безопасность за неизвестностью".
Есть и другие решения, такие как водяные знаки.
Когда вы продаете что-то клиенту, вы помечаете это водяным знаком с именем клиента. Если вы найдете этот водяной знак в сети общего доступа, вы будете знать, где находится утечка. Если клиент узнает, что есть водяные знаки (я думаю, что будет честнее предупредить его), он, вероятно, не поделится.
Я вообще против DRM. Тем не менее, я видел одну реализацию DRM, которую я мог поддерживать, и она использовала информацию о кредитной карте пользователя в качестве ключа расшифровки. Несмотря на то, что он не является надежным, он, по крайней мере, имеет то преимущество, что использует информацию, которую пользователь ХОЧЕТ хранить в секрете. (По крайней мере, в теории.) Это было все еще портативно между моими собственными устройствами. Однако при наличии такого видимого ключа и устройства чтения с открытым исходным кодом существует вероятность того, что пользователь сможет сохранить и скопировать дешифрованные данные, что делает спор DRM.
Стоит отметить, что это зависит от того, какой контент вы хотите защитить. Если вы хотите защитить контент, которым вы владеете, и убытки, если утечка контента не является разрушительной, вы можете, например, взглянуть на ранее упомянутый Open IPMP. Проект Suns DReaM по-прежнему доступен онлайн, однако стоит отметить, что проект закрыт из-за бездействия. Проблема возникает, когда вы хотите защитить контент, который вам не принадлежит. Вполне возможно, что владельцы контента не позволят защитить их контент с помощью drm-решения с открытым исходным кодом. Владельцы контента обычно используют собственные решения, такие как Microsoft WMDRM/PlayReady, Marlin или Helix. Так что, если ваша платформа будет использоваться для продажи, например, голливудского контента, я бы не рекомендовал выделять время для решения drm с открытым исходным кодом.