WO2017014727A1 - Data tamper detection - Google Patents

Data tamper detection

Info

Publication number
WO2017014727A1
WO2017014727A1 PCT/US2015/040949 US2015040949W WO2017014727A1 WO 2017014727 A1 WO2017014727 A1 WO 2017014727A1 US 2015040949 W US2015040949 W US 2015040949W WO 2017014727 A1 WO2017014727 A1 WO 2017014727A1
Authority
WO
Grant status
Application
Patent type
Prior art keywords
file
digest
storage
data
system
Prior art date
Application number
PCT/US2015/040949
Other languages
French (fr)
Inventor
Justin E. York
Original Assignee
Hewlett Packard Enterprise Development Lp
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

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication 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 communication 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/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communication 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Abstract

Examples include a system for data tamper detection including an encrypted storage volume and an unencrypted storage volume, a digest calculation engine to calculate a digest for a file, an encryption engine to encrypt the calculated digest for the file, and a storage engine to store the encrypted calculated digest in the encrypted storage volume and to store a data component for the file in the unencrypted storage volume. In some examples, the file is read into a memory space, a digest calculation is performed on the file, a saved digest calculation is loaded from an encrypted disk volume, and the digest calculation performed on the file is compared with the saved digest calculation.

Description

DATA TAMPER DETECTION

BACKGROUND

[0001] Computing systems, devices, and electronic components may utilize content in the form of digital files. A computer system may create files, store files, or receive files on, for example, a disk drive. Such files may contain data designated at various levels of sensitivity, and may be subject to tampering.

BRIEF DESCRIPTION OF THE DRAWINGS

[0002] The following detailed description references the drawings, wherein:

[0003] FIG. 1 is a block diagram of a system for data tamper detection, according to an example;

[0004] FIG. 2 is a flowchart of writing a file to support data tamper detection upon reading the file, according to an example;

[0005] FIG. 3 is a flowchart of detecting data tampering of a file; and

[0008] FIG. 4 is a block diagram of a computing device to detect data tampering, according to an example.

DETAILED DESCRIPTION

[0007] Various examples described below provide a system for data tamper detection including an encrypted storage volume and an unencrypted storage volume. To write a file, a digest calculation engine may calculate a digest for the file, an encryption engine may encrypt the calculated digest for the file, and a storage engine may store the encrypted calculated digest in the encrypted storage volume and store a data component for the file in the unencrypted storage volume.

[0008] In some examples, to read the file and detect data tampering, the file is read into a memory space, a digest calculation is performed (or "recalculated") on the file, a saved digest calculation is loaded from an encrypted disk volume, and the digest calculation performed on the file is compared with the saved digest calculation. If the digest calculation performed on the file matches the saved digest calculation, access to a memory space containing the file may be granted.

[0009] The adoption of technology has increased the importance of security in computing systems, with such systems routinely storing personal and sensitive data in the consumer, commercial, and industrial sectors, as well as by governments. Data encryption may be used as a technique to prevent access to sensitive data, as well as to prevent modification of the data or "tampering" with the data. For example, if an encrypted file is altered, the file may no longer decrypt back to its original form.

[0010] Although data encryption may provide a mechanism to secure data, it may be a computationally expensive operation that can greatly reduce the throughput of a computing system, and may require additional capita! upgrades or hardware encryption offload to service the larger workloads of such a system. For example, encrypting a file and writing the encrypted file may require substantially more resources such as CPU, memory, and disk access than writing an unencrypted file. In some systems, such as a network boot target where storage of a large number of frequently accessed files of very large size may be common, such an impact may be particularly troubling.

[0011] in some cases, users of data may not require a level of data security that requires full encryption of a file, and thus encryption of files would unnecessarily impact system performance. However, such users may desire to determine or detect whether a file has been modified or tampered with after it was written, while minimizing any performance impact.

[0012] Referring now to the drawings, FIG. 1 is a block diagram of a system for data tamper detection, according to an example. [0013] In the example of FIG, 1 , a data tamper detection system 100 may run or execute on a computing system, device, and/or electronic component (hereinafter "computing device"). As used herein, a computing device may be a server, blade enclosure, desktop computer, laptop (or notebook) computer, workstation, tablet computer, mobile phone, smart device, or any other processing device or equipment including a processing resource.

