Updating software

US10007510B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10007510-B2
Application numberUS-201614994105-A
CountryUS
Kind codeB2
Filing dateJan 12, 2016
Priority dateJan 19, 2011
Publication dateJun 26, 2018
Grant dateJun 26, 2018

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.

This invention relates to a method and apparatus for updating software. In particular this invention relates to a method, system and computer program for updating an operating system in a hypervisor comprising: determining a new version of a component of the operating system; installing the new component version; measuring an identifying characteristic of the component and making it available to an attestation system; notifying the attestation system that a component has been updated to a new version whereby, when the attestation system finds that the identifying characteristic of the new component does not match a pre-stored attestation value it is aware that a legitimate mis-match could have occurred. The installing of the new version of the component comprises: identifying an updater associated with new version of the component; measuring an identifying characteristic of the identified updater; loading and installing the new version of the component; and making both the identifying measurement of the updater and the new version of the component available to the attestation system.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: installing, with respect to a set of boot components in a chain of trust, new code forming part of the chain of trust during a boot process in an execution environment; measuring an identifying characteristic of the new code; modifying a pre-stored attestation value corresponding to the chain of trust to create a revised attestation value by adding the identifying characteristic of the new code; making the revised attestation value available to an attestation system; notifying the attestation system that the revised attestation value corresponds to the chain of trust including the new code; responsive to the attestation system finding that the identifying characteristic of the new code matches the revised attestation value, validating the new code in the executing environment; detecting, by the attestation system, a set of agreed registers to store the identifying characteristic for the new code, wherein the set of agreed registers includes both a first agreed register having a first attestation value and a second agreed register having a second attestation value; and identifying a first boot event in a trusted boot event log including a set of metadata indicating updates to the set of agreed registers. 2. The method of claim 1 , further comprising: establishing, using a hypervisor, the chain of trust for the set of boot components, wherein the hypervisor represents a trust anchor for the chain of trust. 3. The method of claim 2 , further comprising: preventing access to the attestation system by the hypervisor. 4. The method of claim 1 , further comprising: updating, without breaking the chain of trust, a software version of the set of boot components. 5. The method of claim 1 , further comprising: determining, by the attestation system in response to reading the first attestation value of the first agreed register, that a first updater measures a first trusted value; inferring, by the attestation system, in response to determining that the first updater measures the first trusted value, that the second attestation value of the second agreed register measures a second trusted value; and comparing the second attestation value to a measured value of a second updater. 6. The method of claim 5 , further comprising: identifying, to determine that the first updater measures the first trusted value, the first updater in a master list of trusted updaters. 7. A system comprising: a memory having a set of computer readable computer instructions, and a processor for executing the set of computer readable computer instructions, the set of computer readable computer instructions including: installing, with respect to a set of boot components in a chain of trust, new code forming part of the chain of trust during a boot process in an execution environment; measuring an identifying characteristic of the new code; modifying a pre-stored attestation value corresponding to the chain of trust to create a revised attestation value by adding the identifying characteristic of the new code; making the revised attestation value available to an attestation system; notifying the attestation system that that the revised attestation value corresponds to the chain of trust including the new code; responsive to the attestation system finding that the identifying characteristic of the new code matches the revised attestation value, validating the new code in the executing environment; detecting, by the attestation system, a set of agreed registers to store the identifying characteristic for the new code, wherein the set of agreed registers includes both a first agreed register having a first attestation value and a second agreed register having a second attestation value; and identifying a first boot event in a trusted boot event log including a set of metadata indicating updates to the set of agreed registers. 8. The system of claim 7 , wherein the program installation process for the set of boot components comprises: determining, by the attestation system in response to reading the first attestation value of the first agreed register, that a first updater measures a first trusted value; inferring, by the attestation system, in response to determining that the first updater measures the first trusted value, that the second attestation value of the second agreed register measures a second trusted value; and comparing the second attestation value to a measured value of a second updater. 9. The system of claim 8 , further comprising: identifying, to determine that the first updater measures the first trusted value, the first updater in a master list of trusted updaters. 10. The system of claim 7 , further comprising: establishing, using a hypervisor, the chain of trust for the set of boot components, wherein the hypervisor represents a trust anchor for the chain of trust. 11. The system of claim 7 , further comprising: identifying, to determine that the first updater measures the first trusted value, the first updater in a master list of trusted updaters. 12. A system comprising: a memory having a set of computer readable computer instructions, and a processor for executing the set of computer readable instructions, the set of computer readable instructions including: program instructions to load, using a boot process, a first set of boot components in a chain of trust; program instructions to store, in a platform configuration register, a first set of boot component measurements for the first set of boot components, the first set of boot component measurement representing a first set of attestation values for use in verifying the chain of trust; program instructions to load, with respect to the first set of boot components, an update forming part of the chain of trust during a boot process in an execution environment, the update creating a second set of boot components; program instructions to detect, for the second set of boot components, a second set of boot component measurements; program instructions to store, in the platform configuration register, the second set of boot component measurements as a second set of attestation values; program instructions to notify an attestation system that the second set of attestation values correspond to the chain of trust including the update; program instructions to retrieve, by an attestation process performed by the attestation system, based on the notice, the second set of attestation values for attestation of the chain of trust; program instructions to compare, by the attestation process, the second set of boot component measurements with the second set of attestation values; program instructions to determine, by the attestation process and based on comparing the second set of boot component measurements with the second set of attestation values, a pass indication for the chain of trust including the update; and program instructions to perform, in response to determining the pass indication for the chain of trust, the update for the second set of boot components. 13. The system of claim 12 , storing, in the platform configuration register, the second set of boot component measurements as a second set of attestation values includes: modifying the first set of boot component measurements in the platform configuration register. 14. A computer program product comprising a non-transitory computer-readable storage medium having a set of instructions stored therein which, when executed by a processor, causes the processor to validate new code by: installing, with respect to a set of boot components in a chain of trus

Assignees

Inventors

Classifications

  • Secure boot · CPC title

  • Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities · CPC title

  • Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • Software deployment · 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 US10007510B2 cover?
This invention relates to a method and apparatus for updating software. In particular this invention relates to a method, system and computer program for updating an operating system in a hypervisor comprising: determining a new version of a component of the operating system; installing the new component version; measuring an identifying characteristic of the component and making it avail…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 26 2018 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 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).