Tải bản đầy đủ (.pdf) (44 trang)

Nghiên cứu và ứng dụng thuật toán mật mã bảo vệ thiết kế FPGA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1 MB, 44 trang )

TRƢ N

N

LÊ ÌN

N

ÙN

NGHIÊN CỨU VÀ ỨNG DỤNG THUẬT TOÁN MẬT MÃ
BẢO V THIẾT KẾ FPGA

LUẬN V N T

S

N

N

N

NT

– 2017

-V

NT


N


TRƢ N

N

LÊ ÌN

N

ÙN

NGHIÊN CỨU VÀ ỨNG DỤNG THUẬT TOÁN MẬT MÃ
BẢO V THIẾT KẾ FPGA

g nh

ng nghệ iện tử - Viễn thông

Chuyên ng nh

ỹ thuật điện tử

Mã số: 60520203

LUẬN V N T

NGƢ


Ƣ N

S

N

N

N

O

NT

-V

NT

PGS.TS. TRẦN XUÂN TÚ

N

– 2017

N


L

M O N


T i xin cam đoan
Bản luận văn tốt nghiệp này là công trình nghiên cứu thực sự của cá nhân tôi,
được thực hiện dựa trên cơ sở nghiên cứu lý thuyết, thực tế đã đạt được trên thế giới,
dưới sự hướng dẫn của PGS.TS. Trần Xuân Tú, thầ cô trong bộ môn, trong khoa,

các bạn

và các thực nghiệm của bản thân. Tôi không sao chép các tài liệu hay

các công trình nghiên cứu của người khác để làm luận văn n
Hà nội, Ngày ….. tháng …. năm 2017
Người cam đoan

Lê Đình Hùng

1


L

ẢM ƠN

Tôi xin chân th nh cảm ơn PGS.TS. Trần Xuân Tú đã tận tình giúp đỡ, chỉ ảo
hướng dẫn tôi trong suốt thời gian thực hiện luận văn tốt nghiệp.T i c ng xin gửi lời

cảm ơn đến các thầ , c giáo và bạn bè trong lớp K21 Kỹ thuật điện tử, Khoa
iện Tử – Viễn Thông, Trường ại Học Công Nghệ, ại Học uốc ia

Nội


đã c nh ng nhận xét, góp ý cho luận văn của tôi.
uối c ng t i xin gửi lời cảm ơn đến gia đình t i, cơ quan t i đang c ng
tác, nh ng người đã tạo đi u kiện cho tôi học tập, nghiên cứu và ho n th nh luận
văn n .
Tôi xin chân th nh cảm ơn!

2


MỤC LỤC
MỤC LỤC ......................................................................................................................1
BẢNG VIẾT TẮT..........................................................................................................5
DANH SÁCH BẢNG .....................................................................................................7
DANH SÁCH HÌNH ......................................................................................................8
TÓM TẮT LUẬN V N ................................................................................................ 9
MỞ ẦU .......................................................................................................................10
ƢƠN 1 M T SỐ P ƢƠN P ÁP TẤN CÔNG VÀ BẢO V THIẾT KẾ
FPGA ............................................................................................................................ 12
Một số phƣơng pháp tấn công ..........................................................................12

1.1

1.1.1 Nhân bản, dán nhãn sai và sản xuất vượt số lượng ..........................................12
1.1.2 Kỹ thuật đảo ngược .......................................................................................... 13
1.1.3 Kỹ thuật tấn c ng đọc lại .................................................................................14
Một số phƣơng pháp ả

1.2


.............................................................................15

1.2.1 Mã hóa bitstream.............................................................................................. 16
1.2.2 Xác thực itstream ........................................................................................... 19
ử d ng

1.2.3

t

1.3

xác thực.........................................................................................20

ận hƣơng ................................................................................................ 21

ƢƠN

2

2.1

Lự

2.2

Thi t

2.3


Thi t

2.4

Thi t

ẢI PHÁP BẢO V THIẾT KẾ FPGA BẰNG IC XÁC THỰC ..22

h n th nh phần ........................................................................................22
giải pháp .............................................................................................. 23
ần bảo v



-bit .....................................................................25

i á thự .......................................................................................... 25

2.4.1 Bộ tạo số ngẫu nhiên .......................................................................................25
. .

Thuật toán

. .

............................................................................................. 26

ấu trúc ản tin sử d ng để xác thực. ............................................................. 27

2.4.4 Giao thức 1-wire ............................................................................................. 28

. .

ưu đ thuật toán chương trình ch nh. ............................................................ 29

2.5

t

ả ...............................................................................................................29

2.6

t

ận ..............................................................................................................30

ƢƠN

3

ẢI PHÁP MÃ HÓA THIẾT KẾ FPGA..........................................31

3.1

Giải pháp thực hi n ........................................................................................... 31

3.2

Thuật toán GOST 28147-89 .............................................................................31


3.2.1 Ký hiệu .............................................................................................................31
3.2.2 Phép biến đổi Sbox .......................................................................................... 33

3


3.2.3 Các biến đổi .....................................................................................................33
3.2.4 Thuật toán lược đ khóa ..................................................................................34
3.2.5 Thuật toán mã h a cơ ản ................................................................................34
3.3

Xây dựng phần mềm mã hóa............................................................................35

3.4

Thi t k bộ giải mã ............................................................................................ 36

3.5

Thi t k lõi mật mã GOST 28147-89 ............................................................... 37

3.6

Mô phỏng và thử nghi m ..................................................................................38

3.7

K t luận ..............................................................................................................40

KẾT LUẬN ..................................................................................................................41

TÀI LI U THAM KHẢO........................................................................................... 42

4


BẢNG VIẾT TẮT
hi

ngh

Ti ng Anh

ngh

Ti ng Vi t

AE

Authenticated Encryption

Mã hóa chứng thực

AES

Advanced Encryption Standard

Chuẩn mã hóa tiên tiến

ASIC


Application Specific Integrated Circuit

Mạch tích hợp chuyên d ng

AXI

Advanced eXtensible Interface

Giao tiếp mở rộng tiên tiến

BRAM

Block Random Access Memory

Khối bộ nhớ truy cập ngẫu
nhiên

CMAC

Cipher-based MAC

Mã xác thực dựa trên mã hóa

CPLD

Complex Programmable Logic Device

Linh kiện logic lập trình

CRC


Cyclic Redundancy Check

mã kiểm tra dư thừa tuần
hoàn

EEPROM

Electrically Erasable Programmable
Read-Only Memory

Bộ nhớ chỉ đọc có thể xóa
bằng điện

FIPS

Federal Information Processing
Standards

Tiêu chuẩn xử lý thông tin liên
bang

FPGA

Field Programmable Gate Array

Mảng các cổng lập trình

HDL


Hardware Description Language