[0014] A computing device may store or create files, run an operating system, and/or run applications such as file storage tools, word processing tools, spreadsheet tools, presentation tools, programming tools, communications tools, utilities, games, or other applications. For example, the applications running on a computing device or data tamper detection system 100 may include engines, controllers, circuitry, or modules to write or read files to unencrypted and/or encrypted disk volumes, and to detect data tampering of such files.

[0015] A computing device may also include a machine-readable storage medium or storage device 102 and/or a processing resource 128, and may comprise or be encoded with instructions stored on a machine-readable storage medium and executable by the processing resource, as discussed below in more detail with respect to FIGS. 2-4. In some examples, the instructions may be implemented as engines comprising any combination of hardware, e.g., circuitry, and programming to implement the functionalities of the engines, as described below.

[0016] in examples described herein, such combinations of hardware and programming may be implemented in a number of different ways. For example, the programming for engines, such as an encryption engine or digest calculation engine, may be processor executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the engines may include a processing resource and/or circuitry to execute those instructions. [0017] Data tamper detection system 100 may include storage device 102, which may be a hard disk drive, a solid state disk drive, flash memory, or any other type of machine- readable storage or memory. Storage device 102 may include an encrypted storage volume 104 and an unencrypted storage volume 1 12, or any combination of encrypted and unencrypted storage volumes, to split encrypted data from unencrypted data. Storage device may store files, as described herein, and may also store the machine- readable instructions to implement the data tamper detection system 100, such as storage of instructions for encryption, digest calculation, or other data tamper detection functions described herein. Volumes 104 and 1 12 and may reside on the same storage device, or across separate storage devices or platforms.

[0018] Encrypted storage volume 104 may be a volume, partition, or other area of storage device 102 dedicated or accessible to data tamper detection system 100 for purposes of storing files or file parts intended to be encrypted. In an example, files stored on the storage device 102 as part of data tamper detection system 100 are stored with an encrypted digest calculation, as described below in more detail with respect to FIGS. 2-4. In some examples, the encrypted digest calculation is stored in parts, such as saved digest calculations 106, 108, and 110.

[0019] Storage volume 112, which may be unencrypted, may be a volume, partition, or other area of storage device 102 dedicated or accessible to data tamper detection system 100 for purposes of storing files or file parts that are not intended to be encrypted. In an example, files stored on the storage device 102 as part of data tamper detection system 100 are stored with an encrypted digest calculation, as described above, with the remainder of the file, e.g., the data component or payload, stored unencrypted, as described below in more detail with respect to FIGS. 2-4. In some examples, the unencrypted data components are stored in parts, such as data components 1 14, 1 16, and 1 18. [0020] Data tamper detection system 100 may also include a digest calculation engine 130 to calculate a digest for a file stored on storage device 102, such as digests 106-1 10 discussed above, or digests 120-124 discussed below. In some examples, a digest may be a cryptographically derived value or a short summary of a file created when the file is written, and that can be used at a later stage such as when reading the file to determine if the file has been tampered with since it was last written. A digest may be calculated using, for example, the Secure Hash Algorithm ("SHA") at various strengths, block sizes, or hash lengths, such as SHA-2 or SHA-3.

[0021] In other examples, other cryptographic hash functions may be used to calculate the digest or as part of calculating the digest. The calculated digests may be stored in a small, fixed size, regardless of the file size of the overall file, e.g., regardless of the size of the data components associated with the digest.

[0022] Data tamper detection system 100 may also include an encryption engine 132 to encrypt parts of storage device 102, such as storage volume 104 or digest calculations 106, 108, and 1 10. Data, such as calculated digests, may be encrypted with any disk- level or file system-level encryption technique. As described herein, some data associated with a file may be stored in unencrypted form.

[0023] Data tamper detection system 100 may also include a storage engine 134 to store data or files to, e.g., storage device 102. Storage engine 134 may be, in examples, part of a disk controller or file system.

[0024] Data tamper detection system 100 may also include, store, read, or fetch current or new digest calculations, e.g., digest calculations 120, 122, and 124, which may be calculated (or "recalculated") when a file is read or when a file read attempt is executed, as discussed below in more detail with respect to FIGS. 3 and 4.

[0025] in some examples, data tamper detection system 100 may also include an encryption key or keys, which may be stored on a storage device, or may be stored remote to the storage device. In the case of a key stored remotely, If a storage device were physically removed from data tamper detection system 100 or a computing device, the encrypted data could not be accessed.

[0026] FIG. 2 is a flowchart of writing a file to support data tamper detection upon reading the file, according to an example.

