IP Library › Granted Patent US 11,687,878
Granted Patent B2
US 11,687,878 · App. 17/079,725 · Granted Jun 27, 2023

Privacy-preserving supply chain verification for multiple asset types in shared data storage scenarios

Inventors: Kilian Becher (Dresden, DE); Axel Schroepfer (Borthen, DE); Julius Albert Gregor Lagodzinski (Berlin, DE); Christian Hellwig (Darmstadt, DE)
Assignee: SAP SE
G06Q10/0875H04L9/008H04L9/3257H04L9/3268
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,687,878
App. No.
17/079,725
Granted
Jun 27, 2023
Kind
B2
Abstract

Methods, systems, and computer-readable storage media for receiving an index and a random number from a verifier, receiving, from a shared data storage, encrypted supply chain data (SCD) of a supply chain actor (SCA), re-encrypting the encrypted SCD to provide re-encrypted SCD using a public encryption key of a decryption party, executing homomorphic operations on the re-encrypted SCD to provide an encrypted blinded result using second random numbers, receiving an encrypted modified blinded result, generating an encrypted blinded verification result using a verification function, the encrypted blinded result, the encrypted modified blinded result, and the random number, and sending the encrypted blinded verification result for decryption to provide a blinded verification result to the verifier, the verifier determining a verification result based on the blinded verification result and the random number, and comparing the verification result to a product claim.

Claims (61)

1. A computer-implemented method for privacy-preserving verification of a product claim for a product provided from a supply chain, the method being executed by one or more processors and comprising:

receiving, by a system of a re-encryption party, an index and a first set of random numbers from a computing device of a verifier, the first set of random numbers comprising one or more random numbers;

receiving, by the system of the re-encryption party and from a shared data storage, encrypted supply chain data (SCD) of a supply chain actor (SCA);

re-encrypting, by the system of the re-encryption party, the encrypted SCD to provide re-encrypted SCD, the encrypted SCD being re-encrypted under a public encryption key of a decryption party;

executing, by the system of the re-encryption party, one or more homomorphic operations on the re-encrypted SCD to provide an encrypted blinded result using a second set of random numbers;

receiving, by the system of the re-encryption party and from a system of the decryption party, an encrypted modified blinded result;

generating, by the system of the re-encryption party, an encrypted blinded verification result using a verification function, the encrypted blinded result, the encrypted modified blinded result, and the first set of random numbers; and

sending, from the system of the re-encryption party to the system of the decryption party, the encrypted blinded verification result, the system of the decryption party decrypting the encrypted blinded verification result to provide a blinded verification result to the computing device of the verifier, the computing device determining a verification result based on the blinded verification result and the first set of random numbers, and comparing the verification result to the product claim.

2. The method of claim 1 , wherein the encrypted SCD is determined from the shared data storage by traversing entries to an entry of the SCA, the entry storing the encrypted SCD.

3. The method of claim 1 , wherein the encrypted blinded verification result is at least partially generated by:

providing an encrypted verification result from the verification function; and

executing at least one homomorphic operation on the encrypted verification result using the first set of random numbers to provide the encrypted blinded verification result.

4. The method of claim 1 , wherein the system of the decryption party generates the encrypted modified blinded result by:

receiving the encrypted blinded result from the system of the re-encryption party;

decrypting, using a secret decryption key of the decryption party, the encrypted blinded result to provide a blinded result;

executing a mathematical operation on the blinded result to provide a modified blinded result; and

encrypting the modified blinded result using the public encryption key of the decryption party to provide the encrypted modified blinded result.

5. The method of claim 1 , wherein the second set of random numbers comprises a first random number and a second random number, the first random number being exponentially larger than the second random number and the second random number being greater than zero.

6. The method of claim 1 , wherein the encrypted SCD is encrypted with a public encryption key of the SCA.

7. The method of claim 1 , wherein the shared data storage comprises a distributed ledger.

8. A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for privacy-preserving verification of a product claim for a product provided from a supply chain, the operations comprising:

receiving, by a system of a re-encryption party, an index and a first set of random numbers from a computing device of a verifier, the first set of random numbers comprising one or more random numbers;

receiving, by the system of the re-encryption party and from a shared data storage, encrypted supply chain data (SCD) of a supply chain actor (SCA);

re-encrypting, by the system of the re-encryption party; the encrypted SCD to provide re-encrypted SCD, the encrypted SCD being re-encrypted under a public encryption key of a decryption party;

executing, by the system of the re-encryption party, one or more homomorphic operations on the re-encrypted SCD to provide an encrypted blinded result using a second set of random numbers;

