Validation of user entitlement to game play

US9278289B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9278289-B2
Application numberUS-201313853868-A
CountryUS
Kind codeB2
Filing dateMar 29, 2013
Priority dateMar 29, 2013
Publication dateMar 8, 2016
Grant dateMar 8, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Various embodiments relating to validating a user's entitlement to play a game are provided. In one embodiment, a request for a user to play a game is received at a validation service. The request may include an obfuscate-encoded bundle including a signed user ID identifying the user, a signed hardware ID of a computing machine on which the game is requested to be played, and a signed receipt. The obfuscate-encoded bundle may be decoded and the request may be validated according to a plurality of security checks including determining that one or both of the signed hardware ID or the signed user ID respectively match a hardware ID and/or a user ID included in the signed receipt. If the request to play the game is valid, an authentication token may be sent to the computing machine that allows the user to play the game on the computing machine.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for validating a user's entitlement to play a game, the method comprising: at a validation service, receiving a request for the user to play the game, wherein the request to play the game includes an obfuscate-encoded bundle including a signed user ID identifying the user, a signed hardware ID of a computing machine on which the game is requested to be played, and a signed receipt; decoding the obfuscate-encoded bundle; determining whether the request to play the game is valid according to a plurality of security checks including determining that one or both of the signed hardware ID and the signed user ID respectively match a hardware ID and/or a user ID included in the signed receipt; and if the request to play the game is valid, sending an authentication token to the computing machine that allows the user to play the game on the computing machine. 2. The method of claim 1 , further comprising: if the request to play the game is invalid, preventing the user from playing the game on the computing machine. 3. The method of claim 1 , further comprising: for every qualifying game action of the game, receiving a request to perform the game action, wherein the request to perform the game action includes the obfuscate-encoded bundle; determining whether the request to perform the game action is valid according to the plurality of security checks including determining that the signed hardware ID or the signed user ID matches the hardware ID or the user ID included in the signed receipt; and if the request to perform the game action is valid, allowing the game action to be performed. 4. The method of claim 3 , wherein the game action includes at least one of granting to the user an achievement for the game, updating a leader board of the game, or storing a game statistic of the user. 5. The method of claim 1 , wherein the plurality of security checks includes comparing the signed hardware ID in the request to play the game with signed hardware IDs of previous requests for the user to play the game in order to determine a number of computing machines on which the user has played the game, if the number of computing machines on which the user has played the game is greater than a computing machine threshold, determining that the request is invalid, and if the request is invalid, preventing the user from playing the game on the computing machine. 6. The method of claim 1 , wherein the plurality of security checks includes one or more of determining that digital signatures of the signed user ID, the signed hardware ID and the signed receipt are valid, determining that a receipt issue time of the signed receipt is within a validity interval, and determining that a title ID of the game included in the signed receipt matches a title ID of the game included in the obfuscate-encoded bundle. 7. The method of claim 1 , wherein a digital signature of the signed hardware ID, a digital signature of the signed user ID, and a digital signature of the signed receipt are signed by services included in a same computing platform. 8. The method of claim 1 , wherein the signed hardware ID includes a component name and an ID for each of a plurality of components of the computing machine. 9. The method of claim 1 , wherein the computing machine executes a sandbox environment type operating system without direct hardware access and without administrator level access. 10. A method for validating a user's entitlement to play a game, the method comprising: at a validation service for every qualifying game action of the game, receiving a request to perform the game action, wherein the request to perform the game action includes an obfuscate-encoded bundle including a signed user ID identifying the user, a signed hardware ID of a computing machine on which the game action is requested to be performed, and a signed receipt; decoding the obfuscate-encoded bundle; determining whether the request to perform the game action is valid according to a plurality of security checks including determining that the signed hardware ID and the signed user ID respectively match a hardware ID and a user ID included in the signed receipt; and if the request to perform the game action is valid, allowing the game action to be performed on the computing machine. 11. The method of claim 10 , further comprising: if the request to perform the game action is invalid, preventing the game action from being performed on the computing machine. 12. The method of claim 10 , further comprising: if the request to perform the game action is valid, sending an authentication token to the computing machine that allows the user to play the game on the computing machine. 13. The method of claim 10 , wherein the game action includes at least one of launching the game, granting to the user an achievement for the game, updating a leader board of the game, or storing a game statistic of the user. 14. The method of claim 10 , wherein the plurality of security checks includes one or more of determining that digital signatures of the signed user ID, the signed hardware ID and the signed receipt are valid, determining that a receipt issue time of the signed receipt is within a validity interval, and determining that a title ID of the game included in the signed receipt matches a title ID of the game included in the obfuscate-encoded bundle. 15. The method of claim 10 , wherein a digital signature of the signed hardware ID, a digital signature of the signed user ID, and a digital signature of the signed receipt are signed by services included in a same computing platform. 16. The method of claim 10 , wherein the signed hardware ID includes a component name and an ID for each of a plurality of components of the computing machine. 17. The method of claim 10 , wherein the computing machine executes a sandbox environment type operating system without direct hardware access and without administrator level access. 18. A method for validating a user's entitlement to play a game, the method comprising: at a validation service, receiving a request including an obfuscate-encoded bundle including a signed user ID identifying the user, a signed hardware ID of a computing machine from which the request is sent, and a signed receipt; decoding the obfuscate-encoded bundle; comparing the signed hardware ID in the request with signed hardware IDs of previous requests for the user as identified by the user ID in order to determine a number of computing machines on which the user has played the game; and if the number of computing machines on which the user has played the game is greater than a computing machine threshold, preventing the user from playing the game on the computing machine. 19. The method of claim 18 , further comprising: if the number of computing machines on which the user has played the game is not greater than the computing machine threshold, allowing the user to play the game on the computing machine. 20. The method of claim 18 , wherein the signed hardware ID includes a component name and an ID for each of a plurality of components of the computing machine.

Assignees

Inventors

Classifications

  • Authorising game programs or game devices, e.g. checking authenticity · CPC title

  • A63F13/69Primary

    by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9278289B2 cover?
Various embodiments relating to validating a user's entitlement to play a game are provided. In one embodiment, a request for a user to play a game is received at a validation service. The request may include an obfuscate-encoded bundle including a signed user ID identifying the user, a signed hardware ID of a computing machine on which the game is requested to be played, and a signed receipt. …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification A63F13/69. Mapped technology areas include Human Necessities.
When was this patent published?
Publication date Tue Mar 08 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).