[0027] in block 202, a file is opened, accessed, or created to write data to the file or file wrapper. The file may be opened with, for example, a file system or a disk controller, and may be stored on, for example, storage device 102.

[0028] In block 204, a digest or digests are calculated for the file. As described above, a digest may be calculated using, for example, the Secure Hash Algorithm at various strengths, block sizes, or hash lengths, such as SHA-2 or SHA-3, or other cryptographic hash functions.

[0029] in block 206, the calculated digest or digests are encrypted. As discussed above, the digests may be encrypted with any disk-level or file system-level encryption technique.

[0030] in biock 208, the calculated digest or digests may be stored in an encrypted volume on a disk, such as encrypted volume 104, as a single digest or multiple digests, e.g., as digests 106-110 or any other combination.

[0031] in block 210, a data component or components associated with the digest may be stored in an unencrypted disk volume, such as unencrypted storage volume 112. A data component may be defined as the entire file to be stored without the digest, which may be stored separately in encrypted form as discussed above. The data component may be broken into parts, such as data components 114-1 18, or may be stored in a single part.

[0032] FIG. 3 is a flowchart of detecting data tampering of a file.

[0033] In block 302, a file is opened with a file system driver. As discussed in the example of FIG. 4, the file may also be opened with a disk controller or other too! for opening, accessing, or reading files.

[0034] In block 304, the file is read into memory. In some examples, block 304 may comprise reading the unencrypted part of the file into memory, e.g., by accessing unencrypted volume 1 12.

[0035] in block 306, a digest calculation or calculations on the file read into memory are performed. The digest calculation may be performed as discussed above, e.g., using SHA or another cryptographic hash routine, in an example, the digest calculation or recalculation of block 306 would run the same cryptographic routine as used to calculate the last or saved digest calculation when the file was written, e.g., in block 204.

[0036] The digest calculation of block 306 may be represented by, for example, the "current" or "new" digest calculations 120-124 as shown in FIG. 1 , such that the digests are current or new as of the time the data tamper detection system 100 is reading the file. The current or new digest calculations may also be referred to as "recalculated" digests as discussed above. The digest calculations 120-124 may be stored, e.g., on storage device 102, or may be stored temporarily, e.g., in memory, until data tamper detection system 100 can verify that the file has not be tampered with prior to reading.

[0037] in block 308, the saved digest calculation or calculations stored in the file are loaded or fetched. The saved digest calculations may be represented by digest calculations 106-1 10.

[0038] In decision block 310, a determination is made as to whether the current or new digest calculations, e.g., calculations 120-124, match the saved digest calculations, e.g., calculations 106-1 10. If the current digest calculation does match the stored digest calculation, the file has not been tampered with and the flow proceeds to block 312. In block 312, the memory space containing the file, e.g., the file or unencrypted data component read into memory in block 304, is made available to the file system and/or disk controller.

[0039] If the current digest calculation does not match the stored digest calculation, the file has been tampered with, corrupted, or altered and the flow proceeds to block 314. In block 314, the file or unencrypted data component read into memory in block 304 is not made available to the file system and/or disk controller. In some examples, an alert to a user, process, or other output may be generated, in some examples, the unencrypted data component may also be cleared from, for example, memory.

[0040] FIG. 4 is a block diagram of a computing device to detect data tampering, according to an example.

[0041] The computing system 402 including data tamper detection system 400 of FIG. 4 may comprise a power source 404, a memory or storage medium 406, a processing resource or processor 408, and a disk controller 410. Files and/or data 412 may be read or written by disk controller 410, which may communicate or interface with a file system.

[0042] As used herein, a processing resource may be at least one of a central processing unit (CPU), a semiconductor-based microprocessor, a graphics processing unit (GPU), a field-programmable gate array (FPGA) configured to retrieve and execute instructions, other electronic circuitry suitable for the retrieval and execution of instructions stored on a machine-readable storage medium, or a combination thereof. Processing resource 402 may fetch, decode, and execute instructions, e.g., instructions 416-426, stored on memory or storage medium 406 to perform the functionalities described herein, in other examples, the functionalities of any of the instructions of memory or storage medium 406 may be implemented in the form of electronic circuitry, in the form of executable instructions encoded on a machine-readable storage medium, or a combination thereof.

