Инструменты пользователя

Инструменты сайта


ru:7ways:resources:protection

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ru:7ways:resources:protection [2016/04/18 14:20]
Константин [Защита ресурсов]
ru:7ways:resources:protection [2016/04/18 17:57] (текущий)
Константин [Обработка запросов программы на сервере провайдера]
Строка 4: Строка 4:
 Для шифрования ресурсов необходим **[[ru:7ways:resources:protection:providerkey|ключ поставщика]]** (''providerKey''), также называемый **ключом картографа** (''mapperKey''). Он представляет собой файл, выдаётся поставщику компанией Navikey и даёт ему право шифровать ресурсы в течение определённого периода времени. Ключ поставщика также необходим для генерации **[[ru:7ways:resources:protection:userkey|ключа пользователя]]**. Каждый ключ поставщика имеет уникальный числовой идентификатор (''providerId''). Для шифрования ресурсов необходим **[[ru:7ways:resources:protection:providerkey|ключ поставщика]]** (''providerKey''), также называемый **ключом картографа** (''mapperKey''). Он представляет собой файл, выдаётся поставщику компанией Navikey и даёт ему право шифровать ресурсы в течение определённого периода времени. Ключ поставщика также необходим для генерации **[[ru:7ways:resources:protection:userkey|ключа пользователя]]**. Каждый ключ поставщика имеет уникальный числовой идентификатор (''providerId'').
  
-Непосредственно шифрование (и дешифрование) выполняется **[[ru:7ways:resources:protection:encryptkey|ключом шифрования]]** (''encryptKey''). Каждый ключ имеет числовой идентификатор (''keyId''), уникальный в пределах одного поставщика. Ключ поставщика содержит внутри себя один ключ шифрования. Идентификатор такого ключа шифрования равен 1. Дополнительные ключи шифрования хранятся в отдельных файлах. Они могут быть созданы с помощью конвертера карт или выданы компанией Navikey (один поставщик может использовать до 60 тыс. ключей шифрования).+Непосредственно шифрование (и дешифрование) выполняется **[[ru:7ways:resources:protection:encryptkey|ключом шифрования]]** (''encryptKey''). Каждый ключ имеет числовой идентификатор (''keyId''), уникальный в пределах одного поставщика. Ключ поставщика содержит внутри себя один ключ шифрования. Идентификатор такого ключа шифрования равен 1. Дополнительные ключи шифрования хранятся в отдельных файлах. Они могут быть созданы с помощью [[ru:7ways:resources:protection:keymaster|утилиты KeyMaster]] или выданы компанией Navikey (один поставщик может использовать до 65534 собственных ключа шифрования).
  
 ===== Схемы защиты ресурсов ===== ===== Схемы защиты ресурсов =====
Строка 13: Строка 13:
  
 ==== Использование ключа пользователя ==== ==== Использование ключа пользователя ====
-**Ключ пользователя** представляет собой файл (с расширением ''.key''), который в защищённом виде хранит ключ шифрования. Ключ пользователя может иметь ограниченный срок действия, серийный номер, может быть привязан к устройству пользователя. Пользователь должен вручную положить файл ключа в папку ''7ways''. Использование ключей пользователя невозможно в версии для iOS. Привязка ключа к устройству пользователя возможна на Windows, а также на Android-устройствах, которые не поддерживают покупки через приложение. Для создания ключа пользователя, привязанного к устройству, необходим **файл запроса**. Файл запроса может быть создан пользователем при открытии зашифрованных ресурсов и передан поставщику каким-либо способом.+**[[ru:7ways:resources:protection:userkey|Ключ пользователя]]** представляет собой файл (с расширением ''.key''), который в защищённом виде хранит ключ шифрования. Ключ пользователя может иметь ограниченный срок действия, серийный номер, может быть привязан к устройству пользователя. Пользователь должен вручную положить файл ключа в папку ''7ways''. Использование ключей пользователя невозможно в версии для iOS. Привязка ключа к устройству пользователя возможна на Windows, а также на Android-устройствах, которые не поддерживают покупки через приложение. Для создания ключа пользователя, привязанного к устройству, необходим **[[ru:7ways:resources:protection:requestfile|файл запроса]]**. Файл запроса может быть создан пользователем при открытии зашифрованных ресурсов и передан поставщику каким-либо способом.\\ 
 +В случае если устройство поддерживает покупки в приложении - то после совершения необходимых действий на сервер провайдера будет передан запрос включающий в себя содержимое файла запроса.
  
