没有合适的资源?快使用搜索试试~ 我知道了~
首页SRAM PUF Analysis and Fuzzy Extractors
SRAM PUF Analysis and Fuzzy Extractors
需积分: 30 138 浏览量
更新于2023-05-23
评论 1
收藏 1.44MB PDF 举报
In this project, we investigate authentication systems that utilize fuzzy extractors and Physically Unclonable Functions (PUFs) to uniquely identify hardware components.
资源详情
资源评论
资源推荐

Project Number: WJM5000
SRAM PUF Analysis and Fuzzy Extractors
A Major Qualifying Project Report:
submitted to the faculty of the
WORCESTER POLYTECHNIC INSTITUTE
in partial fulfillment of the requirements for the
Degree of Bachelor of Science
by:
_______________________________________
Isaac Edwards
_______________________________________
Patrick Newell
_______________________________________
Chris Trufan
Date: March 1, 2010
Approved:
________________________________________
Professor William J. Martin, Major Advisor
________________________________________
Professor Berk Sunar, Co-Advisor

Abstract
In this project, we investigate authentication systems that utilize fuzzy extractors and Physically
Unclonable Functions (PUFs) to uniquely identify hardware components. More specifically, we
seek to verify authenticity using PUFs based on Static Random Access Memory (SRAM). We
propose an implementation of a fuzzy extractor in software which allows for the extraction of
uniquely identifying information from this type of PUF. Included is a working prototype and
framework for this authentication system to facilitate future research on this topic.

Table of Contents
1 Introduction .......................................................................................................................................... 1
2 Background ........................................................................................................................................... 4
2.1 Fuzzy Extractors and Physically Unclonable Functions ................................................................. 4
2.2 BCH Codes ..................................................................................................................................... 6
2.2.1 Galois Fields .......................................................................................................................... 7
2.2.2 Primitive Polynomials ............................................................................................................ 8
2.2.3 Minimal Polynomials ............................................................................................................. 9
2.2.4 BCH Generator Polynomial ................................................................................................. 10
2.2.5 BCH Encoding ...................................................................................................................... 11
2.2.6 Syndrome Computation ...................................................................................................... 12
2.2.7 Error Locator Polynomial .................................................................................................... 15
2.2.8 Chien’s Search ..................................................................................................................... 16
2.3 Hashing ........................................................................................................................................ 17
2.3.1 Universal Hashing ................................................................................................................ 18
2.3.2 Theoretical Background ...................................................................................................... 18
2.3.3 Privacy Amplification .......................................................................................................... 19
2.3.4 Universal Class of Hash Functions Used in this System ...................................................... 19
2.4 Enrollment and Authentication .................................................................................................. 21
2.4.1 The Enrollment Process ...................................................................................................... 22
2.4.2 The Authentication Process ................................................................................................ 24
3 System Design ..................................................................................................................................... 27
3.1 Data Analysis ............................................................................................................................... 27
3.1.1 Data Format ........................................................................................................................ 27
3.1.2 Selecting Bit Extraction Pattern .......................................................................................... 28
3.2 Calculating Optimal Parameters ................................................................................................. 36
3.2.1 Calculating Range of N and K Values................................................................................... 36
3.2.2 Calculating Number of Errors to Correct ............................................................................ 39
3.2.3 Optimal Parameters for Single Codeword .......................................................................... 39
3.2.4 Concatenation ..................................................................................................................... 40
4 MATLAB Framework ........................................................................................................................... 44

4.1 Architecture ................................................................................................................................ 44
4.1.1 The Device Package ............................................................................................................. 47
4.1.2 The Core Package ................................................................................................................ 50
4.1.3 The Encoder Package .......................................................................................................... 52
4.1.4 The Hash Package ............................................................................................................... 54
4.2 Building a Simple Authentication System ................................................................................... 55
4.3 Extending the Framework ........................................................................................................... 58
4.3.1 Creating a New Class File .................................................................................................... 58
4.3.2 Implementing the New Class .............................................................................................. 59
4.3.3 Testing the New Class ......................................................................................................... 65
5 BCH C Implementation ........................................................................................................................ 66
5.1 Mathematical Representation .................................................................................................... 66
5.2 Finding Primitive Polynomials ..................................................................................................... 66
5.3 Generating Minimal Polynomials ................................................................................................ 67
5.4 Generating BCH Generator Polynomials and BCH Encoding ...................................................... 67
5.5 Computing Syndrome Components ............................................................................................ 68
5.6 Computing the Error Locator Polynomial ................................................................................... 68
5.7 Chien’s Search and BCH Correction and Decoding ..................................................................... 68
6 Future Work ........................................................................................................................................ 70
7 Works Cited ......................................................................................................................................... 72

1
1 Introduction
In today’s world of globalization in the electronics industry, the continuing search for the lowest
bidder often results in components that underperform, perform incorrectly or simply don’t perform at
all. In the consumer electronics market, this is usually only a minor annoyance as a legitimate supplier
will generally refund or replace the components in question. However, in a secure or other high-risk
situation, not only must the components perform reliably and correctly, but they must also only perform
the operations the original manufacturer specifies. Many companies manufacture components outside
of their supervision where defects or malicious functionality can be easily introduced. For example, it is
often cheaper for a company to design a component in the U.S. and have it manufactured in another
country with cheaper labor rates. To put this into perspective, the Pentagon produces in secure facilities
only about two percent of the components used in military systems [1]. Recently, in 2008, the F.B.I. and
the Pentagon discovered that a large amount of counterfeit networking components were being used by
U.S. military agencies [2]. While these components in particular were not constructed with malicious
intent, the possibility of a hostile entity hiding the relatively small amount of functionality needed to
compromise secure systems within the highly complex hardware used today is very real and dangerous.
To solve this problem, we need an inexpensive form of hardware authentication for both
components within secure systems and components that interface with those systems. This
authentication is beneficial for all parties involved with the secure application. For the designers of the
secure application, it ensures that they are using the correct components within their system and that
those components will withstand given tolerances and handle given situations. For the manufacturers
of the components, it ensures that the components being used in a system are produced following their
specifications and are not counterfeit or otherwise defective. For the users of the system, it ensures
that both the system and the user are legitimately engaging in use of the system and activities on that
system are done so over a defined set of rules and security levels. For example, the components of a life
support system must be of the highest quality so that those relying on the system are not put in danger.
At any given point during the life cycle of the system, we should know that every component is working
as specified.
To achieve these goals in a hardware-based environment, we call upon the services of PUFs or
Physically Unclonable Functions. The term PUF is used to describe a broad class of algorithms and
measuring protocols that produce uniquely random data thanks to miniscule differences in construction
brought about by the fact that we live in an analog world. We can use these PUFs as a sort of fingerprint
for hardware devices, a way to identify and differentiate them from the time they are born, that is when
剩余75页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0