# US 8,788,830 B2 · Method and apparatus for logging based identification

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

- Number: US 8,788,830 B2
- Document ID: US8788830B2
- Status: Granted
- Kind: B2
- Application number: 12/244,721
- Filed: 2008-10-02
- Published: 2010-04-08
- Granted: 2014-07-22
- Earliest claimed: 2008-10-02
- Assignees: Ricoh Company, Ltd.
- Applicants: Kurt Piersol
- Inventors: Kurt Piersol
- Web page: https://patentgrep.com/patent/US8788830B2

## CPC

- H04L 9/3271: {using challenge-response}
- H04L 9/32: 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}
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and apparatus for logging based identification are described. In one embodiment, the method comprises extracting entries of a hash chained log that represents a series of previous transactions. The method may also comprise ordering hash values of the entries extracted from the hash chained log into an ordered list. In one embodiment, the method may further comprise producing a cryptographic hash of the ordered list.

## Claims

### Claim 1

A method comprising:
receiving, by a receiving system via a digital communication channel, a challenge that includes a set of hash values from a sending system, wherein the set includes actual hash values that correspond to log entries from a hash chained log, stored on the receiving system, that represents a plurality of transactions randomly intermixed with false hash values that do not correspond to log entries from the hash chained log, wherein the actual hash values that correspond to log entries from the hash chained log include less than all hash values in the hash chained log and at least two randomly selected hash values in the hash chained log;
extracting log entries from the hash chained log and determining, by using the extracted log entries, which hash values from the set of hash values correspond to the false hash values;
in response to determining which hash values from the set of hash values correspond to the false hash values, removing the false hash values from the set of hash values;
in response to removing the false hash values from the set of hash values, ordering the set of hash values into an ordered list based on an order of the log entries in the hash chained log;
concatenating the hash values in the ordered list;
producing a cryptographic hash value of the concatenated hash values from the ordered list; and
sending the produced cryptographic hash value to the sending system as an answer to the challenge.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
encrypting data utilizing the produced cryptographic hash as a session encryption key; and
transmitting the encrypted data to the sending system.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving a cryptographic hash value along with the set of hash values from the sending system, the cryptographic hash value an identity assertion by the sending system; and
verifying the identity of the sending system by comparing the received cryptographic hash value with the produced cryptographic hash.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
transmitting the set of hash values with results of a cryptographic hash as an identity assertion to the receiving system, wherein the set includes actual hash values that correspond to the extracted log entries from the hash chained log randomly intermixed with false hash values that do not correspond to the log entries from the hash chained log.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
transmitting the set of hash values to the receiving system, wherein the set includes actual hash values that correspond to the extracted log entries from the hash chained log randomly intermixed with false hash values that do not correspond to the log entries from the hash chained log;
receiving the produced cryptographic hash value as a response from the receiving system; and
verifying the identity of the receiving system by using the produced cryptographic hash value.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
utilizing results of the produced cryptographic hash as a session encryption key.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
transmitting actual hash values that correspond to log entries from the hash chained log randomly intermixed with false hash values to the receiving system, to enable the receiving system to generate the session encryption key from the actual hash values corresponding to log entries from the hash chained log.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
receiving encrypted data from the receiving system; and
decrypting the encrypted data utilizing the session encryption key.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
exchanging a plurality of transactions between the sending system and the receiving system;
creating a hash-based log entry as a transaction record for each transaction from the plurality of transactions; and
maintaining a transaction log at the sending system and receiving system, the transaction log comprising an ordered log of transaction records.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
initializing the transaction log maintained at the sending system and the receiving system with transaction records generated from randomly selected content data.

### Claim 11 (depends on 10)

The method of claim 10, wherein the transaction record includes at least a hash of a previous transaction record, a unique identifier that identifies a system that originated the transaction for the current transaction record, and content data of the transaction.

### Claim 12 (depends on 1)

The method of claim 1, further comprising:
receiving a query from a third party via an intermediate device, the query to authenticate the identity of the intermediate device to the third party;
verifying the identity of the intermediate device; and
transmitting the cryptographic hash, as a response to the query, to the third party via the intermediate device after the identity of the intermediate device has been verified.

### Claim 13 (depends on 12)

The method of claim 12, wherein verifying the identity of the intermediate device further comprises:
transmitting a challenge to the intermediate device, the challenge including actual hash values that correspond to log entries from an ordered device identity transaction log maintained at the intermediate device, randomly intermixed with false hash values that do not correspond to log entries from the ordered device identity transaction log;
receiving an answer to the challenge from the intermediate device, the answer a cryptographic hash value; and
verifying the identity of the intermediate device from the answer.

### Claim 14

