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

Luận án tiến sĩ kỹ thuật điện tử bảo mật bitstream 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 (3.79 MB, 120 trang )







TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI







TRẦN THANH





BẢO MẬT BITSTREAM FPGA








LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ










HÀ NỘI – 2014







TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI






TRẦN THANH




BẢO MẬT BITSTREAM FPGA






: 62520203



LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ

  PGS. TS. 
 




HÀ NỘI - 2014





LỜI CAM ĐOAN
ng các kt qu khoa hc trình bày trong lun án này là thành
qu nghiên cu ca bn thân tôi trong sut thi gian làm nghiên cng
xut hin trong công b ca các tác gi khác. Các kt qu c là chính xác và trung
thc.
Tác gi lun án



Trn Thanh








LỜI CẢM ƠN
c ht, tôi xin bày t li cn PGS. TS. Phm Ngc Nam và TS.
Nguyng  trc tip ng dn khoa hc và h tr v mi m tôi có th
hoàn thành bn lun án này sau bn u.
T lòng bin Vin t-Vin thông và Vii
hi hc Bách Khoa Hà Nmng hc tp và nghiên cu
bao gm các  d liu, n nghiên cc hin i và tin
nghi. Xin ccác thành viên trong lab ESRC (Embedded System and Reconfigurable
Computing Laboration)n T Quang Bu giúp tôi xây dng h thng th nghim
cho lun án này.
t c anh ch em nghiên cu sinh thuc Vin t-Vin thông 
s các kinh nghim quý báu trong hc tp, nghiên c. Cùng t khó tng
c hoàn thành  tài nghiên cu ca mình.
Cui cùng, tôi dành nhng li  m, các
anh ch c bit là v và các con. S  và s hi sinh, nhn ni ca h
ng lc mnh m t qua m hoàn thành lun án này.
Xin chân thành c
Hà Nội, ngày 21 tháng 10 năm 2014
Tác gi lun án





Trn Thanh



i

MỤC LỤC
Lời cam đoan
Lời cám ơn
MỤC LỤC i
Danh mục các từ viết tắt v
Danh mục các thuật ngữ viii
Danh mục các hình ix
Danh mục các bảng x
MỞ ĐẦU 1
Xu hướng phát triển và các ứng dụng rộng rãi của công nghệ FPGA. 1
Nguy cơ đe dọa bảo mật và tính cấp thiết bảo mật thiết kế hệ thống dựa trên FPGA 2
Tình hình nghiên cứu bảo mật trên thế giới và mục tiêu nghiên cứu của luận án 4
Tổ chức nội dung của luận án 6
CHƯƠNG 1 8
LÝ THUYẾT VỀ BẢO MẬT, FPGA VÀ HỆ THỐNG NHÚNG 8
1.1 Bảo mật 8
1.1.1. Các khái niệm và thuật ngữ 8
1.1.2. Các tiêu chí đặc trưng của một hệ thống mã mật 10
1.1.3. Các thuật toán mã mật 10
1.1.3.1. Phân loại thuật toán mã mật 10
1.1.3.2. Độ an toàn của các thuật toán mã mật 12
1.1.3.3. Thuật toán mã hóa khóa bí mật AES 14

1.1.3.4. Thuật toán mã hóa khóa công khai RSA 16
1.1.3.5. Hàm băm bảo mật SHA 19
1.1.3.6. Sự kết hợp ba thuật toán trong bảo mật hệ thống 23
1.2. FPGA 25
1.2.1. Giới thiệu 25
1.2.2. Các lĩnh vực ứng dụng của FPGA 26
1.2.3. Công nghệ lập trình FPGA 26
1.2.3.1. Công nghệ lập trình dựa trên SRAM 26
1.2.3.2. Công nghệ lập trình dựa trên flash 28
1.2.3.3. Công nghệ lập trình dựa trên antifuse 28
1.2.4. Thiết kế và bảo mật hệ thống dựa trên SRAM-based FPGA 30
1.2.4.1. Quy trình thiết kế 30


ii