Ngôn ng mô tả phần cứng

IC

Integrated Circuit

Mạch tích hợp

ICAP

Internal Configuration Access Port

Cổng cấu hình trong

IO

Input Output

Cổng vào ra

LFSR

Linear Feedback Shift Register

Thanh ghi dịch phản h i tuyến
tính

LUT


Look-Up Table

Bảng tra

MAC

Message Authentication Code

Mã bản tin xác thực

PCB

Printed Circuit Board

Bảng mạch in

RAM

Random Access Memory

Bộ nhớ truy cập ngẫu nhiên

5


RNG

Random Number Generator


Bộ tạo số ngẫu nhiên

6


DANH SÁCH BẢNG
ảng -

ác h m f được sử d ng trong thuật toán

ảng -

hối d liệu được sử d ng để t nh giá trị

Bảng 2-3: Thông số tài nguyên sử d ng sau tổng hợp

-1

25
26
29

7


DANH SÁCH HÌNH
ình .
u trình từ HDL đến bitstream. ........................................................ 13
ình .
ết hợp quá trình mã hoá v xác thực itstream ................................ 19

ình .
hình phương thức sử d ng xác thực
. ............................... 21
ình . Thiết kế l i xác thực v ứng d ng....................................................... 23
ình . uá trình hoạt động của l i xác thực. .................................................. 24
ình . Thiết kế ch nh ộ đếm it. ................................................................ 25
ình . Thiết kế ộ tạo số ngẫu nhiên. ............................................................ 25
ình .
iản đ s ng của giao thức -Wire .................................................... 28
ình .
ưu đ thuật toán lu ng đi u khiển ch nh. ......................................... 29
Hình 3.3 Phần m m mã hóa tệp cấu hình FPGA. ............................................... 36
Hình 3.4 Giải thuật thực hiện phần m m. ........................................................... 36
Hình 3.5 Cấu trúc bộ giải mã tệp cấu hình.......................................................... 37
Hình 3.6 Giải thuật thực hiện trên Microblaze. .................................................. 37
Hình 3.7 Cấu trúc lõi mật mã GOST 28147-89. ................................................. 38
ình .
ng g i P của lõi mật mã GOST 28147-89 sử d ng Xilinx Vivado.
............................................................................................................................. 38
Hình 3.9 Mô phỏng thử nghiệm lõi mật mã GOST 28147-89. ........................... 39
Hình 3.10 Thử nghiệm sau khi nạp thiết kế bộ cộng. ......................................... 40

8


TÓM TẮT LUẬN V N
Luận văn m tả một số phương pháp tấn công chính nhằm sao chép và
phân tích trái phép thiết kế FPGA (Field-Programmable Gate Array) và phương
pháp bảo vệ tích cực nhằm bảo vệ thiết kế FPGA. Hai giải pháp mã hóa
bitstream và giải pháp sử d ng vi mạch xác thực được lựa chọn để thực nghiệm.

Giải pháp sử d ng vi mạch xác thực được hướng đến cho các vi mạch FPGA giá
thấp không có khả năng tái cấu hình động, kh ng c các t nh năng ảo vệ của
nhà sản xuất FPGA. Giải pháp được xây dựng dựa trên vi xử lý m m Picoblaze
và vi mạch xác thực DS28E01. Vi xử lý Picoblaze tiến hành quá trình xác thực
với DS28E01, từ đ qu ết định cho phép thiết kế cần bảo vệ được phép hoạt
động. Kết quả thực nghiệm chỉ ra rằng giải pháp thiết kế đáp ứng được yêu cầu
đặt ra: chiếm ít tài nguyên của linh kiện FPGA, sử d ng ít chân linh kiện, giao
thức đơn giản và giá thành mua linh kiện rẻ. Giải pháp thứ hai là mã hóa
bitstream, thiết kế FP
được tổng hợp, ánh xạ thiết kế vào các tài nguyên trên
FP , sau đ tạo ra tệp d liệu cấu hình v được mã hóa bằng phần m m trên
má t nh. au khi được truy n xuống bo mạch, n được giải mã bằng lõi thuật
toán GOST 28147-89 và cấu hình v o v ng t i ngu ên FP
đã định trước. ể
thực hiện giải pháp, một bộ giải mã itstream FP
được xây dựng dựa trên bộ
vi xử lý m m Microblaze và lõi IP GOST 28147-89. Thực nghiệm cho thấy, giải
pháp đ xuất đáp ứng được m c tiêu bảo vệ thiết kế FPGA mà không sử d ng
giải pháp bảo vệ của nhà sản xuất vi mạch FPGA.

9


MỞ ẦU
Lý do lựa ch n ề tài
FPGA là linh kiện bán dẫn đa d ng, có thể lập trình và tái lập trình được,
thường được sử d ng để mô tả các hàm logic của người thiết kế. Từ năm
,
các nhà sản xuất FPGA đưa thêm các khối chức năng, trước kia là các ngoại vi
bên ngoài, vào trong FPGA. Hiện nay, một linh kiện FPGA có thể chứa một bộ

xử lý nhúng, khối xử lý tín hiệu số, các bộ thu truy n d liệu gigabit, khối quản
lý xung đ ng h và các bộ chuyển đổi tương tự số (ADC)…
Các thành phần sẵn có và khả năng tái lập trình được làm cho các FPGA
có thể sánh ngang với các vi mạch tích hợp chuyên d ng (ASIC: Application
Specific Integrated Circuit) khi so sánh v hiệu năng, chi phí và thời gian phát
triển. Phần lớn các FPGA thế hệ mới đ u được sản xuất dựa trên nh ng công
nghệ mới nhất để cạnh tranh so với ASIC v hiệu suất, điện năng v chi ph .
T nh năng cấu hình lại, khả năng có thể thực hiện bất kỳ chức năng n o và khả
năng t nh toán song song l m cho FP
c ưu thế vượt trội so với các bộ vi xử
lý tuần tự.
Sự phát triển trong khả năng v kh ng gian ứng d ng của FPGA tạo nên
hai vấn đ v bảo mật. Thứ nhất là các thiết kế FPGA ngày nay tiêu tốn rất nhi u
ngu n lực đầu tư, cần phải được bảo vệ. Thứ hai, sự tăng nhanh sử d ng FPGA
trong các ứng d ng yêu cầu t nh năng ảo mật, do vậ t nh năng ảo mật các
thiết kế FP
được quan tâm trong lĩnh vực quân đội, đi u khiển-tự động, công
nghiệp tiêu dùng, nghiên cứu cộng đ ng, mặc d mỗi lĩnh vực có yêu cầu và
quan điểm bảo mật riêng.
ể giải quyết các vấn đ bảo mật, các hãng sản xuất FP
c ng đã t ch
hợp các giải pháp bảo mật vào thiết bị của họ. Tuy nhiên, việc thực hiện các giải
pháp n thường được triển khai trên các dòng sản phẩm đắt ti n và vẫn có thể
t n tại lỗ hổng làm lộ khóa. Do đ , luận văn đi v o nghiên cứu các biện pháp tấn
công và bảo vệ thiết kế cho FPGA dựa trên công nghệ SRAM từ đ thử nghiệm
giải pháp cho phép thay thế biện pháp bảo vệ của nhà sản xuất FPGA. Một
thuận lợi của học viên l đ tài luận văn c ng l một phần nhiệm v nghiên cứu
của học viên tại cơ quan c ng tác. Do đ , học viên c đi u kiện tiếp xúc, khai
thác các trang thiết bị sẵn có tại đơn vị.
Mụ tiê