[0043] As used herein, a "machine-readable storage medium" may be any electronic, magnetic, optical, or other physical storage apparatus to contain or store information such as executable instructions, data, and the like. For example, any machine-readable storage medium described herein may be any of Random Access Memory (RAM), volatile memory, non-volatile memory, flash memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disc (e.g., a compact disc, a DVD, etc), and the like, or a combination thereof. Further, any machine-readable storage medium described herein may be non-transitory, in examples described herein, a machine-readable storage medium or media is part of an article (or article of manufacture). An article or article of manufacture may refer to any manufactured single component or multiple components. The storage medium may be located either in the computing device executing the machine-readable instructions, or remote from but accessible to the computing device (e.g., via a computer network) for execution.

[0044] in some examples, instructions 414-426 may be part of an installation package that, when installed, may be executed by processing resource 408 to implement the functionalities described herein in relation to instructions 416-426. in such examples, memory or storage medium 406 may be a portable medium, such as a CD, DVD, or flash drive, or a memory maintained by a server from which the installation package can be downloaded and installed. In other examples, instructions 416-426 may be part of an application, applications, or cornponent(s) already installed on a computing device 402 including a processing resource.

[0045] in some examples, memory 406 may be separate from a machine-readable storage medium, as described herein, and may be volatile storage utilized by system 400 for performing the processes as described herein, for example. In some examples, a memory may temporarily store data portions while performing processing operations on them, such as calculating a digest.

[0048] The instructions in the memory or machine-readable storage of system 400 may comprise a data tamper engine 414. In block 416 of data tamper engine 414, the instructions may access a file stored in an encrypted volume and in an unencrypted volume. The instructions may perform a new digest calculation on the file in block 418, and fetch a saved digest calculation from the encrypted volume in block 420.

[0047] In an example, the instructions may compare the new digest calculation with the saved digest in block 422. If the new digest calculation matches the saved digest calculation, the instructions of block 424 may permit access to the data components associated with the file stored in the encrypted volume via, for example, disk controller 410. The instructions in block 426 may then instruct the disk controller 410 to output the file to the file system, or to make the memory or storage device space containing the file accessible to the file system.

[0048] in some examples, the system of FIG. 4 may be or may communicate with a network boot target. If tampering is detected, e.g., if the digests do not match, the system of FIG. 4 may halt delivery of a boot image to protect a network boot target. In such examples, any performance impact is minimized as such systems typically use large files that change infrequently, and thus only a secure digest calculation is executed at the time the file is read without significant computational overhead that would be incurred with decryption.

[0049] Although the instructions of FIGS. 2-4 show a specific order of performance of certain functionalities, the instructions of FIGS. 2-4 are not limited to that order. For example, the functionalities shown in succession may be performed in a different order, may be executed concurrently or with partial concurrence, or a combination thereof.

[0050] All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the elements of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or elements are mutually exclusive.

Claims

CLAIMS What is claimed is:
1. A system for data tamper detection, comprising:
a processing resource to write to a file;
a storage device comprising an encrypted storage volume and an unencrypted storage volume;
a digest calculation engine to calculate a digest for the file;
an encryption engine to encrypt the calculated digest for the file; and a storage engine to store the encrypted calculated digest in the encrypted storage volume and to store a data component for the file in the unencrypted storage volume.
2. The system of claim 1 , wherein the digest calculation engine comprises a secure hash routine.
3. The system of claim 1 , wherein the storage device is a network boot target.
4. The system of claim 1 , wherein an encryption key to encrypt the calculated digest for the file is stored remote to the storage device.
5. The system of claim 1 , wherein the storage engine is a file system.
6. The system of claim 1 , wherein the storage engine is a disk controller.
7. A method for detecting data tampering of a file, comprising:
opening a file with a file system driver;
reading the file into a memory space;
performing, with a processor, a digest calculation on the file;
loading a saved digest calculation from an encrypted disk volume;
comparing the digest calculation performed on the file with the saved digest calculation loaded from the encrypted disk volume; and in the event that the digest calculation performed on the file does not match the saved digest calculation loaded from the encrypted disk volume, denying access to the memory space containing the file.
8. The method of claim 7, further comprising halting delivery of a boot image.
9. The method of claim 7, further comprising transmission of a tamper alert.
10. The method of claim 7, wherein performing the digest calculation comprises executing a secure hash routine.
1 1. An article comprising at least one non-transitory machine-readable storage medium comprising instructions executable by a processing resource of a data tamper detection system to:
access, with a disk controller, a file stored in an encrypted volume and an unencrypted volume on a storage device;
perform a new digest calculation on the file;
fetch a saved digest calculation from the encrypted volume;
compare the new digest calculation with the saved digest calculation from the encrypted volume; and
permit access to a data component associated with the file stored in the unencrypted volume.
12. The article of claim 1 1 , further comprising instructions to decrypt the saved digest calculation from the encrypted volume.
13. The article of claim 1 1 , further comprising a decryption key stored independent of the storage device to decrypt the saved digest calculation.
14. The article of claim 1 1 , further comprising instructions to output the data component associated with the file to a file system.
15. The article of claim 1 1 , wherein the new digest calculation comprises a secure hash routine.
PCT/US2015/040949 2015-07-17 2015-07-17 Data tamper detection WO2017014727A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/040949 WO2017014727A1 (en) 2015-07-17 2015-07-17 Data tamper detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/040949 WO2017014727A1 (en) 2015-07-17 2015-07-17 Data tamper detection