-==== Использование подписок ==== +==== Использование покупок в приложении ==== 
-Этот вариант доступен только на Android-устройствах, которые поддерживают покупки через приложение, при использовании ''7wz''-контейнера для хранения зашифрованных ресурсов. Для получения доступа к защищённым ресурсам пользователю необходимо оформить соответствующую подписку. В этом случае с пользователя ежемесячно или ежегодно взимается установленная поставщиком плата. У подписки может быть установлен бесплатный пробный период (не менее 7 дней). После оформления подписки защищённые ресурсы становятся доступны на всех устройствах пользователя. Для шифрования ресурсов, доступных по подписке, используется специальный ключ шифрования, выдаваемый поставщику компанией Navikey (этот же ключ шифрования может быть использован в других схемах).+Этот вариант доступен на устройствах, которые поддерживают покупки через приложение (Android, iOS, Windows 10 и т.п.), при использовании ''7wz''-контейнера для хранения зашифрованных ресурсов. Для получения доступа к защищённым ресурсам пользователю необходимо оформить соответствующую покупку в магазине.  
 +Покупки делятся на разовые и покупки "подписок". В случае если пользователь купил "подписку" то с пользователя ежемесячно или ежегодно (в зависимости от условий) взимается установленная поставщиком плата. У подписки может быть установлен бесплатный пробный период (не менее 7 дней). После оформления подписки защищённые ресурсы становятся доступны на всех устройствах пользователя.\\ 
 +В случае приобретения разовой активации - условия ее работы контролируются поставщиком/провайдером контента. 
 +Программа для получения ключа пользователя будет обращаться на сервер поставщика/провайдера.
  
 ===== Ключи пользователя с привязкой к устройству ===== ===== Ключи пользователя с привязкой к устройству =====
Строка 27: Строка 31:
     * срок действия ключа закончился (''expiredKeyMsg'').     * срок действия ключа закончился (''expiredKeyMsg'').
  
-Когда пользователь пытается загрузить защищённый ресурс, при подготовке которого было указано имя файла запроса (''requestFileName''), программа выводит окно с предложением активировать ресурс. В окне указано наименование поставщика и список зашифрованных файлов. После получения согласия пользователя в папке ''7ways'' создаётся **файл запроса** и выводится окно с инструкциями по получению ключа (''noKeyMsg'', ''badKeyMsg'' или ''expiredKeyMsg''). Файл запроса представляет собой текстовый файл с именем ''requestFileName_providerId_keyId.txt'' (вместо параметров в имя файла подставляются их значения). Внутри файла содержатся:+Когда пользователь пытается загрузить защищённый ресурс, при подготовке которого было указано имя файла запроса (''requestFileName''), программа выводит окно с предложением активировать ресурс. В окне указано наименование поставщика и список зашифрованных файлов. После получения согласия пользователя в папке ''7ways'' создаётся **[[ru:7ways:resources:protection:requestfile|файл запроса]]** и выводится окно с инструкциями по получению ключа (''noKeyMsg'', ''badKeyMsg'' или ''expiredKeyMsg''). Файл запроса представляет собой текстовый файл с именем ''requestFileName_providerId_keyId.txt'' (вместо параметров в имя файла подставляются их значения). Внутри файла содержатся:
   * инструкции;   * инструкции;
   * идентификатор устройства пользователя;   * идентификатор устройства пользователя;