ề tài

- Nghiên cứu, tìm hiểu các phương pháp tấn công và bảo vệ thiết kế
10


FPGA.
-Thực nghiệm triển khai hai giải pháp bảo vệ thiết kế FPGA là giải pháp
sử d ng cho thiết bị giá thấp sử d ng vi mạch xác thực và giải pháp sử d ng
thuật toán mật mã để mã hóa bitstream của thiết kế FPGA. Giải pháp sử d ng vi
mạch xác thực cần nhỏ gọn chiếm t t i ngu ên của linh kiện FPGA, giao tiếp
với vi mạch xác thực ngo i cần sử d ng t chân linh kiện. Giải pháp mã hóa
bitstream được triển khai dựa hệ nhúng với vi xử lý Microblaze, bộ giải mã thuật
toán GOST 28147- 9 được mô hình hóa ở mức truy n thanh ghi RTL.
Phƣơng pháp nghiên ứu
ể thực hiện m c tiêu trên, phương pháp nghiên cứu được sử d ng g m:
- Phương pháp nghiên cứu lý thuyết: Nghiên cứu tìm hiểu các phương pháp
tấn công và bảo vệ thiết kế FPGA, các thuật toán h m ăm SHA-1, mã khối
GOST 28147-89, kỹ thuật lập trình cho hệ vi xử lý, kỹ thuật mô hình hóa một
chức năng phần cứng ở mức RTL bằng ngôn ng mô tả phần cứng Verilog từ đ
nghiên cứu triển khai các giải pháp bảo vệ thiết kế FPGA.
- Phương pháp thiết kế: Phát triển và xây dựng các giải pháp dựa trên hệ vi
xử lý và lõi IP ở mức RTL. Tổng hợp phần cứng với công nghệ FPGA;
- Phương pháp mô phỏng và kiểm chứng: Mô phỏng thiết kế lõi IP mật mã
trên phần m m ISE Simulator và Vivado Simulator nhằm kiểm tra chức năng và
đánh giá hiệu năng của lõi mật mã.
- Phương pháp kiểm thực: Kiểm nghiệm thiết kế trên các bo mạch phát triển.
K t cấu luận ăn
Cấu trúc của luận văn được bố c c th nh chương hương đ cập đến

một số phương pháp tấn công và bảo vệ thiết kế FP . hương đ cập đến
giải pháp bảo vệ thiết kế FPGA thông qua vi mạch xác thực. Giải pháp mã hóa
thiết kế FPGA sẽ được trình
trong hương . uối cùng là một số kết luận
v hướng phát triển tiếp theo.

11


hƣơng 1 M T SỐ P ƢƠN
1.1

P ÁP TẤN CÔNG VÀ BẢO V THIẾT
KẾ FPGA

Một số phƣơng pháp tấn công

1.1.1 Nhân bản, dán nhãn sai và sản xuất ƣợt số ƣợng
FPGA là chip đa năng, c nghĩa rằng d liệu cấu hình (bitstream) cung
cấp cho một thiết bị có thể được sử d ng cấu hình cho bất kỳ linh kiện FPGA
cùng họ v c k ch thước tương đ ng. hư vậy, kẻ tấn công có thể làm bản sao
bằng việc ghi lại bitstream khi chúng được truy n tải đến FPGA và sử d ng
trong hệ thống và sản phẩm khác, việc làm nhái sẽ rẻ hơn nhi u so với bản gốc.
Việc nhân bản không yêu cầu quá nhi u tài nguyên so với việc phân tích logic
và không yêu cầu kỹ sư cao cấp. i u này có thể được coi là lỗ hổng bảo mật
của FPGA SRAM. Kẻ tấn c ng, người không cần hiểu chi tiết v thiết kế, có thể
coi thiết kế như l một hộp đen v chỉ cần đầu tư v o việc sao chép các bảng
mạch mà FP
được gắn trên đ , nên tiết kiệm được khoản chi phí phát triển.
Nhà thiết kế và phát triển hệ thống thường có hai mối lo ngại chính liên

quan đến nhân bản. Thứ nhất, các hệ thống nhái sẽ gây tổn hại v doanh thu sau
khi đã đầu tư lớn cho quá trình nghiên cứu phát triển sản phẩm. Thứ hai, các sản
phẩm nhái luôn có chất lượng kém hơn nhi u so với sản phẩm gốc, nên nếu hệ
thống giả giống như hệ thống gốc, sẽ làm mất danh tiếng và tăng chi ph hỗ trợ
khách hàng. Do vậy, phương pháp hiệu quả nhất để chống lại kẻ tấn c ng đ l
tăng giá th nh cho việc tấn công nhân bản thành công, với phương pháp n , lợi
nhuận thu được từ việc nhân bản các thiết kế tiến đến không.
Ngành công nghiệp điện tử đã đối mặt với việc làm giả phần cứng trong
nhi u thập kỷ qua, hầu hết đến từ khu vực Châu Á. Bên cạnh việc sao chép trộm
thiết kế, sản xuất vượt định mức c ng là mối quan tâm lớn cho nhi u công ty.
Khi sản phẩm được sản xuất bởi bên thứ ba, quá trình sản xuất, lắp ráp và kiểm
tra phần cứng trước khi đưa đến người tiêu dùng được thực hiện bởi bên thứ ba,
do đ sản phẩm có thể sản xuất nhi u hơn số lượng đặt h ng v án vượt quá mà
không phải chịu chi phí phát triển. Thậm chí, các mẫu thiết kế có thể bị bán cho
đối thủ cạnh tranh (P
la out, itstream). ể tránh đi u này, các công ty sản
xuất phải đủ đi u kiện cơ sở vật chất, đáng tin cậy và cần “giám sát” họ, nhưng
đi u này là khó có thể thực hiện ở nhi u quốc gia và không khả thi cho nhi u
công ty nhỏ.
Dán nhãn sai FP
c ng l vấn đ lớn đối với các nhà sản xuất FPGA và
phát triển hệ thống. Sửa đổi hoặc x a đánh dấu trên một g i
l đi u bình
12