receiving, by the system of the re-encryption party and from a system of the decryption party, an encrypted modified blinded result;

generating, by the system of the re-encryption party, an encrypted blinded verification result using a verification function, the encrypted blinded result, the encrypted modified blinded result, and the first set of random numbers; and

sending, from the system of the re-encryption party to the system of the decryption party, the encrypted blinded verification result, the system of the decryption party decrypting the encrypted blinded verification result to provide a blinded verification result to the computing device of the verifier, the computing device determining a verification result based on the blinded verification result and the first set of random numbers, and comparing the verification result to the product claim.

9. The non-transitory computer-readable storage medium of claim 8 ; wherein the encrypted SCD is determined from the shared data storage by traversing entries to an entry of the SCA, the entry storing the encrypted SCD.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the encrypted blinded verification result is at least partially generated by:

providing an encrypted verification result from the verification function; and

executing at least one homomorphic operation on the encrypted verification result using the first set of random numbers to provide the encrypted blinded verification result.

11. The non-transitory computer-readable storage medium of claim 8 , wherein the system of the decryption party generates the encrypted modified blinded result by:

receiving the encrypted blinded result from the system of the re-encryption party;

decrypting, using a secret decryption key of the decryption party, the encrypted blinded result to provide a blinded result;

executing a mathematical operation on the blinded result to provide a modified blinded result; and

encrypting the modified blinded result using the public encryption key of the decryption party to provide the encrypted modified blinded result.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the second set of random numbers comprises a first random number and a second random number, the first random number being exponentially larger than the second random number and the second random number being greater than zero.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the encrypted SCD is encrypted with a public encryption key of the SCA.

14. The non-transitory computer-readable storage medium of claim 8 , wherein the shared data storage comprises a distributed ledger.

15. A system, comprising:

a computing device; and

a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for privacy-preserving verification of a product claim for a product provided from a supply chain, the operations comprising:

receiving, by a system of a re-encryption party, an index and a first set of random numbers from a computing device of a verifier, the first set of random numbers comprising one or more random numbers;

receiving, by the system of the re-encryption party and from a shared data storage, encrypted supply chain data (SCD) of a supply chain actor (SCA);

re-encrypting, by the system of the re-encryption party, the encrypted SCD to provide re-encrypted SCD, the encrypted SCD being re-encrypted under a public encryption key of a decryption party;

executing, by the system of the re-encryption party, one or more homomorphic operations on the re-encrypted SCD to provide an encrypted blinded result using a second set of random numbers;

receiving, by the system of the re-encryption party and from a system of the decryption party, an encrypted modified blinded result;

generating, by the system of the re-encryption party, an encrypted blinded verification result using a verification function, the encrypted blinded result, the encrypted modified blinded result, and the first set of random numbers; and

sending, from the system of the re-encryption party to the system of the decryption party, the encrypted blinded verification result, the system of the decryption party decrypting the encrypted blinded verification result to provide a blinded verification result to the computing device of the verifier, the computing device determining a verification result based on the blinded verification result and the first set of random numbers, and comparing the verification result to the product claim.

16. The system of claim 15 , wherein the encrypted SCD is determined from the shared data storage by traversing entries to an entry of the SCA, the entry storing the encrypted SCD.

17. The system of claim 15 , wherein the encrypted blinded verification result is at least partially generated by:

providing an encrypted verification result from the verification function; and

executing at least one homomorphic operation on the encrypted verification result using the first set of random numbers to provide the encrypted blinded verification result.

18. The system of claim 15 , wherein the system of the decryption party generates the encrypted modified blinded result by:

receiving the encrypted blinded result from the system of the re-encryption party;

decrypting, using a secret decryption key of the decryption party, the encrypted blinded result to provide a blinded result;

executing a mathematical operation on the blinded result to provide a modified blinded result; and

encrypting the modified blinded result using the public encryption key of the decryption party to provide the encrypted modified blinded result.

19. The system of claim 15 , wherein the second set of random numbers comprises a first random number and a second random number, the first random number being exponentially larger than the second random number and the second random number being greater than zero.

20. The system of claim 15 , wherein the encrypted SCD is encrypted with a public encryption key of the SCA.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: BECHER, KILIAN; SCHROEPFER, AXEL; LAGODZINSKI, JULIUS ALBERT GREGOR; HELLWIG, CHRISTIAN
To: SAP SE
Reel/Frame 054163/0609 →
Continuity (1)
Related Publication 20220129847A1 · Apr 28, 2022
Cited By (1)
US 12,549,370