Publications (1)

Publication Number Publication Date
WO2017014727A1 true true WO2017014727A1 (en) 2017-01-26

Family

ID=57834467

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/040949 WO2017014727A1 (en) 2015-07-17 2015-07-17 Data tamper detection

Country Status (1)

Country Link
WO (1) WO2017014727A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039713B1 (en) * 1999-11-09 2006-05-02 Microsoft Corporation System and method of user authentication for network communication through a policy agent
US20060130154A1 (en) * 2004-11-30 2006-06-15 Wai Lam Method and system for protecting and verifying stored data
US20090158037A1 (en) * 2007-12-14 2009-06-18 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd System and method for protecting an electronic file
US20100205446A1 (en) * 2004-07-19 2010-08-12 Guardian Data Storage, Llc Multi-level file digests
US8205094B2 (en) * 2002-05-28 2012-06-19 Nokia Corporation Tamper evident removable media storing executable code

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039713B1 (en) * 1999-11-09 2006-05-02 Microsoft Corporation System and method of user authentication for network communication through a policy agent
US8205094B2 (en) * 2002-05-28 2012-06-19 Nokia Corporation Tamper evident removable media storing executable code
US20100205446A1 (en) * 2004-07-19 2010-08-12 Guardian Data Storage, Llc Multi-level file digests
US20060130154A1 (en) * 2004-11-30 2006-06-15 Wai Lam Method and system for protecting and verifying stored data
US20090158037A1 (en) * 2007-12-14 2009-06-18 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd System and method for protecting an electronic file

Similar Documents

Publication Publication Date Title
US8423789B1 (en) Key generation techniques
US8225406B1 (en) Systems and methods for using reputation data to detect shared-object-based security threats
US8199911B1 (en) Secure encryption algorithm for data deduplication on untrusted storage
US20020188856A1 (en) Storage device with cryptographic capabilities
US20080072071A1 (en) Hard disc streaming cryptographic operations with embedded authentication
US20070116287A1 (en) Method for managing keys and/or rights objects
US20110225431A1 (en) System and Method for General Purpose Encryption of Data
US20100287385A1 (en) Securing data caches through encryption
US20100088525A1 (en) External encryption and recovery management with hardware encrypted storage devices
US20080168564A1 (en) Software or other information integrity verification using variable block length and selection
US20070180515A1 (en) System and method for transparent disk encryption
US20070061597A1 (en) Secure yet flexible system architecture for secure devices with flash mass storage memory
US20100229004A1 (en) Protection of security parameters in storage devices
US20140089651A1 (en) Computing device boot software authentication
US20120151219A1 (en) Security usb storage medium generation and decryption method, and medium recorded with program for generating security usb storage medium
US20070256142A1 (en) Encryption of data in storage systems
US20110264925A1 (en) Securing data on a self-encrypting storage device
US20080076355A1 (en) Method for Protecting Security Accounts Manager (SAM) Files Within Windows Operating Systems
US20100125909A1 (en) Monitor device, monitoring method and computer program product thereof for hardware
US20090158023A1 (en) Adaptive system boot accelerator for computing systems
US20070136609A1 (en) Methods and apparatus for providing a secure channel associated with a flash device
US20100058066A1 (en) Method and system for protecting data
US20070088923A1 (en) System and method for fast, secure removal of objects from disk storage
US20150006910A1 (en) Multiple volume encryption of storage devices using self encrypting drive (sed)
US20110225407A1 (en) System and Method for Recovering From an Interrupted Encryption and Decryption Operation Performed on a Volume

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15899050

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase in:

Ref country code: DE