thường và các nhà thiết kế hệ thống đã l m như vậy trong nhi u năm, để khiến
cho các kỹ thuật đảo ngược hệ thống thêm kh khăn. Tuy nhiên, khi FPGA
kh ng được mua thông qua các nhà phân phối được ủy quy n, người dùng khó
có thể chắc chắn được các thành phần ên trong được đ ng g i theo đúng như

bao bì. Nếu là một thiết bị hoàn toàn khác nhau, hoặc một thành viên trong họ
FPGA nhưng nhỏ hơn, đi u đ l đơn giản để kiểm tra, mặc dù sau khi mua.
Mức tốc độ (speed grade) của thiết bị cho phép xác định tần số tối đa m thiết bị
có thể hỗ trợ, tu nhiên đây là thông số rất khó có thể đo kiểm, nên một FPGA
có mức tốc độ thấp hơn có thể được ghi nhãn sai ở mức cao hơn và bán với giá
cao hơn so với giá trị thật. h ng c cách n o cho người mua hoặc người bán
thực sự biết nh ng gì được đ ng g i ên trong chip, ngoài việc cấu hình chúng
và quan sát kết quả. ối với các c ng t thương mại, phương thức an toàn nhất
là mua các thiết bị từ nhà cung cấp hoặc từ nhà phân phối chứ không phải mua
trên mạng, tuy nhiên đối với một số người chỉ cần số lượng nhỏ với giá rẻ, sẽ có
ngu cơ phải đối diện với sự gian dối này.
1.1.2 Kỹ thuật ảo ngƣợc
Có thể định nghĩa kỹ thuật đảo ngược (reverse engineering) bitstream là
thực hiện biến đổi thông tin trong bitstream thành mô tả chức năng của thiết kế
an đầu hoặc kỹ thuật đảo ngược là quá trình xử lý biến đổi bitstream quay trở
lại ngôn ng mô tả phần cứng (Hardware decription language – HDL) hoặc
netlist.
HDL

Netlist
Tổng
hợp
thiết
kế

Placelist

Ánh xạ

định

tuyến

nh 1.1: Quy trình từ

Bitstream
Lập


L

n bitstream.

Từ d liệu đảo ngược có thể xác định d liệu quan trọng từ bitstream, như
các khóa, nội dung BRAM/LUT hoặc trạng thái các cell bộ nhớ, mà không cần
khôi ph c đầ đủ chức năng. ỹ thuật đảo ngược là hợp pháp ở nhi u nước với
một số hạn chế để thực hiện tương tác hoặc phát hiện hành vi xâm phạm bằng
sáng chế hoặc các quy n khác. ảo ngược toàn bộ bitstream sẽ biết toàn bộ thiết
kế và các d liệu có thể được sử d ng để sản xuất bitstream hoàn toàn khác so
với an đầu, như vậy sẽ khó chứng minh được hành vi xâm phạm bản quy n.
Ngoài ra, d liệu bí mật ẩn trong bitstream sẽ bị phát hiện ởi kẻ tấn công.
13


Lập mã (encode) bitstream thường kh ng được mô tả và không rõ ràng,
nhà cung cấp FPGA gi mã h a n như một bí mật. Sự khó hiểu, độ phức tạp
v k ch thước bitstream làm cho quá trình xử lý ngược trở nên kh khăn v tốn
thời gian, mặc dù v mặt lý thuyết thì có thể thực hiện được. iện na , chưa có
báo cáo nào v sự đảo ngược thành công các bitstream FP
như định nghĩa ở
trên hoặc đánh giá tính khả thi v thời gian dựa trên d liệu và phân tích thực

nghiệm. gu cơ n chắc chắn ị ngăn chặn một cách có hiệu quả ằng các cơ
chế pháp lý trong m i trường khoa học v trong m i trường thương mại, mặc d
một số tổ chức và một số quốc gia sẽ ít quan tâm v vấn đ này. Tuy nhiên, việc
sử d ng FP
c ng ng trở nên phổ iến v giá trị của các thiết kế trên FP
c ng tăng, thì các tấn c ng đảo ngược sẽ c ng nhanh ch ng phát triển.
Tách d liệu từ RAM và LUT từ bitstream không phải là mới, tuy nhiên,
phần khó nhất của quá trình xử lý là quá trình chuyển đổi tự động các cấu trúc
triển khai (placelist) trở lại th nh netlist, từ đ nh ng chức năng thiết kế an đầu
có thể được lấy ra. ột số dự án v c ng t đã c ng ố thực hiện th nh c ng qua
trình n nhưng rất kh để kiểm chứng.
1.1.3 Kỹ thuật tấn ông

c lại

Kỹ thuật tấn c ng đọc lại là một quá trình xử lý lấy lại một bản ch p của
trạng thái hiện tại FPGA trong khi đang hoạt động. Theo yêu cầu, FPGA sẽ gửi
bản ch p bao g m cấu hình, LUT và nội dung bộ nhớ đến máy chủ hoặc thiết bị
khác, thông qua cổng cấu hình. Ảnh này khác so với bitstream gốc bởi n kh ng
c header, footer, lệnh khởi tạo và no-ops; d liệu động trong LUT và BRAM
khác với trạng thái khởi tạo. ọc ngược là một công c c đặc tính mạnh mẽ
trong việc xác minh và kiểm tra sản phẩm FPGA của nhà sản xuất v nh phát
triển, cho phép nhà phát triển hệ thống xác minh t nh đúng đắn của thiết kế như
đang hoạt động trên chính FPGA.
Tuy nhiên, nếu kẻ tấn công có thể đọc lại thiết kế, thêm header v footer
sẽ tạo th nh một phiên bản chỉnh sửa v sử d ng trong một thiết bị khác, ngo i
ra, n c ng c thể thực hiện kỹ thuật phân t ch đảo ngược.
ng thời, với
phương thức “read ack difference attack”, kẻ tấn công có thể quan sát tín hiệu
tha đổi trên từng chu kỳ xung đ ng h , từ đ c thể bỏ qua cơ chế bảo vệ. Xem

xét trường hợp một lõi chức năng đợi một tín hiệu cho phép từ quá trình xác
thực. Nếu người tấn công c được kiểm soát đầu vào clock, họ có thể ch p ảnh
trước khi tín hiệu được thiết lập, cấp t n hiệu clock v sau đ sẽ ch p nh ng ảnh
khác. Thông qua một quá trình lặp đi lặp lại tương đối dễ, so sánh các ảnh, kẻ
14