1.2.4.2. Dữ liệu thiết kế và bảo mật thiết kế 31
1.3. Hệ thống nhúng 32
1.3.1. Giới thiệu 32
1.3.2. Các lĩnh vực ứng dụng của hệ thống nhúng 34
1.3.3. Các thách thức và bảo mật trong hệ thống nhúng 34
1.4. Kết luận chương 35
CHƯƠNG 2 37
FRAMEWORK VÀ GIAO THỨC CẬP NHẬT AN TOÀN TỪ XA 37
2.1 Xây dựng và mô tả cấu trúc của Framework 37
2.1.1. Các thành phần phía nhà cung cấp dịch vụ 38
2.1.2. Các thành phần phía người dùng 40
2.1.3. Truyền thông giữa hệ thống người dùng và nhà cung cấp dịch vụ 41
2.2 Giao thức cập nhập 42
2.2.1. Các giả định 43

2.2.2. Giao thức cập nhật từ xa an toàn 43
2.2.2.1. Thuật toán 1 - Thuật toán bên phía người dùng FPGA 44
2.2.2.2. Thuật toán 2 - Thuật toán bên phía máy chủ của nhà cung cấp 46
2.2.3. Phân tích bảo mật 47
2.2.3.1. Tính bí mật và tính xác thực 47
2.2.3.2. Giá trị của các tham số 48
2.2.3.3. Điểm mới của giao thức 49
2.3 Giao thức trao đổi khóa 50
2.3.1. Giao thức trao đổi khóa qua trung tâm xác thực 51
2.3.1.1. Thuật toán 3 - Thuật toán bên phía nhà thiết kế hệ thống 51
2.3.1.2. Thuật toán 4 – Thuật toán bên phía nhà cung cấp IP 52
2.3.1.3. Thuật toán 5 – Thuật toán bên phía trung tâm xác thực 52
2.3.2. Giao thức trao đổi khóa qua không qua trung tâm xác thực 53
2.3.2.1. Thuật toán 6: Thuật toán bên phía nhà tích hợp hệ thống 53
2.3.2.2. Thuật toán 7: Thuật toán bên phía nhà cung cấp IP 53
2.3.2.3. Thuật toán 8: Thuật toán bên phía nhà cung cấp dịch vụ 54
2.3.2.4. Thuật toán 9: Thuật toán bên phía người dùng 54
2.3.3. Phân tích bảo mật 54
2.4 Đánh giá và so sánh với các nghiên cứu liên quan 55
2.5 Kết luận chương 56
CHƯƠNG 3 57
NÂNG CAO HIỆU NĂNG VÀ TÍNH LINH HOẠT TRONG BẢO MẬT BITSTREAM CỦA
HỆ THỐNG CẤU HÌNH LẠI ĐƯỢC TỪNG PHẦN DỰA TRÊN FPGA 57


iii

3.1 Hệ thống cấu hình lại được từng phần 57
3.1.1. Cấu hình lại từng phần động 59
3.1.1.1. Phần động - Dynamic Part 59

3.1.1.2. Phần tĩnh - Static Part 59
3.1.1.3. Macro bus – Bus Macro 60
3.1.1.4. Bộ điều khiển cấu hình – Configuration Controller 60
3.1.2. Các ưu điểm của cấu hình lại từng phần 60
3.2 Tối ưu hóa tài nguyên phần cứng 61
3.2.1. Tối ưu hóa tài nguyên logic 61
3.2.1.1. Thực hiện phần tĩnh 62
3.2.1.2. Thực hiện các phân vùng cấu hình lại được 63
3.2.1.3. Phân tích và đánh giá kết quả 63
3.2.2. Tối ưu vùng nhớ lưu trữ 63
3.2.2.1. Xây dựng thuật toán nén RLE trên máy chủ cập nhật 65
3.2.2.2. Xây dựng thuật toán giải nén RLE trên hệ thống nhúng 66
3.2.2.3. Đánh giá kết quả 66
3.3 Nâng cao hiệu năng của hệ thống 67
3.3.1. Xây dựng hệ thống 68
3.3.1.1. Mô tả hoạt động của hệ thống 68
3.3.1.2. Xây dựng các khối chức năng 69
3.3.2. Thực hiện và đánh giá kết quả 70
3.4 Đánh giá và so sánh với các nghiên cứu liên quan 71
3.5 Kết luận chương 72
CHƯƠNG 4 74
MÔ HÌNH THỬ NGHIỆM HỆ THỐNG CẤU HÌNH LẠI ĐƯỢC TỪNG PHẦN DỰA TRÊN
FPGA 74
4.1 Xây dựng hệ thống 74
4.1.1. Cài đặt hệ thống 74
4.1.2. Công cụ thực hiện thiết kế 75
4.1.3. Thiết lập vi xử lý nhúng MicroBlaze và giao thức TCP/IP 78
4.1.4. Xây dựng hệ thống cấu hình lại được từng phần 82
4.2 Kết quả và đánh giá 83
4.2.1. Giải pháp bằng phần mềm 84

