RU2541879C2 - Механизм против мошенничества на основе доверенного объекта - Google Patents

Механизм против мошенничества на основе доверенного объекта Download PDF

Info

Publication number
RU2541879C2
RU2541879C2 RU2011135738/08A RU2011135738A RU2541879C2 RU 2541879 C2 RU2541879 C2 RU 2541879C2 RU 2011135738/08 A RU2011135738/08 A RU 2011135738/08A RU 2011135738 A RU2011135738 A RU 2011135738A RU 2541879 C2 RU2541879 C2 RU 2541879C2
Authority
RU
Russia
Prior art keywords
operating system
resources
signed
computer
device drivers
Prior art date
Application number
RU2011135738/08A
Other languages
English (en)
Other versions
RU2011135738A (ru
Inventor
Кеннет Д. РЭЙ
Джеймс М. АЛКОУВ
Лонни Дин МАКМАЙКЛ
Натан Т. ЛЬЮИС
Патрик ШНЕЛЛЬ
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2011135738A publication Critical patent/RU2011135738A/ru
Application granted granted Critical
Publication of RU2541879C2 publication Critical patent/RU2541879C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

Изобретение относится к вычислительной технике. Технический результат заключается в предотвращении изменений в аппаратном и/или программном обеспечении, выполняемых в целях мошенничества. Способ предотвращения мошенничества, в котором выполняют первую операционную систему на устройстве, причем первая операционная система выполнена с возможностью допускать установку драйверов устройств без требования, что драйверы устройств должны быть подписаны с помощью конкретного ключа централизованного источника; осуществляют, с помощью доверенного компонента, мониторинг устройства и ограниченной операционной системы, выполняемой на устройстве, причем ограниченную операционную систему обеспечивают с помощью модификации первой операционной системы, выполняемой на устройстве, причем ограниченная операционная система выполнена с возможностью требования, что драйверы устройств должны быть подписаны с помощью конкретного ключа централизованного источника, чтобы быть установленными; ограничивают доступ к ресурсам на основе результатов мониторинга. 3 н. и 17 з.п. ф-лы, 10 ил.

Description

Уровень техники
Компьютерные игры стали очень прибыльной индустрией. Компьютерные игры развиты из простых текстовых игр в поглощающие среды мультимедиа, включающие в себя сложную анимационную графику, музыку и звук. Чтобы расширить интерактивность и социальные аспекты организации сети игр, онлайновая (с подключением к компьютерной сети) среда стала неотъемлемой частью опыта игр, позволяя энтузиастам игр участвовать в играх с множеством игроков, загружать новые игры, добавлять новые свойства к существующим играм, которыми они владеют, и т.д.
Онлайновая среда также создала новые возможности для игроков, чтобы участвовать в мошенничестве. Мошенничество относится к любой деятельности пользователя, такой как расширение программного обеспечения, чтобы получать нечестные преимущества относительно других игроков. В определенных средах, таких как игры с множеством игроков, мошенничество при работе в онлайновом режиме может стать более важным, чем мошенничество при работе в автономном режиме.
Мошенничество может принимать разные виды. Самый простой включает в себя модификацию локальных файлов данных, чтобы получить другие очки за активы в игре (например, значительно более быстрый автомобиль), или, чтобы модифицировать среду в игре, чтобы изменить достижения игры, чтобы изменить содержание сохраненных игр других игроков, или загрузить содержание сохраненных игр других игроков. Оно также может принимать физический вид. На 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 также не должна быть интерпретирована как имеющая какую-либо зависимость или требование, относящееся к любой одной из комбинаций компонентов, проиллюстрированных в иллюстративной вычислительной среде 500.
Примерные варианты осуществления могут действовать с многочисленными другими универсальными или специализированными средами или конфигурациями вычислительных систем. Примеры широко известных вычислительных систем, сред и/или конфигураций, которые могут быть подходящими для использования с примерными вариантами осуществления, включают в себя персональные компьютеры, компьютеры серверов, карманные или портативные переносные устройства, многопроцессорные системы, системы на основе микропроцессоров, телевизионные приставки, программируемую бытовую электронную аппаратуру, сетевые РС, миникомпьютеры, большие компьютеры, встроенные системы, распределенные вычислительные среды, которые включают в себя любые из вышеупомянутых систем или устройств, и тому подобные, но не ограничены ими.
Примерные варианты осуществления могут быть описаны в общем контексте выполняемых с помощью компьютера инструкций, таких как программные модули, выполняемые с помощью компьютера. Обычно программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или осуществляют конкретные абстрактные типы данных. Примерные варианты осуществления также могут быть осуществлены в распределенных вычислительных средах, в которых задачи выполняют с помощью удаленных устройств обработки, которые связаны через сеть связи или другую среду передачи данных. В распределенной вычислительной среде программные модули и другие данные могут быть расположены как на локальном, так и на удаленном компьютерном носителе данных, включающем в себя запоминающие устройства памяти.
Со ссылкой на фиг.5 иллюстративная система, предназначенная для осуществления примерных вариантов осуществления, включает в себя универсальное вычислительное устройство в виде компьютера 510. Компоненты компьютера 510 могут включать в себя устройство 520 обработки, системную память 530 и системную шину 521, которая соединяет различные компоненты системы, включая системную память, с устройством 520 обработки, но не ограничены ими. Устройство 520 обработки может представлять множество логических устройств обработки, таких как устройства, поддержанные в многопоточном процессоре. Системная шина 521 может быть любой из нескольких типов структур шин, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества архитектур шин. В качестве примера, а не ограничения, такие архитектуры включают в себя шину промышленной стандартной архитектуры (ISA), шину микроканальной архитектуры (МСА), шину усовершенствованной ISA (EISA), локальную шину ассоциации стандартов по видеоэлектронике и шину межсоединения периферийных компонентов (PCI) (также известную как шина расширения). Системная шина 521 также может быть осуществлена как одноточечное соединение, коммутирующая матрица или тому подобное, между связывающимися устройствами.
Компьютер 510 обычно включает в себя множество считываемых компьютером носителей данных. Считываемые компьютером носители данных могут быть любыми доступными носителями данных, доступ к которым может быть осуществлен с помощью компьютера 510, и включают в себя как энергозависимые, так и энергонезависимые носители данных, сменные и несменные носители данных. В качестве примера, а не ограничения, считываемые компьютером носители данных могут включать в себя компьютерные носители данных и среду связи. Компьютерный носитель данных включает в себя энергозависимый и энергонезависимый, сменный и несменный носитель данных, осуществленный любым способом или с помощью любой технологии, для хранения информации, такой как инструкции, доступные для чтения с помощью компьютера, структуры данных, программные модули или другие данные. Компьютерный носитель данных включает в себя RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CDROM, цифровой универсальный диск (DVD) или другую память на оптическом диске, магнитные кассеты, магнитную ленту, память на магнитном диске или другие устройства магнитной памяти, или любые другие носители данных, которые могут быть использованы для того, чтобы запоминать желаемую информацию, и доступ к которым может быть осуществлен с помощью компьютера 510, но не ограничен ими. Среда связи обычно осуществляет инструкции, доступные для чтения с помощью компьютера, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как сигнал несущей или другой транспортный механизм, и включает в себя любой носитель доставки информации. Понятие “модулированный сигнал данных” означает сигнал, который имеет одну или более из своих характеристик, установленных или измененных таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда связи включает в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную сеть, такую как акустическая, радиочастотная, инфракрасная и другие беспроводные среды. Комбинации любого из вышеупомянутого также должны быть включены в рамки объема считываемого компьютером носителя данных.
Системная память 530 включает в себя компьютерный носитель данных в виде энергозависимой и/или энергонезависимой памяти, такой как память, доступная только по чтению (ROM) 531, и память произвольного доступа (RAM) 532. Базовую систему 533 ввода/вывода (BIOS), содержащую базовые подпрограммы, которые помогают передавать информацию между элементами в компьютере 510, такую как во время запуска, обычно хранят в ROM 531. RAM 532 обычно содержит данные и/или программные модули, которые являются непосредственно доступными с помощью устройства 520 обработки, и/или в текущий момент являются управляемыми в устройстве управления 520. В качестве примера, а не ограничения, фиг.5 иллюстрирует операционную систему 534, прикладные программы 535, другие программные модули 536 и программные данные 537.
Компьютер 510 также может включать в себя другие сменные/несменные, энергозависимые/энергонезависимые компьютерные носители данных. Только в качестве примера, фиг.6 иллюстрирует накопитель 540 на жестком диске, который считывает со сменного, несменного магнитного диска 552 или записывает на сменный, несменный магнитный диск 552, накопитель 555 на оптическом диске, который считывает со сменного, несменного оптического диска 556 или записывает на сменный, несменный оптический диск 556, такой как CD ROM или другой оптический носитель данных. Другие сменные/несменные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут быть использованы в иллюстративной операционной среде, включают в себя кассеты магнитной ленты, карты флэш-памяти, цифровые универсальные диски, цифровую видео ленту, твердотельную RAM, твердотельную ROM и подобные, но не ограничены ими. Накопитель 541 на жестком диске обычно соединен с системной шиной 521 через интерфейс несменной памяти, такой как интерфейс 540, а накопитель 551 на магнитном диске и накопитель 555 на оптическом диске обычно соединены с системной шиной 521 с помощью интерфейса сменной памяти, такого как интерфейс 550.
Накопители и связанные с ними компьютерные носители данных, рассмотренные выше и проиллюстрированные на фиг.5, обеспечивают хранение инструкций, доступных для чтения с помощью компьютера, структур данных, программных модулей и других данных для компьютера 510. Например, на фиг.5 накопитель 541 на жестком диске проиллюстрирован как операционная система 544 хранения, прикладные программы 545, другие программные модули 546 и программные данные 547. Следует заметить, что эти компоненты могут быть либо теми же, что и операционная система 534, операционная система 544 хранения, прикладные программы 545, другие программные модули 546 и программные данные 547, прикладные программы 535, другие программные модули 536 и программные данные 547, или могут отличаться от них. Операционной системе 544, прикладным программам 545, другим программным модулям 546 и программным данным 547 в настоящей заявке даны разные номера, чтобы проиллюстрировать, как минимум, что они являются разными копиями. Пользователь может вводить команды и информацию в компьютер 510 через устройства ввода, такие как клавиатура 562 и устройство 561 указывания, обычно упомянутые как мышь, трекбол или сенсорная панель. Другие устройства ввода (не изображены) могут включать в себя микрофон, джойстик, игровую панель, спутниковую тарелку, сканер или тому подобные. Эти и другие устройства ввода часто соединяют с устройством 520 обработки через пользовательский входной интерфейс 560, который соединен с системной шиной, но могут быть соединены через другой интерфейс и структуру шины, такие как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 591 или другой тип устройства отображения также соединен с системной шиной 521 с помощью интерфейса, такого как видеоинтерфейс 590. Дополнительно к монитору, компьютеры также могут включать в себя другие периферийные устройства вывода, такие как громкоговорители 597 и принтер 596, которые могут быть соединены через выходной периферийный интерфейс 595.
Компьютер 510 может работать в сетевой среде с использованием логических соединений с одним или более удаленными компьютерами, такими как компьютер 580. Удаленный компьютер 580 может быть персональным компьютером, сервером, маршрутизатором, сетевым РС, одноранговым устройством или другим обычным узлом сети и обычно включает в себя многие или все из элементов, описанных выше относительно компьютера 510, несмотря на то что только запоминающее устройство 581 памяти проиллюстрировано на фиг.5. Логические соединения, изображенные на фиг.5, включают в себя локальную сеть (LAN) 571 и глобальную сеть (WAN) 573, но также могут включать в себя другие сети. Такие сетевые среды являются обычными в офисах, в компьютерных сетях масштаба предприятия, интрасетях и Internet.
Когда использован в сетевой среде LAN, компьютер 510 соединен с LAN 571 через сетевой интерфейс или адаптер 570. Когда использован в сетевой среде WAN, компьютер 510 обычно включает в себя модем 572 или другое средство для установления связи через WAN 573, такую как Internet. Модем 572, который может быть внутренним или внешним, может быть соединен с системной шиной 521 с помощью пользовательского входного интерфейса 560 или другого подходящего механизма. В сетевой среде программные модули, изображенные относительно компьютера 510, или их части, могут быть сохранены в удаленном запоминающем устройстве памяти. В качестве примера, а не ограничения, фиг.5 иллюстрирует удаленные прикладные программы 585 как находящиеся в устройстве 581 памяти. Будет понятно, что изображенные сетевые соединения являются иллюстративными, и могут быть использованы другие средства установления линии связи между компьютерами.
Вычислительная среда 500 обычно включает в себя, по меньшей мере, некоторый вид считываемого компьютером носителя данных. Считываемые компьютером носители данных могут быть любыми доступными носителями данных, доступ к которым может быть осуществлен с помощью вычислительной среды 500. В качестве примера, а не ограничения, считываемые компьютером носители данных могут включать в себя компьютерные носители данных и среды связи. Компьютерный носитель данных включает в себя энергозависимый и энергонезависимый, сменный и несменный носитель данных, осуществленный любым способом или с помощью любой технологии, для хранения информации, такой как инструкции, доступные для чтения с помощью компьютера, структуры данных, программные модули или другие данные. Компьютерный носитель данных включает в себя RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CDROM, цифровой универсальный диск (DVD) или другую память на оптическом диске, магнитные кассеты, магнитную ленту, память на магнитном диске или другие устройства магнитной памяти, или любые другие носители данных, которые могут быть использованы, для того, чтобы запоминать желаемую информацию, и доступ к которым может быть осуществлен с помощью вычислительной среды 500, но не ограничен ими. Среда связи обычно осуществляет инструкции, доступные для чтения с помощью компьютера, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как сигнал несущей или другой транспортный механизм, и включает в себя любой носитель доставки информации. Понятие “модулированный сигнал данных” означает сигнал, который имеет одну или более из своих характеристик, установленных или измененных таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда связи включает в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая, радиочастотная, инфракрасная и другие беспроводные среды. Комбинации любого из вышеупомянутого также должны быть включены в рамки объема считываемого компьютером носителя данных.
Несмотря на то, что предмет описан на языке, специфичном для структурных признаков и/или методологических действий, следует понимать, что предмет изобретения, определенный в прилагаемой формуле изобретения, не обязательно ограничен конкретными признаками и действиями, описанными выше. Вместо этого конкретные признаки и действия, описанные выше, раскрыты как примерные формы осуществления формулы изобретения.
Предмет изобретения описан со степенью конкретности, достаточной, чтобы отвечать установленным законом требованиям. Однако не подразумевают, что само описание должно ограничивать рамки объема этого патента. Вместо этого предполагают, что заявленный предмет мог бы также быть осуществлен другими способами, с возможностью включения разных этапов или комбинаций этапов, подобных этапам, описанным в этом документе, совместно с другими настоящими или будущими технологиями.

Claims (20)

1. Способ предотвращения мошенничества, содержащий этапы, на которых:
выполняют первую операционную систему на устройстве, причем первая операционная система выполнена с возможностью допускать установку драйверов устройств без требования, что драйверы устройств должны быть подписаны с помощью конкретного ключа централизованного источника;
осуществляют, с помощью доверенного компонента, мониторинг устройства и ограниченной операционной системы, выполняемой на устройстве, причем ограниченную операционную систему обеспечивают с помощью модификации первой операционной системы, выполняемой на устройстве, причем ограниченная операционная система выполнена с возможностью требования, что драйверы устройств должны быть подписаны с помощью конкретного ключа централизованного источника, чтобы быть установленными;
ограничивают доступ к ресурсам на основе результатов мониторинга.
2. Способ по п.1, в котором ресурсы являются необходимыми секретами.
3. Способ по п.1, в котором ресурсы являются сетевыми услугами.
4. Способ по п.1, в котором ресурсы являются дополнительным аппаратным обеспечением.
5. Способ по п.1, в котором доверенный компонент является доверенным модулем платформы.
6. Способ по п.5, в котором доверенный модуль платформы вместе с программным обеспечением, функционирующим в устройстве, генерируют статический корневой каталог измерения доверия.
7. Способ по п.6, дополнительно содержащий этап, на котором выполняют операцию целостности кода.
8. Способ по п.7, дополнительно содержащий этап, на котором выполняют операцию целостности диска.
9. Способ по п.7, дополнительно содержащий этап, на котором выполняют операцию посреднического выполнения.
10. Способ по п.9, причем операция посреднического выполнения использует криптографический канал, предоставляемый внешним сервером.
11. Способ по п.7, дополнительно содержащий этап, на котором выполняют механизм индивидуализации.
12. Способ по п.1, дополнительно содержащий этап, на котором выполняют операцию обеспечения безопасности.
13. Считываемое компьютером запоминающее устройство, содержащее инструкции для предотвращения мошенничества, причем инструкции включают в себя:
выполнение первой операционной системы на устройстве, причем первая операционная система выполнена с возможностью допускать установку драйверов устройств без требования, что драйверы устройств должны быть подписаны с помощью конкретного ключа централизованного источника;
мониторинг устройства, с помощью доверенного компонента, и ограниченной операционной системы, причем ограниченную операционную систему обеспечивают с помощью модификации первой операционной системы, выполняемой на устройстве, причем ограниченная операционная система выполнена с возможностью требования, что драйверы устройств должны быть подписаны с помощью конкретного ключа централизованного источника, чтобы быть установленными;
ограничение доступа к ресурсам на основе результатов мониторинга.
14. Считываемое компьютером запоминающее устройство по п.13, причем ресурсы являются необходимыми секретами.
15. Считываемое компьютером запоминающее устройство по п.13, причем ресурсы являются сетевыми услугами.
16. Считываемое компьютером запоминающее устройство по п.13, причем ресурсы являются дополнительным аппаратным обеспечением.
17. Система для предотвращения мошенничества, содержащая: устройство,
первую операционную систему для выполнения, по меньшей мере, одного приложения на устройстве, причем первая операционная система выполнена с возможностью допускать установку драйверов устройств без требования, что драйверы устройств должны быть подписаны с помощью конкретного ключа централизованного источника;
ограниченную операционную систему для выполнения, по меньшей мере, одного приложения на устройстве, причем ограниченная операционная система модифицирована из первой операционной системы, выполняемой на устройстве, причем ограниченная операционная система выполнена с возможностью требования, что драйверы устройств должны быть подписаны с помощью конкретного ключа централизованного источника, чтобы быть установленными; и
модуль, выполненный с возможностью:
мониторинга устройства и ограниченной операционной системы; и
ограничения доступа к ресурсам на основе результатов мониторинга.
18. Система по п.17, в которой ресурсы являются необходимыми секретами.
19. Система по п.17, в которой ресурсы являются сетевыми услугами.
20. Система по п.17, в которой ресурсы являются дополнительным аппаратным обеспечением.
RU2011135738/08A 2009-02-27 2010-01-21 Механизм против мошенничества на основе доверенного объекта RU2541879C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/394,430 US9805196B2 (en) 2009-02-27 2009-02-27 Trusted entity based anti-cheating mechanism
US12/394,430 2009-02-27
PCT/US2010/021563 WO2010098910A2 (en) 2009-02-27 2010-01-21 Trusted entity based anti-cheating mechanism

Publications (2)

Publication Number Publication Date
RU2011135738A RU2011135738A (ru) 2013-03-10
RU2541879C2 true RU2541879C2 (ru) 2015-02-20

Family

ID=42666137

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011135738/08A RU2541879C2 (ru) 2009-02-27 2010-01-21 Механизм против мошенничества на основе доверенного объекта

Country Status (8)

Country Link
US (1) US9805196B2 (ru)
EP (1) EP2401716A4 (ru)
JP (1) JP5754673B2 (ru)
KR (1) KR101663338B1 (ru)
CN (1) CN102334140B (ru)
BR (1) BRPI1006988A2 (ru)
RU (1) RU2541879C2 (ru)
WO (1) WO2010098910A2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2648508C1 (ru) * 2016-12-26 2018-03-26 Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) Способ оценки способности узла компьютерной сети функционировать в условиях информационно-технических воздействий

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210258B1 (ko) * 2010-05-25 2012-12-10 주식회사 잉카인터넷 온라인 게임에서 핵 툴 사용 정보 표시방법
WO2012138551A1 (en) * 2011-04-05 2012-10-11 Assured Information Security, Inc. Trust verification of a computing platform using a peripheral device
US9619653B2 (en) * 2012-07-31 2017-04-11 Adobe Systems Incorporated System and method for detecting a security compromise on a device
US9278289B2 (en) 2013-03-29 2016-03-08 Microsoft Technology Licensing, Llc Validation of user entitlement to game play
US10257548B2 (en) * 2013-07-02 2019-04-09 Sony Corporation Content-bound trusted executables
CN104348804B (zh) * 2013-08-01 2018-08-03 腾讯科技(深圳)有限公司 离线自动锁定业务的方法、装置及系统
CN103646197B (zh) * 2013-12-12 2016-06-15 中国石油大学(华东) 基于用户行为的用户可信度认证系统及方法
FR3030831B1 (fr) * 2014-12-23 2018-03-02 Idemia France Entite electronique securisee, appareil electronique et procede de verification de l’integrite de donnees memorisees dans une telle entite electronique securisee
US10417218B2 (en) 2015-12-23 2019-09-17 Intel Corporation Techniques to achieve ordering among storage device transactions
US10114949B2 (en) * 2015-12-24 2018-10-30 Mcafee, Llc Techniques for monitoring integrity of OS security routine
US10452840B2 (en) * 2016-07-14 2019-10-22 Qualcomm Incorporated Devices and methods for classifying an execution session
US11373010B2 (en) * 2017-01-04 2022-06-28 Gerhard Schwartz Asymmetrical system and network architecture
EP3495979A1 (de) * 2017-12-08 2019-06-12 Siemens Aktiengesellschaft Verfahren und bestätigungsvorrichtung zur integritätsbestätigung eines systems
US10965551B2 (en) * 2018-11-21 2021-03-30 Microsoft Technology Licensing, Llc Secure count in cloud computing networks
WO2020148448A1 (en) 2019-01-19 2020-07-23 Anybrain, S.A System and method for fraud prevention in esports
CN113256278A (zh) * 2020-02-12 2021-08-13 梅特勒-托利多(常州)精密仪器有限公司 基于区块链的测量设备租赁方法及装置
US11439911B2 (en) * 2020-04-07 2022-09-13 Riot Games, Inc. Systems and methods for anti-cheat detection
US11458409B2 (en) * 2020-05-27 2022-10-04 Nvidia Corporation Automatic classification and reporting of inappropriate language in online applications
US11266911B1 (en) * 2020-09-21 2022-03-08 Nintendo Co., Ltd. Systems and method for identifying modified program data
US20220147616A1 (en) * 2020-11-11 2022-05-12 Red Hat, Inc. Implementing trusted clients using secure execution environments
CN115277259B (zh) * 2022-09-27 2023-02-28 南湖实验室 一种支持隐私计算持久化数据大规模跨平台迁徙的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2161821C2 (ru) * 1994-03-16 2001-01-10 Жемплю Кард Энтернасьональ Игровой автомат

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7430670B1 (en) 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US6508706B2 (en) * 2001-06-21 2003-01-21 David Howard Sitrick Electronic interactive gaming apparatus, system and methodology
GB2382419B (en) 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
EP1329787B1 (en) 2002-01-16 2019-08-28 Texas Instruments Incorporated Secure mode indicator for smart phone or PDA
JP3863447B2 (ja) 2002-03-08 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証システム、ファームウェア装置、電気機器、及び認証方法
US7296154B2 (en) 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
US8484696B2 (en) * 2002-07-05 2013-07-09 Igt Secure game download
GB2391341A (en) * 2002-07-31 2004-02-04 Hewlett Packard Co A method of validating the rights of a user to participate in an interactive computer environment
US7694139B2 (en) 2002-10-24 2010-04-06 Symantec Corporation Securing executable content using a trusted computing platform
US7904720B2 (en) 2002-11-06 2011-03-08 Palo Alto Research Center Incorporated System and method for providing secure resource management
US7974416B2 (en) 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
KR20040054493A (ko) 2002-12-18 2004-06-25 텍사스 인스트루먼츠 인코포레이티드 스마트 폰 또는 pda용 보안 모드 지시기
JP2004265286A (ja) 2003-03-04 2004-09-24 Fujitsu Ltd 環境に応じて選択されたセキュリティ・ポリシーに従うモバイル機器の管理
CA2724141A1 (en) 2003-03-10 2004-09-23 Mudalla Technology, Inc. Dynamic configuration of a gaming system
US7288027B2 (en) * 2003-05-28 2007-10-30 Microsoft Corporation Cheater detection in a multi-player gaming environment
US7530103B2 (en) 2003-08-07 2009-05-05 Microsoft Corporation Projection of trustworthiness from a trusted environment to an untrusted environment
US7103779B2 (en) 2003-09-18 2006-09-05 Apple Computer, Inc. Method and apparatus for incremental code signing
US7418512B2 (en) 2003-10-23 2008-08-26 Microsoft Corporation Securely identifying an executable to a trust-determining entity
JP4064914B2 (ja) 2003-12-02 2008-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム
US7500267B2 (en) 2004-04-30 2009-03-03 Microsoft Corporation Systems and methods for disabling software components to protect digital media
US7360253B2 (en) 2004-12-23 2008-04-15 Microsoft Corporation System and method to lock TPM always ‘on’ using a monitor
US7725703B2 (en) 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
US7752428B2 (en) 2005-03-31 2010-07-06 Intel Corporation System and method for trusted early boot flow
US20060294380A1 (en) 2005-06-28 2006-12-28 Selim Aissi Mechanism to evaluate a token enabled computer system
EP1952233A2 (en) * 2005-10-21 2008-08-06 Vir2us, Inc. Computer security method having operating system virtualization allowing multiple operating system instances to securely share single machine resources
US8020001B2 (en) 2006-02-23 2011-09-13 Qualcomm Incorporated Trusted code groups
JP4769608B2 (ja) 2006-03-22 2011-09-07 富士通株式会社 起動検証機能を有する情報処理装置
JP4855194B2 (ja) 2006-09-15 2012-01-18 三菱電機株式会社 検疫装置、検疫プログラム及び検疫方法
US8510859B2 (en) * 2006-09-26 2013-08-13 Intel Corporation Methods and arrangements to launch trusted, co-existing environments
US8364975B2 (en) * 2006-12-29 2013-01-29 Intel Corporation Methods and apparatus for protecting data
JP4998019B2 (ja) 2007-03-06 2012-08-15 富士通株式会社 状態表示制御装置
US7853804B2 (en) * 2007-09-10 2010-12-14 Lenovo (Singapore) Pte. Ltd. System and method for secure data disposal
US8352740B2 (en) * 2008-05-23 2013-01-08 Microsoft Corporation Secure execution environment on external device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2161821C2 (ru) * 1994-03-16 2001-01-10 Жемплю Кард Энтернасьональ Игровой автомат

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2648508C1 (ru) * 2016-12-26 2018-03-26 Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) Способ оценки способности узла компьютерной сети функционировать в условиях информационно-технических воздействий

