# US 10,320,567 B2 · Security scheme for authenticating object origins

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,320,567 B2
- Document ID: US10320567B2
- Status: Granted
- Kind: B2
- Application number: 15/456,107
- Filed: 2017-03-10
- Published: 2017-06-29
- Granted: 2019-06-11
- Earliest claimed: 2014-03-28
- Assignees: Signet IP Holdings LLC
- Applicants: Signet IP Holdings LLC
- Inventors: Wallace Penn Scott
- Web page: https://patentgrep.com/patent/US10320567B2

## CPC

- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06F 21/10: Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]}
- G06K 19/06037: {multi-dimensional coding}
- G06K 19/086: {with markings consisting of randomly placed or oriented elements, the randomness of the elements being useable for generating a unique identifying signature of the record carrier, e.g. randomly placed magnetic fibers or magnetic particles in the body of a credit card}
- G06K 19/10: at least one kind of marking being used for authentication, e.g. of credit or identity cards (verification of coded identity or credit cards in mechanisms actuated by them G07F7/12)
- G06T 15/04: Texture mapping
- G06V 20/80: Recognising image objects characterised by unique random patterns
- G09C 5/00: Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- G06V 20/95: {Pattern authentication; Markers therefor; Forgery detection}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G09C: CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY

## Abstract

Systems and methods subjecting a computer graphics object to a pseudo-random transformation to produce a surface-texture snapshot used to verify the authenticity of a host object. An example method includes generating a hash of a private manufacturer identifier, a product identifier, and a chain of ownership identifier and generating a three-dimensional surface using a first portion of the hash. The method also includes generating a texture pattern using a second portion of the hash and generating a surface-texture snapshot by mapping the texture pattern onto the three-dimensional surface. The surface-texture snapshot may be provided for imprinting on the host object. In some implementations, the surface-texture snapshot may be used as a first check in an authentication procedure.

## Claims

### Claim 1

A method comprising:
generating a first hash of a private manufacturer identifier and a product identifier;
generating a three-dimensional surface using a first portion of the first hash;
generating a texture pattern using a second portion of the first hash;
generating a surface-texture snapshot by mapping the texture pattern onto the three-dimensional surface; and
providing the surface-texture snapshot for imprinting on the product.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
generating a serial number that includes the first hash; and
providing the serial number for imprinting on the product.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
receiving an authentication request from a requestor, the authentication request including a serial number obtained from a test object and a time-location stamp; and
determining whether the test object is authentic based on the serial number obtained from the test object and the time-location stamp.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
determining that the serial number obtained from the test object exists in a data store, the data store including the first hash;
receiving an image of a surface-texture snapshot;
determining that the surface-texture snapshot in the image matches a challenge surface-texture snapshot generated based on the first hash;
determining an authenticity probability based on the time-location stamp;
storing the authenticity probability and the time-location stamp in the data store; and
providing an indication of authenticity based on the authenticity probability.

### Claim 5 (depends on 4)

The method of claim 4, where determining the authenticity probability includes:
determining a distance for the product based on a location of the time-location stamp and a location of a previous verification request;
determining a time between the time of the time-location stamp and a time of the previous verification request;
determining a velocity based on the distance and the time; and
calculating the authenticity probability by applying a severe penalty factor to an authenticity probability of the previous verification request responsive to determining that the velocity meets a velocity threshold.

### Claim 6 (depends on 1)

The method of claim 1, wherein generating the three-dimensional surface using a first portion of the first hash includes:
determining a three-dimensional set of random numbers; and
transforming control vertices of the three-dimensional surface using the three-dimensional set of random numbers.

### Claim 7 (depends on 1)