4.2.2. Giải mã và xác thực bằng phần cứng 85
4.2.3. Giải pháp kết hợp phần cứng và phần mềm 86
4.3 Kết luận chương 87
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 88


iv

Đóng góp khoa học của luận án 88
Hướng phát triển trong thời gian tới 89
CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ CỦA LUẬN ÁN 90
TÀI LIỆU THAM KHẢO 92
PHỤ LỤC 99



v

Danh mục các từ viết tắt
3DES
Triple DES
Thc hin DES ba ln
AES
Advanced Encryption Standard
Tiêu chun mã hóa tiên tin
AES-CBC
AES-Cipher-block chaining
Mã hóa AES dng xâu chui
AES-GCM
AES-Galois/Counter Mode

Mã hóa AES dng
Galois/Counter
AHDL
Altera Hardware Description Language
Ngôn ng miêu t phn cng
ca Altera
API
Application Programming Interface
Giao din lp trình ng dng
ASIC
Application-Specific Integrated Circuit
Vi mch tích hp chuyên
dng
AXI
Advanced eXtensible Interface
Giao din m rng tiên tin
CF
CompactFlash
Th nh flash
CLB
Configurable Logic Block
Khi logic có th cu hình
c
DCM
Digital Clock Management
Khi qung h
DDRAM
Double Data Rate Random Access
Memory
B nh truy cp ngu nhiên


DES
Data Encryption Standard
Tiêu chun mã hóa d liu
DHCP
Dynamic Host Configuration Protocol
Giao thc ca ch
ng
DIACAP
Department of Defense Information
Assurance Certification and
Accreditation Process
Quy trình kinh và
chng nhm bo thông
tin ca b quc phòng M
DMA
Direct Memory Access
Khi truy cp b nh trc
tip
DNS
Domain Name Server
H thng phân di tên min
Internet
DSA
Digital Signature Algorithm
Thut toán ch ký s
EDK
Embedded Development KIT
B công c phát trin nhúng
EEPROM

Electrically Erasable Programmable
Read-Only Memory
B nh ch c có th lp
trình và xóa bn
EPROM
Erasable Programmable Read Only
Memory
B nh ch c có th lp
trình và xóa
FIFO
First In First Out
c
FIPS
Federal Information Processing
Standards
Tiêu chun x lý thông tin
liên bang (M)



vi

FPGA
Field Programable Gate Array
Mng các cng có th lp
trình ti ch.
FSMD
Finite State Machine With Datapath
Máy trng thái hu hn vi
ng d liu

GPIO
General Purpose Input Output
Các giao tip vào ra mc

HDL
Hardware Description Language
Ngôn ng miêu t phn cng
HMAC
a keyed-Hash Message Authentication
Code
Mã xác thc bn tin
HTTP
Hypertext Transfer Protocol
Giao thc truy
bn
HWICAP
Hardware ICAP
Cng truy nhp cu hình bên
trong bng phn cng
IC
Integrated Circuit
Vi mch tích hp, mch t
hp
ICAP
Internal Configuration Access Port
Cng truy nhp cu hình bên
trong
ICMP
Internet Control Message Protocol
Giao thc thông u

khin Internet
IDEA
International Data Encryption Algorithm
Thut toán mã hóa d liu
liên mng
IGMP
Internet Group Message Protocol
Giao thp nhóm
Internet
IOB
Input Output Block
Khi vào ra
IP
Intellectual Property
Lõi s hu trí tu
ISE
Integrated Software Environment
ng phn mm tích
hp. Là b công c ca
Xilinx cung cp cho các nhà
phát trin phân tích và tng
hp các thit k HDL
LUT
Logic Look-up Table
Bng tra logic
LwIP
Light weight Internet protocol
Giao thc Internet hng nh
LZW
Lempel - Zip and Welch


