Pervasive package identifiers

US8990561B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-8990561-B2
Application numberUS-201113228695-A
CountryUS
Kind codeB2
Filing dateSep 9, 2011
Priority dateSep 9, 2011
Publication dateMar 24, 2015
Grant dateMar 24, 2015

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.

A package identifier for a package from which an application is installed on a computing device is obtained. The package identifier is assigned to each of one or more processes created for running the application and, for each of the one or more processes, whether the process is permitted to access a resource of the computing device is determined based at least in part on the package identifier.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: obtaining, at a computing device for an application installed on the computing device from a package, a package identifier for the package, the package identifier including an identifier of an architecture of computing devices on which the application is designed to operate, the application having been installed only if a publisher of the package included in the package identifier was verified as being the same as the publisher included in a digital certificate associated with the package; maintaining the package identifier in a protected manner such that the package identifier is accessible to an operating system of the device but not accessible to other applications of the device; assigning the package identifier to each of one or more processes created for the application, wherein each process created for the application includes a process token generated by the operating system of the computing device, the process incapable of modifying the process token; and determining, based at least in part on the package identifier, for each of the one or more processes whether the process is permitted to access a resource of the computing device. 2. The method as recited in claim 1 , the package identifier further including a name of the package and a name of the publisher of the package. 3. The method as recited in claim 2 , the package identifier further including an indication of a version of the package and a value identifying a resource type of the package. 4. The method as recited in claim 1 , the package including one or more components or modules of one or more applications. 5. The method as recited in claim 1 , the assigning comprising generating a security identifier based on the package identifier or family identifier of the package, and adding the security identifier to the process token of each of the one or more processes. 6. The method as recited in claim 5 , the determining comprising allowing, for each of the one or more processes, the process to access a folder of a storage device of the computing device only if an access control list associated with the folder indicates the security identifier of the process is permitted to access the folder. 7. The method as recited in claim 5 , the determining further comprising allowing, for each of the one or more processes, the process to access an additional process in the computing device only if the security identifier of the process and the security identifier of the additional process are the same. 8. The method as recited in claim 5 , the generating the security identifier comprising inputting one or more elements of the package identifier to a hash function to generate a hash value, and using the hash value as the security identifier. 9. The method as recited in claim 1 , the obtaining a package identifier for the package comprising obtaining the package identifier for the package from a manifest associated with the package. 10. The method as recited in claim 1 , further comprising, in response to loading of a library being requested: loading the library if the library is identified in a manifest of the package or in a manifest of a dependency package of the package; and otherwise not loading the library. 11. The method as recited in claim 1 , further comprising determining a process with which streaming code received by the computing device is associated based on the package identifier. 12. One or more computer storage media having stored thereon multiple instructions that, when executed by one or more processors of a computing device, cause the one or more processors to: obtain, at the computing device as part of installing one or more applications from a package on the computing device, a package identifier from the package, the package identifier including an identifier of an architecture of computing devices on which the application is designed to operate, the one or more applications being installed only if a publisher of the package included in the package identifier is the same as the publisher included in a digital certificate) associated with the package; maintain the package identifier in a protected manner such that the package identifier is accessible to an operating system of the device but not to other applications of the device; use a subset of elements of the package identifier to be a family identifier of the package; and assign the family identifier to each of one or more processes created for running the one or more applications, wherein each process created for an application comprises a process token with a security identifier based on the package identifier, the security identifier stored in the process token in a manner) that identifies the security identifier as being a package identifier security identifier. 13. One or more computer storage media as recited in claim 12 , the package identifier being obtained from a manifest associated with the package. 14. One or more computer storage media as recited in claim 12 , the subset of elements including a name of the package and a name of the publisher of the package. 15. One or more computer storage media as recited in claim 12 , the package including one or more components or modules of one or more applications. 16. One or more computer storage media as recited in claim 12 , the instructions causing the one or more processors to assign the family identifier to each of the one or more processes comprising instructions causing the one or more processors to generate a security identifier based on the family identifier and add the security identifier to the process token of each of the one or more processes. 17. One or more computer storage media as recited in claim 16 , the multiple instructions further causing the one or more processors to allow, for each of the one or more processes, the process to access a folder of a storage device of the computing device only if an access control list associated with the folder indicates the security identifier of the process is permitted to access the folder. 18. One or more computer storage media as recited in claim 16 , the multiple instructions further causing the one or more processors to allow, for each of the one or more processes, the process to access an additional process in the computing device only if the security identifier of the process and the security identifier of the additional process are the same. 19. A method comprising: obtaining, at a computing device as part of installing one or more applications from a package on the computing device, a package identifier from the package, the package identifier including a name of the package, a name of a publisher of the package, an identifier of an architecture of computing devices on which the application is designed to operate, an indication of a version of the package, and a value identifying a resource type of the package, the one or more applications being installed only if the publisher of the package included in the package identifier is verified to be the same as the publisher included in a digital certificate associated with the package; maintaining the package identifier in a protected manner such that the package identifier is accessible to an operating system of the device but not to other applications of the device; using a subset of elements of the package identifier to be a family identifier of the package, the subset of elements including the name of the package and the name of the publisher of the package; assigning the family identifier to each of on

Assignees

Inventors

Classifications

  • G06F9/468Primary

    Specific access rights for resources, e.g. using capability register · CPC title

  • Restricting unauthorised execution of programs · CPC title

  • Program or device authentication · CPC title

  • Test or assess software · CPC title

  • G06F21/52Primary

    during program execution, e.g. stack integrity {; Preventing unwanted data erasure; Buffer overflow} · 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 US8990561B2 cover?
A package identifier for a package from which an application is installed on a computing device is obtained. The package identifier is assigned to each of one or more processes created for running the application and, for each of the one or more processes, whether the process is permitted to access a resource of the computing device is determined based at least in part on the package identifier.
Who is the assignee on this patent?
Sheehan John M, Kapustein Howard S, Holman Jerome Thomas, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F9/468. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 24 2015 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).