Механизм против мошенничества на основе доверенного объекта
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в предотвращении изменений в аппаратном и/или программном обеспечении, выполняемых в целях мошенничества. Способ предотвращения мошенничества, в котором выполняют первую операционную систему на устройстве, причем первая операционная система выполнена с возможностью допускать установку драйверов устройств без требования, что драйверы устройств должны быть подписаны с помощью конкретного ключа централизованного источника; осуществляют, с помощью доверенного компонента, мониторинг устройства и ограниченной операционной системы, выполняемой на устройстве, причем ограниченную операционную систему обеспечивают с помощью модификации первой операционной системы, выполняемой на устройстве, причем ограниченная операционная система выполнена с возможностью требования, что драйверы устройств должны быть подписаны с помощью конкретного ключа централизованного источника, чтобы быть установленными; ограничивают доступ к ресурсам на основе результатов мониторинга. 3 н. и 17 з.п. ф-лы, 10 ил.
Реферат
Уровень техники
Компьютерные игры стали очень прибыльной индустрией. Компьютерные игры развиты из простых текстовых игр в поглощающие среды мультимедиа, включающие в себя сложную анимационную графику, музыку и звук. Чтобы расширить интерактивность и социальные аспекты организации сети игр, онлайновая (с подключением к компьютерной сети) среда стала неотъемлемой частью опыта игр, позволяя энтузиастам игр участвовать в играх с множеством игроков, загружать новые игры, добавлять новые свойства к существующим играм, которыми они владеют, и т.д.
Онлайновая среда также создала новые возможности для игроков, чтобы участвовать в мошенничестве. Мошенничество относится к любой деятельности пользователя, такой как расширение программного обеспечения, чтобы получать нечестные преимущества относительно других игроков. В определенных средах, таких как игры с множеством игроков, мошенничество при работе в онлайновом режиме может стать более важным, чем мошенничество при работе в автономном режиме.
Мошенничество может принимать разные виды. Самый простой включает в себя модификацию локальных файлов данных, чтобы получить другие очки за активы в игре (например, значительно более быстрый автомобиль), или, чтобы модифицировать среду в игре, чтобы изменить достижения игры, чтобы изменить содержание сохраненных игр других игроков, или загрузить содержание сохраненных игр других игроков. Оно также может принимать физический вид. На web имеются несколько описаний для создания и модификации контроллера, чтобы дать возможность более быстрых действий, чем действия человека, такие как быстрая стрельба.
Эти варианты мошенничества могут принимать вид добавления простого программного обеспечения, такого как драйвер фильтра или расширения, доступные для популярных онлайновых игр с множеством игроков. Они могут изменяться, например, от проекционных дисплеев, инструментов автоматического отображения и наведения, автоматического прицеливания, приведения типов автоматической орфографии, широких макрофункциональных возможностей и создания функциональных программных модулей, которые могут выполняться как автоматические механизмы при отсутствии непосредственного ввода пользователя. Например, в игре со стенами пользователь мог бы находить “мошенничество”, чтобы делать стены невидимыми или генерировать автоматическое прицеливание.
Мошенничество также может относиться к незаконному хранению достижений или наград в игре. Достижения могут быть похвалами, предоставленными во время игры, и могут представлять знак почета во время игры. Достижения могут быть получены в автономном режиме или в онлайновом режиме и, следовательно, мошенничество может иметь место в любом режиме. Однако часто о достижениях сообщают в онлайновом режиме.
Пользователь может участвовать в онлайновом мошенничестве, например, с помощью расширения или модификации выполняемых файлов или файлов данных в своей системе. Мошенничество относится не только к простым модификациям в входном стеке, чтобы дать возможность, например, быстрой стрельбы и внесения изменений в гоночный автомобиль, но также может включать в себя сложные расширения, видимые для игр с множеством пользователей, включая проекционные дисплеи (“HUD”), автоматическое прицеливание, функциональные программные модули и т.д.
Мошенничество, связанное с программным обеспечением, представляет существенную экономическую угрозу для жизнеспособности разработки программного обеспечения игр. Когда процветает онлайновое мошенничество, оно гасит интерес пользователей в игре, и, следовательно, отрицательно влияет как на продажи игр, так и на продажи онлайновых подписок.
Сущность изобретения
Система против мошенничества может включать в себя комбинацию модифицированной среды, такой как модифицированная операционная система, совместно с доверенным внешним объектом, чтобы проверять, что модифицированная среда функционирует в конкретном устройстве. Модифицированная среда может быть модифицирована конкретным способом, чтобы создать ограниченную среду по сравнению с первоначальной средой, которую заменяют модифицированной средой. Модификации для модифицированной среды могут включать в себя изменения для первоначальной среды, например, чтобы обнаружить и/или предотвратить изменения в аппаратном обеспечении и/или программном обеспечении, выполняемые в целях мошенничества, или нежелательное поведение пользователя.
В соответствии с одним вариантом осуществления, система против мошенничества может быть осуществлена с помощью создания модифицированной операционной системы, которая включает в себя ограничения, направленные против мошенничества, и использования доверенного модуля платформы (”TPM”) и связанного статического корневого каталога измерения доверия (“SRTM”), который используют для того, чтобы проверять достоверность того, что модифицированная операционная система функционирует в неподдельном виде. Использование ТРМ может быть объединено с другими технологиями, чтобы способствовать эффективности решений защиты. ТРМ может выполнять измерение до определенного момента, когда защита остальной части системы может быть логически получена посредством другого механизма, например, с помощью механизма целостности кода и/или целостности диска.
В соответствии с альтернативными вариантами осуществления, проверка достоверности того, что модифицированная операционная система функционирует в неподдельном виде, может быть осуществлена с помощью любого внешнего доверенного объекта, при условии, что этот объект имеет возможность измерять модифицированную операционную систему и сам имеет возможность быть доверенным. Механизм против мошенничества на основе доверенного объекта может быть осуществлен с помощью защищенного аппаратного устройства, такого как сотовый телефон, или в программном обеспечении с помощью среды гипервизора. Другой альтернативный вариант осуществления включает в себя систему, в которой доверенный объект проверяет достоверность модифицированной среды выполнения, которая осуществляет игру в системе, в которой не существует операционная система, или проверяет достоверность модифицированной среды эмуляции внутри другой доверенной операционной системы или гипервизора.
Краткое описание чертежей
Фиг.1а изображает систему против мошенничества в соответствии с одним вариантом осуществления.
Фиг.1b - блок-схема последовательности этапов, изображающая работу процесса против мошенничества, в соответствии с одним вариантом осуществления.
Фиг.2 - блок-схема доверенного модуля платформы и статического корневого каталога доверенного модуля, предназначенного для выполнения функции против мошенничества.
Фиг.3а изображает операцию целостности кода в соответствии с одним вариантом осуществления.
Фиг.3b изображает работу механизма целостности диска, в соответствии с одним вариантом осуществления.
Фиг.4а изображает процесс посреднического выполнения в соответствии с одним вариантом осуществления.
Фиг.4b изображает работу процесса схемы обеспечения безопасности в соответствии с одним вариантом осуществления.
Фиг.4с изображает систему против мошенничества, которая осуществлена с помощью ограниченного аппаратного устройства.
Фиг.4d изображает работу системы против мошенничества с помощью гипервизора в соответствии с одним вариантом осуществления.
Фиг.5 изображает иллюстративную систему, предназначенную для осуществления примерных вариантов осуществления, включающую в себя универсальное вычислительное устройство в виде компьютера.
Подробное описание иллюстративных вариантов осуществления
Фиг.1а изображает систему против мошенничества, в соответствии с одним вариантом осуществления. В соответствии с одним вариантом осуществления, система 101 против мошенничества может содержать комбинацию технологии модифицированной среды, такой как модифицированная операционная система 102, в клиентском устройстве 110 совместно с операциями доверенного внешнего объекта 104, чтобы выполнять фактическую проверку того, что модифицированная среда, например, модифицированная операционная система 102, в действительности функционирует в клиентском устройстве 110. Модифицированная среда, например, модифицированная операционная система 102 может быть модифицирована конкретным способом, чтобы создать ограниченную среду по сравнению с первоначальной операционной системой 103, которую она заменила. В соответствии с одним вариантом осуществления, модификации в модифицированной операционной системе 102 могут включать в себя изменения для первоначальной операционной системы 103, чтобы предотвратить мошенничества, такие как, например, модификации, чтобы предотвратить мошенническое поведение пользователя 105.
Модифицированная операционная система 102 может создать изолированную среду 108 выполнения в клиентском устройстве 110. Изолированная среда 108 выполнения может быть спектром, который исходит из требования, чтобы все программное обеспечение было непосредственно подписано одним производителем для обеспечения более гибкой системы, которая позволяет программному обеспечению третьей стороны стать сертифицированным, с помощью передачи определенных ограничивающих требований и, таким образом, получить возможность выполняться в изолированной среде выполнения. В соответствии с одним вариантом осуществления, TPM может быть доверенным корневым каталогом, и изолированная среда 108 выполнения может быть установлена, в первую очередь, посредством измерений кода и раскрытия секретов, если код измеряется правильно.
Изолированная среда 108 выполнения может включать в себя среду, в которой программное обеспечение, выполняющееся в клиентском устройстве 110, может быть управляемым и идентифицируемым. В полностью изолированной среде злоумышленник не может выполнить никакой код в клиентском устройстве 110 и должен прибегнуть к более дорогим и затруднительным атакам на основе аппаратного обеспечения. Внешний объект 104 может работать с возможностью выполнения фактической проверки того, что изолированная среда выполнения 108 установлена и не повреждена в клиентском устройстве 110, с помощью выполнения мониторинга функций в клиентском устройстве 110, чтобы проверить, что изолированная среда 108 выполнения работает, т.е. модифицированная операционная система 102 установлена и функционирует.
Опять ссылаясь на фиг.1а, пользователь 105 может использовать клиентское устройство 110, чтобы играть в игры, как, например, игровая программа 112, или запускать другое развлекательное программное обеспечение. Пользователь 105 может использовать клиентское устройство 110 как в онлайновом, так и в автономном режиме. Пользователь 105, взаимодействующий с игровой программой 112 либо в автономном, либо в онлайновом режиме, может хранить награды за достижения или другие представления относительно проведения игры. Награды за достижения могут быть, например, представлениями полученного уровня, числом побежденных врагов и т.д. Кроме того, пользователь 105 может устанавливать разные параметры игровой программы 112, которые управляют свойствами игровой программы 112. Свойства могут включать в себя различные функции, связанные с проведением игры, такие как уровни сложности и т.д.
В онлайновом режиме пользователь 105 может взаимодействовать с другими игроками (не изображены на фиг.1), чтобы позволить проведение игры с множеством игроков. В частности, клиентское устройство 110 может быть соединено с сервером 116 развлечений с помощью сети 114, для того, чтобы позволить пользователю 105 взаимодействовать с другими пользователями (не изображены) при проведении игры с множеством игроков. Во время сеанса игры с множеством игроков пользователь 105 может пользоваться различными свойствами, связанными с работой игровой программы 112, которые влияют на проведение игры. Эти свойства могут включать в себя варианты работы игры, такие как, является ли пользовательское устройство воспроизведения невидимым, или имеет ли определенные возможности неуязвимости.
Пользователь 105 также может взаимодействовать с клиентским устройством 110 в автономном режиме, например, во время проведения игры с одним игроком. Затем пользователь 105 может заставить клиентское устройство 110 работать в онлайновом режиме. После этого перехода из автономного режима в онлайновый режим различные достижения, которые пользователь 105 сохранил во время проведения игры в автономном режиме, могут быть представлены другим игрокам, которые находятся в онлайновом режиме.
В соответствии с одним вариантом осуществления, предварительно существующая или первоначальная среда, например первоначальная операционная система 103, может быть заменена в клиентском устройстве 110, которая после замены на модифицированную операционную систему 102 теперь может поддерживать работу игровой программы 112, но только ограниченным способом. Модифицированная операционная система 102, например, может быть операционной системой, которая выполняет программное обеспечение развлечений или игр, но ограничивает пользователя 105 от участия в конкретном нежелательном мошенническом поведении.
В соответствии с одним вариантом осуществления, модифицированная операционная система 102 может быть операционной системой, которая создает ограниченную среду по отношению к выполнению игровых программ, например, 112. То есть, модифицированная операционная система 102 может быть сконструирована из первоначальной операционной системы 103 таким образом, чтобы ограничивать возможность пользователя 102 следовать определенному мошенническому поведению.
Например, первоначальная операционная система 103 может предусматривать установку любого драйвера устройств без ограничения, при условии, что драйвер подписан с помощью ключа, который сертифицирован с помощью одного или нескольких корневых источников сертификата. Модифицированная операционная система 102 может быть модифицирована с возможностью предотвращения определенных типов мошеннического поведения с помощью требования, чтобы любые драйверы устройств были подписаны с помощью конкретного ключа централизованного источника, и дополнительно может запретить обновление драйверов устройств с помощью местного администратора.
Доверенный внешний объект 104 может выполнять функции по отношению к клиенту 110, чтобы выполнять фактическую проверку того, что модифицированная операционная система 102 в действительности установлена и функционирует в клиентском устройстве 110. Доверенный внешний объект 104 может быть доверенным в том смысле, что его операции являются доверенными в более высокой степени, чем у объекта, который проверяется доверенным объектом 104, т.е. чем у модифицированной операционной системы 103. То есть, операции доверенного внешнего объекта 104 являются доверенными в значительно большей степени, чем поведение пользователя 105, чтобы иметь действительно установленную модифицированную операционную систему 102.
Фиг.1b - блок-схема последовательности этапов, изображающая работу процесса против мошенничества, в соответствии с одним вариантом осуществления. Процесс инициируют в 120. В 124 первоначальную операционную систему модифицируют, чтобы создать изолированную среду выполнения, которая может быть ограниченной средой выполнения, чтобы помешать пользователю участвовать в различных вариантах поведения против мошенничества. В 126 доверенный внешний объект выполняет проверку, чтобы определить, функционирует ли модифицированная операционная система в действительности, и установлена ли в конкретном клиентском устройстве. Процесс заканчивается в 128.
Фиг.2 - блок-схема доверенного модуля платформы и статического корневого каталога доверенного модуля, предназначенного для выполнения функции против мошенничества.
В частности, как изображено на фиг.2, функции доверенного внешнего объекта, изображенного на фиг.1, заменены на ТРМ 204. В соответствии с одним вариантом осуществления ТРМ 204 может выполнять функцию или операцию подтверждения.
В частности, ТРМ 204 может выполнять функцию подтверждения с помощью модуля 208 подтверждения. Подтверждение может относиться к процессу поручительства за точность информации, в частности установку и функционирование модифицированной операционной системы 102 в клиентском устройстве 110. ТРМ может подтверждать, например, для среды загрузки и конкретной цепочки загрузки, которая загружена в клиентском устройстве 110.
Подтверждение разрешает вносить изменения в программное обеспечение, выполняющееся в клиентском устройстве, однако все такие изменения в это программное обеспечение измеряют, позволяя решению санкционирования раскрыть секреты, или, чтобы позволить доступ к функциональным возможностям сети. Подтверждение может быть выполнено с помощью аппаратного обеспечения, связанного с клиентским устройством 102, чтобы генерировать сертификат, устанавливающий, какое программное обеспечение выполняется в текущий момент, например, модифицированная операционная система 102. Затем клиентское устройство 102 может представить этот сертификат удаленной стороне, такой как сервер 116 развлечений, чтобы показать, что его программное обеспечение, например, модифицированная операционная система 102, действительно является неповрежденной в клиентском устройстве 110 и не была подделана. Подтверждение может быть объединено, несмотря на то, что не обязательно необходимо, с методами шифрования, такими как, например, шифрование с открытым ключом, таким образом, что посланная информация может быть прочитана только с помощью программ, которые представлены и запрошены с помощью подтверждения, а не с помощью перехватчика. Такие методы шифрования могут защитить секретность пользователя, а также конфиденциальность протокола, использующегося с помощью системы.
В соответствии с одним вариантом осуществления, подтверждение может быть применено в контексте мер против мошенничества, чтобы определять, функционирует ли у пользователя конкретная версия системы или операционной системы. То есть подтверждение может быть выполнено с помощью модуля 208 подтверждения в ТРМ 204, чтобы проверить, что модифицированная операционная система 102 установлена и функционирует в клиентском устройстве 110. Например, может быть желательным заставить пользователя 105, чтобы у него функционировала модифицированная операционная система 102, а не первоначальная операционная система 103, так как модифицированная версия сама может иметь увеличенную секретность и защиту против мошенничества. То есть, как описано относительно фиг.1а, модифицированная операционная система 102 может содержать ограниченную среду, представленную с помощью изолированной среды 108 выполнения.
Однако пользователь 110 может пытаться принять участие в мошенническом поведении, притворяясь, что у него функционирует модифицированная операционная система 102, когда в действительности у пользователя 110 функционирует старая версия операционной системы, т.е. первоначальная операционная система 103. Это могло бы быть выполнено с помощью подбора определенных битов из новой версии (модифицированной операционной системы 102), в то время как в действительности функционирует старая версия (первоначальная операционная система 102), таким образом, ложно представляя, что у пользователя 105 функционирует новая версия (модифицированная операционная система 102). Такие методы являются широко распространенными в настоящее время, при этом после того, как сделана “заплата” в нарушенной системе DRM, злоумышленник либо получает новые секретные данные из заплатанной системы и помещает данные в старую нарушенную систему, ложно заставляя старую нарушенную систему казаться новой заплатанной системой, или с помощью применения той же формы атаки или немного модифицированной формы атаки в новой нарушенной системе, создавая новую нарушенную систему. В обоих случаях у злоумышленника не функционирует новая заплатанная система DRM. Увеличение трудности для злоумышленника в том, чтобы выполнить любые из этих действий, представляет большую часть работы при снятии “заплаты”. Разработчик должен иметь в виду легкость, с которой новые секреты могут быть извлечены, и легкость, с которой один и тот же класс атаки может быть применен к новой заплатанной системе. Таким образом, может быть желательным иметь подтверждение ТРМ 204 в том факте, что у пользователя 105 функционирует модифицированная операционная система 102, в противоположность либо первоначальной операционной системе 103, либо комбинации обеих операционных систем. В качестве альтернативы, желаемым компонентом может быть компонент аппаратного обеспечения. В этом случае может быть желательным, чтобы доверенный компонент подтверждал тот факт, что пользователь имеет конкретный компонент аппаратного обеспечения. Дополнительной альтернативой является, чтобы компонент аппаратного обеспечения непосредственно накладывал ограничения на то, какое программное обеспечение может выполняться, предотвращая непосредственную модификацию в среду. Дополнительной альтернативой является, чтобы компонент аппаратного обеспечения как накладывал ограничения на то, какое программное обеспечение может загружаться, так и, чтобы измерял и предоставлял подтверждение программного обеспечения, которое на самом деле загружено. Также гипервизор может выполнять оба или любое действие.
ТРМ 204 может содержать защищенный криптографический процессор (не изображен на фиг.2), которые может сохранять криптографические ключи, которые защищают информацию. ТРМ 204 может предоставлять средство для защищенной генерации криптографических ключей и ограничение их использования, дополнительно к аппаратному генератору псевдослучайных чисел. Кроме того, как описано, ТРМ 204 также может предоставлять функциональные возможности, такие как подтверждение и изолированная память. Подтверждение может быть выполнено с помощью ТРМ 204, создающего сумму почти не подделываемого хеш-ключа конфигурации аппаратного обеспечения и программного обеспечения, только конфигурации аппаратного обеспечения или только конфигурации программного обеспечения, такой как конфигурация аппаратного обеспечения и программного обеспечения клиентского устройства 110 (например, системы 102 и приложения 112). В соответствии с одним вариантом осуществления, сумма (суммы) не подделываемого хеш-ключа может быть сохранена в регистрах конфигурации платформы (“PCR”) 206.
Затем третья сторона, такая как сервер 116 развлечений, может проверить, что программное обеспечение, такое как модифицированная операционная система 204, является неповрежденным в клиентском устройстве 110 и не изменено, с использованием подтверждения, например, как описано относительно фиг.1а. Затем ТРМ 204 может выполнить процесс пломбирования, который шифрует данные таким способом, что они могут быть дешифрованы только, если ТРМ 204 выпустит связанный ключ дешифрования, что он делает только для программного обеспечения, которое имеет правильные идентификационные данные, измеренные в PCR ТРМ 204. С помощью задания во время процесса пломбирования, какое программное обеспечение может снять пломбирование секретов, сервер развлечений может позволить автономное использование этих секретов и, по-прежнему, поддерживает защиты.
Несмотря на то что SRTM 209 обеспечивает строгое измерение, может стать затруднительным, когда имеют дело с определенным числом отдельных двоичных файлов в современной операционной системе. Для того чтобы решить эту проблему, ТРМ 204 может выполнять измерение до предварительно определенного момента, когда защитой и целостностью остальной части системы можно управлять посредством другого механизма, такого как использование целостности кода и целостности диска, или другого механизма, основанного на целостности (описанного ниже).
Фиг.3а изображает работу целостности кода в соответствии с одним вариантом осуществления. Целостность кода может потребовать, чтобы любой загруженный двоичный файл мог быть подписан криптографическим способом с помощью доверенного корневого источника. Таким образом, как изображено на фиг.3а, двоичные файлы 304(1)-304(N), а также ядро 302 OS, подписаны криптографическим способом, т.е. существуют в среде 315, защищенной криптографическим способом. Для того чтобы различные файлы 304(1)-304(N) были использованы, они должны быть проверены с помощью доверенного корневого источника 306.
Например, некоторые операционные системы могут включать в себя механизм целостности кода для компонентов режима ядра. В соответствии с одним вариантом осуществления, этот существующий механизм может быть выгодно использован с помощью измерения ответственного компонента (и содержимого маршрута загрузки до этого момента), а затем может быть сделан вывод о защите ядра операционной системы. В соответствии с одним вариантом осуществления, двоичная подпись может быть перенесена в корневой каталог в новый ключ, чтобы ограничить множество драйверов, которые можно загрузить. Кроме того, расширение может быть добавлено в эту систему, чтобы потребовать, чтобы двоичные файлы пользовательского режима имели одни и те же подписи. Тем не менее, использование целостности кода может, все же, оставлять множество не двоичных файлов, которые являются существенными для защиты, таких как реестры или другие файлы конфигурации.
В соответствии с одним вариантом осуществления механизм целостности диска может предоставить способ, чтобы ставить заплаты в эти оставшиеся дыры. Фиг.3b изображает работу механизма целостности диска, в соответствии с одним вариантом осуществления. Целостность диска может попытаться обеспечить изолированную среду выполнения посредством управления носителем долгосрочного хранения, таким как жесткий диск. Таким образом, как изображено на фиг.3b, файлы 320(1)-320(N) диска, защищенного с точки зрения целостности, в среде 324 проверяют на целостность с использованием модуля 322, до того, как они могут быть использованы. При обеспечении того, что данные, считанные с диска, защищены криптографическим способом (например, подписаны цифровым способом), сложность внесения атакующего (с целью взлома системы) программного обеспечения в систему может быть увеличена, таким образом, делая особенно сложным продолжать атаку, если оно установлено.
В соответствии с моделью целостности диска, файлы в сегменте, например, 320(1)-320(N), могут быть подписаны с помощью корневого ключа. Это может потребовать, чтобы диск был фактически доступным только для чтения (поскольку файлы не могут быть подписаны в клиенте). Модель целостности диска может решить проблему уязвимости целостности кода посредством обеспечения того, что данные подписаны также как код.
В соответствии с альтернативным вариантом осуществления, может быть использован механизм посреднического выполнения. Посредническое выполнение может относиться к выполнению кода в любом месте, отличном от главного центрального процессора (“CPU”). Например, код может быть выполнен в защищенном процессоре, который может быть более устойчивым к подделке и отслеживанию, чем главный CPU. Таким образом, аппаратное обеспечение может быть использовано на новом уровне с помощью перемещения выполнения определенных частей кода в защищенный процессор различными способами.
В соответствии с одним вариантом осуществления, посредническое выполнение может быть дополнительно усилено с помощью требования, чтобы канал между CPU и защищенным процессором был лицензирован. В частности, фиг.4а изображает процесс посреднического выполнения, в соответствии с одним вариантом осуществления. Код 406 может быть выполнен в защищенном процессоре 404. Защищенный процессор 404 может связываться с CPU с помощью лицензированного канала 410.
В соответствии с одним вариантом осуществления, механизм посреднического выполнения может быть использован для того, чтобы связывать защищенный процессор с конкретным измерением кода SRTM, и, если лицензия периодически заканчивается, может быть использован для того, чтобы ускорять повторные проверки системы как вида восстановления. В соответствии с этим вариантом осуществления, вся связь между защищенным процессором и CPU (отличная от связи, необходимой, чтобы устанавливать канал) может потребовать знания ключа сеанса. Чтобы установить это, защищенный процессор может также непосредственно проверить подтверждение из ТРМ, если он имеет эту функциональную возможность, или, если он не имеет, или, если требуется большая гибкость контроля версий, доверенная третья сторона, такая как сервер 116 развлечений, может быть использована, чтобы осуществлять взаимодействие между ТРМ и защищенным процессором, при этом сервер развлечений проверят подтверждение из ТРМ, а затем предоставляет материал проверок и ключа, чтобы предусмотреть установление канала, защищенного криптографическим способом, между защищенным процессором и ТРМ. Затем ТРМ может предоставить эти секреты в CPU в следующих перезагрузках устройства, таким же образом, как ТРМ защищает все секреты в санкционированные значения PCR.
В соответствии с альтернативным вариантом осуществления, также может быть использован механизм индивидуализации. Индивидуализация может относиться к процессу создания и доставки кода, который связан с одной машиной или пользователем. Например, необходимый код для работы приложений может быть создан (либо по требованию, либо заранее и занесен в пул) в сервере и загружен в клиента как часть процесса активации.
В соответствии с одним вариантом осуществления, индивидуализация может попытаться уменьшить нарушения типа “Break Ones Run Everywhere” (“прерывать один раз выполнение в любом месте”), заставляя злоумышленника выполнять существенную работу для каждой машины, на которой он желает использовать пиратское содержимое. Поскольку двоичные файлы, созданные с помощью процесса индивидуализации, являются уникальными (или, по меньшей мере, “большей частью уникальными”), становится более трудным распространять средство вставки заплат, которое может ставить под угрозу все машины.
Индивидуализация может потребовать некоторого вида строгой идентификации для связывания машин, это может быть идентификатор аппаратного обеспечения. В традиционных системах DRM он был получен с помощью объединения ID различных частей аппаратного обеспечения в системе. В соответствии с одним вариантом осуществления, защищенный процессор может быть использован на новом уровне, чтобы предоставлять уникальный и строгий идентификатор программного обеспечения.
В определенных системах, таких как системы со слабо изолированной средой, способ, предназначенный для обнаружения мошенничества (и, в меньшей степени, пиратства), может использовать процесс сторожевой схемы, который может отвечать на вызовы из сервера 116 игр. Данные, собранные с помощью сервера 116 игр, позднее могут быть использованы для того, чтобы определять, была ли машина подвергнута угрозе, и если была, машина может быть удалена с запретом из сервера 116 игр и ей могут не дать получение дополнительных лицензий на содержание.
В одном варианте осуществления процесс сторожевой схемы сам может быть защищен с точки зрения целостности с помощью тех же механизмов, которые защищают операционную систему или среду выполнения, как описано в предыдущих вариантах осуществления выше.
Фиг.4b изображает работу процесса сторожевой схемы в соответствии с одним вариантом осуществления. Как изображено на фиг.4b, система 101 против мошенничества дополнительно может включать в себя процесс 430 сторожевой схемы в клиентском устройстве 110. Сервер 116 развлечений может генерировать защищенный вызов 432, который передают через сеть 114 и принимают с помощью процесса 430 сторожевой схемы. Процесс 430 сторожевой схемы, в свою очередь, может генерировать ответ 434, который затем он может передать через сеть 114 в сервер 116 развлечений. Кроме выполнения в модифицированной операционной системе 102, процесс 430 сторожевой схемы также может выполняться в гипервизоре.
Осуществление процесса 430 сторожевой схемы может потребовать осуществление нескольких критериев. Во-первых, не должно быть легко просто создать кодовую книгу ответов на эти вызовы, что означает, что множество вызовов должно быть большим, и правильные ответы не очевидно должны быть доступными для клиента. Процесс 430 сторожевой схемы может потребовать достаточной быстроты изменения, такой, что новые вызовы могли быть добавлены по желанию. В наихудшем случае злоумышленник мог бы установить чистую систему где-нибудь в Internet, таким образом, что клиентские системы, выполняющие программное обеспечение атаки, могли бы использовать ее как оракула. Чтобы предотвратить это, шифрование может быть применено к каналу между сервером 116 игр и процессом 430 сторожевой схемы (чтобы предотвратить простое отслеживание и человека в промежуточных атаках), и возможные ответы могут быть некоторым образом связаны с защищенным процессором, идентификационными данными машины или другим аппаратным обеспечением защиты, таким как ТРМ.
Также может быть использована схема многоуровневой защиты, в которой множество технологий разделены на уровни в различных комбинациях. Например, может быть использовано решение “двойной загрузки”, которое использует уменьшенный след атаки, целостность диска и SRTM.
В соответствии с альтернативным вариантом осуществления, вместо использования доверенного внешнего объекта 104, как изображено на фиг.1а, который может быть ТРМ, как описано ранее, доверенный объект может содержать само аппаратное устройство, на котором централизованно функционирует модифицированная операционная система 102 при условии, что это аппаратное устройство может обеспечивать то, что модифицированная операционная система 102 действительно функционирует в нем. Таким образом, как изображено на фиг.4с, система 101 против мошенничества осуществлена с помощью ограниченного аппаратного устройства 430, которое внутренне может обеспечивать работу и выполнение желаемой операционной системы, такой как модифицированная операционная система 102. Ограниченное аппаратное устройство 430 может быть, например, сотовым телефоном или кабельной телевизионной приставкой.
В соответствии с еще одним альтернативным вариантом осуществления, вместо использования доверенного внешнего объекта 104 в клиентском устройстве 110 может быть обеспечен гипервизор 440. Фиг.4d изображает работу системы против мошенничества с помощью гипервизора в соответствии с одним вариантом осуществления. Гипервизор 440 может принимать нагрузку измерения вместо использования SRTM в среде ТРМ, как описано выше. В соответствии с одним вариантом осуществления, гипервизор 440 может быть гипервизором измеренной перезагрузки. В соответствии с этим вариантом осуществления, может быть обеспечен механизм, чтобы определять идентификационные данные конкретного гипервизора 440, который выполняется, например, с помощью модуля 442 идентификационных данных гипервизора. Таким образом, например, сервер 116 развлечений может связываться с модулем идентификационных данных гипервизора, чтобы идентифицировать характер гипервизора. В свою очередь, гипервизор 440 может связываться с сервером 116 развлечений, чтобы информировать сервер 116 развлечений о наличии или отсутствии модифицированной операционной системы 102. Установка модифицированной операционной системы 102 обеспечивает контекст без мошенничества для работы игровой программы 112.
Фиг.5 изображает примерную вычислительную среду, в которой могут быть осуществлены аспекты примерных вариантов осуществления. Среда 500 вычислительной системы является только одним примером подходящей вычислительной среды, и не подразумевают, что она должна предложить какое-либо ограничение относительно рамок объема использования функциональных возможностей описанных примерных вариантов осуществления. Вычислительная среда 500 также не должна быть интерпретирована как имеющая какую-либо зависимость или требование,