Строка 39: Строка 43:
 Шифрование карт производится в процессе конвертирования. Шифрование карт производится в процессе конвертирования.
   * Зашифрованными могут быть только сжатые карты. В GUI-версии конвертера должен быть установлен флажок **Compress & protect**. В консольной версии параметр ''compress'' должен быть равен 1 (по умолчанию).   * Зашифрованными могут быть только сжатые карты. В GUI-версии конвертера должен быть установлен флажок **Compress & protect**. В консольной версии параметр ''compress'' должен быть равен 1 (по умолчанию).
-  * Путь к файлу **ключа поставщика** задаётся в параметре ''mapperKey''+  * Путь к файлу **[[ru:7ways:resources:protection:providerkey|ключа поставщика]]** задаётся в параметре ''mapperKey''
-  * Путь к файлу **ключа шифрования** задаётся в параметре ''encryptKey''. Если карты требуется зашифровать ключом шифрования, который встроен в ключ поставщика, этот параметр нужно оставить пустым.+  * Путь к файлу **[[ru:7ways:resources:protection:encryptkey|ключа шифрования]]** задаётся в параметре ''encryptKey''. Если карты требуется зашифровать ключом шифрования, который встроен в ключ поставщика, этот параметр нужно оставить пустым.
   * Параметр ''encryptRate'' определяет, сколько процентов от объёма файла карты подвергается шифрованию: 0 -- шифрование не производится, 100 -- шифруется вся карта. Если значение меньше 100, зашифрованные блоки равномерно распределяются по файлу. Чем большая часть карты шифруется, тем хуже сжимается архиваторами полученный файл. По умолчанию 50.   * Параметр ''encryptRate'' определяет, сколько процентов от объёма файла карты подвергается шифрованию: 0 -- шифрование не производится, 100 -- шифруется вся карта. Если значение меньше 100, зашифрованные блоки равномерно распределяются по файлу. Чем большая часть карты шифруется, тем хуже сжимается архиваторами полученный файл. По умолчанию 50.
 Если планируется распространять карты самостоятельно, а не в составе ''7wz''-контейнера, и активировать с помощью ключа пользователя, то нужно также задать следующие параметры: Если планируется распространять карты самостоятельно, а не в составе ''7wz''-контейнера, и активировать с помощью ключа пользователя, то нужно также задать следующие параметры:
Строка 48: Строка 52:
 Наименование поставщика и инструкции можно указать на нескольких языках. Для этого после имени параметра ставится двоеточие и код языка по [[wp>List_of_ISO_639-1_codes|ISO 639-1]], например ''providerName:ru''. Параметр для языка по умолчанию (без двоеточия и кода языка) обязательно должен присутствовать, он используется, когда нет локализованной версии для языка пользователя. Наименование поставщика и инструкции можно указать на нескольких языках. Для этого после имени параметра ставится двоеточие и код языка по [[wp>List_of_ISO_639-1_codes|ISO 639-1]], например ''providerName:ru''. Параметр для языка по умолчанию (без двоеточия и кода языка) обязательно должен присутствовать, он используется, когда нет локализованной версии для языка пользователя.
  
 +===== Шифрование ресурсов =====
 +
 +Для шифрования ресурсов необходима утилита [[ru:7ways:resources:protection:keymaster|KeyMaster]].\\
 +Провайдер может создавать защищенный контент только в случае если этот контент представлен в виде [[ru:content:first|контейнера]] ''7wz''.
 +
 +===== Обработка запросов программы на сервере провайдера =====
 +
 +Для корректной работы системы защиты, провайдер должен обеспечить обработку запросов на получение ключа. Данные запросы программа отсылает в момент попыток получения доступа к ресурсам, а также в итоге совершенных действий пользователя:
 +  * Покупки ресурса в магазине
 +  * Введения кода покупки 
 +  * Попытки восстановления покупок
 +
 +Программа делает [[ru:content:activateurl|запрос]] по ссылке указанной в [[ru:content:description.xml|description.xml]] защищенного контейнера. 
ru/7ways/resources/protection.1460964021.txt.gz · Последнее изменение: 2016/04/18 14:20 — Константин