The method of claim 1, wherein generating the texture pattern includes:
determining a two-dimensional set of random numbers; and
transforming control vertices of the texture pattern using the two-dimensional set of random numbers.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
calculating a centroid of the surface-texture snapshot;
calculating an average surface normal vector for the surface-texture snapshot;
translating the surface-texture snapshot according to the centroid; and
rotating the surface-texture snapshot according to the average surface normal vector.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
storing the surface-texture snapshot in a data store with the first hash;
receiving an authentication request from a requestor, the authentication request including a surface-texture snapshot from a test object;
determining whether the surface-texture snapshot from the test object exists in the data store; and
responsive to determining that the surface-texture snapshot from the test object exists in the data store, providing an indication of authenticity for the test object based on an authentication procedure.

### Claim 10 (depends on 9)

The method of claim 9, wherein the authentication request includes a time-location stamp and the authentication procedure includes:
calculating a numerical authentication probability for the authentication request based on a velocity determined using the time-location stamp; and
providing an indication that the authentication request failed responsive to determining that the numerical authentication probability falls below a threshold.

### Claim 11 (depends on 9)

The method of claim 9, wherein the authentication request includes a time-location stamp and the authentication procedure includes:
determining whether the time-location stamp is outside constraints set by the manufacturer; and
providing an indication that the authentication request failed responsive to determining that the time-location stamp is outside the constraints.

### Claim 12

A system comprising:
at least one processor; and
memory storing instructions that, when executed by the at least one processor, cause the system to:
generate a first hash of a private manufacturer identifier and a product identifier,
generate a three-dimensional surface using a first portion of the first hash,
generate a texture pattern using a last portion of the first hash,
generate a surface-texture snapshot by mapping the texture pattern onto the three-dimensional surface, and
provide the surface-texture snapshot for imprinting on the product.

### Claim 13 (depends on 12)

The system of claim 12, the memory storing instructions that, when executed by the at least one processor, further cause the system to:
generate a serial number, the serial number including the first hash; and
provide the serial number with the surface-texture snapshot for imprinting on the product.

### Claim 14 (depends on 12)

The system of claim 12, wherein generating the three-dimensional surface using a first portion of the first hash includes:
determining a three-dimensional set of random numbers; and
transforming control vertices of the three-dimensional surface using the three-dimensional set of random numbers.

### Claim 15 (depends on 12)

The system of claim 12, wherein generating the texture pattern includes:
determining a two-dimensional set of random numbers; and
transforming control vertices of the texture pattern using the two-dimensional set of random numbers.

### Claim 16 (depends on 12)

The system of claim 12, further comprising:
a data store that stores information for the surface-texture snapshot, the information including the first hash, a public manufacturer identifier, a three-dimensional set of random numbers, and a two-dimensional set of random numbers,
wherein the three-dimensional set of random numbers are used to transform control vertices of the three-dimensional surface as part of generating the three-dimensional surface, and the two-dimensional set of random numbers are used to transform control vertices of the texture pattern as part of generating the texture pattern.

### Claim 17 (depends on 12)

The system of claim 12, wherein the first hash is a hash of the private manufacturer identifier, the product identifier and a chain of ownership identifier and the chain of ownership identifier is either null or a valid public manufacturer identifier for a second manufacturer.

### Claim 18 (depends on 12)

The system of claim 12, the memory storing instructions that, when executed by the at least one processor, further cause the system to:
store the surface-texture snapshot in a data store with the first hash;
receive an authentication request from a requestor, the authentication request including a surface-texture snapshot from a test object;
determine whether the surface-texture snapshot from the test object exists in the data store; and
responsive to determining that the surface-texture snapshot from the test object exists in the data store, provide an indication of authenticity for the test object based on an authentication procedure.

### Claim 19 (depends on 18)

The system of claim 18, wherein the authentication request includes a time-location stamp and the authentication procedure includes:
calculating a numerical authentication probability for the authentication request based on a velocity determined using the time-location stamp; and
providing an indication that the authentication request failed responsive to determining that the numerical authentication probability falls below a threshold.

### Claim 20 (depends on 18)

The system of claim 18, wherein the authentication request includes a time-location stamp and the authentication procedure includes:
determining whether the time-location stamp is outside constraints set by the manufacturer; and
providing an indication that the authentication request failed responsive to determining that the time-location stamp is outside the constraints.