MD5
Message-Digest algorithm 5
Thu
MIPS
Million instructions per second
Triu lnh trong mt giây
NIST
National Institute of Standards and
Technology
Vin tiêu chun và công
ngh quc gia Hoa K
OEM
Original Equipment Manufacturer
Nhà sn xut thit b gc





vii

OTP
One Time Programmable
Lc mt ln
PKC
Public Key Cipher
Mã hóa khóa công khai
PLD
Programmable logic Device

Thit b logic kh trình
RAD-HARD
Radiation Hardening

RC5
Rivest Cipher - 5
Thut toán mã hóa khi khóa
i xc thit k bi
Ronald Rivest
RLE
Run-Length Encoding
 dài lot
ROM
Read-Only Memory
B nh ch c
RSA
Rivest, Shamir and Adleman algorithm
Thut toán mã hóa công khai
RTL
Register Transfer Level
Mch t hp mc thanh ghi
SDK
Software Development KIT
B công c phát trin phn
mm ca Xilinx
SHA
Secure Hash Algorithm
Thu
SKC
Secret Key Cipher

Mã hóa khóa bí mt
SRAM
Static Random Access Memory
B nh truy cp ngu nhiên

TCP/IP
Transmission Control Protocol/Internet
Protocol
Giao thc u khin giao
vn/Giao thc liên mng
UART
Universal Asynchronous
Receiver/Transmitter
B truyn nhn ni tip
ng b
UDP
User Datagram Protocol
Giao thc gói d lii
dùng
VHDL
VHSIC Hardware Description Language
Ngôn ng miêu t phn cng
VHSIC
VHSIC
Very High Speed Integrated Circuit
Mch tích hp t rt cao
VLSI
Very-large-scale integration
Mch tích hp rt cao
XPS

Xilinx Platform Studio
B công c xây dng phn
cng h thng nhúng ca
Xilinx









viii


Danh mục các thuật ngữ
 ng Vit, trong lun án này,
các tên riêng, thut ng sau c c dùng nguyên bn ting Anh:

Antifuse-based FPGA
FPGA da trên công ngh cu chì nghch
Biclique
Dng tn công nâng cao meet-in-the-middle trên các h thng
mã khi.
Bitstream
Là tp tin d liu cu hình cho FPGA
Firmware
Phn mm c ng khá nh u khin ni quan
nhiu thit b n t.

Flash-based FPGA
FPGA da trên công ngh flash
Framework
Khuôn khu t chc
Message
p, bn tin, thông báo
MicroBlaze
Tên ca vi x lý lõi mm ca Xilinx
Netlist
Mt "netlist" mô t các kt ni ca mt thit k n t.
c hình thành sau quá trình tng hp t file RTL
ca các công c thit k.
PowerPC
Tên ca vi x lý lõi cng ca Xilinx
SRAM-based FPGA
FPGA da trên công ngh SRAM
Watermaking
y n




ix

Danh mục các hình
Hình 1.1 Tam giác các yêu cầu về bảo mật CIA 8
Hình 1.2 Hai bước của quá trình mật mã hóa 9
Hình 1.3 Ba loại của thuật toán mã mật 11
Hình 1.4 Cấu trúc cơ sở của thuật toán AES 14
Hình 1.5 Mô hình mã hóa khóa bí mật 16