tấn công có thể xác định it tha đổi trạng thái của tín hiệu. au đ , bitstream
gốc có thể bị chỉnh sửa để có tín hiệu cho phép mãi mãi. Tuy nhiên, phương
pháp đọc ngược c ng c thể được sử d ng như một cơ chế bảo vệ bằng việc
cung cấp các dấu hiệu giả mạo.
Xilinx cung cấp một bit trong bitstream cho việc loại bỏ khả năng đọc
ngược, nhưng lại dễ dàng tìm thấy qua các mô tả của hãng. Tuy nhiên, khi mã
h a itstream được sử d ng n sẽ vô hiệu hóa một số thanh ghi trong FP
để
ngăn chặn quá trình đọc ngược. V lý thuyết, bit vô hiệu hóa này có thể xác định
thông qua tấn công không xâm lấn, nhưng kh ng c cơ sở chứng minh phương
thức có thể thành công khi thực hiện. Thiết bị Altera không có khả năng
read ack v do đ kh ng thể bị tấn công theo phương pháp này.
1.2

Một số phƣơng pháp ả

Tính hiệu quả của một cơ chế bảo vệ được đánh giá ằng chi phí, kỹ năng,
công c và thời gian cần thiết để phá vỡ các bảo vệ đ . Trước khi nghiên cứu
các kỹ thuật bảo vệ, có thể phân loại các phương pháp bảo vệ như sau:







Phương pháp răn đe xã hội Social deterrents) cung cấp bởi hệ thống pháp
luật và dựa vào vấn đ hành chính, vấn đ truy tố và tạm giam. Thiết kế
có thể được bảo vệ v nhãn hiệu, bản quy n, bí mật thương mại, bằng
sáng chế, hợp đ ng, thoả thuận cấp phép hay gọi chung l “ sở h u trí
tuệ”. Tu nhiên, vấn đ răn đe xã hội chỉ hiệu quả tại nơi c luật pháp
được t n thủ chặt chẽ v được thi hành nghiêm túc. Thái độ với quy n sở
h u thiết kế ở các quốc gia rất khác nhau, đi u n kh ng ho n to n ngăn
chặn được vấn đ n . hầu hết các nước hàng giả được sản xuất, quy n
sở h u c xu hướng kh ng được thi hành.
Phương pháp ảo vệ t ch cực Active deterrents) l cơ chế mật mã và vật
lý nhằm ngăn chặn hành vi trộm cắp và sử d ng trái phép thiết kế.
Phương pháp ảo vệ t ch cực có tính hiệu quả cao nếu thực hiện chính
xác. Kết hợp với việc răn đe xã hội, phương pháp ảo vệ tích cực có thể
giúp thuyết ph c toà án rằng các nhà thiết kế đưa ra nh ng biện pháp
thích hợp nhằm bảo vệ thiết kế và thủ phạm đã chủ động phá vỡ chúng.
Phương pháp ảo vệ phản ứng Reactive deterrents) cung cấp cho việc
phát hiện hoặc ghi nhận bằng chứng v sự xâm nhập hoặc gian lận.
Phương pháp n dựa trên một v i cơ chế, như đ ng dấu thuỷ phân
(watermark), dấu vết cá nhân (fingerprinting) v ẩn mã steganograph )
phương pháp n h u ch cho quá trình đi u tra hoặc cải thiện an ninh hệ
thống sau khi bị tấn công hoặc xâm nhập.
15


Trong luận văn n , học viên chủ ếu giới thiệu phương pháp ảo vệ chủ
động.
1.2.1 Mã hóa bitstream
Mã hóa là chức năng cung cấp tính tin cậy cho d liệu và ph thuộc vào

khóa bí mật, ngay cả khi thuật toán được công khai. Mã hóa bitstream tại thời
điểm cuối của quá thiết kế và giải mã trong FPGA c thể chống lại sự nhân bản,
kỹ thuật đảo ngược và một v i trường hợp khác, n cung cấp t nh năng bảo vệ
chống giả mạo. Mã hóa d liệu cấu hình cho thiết bị có thể lập trình được đ
nghị v o năm 99 trong một bằng sáng chế của Austin [8], được thực hiện lần
đầu trong các thiết bị ctel‟s R , tu nhiên n là một ví d t i trong việc phân
phối khóa. Sau khi bitstream được sản xuất, phần m m yêu cầu khóa từ người
dùng và mã hoá d liệu cấu hình của bitstream. gười d ng sau đ “lập trình”
khóa đã sử d ng trên FPGA. Th ng tin cấu hình trong itstream đã được mã,
được tru n đến các ộ nhớ th ng qua ộ giải mã hoá trước đ . Kẻ tấn công có
bitstream mã hoá không sử d ng được vì không có khóa do đ kh ng thể đảo
ngược hoặc sử d ng trong một thiết bị khác (giả sử khoá khác nhau được tải vào
mỗi FPGA). FPGA ltera tratix
v
cho phép người thiết kế chọn
bitstream ắt uộc phải qua ộ giải mã, không cho phép bitstream không mã
hoá. i u n ngăn cản việc thực thi bất kỳ bitstream kh ng được mã với khóa
đúng, nhưng kh ng ngăn chặn tấn công từ chối dịch v cố gắng liên t c đưa đến
một bitstream không hợp lệ.
a.

khóa

Khoá cần được cung cấp bên trong thiết bị lúc giải mã bitstream, có hai
công nghệ lưu tr khóa được sử d ng hiện na
a hơi volatile) v kh ng a
hơi non-volatile). Sử d ng kiểu lưu tr a hơi, khóa được gi trong các bộ nhớ
R
v được cung cấp ngu n ởi pin gắn ngo i khi ngu n nuôi FPGA không
được cung cấp. Ưu điểm của kiểu lưu tr khoá n l cho phép xoá khoá cơ kh

hoặc điện) để chống lại tấn c ng vật lý khi thiết bị không cấp ngu n, và buộc
nh ng kẻ tấn công cấp điện áp cho thiết bị trong suốt quá trình tấn công bán xâm
lấn và tấn công xâm lấn. Nh ng thuộc tính này chủ yếu thu hút các nhà thiết kế
bảo mật phù hợp với chuẩn FIPS 140- . hược điểm chính là pin chiếm không
gian P
đặc biệt với nơi gi pin), hỏng h c v c thể cần được thay thế. Do
đ pin l đi u đáng quan tâm cho các nhà thiết kế xem xét chi phí hợp lý, khi
không nhất thiết phải cần công nghệ bảo mật cao nhất.

16


