Secure paging with page change detection

US2020287709A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020287709-A1
Application numberUS-201916296303-A
CountryUS
Kind codeA1
Filing dateMar 8, 2019
Priority dateMar 8, 2019
Publication dateSep 10, 2020
Grant date

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.

According to one or more embodiments of the present invention, a computer implemented method includes computing a hash value of a page of memory of a computer system and comparing the hash value with a previously computed hash value of the page. A per-encryption value per page can be used in encrypting the page based on determining that the hash value matches the previously computed hash value. A modified value of the per-encryption value per page can be used in encrypting the page based on determining that the hash value mismatches the previously computed hash value.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: computing a hash value of a page of memory of a computer system; comparing the hash value with a previously computed hash value of the page; using a per-encryption value per page in encrypting the page based on determining that the hash value matches the previously computed hash value; and using a modified value of the per-encryption value per page in encrypting the page based on determining that the hash value mismatches the previously computed hash value. 2 . The method of claim 1 , wherein the encrypting is performed by a secure control interface responsive to a request of a host to convert the page from a secure page to a non-secure page. 3 . The method of claim 2 , further comprising: providing the non-secure page as encrypted to the host for storage. 4 . The method of claim 3 , further comprising: storing the hash value in a secure table of the secure control interface. 5 . The method of claim 4 , further comprising: converting the non-secure page to the secure page; decrypting, by the secure interface control, the secure page based on the per-encryption value associated with the page to produce a decrypted page; computing a hash value of the decrypted page; comparing the hash value of the decrypted page with the hash value of the page as stored in the secure table; and validating the decrypted page based on determining that the hash value of the decrypted page matches the hash value stored in the secure table. 6 . The method of claim 2 , wherein the secure interface control comprises firmware, hardware, or a combination of firmware and hardware; the secure page is assigned to a secure container or a secure virtual machine managed by the host; and the host is a hypervisor or an operating system. 7 . The method of claim 1 , wherein encrypting the page incorporates a combination of an address value associated with the page, one or more random values, and the per-encryption value with a cryptographically-secure hash function. 8 . The method of claim 1 , wherein an initial value of the per-encryption value is established before the per-encryption value is used. 9 . A system comprising: a memory; a processing unit; and a secure interface control interfaced with the processing unit and the memory, the secure interface control configured to perform operations comprising: computing a hash value of a page of the memory; comparing the hash value with a previously computed hash value of the page; using a per-encryption value per page in encrypting the page based on determining that the hash value matches the previously computed hash value; and using a modified value of the per-encryption value per page in encrypting the page based on determining that the hash value mismatches the previously computed hash value. 10 . The system of claim 9 , wherein the encrypting is performed by the secure control interface responsive to a request of a host to convert the page from a secure page to a non-secure page. 11 . The system of claim 10 , wherein the operations further comprise providing the non-secure page as encrypted to the host for storage. 12 . The system of claim 11 , wherein the operations further comprise storing the hash value in a secure table of the secure control interface. 13 . The system of claim 12 , wherein the operations further comprise: converting the non-secure page to the secure page; decrypting, by the secure interface control, the secure page based on the per-encryption value associated with the page to produce a decrypted page; computing a hash value of the decrypted page; comparing the hash value of the decrypted page with the hash value of the page as stored in the secure table; and validating the decrypted page based on determining that the hash value of the decrypted page matches the hash value stored in the secure table. 14 . The system of claim 10 , wherein the secure interface control comprises firmware, hardware, or a combination of firmware and hardware; the secure page is assigned to a secure container or a secure virtual machine managed by the host; and the host is a hypervisor or an operating system. 15 . The system of claim 9 , wherein encrypting the page incorporates a combination of an address value associated with the page, one or more random values, and the per-encryption value with a cryptographically-secure hash function. 16 . The system of claim 9 , wherein an initial value of the per-encryption value is established before the per-encryption value is used. 17 . A computer program product comprising a computer readable storage medium, the computer readable storage medium comprising computer executable instructions, which when executed perform a method comprising: computing a hash value of a page of memory of a computer system; comparing the hash value with a previously computed hash value of the page; using a per-encryption value per page in encrypting the page based on determining that the hash value matches the previously computed hash value; and using a modified value of the per-encryption value per page in encrypting the page based on determining that the hash value mismatches the previously computed hash value. 18 . The computer program product of claim 17 , wherein the encrypting is performed by a secure control interface responsive to a request of a host to convert the page from a secure page to a non-secure page. 19 . The computer program product of claim 18 , wherein the executable instructions when executed further perform the method comprising: providing the non-secure page as encrypted to the host for storage. 20 . The computer program product of claim 19 , wherein the executable instructions when executed further perform the method comprising: storing the hash value in a secure table of the secure control interface. 21 . The computer program product of claim 20 , wherein the executable instructions when executed further perform the method comprising: converting the non-secure page to the secure page; decrypting, by the secure interface control, the secure page based on the per-encryption value associated with the page to produce a decrypted page; computing a hash value of the decrypted page; comparing the hash value of the decrypted page with the hash value of the page as stored in the secure table; and validating the decrypted page based on determining that the hash value of the decrypted page matches the hash value stored in the secure table. 22 . The computer program product of claim 18 , wherein the secure page is assigned to a secure container or a secure virtual machine managed by the host, and the host is a hypervisor or an operating system. 23 . The computer program product of claim 17 , wherein encrypting the page incorporates a combination of an address value associated with the page, one or more random values, and the per-encryption value with a cryptographically-secure hash function. 24 . The computer program product of claim 17 , wherein an initial value of the per-encryption value is established before the per-encryption value is used.

Assignees

Inventors

Classifications

  • involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD · CPC title

  • H04L9/0894Primary

    Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage · CPC title

  • to assure secure storage of data (address-based protection against unauthorised use of memory G06F12/14; record carriers for use with machines and with at least a part designed to carry digital markings G06K19/00) · CPC title

  • G06F12/145Primary

    the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism · CPC title

  • the protection being physical, e.g. cell, word, block · 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 US2020287709A1 cover?
According to one or more embodiments of the present invention, a computer implemented method includes computing a hash value of a page of memory of a computer system and comparing the hash value with a previously computed hash value of the page. A per-encryption value per page can be used in encrypting the page based on determining that the hash value matches the previously computed hash value.…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L9/0894. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Sep 10 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).