Hình 1.6 Mô hình mã hóa khóa công khai: 17
Hình 1.7 Sơ đồ mã hóa dùng hàm băm 19
Hình 1.8 Ví dụ về mở rộng bản tin “abc” 21
Hình 1.9 Mô hình trao đổi dữ liệu an toàn qua mạng 24
Hình 1.10 Các dạng tế bào bộ nhớ SRAM [72]. 27
Hình 1.11 Quy trình thiết kế FPGA 30
Hình 1.12 Quy trình thiết kế hệ thống nhúng dựa trên FPGA 34
Hình 2.1 Cấu trúc của Framework bảo mật 38
Hình 2.2 Giản đồ của giao thức cập nhật từ xa an toàn 42
Hình 2.3 Giao thức trao đổi khóa được xác thực bởi TAut 51
Hình 2.4 Giao thức trao đổi khóa không qua trung tâm xác thực 53
Hình 3.1 Ví dụ về một hệ thống cấu hình lại được từng phần 58
Hình 3.2 Sơ đồ khối của hệ thống nhúng cấu hình lại được dựa trên FPGA với lõi AES/SHA
được thực hiện trong phân vùng cấu hình lại được. 62
Hình 3.3 Lưu đồ nén RLE cơ bản 65
Hình 3.4 Sơ đồ khối của hệ thống 68
Hình 3.5 Kiến trúc AXI-Master với hai bộ FIFO 70
Hình 4.1 Hệ thống mẫu thử nghiệm 74
Hình 4.2 Công cụ thiết kế ISE Project Navigator 76
Hình 4.3 Công cụ thiết kế Xilinx Platform Studio 76
Hình 4.4 Công cụ thiết kế Software Development Kit 77
Hình 4.5 Công cụ thiết kế Xilinx PlanAhead 77
Hình 4.6 Cấu trúc của Xilkernel [107] 78
Hình 4.7 Trình quản lý cập nhật máy chủ SuM 81
Hình 4.8 Sơ đồ quá trình thực hiện cấu hình từng phần 82
Hình 4.9 Trình quản lý cập nhật từng phần máy trạm CuM 83
Hình 5.1 Mô hình nghiên cứu và thực hiện của luận án 88





x

Danh mục các bảng
Bảng 1.1 Chiều dài khóa tối thiểu cho thuật toán mã mật [53]. 13
Bảng 1.2 Sức mạnh của khóa mã mật [54]. 13
Bảng 1.3 Các thông số của thuật toán AES 14
Bảng 1.4 Thử nghiệm độ bảo mật của RSA 19
Bảng 1.5 Thông số của các phiên bản SHA 20
Bảng 1.6 Tóm tắt các đặc tính của các công nghệ lập trình [78] 29
Bảng 2.1 Kích thước bitstream của các thiết bị FPGA 39
Bảng 2.2 Ví dụ về một hồ sơ hệ thống của người dùng 41
Bảng 2.3 So sánh các giao thức cập nhật an toàn 49
Bảng 2.4 So sánh các thực hiện trên bitstream và hệ thống 56
Bảng 3.1 Sử dụng phần cứng của AES-256 và SHA-512 63
Bảng 3.2 Kết quả giải nén bitstream trên hệ nhúng dựa trên FPGA 66
Bảng 3.3 Kết quả nén bitstream trên máy tính 66
Bảng 3.4 Sử dụng phần cứng của AES-256 và SHA-512 (Virtex-6) 71
Bảng 3.5 Hiệu năng thực hiện của SHA-512 và AES-256 (Virtex-6) 71
Bảng 3.6 Hiệu năng của các bộ mã hóa trong các hệ thống bảo mật 72
Bảng 4.1 So sánh các thông số kỹ thuật của Virtex-6 và Spartan-6 75
Bảng 4.2 Các tham số và các thành phần của MicroBlaze 79
Bảng 4.3 Kết quả thực hiện bằng phần mềm với FPGA Atlys Spartan-6 84
Bảng 4.4 Sử dụng tài nguyên phần cứng của AES-256 và SHA-512 (Atlys Spartan-6) 85
Bảng 4.5 Hiệu năng thực hiện trên FPGA Atlys Spartan-6. 85
Bảng 4.6 Sử dụng tài nguyên phần cứng của AES-256 và SHA-512 (Xilinx Virtex-6) 86
Bảng 4.7 Hiệu năng thực hiện trên FPGA Xilinx Virtex-6. 86




1

Mở đầu
nh  b 
   
 b
 các công ty, các  ,
 sau các 

n
 thông tin  . 


  sau:
- Hệ thống bảo mật sử dụng FPGA: 
 giúp  
 ta  
 
- Bảo mật dữ liệu trên FPGA  
 
 trình mã hóa vào bên trong
FPGA.
- Bảo mật thiết kế FPGA:  và tính an toàn
.   
  FPGA 
SRAM,   
).





