CPC B65D 55/026 (2013.01) [G06K 19/06037 (2013.01); G06K 19/06093 (2013.01); H04L 9/0637 (2013.01)] | 10 Claims |
1. A method for determining authenticity of a package, comprising:
storing, in a memory of a computing device, blockchain data associated with a blockchain, wherein the blockchain data includes a plurality of blocks, each block provides status information of a package, and includes at least a block header including a timestamp and one or more package data values, each package data value including at least a digital signature generated via a private key of a cryptographic key pair associated with a package's delivery status, a public key of the cryptographic key pair associated with the package's delivery status, and a plurality of unique values, each of the plurality of unique values corresponding to a value encoded in a machine-readable code affixed to the package, wherein at least one block in the blockchain includes a photograph of the machine-readable codes affixed to a package;
receiving, by a receiver of the computing device during a delivery process, a set of unique values associated with a package in the delivery process, wherein each unique value in the set of unique values is read from a corresponding machine-readable code affixed to the package in the delivery process;
executing, by the computing device, a query on the memory to identify, in the blockchain data, a set of package data values where the plurality of unique values included in each package data value in the set of package data values includes at least one of the unique values of the set of unique values read from a corresponding machine-readable code affixed to the package in the delivery process;
determining, by the computing device at a selected point in the delivery process, authenticity of the package in the delivery process associated with the set of unique values;
receiving, by the computing device, the digital signature included in each package data value of the set of package data values;
validating, by the computing device, each digital signature using a copy of the stored public key;
where:
the package in the delivery process is determined to be authentic if the plurality of unique values included in every package data value of the set of package data values matches the set of unique values encoded in the plurality of machine-readable codes affixed to the package in the delivery process and the photograph of the machine-readable codes matches the codes affixed to the package in the delivery process at the selected point, and
the package in the delivery process is determined to be inauthentic if the validation of the digital signature for at least one of the package data values of the set of package data values is unsuccessful; and
electronically transmitting, by a transmitter of the computing device, the determined authenticity of the package in the delivery process.
|