IP Library › Granted Patent US 10,050,796
Granted Patent B2
US 10,050,796 · App. 15/347,721 · Granted Aug 14, 2018

Encoding ternary data for PUF environments

Inventor: Bertrand Francis Cambou (Flagstaff, AZ)
Assignee: Arizona Board of Regents on behalf of Northern Arizona University
H04L9/3278H04L9/0643H04L9/3226H04L63/083
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 10,050,796
App. No.
15/347,721
Granted
Aug 14, 2018
Kind
B2
Abstract

The present invention provides a method for authenticating distributed peripherals on a computer network using an array of physically unclonable functions (PUF). As each PUF is unique, each PUF is able to generate a plurality of challenge response pairs that are unique to that PUF. The integrated circuits of the PUF comprise a plurality of cells, where a parameter (such as a voltage) of each cell may be measured (possibly averaged over many readings). The plurality of cells in the PUF may be arranged in a one, two or more dimensional matrix. A protocol based on an addressable PUF generator (APG) allows the protection of a network having distributed peripherals such as Internet of things (IoT), smart phones, lap top and desk top computers, or ID cards. This protection does not require the storage of a database of passwords, or secret keys, and thereby is immune to traditional database hacking attacks.

Claims (23)

1. A method for an addressable physically unclonable function generator (APG) to authenticate a distributed peripheral, comprising the steps of:

receiving, by an APG comprising an array of physically unclonable functions (PUFs), a user identification and a password from a distributed peripheral;

converting by the APG the user identification and the password into a binary stream of bits;

decrypting by the APG the binary stream of bits;

converting by the APG the decrypted binary stream of bits into a first ternary stream of data;

removing by the APG all binary elements from the first ternary stream of data while retaining all X's in their respective locations;

generating by the APG an input to a hash function based on the user identification and the random number;

generating, by the hash function, a hash digest based on the input to the hash function, wherein the hash digest identifies a location within the array of PUFs;

determining by the APG a plurality of cells at the location within the PUF corresponding to a response;

measuring by the APG a parameter for each cell in the plurality of cells at the location in the PUF corresponding to the response that does not have an X;

not measuring by the APG a parameter for each cell in the plurality of cells at the location in the PUF corresponding to the response that has an X;

assigning by the APG a zero to each cell in the plurality of cells in the PUF with a parameter below a predetermined range;

assigning by the APG a one to each cell in the plurality of cells in the PUF with a parameter above a predetermined range, thereby creating a second ternary stream of data;

determining by the APG a challenge response error rate by comparing the first ternary stream of data with the second ternary stream of data; and

upon determining by the APG the challenge response error rate is below a predetermined threshold, authenticating the distributed peripheral.

2. The method of claim 1 , wherein the array of PUFs is a memory array configured to generate a plurality of challenge response pairs that are unique to the PUF due to manufacturing variations in the PUF as compared to other PUFs.

3. The method of claim 1 , wherein the parameter for each cell in the plurality of cells in the PUF that correspond to the response that does not have an X is an average measurement of a plurality of measurements taken for each cell.

4. The method of claim 3 , wherein the average measurement is an arithmetic mean, a median or a mode of the plurality of measurements taken for each cell.

5. The method of claim 1 , wherein the measuring, by the APG, the parameter for each cell in the plurality of cells in the PUF that correspond to the response that does not have an X comprises the step of measuring a voltage for each cell in the plurality of cells in the PUF that correspond to the response that does not have an X.

6. The method of claim 1 , wherein the response comprises a plurality of cells in the PUF, wherein at least one cell in the plurality of cells is assigned a zero, at least one cell in the plurality of cells is assigned an X and at least one cell in the plurality of cells is assigned a one.

7. The method of claim 1 , further comprising the step of:

converting, by the APG, the response comprising ternary data into the binary stream of bits by replacing each zero in the response with bits 01, replacing each X in the response with either bits 00 or bits 11 and replacing each 1 in the response with bits 10.

8. The method of claim 1 , wherein the password, the user identification, the random number, the challenge or the response are permanently stored on the peripheral device and not permanently stored in a database at the APG.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2016
From: CAMBOU, BERTRAND FRANCIS
To: ARIZONA BOARD OF REGENTS ON BEHALF OF NORTHERN ARIZONA UNIVERSITY
Reel/Frame 040277/0672 →
Continuity (1)
Related Publication 20180131529A1 · May 10, 2018