Xu hƣớng phát triển và các ứng dụng rộng rãi của công nghệ FPGA.
FPGA [1] 
tái


2

còn . làm cho nó 
 [2],  là 
các 
 

[3], [4], nó công ngh ASIC 



có  
c  [5], và t- 
[6] 

2020. Châu Á -


[7], ngành công nghiệp điện
tử đã bước vào kỷ nguyên của chip nhiều triệu cổng. Hãng SEMATECH dự đoán rằng các
mạch tích hợp (IC) đến năm 2001 sẽ vượt quá 12 triệu cổng và hoạt động ở tốc độ vượt
quá 600 MHz. Một kỹ sư thiết kế 100 cổng/ngày sẽ cần 500 năm để hoàn thành một thiết kế
như vậy, với chi phí khoảng 75 triệu đô la.” 
i  

mô-IP 
[7]–[9]

[10] 

[11], 
[12] m


Nguy cơ đe dọa bảo mật và tính cấp thiết bảo mật thiết kế hệ thống dựa trên
FPGA
 Các nguy cơ bảo mật
Có  



3

an toàn cá nhlà 
[13].  khác nhau,
 là:
- 
- 
- 
- 
 Các tấn công vào thiết kế FPGA

  , 
 
 sau:

- 
- 
Spoofing), Kênh bên (Side-
ChannelFault Insertion), v.v  trong [10].
 Các chính sách bảo mật
FPGA ngày càng 
 nó 
 
 
, ban hành [14]:
-                
(DIACAP) [15].
- Các tlban t
cc gia  (NIST)   cho 
quan và  y [16]–[19].
và ban hành, 

 Các biện pháp bảo mật
   FPGA  
            .    
  và 
  ra   
 khác nhau . 


4

các  trên là m mã hóa và  bitstream  
 :
- Mã hóa bitstream [17]

- [20], [21]
-  [22], [23]
 Các tồn tại, yếm kém
 
 nguyên nhân h r

- 
- 
- 
-  
-  
Tình hình nghiên cứu bảo mật trên thế giới và mục tiêu nghiên cứu của luận
án
 Các nghiên cứu về bảo mật hiện nay
Trong mt thit k bo mt, ngoài vic gii quyt bài toán an toàn h thng, các nhà
thit k còn phi xem xét thêm nhiu yu t     x   ng, tài
nguyên h thng tiêu th, giá thành sn phng khi thc hin,
v.v. S tha hip gia các yu t này s cho ra mt h thng cung mc tiêu
t ra. Mt s cuc kho sát v bo mt và tn công bo mc ch ra trong [10]–[12],
[24]–[27]u tng quan v hin trng nghiên cu và thc hin
bo mt thit k h thng FPGA hit s nghiên cu tiêu biu
trong bo mt thit k h thng cu hình lc tng phn da trên FPGA.
Kean [28] và Bossuet [29] cho thy tính d b ta FPGA trong các tình
hung vi phm bn quy xut git bin
ng s  xut gii pháp linh hot trong la chn và
i các thu bo v các lõi IP ca FPGA da trên SRAM. Gii pháp
cho phép d dàng nâng cp bo mt h thng khi có thut toán mã hóa/gii mã m
 cho vic mã hóa và xác thc bitstream, nhóm tác gi trong [30]  xut áp dng
thut toán mã hóa và xác thc AES-GCM thay cho vic s dng c hai thut toán AES và
SHA. Kt qu c là rt tt khi thc hin trong phn cng. Tuy nhiên, khi trin khai

bng phn mm nhúng trên các vi x lý (ví d c Microblaze) thì b hn
ch rt nhiu do không tn d c kh    x lý song song ca thut toán
AES-GCM.


5

Gogniat và cng s [31]  xut mt kin trúc kt hp màn hình giám sát trên bus và
b  phát hin các hành vi bng và nâng cao tính bo mt trong các h
thng nhúng. Các nhóm tác gi trong [32]–[34] nêu bt các v qun lý bn quyn các
 ngh nâng cp mch mt mã hin nay trên các FPGA bao gm vic h tr thu