A non-transitory computer readable medium storing instructions thereon which, when executed by a system, cause the system to perform a method comprising:
receiving, by a receiving system, a challenge that includes a set of hash values from a sending system, wherein the set includes actual hash values that correspond to log entries from a hash chained log, stored on the receiving system, that represents a plurality of transactions randomly intermixed with false hash values that do not correspond to log entries from the hash chained log, wherein the actual hash values that correspond to log entries from the hash chained log include less than all hash values in the hash chained log and at least two randomly selected hash values in the hash chained log;
extracting log entries from the hash chained log and determining, by using the extracted log entries, which hash values from the set of hash values correspond to the false hash values;
in response to determining which hash values from the set of hash values correspond to the false hash values, removing the false hash values from the set of hash values;
in response to removing the false hash values from the set of hash values, ordering the set of hash values into an ordered list based on an order of the log entries in the hash chained log;
concatenating the hash values in the ordered list;
producing a cryptographic hash value of the concatenated hash values from the ordered list; and
sending the produced cryptographic hash value to the sending system as an answer to the challenge.

### Claim 15 (depends on 14)

The computer readable medium of claim 14, further comprising:
encrypting data utilizing the produced cryptographic hash as a session encryption key; and
transmitting the encrypted data to the sending system.

### Claim 16 (depends on 14)

The computer readable medium of claim 14, further comprising:
receiving a cryptographic hash value along with the set of hash values from the sending system, the cryptographic hash value an identity assertion by the sending system; and
verifying the identity of the sending system by comparing the received cryptographic hash value with the produced cryptographic hash.

### Claim 17 (depends on 14)

The computer readable medium of claim 14, further comprising:
transmitting the set of hash values with results of a cryptographic hash as an identity assertion to the receiving system, wherein the set includes actual hash values that correspond to the extracted log entries from the hash chained log randomly intermixed with false hash values that do not correspond to the log entries from the hash chained log.

### Claim 18 (depends on 14)

The computer readable medium of claim 14, further comprising:
transmitting the set of hash values to the receiving system, wherein the set includes actual hash values that correspond to the extracted log entries from the hash chained log randomly intermixed with false hash values that do not correspond to the log entries from the hash chained log;
receiving the produced cryptographic hash value as a response from the receiving system; and
verifying the identity of the receiving system by using the produced cryptographic hash value.

### Claim 19 (depends on 14)

The computer readable medium of claim 14, further comprising:
utilizing results of the produced cryptographic hash as a session encryption key.

### Claim 20 (depends on 19)

The computer readable medium of claim 19, further comprising:
transmitting actual hash values that correspond to log entries from the hash chained log randomly intermixed with false hash values to the receiving system, to enable the receiving system to generate the session encryption key from the actual hash values corresponding to log entries from the hash chained log.

### Claim 21 (depends on 20)

The computer readable medium of claim 20, further comprising:
receiving encrypted data from the receiving system; and
decrypting the encrypted data utilizing the session encryption key.

### Claim 22 (depends on 14)

The computer readable medium of claim 14, further comprising:
receiving a query from a third party via an intermediate device, the query to authenticate the identity of the intermediate device to the third party;
verifying the identity of the intermediate device; and
transmitting the cryptographic hash, as a response to the query, to the third party via the intermediate device after the identity of the intermediate device has been verified.

### Claim 23 (depends on 22)

The computer readable medium of claim 22, wherein verifying the identity of the intermediate device further comprises:
transmitting a challenge to the intermediate device, the challenge including actual hash values that correspond to log entries from an ordered device identity transaction log maintained at the intermediate device, randomly intermixed with false hash values that do not correspond to log entries from the ordered device identity transaction log;
receiving an answer to the challenge from the intermediate device, the answer a cryptographic hash value; and
verifying the identity of the intermediate device from the answer.

### Claim 24

A system, comprising:
a memory; and
a processor coupled with the memory to:
receive a challenge that includes a set of hash values from a sending system, wherein the set includes actual hash values that correspond to log entries from a hash chained log, stored on the system, that represents a plurality of transactions randomly intermixed with false hash values that do not correspond to log entries from the hash chained log, wherein the actual hash values that correspond to log entries from the hash chained log include less than all hash values in the hash chained log and at least two randomly selected hash values in the hash chained log,
extract log entries from the hash chained log and determine, by using the extracted log entries, which hash values from the set of hash values correspond to the false hash values,
in response to determining which hash values from the set of hash values correspond to the false hash values, remove the false hash values from the set of hash values,
in response to removing the false hash values from the set of hash values, order the set of hash values into an ordered list based on an order of the log entries in the hash chained log,
concatenate the hash values in the ordered list,
produce a cryptographic hash value of the concatenated hash values from the ordered list, and
send the produced cryptographic hash to the sending system as an answer to the challenge.