Sử d ng lưu tr kh ng a hơi, khóa được nhúng cố định vào trong các
thiết bị sử d ng cầu trì, lập trình laser, Flash hoặc EEPROM. Tuy nhiên, tích
hợp bộ nhớ kh ng a hơi với công nghệ CMOS là thách thức khi thêm một
ước sản xuất phi chuẩn có ảnh hưởng đến chi ph , năng suất v độ tin cậy.
là lý do tại sao nhà sản xuất FPGA mới bắt đầu quan tâm đến kiểu lưu tr khóa
kh ng a hơi. Nhúng khóa c ưu điểm là không yêu cầu thiết bị ngoài và chi
phí thấp hơn so với giải pháp dùng pin. Nhúng khóa có thể chống lại việc gian
lận với các khóa có thể lập trình vào các thiết bị tại cơ sở đáng tin cậ trước khi
đưa đến bên thứ ba lắp ráp và thử nghiệm hệ thống.
Xilinx cung cấp kiểu lưu tr khóa a hơi với mã hoá Triple-DES cho
VirtexII/PRO và AES-256 cho Virtex-4/5 và mới hơn. Nếu mã hoá được sử
d ng, cơ chế readback và cấu hình từng phần sẽ bị vô hiệu hoá. Tuy nhiên các
cổng truy cập cấu hình nội bộ (ICAP) vẫn được kích hoạt, cho phép đọc nội
dung cấu hình và gửi ra thông qua cổng IO th ng thường. Do đ khi mã hoá
được sử d ng, các nhà thiết kế nên lưu ý đến cuộc tấn công Trojan horse có thể
được chèn vào bởi một nhân viên hoặc nhà cung cấp lõi. Lattice cung cấp lưu
tr khoá kh ng a hơi v sử d ng thuật toán mã hoá AES-128 trong
ECPM2/M. ltera tratix FP

c lưu tr khóa kh ng a hơi cho mã hoá
AES, nhưng êu cầu các thành phần bên ngoài trên mạch in để tạo các điện
áp cần thiết cho lập trình khoá. Với Stratix III, Altera cung cấp ộ nhớ a hơi
lập trình qua JTAG và ộ nhớ khoá kh ng a hơi cho việc mã hoá bitstream sử
d ng thuật toán AES-256, với sơ đ yêu cầu hai khóa, một chìa khoá được sử
d ng để mã hoá một „khóa thực‟, cái được sử d ng cho việc mã hoá bitstream.
Trong FPGA, khóa thực có thể được xáo trộn, sau đ được lưu tr trong ộ nhớ
phân tán làm cho kẻ tấn công xâm lấn và bán xâm lấn trở nên kh khăn trong
việc tìm vị tr khoá. Khi bitstream đã mã hoá gửi đến FPGA, một chức năng xáo
trộn nghịch đảo được sử d ng để sản xuất khóa thực cho giải mã.
b.

Quản lý khoá

Chuẩn NITS FIPS 800-57 nhận xét rằng “quản lý khóa thường là một
ước cuối trong quá trình phát triển mật mã. Kết quả là, hệ thống mật mã thường
không hỗ trợ khả năng v giao thức quản lý khóa, nhưng lại là ếu tố cần thiết
để cung cấp việc bảo mật đầ đủ…Vấn đ quản lý khóa cần được đặt ra trong
giai đoạn m hình/ phát triển an đầu của vòng đời phát triển mật mã”. Mặc dù
đâ l một trong nh ng khía cạnh quan trọng nhất của vấn đ bảo mật, v c ng
được xem như một phần của chiến lược phòng thủ để bảo vệ ản qu n và sự
phân phối thiết kế.
17


Quản lý khóa là quá trình xử lý việc tạo khóa và phân phối khóa. hư vậy
bảo mật hệ thống dựa trên khóa bí mật, thì cơ sở hạ tầng quản lý khóa là quan
trọng trong vấn đ lựa chọn thuật toán, giao thức và thực hiện chúng. u trình
gi khóa bí mật trong khi lưu tr , vận chuyển và cập nhật, cùng với vấn đ kiểm
soát truy cập cần đưa v o tổng chi phí của chiến lược bảo vệ, thủ t c quản lý

khoá nên được qu định chặt chẽ.
Ta c thể xem xét một v d đơn giản v
i toán quản lý khoá cho mã
hoá bitstream. ước đầu tiên l thiết lập giá trị khóa. Nếu một khóa sử d ng cho
việc mã hoá toàn bộ sản phẩm, chi phí sẽ thấp nhưng kết quả sẽ là một thảm hoạ
lớn, khi một thiết bị bị lộ khóa sẽ làm suy yếu mức độ ảo mật của to n ộ các
hệ thống. Mặt khác, nếu mỗi bitstream được mã hoá với một khóa duy nhất, chi
phí cần cao hơn, nhưng sự phá hoại sẽ chỉ xả ra ở một hệ thống c c bộ. iải
pháp có thể nằm gi a hai cực và quyết định dựa trên mức độ tin tưởng cho hệ
thống phát triển và nh ng nguy hiểm do chung khóa gây nên. ước tiếp theo là
xác định các khóa chính và mã hoá bitstream. Hệ thống phát triển cần xác định
tập hợp người đáng tin cậy cho việc xử lý khóa và quyết định nếu tin tưởng phần
m m các nhà cung cấp kh ng để rò rỉ các khóa hoặc viết phần m m mã riêng.
V sau đ sử d ng má t nh đáng tin cậ trong m i trường an toàn cho việc mã
hoá bitstream và nạp khóa vào trong FPGA. D liệu cơ sở của khóa cần được
bảo vệ vật lý và kiểm soát, được giới hạn cho người c qu n hạn th ch hợp.
c.
Mặc dù mã hoá c thể đảm ảo tính ảo mật d liệu cấu hình, nh ng kẻ
tấn công vẫn có thể xây dựng một bitstream không giống với bản gốc nhưng vẫn
hợp lệ. ã khối có thể hoạt động trong một số chế độ, trong các chế độ đ , các
bản tin c độ d i lớn chia th nh khối n bit để xử lý. Mỗi một chế độ c ưu điểm
v nhược điểm tuỳ thuộc vào ứng d ng. Ví d , chế độ ECB sẽ mã hoá một khối
độc lập với khối khác, kết quả l các khối d liệu giống nhau sẽ cho các ản mã
giống nhau. â được xem l điểm yếu cho bản tin với các khối lặp đi lặp lại –
như bitstream FPGA vì kẻ tấn công có thể quan sát được khối như nhau v c
thể hoán đổi chúng. Chế độ
được sử d ng ngăn chặn sự lặp đi lặp lại của
chế độ ECB bằng việc bắt đầu với việc mã hoá một vector khởi tạo ngẫu nhiên
(Initialization Vector) và ản mã mỗi khối sau ph thuộc vào kết quả bản mã
của khối trước. Mã hoá không phát hiện sự tha đổi của ản mã, kẻ thù có thể

chuyển đổi m bits trong một khối của một ản mã dòng it của thiết kế khi
không biết khoá. ương nhiên, nh ng khối mà một trong nh ng its được sửa
lại có thể không chứa d liệu c liên quan đến phần tấn công thiết kế. Tấn công
18


