Защищенный от копирования картридж с программным обеспечением
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в улучшении защиты программного обеспечения от копирования. Защищенная от копирования система хранения данных, предназначенная для использования с консолью, при этом данная система хранения данных содержит: область хранения данных, предназначенную для хранения, по меньшей мере, частей приложения, исполняемого на консоли; и интерфейс, предназначенный для: отправки информации о приложении, считанной из области хранения данных, на консоль через интерфейс консоли; и получения информации о параметрах приложений из интерфейса консоли; запоминающее устройство, предназначенное для хранения зашифрованной информации о параметрах приложений, полученной из блока шифрования; блок шифрования предназначен для получения информации о параметрах приложений из интерфейса, шифрования полученной информации о параметрах приложений и хранения зашифрованной информации о параметрах приложений в запоминающем устройстве; причем интерфейс дополнительно предназначен для: считывания зашифрованной информации о параметрах приложений из запоминающего устройства; передачи через интерфейс консоли считанной зашифрованной информации о параметрах приложений в приложение, исполняемое на консоли. 4 н. и 12 з.п. ф-лы, 3 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится, в основном, к программному обеспечению для компьютеров и, в частности, к защите программного обеспечения на картриджах от копирования.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
Цель настоящего раздела - ознакомить читателя с различными аспектами данной области техники, которые могут быть связаны с различными аспектами настоящего изобретения, описанными и/или заявленными ниже. Предполагается, что данное обсуждение полезно читателю тем, что дает ему дополнительную информацию, облегчающую понимание различных аспектов настоящего изобретения. В соответствии с этим, следует иметь в виду, что данные утверждения необходимо воспринимать в свете вышеизложенного, а не как признание существующего уровня техники.
Компьютерные программы и, в частности, компьютерные игры (которые будут далее использоваться в качестве неограничительных примеров) для удобства использования долгое время записывались на так называемых картриджах, к прочим достоинствам которых относятся мгновенный доступ к программному обеспечению и прочность контейнера. Такие картриджи обычно включают в себя интерфейс для взаимодействия с консолью и, кроме того, постоянное запоминающее устройство (ПЗУ), в котором хранится прикладная программа, а также запоминающее устройство, предпочтительно, энергонезависимое для хранения параметров игры.
Однако программное обеспечение на таких картриджах является почти столь же незащищенным от копирования, как и «нормальное» программное обеспечение. Естественно, поставщики программного обеспечения придумали средства защиты от копирования, такие как использование специальных интерфейсов и наборов микросхем и шифрование приложения. К сожалению, хакеры способны взломать известные средства защиты, и практически все существующие программы можно найти в Интернете, например, на сайтах, посвященных взлому.
В заявке на европейский патент ЕР 07300965 предлагается обучение системы для защиты предварительно записанного носителя. Такой носитель связан с защищенным процессором, который хранит информацию и программное обеспечение, необходимые игроку для полного доступа к информации. Когда игроку необходима эта информация или результат работы программного обеспечения, он связывается с защищенным процессором и ожидает отклика. Недостаток такого решения состоит в том, что игроки, не приспособленные к взаимодействию с защищенным процессором, неспособны использовать эту информацию.
Поэтому становится понятным, что имеется потребность в решении, которое улучшает защиту программного обеспечения на картриджах от копирования, и, предпочтительно, позволяет продолжить использование имеющихся консолей. Такое решение предлагается в настоящем изобретении.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Первый вариант изобретения относится к защищенной от копирования системе хранения данных, предназначенной для использования с консолью. Данная система хранения данных содержит запоминающее устройство, предназначенное для хранения информации о параметрах приложений; область хранения данных, предназначенную для хранения, по меньшей мере, частей приложения, исполняемого на консоли; и интерфейс, предназначенный для отправки информации о приложении, считанной из области хранения данных, на консоль через интерфейс на консоли, считывания информации о параметрах приложений из запоминающего устройства и передачи считанной информации о параметрах приложений в исполняемое на консоли приложение через интерфейс на консоли. Система хранения данных дополнительно содержит блок шифрования, предназначенный для получения информации о параметрах приложений с интерфейса, выполнения криптографической операции по полученной информации о параметрах приложений и хранения полученной информации о параметрах приложений в запоминающем устройстве. Кроме того, интерфейс предназначен либо для получения информации о параметрах приложений в зашифрованном виде с исполняемого на консоли приложения и возврата информации о параметрах приложений в нешифрованном виде на исполняемое на консоли приложение, либо для получения информации о параметрах приложений в нешифрованном виде с исполняемого на консоли приложения и возврата информации о параметрах приложений в зашифрованном виде на исполняемое на консоли приложение.
Второй вариант изобретения относится к защищенной от копирования системе хранения данных, предназначенной для использования с консолью. Данная система хранения данных содержит запоминающее устройство, предназначенное для хранения информации о параметрах приложений; область хранения данных, предназначенную для хранения, по меньшей мере, частей приложения, исполняемого на консоли; и интерфейс, предназначенный для отправки информации о приложении, считанной из области хранения данных, на консоль через интерфейс на консоли, получения информации о параметрах приложений из исполняемого на консоли приложения через интерфейс консоли и хранения полученной информации о параметрах приложений в запоминающем устройстве. Система хранения данных дополнительно содержит блок шифрования, предназначенный для получения информации о параметрах приложений из запоминающего устройства, выполнения криптографической операции по полученной информации о параметрах приложений и отправки полученной информации о параметрах приложений в интерфейс. Кроме того, интерфейс предназначен либо для получения информации о параметрах приложений в зашифрованном виде с исполняемого на консоли приложения и возврата информации о параметрах приложений в нешифрованном виде на исполняемое на консоли приложение, либо для получения информации о параметрах приложений в нешифрованном виде с исполняемого на консоли приложения и возврата информации о параметрах приложений в зашифрованном виде на исполняемое на консоли приложение.
В первом предпочтительном варианте осуществления криптографическая операция состоит в дешифровании данных, а интерфейс предназначен для получения данных с консоли в зашифрованном виде и возврата данных на консоль в нешифрованном виде.
Во втором предпочтительном варианте осуществления криптографическая операция состоит в шифровании данных, а интерфейс предназначен для получения данных с консоли в нешифрованном виде и возврата данных на консоль в зашифрованном виде.
В третьем предпочтительном варианте осуществления система хранения данных является картриджем, а область хранения данных является запоминающим устройством.
В четвертом предпочтительном варианте осуществления система хранения данных является оптическим носителем информации, в котором используется область хранения данных. Данный оптический носитель информации оснащен схемой радиочастотной идентификации, содержащей интерфейс, запоминающее устройство и блок шифрования.
В пятом предпочтительном варианте осуществления алгоритм, используемый для шифрования данных, основан на асимметричной криптографии.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Особенности предпочтительного варианта настоящего изобретения описаны ниже на неограничительном примере со ссылкой на приложенные чертежи, на которых:
на Фиг.1 показана консоль с картриджем в соответствии с предпочтительным вариантом осуществления настоящего изобретения;
на Фиг.2 показана консоль с картриджем в соответствии с альтернативным вариантом осуществления настоящего изобретения;
на Фиг.3 показана консоль с оптическим носителем в соответствии с одним из вариантов осуществления настоящего изобретения.
ПРЕДПОЧТИТЕЛЬНЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
На Фиг.1 показана консоль 1 с картриджем 2 в соответствии с предпочтительным вариантом осуществления настоящего изобретения. В данном описании термин «консоль» используется для обозначения устройства, способного взаимодействовать с картриджем для того, чтобы исполнять хранящееся на ней приложение, а термин «картридж» используется для обозначения физического объекта, в котором для хранения приложения используется твердотельная память. В предпочтительном варианте осуществления картридж 2 может иметь разъемное соединение с консолью 1.
Консоль содержит один или более процессоров (называемых в дальнейшем «процессор») 10 для исполнения приложений и менеджер интерфейсов 14, реализующий физический и логический интерфейс, для взаимодействия с картриджем 2. Интерфейс 14 может быть осуществлен через обычную двунаправленную адресно-информационную шину или через обращения к одной или более функциям.
Консоль дополнительно содержит постоянное запоминающее устройство (ПЗУ) 11, хранящее, по меньшей мере, одно приложение, встроенное программное обеспечение и промежуточное программное обеспечение; оперативное запоминающее устройство (ОЗУ) 12, хранящее временную информацию, и игровое приложение 3, загружаемое с картриджа 2; пользовательский интерфейс 13 для взаимодействия с одним или более пользователей, например, через экран или громкоговорители, а также клавиатуру, кнопки и сенсорные экраны. Процессор 10 предназначен для исполнения, по меньшей мере, одного приложения в ПЗУ и игрового приложения 3, хранящегося в ОЗУ 12.
В предпочтительном варианте осуществления интерфейс 14 обнаруживает присутствие картриджа 2 автоматически. Как правило, в отсутствие картриджа 2 шина не запитана, и питание на шину не подается. При появлении картриджа 2 на кассету 2 подается питание, и информационная шина также запитывается. Источник питания не показан, поскольку он не входит в объем настоящего изобретения.
Картридж 2 содержит интерфейс 24, предназначенный для связи с интерфейсом 14 консоли 1. Картридж дополнительно содержит ПЗУ 21, в котором игровое приложение хранится с фиксированным адресом (таким как 0х00000), и, по меньшей мере, одно энергонезависимое запоминающее устройство (в дальнейшем называемое «энергонезависимое запоминающее устройство») 22, предназначенное для хранения, например, параметров игр, таких как текущее положение игроков в игре. Энергонезависимое запоминающее устройство 22 может представлять собой, например, электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ) или флэш-ПЗУ. Картридж 2 также содержит блок шифрования 23, который, предпочтительно надежно, хранит ключ шифрования К. Следует отметить, что ключ К может также храниться в другом месте картриджа 2.
В предпочтительном варианте осуществления блок шифрования 23 представляет собой аппаратный скремблер RSA, в котором в качестве ключа шифрования К используется встроенный 1024-битный закрытый ключ. Ключ шифрования может быть одним и тем же для всех кассет 2, но возможно также использование различных ключей шифрования К в группах кассет 2 или даже в отдельных картриджах 2.
ПЗУ 21, энергонезависимое запоминающее устройство 22, блок шифрования 23 и интерфейс 24 могут быть реализованы в одной микросхеме, например, в системе на кристалле, либо в виде двух или более отдельных схемах.
Игровым приложением 3 может называться компьютерная программа, по меньшей мере, из ПЗУ 21 (части игрового приложения 3 могут быть получены из других источников, например, из Интернета), исполняемая процессором 10. Кроме того, может считаться, что игровое приложение 3 знает внутреннюю организацию картриджа 2. Когда оно исполняется процессором 10, игровое приложение 3 может связываться через интерфейсы 14 и 24 с картриджем 2 с целью выполнения, по меньшей мере, одного действия, такого как: считывание информации из ПЗУ 21; считывание информации из энергонезависимого запоминающего устройства 22; и запись информации в энергонезависимое запоминающее устройство 22. Когда информация должна записываться в энергонезависимое запоминающее устройство 22, интерфейс 24 направляет информацию в блок шифрования 23 для шифрования с ключом К и запоминания. Следует отметить, что блок шифрования запоминает информацию либо непосредственно (т.е. посредством записи в энергонезависимое запоминающее устройство 22), либо косвенно (т.е. посредством передачи информации в промежуточный блок). Однако, когда информация должна считываться из энергонезависимого запоминающего устройства 22, интерфейс 24 считывает информацию из энергонезависимого запоминающего устройства 22 и направляет информацию в зашифрованном виде в игровое приложение 3. Специалисту очевидно, что блок шифрования не расшифровывает хранящуюся информацию и что поэтому картридж получает информацию «в чистом виде» и отправляет ее в зашифрованном виде.
Игровое приложение 3 включает в себя функцию расшифровки 30 и ключ расшифровки К-1, соответствующий ключу шифрования К. В случае использования асимметричной криптографии нет необходимости «прятать» ключ расшифровки К-1 в игровом приложении 3. Однако при использовании симметричной криптографии ключ расшифровки К-1 должен быть тем или иным образом спрятан, например, путем использования так называемой «криптографии стеклянного ящика». Как описано выше, игровое приложение 3 может связываться с картриджем 2 с целью: считывания информации из ПЗУ 21, записи информации в энергонезависимое запоминающее устройство 22 и считывания информации из энергонезависимого запоминающего устройства 22. Информация, записываемая в энергонезависимое запоминающее устройство 22, передается «в чистом виде» или, возможно, шифруется с помощью сеансового ключа, защищающего передаваемую между интерфейсами 14, 24 информацию, которая должна шифроваться и запоминаться. Информация, считываемая из энергонезависимого запоминающего устройства 22, принимается в зашифрованном виде и расшифровывается с помощью функции расшифровки 30 с использованием ключа расшифровки К-1.
В предпочтительном варианте осуществления процедура расшифровки 30 игрового приложения 3 реализует дескремблер RSA, а ключ расшифровки К-1 - это открытый ключ, соответствующий закрытому ключу К.
Таким образом, настоящее изобретение может без труда противодействовать взлому и копированию игры, поскольку предполагается, что хакер никогда не будет иметь доступа к ключу К, используемому блоком шифрования 23. Если это так, то хакер не сможет скопировать кассету 2 без модификации игрового приложения 3.
На Фиг.2 изображена консоль с картриджем в соответствии с альтернативным вариантом осуществления настоящего изобретения. В данном варианте осуществления консоль 1 может быть идентична консоли предпочтительного варианта осуществления. Картридж 2 содержит интерфейс 24, ПЗУ 21, энергонезависимое запоминающее устройство 22 и блок расшифровки 25. Игровое приложение 3 включает в себя функцию шифрования 31.
Основное различие между альтернативным вариантом осуществления и предпочтительным вариантом осуществления состоит в том, что игровое приложение 3 в данном случае предназначено для шифрования информации с использованием ключа К с целью хранения их в энергонезависимом запоминающем устройстве 22 картриджа. Зашифрованная информация принимается интерфейсом 24 и направляется в блок расшифровки 25, который расшифровывает информацию с использованием ключа К-1 и передает расшифрованную информацию в энергонезависимое запоминающее устройство 22 для хранения. Когда после этого игровое приложение 3 запрашивает информацию, интерфейс 24 извлекает нешифрованную информацию из энергонезависимого запоминающего устройства 22 и передает ее в консоль 1.
Следует понимать, что в обоих вариантах осуществления возможен вариант. Блок шифрования 23 и блок расшифровки 25 могут размещаться «на другой стороне» энергонезависимого запоминающего устройства 22. Например, в предпочтительном варианте осуществления информация хранится в нешифрованном виде в энергонезависимом запоминающем устройстве 22 и шифруется блоком шифрования 23, когда она запрашивается игровым приложением 3.
На Фиг.3 изображена консоль 1 с оптическим носителем 4 в соответствии с примером осуществления одного из вариантов настоящего изобретения. Данный пример осуществления одного из вариантов в значительной степени напоминает предпочтительный вариант осуществления - одно из отличий состоит в том, что статической средой для хранения информации является оптический носитель, а не постоянное запоминающее устройство, поэтому описание аналогичных особенностей может быть сокращено. Оптический носитель 4, например, CD-ROM или DVD, оснащен схемой радиочастотной идентификации (RFID) 41, содержащей интерфейс 42, энергонезависимое запоминающее устройство 22 и блок шифрования 23, в котором хранится ключ шифрования К. Консоль 1 содержит первый интерфейс 43 для взаимодействия со схемой RFID 41 и второй интерфейс 44 для взаимодействия с оптическим носителем 4. Оба интерфейса могут быть реализованы в виде единого компонента.
Игровое приложение 3, исполняемое процессором 10, может выполнять, по меньшей мере, три действия с оптическим носителем 4: через второй интерфейс 44 оно может считывать информацию с оптического носителя 4 как такового (приблизительно соответствующего ПЗУ в предпочтительном варианте осуществления); а через первый интерфейс 43 оно может считывать информацию из энергонезависимого запоминающего устройства 22 в схеме RFID 41 и записывать в него информацию. Как и в предпочтительном варианте осуществления, информация, записываемая в энергонезависимое запоминающее устройство 22, предпочтительно отправляется «в чистом виде» и шифруется блоком шифрования 23, в то время как информация, считываемая из энергонезависимого запоминающего устройства 22, считывается «как есть» и возвращается в зашифрованном виде для расшифровки блоком расшифровки 30 игрового приложения 3.
Достоинство настоящего изобретения состоит в том, что оно позволяет использовать в старых консолях новые защищенные картриджи без модификации первых, поскольку консолям незачем знать архитектуру кассет.
Таким образом, следует понимать, что в настоящем изобретении предлагается усовершенствованная система защиты программного обеспечения от копирования. Специалисту очевидно, что она не ограничивается играми.
Каждый элемент, раскрытый в описании, а также (при необходимости) пункты формулы изобретения и чертежи могут быть предложены независимо друг от друга или в любой подходящей комбинации. Элементы, которые согласно описанию реализуются в аппаратном обеспечении, могут быть также реализованы в программном обеспечении, и наоборот. Соединения могут быть при необходимости реализованы в виде беспроводных соединений либо в виде проводных соединений, необязательно непосредственных или специально выделенных. Описаны только элементы, относящиеся к настоящему изобретению; элементы, не являющиеся обязательными для описания настоящего изобретения, были преднамеренно пропущены для облегчения понимания.
Номера позиций в формуле изобретений приведены только в качестве иллюстрации и не являются ограничительными для объема изобретения.
1. Защищенная от копирования система (2, 4) хранения данных, предназначенная для использования с консолью (1), при этом данная система хранения данных (2, 4) содержит:область (21) хранения данных, предназначенную для хранения, по меньшей мере, частей приложения, исполняемого на консоли (1); иинтерфейс (24, 42), предназначенный для:отправки информации о приложении, считанной из области (21) хранения данных, на консоль (1) через интерфейс (14, 43) консоли (1); иполучения информации о параметрах приложений из интерфейса (24, 42) консоли (1);отличающаяся тем, что система (2, 4) хранения данных дополнительно содержит:запоминающее устройство (22), предназначенное для хранения зашифрованной информации о параметрах приложений, полученной из блока шифрования;блок (23, 25) шифрования предназначен для получения информации о параметрах приложений из интерфейса (24, 42), шифрования полученной информации о параметрах приложений и хранения зашифрованной информации о параметрах приложений в запоминающем устройстве (22);и тем, что интерфейс (24, 42) дополнительно предназначен для:считывания зашифрованной информации о параметрах приложений из запоминающего устройства (22);передачи через интерфейс (14, 43) консоли (1) считанной зашифрованной информации о параметрах приложений в приложение (3), исполняемое на консоли (1).
2. Система хранения данных по п.1, при этом система хранения данных является картриджем, а область хранения данных является запоминающим устройством.
3. Система хранения данных по п.1, при этом система хранения данных является оптическим носителем информации, в котором содержится область хранения данных, причем данный оптический носитель информации оснащен схемой радиочастотной идентификации, содержащей интерфейс, запоминающее устройство и блок шифрования.
4. Система хранения данных по п.1, в которой алгоритм, используемый для шифрования данных, основан на асимметричной криптографии.
5. Защищенная от копирования система (2, 4) хранения данных, предназначенная для использования с консолью (1), при этом данная система хранения данных (2, 4) содержит:область (21) хранения данных, предназначенную для хранения, по меньшей мере, частей приложения, исполняемого на консоли (1); иинтерфейс (24, 42), предназначенный для:отправки информации о приложении, считанной из области (21) хранения данных, на консоль (1) через интерфейс (14, 43) консоли (1); иполучения зашифрованной информации о параметрах приложений из интерфейса (14, 43) консоли (1);отличающаяся тем, что система (2, 4) хранения данных дополнительно содержит:запоминающее устройство (22), предназначенное для хранения информации о параметрах приложений, получаемой из блока (25) расшифровки;блок (25) расшифровки предназначен для получения зашифрованной информации о параметрах приложений из интерфейса (24, 42), расшифровки полученной информации о параметрах приложений и сохранения информации о параметрах приложений в запоминающем устройстве (22);и тем, что интерфейс (24, 42) дополнительно предназначен для:считывания информации о параметрах приложений из запоминающего устройства (22),передачи через интерфейс (14, 43) консоли (1) считанной информации о параметрах приложений в приложение (3), исполняемое на консоли (1).
6. Система хранения данных по п.5, при этом система хранения данных является картриджем, а область хранения данных является запоминающим устройством.
7. Система хранения данных по п.5, при этом система хранения данных является оптическим носителем информации, в котором содержится область хранения данных, причем данный оптический носитель информации оснащен схемой радиочастотной идентификации, содержащей интерфейс, запоминающее устройство и блок шифрования.
8. Система хранения данных по п.5, в которой алгоритм, используемый для шифрования данных, основан на асимметричной криптографии.
9. Защищенная от копирования система (2, 4) хранения данных, предназначенная для использования с консолью (1), при этом данная система (2, 4) хранения данных содержит:область (21) хранения данных, предназначенную для хранения, по меньшей мере, частей приложения, исполняемого на консоли (1); иинтерфейс (24, 42), предназначенный для:отправки информации о приложении, считанной из области хранения данных (21), на консоль (1) через интерфейс (14, 43) консоли (1);получения через интерфейс (14, 43) консоли (1) информации о параметрах приложений (3), из приложения (3), исполняемого на консоли (1); исохранения полученной информации о параметрах приложений в запоминающем устройстве (22);запоминающее устройство (22) предназначено для хранения информации о параметрах приложений, получаемой интерфейсом (24, 42) из приложения (3), исполняемого на консоли (1);отличающаяся тем, что система (2, 4) хранения данных дополнительно содержит:блок (23) шифрования, предназначенный для получения информации о параметрах приложений из запоминающего устройства (22), шифрования полученной информации о параметрах приложений и отправки зашифрованной информации о параметрах приложений в интерфейс (24, 42);и тем, что интерфейс (24, 42) дополнительно предназначен для:отправки зашифрованной информации о приложении в приложение (3), исполняемое на консоли (1), через интерфейс (14, 43) консоли (1).
10. Система хранения данных по п.9, при этом система хранения данных является картриджем, а область хранения данных является запоминающим устройством.
11. Система хранения данных по п.9, при этом система хранения данных является оптическим носителем информации, в котором содержится область хранения данных, причем данный оптический носитель информации оснащен схемой радиочастотной идентификации, содержащей интерфейс, запоминающее устройство и блок шифрования.
12. Система хранения данных по п.9, в которой алгоритм, используемый для шифрования данных, основан на асимметричной криптографии.
13. Защищенная от копирования система хранения данных, предназначенная для использования с консолью, при этом данная система хранения данных содержит:область хранения данных, предназначенную для хранения, по меньшей мере, частей приложения, исполняемого на консоли; иинтерфейс, предназначенный для:отправки информации о приложении, считанной из области хранения данных, на консоль через интерфейс консоли;получения, через интерфейс консоли, зашифрованной информации о параметрах приложений из приложения, исполняемого на консоли; исохранения полученной зашифрованной информации о параметрах приложений в запоминающем устройстве;запоминающее устройство предназначено для хранения зашифрованной информации о параметрах приложений, получаемой интерфейсом из приложения, исполняемого на консоли;отличающаяся тем, что система хранения данных дополнительно содержит:блок расшифровки, предназначенный для получения зашифрованной информации о параметрах приложений из запоминающего устройства, расшифровки полученной зашифрованной информации о параметрах приложений и отправки информации о параметрах приложений в интерфейс;и тем, что интерфейс дополнительно предназначен для:отправки информации о параметрах приложений в приложение, исполняемое на консоли, через интерфейс консоли.
14. Система хранения данных по п.13, при этом система хранения данных является картриджем, а область хранения данных является запоминающим устройством.
15. Система хранения данных по п.13, при этом система хранения данных является оптическим носителем информации, в котором содержится область хранения данных, причем данный оптический носитель информации оснащен схемой радиочастотной идентификации, содержащей интерфейс, запоминающее устройство и блок шифрования.
16. Система хранения данных по п.13, в которой алгоритм, используемый для шифрования данных, основан на асимметричной криптографии.