Patents by Inventor Frederik Armknecht

Frederik Armknecht has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11853437
    Abstract: A method for storing data on a storage entity (SE) includes: computing a file identifier for a file to be stored on the SE; checking if the file has already been stored using the file identifier; generating a user-specific private and public identifier, wherein generating the user-specific private identifier is based on using an oblivious key generation protocol between the client and a trusted entity, and wherein the user-specific private identifier is a deterministic private identifier; updating or computing tags of the file by the client such that the updating or computing is homomorphic in the user-specific private identifier and in parts of the file; and providing the user-specific public identifier, the updated tags and a proof of possession of the secret identifier to the SE to enable the SE to store information associated with the file.
    Type: Grant
    Filed: May 20, 2021
    Date of Patent: December 26, 2023
    Assignee: NEC CORPORATION
    Inventors: Jens-Matthias Bohli, Ghassan Karame, Frederik Armknecht
  • Patent number: 11722322
    Abstract: A method for storing information includes receiving information to be stored and an information tag from a user computing entity, and storing the information and the information tag. The information to be stored includes a chunk that is divided into a plurality of blocks each comprising one or more elements. The information tag comprises a plurality of tags each having been computed for one of the blocks, wherein the tag for the j-th block of the i-th chunk is based on: an output of a random function using as input: 1) an output of an index function mapping each index j to a certain value, and/or 2) a seed sampled for the i-th chunk; the j-th block; and a representation of a second secret comprising one or more random elements each associated with a respective one of the one or more elements of one of the blocks.
    Type: Grant
    Filed: October 6, 2022
    Date of Patent: August 8, 2023
    Assignee: NEC CORPORATION
    Inventors: Ghassan Karame, Frederik Armknecht
  • Publication number: 20230038304
    Abstract: A method for storing information includes receiving information to be stored and an information tag from a user computing entity, and storing the information and the information tag. The information to be stored includes a chunk that is divided into a plurality of blocks each comprising one or more elements. The information tag comprises a plurality of tags each having been computed for one of the blocks, wherein the tag for the j-th block of the i-th chunk is based on: an output of a random function using as input: 1) an output of an index function mapping each index j to a certain value, and/or 2) a seed sampled for the i-th chunk; the j-th block; and a representation of a second secret comprising one or more random elements each associated with a respective one of the one or more elements of one of the blocks.
    Type: Application
    Filed: October 6, 2022
    Publication date: February 9, 2023
    Inventors: Ghassan Karame, Frederik Armknecht
  • Patent number: 11502856
    Abstract: A method for providing information to be stored includes computing a storable first secret for generating a random value based on a random function. The information to be stored is provided as a chunk which is divided into blocks each having an element. A storable second secret comprising a random element is computed. A tag is computed for each block such that the tag for the j-th block of the i-th chunk is computed using: an output of the random function, the j-th block, and a representation of the second secret. The information to be stored is provided together with an information tag comprising the computed tags of each block of each chunk.
    Type: Grant
    Filed: December 14, 2016
    Date of Patent: November 15, 2022
    Assignee: NEC CORPORATION
    Inventors: Ghassan Karame, Frederik Armknecht
  • Publication number: 20210271764
    Abstract: A method for storing data on a storage entity (SE) includes: computing a file identifier for a file to be stored on the SE; checking if the file has already been stored using the file identifier; generating a user-specific private and public identifier, wherein generating the user-specific private identifier is based on using an oblivious key generation protocol between the client and a trusted entity, and wherein the user-specific private identifier is a deterministic private identifier; updating or computing tags of the file by the client such that the updating or computing is homomorphic in the user-specific private identifier and in parts of the file; and providing the user-specific public identifier, the updated tags and a proof of possession of the secret identifier to the SE to enable the SE to store information associated with the file.
    Type: Application
    Filed: May 20, 2021
    Publication date: September 2, 2021
    Inventors: Jens-Matthias Bohli, Ghassan Karame, Frederik Armknecht
  • Patent number: 11048805
    Abstract: A method for storing data on a storage entity (SE) includes: computing a file identifier for a file to be stored on the SE; checking if the file has already been stored using the file identifier; generating a user-specific private and public identifier; updating or computing tags of the file by the client such that the updating or computing is homomorphic in the user-specific private identifier and in parts of the file; providing the user-specific public identifier, the updated tags and a proof of possession of the secret identifier to the SE; verifying the proof-of-possession; verifying validity of the tags; upon successful checking, storing a public identifier for the file incorporating the user-specific public identifier and the updated tags by the SE; and upon a case where it is determined that the file has not already been stored, storing the file.
    Type: Grant
    Filed: February 17, 2016
    Date of Patent: June 29, 2021
    Assignee: NEC CORPORATION
    Inventors: Jens-Matthias Bohli, Ghassan Karame, Frederik Armknecht
  • Patent number: 10880310
    Abstract: A method, performed by a user device, for proving retrievability (POR) of information includes: a1) exchanging credentials with a storing device and an auditing device to be used for communication between them; b1) encoding the information to be stored on the storing device; c1) initiating storing the encoded information on the storing device; d1) receiving correctness information, wherein the correctness information is secure and is generated based on the result of verification using unpredictable random information; and e1) validating the correctness information and unpredictable random information for proving retrievability of the stored information.
    Type: Grant
    Filed: August 7, 2019
    Date of Patent: December 29, 2020
    Assignee: NEC CORPORATION
    Inventors: Frederik Armknecht, Jens-Matthias Bohli, Ghassan Karame, Christian Gorke
  • Patent number: 10873631
    Abstract: A method for storing data in a cloud includes receiving at least one data file to be stored together with a predefined number t of replicas of the at least one data file within the cloud, at least one authentication tag corresponding to the at least one data file and t functions that are configurable to take at least a predefined time to compute; storing the at least one data file within the cloud; computing t solutions of the t functions within the cloud; generating the t replicas of the at least one data file based on the t solutions of the t functions and the at least one data file within the cloud, wherein each of the t functions is used for at least one of the t replicas of the at least one data file; and storing the t replicas within the cloud.
    Type: Grant
    Filed: September 24, 2019
    Date of Patent: December 22, 2020
    Assignee: NEC CORPORATION
    Inventors: Jens-Matthias Bohli, Ghassan Karame, Frederik Armknecht
  • Patent number: 10841105
    Abstract: A method for providing a proof-of-work includes computing, by a verification computing device (VCD), a first linear feedback shift register sequence (LFSR-S) using a first polynomial having a first degree and computing, by the VCD, a second LFSR-S based on a second polynomial. A challenge, generated by the VCD and using elements of the second LFSR-S, is transmitted to the PCD. The PCD recursively computes all elements of the first LFSR-S by using the elements and coefficients of the second LFSR-S. A solution for the received challenge is computed based on the computed elements of the first LFSR-S. A proof-of-work is provided by verifying, by the VCD, the transmitted solution by: recomputing a solution to the challenge using initial state parameters and coefficients of the first LFSR-S, and comparing the computed solution of the PCD with the recomputed solution of the VCD.
    Type: Grant
    Filed: August 5, 2015
    Date of Patent: November 17, 2020
    Assignee: NEC CORPORATION
    Inventors: Jens-Matthias Bohli, Ghassan Karame, Frederik Armknecht
  • Publication number: 20200304308
    Abstract: A method for providing a proof-of-retrievability (POR) to a client for data stored on a storage entity includes the steps of: a) Encoding, by the client, data to be stored on the storage entity; b) Exchanging credentials between the storage entity, the client, and an auditor; c) Committing, by the client, to the encoded information using data identification information; d) Storing the encoded data on the storage entity together with the data identification information e) Computing, by the auditor, logging information for the stored data by performing one or more POR between the auditor and the storage entity, wherein for sampling randomness for the POR a public source of unpredictable randomness is used; Verifying, by the auditor, the computed logging information; and g) Verifying, by the client, the verified logging information of the auditor in a single batch verification procedure.
    Type: Application
    Filed: April 8, 2016
    Publication date: September 24, 2020
    Inventors: Frederik Armknecht, Ghassan Karame
  • Publication number: 20200099537
    Abstract: A method for providing information to be stored includes computing a storable first secret for generating a random value based on a random function. The information to be stored is provided as a chunk which is divided into blocks each having an element. A storable second secret comprising a random element is computed. A tag is computed for each block such that the tag for the j-th block of the i-th chunk is computed using: an output of the random function, the j-th block, and a representation of the second secret. The information to be stored is provided together with an information tag comprising the computed tags of each block of each chunk.
    Type: Application
    Filed: December 14, 2016
    Publication date: March 26, 2020
    Inventors: Ghassan Karame, Frederik Armknecht
  • Publication number: 20200021656
    Abstract: A method for storing data in a cloud includes receiving at least one data file to be stored together with a predefined number t of replicas of the at least one data file within the cloud, at least one authentication tag corresponding to the at least one data file and t functions that are configurable to take at least a predefined time to compute; storing the at least one data file within the cloud; computing t solutions of the t functions within the cloud; generating the t replicas of the at least one data file based on the t solutions of the t functions and the at least one data file within the cloud, wherein each of the t functions is used for at least one of the t replicas of the at least one data file; and storing the t replicas within the cloud.
    Type: Application
    Filed: September 24, 2019
    Publication date: January 16, 2020
    Inventors: Jens-Matthias Bohli, Ghassan Karame, Frederik Armknecht
  • Patent number: 10498535
    Abstract: A method for verifying information of a first data item in a plurality of different data items stored on a server includes a) generating a hash tree, b) computing an authentication path for the first data item based on a recomputation of the hash tree, wherein an authentication path includes all siblings of tree nodes from the first data item to a root of the hash tree, c) recomputing the root-hash based on the first data item and a computed authentication path of the first data item and comparing the recomputed root-hash with the root-hash of the hash-tree of step a), d) determining a side element in leaves or a tree level above of the hash tree and its authentication path, and e) verifying the authentication path of the side element.
    Type: Grant
    Filed: February 16, 2015
    Date of Patent: December 3, 2019
    Assignee: NEC CORPORATION
    Inventors: Jens-Matthias Bohli, Ghassan Karame, Frederik Armknecht
  • Patent number: 10498819
    Abstract: A method for storing data in a cloud includes providing at least one data file to be stored together with a predefined number t of replicas of the at least one data file within the cloud, at least one authentication tag corresponding to the at least one data file and t functions that are configurable to take at least a predefined time to compute. The at least one data file, the at least one authentication tag and the t functions are transmitted to the cloud. The at least one data file is stored within the cloud and t solutions of the t functions are computed within the cloud. The t replicas of the at least one data file are generated based on the t solutions of the t functions and the at least one data file within the cloud. The t replicas are stored within the cloud.
    Type: Grant
    Filed: May 13, 2015
    Date of Patent: December 3, 2019
    Assignee: NEC CORPORATION
    Inventors: Jens-Matthias Bohli, Ghassan Karame, Frederik Armknecht
  • Publication number: 20190364045
    Abstract: A method, performed by a user device, for proving retrievability (POR) of information includes: a1) exchanging credentials with a storing device and an auditing device to be used for communication between them; b1) encoding the information to be stored on the storing device; c1) initiating storing the encoded information on the storing device; d1) receiving correctness information, wherein the correctness information is secure and is generated based on the result of verification using unpredictable random information; and e1) validating the correctness information and unpredictable random information for proving retrievability of the stored information.
    Type: Application
    Filed: August 7, 2019
    Publication date: November 28, 2019
    Inventors: Frederik Armknecht, Jens-Matthias Bohli, Ghassan Karame, Christian Gorke
  • Patent number: 10447696
    Abstract: A method for proving retrievability (POR) of information is performed in a memory available to one or more computation devices, wherein credentials between a user device, a storing device and an auditing device between each pair of said devices are exchanged and used for communication between them. The method includes encoding information to be stored on the storing device by the user device or the auditing device, storing the encoded information on the storing device, verifying the correctness of the stored information by the auditing device using unpredictable random information, transmitting correctness information to the user device, the correctness information being secure and being generated based on the result of the verification by the auditing device, and validating the correctness information by the user device for proving retrievability of the stored information and the unpredictable random information.
    Type: Grant
    Filed: May 18, 2015
    Date of Patent: October 15, 2019
    Assignee: NEC CORPORATION
    Inventors: Frederik Armknecht, Jens-Matthias Bohli, Ghassan Karame, Christian Gorke
  • Patent number: 10397328
    Abstract: A method for integrating a Proof of Storage (PoS) into a blockchain increases security, robustness and verifiability of a blockchain network. A part of the blockchain to be stored is received at a first one of a plurality of mining nodes of the blockchain network. The part of the blockchain is stored. Mining of the new block is bound to the stored data and performed so as to enforce that the mining nodes store different parts of the blockchain. The PoS is integrated into the new block. The PoS is verified before accepting the new block into the blockchain.
    Type: Grant
    Filed: July 3, 2017
    Date of Patent: August 27, 2019
    Assignee: NEC CORPORATION
    Inventors: Jens-Matthias Bohli, Wenting Li, Ghassan Karame, Frederik Armknecht
  • Patent number: 10372918
    Abstract: A method for storing a data file of a client on a storage entity includes generating, by a proxy entity, a master encryption key; encrypting, by the client, the data file using the master encryption key to produce an encrypted file; computing a hash-tree for the encrypted file and using a top-hash of the hash-tree as a file identification (FID); and determining, by the proxy entity, whether the FID is already known to the storage entity. If the FID is not already known to the storage entity the method further includes computing, by the proxy entity, a top-hash of the encrypted file (PFID), and when the ownership of the data file has been proven, storing the FID being equal with the PFID at the client together with the hash value.
    Type: Grant
    Filed: February 13, 2015
    Date of Patent: August 6, 2019
    Assignee: NEC CORPORATION
    Inventors: Jens-Matthias Bohli, Ghassan Karame, Frederik Armknecht
  • Publication number: 20190108350
    Abstract: A method for storing data on a storage entity (SE) includes: computing a file identifier for a file to be stored on the SE; checking if the file has already been stored using the file identifier; generating a user-specific private and public identifier; updating or computing tags of the file by the client such that the updating or computing is homomorphic in the user-specific private identifier and in parts of the file; providing the user-specific public identifier, the updated tags and a proof of possession of the secret identifier to the SE; verifying the proof-of-possession; verifying validity of the tags; upon successful checking, storing a public identifier for the file incorporating the user-specific public identifier and the updated tags by the SE; and upon a case where it is determined that the file has not already been stored, storing the file.
    Type: Application
    Filed: February 17, 2016
    Publication date: April 11, 2019
    Inventors: Jens-Matthias Bohli, Ghassan Karame, Frederik Armknecht
  • Publication number: 20180336552
    Abstract: A method for integrating a Proof of Storage (PoS) into a blockchain increases security, robustness and verifiability of a blockchain network. A part of the blockchain to be stored is received at a first one of a plurality of mining nodes of the blockchain network. The part of the blockchain is stored. Mining of the new block is bound to the stored data and performed so as to enforce that the mining nodes store different parts of the blockchain. The PoS is integrated into the new block. The PoS is verified before accepting the new block into the blockchain.
    Type: Application
    Filed: July 3, 2017
    Publication date: November 22, 2018
    Inventors: Jens-Matthias Bohli, Wenting Li, Ghassan Karame, Frederik Armknecht