này có thể sử d ng với m c đ ch sẽ tìm được tập hợp bit khi tha đổi c thể vô
hiệu hoá cơ chế bảo vệ. Chế độ mã hoá cần phải được lựa chọn cẩn thận theo
các êu cầu bí mật của ứng d ng. Họ Virtex của Xilinx sử d ng chế độ CBC
trong khi Altera và Lattice không chỉ rõ chế độ hoạt động mã khối.
1.2.2

á thự

it t

Xác thực itstream được xem như l một giải pháp cho một số vấn đ liên
quan đến ảo mật FP . Xác thực cung cấp hai đi u: thứ nhất là xác định thực
thể, cho phép người nhận tin nhắn chắc chắn v người gửi tin nhắn; thứ hai là
đảm bảo toàn vẹn th ng điệp, th ng điệp không bị tha đổi trong khi tru n.
Xác thực đ i khi được coi trọng hơn mã h a, khi các thiệt hại của một kẻ tấn
công có thể gâ ra ằng phương thức mạo danh có thể lớn hơn nhi u so với việc
người đ có khả năng đọc được thông tin liên lạc bí mật. Mã hóa bitstream là
một ước tiến tốt để bảo vệ thiết kế, mặc d chúng ta đã thấy rằng nó không có
nghĩa l để đảm bảo tính toàn vẹn của d liệu, nó chỉ có tính bảo mật. Do đ , mã
hóa bảo vệ các itstream chống nhân bản và kỹ thuật đảo ngược trong m i
trường độc lập của FPGA trong khi xác thực bảo đảm chính xác và hoạt động
của bitstream khi nó chạy trên FPGA.
Các nhà cung cấp FPGA thường sử d ng kiểm tra tuyến tính, chẳng hạn
như mã kiểm tra dư thừa tuần ho n R ), để bảo vệ FPGA từ bitstreams ị

hỏng do lỗi truy n dẫn trên một kênh ị nhiễu. Kết quả của một bitstream ị
hỏng sẽ l m sai chức năng v chập mạch có thể làm hỏng thiết ị nếu cường độ
dòng điện đủ lớn và kéo dài trong một thời gian dài. Mã tuyến tính tốt cho việc
phát hiện lỗi bit không chủ ý, nhưng các tấn c ng xử lý ch n it có thể thực
hiện. Tu vậ , kiểm tra tuyến t nh c ng thiếu một yêu cầu quan trọng của xác
thực xác định thực thể.
Xác thực thường được thực hiện bằng cách tính toán một mã xác thực
).
được tạo ra bởi h m một chi u v không va chạm, được tạo ra từ
một ản tin c độ dài tùy ý và kết quả l một chuỗi bit c độ d i cố định. Như
vậy, một kẻ tấn công kh c thể t nh toán để tìm thấy nh ng ản tin an đầu,
hoặc tìm ra hai th ng điệp khác nhau mà kết quả l một chuỗi. Việc xác định
thực thể đạt được bằng cách kết hợp một khóa chung vào quá trình này.
Mã hóa: Bản rõ + chìa khóa mật mã
Xác thực : Bản rõ + chìa khóa mật mã

nh 1 2

t hợp

á t nh

Ekey
Hkey

h á

Bản mã
Bản rõ || MAC


á thự

it t
19


Chuỗi
được gắn vào các tin nhắn, có thể hoặc kh ng được mã hóa,
v được xác minh ở người nhận bằng cách tính toán lại MAC của tin nhắn một
lần n a. Nếu nh ng giá trị M
sau t nh toán giống nhau, người nhận biết rằng
th ng điệp là xác thực và rằng bất cứ ai tạo ra nó là người sở h u khóa chia sẻ
trước. MAC yêu cầu các kh a đối xứng được thiết lập trước khi gửi thông báo
nhưng xác thực dựa trên ch ký c ng c thể được thực hiện bằng cách sử d ng
mã hóa khóa công khai trong đ mỗi người tham gia có một khóa riêng và khoá
công khai. Bằng việc ký với khóa riêng, một ch ký được tạo ra có thể được xác
minh với các khóa công khai. ật mã chìa khoá c ng khai có tất cả các thuộc
tính cần thiết cho việc giải quyết i toán ảo mật khoá bitstream, ngoại trừ việc
triển khai hiện nay là quá tốn kém.
ối với việc t nh toán
, n có thể được tạo ra ằng h m ăm hoặc
mã khối ở chế độ nhất định. ã khối chế độ CBC-MAC có thể được sử d ng để
t nh toán một
đơn giản bằng cách lấy kết quả khối mã hoá cuối cùng là giá
trị MAC. CBC-MAC là không an toàn cho ản tin c độ d i tuỳ iến, và NIST
hiện na đã được tiêu chuẩn hóa một chế độ được gọi là CMAC để khắc ph c
hạn chế n . Trong trường hợp n , không nên sử d ng một chìa khoá cho cả
mã hóa và tính toán MAC với một bản rõ. Việc sử d ng chung chìa khoá cho cả
hai hoạt động này là một m hình mới, một chế độ mới và thuật toán mã h a đã
được đ xuất để làm đi u đ một cách an to n được gọi chung là mã hóa chứng

thực (AE).
ể xác thực bitstream, Parelkar đ xuất và đánh giá việc sử d ng các thuật
toán AE khác nhau và h m ăm. Parelkar kết luận CCM là tốt nhất, phù hợp khi
xét v hiệu suất và k ch thước. Parelkar và Gaj đ xuất việc sử d ng chế độ
EAX. Tuy nhiên, một lý do quan trọng tại sao mã hóa chứng thực có thể không
lý tưởng là bởi vì nó sử d ng một khóa duy nhất cho cả hai hoạt động, đặc điểm
n là một bất lợi khi các hoạt động cần phải được tách do cân nhắc v quản lý
chìa khoá, kiểm soát truy cập, xác nhận nhi u đối tượng.
1.2.3 Sử ụng

á thự

go i các phương pháp trên, các nh phát triển ứng d ng không phải mã
hóa an toàn nhưng c thể l m tăng chi ph quá trình nhân bản với chi phí hợp lý.
Nh ng giải pháp này phù hợp cho các thiết bị cấp thấp không có khả năng mã
hóa bitstream. ăm
, Kessner [7] đ xuất một biện pháp chống lại hành vi
trộm cắp bitstream FPGA với một CPLD gửi một dòng khoá LFSR cho FPGA
để so sánh với chuỗi khoá tương tự được tạo ra ên trong để xác minh rằng nó
được gắn trên các o mạch ch nh hãng. Gần đâ hơn, cả hai nh sản xuất FP
20