tin bn quyn cho mi ln s dng các lõi IP. [35]  xut mp giy
nh k cho lõi IP da trên các k thut có ngun gc t các p phép
phn mm. [36][37]  xut mt h thng da trên vic s dng mt mã khóa công khai và
khóa bí mt trong vic bo v các lõi IP. Trong bài báo [38], Castillo và cng s mô t mt
nn tng to mu nhanh cho phép bo mt và qun lý bn quyn IP ti v. Da trên kh
p trình li mt phn ca các thit b trong khi phn còn lng bình
ng, nhóm tác gi xây dng mt nn tng bao g ch ký si xng
c. Pn lý bn quyn IP s dng ki
c trình bày.
Nghiên cu t  bo mt phn mm, các tác gi trong [39], [40]  xut mt phn
t gi là b u khin cu hình an toàn (SeReCon) cùng vi mt h t cn thit
cho truyn thông ti thiu, ví d i truyn thông. Tu thc
hic SeReCon, nhóm tác gi  xut các nhà sn xut FPGA phi tích h
mt phn mch cng bt buc khi sn xut FPGA.
 n các cuc tng truyn Internet, mt s giao thc
 xut [41][23][42]c bit, trong [42] mô t chi tit giao thc, kin trúc, và cách thc
hin mt h thng nhúng da trên FPGA mà có th cu hình lc t xa, s dng mt
kt ni TCP/IP. T khía cnh chi phí, h th cn vic thit k sao cho càng nh
càng tt.   p trung ch yu vào t thc hin. Gii pháp thc

hin tn ti 2 thành phn: phn truyn thông và phn mt mã. H th xut có kin
trúc mô-n, do vy nó có th d dàng tích hp bt k mt phn nào vào trong
mt thit k h thng nhúng da trên FPGA.
Ngoài ra, còn có mt s   bo v thit k IP khác, ví d   thut
  xut trong [43][44][45]là k thut nhúng mt d liu bn