Also Published As

Publication number Publication date
CN102334140A (zh) 2012-01-25
WO2010098910A2 (en) 2010-09-02
JP5754673B2 (ja) 2015-07-29
KR20110126122A (ko) 2011-11-22
US20100223656A1 (en) 2010-09-02
US9805196B2 (en) 2017-10-31
EP2401716A2 (en) 2012-01-04
KR101663338B1 (ko) 2016-10-06
WO2010098910A3 (en) 2010-11-04
EP2401716A4 (en) 2012-08-08
RU2011135738A (ru) 2013-03-10
CN102334140B (zh) 2016-08-03
JP2012519325A (ja) 2012-08-23
BRPI1006988A2 (pt) 2016-04-19

Similar Documents

Publication Publication Date Title
RU2541879C2 (ru) Механизм против мошенничества на основе доверенного объекта
US8239967B2 (en) Simultaneous tamper-proofing and anti-piracy protection of software
US9189605B2 (en) Protected computing environment
JP6357158B2 (ja) 仮想マシンによる安全なデータ処理
JP5992457B2 (ja) オペレーティングシステムのコンフィグレーション値の保護
US8510861B2 (en) Anti-piracy software protection system and method
Backes et al. Appguard–fine-grained policy enforcement for untrusted android applications
Bauman et al. A case for protecting computer games with SGX
JP5636371B2 (ja) 汎用コンピューティングデバイスにおけるコード実行制御および再帰的セキュリティプロトコルでのコード実行制御のための方法およびシステム
US20050060568A1 (en) Controlling access to data
Reid et al. DRM, trusted computing and operating system architecture
US8656190B2 (en) One time settable tamper resistant software repository
Jeong et al. An anti-piracy mechanism based on class separation and dynamic loading for android applications
Zaidenberg et al. Trusted computing and drm
Myles et al. Content protection for games
TWI428786B (zh) 建立一受保護之計算環境的方法
KR101265887B1 (ko) 보호 컴퓨팅 환경을 제공하는 방법 및 장치 내에 보호 환경을 설정하는 방법
Jeong et al. Preventing execution of unauthorized applications using dynamic loading and integrity check on android smartphones
US8661234B2 (en) Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities
WO2006011888A1 (en) Dual virtual machine architecture for media devices
Maña et al. Protected computing vs. trusted computing
Jaakkola et al. Detecting piracy in standalone and network licensing systems
Skaar The potential of Trusted Computing for Strengthening Security in Massively Multiplayer Online Games
Blight Trusted Computing

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150410