l Altera và Xilinx đã đ xuất m hình chống lại quá trình nhân bản, được phác
thảo trong Hình 1.3. FPGA chia sẻ một khóa với một ộ xử lý xác thực đặt bên
cạnh nó. Các FPGA sẽ gửi một số ngẫu nhiên được tạo bởi một ộ tạo số ngẫu
nhiên và cả hai thực hiện một tính toán chính dựa trên nó. Các thiết bị xử lý xác
thực gửi kết quả lại cho FPGA. FPGA so sánh với kết quả nhận tự t nh; nếu hai
kết quả giống nhau, một tín hiệu cho phép được gửi đến các phần còn lại trên
FPGA. Kết quả là các thiết kế đã xác nhận rằng FPGA nó đang hoạt động trên

các bảng mạch in mong đợi. Trong khi thực hiện giải pháp n , ộ tạo số ngẫu
nhiên phải không dễ dàng bị ảnh hưởng bởi nhiệt độ và điện áp tha đổi, c ng
như một số tấn c ng khác.

nh 1 3: Mô h nh phƣơng thứ

ử ụng

á thự [10].

Từ họ sản phẩm Spartan-3A, Xilinx cung cấp một "DNA", là một ộ nhớ
kh ng a hơi, được thiết lập ởi nhà máy sản xuất, người dùng có thể truy cập.
Xilinx đ nghị sử d ng số n như l một "khóa" cho các chương trình thẩm tra
thiết kế sử d ng một thiết bị bên ngoài như cách đã m tả ở trên. Tu nhiên, dã
số trên không phải là một bí mật - nó có thể được đọc bởi bất cứ ai, do đ kh c
thể đảm bảo an toàn.
1.3

t

ận hƣơng

Chương n trình
một số phương pháp tấn c ng v phương pháp ảo
vệ các thiết kế FP . ên cạnh phương pháp tấn c ng đã được nêu trong
chương n , các thiết kế FP
ho n to n c thể ị khám phá v chức năng ởi
các phương pháp tấn c ng phần cứng như tấn c ng kênh k (side-channel
attack), tấn c ng vật lý xâm lấn v án xâm lấn. ể thực hiện bảo vệ chống sử
d ng trái phép thiết kế FP , luận văn lựa chọn phương pháp thứ a và giải

pháp mã hóa như đã m tả ở phần trên để thực nghiệm và trình bày ở các
chương sau.

21


hƣơng 2 GIẢI PHÁP BẢO V THIẾT KẾ FPGA BẰNG IC XÁC THỰC

Trong chương trước, chúng ta đã tìm hiểu một số phương pháp tấn công
các thiết kế trên FPGA và một vài giải pháp bảo vệ thông qua mã hóa bistream,
xác thực bistream và sử d ng IC xác thực. hương n sẽ đ cập đến giải pháp
c thể để bảo vệ thiết kế FPGA thông qua vi mạch xác thực.
2.1

Lự

h n th nh phần

a.
Vì thiết kế hướng đến sử d ng k m theo trên các linh kiện FP
giá rẻ
kh ng c hỗ trợ mã hoá itstream v xác thực itstream, nên l i xác thực cần đạt
các êu cầu sau
-

Thiết kế l i cần nhỏ gọn chiếm t t i ngu ên của linh kiện.
iao diện với xác thực ngo i cần sử d ng t chân linh kiện.
iao thức giao tiếp gi a hai linh kiện đơn giản.
hi ph mua xác thực ngo i thấp.
Thuật toán xác thực đáp ứng được êu cầu ảo mật.


b.
iện tại, các thiết kế v dự án được triển khai trên FP
tại đơn vị công
tác của học viên đ u chủ ếu thực hiện trên linh kiện FP
của Xilinx, nên l i
thiết kế trong luận văn n c ng hướng tới triển khai trên các sản phẩm của
Xilinx. Với nh ng ưu điểm của ộ vi xử lý Pico la e tiết kiệm t i ngu ên, đơn
giản v sự ưu tiên sử d ng linh kiện Xilinx, nên Pico la e sẽ l trái tim của to n
ộ thiết kế.
Thuật toán xác thực
- được lựa chọn để xác thực thiết kế.
được sử d ng ởi khả năng mật mã tốt hơn so với
- v nhỏ gọn hơn so với
SHA-256, nên
- th ch hợp với việc thực hiện trên Pico la e c ộ nhớ
chương trình giới hạn. go i ra,
- đã ra đời được khoảng thời gian khá
d i, nên các lựa chọn cho
xác thực ên ngo i phong phú hơn v giá th nh
linh kiện rẻ hơn.
xác thực c hai hãng ch nh m luận văn hướng đến lựa chọn l
axim
ntegrated v tmel. ả hai hãng điện tử đ u c các sản phẩm ph hợp với thuật
toán lựa chọn, ngo i ra giá linh kiện thấp ph hợp với êu cầu đã đặt ra.Tu
nhiên, tôi lựa chọn linh kiện của axim ntegrated, v c thể l D
- .
22



ầu tiên, tôi sử d ng linh kiện của axim ntegrated ởi linh kiện sử d ng giao
thức - ire đơn giản, tốn t t i ngu ên khi lập trình trên Pico la e T
sử
d ng giao thức
phức tạp hơn). Thứ hai, tôi c thể tiếp cận với t i kiệu kĩ
thuật v linh kiện mẫu từ axim dễ d ng hơn.
c.

DS28E01-100

DS28E01-100 kết hợp ộ nhớ
PR
its với xác thực
challenge-and-response thực hiện thuật toán h m ăm
theo tiêu chuẩn
ISO/IEC10.118-3. Thiết bị này có thể xử lý SHA- đầu vào g m khối bí mật 64
bits kết hợp với một 40-bit ngẫu nhiên và d liệu ên trong linh kiện để cung
cấp một mức độ bảo mật xác thực gi a một hệ thống chủ v linh kiện ph trợ.
Các mảng EEPROM 1024- it được cấu hình thành bốn trang 256 bits với một
ộ nhớ đệm 64- it để thực hiện các hoạt động ghi. Tất cả các trang bộ nhớ có
thể được đặt ở chế độ chống ghi, và một trang có thể được đặt ở chế độ
EPROM-emulation. Mỗi DS28E01-100 có số định danh 64-bit riêng đảm bảo
t nh du nhất của ROM được nhà máy “khắc la e” vào chip. Các DS28E01-100
giao tiếp qua bus 1-Wire v tuân thủ theo chuẩn giao thức -Wire. ể c thêm
th ng tin v đặc t nh, tham số điện người đọc c thể tham khảo thêm t i liệu kỹ
thuật của hãng.
Thi t

giải pháp


FPGA

BRAM
(1024x18-bit)

Lõi Xác thực

INSTRUCTION
ADDRESS

Thiết kế cần
bảo vệ
Friend

PICOBLAZE

RNG

Enable

OUT PORT

IN PORT

2.2

DS28E01

SECRET


nh 2 1 Thi t

i á thự

ứng ụng.

23


×