quyn vào trong bitstream ci vi s dng.
K thut này h tr vic qun lý tính chu trách nhim hay tính chng chi b
chúng cho phép phân tích các lõi IP (trích xut d liu bn quyn t  theo dõi
các vi phm bn quyn ho h tr trong các tranh chp giao dch.
 Các vấn đề còn tồn tại trong các nghiên cứu
Trong các nghiên c trình bày   các tác gi tp trung gii quyt
mt v c th o m cu hình, gim tài nguyên h thng,
truyi vi mt h thng nhúng cu hình lc tng phn da
trên FPGA  có mt công trình nào trình bày framework th, xem Bng 2.4.
H thng nhúng cu hình lc tng phn dn và thay
i rt nhanh. Tn công mng ngày càng phc tng. i pháp bo mt
 không còn phù hp và không còn hiu qu.


6

Gii pháp cng hóa các thut toán bo mt trên thit b s tiêu tn tài nguyên h thng
và không linh hot trong thay th và nâng cp. ng s dng các lõi mã hóa bng
phn cng trong vùng logic cu hình lc hoc bng phn mm nhúng  c u
nghiên cu và phát trin không ngng.
 Mục tiêu nghiên cứu
 
 
 
 

 
bitstream FPGA
phân tích  khách quan 
 
 c chính sau :
   Framework end-to-
.
 
xa .
   
   và 
tài nguyên c  .
 Xây các  
tính   
 .
 Đối tượng, phạm vi và phương pháp tiếp cận trong nghiên cứu
Đối tượng và phạm vi nghiên cứu của luận án là i
                
 

Phương pháp tiếp cận:    xây
 trong vùng 
.  
FPGA, cho pt và  
Tổ chức nội dung của luận án
               
  góp chính c lu án là các  


7


.  cho 

 . 
Chương 1. Lý thuyết về bảo mật, FPGA và hệ thống nhúng:  trình bày
  FPGA và 
 
, nh 
“Bảo mật bitstream FPGA trên hệ thống nhúng cấu hình lại được từng phần.
Chương 2. Xây dựng framework và giao thức cập nhật bitstream an toàn từ xa:
      
 an toàn gi pháp  th
hi m mã vào h th c h s quan tr. Chúng ta 
 toán  chúng ta 
chúng ta hoàn toàn  xem xét 
ho các 

Chương 3. Nâng cao hiệu năng và tính linh hoạt trong bảo mật bitstream của hệ
thống cấu hình lại được từng phần dựa trên FPGA:   các lõi IP   
 


t 
  trình
bày t 
   
 
Chương 4. Mô hình thử nghiệm hệ thống cấu hình lại được từng phần dựa trên
FPGA:  
-giúp 

 2 và 3
,  cho các ng

Kết luận và hướng phát triển:        
 
.




8

CHƢƠNG 1
LÝ THUYẾT VỀ BẢO MẬT, FPGA VÀ HỆ THỐNG NHÚNG
Giới thiệu: Chương này gồm bốn phần. Phần một trình bày lý thuyết tổng quan về bảo mật
và các thuật toán bảo mật mà luận án chọn để thực hiện trong đề tài nghiên cứu của mình.
Các thuật toán bảo mật được trình bày ở đây là các thuật toán đã được chuẩn hóa, công
bố rộng rãi và công khai nên tác giả chỉ tập trung nhiều hơn vào việc phân tích và đánh
giá mức độ an toàn của các thuật toán đó. Phần hai trình bày về FPGA: Công nghệ lập
trình và các đặc tính đặc trưng liên quan đến vấn đề bảo mật của nó, đặc biệt là FPGA
dựa trên SRAM. Phần ba trình bày về hệ thống nhúng mà nội dung chủ yếu tập trung vào
hệ thống nhúng cấu hình lại được từng phần dựa trên FPGA - đây là nền tảng phần cứng
mà luận án chọn để thực hiện bài toán bảo mật của mình. Tại cuối mỗi phần, các giải pháp
bảo mật liên quan của một số nhà khoa học trên thế giới cũng được nêu ra và phân tích cụ
thể. Cuối cùng là phần kết luận chương.
1.1 Bảo mật
1.1.1. Các khái niệm và thuật ngữ
Bảo mật (Security) 

,

NIST, -12 [46], thì tín 
 
(Confidentiality, Integrity, Availability), xem Hình 1.1.

Hình 1.1 Tam giác các yêu cầu về bảo mật CIA


9

Trong đó:
 Tính bí mật (Confidentiality) 

 

 Tính toàn vẹn (Integrity)  

 

 Tính khả dụng (Availability) 
 


[20], 
 
 Tính xác thực (Authenticity) 


 Tính chịu trách nhiệm (Accountability)       -
Repudiation


 

Mật mã (Cryptography) 


, , , ,m c k E D
. Và q
 ình 1.2.

Hình 1.2 Hai bước của quá trình mật mã hóa


10

Trong đó:
 Mã hóa mật E (Encryption) (plaintext) m  
k (key) c (ciphertext).

()
k
c E m
(1.1)
 Giải mã mật D (Decryption)  c
 khóa k  m.

()
k
m D c
(1.2)
1.1.2. Các tiêu chí đặc trƣng của một hệ thống mã mật

m ba 
 Phương pháp mã: Có m  mã mã 



m 
 này.
 Số khóa sử dụng: phía mã hóa m 
có  
hai phía dùng hai 
t
 Cách xử lý thông tin gốc: Thông 
khi  

nó ít  .
1.1.3. Các thuật toán mã mật
1.1.3.1. Phân loại thuật toán mã mật
  khác nhau 
. T  này, các
 mã  khóa 
m  , Hình 1.3.


11


Hình 1.3 Ba loại của thuật toán mã mật
Trong đó:
 Mã hóa khóa bí mật, SKC: 
m chung   [18],

RC5 [47], BlowFish [48], AES [17].
 Mã hóa khóa công khai, PKC:  
m  khóa khác nhau   (Public key) 
   thì dùng khóa
riêng   
 riêng , xem Hình 1.5. Các
 [49], DSA [19].
 Hàm băm bảo mật: các hàm toán 
  . 
không   mã
 . và tính
u là: MD5 [50], SHA [16].

toán mã m?  
toán mà thôi?
Vì không
Mã khóa bí mật
cung cấp tính riêng tư và tính bí mật. Vì vậy nó là lý tưởng để mã hóa thông tin. 


 phiên 

là Trong truyền thông máy tính,
mật mã khóa công khai được áp dụng để trao đổi an toàn khóa bí mật này. Mã hóa khóa
tính dùng
( ã mã hóa , thì

×