BỘ GIÁO DỤC VÀ ĐÀO TẠO
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
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRẦN THANH
BẢO MẬT BITSTREAM FPGA
Chuyên ngành: Kỹ thuật điện tử
Mã số: 62520203
LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ
Tập thể hướng dẫn khoa học: PGS. TS. Phạm Ngọc Nam
TS. Nguyễn Văn Cường
HÀ NỘI - 2014
LỜI CAM ĐOAN
Tôi xin cam đoan rằng các kết quả khoa học đượ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ứu sinh và chưa từng
xuất hiện trong công bố của các tác giả khác. Các kết quả đạt được là chính xác và trung
thực.
Tác giả luận án
Trần Thanh
LỜI CẢM ƠN
Trước hết, tôi xin bày tỏ lời cảm ơn sâu sắc đến PGS. TS. Phạm Ngọc Nam và TS.
Nguyễn Văn Cường đã trực tiếp hướng dẫn khoa học và hỗ trợ về mọi mặt để tôi có thể
hoàn thành bản luận án này sau bốn năm làm nghiên cứu.
Tôi cũng bày tỏ lòng biết ơn đến Viện Điện tử-Viễn thông và Viện Đào tạo Sau Đại
học, Trường Đại học Bách Khoa Hà Nội đã cho tôi một môi trường học tập và nghiên cứu
bao gồm các cơ sở dữ liệu, các phương tiện nghiên cứu và nơi làm việc hiện đại và tiện
nghi. Xin cảm ơn các thành viên trong lab ESRC (Embedded System and Reconfigurable
Computing Laboration), thư việ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.
Xin cám ơn tất cả anh chị em nghiên cứu sinh thuộc Viện Điện tử-Viễn thông đã chia
sẻ các kinh nghiệm quý báu trong học tập, nghiên cứu, đăng bài. Cùng nhau vượt khó từng
bước hoàn thành các đề tài nghiên cứu của mình.
Cuối cùng, tôi dành những lời cám ơn và yêu thương nhất đến gia đình tôi: bố mẹ, các
anh chị và đặc biệt là vợ và các con. Sự động viên, giúp đỡ và sự hi sinh, nhẫn nại của họ
là động lực mạnh mẽ giúp tôi vượt qua mọi khó khăn để hoàn thành luận án này.
Xin chân thành cảm ơn!
Hà Nội, ngày 21 tháng 10 năm 2014
Tác giả luận án
Trần Thanh
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
i
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
ii
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
iii
Đó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
iv
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ản lý xung đồng hồ
DDRAM
Double Data Rate Random Access
Memory
Bộ nhớ truy cập ngẫu nhiên
nhân đôi tốc độ
DES
Data Encryption Standard
Tiêu chuẩn mã hóa dữ liệu
DHCP
Dynamic Host Configuration Protocol
Giao thức cấu hình địa chỉ
động
DIACAP
Department of Defense Information
Assurance Certification and
Accreditation Process
Quy trình kiểm định và
chứng nhận đả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ằng điệ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
Vào trước ra trước
FIPS
Federal Information Processing
Standards
Tiêu chuẩn xử lý thông tin
liên bang (Mỹ)
v
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
đích chung
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ền siêu văn
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 điệp điề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ức thông điệ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
Môi trườ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
Phương pháp nén LZW
MD5
Message-Digest algorithm 5
Thuật toán băm MD5
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
vi
OTP
One Time Programmable
Lập trình đượ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ứng được thiết kế bởi
Ronald Rivest
RLE
Run-Length Encoding
Mã hóa độ 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ật toán băm an toàn
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
tĩnh
TCP/IP
Transmission Control Protocol/Internet
Protocol
Giao thức điề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
không đồng bộ
UDP
User Datagram Protocol
Giao thức gói dữ liệu ngườ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ốc độ 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
vii
Danh mục các thuật ngữ
Để tránh dài dòng và không rõ nghĩa khi dịch sang nghĩa tiế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ố định, thường khá nhỏ, để điều khiển nội quan
nhiều thiết bị điện tử.
Flash-based FPGA
FPGA dựa trên công nghệ flash
Framework
Khuôn khổ, Cơ cấu tổ chức
Message
Thông điệ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ế điện tử.
Netlist đượ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
Phương pháp thủy ấn
viii
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
ix
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
x
Mở đầu
Bảo mật là quá trình bảo vệ nhằm đảm bảo tính bí mật, tính toàn vẹn và tính khả dụng
của thông tin khi trao đổi trong môi trường có nhiều tác nhân (con người, thiết bị) để đảm
bảo rằng chỉ những người có quyền hợp pháp mới truy nhập được thông tin. Hiện nay, bảo
mật là một ngành khoa học được các công ty, các tập đoàn, và các quốc gia đầu tư rất lớn,
nhất là sau các sự cố nghe lén ở tầm quốc gia trong những năm vừa qua.
Trong bảo mật hiện đại, ngoài các chính sách, các thuật toán thì các thiết bị điện tử
đóng một vai trò hết sức quan trọng, bởi vì nó vừa là đối tượng để thực hiện, trao đổi và
lưu trữ thông tin bảo mật vừa là đối tượng để kẻ vi phạm tấn công khai thác. Một trong các
thiết bị điện tử đó là các 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 công nghệ đang phát triển mạnh mẽ và thay đổi rất nhanh.
Vấn đề bảo mật của các hệ thống dựa trên FPGA có thể chia thành ba dạng chính sau:
-
-
-
Hệ thống bảo mật sử dụng FPGA: Ở đây, FPGA được sử dụng như một phần của hệ
thống bảo mật. Trong đó việc cấu hình lại được của FPGA giúp cải thiện tính linh hoạt
của hệ thống. Vì vậy, người ta có thể thay đổi các thuật toán bảo mật mới bằng cách
cấu hình lại phần cứng để ngăn chặn các cuộc tấn công vào hệ thống.
Bảo mật dữ liệu trên FPGA: Các dữ liệu bên trong mạch điện và các dữ liệu được
chuyển đến và đi từ các mạch ngoại vi trong truyền thông cũng phải được bảo vệ. Các
giải pháp chính là tích hợp chương trình mã hóa và xác thực dữ liệu vào bên trong
FPGA.
Bảo mật thiết kế FPGA: Đây là trường hợp bảo vệ quyền sở hữu trí tuệ và tính an toàn
của hệ thống dựa trên FPGA. Thực hiện bảo mật thiết kế liên quan đến việc thực hiện
các giải pháp chống lại nhân bản và kỹ thuật đảo ngược. Đối với các FPGA dựa trên
SRAM, bảo mật thiết kế tương ứng với bảo vệ các bitstream (còn được gọi là dữ liệu
cấu hình FPGA).
Nội dung của luận án này tập trung nghiên cứu ở dạng thứ ba, tức là nghiên cứu và
thực hiện bảo mật thiết kế các lõi sở hữu trí tuệ IP thông qua việc bảo vệ các file dữ liệu
cấu hình (file bitstream) khi truyền thông qua mạng Internet của các hệ thống nhúng cấu
hình lại được từng phần dựa trên FPGA.
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] là vi mạch cấu trúc mảng phần tử logic có thể lập trình hoặc tái lập trình
được, để thực hiện các chức năng mà người d ng mô tả. FPGA hiện nay có khả năng tái
1
lập trình lại được từng phần khi vẫn còn đang hoạt động. Điều này đã làm cho nó trở thành
lựa chọn hàng đầu so với các mạch tích hợp chuyên dụng ASIC [2], đặc biệt là đối với các
thiết kế yêu cầu chi phí thấp, số lượng có hạn và thời gian phát triển ngắn. Hầu hết các thế
hệ mới của FPGA được sản xuất bằng các công nghệ mới nhất trong chế tạo vi mạch điện
tử, ví dụ các FPGA sử dụng kiến trúc UltraScale của Xilinx được sản xuất với công nghệ
từ 20nm đến 16nm [3], [4], đã làm cho nó có thể cạnh tranh với công nghệ ASIC về hiệu
suất và điện năng tiêu thụ.
Khả năng hoạt động song song và tính linh hoạt trong việc t y biến các chức năng
cũng làm cho FPGA hữu ích hơn so với các bộ vi điều khiển tuần tự. Trong thực tế, chỉ
trong năm 2005, ước tính đã có hơn 80.000 dự án thiết kế FPGA thương mại khác nhau đã
được khởi động [5], và trong bản báo cáo “Thị trường FPGA đến năm 2020 - Ưu tiên tăng
trưởng FPGA hơn là ASICs sẽ làm chuyển hướng nhu cầu” [6] của hãng nghiên cứu thị
trường GBI cung cấp một cái nhìn sâu sắc về thị trường FPGA trên toàn thế giới đến năm
2020. Trong dự báo cho biết, thị trường FPGA được tiêu thụ mạnh mẽ ở khu vực Châu Á Thái Bình Dương, đặc biệt là Trung Quốc chiếm gần 40% lượng tiêu thụ của cả khu vực.
Kích thước và độ phức tạp liên quan đến việc thiết kế các thiết bị và các hệ thống điện
tử liên tục tăng nhanh hơn năng lực của người thiết kế. Theo [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.” Tất nhiên, điều này sẽ không bao giờ xảy ra,
bởi vì thời gian quá dài và chi phí quá cao. Để giải quyết vấn đề này, việc tái sử dụng các
mô-đun phần cứng đã thiết kế sẵn, hay còn gọi là các lõi IP trở nên hữu ích hơn trong việc
thiết kế các hệ thống lớn và phức tạp [7]–[9]. Tuy nhiên việc tái sử dụng và trao đổi các lõi
IP này chứa đựng nhiều rủi ro như gian lận bản quyền, nhân bản, đảo ngược thiết kế.
Trong cuốn sách trắng [10] của nhà sản xuất FPGA số một thế giới, Xilinx, xuất bản
năm 2012 và trong khảo sát về bảo mật thiết kế FPGA dựa trên SRAM của Saar Drimer
[11], một chuyên gia trong lĩnh vực bảo mật FPGA, năm 2008, đã trình bày các mối quan
tâm về bảo mật thiết kế hiện nay. Mới đây nhất, năm 2014, các tác giả trong [12] đã làm
một cuộc khảo sát chi tiết về bảo mật FPGA và bảo vệ lõi IP của FPGA. Nội dung của các
vấn đề bảo mật có thể được tóm lược trong phần dưới đây.
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ó rất nhiều các mối nguy cơ liên quan đến bảo mật thiết kế, mỗi mối nguy cơ có
những tác động riêng của nó. Một số liên quan đến lợi ích tài chính của một công ty, trong
2
khi các mối nguy cơ khác có thể đe dọa an toàn cá nhân hoặc thậm chí là an ninh của một
quốc gia [13]. Các mối nguy cơ này dẫn đến các tình huống vi phạm bản quyền khác nhau,
đó là:
-
Kỹ thuật đảo ngược (Reverse engineering)
Nhân bản (Cloning)
Làm vượt quá số lượng (Overbuilding)
Giả mạo (Tampering)
Các tấn công vào thiết kế FPGA
Tấn công vào thiết kế FPGA là khi kẻ tấn công mong muốn có một bản thiết kế FPGA
mà không cần đầu tư thời gian và nguồn lực cho thiết kế, hoặc khi chúng khai thác lỗ hỗng
bảo mật để truy cập vào hệ thống nhằm trộm cắp thông tin hoặc phá hoại hệ thống. Một số
dạng tấn công vào hệ thống FPGA dựa trên SRAM tiêu biểu như trong các trường hợp sau:
-
Giải mã bitstream
Tấn công phát lại
Ngoài ra, còn một số dạng tấn công khác như: Giả danh (Spoofing), Kênh bên (SideChannel), Chèn lỗi (Fault Insertion), v.v., được trình bày chi tiết trong [10].
Các chính sách bảo mật
FPGA ngày càng được sử dụng nhiều trong các sản phẩm quốc phòng, hàng không vũ
trụ và nó thường trở thành lõi của các hệ thống này. Điều này gia tăng tầm quan trọng của
việc bảo vệ các lõi IP chứa trong FPGA cũng như bảo vệ các dữ liệu được xử lý bởi FPGA.
Nhận thức về các mối đe dọa bảo mật tăng lên và làm cơ sở để thúc đẩy các thiết kế bảo
mật, cộng đồng an ninh ở Mỹ đã ban hành một tập hợp các chính sách và tiêu chuẩn [14]:
-
Quy trình kiểm định và chứng nhận đảm bảo thông tin của bộ quốc phòng Mỹ
(DIACAP) [15].
-
Các tiêu chuẩn xử lý thông tin liên bang (FIPS) được ban hành bởi Viện tiêu chuẩn và
công nghệ quốc gia Hoa Kỳ (NIST) là các tiêu chuẩn được áp dụng cho tất cả các cơ
quan và chính phủ. Một vài tiêu chuẩn tiêu biểu được trình bày như trong [16]–[19].
Các chính sách và tiêu chuẩn này được chuẩn hóa và ban hành, và được các nhà thiết
kế tham khảo, áp dụng rộng rãi trên toàn thế giới.
Các biện pháp bảo mật
Điểm yếu bảo mật thứ nhất đối với FPGA dựa trên SRAM là việc nạp lại cấu hình từ
một nguồn bitstream lưu trữ bên ngoài mỗi khi cấp điện cho chúng. Điểm yếu thứ hai
nhưng cũng là lợi thế riêng biệt của nó là việc cập nhật được từ xa và cấu hình lại tại nơi
người d ng cuối. Điểm yếu này sẽ phát sinh ra những rủi ro và tiềm ẩn những nguy cơ từ
các dạng tấn công khác nhau trên đường truyền dẫn. Các giải pháp bảo mật nhằm hạn chế
3
các điểm yếu trên là mật mã hóa và xác thực bitstream hoặc bổ sung các tham số đặc biệt
trong các giao thức cập nhật từ xa:
-
Mã hóa bitstream [17]
Xác thực bitstream [20], [21]
Các tham số bổ sung [22], [23]
Các tồn tại, yếm kém
Lỗ hổng bảo mật của hệ thống hình thành từ nhiều nguyên nhân khác khau. Một số lỗ
hổng do nguyên nhân khách quan nhưng cũng có một số sinh ra do lỗi chủ quan của con
người:
-
Tự thỏa mãn
Biện pháp an ninh không đầy đủ
Cửa quay lại (Back door)
Các khiếm khuyết của thiết kế
Các khiếm khuyết của thiết bị
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ố khác như: tốc độ xử lý, thông lượng, tài
nguyên hệ thống, năng lượng tiêu thụ, giá thành sản phẩm, tính linh độ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ối c ng đáp ứ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ật được chỉ ra trong [10]–[12],
[24]–[27], được xem như là các tài liệ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ện nay. Và dưới đây là mộ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ại được từng phần dựa trên FPGA.
Kean [28] và Bossuet [29] cho thấy tính dễ bị tổn thương của FPGA trong các tình
huống vi phạm bản quyền lõi IP, và đề xuất giải pháp mã hóa bitstream như là một biện
pháp đối phó. Trong đó, Bossuet và cộng sự đề xuất giải pháp linh hoạt trong lựa chọn và
thay đổi các thuật toán mã hóa để 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ới. Để
tăng tốc độ 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ả đạt đượ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ụ như PowerPC hoặc Microblaze) thì bị hạn
chế rất nhiều do không tận dụng được khả năng có thể xử lý song song của thuật toán
AES-GCM.
4
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ộ mã hóa AES để phát hiện các hành vi bất thườ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ấn đề quản lý bản quyền các
lõi IP và đề 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ột phương pháp cấp giấy
phép định kỳ cho lõi IP dựa trên các kỹ thuật có nguồn gốc từ các chương trình 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ả
năng tái lập trình lại một phần của các thiết bị trong khi phần còn lại đang hoạt động bình
thường, nhóm tác giả xây dựng một nền tảng bao gồm cơ chế chữ ký số, mã hóa đối xứng
và hàm băm xác thực. Phương pháp quản lý bản quyền IP sử dụng kiến trúc này cũng đã
được trình bày.
Nghiên cứu từ cơ chế 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ộ điều khiển cấu hình an toàn (SeReCon) cùng với một hạ tầng cơ sở cần thiết
cho truyền thông tối thiểu, ví dụ như các bus, các khối truyền thông. Tuy nhiên, để thực
hiện được SeReCon, nhóm tác giả đề xuất các nhà sản xuất FPGA phải tích hợp nó như
một phần mạch cứng bắt buộc khi sản xuất FPGA.
Để ngăn chặn các cuộc tấn công trên đường truyền Internet, một số giao thức đã đượ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ại được từ xa, sử dụng một
kết nối TCP/IP. Từ khía cạnh chi phí, hệ thống đề cập đến việc thiết kế sao cho càng nhỏ
càng tốt. Ở đây, nhóm tác giả đã tập trung chủ yếu vào tốc độ 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ống đã đề xuất có kiến
trúc mô-đun đơn giả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ố cơ chế bảo vệ thiết kế IP khác, ví dụ như kỹ thuật
Watermarking được đề xuất trong [43][44][45]. Đây là kỹ thuật nhúng một dữ liệu bản
quyền vào trong bitstream của các lõi IP mà hoàn toàn “trong suốt” đối với ngườ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ỏ. Có nghĩa là
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ừ các lõi IP) để theo dõi
các vi phạm bản quyền hoặc để 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ứu như đã trình bày ở trên, đa số các tác giả tập trung giải quyết
một vấn đề cụ thể như tăng tính bảo mật, tăng tốc độ cấu hình, giảm tài nguyên hệ thống,
truyền thông an toàn. Nhưng đối với một hệ thống nhúng cấu hình lại được từng phần dựa
trên FPGA thì chưa có một công trình nào trình bày framework thật đầy đủ, xem Bảng 2.4.
Hệ thống nhúng cấu hình lại được từng phần dựa trên FPGA đang phát triển và thay
đổi rất nhanh. Tấn công mạng ngày càng phức tạp và đa dạng. Do đó các giải pháp bảo mật
cũ có thể không còn phù hợp và không còn hiệu quả.
5
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. Xu hướ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ại được hoặc bằng phần mềm nhúng đang được đầu
tư nghiên cứu và phát triển không ngừng.
Mục tiêu nghiên cứu
Nhận thức được rằng, công nghệ FPGA đang ngày càng phát triển và thay đổi liên tục
dẫn đến các chính sách và các biện pháp an ninh sẵn có có thể không còn ph hợp. Các tổ
chức, các công ty, các quốc gia luôn cần một mô hình, một thiết kế riêng bảo mật của mình
để làm chủ trong việc bảo đảm an toàn tài sản và an ninh quốc phòng. Dưới sự hướng dẫn
của PGS.TS Phạm Ngọc Nam và TS. Nguyễn Văn Cường, tác giả chọn vấn đề “bảo mật
bitstream FPGA”, làm đề tài nghiên cứu của mình.
Xuất phát từ việc phân tích về những nguy cơ bảo mật do khách quan cũng như những
tồn tại chủ quan trong nghiên cứu đã trình bày ở trên, luận án tập trung nghiên cứu và thực
hiện bốn nội dung khoa học chính sau đây:
Đề xuất một Framework end-to-end cho việc cập nhật an toàn từ xa đối với hệ thống
nhúng cấu hình lại được từng phần.
Xây dựng bộ giao thức với các tham số đảm bảo an toàn và linh động khi cập nhật từ
xa qua mạng Internet.
Đề xuất giải pháp sử dụng linh hoạt các thuật toán bảo mật được xây dựng bằng phần
cứng hoặc phần mềm, kết hợp với thuật toán nén bitstream để tăng hiệu năng và tối ưu
tài nguyên của các hệ thống nhúng cấu hình lại được từng phần dựa trên FPGA.
Xây dựng mô hình mẫu trên các FPGA của Xilinx để nghiên cứu, kiểm tra và đánh giá
về tính bảo mật bitstream và hiệu năng của hệ thống nhúng cấu hình lại được từng
phần của các đề xuất và giải pháp đã đưa ra.
Đố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à nghiên cứu và thực hiện các giải
pháp bảo mật bitstream trên các hệ thống nhúng cấu hình lại được từng phần dựa vào
FPGA công nghệ SRAM khi cập nhật từ xa qua môi trường mạng công cộng (ví dụ như
mạng Internet).
Phương pháp tiếp cận: Phương pháp tiếp cận được thực hiện trong luận án là xây
dựng các thuật toán mã mật bằng phần cứng trong vùng cấu hình lại được hoặc bằng phần
mềm. Cách tiếp cận này khai thác tối đa ưu điểm cấu hình lại được từng phần linh hoạt của
FPGA, cho phép cập nhật và thay đổi các giải pháp bảo mật bất cứ lúc nào, bất cứ ở đâu.
Tổ chức nội dung của luận án
Nội dung luận án bao gồm bốn chương. Kiến thức nền tảng được trình bày trong
Chương 1. Các đóng góp chính của luận án là các đề xuất và thực hiện được trình bày
6
- Xem thêm -