Danh mục các ký hiệu toán họcKý hiệu Ý nghĩa GF 2° Trường dai số hữu han Galois Tp Thông lượng mã hóa/g1ải mã Lt Độ trễ mã hóa/giải ma Bs Kích thước khối dữ liệu đầu vào Ns Số lượng khối
Trang 1Đồng Phạm Khôi
GIẢI PHÁP KIÊN TRÚC PHAN CỨNG BẢO MAT AES
HIỆU QUÁ CAO, CÔNG SUÁT THÁP DÙNG CHO
CÁC THIẾT BỊ INTERNET VAN VAT.
LUẬN ÁN TIỀN SĨ KỸ THUẬT ĐIỆN TỬ
HÀ NỘI - 2024
Trang 2Đồng Phạm Khôi
GIẢI PHÁP KIÊN TRÚC PHAN CỨNG BẢO MAT AES
HIỆU QUÁ CAO, CÔNG SUÁT THÁP DÙNG CHO
CÁC THIẾT BỊ INTERNET VẠN VẬT.
Chuyên ngành: Kỹ thuật điện tử
Mã số: 9510302.01
LUẬN ÁN TIỀN SĨ KỸ THUẬT ĐIỆN TỬ
NGƯỜI HƯỚNG DAN KHOA HỌC:
1 GS.TS Trần Xuân Tú
2 TS Nguyễn Kiém Hùng
HÀ NỘI - 2024
Trang 3Lời cam đoan
Tác gia xin cam đoan toàn bộ nội dung trình bày trong luận án và các công
trình nghiên cứu là của riêng tác giả và tập thê hướng dẫn khoa học là GS.TS TrầnXuân Tú và TS Nguyễn Kiêm Hùng Các kết quả nghiên cứu và số liệu trình bàytrong luận án là trung thực, chưa từng được ai công bố ở trong bất kỳ công trình nàotrước đó, các dữ liệu tham khảo được trích dẫn đầy đủ
Hà Nội, ngày 15 tháng 02 năm 2024
Tác giả luận án
Đồng Phạm Khôi
Trang 4Lời cảm ơn
Đề hoàn thành luận án này tôi xin bày tỏ lòng biết ơn sâu sắc tới GS.TS TrầnXuân Tú đã tận tình hướng dẫn và tạo mọi điều kiện thuận lợi nhất cho tôi trong suốtquá trình nghiên cứu và hoàn thành luận án Tôi xin gửi lời cảm ơn chân thành đến
TS Nguyễn Kiêm Hùng, người đồng hướng dẫn đã tận tình giúp đỡ tôi trong quá
trình thực hiện luận án.
Tôi xin chân thành cảm ơn các thầy cô ở Khoa Điện tử Viễn Thông - Trường
Đại học Công nghệ và nhóm nghiên cứu SISLAB, Viện Công nghệ Thông tin, Đại
học Quốc gia Hà Nội đã góp ý, giúp đỡ tôi rất nhiều trong suốt quá trình thực hiện
luận án tiến sĩ
Trong quá trình học tập, nghiên cứu và hoàn thành luận án tiến sĩ, tôi đã nhậnđược rất nhiều sự giúp đỡ, tạo điều kiện từ lãnh đạo, chỉ huy các cấp, các phòng banchức năng của Trung tâm Nhiệt đới Việt - Nga, Bộ Quốc phòng Tôi xin bày tỏ lòngcảm ơn chân thành về sự giúp đỡ đó
Tôi xin chân thành cảm ơn các đồng nghiệp và bạn bè đã góp ý giúp tôi hoàn
Trang 5MỤC LỤC Trang
LO1 CaM 0 0n i LOT CAM ON oes a iiidiiiii ii
Danh mục các ky hiệu va chữ VIẾT ẶẲ, ST HE 111 115151111111111111111111 5111 VI
Danh mục các ký hiệu toán hoc - 55 c1 1112119111111 1 91H ng gi ri, Vill
Danh mục các Dang oo eee eee cscessceecseeesecesecseesseeeseceaeceeessseseseecseeeseseaeeseeeaseeaeengs 1X
Danh mục các hình vẽ, đồ thị - - 6k tk #EEEEEEEEEEEEEEESEEEEEESEEEEEEeEererkrkrrerksree X/0l10015 1Chương 1 TONG QUAN ooieeececcscssssssessessessesessessssscsscsucsscsvssessessesssseessesessessssseesesseaseas 7
1.1 An toàn va bảo mật thông fIT - 5 G13 E119 11930 91111 nh HH ng 8
1.2 Thuat todn AES 10
1.2.1 Trường đại số GF(23) ceeccecccsssesssssesssesssesssessesssessssssusssesssecsuscsesssecsseeseeeses 12
1.2.2 SubBytes và InvSubBytes - - kg ngư 13 1.2.3 ShiftRows và InvShIff[ROWS HH HH ng HH HH, 14
1.2.4 Mixcolumns và InvMIxColumns .- 5 + + *sskssseesseeeesee 15
1.2.5 AddRoundKe©y - - - cv SH HH HH kh 16 1.2.6 Expand K€y «so HH H 16
1.3 Các phương án thực thi AES bang phần cứng - 2 22s s+zxz+sz 181.4 Các tham số đánh giá thiết kế phần cứng AES 2 ¿5c 5 s+cs+cszsz 20
1.4.1 Thông lượng và độ trỄ - - ¿6 5z SE2E‡EEE2E2EE 2E 22112 EErErrree 20
1.4.2 Diện tích thực thĩ - c2 1321 211211313111 11 11 1111111111 11111 1111k re 21
1.4.3 Công suất tiêu thụ của mạch tích hợp - «+ << x+ssexssesssers 22
1.5 Các công trình thực thi chudn mã hóa AES bằng phần cứng - 23
1.5.1 Kiến trúc thông lượng CaO - 2-2 2 +keEE‡EE£EEEEE2EEEEEEEEEEerkerkrrkrek 241.5.2 Các thiết kế công suất thấp -¿- + 2 +k+EE+EE+EE2EE2EEEE2EEEEEEEerkrrrrek 251.5.3 Tối ưu hóa các phép biến đổi của AES -2-©cc©cc+c+cxerxcres 28
1.6 Mạng no-ron XUN 2 - 5 x1 E3 ng TH ng ng 29
1.6.1 GiGi thigt oe 43Ÿ3É 30
1.6.2 Các thế hệ mạng nơ-ron nhân fạO - s5 3k3 sekresersrserrsee 31
1.6.3 Mang no-ron ANN va SNN LH HH HH HH ki 32
11
Trang 61.6.4 Các mô hình mạng nO-ron XUNE 5 c5 * + +veeeeeeeeeeeeeers 34
1.6.5 Các thuật toán huấn luyện trong mạng no-ron Xung -s 351.6.6 Truyền thông trong mạng SNN - 2-52 S22E2+E2E£Eerkerkerxrreres 361.6.7 Điều khiển công suất dựa trên mạng nơ-ron xung - +: 371.7 {ái ChUON 8n .aa144 38Chương 2 THIẾT KE PHAN CỨNG DON LOI AES THONG LƯỢNG CAO, ĐỘ18:11 — _ 40
2.1 Động lực thiết kế kiến trúc AES thông lượng cao, độ trễ thấp 402.2 Khảo sát các kiến trúc phần cứng thực thi bộ mã hóa AES-128 42
2.2.1 Kiến trúc lặp cơ bản - ¿+ + 5E+SE+EE+EEEEEEEEEEEEEE121121121511 1111 x0, 422.2.2 Kiến trúc mở vòng lặp :- ¿+ ¿+ 2+Ek+EE£EEE2EEEEEEEEEE21E2E1 2E crkcrke 43
2.2.3 Kiến trúc đường Ống - 2 ©5£+2+£2EE2EEE2EE2EEE2212112711271 21122 crk.44
2.2.4 Giới hạn về tần số xung nhịp tối đa của các kiến trúc đường ống 47
2.3 Đề xuất kiến trúc phần cứng đơn lõi A.ES -2- 2-2 s+++z++£x+zxezsz 492.4 Thiết kế phần cứng cho một tầng mã hóa -2- 22 2z 5+s++zxz2sz+2 52
“nh 0n 53 2.4.2 SIiftMatrix 0 54
“60009 0n 55 2.4.4 AddRoundKey + c1 TH TH TH ng 58 2.4.5 ExpandKey 0 cố 59
2.5 Kết qua tổng hợp phan cứng và thảo luận ceececcesssessesseesseesseestesstesseesses 60
2.6 in 62
2.7 Kết luận chương - ¿- 2 + SE9EE9EE+EE2E12E121715711111111121171 111111 x0.64
Chương 3 THIẾT KÉ PHÀN CỨNG ĐA LÕI MCRYPTCORES THÔNG LƯỢNG
0.1900 66
3.1 Động lực cho việc thiết kế kiến trúc MCryptCOres -. : s¿cz-: 663.2 Thiết kế kiến trúc phần cứng đa lõi MCryptCores -. : s¿ 5: 693.3 Kết quả tong hop phan cứng - 2 2 2+ £+E+EE+EE+EEEEEEEEEEEEerEerkerxrrkrex 72
3.3.1 Diện tích và công suất tiêu thụ - ¿2 +5++£E+EE+E£Ecrkerkerxersereee 723.3.2 Thông lượng của kiến trúc da lõi 2- 2-52 ++S£+E+xe£Eerxerxerxee 72
1V
Trang 73.3.3 Độ trễ của kiến trúc đa lõi - ¿St Set St‡EEEEEESEEEEEEEEEEEkeErrrkekrrrrx 753.3.4 Đề xuất kiến trúc đa lõi tiết kiệm năng lượng 2-2-5 5+: 763.3.5 Dé xuất kiến trúc AES-GCM đa lõi - -ccccccccccerxeerrrrrrree 82
B.A Thao nh 84
3.5 Kết luận chương -:- 22 2+Sx+EE+2E2EE2EEEEEE211211271711211211211 111.11 11x 85Chương 4 THIẾT KÉ PHÀN CỨNG ĐA LÕI SPIKE-MCRYPTCORES CÔNG0v) 86
4.1 Động lực cho việc thiết kế kiến trúc SpIke-McryptCores - 864.2 Kiến trúc Spike-MCTyptCOTes -¿- 2 5£ E‡EE9EE2EE2EE2E22E2E71 E12 E.cer 89
4.2.1 Kiến trúc tổng quan 2-5252 S£+E£+E£EE£EEEEEEEEEEEEEEEEE2E21 E121 EEEerkrer 894.2.2 Thiết kế phần mềm cho nền tảng -2- ¿2 ©5++2++2£x2z+ezx++cxe2 914.2.3 Kiến trúc phan cứng của nền tang - 2-2 2 2+S2+EezEerxerxersrrszes 99
4.2.4 DEMUX và MX -.- Sà n1 TT TH HH HH HH HH nh 100
4.2.5 90/0909 101
4.2.6 Bộ điều khiển SNN -cccccctttrtrrttttrrrtrrrrrrirririerriee 1024.2.7 Kiến trúc phần cứng cho SNN ¿ -¿ 2¿©2+2c+2cxerxerrrerxree 1044.3 KOt QUA n ÔÒỎ 105
4.3.1 Phương pháp đánh 914 oo eee ceceeseeeeceseeeeeeseceeeseeeseceeeeeeneenseeseeeas 105
4.3.2 Đánh giá kết quả phan cứng 2-2 5¿©++2++£x++zx++zxerxeersrer 1064.3.3 Đánh giá kết quả huấn luyện - 2 2 + E2E£+£££xerxzxezrserxee 107
4.3.4 Đánh giá hiệu năng của SNN Controller ‹ -s++-sx+<++sesssz 110
SN on 114
4.5 Kết luận chương -¿ 2¿ 2 s+Sx+EE2EE2EEEEEEEEEEE12117171121121171 11.211 rxeE 116
KẾT LUẬN VA HƯỚNG PHAT TRIẺN ccc¿-+ccvvc+secrxverrrrrrrerrre 118DANH MỤC CÔNG TRINH KHOA HỌC CUA TÁC GIẢ - 121
IV 100129097)804 cm 122
Phụ lục A: Mô tả các kịch bản dữ liệu 5 5S 2<E S322 ** S2 vsezeeeerrreeeee 131
Phu lục B: Mã nguồn phần mềm va phan cứng ¿2+ 2 s2 +2 22+ 2+: 134B.1: Mã nguồn phần mềm Python ¿- ¿2© 5£+S£+E£+E££E££E£EEeEEeEEzEEzEerrerrees 134B.2: Mã nguồn phần cứng VHDI 2© ESE+SE£EE+EE2E££E£EEeEEeEEEEEEEErEerrerreei 134
Trang 8Danh mục các ký hiệu và chữ viet tắt
AER Address-Event-Representation Biéu dién Su kién-Dia chi
AES Advanced Encryption Standard Tiêu chuân mã hóa tiên tiễn
AESC Advanced Encryption Standard Lõi AES
Core ANN Artificial Neural Network Mang no-ron nhan tao
ASIC Application-Specific Integrated Vi mach tich hop chuyén dung
Circuit
BP Backpropagation Lan truyền ngược
CAD Computer-Aided Design ¬ ke được sự hồ trợ của máy
CAM Content-Addressable Memory Bộ nhớ địa chỉ-nội dung
cmos — | Complementary Metal-Oxide- Bán dẫn kim loại ô-xít bùSemiconductor
CPU Central Processing Unit Bộ xử lý trung tâm
CTR Counter mode Chê độ đếm
DEMUX _ | Demultiplexer Bộ phân kênh
DES Data Encryption Standard Tiêu chuân Mã hóa Dữ liệu
DSEL Demultiplexer select Tin hiệu Lựa chon phan kênh
DSP Digital Signal Processor Bộ xử lý tín hiệu số
DVES Dynamic Voltage-Frequency Điều khiến tỷ lệ tần s6-dién áp
Scaling động
ECB Electronic Code Book S6 mã điện tử
EPROM Erasable Programmable Read Only Bo nhớ chỉ đọc có thê xóa và lập
Memory trình lại
FDSOI — | Fully Depleted Silicon on Insulator | FCOn cạn kiệt hoàn toàn trênchât cách điện
FE Flip-flop Thanh ghi
FIFO First In, First Out Vào trước, ra trước
Federal Information Processing Tiêu chuân xử lý thông tin liên
FIPS
Standard bang
FPGA Field Programmable Gate Array Mang phân tử lô-gic có the táilập trình
GCM Galois/counter mode Ché độ Galois/counter
GF Galois field Truong Galois
GPU Graphics Processing Unit Bộ xử ly đồ họa
vi
Trang 9Từ viết tắt Tiếng Anh Tiếng Việt
Institute of Electrical and IEEE Electronics Engineers Hiệp hội Kỹ sư Điện va Điện tử
loT Internet of Things Internet vạn vật
IP Intellectual Property Sở hữu tri tuệ
OWASP Open Web Application Security Du án Bảo mật Ứng dung Web
Project Mo
LIF Leaky-Integrated-and-Fire M6 hinh no-ron LIF
LUT Look up Table Bang tra cứu
MAC Media Access Control Kiém soát truy cập phương tiện
MAC Multiply-and-Accumulate Bộ Nhân và Cộng
MIB Management Information Base Co sở thông tin quản ly
MSEL Multiplexer select Tín hiệu lựa chon ghép kênh
MUX Multiplexer Bộ ghép kênh
NIST National Institute of Standards and Vien Tiêu chuẩn và Công nghệ
Technology Quôc gia Hoa Ky
PE Processing Element Don vi xu ly
PID Proportional Integral Derivative a khiên vi phân, tích phan, ty
PQT Post-Training-Quantization Lượng tử hóa sau khi huan luyệnRFID Radio Frequency Identification Nhận dang qua tan số vô tuyến
ROM Read-Only Memory Bộ nhớ chỉ đọc
RTL Register-transfer Level Mức truyền thanh ghi
SDSP Spike Driven Synaptic Plasticity — | P*n hồi khớp thân kinh theo
xung
SNN Spiking Neuron Network Mang nơ-ron mô phỏng não bộ
SP Substitution - permutation Thay thé - hoán vi
SRAM Static Random Access Memory Bộ nhớ truy xuat ngẫu nhiên tĩnhSTDP Spike-Timing Dependent Plasticity | Đàn hôi xung theo thời gian
TCVN Vietnamese standards Tiêu chuân Việt Nam
VHDL Very High-Speed Integrated Circuit | Ngôn ngữ mô tả phan cung cho
Hardware Description Language vi mach tich hop toc d6 cao
VLSI Very Large-Scale Integration Vi mach tích hợp cỡ lớn
Vil
Trang 10Danh mục các ký hiệu toán học
Ký hiệu Ý nghĩa
GF (2°) Trường dai số hữu han Galois
Tp Thông lượng mã hóa/g1ải mã
Lt Độ trễ mã hóa/giải ma
Bs Kích thước khối dữ liệu đầu vào
Ns Số lượng khối di liệu đầu vào được xử lý đồng thời
Cer Dién dung hiéu dung
Vaa Điện áp nguồn nuôi
Tse Dòng điện ngắn mach
Ty Chu kỳ xung nhịp của kiến trúc lặp cơ bản
Bs Kích thước khối mã
K Hệ số mở vòng lặp
k Số tầng đường ống trong một vòng mã hóa
Kopt Số tang đường ống tối ưu trong một vòng mã hóa
Tạp Thông lượng của kiến trúc đường ống toàn phần
Ltfp Độ trễ của kiến trúc đường ống toàn phan
Lt pax Độ trễ tối đa
ky Số tầng đường ống tối đa
đu Tần số hoạt động lớn nhất của thiết kế
Vi [7] „„ Điện thế màng trước khi kích hoạt của nơ-ron i ở lớp / tại thời
Trang 11Danh mục các bảng
Bang 1.1 Các đặc tính khi thực hiện mã hóa trên ASIC, FPGA và vi xử lý [23] L9
Bang 1.2 Tông hợp các thiết kế AES có thông lượng cao -. -5- 5552552 24
Bang 1.3 Các công trình thực thi AES công suất thấp c5 5 s+csz s2 28Bảng 1.4 Các công trình thực thi S-Box sử dụng công 16-gic cơ bản 29
Bảng 2.1 Danh sách các tín hiỆU + + 2E %3 E31 11 1E vn tr 52
Bang 2.2 Kết quả tổng hợp phan cứng với các chu kỳ xung nhịp khác nhau 61Bảng 2.3 Kết quả thực thi phần cứng - + + ° E+SE+EE+EE+EE+EE£E£Eerkerkerkrrkrree 62Bảng 2.4 So sánh kết quả thực thi phần cứng trên công nghệ ASIC 64Bang 3.1 Tốc độ truyền dữ liệu của một số quy chuẩn IEEE 802.3 67Bảng 3.2 Kết quả tong hợp lõi đơn AES-128 ceccccscsssesssesssesstssseessecssecsesseeasecaseens 70
Bảng 3.3 Các công đầu vào và đầu ra của kiến trúc MCryptCOres 71
Bang 3.4 Kết quả thực thi kiến trúc MCryptCores trên công nghệ CMOS 45 nm .73
Bang 3.5 Đề xuất cấu hình AES đa lõi cho các ứng dụng 5- 5552552 74Bảng 3.6 So sánh thông lượng của kiến trúc AES đa lõi đề xuất 75Bang 3.7 Danh sách công của kiến trúc CG-McryptCOres - 2-5 c5c5sz 78Bảng 3.8 Kết quả tông hợp phần cứng của CG-MCryptCores và MCryptCores trên
công nghệ CMOS 4'77 HH HH ngờ 81 Bang 3.9 So sánh hiệu quả sử dụng năng lượng với các công trình liên quan 82
Bảng 4.1 Tính toán dữ liệu huấn luyện - - 2 2 2 S2S£2E£+EE+£EczEezExerxerxeree 93Bảng 4.2 Kết quả tổng hợp phần cứng của Spike-MecryptCOres -. - 106
Bang 4.3 Kết quả huấn luyện 2-2-5 22SE‡EES2EE2EE2EEEEEE2E1211271 711.1 crxe 108
Bang 4.4 So sánh mức độ tiết kiệm năng lượng giữa các mô hình thuật toán 114
1X
Trang 12Danh mục các hình vẽ, đồ thịHình 1.1 Các thách thức và yêu cầu bảo mật của IoT -¿zss+-scs+¿ 7
Hình 1.2 Mô hình mã hóa đối xứng + ¿+ E+SE+EE+EE£E££E£EEEEeEEeEEeErrrrrrrei 9
Hình 1.3 Mô hình mã hóa bất đối xứng - 2-2 2 +2 +2 £+E£+Ee£Ee£x+rxzrszxez 10
Hình 1.4 Mô hình thuật toán AES-128 - S- S11 S SH HH Hy rưky 11 Hình 1.5 Ma tran trạng thát - - + E1 1911901 1H HH ng 12
Hình 1.6 Phép biến đôi SubByte dưới dang ma trận trạng thái . 14Hình 1.7 Phép biến đôi ShiftRow dưới dạng ma trận trạng thái - 15Hình 1.8 Phép biến đổi MixColumns dưới dạng ma trận trạng thái 15Hình 1.9 Ví dụ về phép MixColumns -.2- 5255 ©5+22S+2Ex2EEtEEterxesrxrrreeree 16
Hình 1.10 Thao tác ExpandKey sgk 17
Hình 1.11 (a) No-ron sinh học; (b) Mô hình toán học tương ứng 31
Hình 1.12 Các thế hệ mạng nơ-ron nhân tạO - - s55 + ssskkrssesrserere 31
Hình 1.13 Mô hình SNN (a) Nơ-ron sinh học (b) Nơ-ron xung 34
Hình 1.14 Kiến trúc STIDP - + 2c ©+£+E£+EE£EE£EEEEEE2EEEEEEEEEEEEEEEEEEEEEEEkrrkerkrrex 36Hình 1.15 Giao thức truyền thong AER giữa các lớp trong mạng nơ-ron 37Hình 2.1 Sự phát triển công nghệ không dây đến năm 2035 [77] 41Hình 2.2 Các kiến trúc phan cứng phù hợp cho mã hóa hồi tiếp: 43Hình 2.3 Kiến trúc đường ống bên ngoài vòng mã hóa 2-5: 5552552 45Hình 2.4 Kiến trúc đường ống bên trong và bên ngoài vòng mã hóa 46Hình 2.5 Giản đồ thời gian của một số kiến trúc: a) Lap cơ bản; b) Đường ống bên
trong vòng mã hóa; c) Đường ống hoàn toàn . 2- ¿22 x+£x+zEzEzrxerxrez 47
Hình 2.6 Giới hạn của chu kỳ xung nhịp tối thiểu ở kiến trúc đường ống 48Hình 2.7 Đề xuất kiến trúc phần cứng của AES - 2-2 2+ xecxe£xsrerszxez 50Hình 2.8 Kiến trúc phan cứng cho một tang mã hóa . 2-5-2 s2 s52 s2 53Hình 2.9 S-Box song song trong kiến trúc SUDMatrix cccccecscssscsssecstesstesseeeseesseens 53Hình 2.10 Giản đồ xung của SUBMAtrix c cccccssscssesssessseessecssesseessecssecssessesssecsseess 53Hình 2.11 Giản đồ xung của SubWOrd - ¿2-5-5 Sx+EE+EE£E2EZEEEerkerkerkererree 54Hình 2.12 Giản đồ xung của SubB)yte - ¿5© Ss‡E‡EE2EE2EE2E2EEEEEEerkerkerkrree 54Hình 2.13 Mô tả kiến trúc ShiftMatrix .ceccsssescssssesssneeessneeessneeesnneeessneeessneses 54
Trang 13Hình 2.14 Giản đồ xung của ShiftMatriX 2-55 ke EE2EEEeEEerkerkerkrree 55Hình 2.15 Kiến trúc MixMatrix c5c-c+ctctEktrttrktrtttrtrrrrtiirrrriirrrrirriio 55
Hình 2.16 Giản đồ xung MixMatriX 2-5552 SE E22 E211 EEEEEkerkerrrree 55
Hình 2.17 Kiến trúc phần cứng của MixColumn - 2-2 2 2 s+x+£+£s+£+2 +2 58Hình 2.18 Giản đồ xung của MixColUmn .c.cccsssessssssesssesssecssesssessecssecssesseessecsseess 58Hình 2.19 Kiến trúc AddRoundKey .ccccsccsssessessesssessessessssssessessessseeseesessssseeseeseees 59Hình 2.20 Giản đồ xung kiến trúc AddRoundKey - 2-2 2s >x+zs+£sz£s2 +2 59
Hình 2.21 Thuật toán tạo khóa CŒOI - - - cĂ E2 0111111 1223111 1111951111 key 59
Hình 2.22 Kiến trúc thuật toán tạo khóa COM .cseseccssssesessesesesseseseceesescecsesesessveeeeees 60Hình 2.23 Kiến trúc tạo khóa cho mỗi tầng mã hóa . 2 ¿52 s2 s22 5+2 60Hình 2.24 Giản đồ xung của kiến trúc Expandey -¿ s¿©c+z©s+5c++ 60Hình 2.25 So sánh hiệu quả sử dụng tài nguyên phần cứng và năng lượng 63
Hình 3.1 Kiến trúc phần cứng đa lõi MCryptCOres - 2 25s s£s+zsz s2 70
Hình 3.2 Thông lượng và hiệu năng của các kiến trúc đa lõi .- - 74Hình 3.3 Các kỹ thuật ngắt xung đồng hà - 2-22 5¿22x2EvEEteExzrxrrreeree 71Hình 3.4 Kiến trúc đa lõi với cơ chế ngắt xung đồng hồ CG-McryptCores 78Hình 3.5 Chi tiết kiến trúc của CG-McryptCOres -¿ 2¿©2+©5z2cx2zxscxesrsz 79Hình 3.6 Đề xuất kiến trúc MCryptCores-GCM -22cscxccxczEzresrxerrerex 84Hình 4.1 Nền tang Spike-MCryptCores (a) Phan mềm và (b) Phan cứng 89
Hình 4.2 Ví du tạo kịch ban dữ liệu ham mũ ccceseceeesceceeseeeeesseceesseeees 94
Hình 4.3 Các kịch bản dữ liệu sử dụng trong huấn luyện SNN 95
Hình 4.4 Cấu trúc mạng SNN truyền thăng - 2-2 52+ £+x+£EtzEzrsrxerxezex 96
Hình 4.5 Mô hình no-ron Leaky Integrate-and -Fire (LIF) . - -s+ 97
Hình 4.6 Kiến trúc phan cứng của Spike-MCryptCOTes - 2-2-5252 55c: 100Hình 4.7 Ví dụ về giản đồ xung của dit liệu đầu vào -s-cscc+cszceccee: 100Hình 4.8 Kiến trúc phần cứng của Asynchronous FIFO -. ¿sz 5+: 101
Hình 4.9 So đồ khối của bộ điều khiển SNN ccccc+cccvccrrrrrerrerree 103
Hình 4.10 Kiến trúc phần cứng của SN . 2 ¿©cz+x+zx+£xeEzEzrzrerrees 104
Hình 4.11 Spike-MCryptCores Layout và FÏloorplan -s«++<<++se+ssz 107 Hình 4.12 Độ chính xác của ANN và SNN sử dụng mô hình 8-5-[ 1 109
XI
Trang 14Hình 4.13 Kết quả kiểm tra với các giá trị ngẫu nhiên -. -:- 2-5 =5+¿ 109Hình 4.14 Công suất tiêu thụ trung bình của Spike-MCryptCores và MCryptCores.Hình 4.15 Công suất tiêu thụ của Spike-MCryptCores và McryptCores 112
XI
Trang 15MO DAU
Internet van vat (Internet of Things - IoT) dé cap dén mang lưới tap hợp cácthiết bị thông minh và công nghệ tạo điều kiện thuận lợi cho hoạt động giao tiếp giữathiết bị và điện toán đám mây cũng như giữa các thiết bị với nhau Ngày nay, nhờ sự
ra đời của chip máy tính giá rẻ và công nghệ viễn thông băng rộng, chúng ta có hàng
tỷ thiết bị được kết nối với Internet IoT là một xu hướng mới, tuy nhiên cũng tạo ra
nhiều thách thức mới về an ninh và sự riêng tư thông qua việc kết nối với các thiết bị
và dịch vụ phô biến trên Internet Đề có thể khai thác được những tiềm năng to lớn
mà IoT mang lại, còn nhiều van dé cần phải giải quyết; đặc biệt là vấn dé bao mậtcho các thiết bị và hệ thống IoT [1]-[3]
Theo một nghiên cứu gần đây của dự án An toàn ứng dụng web mở (OpenWeb Application Security Project - OWASP) [4] thì có tới gần 3/4 thiết bị IoT có
nguy co bị tin tặc tan công va xâm hai Nghiên cứu nay cũng chi ra một số nguy cơ
bảo mật phố biến nhất đối với các thiết bị IoT Bat kỳ người dùng nào truy cập vàothiết bị qua kết nối di động đều có thé bị tắn công bởi 16 hồng này do tính không đảm
bảo an toàn của các dịch vụ mạng, đặc biệt là các dịch vụ vô tuyến Kẻ tấn công sử
dụng các dịch vụ mạng dé bị tan công dé tan công vào thiết bị Cũng theo OWASP,
70% thiết bị thường xuyên sử dụng dịch vụ mạng không được mã hóa, thông tin
truyền đi đưới dạng thông tin văn bản đơn giản và không có đảm bảo về an toàn bảomật Việc không có các cơ chế mã hoá truyền tin là một lỗ hồng dé kẻ tan công dễ
dàng lợi dụng nhằm đánh cắp thông tin khiến dữ liệu truyền trên mạng nội bộ hoặc
mạng Internet dễ bị lộ Khi người dùng truy cập vào Internet, tin tặc sẽ lợi dụng nhiều
lỗ hông khác như: xác thực không đủ an toàn; thiếu công cụ mã hoá truyền tin dé thuthập thông tin về tài khoản; truy nhập vào dit liệu và thực hiện tan công Nguy cơ này
có thé dẫn tới việc làm mắt/thay đổi dữ liệu và quyền điều khiến thiết bị của ngườidùng Điều này dẫn đến nhiều hệ lụy khôn lường, một thiết bị giám sát sức khỏe bịchiếm quyền điều khiến có thé đưa ra những cảnh báo và thông tin sai lệch, một chiếc
ô tô tự lái bị tin tặc tấn công có thể gây ra tai nạn giao thông, camera chống trộm,
Trang 16giám sát trong gia đình không được mã hóa có thé gây ra các sự cé mat an toàn thôngtin mạng và dé lộ những thông tin cá nhân của chủ sở hữu
Có nhiều nguyên nhân dang sau tình trạng mất an toàn trong IoT Một sốnguyên nhân liên quan đến việc ngành công nghiệp IoT đang ở trạng thái “phát triểnnóng”, nơi mọi nhà cung cấp đang vội vã tìm cách tung ra các tiện ích kết nối sángtạo trước khi các đối thủ cạnh tranh làm được Trong những trường hợp như vậy,chức năng của các thiết bị IoT trở thành trọng tâm chính và bảo mật không được coitrọng Chính vì vậy, việc nghiên cứu các giải pháp bảo mật cho các thiết bị IoT là van
đề cần được quan tâm nghiên cứu Các thiết bị loT thường rất đa dạng về chủng loại,
có thiết bị có hệ điều hành, nhưng cũng có rất nhiều thiết bị là các hệ thống nhúngkhông có hệ điều hành và có thê được chia thành hai loại chính Loại thứ nhất là các
thiết bị có tài nguyên hạn chế như cảm biến, thẻ REID, v.v Loại thiết bị này khôngyêu cầu bộ mã hóa có thông lượng cao nhưng phải có công suất thấp, tiêu tốn ít tàinguyên của hệ thống Một số thiết kế phần cứng sử dụng các thuật toán mã hóa hạng
nhẹ đáp ứng yêu cầu này được trình bày trong các công trình [5]-[7] Loại thứ hai là
các thiết bị giàu tài nguyên như máy chủ, IoT gateway, bộ định tuyến (router),
access-point, thiét bi truyén hình hội nghị, v.v Các thiết bị này được xác định là đối tượng
dé đưa ra các giải pháp bảo mật phù hợp Với loại thiết bi này do cần mã hóa lượnglớn dữ liệu nên yêu cầu bộ mã hóa phải có thông lượng cao, đồng thời phải có độ trễthấp nhằm đảm bảo yêu cầu về chất lượng cho dich vụ thời gian thực [8], [9] Thực
hiện mã hóa và giải mã bằng phần mềm là không phù hợp do không đạt được thông
lượng cao và có thé không đáp ứng được yêu cầu thời gian thực, việc sử dụng cácphần mềm bảo mật cũng ấn chứa nhiều nguy cơ bị tin tặc tấn công [5] Do đó việcphát triển các giải pháp bảo mật bằng phần cứng cho thiết bị IoT là một giải pháp phù
hợp.
Các ưu điểm của mã hóa và giải mã bằng phần cứng có thé ké đến như sau:
- Xử lý thời gian thực: Đối với các hệ thống cần truyền tải một lượng lớn dữ
liệu, yêu cầu thời gian thực thì các bộ mã hóa-giải mã bằng phần cứng là rấtphù hợp do thiết kế được cứng hóa và áp dụng giải mã song song
Trang 17- _ Công suất tiêu thụ thấp: Do thiết kế chuyên dụng nên hiệu năng mã hóa - giải
mã tăng, năng lượng tiêu thụ giảm Điều này phù hợp với các thiết bị di độnghoặc hệ thống mạng cảm biến
- Khả năng bảo mật: khó bi tấn công bởi các phần mềm độc hại (malware) và
các mã độc.
Bảo mật an toàn thông tin khi truyền qua mạng gồm các van đề như tính bảo
mật, tính xác thực, tính toàn vẹn dữ liệu Trong đó, bảo mật dữ liệu là một trong
các van dé của bảo mật và an toàn thông tin Các thuật toán mã hóa bảo mật dữ liệu
tiêu biểu như DES (Data Encryption Standard), Triplle DES hoặc các thuật toán mật
mã hạng nhẹ DES ra đời từ năm 1972 và có độ dài khóa ngắn (56 bit) và được coi là
không còn an toàn với các phương pháp phá mã sử dụng các máy tính có khả năng
tính toán mạnh [10] Mặt khác, các thuật toán mật mã hạng nhẹ sử dụng cho IoT vẫn
đang trong quá trình chuẩn hóa [5] Trong khi thuật toán AES (Advanced EncryptionStandard) [11] được ra đời năm 2000 va được chuẩn hóa bởi Viện Tiêu chuẩn và
Công nghệ Quốc gia Hoa Ky NIST (National Institute of Standards and Technology),
đã được sử dung rộng rãi trên phạm vi toàn thé giới va được quy định trong nhiều
chuẩn truyền thông của IEEE (Institute of Electrical and Electronics Engineers) AES
có nhiều ưu điểm: tính bảo mật, tính hiệu quả khi thực hiện trên phần mềm và phầncứng, tốc độ, độ chính xác khi mã hóa, giải mã và tính khả thi Ngày nay các vấn đềnghiên cứu triển khai AES bang phần cứng theo các hướng tối ưu hóa công suất tiêuthụ, vấn đề về băng thông vẫn đang được quan tâm nghiên cứu
Từ những phân tích, đánh giá trên, luận án đặt ra mục tiêu là nghiên cứu thiết
kế các kiến trúc phần cứng hiệu năng cao, độ trễ thấp và các phương án giảm côngsuất tiêu thụ của bộ mã hóa AES Cụ thê, luận án nghiên cứu các phương án triểnkhai AES bằng phần cứng, nghiên cứu một số kỹ thuật cơ bản về thiết kế các vi mạch
tiêu thụ năng lượng thấp và đề xuất các giải pháp, kỹ thuật triển khai bộ mã hóa AESbằng phần cứng có hiệu năng cao, tiết kiệm công suất tiêu thụ Thông lượng của bộ
mã hóa được cải thiện bằng việc sử dụng kiến trúc đường ống, kiến trúc đa lõi, côngsuất tiêu thụ được cải thiện bang kỹ thuật sử dung bộ điều khiển dựa trên mạng nơ-ron xung (Spiking Neural Network - SNN) để điều khiển ngắt xung nhịp đồng hồ
Trang 18(clock gating) cho các lõi mã hóa AES Giải pháp đề xuất được mô hình hóa và đượcthiết kế bằng ngôn ngữ mô tả phần cứng VHDL, được mô phỏng và kiểm chứng trên
công cụ mô phỏng ModelSim (hãng Mentor Graphics) Các công cụ Synopsys Design
Compile, Prime Time và Cadence Innovus được sử dụng đề phân tích công suất tiêu
thụ và thiết kế layout với thư viện công nghệ CMOS 45nm Với mục tiêu như vậy,
luận án tập trung vào một số nội dung nghiên cứu cụ thể như sau:
- Nghiên cứu các phương án triển khai bộ mã hóa AES bằng phần cứng vàquan tâm các tham số như băng thông, độ trễ, công suất tiêu thụ, diện tích thực thi
- Nghiên cứu các kỹ thuật tiết kiệm công suất trong thiết kế các vi mạch chuyên
dụng như ngắt xung đồng hồ, ngắt nguồn nuôi (power gating), điều khiển tỷ lệ điện
áp-tần số động (Dynamic Voltage-Frequency Scaling - DVFS) Tìm hiểu các kỹ
thuật cũng như các quy trình thiết kế theo hướng tối ưu hóa cho các hệ thống phần
cứng da 161.
- Nghiên cứu các phương án triển khai kiến trúc phan cứng don lõi, đa lõi Các
kỹ thuật điều khiển công suất dựa trên mạng ron nhân tạo, đặc biệt là mạng
nơ-ron nhân tạo thế hệ thứ ba SNN hay còn gọi là mạng nơ-nơ-ron xung và các phương pháptriển khai bằng phan cứng dé điều khién tối ưu công suất cho phần cứng AES đa lõi
Đề đưa ra giải pháp đúng đắn thực hiện mục tiêu nghiên cứu đề ra, luận án sử
dụng các phương pháp nghiên cứu sau:
- Tìm hiểu tổng quan các phương án bảo mật bang phan cứng cho thiết bị IoT,
lý thuyết về thuật toán mã hóa bảo mật AES, các phương pháp triển khai AES bằngphần cứng và các công trình liên quan Tổng quan lý thuyết về các kỹ thuật công suấtthấp trong thiết kế các vi mạch tích hợp Đề xuất các thiết kế phần cứng AES hiệunăng cao, công suất tiêu thụ thấp
- Sử dụng các công cụ thiết kế, mô phỏng đề triển khai các kiến trúc phần cứngAES Phân tích hiệu năng và công suất tiêu thụ của hệ thống Thực hiện các giải pháp
cải tiến băng thông và công suất tiêu thụ của hệ thống như sử dụng kiến trúc đa lõi
AES và phương pháp ngắt xung đồng hồ cho các lõi AES bằng phần cứng mạng ron xung bằng phần cứng
Trang 19nơ-Các đóng góp chính của luận án bao gồm:
- Đề xuất và thực thi kiến trúc phần cứng AES đơn lõi cho các ứng dụng thônglượng cao và thời gian thực Với đề xuất này, kiến trúc song song và kỹ thuật đườngống được sử dụng dé tăng tốc độ mã hóa và giảm độ trễ Kết quả triển khai phan cứngtrên công nghệ CMOS 45nm cho thay thiết kế đạt được thông lượng cao (111,3 Gbps)
và có độ trễ thấp (12,6 ns)
- Đề xuất và thực thi kiến trúc phần cứng AES đa lõi song song có thông lượng
mã hóa rất cao Đề giảm thiểu chi phí về diện tích và công suất tiêu thụ, trong kiến
trúc đề xuất này khối chức năng KeyExpansion được chia sẻ giữa các lõi AES Kết
quả thực thi phần cứng chứng minh rằng kiến trúc dat được thông lượng lên tới 1
Tbps với 10 lõi AES trên chip.
- Đề xuất và thực thi kiến trúc phần cứng Spike-MCryptCores công suất thấpvới bộ điều khiển nơ-ron dùng dé điều khiển ngắt xung đồng hồ của các lõi AES Giảipháp đề xuất Spike-MCryptCores bao gồm phần mềm dé thiết kế, huấn luyện và kiêm
tra bộ điều khién SNN và kiến trúc phần cứng đa lõi AES với bộ điều khiển ngắt xung
đồng hồ SNN Bộ điều khiển SNN có thể giúp hệ thống giảm tiêu thụ năng lượng từ
39% đến 67% Với Spike-McryptCores, luận án đã giới thiệu một phương pháp mới
dé thiết kế và điều khiển các hệ thống đa lõi với chi phí nhỏ, độ chính xác cao và tiết
kiệm năng lượng.
Bồ cục của luận án gồm những phần chính như sau:
Chương 1: Trình bay các khái niệm cơ bản về chuẩn mã hóa AES, các phép
tính toán của thuật toán, và các phương án, công trình thực thi AES bằng phần cứng.Trong chương này các khái niệm cơ bản của mạng nơ-ron xung cũng được đề cậplàm cơ sở dé triển khai các giải pháp giảm công suất tiêu thụ của kiến trúc phần cứng
đa lõi AES trong Chương 4.
Chương 2: Đề xuất kiến trúc phần cứng AES đơn lõi tốc độ cao, độ trễ thấpphù hợp dé bảo mật cho các ứng dụng yêu cầu thông lượng cao và thời gian thực như
camera giám sát, truyền hình hội nghị, giám sát và nhận diện hình ảnh, loT gateway,
mã hóa lưu trữ dữ liệu Kiến trúc phần cứng AES đơn lõi sử dụng kỹ thuật đường
ông bên ngoài các vòng mã hóa để dung hòa giữa băng thông và độ trễ Kiến trúc
Trang 20được thiết kế bằng ngôn ngữ mô tả phần cứng VHDL, được mô phỏng và kiêm chứngtrên ModelSim Công cụ Design Compiler của hãng Synopsys được sử dụng để tổnghợp phần cứng và phân tích công suất tiêu thụ, diện tích thực thi với thư viện công
nghệ CMOS 45nm.
Chương 3: Dé đáp ứng các yêu cầu mã hóa của các chuẩn truyền thông mới
tốc độ cao (ví dụ IEEE 802.3ba, IEEE 802.3bs) cần tăng tốc hơn nữa tốc độ mã hóa.Tuy nhiên, do giới hạn về tần số xung nhịp, kiến trúc đơn lõi khó đáp ứng được yêucầu này Vì vậy, trong chương này luận án đề xuất kiến trúc AES đa lõi nhằm tăng
thông lượng mã hóa.
Chương 4: Tiết kiệm năng lượng tiêu thụ trong thiết kế phần cứng luôn là yếu
tố được quan tâm nghiên cứu Trong chương này, luận án đề xuất kiến trúc
Spike-McryptCores Đây là một kiến trúc phần cứng AES đa lõi có sử dụng bộ điều khiểndựa vào mạng nơ-ron xung SNN dé điều khiển ngắt xung nhịp đồng hồ của các lõi
mã hóa dựa vào thông lượng dir liệu đầu vào nhăm tiết kiệm năng lượng tiêu thụ
Chương này đề xuất một giải pháp toàn diện dé tạo tập dữ liệu, huấn luyện mạng
no-ron và tạo ra cầu hình phần cứng cho mạng nơ-no-ron xung là mạng nơ-no-ron thế hệ thứ 3,
một mô hình tính toán mô phỏng não bộ.
Cuối cùng là phần kết luận, tổng kết lại các kết quả nghiên cứu và đề xuất một
sô hướng nghiên cứu tiêp theo của luận án.
Trang 21Chương 1 TỎNG QUAN
Internet vạn vật (IoT) đã được ứng dụng trong nhiều lĩnh vực khác nhau như
giao thông thông minh, chăm sóc sức khỏe thông minh, môi trường thông minh, cơ
sở hạ tầng thông minh (thành phố thông minh, nhà thông minh, văn phòng thông
minh, trung tâm thương mại thông minh, Công nghiệp 4.0), nông nghiệp thông minh
và nhiều lĩnh vực khác Các nhà nghiên cứu và chuyên gia trong ngành đã đưa ranhiều định nghĩa khác nhau về IoT tùy thuộc vào ứng dung và lĩnh vực triển khai,nhưng nói một cách đơn giản, IoT là một mạng lưới gồm hàng tỷ thiết bị được kếtnối, mỗi thiết bị có một mã định danh duy nhất, có khả năng thu thập và trao đổi dữ
liệu qua mạng Internet dù có hoặc không có sự tương tác của con người [12].
Các thách thức của loT Yêu cầu bảo mật của loT
®Ñ 27)
($23 as :Cy) Kha nang tuong tac
4 Tuổi tho & Hỗ trợ
@) Công nghệ Ae =
“TW: Phân tích và Hành
\-ẳ động thông minh No.ti ue
Hình 1.1 Các thách thức va yêu cầu bảo mật của IoT
Bảo mật và
quyên riêng tư
Mã hóa bảo mật
Hình 1.1 mô tả các thách thức và yêu cầu bảo mật trong IoT Khi hàng tỷ thiết
bị được kết nối với nhau qua Internet sẽ tạo ra nhiều thách thức như bảo mật và quyền
riêng tư, khả năng tương tác, tuổi thọ của thiết bị, công nghệ [13] Ngoài ra, các
thiết bị IoT có thé dé dàng bị truy cập trái phép và đối mặt với nhiều cuộc tấn công
bảo mật khi chúng tương tác trực tiếp với thế giới thực để thu thập các dữ liệu quan
trọng hoặc điều khiến các thiết bị vật lý, khiến chúng trở thành mục tiêu hấp dẫn của
những kẻ tan công [14] Tất cả những van dé này làm cho an ninh mạng trở thành
một thách thức lớn trong các thiết bị loT với yêu cầu bảo mật, toàn vẹn dữ liệu, xácthực và ủy quyền, tính khả dụng, quyên riêng tư và các tiêu chuẩn quy định cũng như
Trang 22việc cập nhật hệ thống thường xuyên Trong kịch bản này, mật mã có thể là một trongnhững biện pháp hiệu quả dé đảm bảo tính bảo mật, tính toàn vẹn, tính xác thực và
uy quyén của dữ liệu truyền qua các thiết bị IoT [15]
Chương này trình bày một số khái niệm cơ bản của an toàn và bảo mật thông
tin Tiếp đó, việc mô tả chi tiết các phép tính toán của thuật toán thuật toán AES và
tong quan các phương án, công trình thực thi AES bằng phan cứng cũng sẽ được décập nhằm đưa ra định hướng nghiên cứu cho luận án Các khái niệm cơ bản của mạng
nơ-ron xung cũng được dé cập làm cơ sở dé triển khai bộ điều khiển công suất thấpcho kiến trúc phần cứng đa lõi AES ở Chương 4
1.1 An toàn và bảo mật thông tin
An toàn thông tin là sự bảo vệ thông tin và các hệ thống thông tin, tránh bị truynhập, sử dụng, tiết lộ, gián đoạn, sửa đôi hoặc phá hoại trái phép nhằm bảo đảm tínhnguyên vẹn, tính bảo mật và tính khả dụng của thông tin [10] Các loại hình tấn công
có thé ảnh hưởng đến quá trình truyền tin qua mạng như sau:
1) Xem trộm thông tin (release of message content): Kẻ xâu bắt thông điệp và
xem được nội dung của thông điệp.
2) Thay đôi thông điệp (modification of message): Kẻ xâu chặn được thôngđiệp của bên gửi, sửa đổi nội dung thông điệp này rồi gửi cho bên nhận
3) Mao danh (masquerade): Kẻ xấu giả danh người gửi dé gửi thông điệp cho
người nhận.
4) Phát lại thông điệp (replay): Kẻ xấu sao chép lại thông điệp, sau một khoảngthời gian nhất định, kẻ xấu gửi lại thông điệp Bên nhận sẽ nhận được một thông điệpnhiều lần
Một hệ truyền tin được gọi là an toàn và bảo mật thì phải có khả năng chống lại
được các hình thức tan công trên Như vậy hệ truyền tin phải có các đặt tính sau:
e Tính bao mật (confidentiality): Ngăn chặn được vấn đề xem trộm thông điệp
e Tính chứng thực (authentication): Tính chứng thực ngăn chặn các hình thức
tấn công sửa thông điệp, mạo danh và phát lại thông điệp
e Tính không từ chối (nonrepudiation): Khái niệm chữ ký trên giấy mà con
Trang 23người đang sử dụng ngày nay là một cơ chế dé bảo đảm tinh chứng thực vàtính không từ chối Trong lĩnh vực máy tính, người ta cũng thiết lập một cơchế như vay, CƠ chế này được gọi là chữ ký điện tử.
Mật mã hay mã hóa bao mật dit liệu (cryptography), là một công cụ cơ ban thiết
yêu của bảo mật thông tin Mã hóa bảo mật dữ liệu hướng đến mục tiêu chính là bảo
vệ đữ liệu số được lưu trên hệ thống, truyền qua Internet, các mạng máy tính khác.Mật mã đáp ứng được các nhu cầu về tính bảo mật, tính chứng thực và tính không từ
chối của một hệ truyền tin.
Mã hoá cổ điển là hình thức mã hoá đơn giản, xuất hiện sớm nhất so với các
loại khác có thê kế đến như Ceasar, mã hóa thay thế đơn bảng, đa bảng, one-timepad Với phương pháp này, người nhận và người gửi chỉ cần biết về thuật toán giải
mã nó, không cần tạo khóa bảo mật Tuy nhiên, sự đơn giản của phương pháp mã hoá
sẽ đi đôi với tính an toàn không cao Thông tin dé dang mat đi tính bảo mật khi ngườikhác biết được thuật toán mã hóa Kẻ xấu cũng có thể lần mò giải thuật toán khiến
việc mã hóa trở nên vô nghĩa.
Các thuật toán mã hóa hiện đại có thê chia thành hai loại là mã hóa đối xứng và
mã hóa bất đối xứng:
- Phương pháp mã hóa đối xứng (mã hóa khóa bí mật): Thuật toán mã hóa và
giải mã sử dụng chung một khóa, thuật toán giải mã là phép toán ngược của thuật
toán mã hóa (Hình 1.2) Một đặc tính quan trọng của mã hóa đối xứng là khóa phải
được giữ bí mật giữa người gửi và người nhận, hay nói cách khác khóa phải được
chuyên một cách an toàn từ người gửi đến người nhận Các thuật toán mã hóa đốixứng phổ biến như TinyDES, DES, Triple DES, AES
Trang 24- Mã hóa bất đối xứng (mã hóa khóa công khai): Phương pháp này sử dụngmột khóa bi mật (Private Key) và một khóa công khai (Public Key) Ai cũng có thé
có được dữ liệu được mã hóa bằng khóa công khai Tuy nhiên, dé giải mã được thingười nhận phải có khóa bí mật (Hình 1.3) Điểm hạn chế của phương pháp này là
khóa có độ dài lớn, thuật toán mã hóa-giải mã phức tạp, do đó tốc độ mã hóa và giải
mã chậm hơn nhiều so với mã hóa đối xứng [10] Các thuật toán mã hóa bat đối xứng
phô biến như RSA, Diffie-Hellman, ECC, El Gamal, DSA
à
©) Bản rõ G Bản mã G Bản rõ ©
Bên gửi Mã a Giai - Bén nhan
| dụng các khóa khác lđể mã hóa và giải mã
» -b
Khóa chung Khóa riêng
Hình 1.3 Mô hình mã hóa bất đối xứng
1.2 Thuật toán AES
Vào những năm 1990, nhận thay nguy cơ của chuân mã hóa DES là kích thướckhóa ngắn, có thể bị phá mã trong tương lai gần, Cục Tiêu chuân Quốc gia Hoa Kỳ(NIST) đã kêu gọi xây dựng một phương pháp mã hóa mới 15 thuật toán được đềxuất thay thế DES trong đó có thuật toán Rijndael được tạo ra bởi hai nhà mật mã học
người Bi là Joan Daemen va Vincent Rijmen [16] Tới tháng 8/1999, chỉ còn lại 5
thuật toán (Rijndael, Serpent, RC6, Twofish và MARS) được cân nhắc lựa chọn Cáctiêu chí chính được NIST sử dụng dé đánh giá các “ứng viên” AES bao gồm tính bảomật, tính hiệu quả khi thực hiện trên phần mềm và phần cứng, tốc độ, độ chính xáckhi mã hóa, giải mã và tính khả thi Tại hội nghị lần thứ hai, 5 thuật toán đã đượcđánh giá về tính bảo mật và hiệu quả khi thực thi bằng phần mềm, tuy nhiên các đánhgiá này cho kết quả khá tương đồng, không có sự nổi trội của bất cứ ứng viên nào.Tại hội nghị AES lần thứ ba, các đánh giá về hiệu suất thực thi phần cứng được trìnhbày, hội nghị đã cung cấp một thước đo định lượng rat đáng kề giúp phân biệt rõ rang
10
Trang 25giữa các ứng viên AES khác nhau Các kết quả khảo sát đã xếp hạng các ứng viên
theo hiệu quả thực thi phần cứng [17] Cuối cùng thuật toán Rijndael được lựa chọn
và đổi tên thành Tiêu chuẩn mã hóa tiên tiến (AES) Đây là một thuật toán tiêu chuẩncủa chính phủ Hoa Kỳ nhằm mã hóa và giải mã dữ liệu và được NIST phát hành ngày
26/11/2001, được đặc tả trong Tiêu chuẩn xử lý thông tin liên bang 197 (Federal
Information Processing Standard - FIPS 197) [11] AES tuân theo mục 5131 trong
Luật cải cách quan lý công nghệ thông tin năm 1996 va Luật an toàn máy tính năm
1997 Hoa Kỳ Cho đến hiện nay, AES vẫn được dùng cho các tài liệu tuyệt mật Sau
đó, thuật toán này được dùng trong các ứng dung dân dụng và là chuẩn mã hóa khoá
đối xứng phô biến nhất hiện nay Ở Việt Nam, thuật toán mã hóa AES đã được công
bố thành tiêu chuẩn quốc gia TCVN 7816:2007 vào năm 2007 về Thuật toán mã hóa
dữ liệu AES.
Cipher Key Plaintext Plaintext Cipher Key
128 bits 128 bits
Round 10 Round 1
Round 10
Hình 1.4 Mô hình thuật toán AES-128.
Hình 1.4 mô tả mô hình thuật toán AES-128 Mã hóa AES là bộ mã hóa theo
khối 128-bit và là một thuật toán mã hóa khối đối xứng, nghĩa là thuật toán mã hóa
và giải mã sử dụng chung một khóa bí mật, thuật toán giải mã là phép toán ngược của
thuật toán mã hóa AES dùng 4 phép biến đổi chính dé mã hóa một khối dữ liệu là:
Add Round Key; Substitute Bytes; Shift Rows; và Mix Columns với các phép bién đỗi
ngược tương ứng là Inverse Sub Bytes; Inverse Shift Rows; Inverse Mix Columns.
Riêng phép biến đổi Add Round Key đơn giản chỉ là phép XOR nên phép biến đổi
11
Trang 26ngược cũng là Add Round Key Mỗi phép biến đổi nhận tham số đầu vào có kíchthước 128-bit và cho ra kết quả cũng có kích thước 128-bit Trong AES, số vòng mãhóa phụ thuộc vào kích thước của khóa; tương ứng bằng 10, 12 hoặc 14 cho các khóa
128-, 192- hoặc 256-bit.
Vận dụng các phép biến đổi ngược trên, thuật toán giải mã AES 128-bit cũng
gồm 10 vòng thực hiện theo chiều ngược lại Kích thước khóa ban dau là 128 bit(gồm 16 byte) AES dùng hàm Expand Key dé mở rộng kích thước khóa thành 176
byte 176 byte này được chia thành 11 cụm khóa con, mỗi khóa con 16 byte làm tham
số cho 11 thao tác Add Round Key
Các khối dữ liệu được trình bày dưới dạng ma trận vuông, còn được gọi là
Trạng thái (State) (Hình 1.5).
Hình 1.5 Ma trận trạng thái.
Các phép tính số học trong AES được thực hiện trong trường đại số hữu hạn
Galois GF (2°) với đa thức tối giản là m(x) = x` +x" +xÌ+x+, Từ đây về sau
luận án gọi là GF (2°).
1.2.1 Trường đại số GF(23)
Các phép biến đổi toán học của thuật toán AES được thực hiện trong trường
GF (2°) Mỗi phan tử của trường này có thé được coi là một chuỗi 8 bit (trong biểu
diễn hệ nhị phân) hoặc là một đa thức có bậc nhỏ hơn hoặc bằng 7, với các hệ số là{0} hoặc {1} (biểu diễn đa thức) Các hệ số của đa thức chính là các bit tương ứng
12
Trang 27của biểu diễn nhị phân Ví dụ {03} trong hệ thập lục phân tương đương với {00000011} trong hệ nhị phân và được biểu diễn dưới dạng đa thức như sau:
hai đa thức tương ứng sau đó chia cho đa thức tôi giản m(x) =x +x tx +xtl,
Phan dư của phép chia nay là kết qua của phép nhân hai phan tử trong trường
Sau khi biến đổi ta có:
b(x) =(a,+a,)-x” + (dg +a¿)-x” + (ds +a,)-x” + (a, +a,+a,)-x”
(1.3)
} } } 3 } 24 } }
t(đ@; + +đ,)-x” +(a,+a,)-x° +(a,+a,+a,)-x+(a, +a)
Trong đó, dấu "+" thực hiện phép mô-đun cơ số 2, tức là phép XOR Như vậymỗi bit của kết quả có thé được biểu diễn dưới dạng một hàm XOR của nhiều nhất
ba đầu vào, nghĩa là: b, = (a, +a,), b= (a, +4,), b, = (a, +a,),
b, =(a, +d, +4,), b, =(4, +a, +4,), b, = (a, +a,),
Trang 281 Phép nhân nghịch đảo trong trường GF (2°) với đa thức tối giản
m(x)=x° +x' +x° +.x+1, Phần tử {00} được ánh xa là chính nó.
2 Biến đổi Affine trong trường GF (2°)
b.=b.+b +b(i+4) mod8 (i+5)mod8 +b(i+6)mods T b +(+1)mods TT ©
trong đó, £, là bit thứ i của byte € có giá trị {63} hoặc {01100011}
Công thức (1.6) biểu diễn phép biến đổi Affine ở dang ma trận
So,o | So, | So,2| So SubBytes
Hình 1.6 Phép biến đôi SubByte dưới dang ma trận trạng thái
Trang 29- Dòng thứ 4 dịch vòng trái 3 byte.
Hình 1.7 Phép biến đổi ShiftRow dưới dạng ma trận trạng thái
Thao tác InvShiftRows thực hiện ngược lại, các dòng thứ 2, thứ 3, thứ 4 được dịch vòng phải tương ứng 1 byte, 2 byte và 3 byte.
1.2.4 Mixcolumns và InvMixColumns
Thao tác Mixcolumns (Hình 1.8) biến đôi độc lập từng cột trong ma trận trạngthái bang một phép nhân đa thức
f (x)a(x) mod n(x)
Hình 1.8 Phép biến đôi MixColumns dưới dang ma trận trạng thái
Mỗi cột trong ma trận trạng thái State có thể xem là một đa thức bậc 3, ví dụcột thứ hai của ma trận viết dưới dạng đa thức là:
F(X) = Sy) X? +9jX” + 92x +9, (1.7)
Da thức trên được nhân với đa thức:
a(x) ={03} x° +{01}x” + {01} x + {02} (1.8)
Trong đó, phép cộng và nhân các hệ số được thực hiện trong trường GF (2°)
Đa thức kết quả có bậc lớn hon 3 (ví dụ hệ số của bậc 6 là {03} sạ, ) Tuy nhiên, ta
chỉ cân sử dụng 4 hệ sô cho giá tri cột mới nên đa thức két qua sẽ được modulo cho
15
Trang 30đa thức n(x) =x" +1 Bốn byte hệ số của x3, x?, x!, x° được thay thế cho bốn byte
ban đầu trong cột
Phép nhân đa thức trên có thé biểu diễn dưới dạng phép nhân ma trận theo
Mục dich của MixColumns: Việc nhân mỗi cột với da thức a(x) và mô-đuno
n(x) nhằm mục dich cho mỗi byte trong cột kết quả đều phụ thuộc vào bốn byte
trong cột ban đầu Thao tác MixColumns kết hợp với ShiftRows đảm bảo rang sau
một vài vòng biến đồi, 128-bit trong kết quả đều phụ thuộc vào tất cả 128-bit ban dau.Điều này tao ra tinh khuếch tán (diffusion) cần thiết cho mã hóa
1.2.5 AddRoundKey
Trong thao tác AddRoundKey, 128-bit của ma trận trạng thái sẽ được XOR với
128 bit của khóa con của từng vòng.
1.2.6 Expand key
Thao tác Expand key có đầu vào là 16 byte (4 từ) của khóa bí mật, và sinh ra
một mảng 44 từ (176 byte) 44 từ này được sử dụng cho 11 vòng mã hóa của AES,
mỗi vòng dùng 4 từ (word).
16
Trang 31Từ bốn từ đầu vào w,w,w„,w,, trong lần lặp đầu tiên thao tác Expand key sinh
ra bốn từ w,w,W,w, , lần lặp thứ hai các từ w,w,w,vww„ sinh ra các tir w,w,wsM,, cứnhư vậy cho đến lần lặp thứ 10 sinh ra bốn từ cuối cùng w,„w,w,„w„„ như Hình 1.10
Trong mỗi lần lặp đề sinh ra 4 từ, từ đầu tiên sinh ra theo quy tắc w =w ,®g
với g = SubWord (RotWord (%2 )) ® Rcon[i/4] Ba từ tiếp theo sinh ra theo quy tắc
w, =w,„€®w,¡ Các hàm RotWord, SubWord và mảng Rcon được thực hiện như sau:
RotWord: Dịch vòng trái một byte Gia sử từ đầu vào có 4 byte là [lạ,b,„b;,b,
thì kết quả của RotWord là [P b;.b;.b; |
Hinh 1.10 Thao tac ExpandKey.
SubWord: Thay thé mỗi byte trong từ dau vào bang cách tra cứu bảng S-Box
trong thao tac SubBytes.
Reon: La một mảng hang số Mang nay gồm 10 từ ứng với 10 vòng AES Bốn
byte của một phần tử Rcon| j] là (Rc[].0.0.0) với RC[] là mảng 10 byte như sau:
RCI]| ! |2 | 4 | 8 |10|20|40|80|1B|36
(RC[/]= RC[¡~1]*2) với phép nhân thực hiện trong GF (2°)
17
Trang 32Mục đích của Expand key là dùng dé chống lại known-plaintext attack.
-_ Biết một số bit của khóa hay khóa con cũng không thé tính các bit còn
lại.
- _ Không thé tính ngược: biết một khóa con cũng không thé tính lại các
khóa con trước đó.
- Tính khuếch tán: một bit của khóa chính tác động lên tat cả các bit của
các khóa con.
1.3 Các phương án thực thi AES bằng phần cứng
Các thuật toán mã hóa bảo mật có thé được thực hiện trên cả phần mềm vàphần cứng Việc triển khai phần mềm được thiết kế và viết bằng các ngôn ngữ lậptrình, chăng hạn như C, C ++, Java và hợp ngữ, được nhúng trên bộ vi xử lý đa năng,
bộ xử lý tín hiệu số (DSP) hoặc trên các thẻ thông minh Việc triển khai phần cứngđược thiết kế và viết bằng các ngôn ngữ mô tả phần cứng, chang hạn như VHDL và
Verilog Có hai cách tiếp cận để thực thi các thiết kế này là công nghệ ASIC
(Application-Specific Integrated Circuits) và công nghệ FPGA (Field Programmable
Gate Array).
Các vi mạch tích hợp chuyên dung (ASIC) được thiết kế theo phương pháp từ
mô tả hành vi đến bé trí vật lý và sau đó được gửi đi dé chế tao tại các nhà máy sảnxuất bán dẫn Trong khi đó, các chip FPGA có thể được mua sẵn trên thị trường, cóthê tái lập trình để thực hiện các chức năng khác nhau Phần tử chính của FPGA làcác khối 16-gic Khối 16-gic được cau thành từ LUT (Look up table) và các flip-flop.LUT là khối 16-gic có thể thực hiện bat kỳ hàm lô-gic nào; kết quả của hàm này tùy
vào mục đích mà gửi ra ngoài khối lô-gic trực tiếp hay thông qua phần tử nhớ
flip-flop Mạng liên kết trong FPGA được cấu thành từ các đường kết nối theo hai phương
ngang và doc Các đường kết nối được nối với nhau thông qua các khối chuyển mạch
lập trình được Ngoài ra, FPGA hiện nay còn được nhúng thêm các thành phần nhưkhối bộ nhớ, bộ nhân, bộ nhân-bộ tích lũy và thậm chí cả lõi vi xử lý Các khối đầuvào/đầu ra có thé tái cấu hình cung cấp các giao diện dé giao tiếp với thé giới bên
ngoài.
18
Trang 33Bảng 1.1 so sánh các đặc điểm của việc thực thi các thuật toán mã hóa trêncông nghệ ASIC và FPGA (phần cứng) và bộ vi xử lý (phần mềm) Các đặc tính hiệunăng của ASIC và FPGA gần như giống hệt nhau, được thể hiện qua nhóm tính năngđầu tiên và khác biệt đáng kể so với hiệu năng của các bộ vi xử lý đa năng Cả ASIC
và FPGA đều có thé tận dụng quá trình xử lý song song, kỹ thuật xử lý đường ống và
hoạt động trên các từ có kích thước tùy ý Trong khi đó, với các bộ vi xử lý đa năng
quá trình xử lý song song và đường ống bị giới hạn bởi số lượng và cấu trúc bên trong
của các đơn vị chức năng của bộ vi xử lý và mức độ song song của lệnh.
Sự khác biệt cơ bản giữa ASIC và FPGA chính là hiệu năng; tốc độ của FPGAthấp hơn do trễ của các mạch tái cấu hình Kết quả là bất kỳ một thiết kế nào đượcthực hiện trên FPGA cũng chậm hơn so với được thực hiện trên ASIC, gia sử rằng cảhai mạch tích hợp đều được chế tạo trên một công nghệ bán dẫn giống nhau [23]
Bang 1.1 Các đặc tính khi thực hiện mã hóa trên ASIC, FPGA và vi xử lý [23].
ASIC FPGA Vi xử lý
Xử lý song song Có Có Hạn chế
Kiến trúc đường ống Có Có Hạn chế Tốc độ Rất nhanh Nhanh Trung bình
Khả năng lập trình lại Không Có Có
Chống giả mạo Tốt Hạn chê Yếu
Kiểm soát truy cập khóa Tốt Trung bình Yêu
Ngôn ngữ phát triển VHDL, VEDL, C, C+, Java,Verilog HDL | Verilog HDL assembly
Thời gian thiết kế Dài Trung bình Ngắn
Công cụ thiết kế Rat dat Dat Khong dat
Bảo trì va cập nhật Dat Không dat Khong dat
Các tinh năng chung của FPGA và bộ vi xử lý là chúng đều có thé dé dang nạp
lại chương trình dé thực hiện một thuật toán khác Nhược điểm của tính năng này là
khả năng chống giả mạo hạn chế; thông tin cấu hình của FPGA, ít nhất về lý thuyết,
có thể bị sửa đổi bởi người dùng trái phép Trên thực tế, thông tin cau hình của FPGAthường được tải xuống trong quá trình khởi tạo từ bộ nhớ chỉ đọc, chang hạn nhưEPROM, không thê dễ dàng giả mạo, ít nhất là từ xa Kiểm soát truy cập vào các
19
Trang 34khóa mật mã trong FPGA cũng mạnh hơn trong phần mềm, nhưng yếu hơn trong
ASIC.
Quá trình phát triển trong cả hai cách tiếp cận triển khai phan cứng là rat giốngnhau: mạch được mô tả bằng ngôn ngữ mô tả phần cứng, kiểm chứng bang trình mô
phỏng mạch kỹ thuật số, sau đó được kiểm tra bằng bo mạch mẫu Sự khác biệt cơ
bản giữa FPGA và ASIC là hướng tiếp cận sử dụng công nghệ FPGA không yêu cầu
thiết kế vật lý, chế tạo và kiểm tra các khuyết tật vật lý Do đó, chu ky thiết kế ngắn
hon đáng ké và các công cụ thiết kế và thử nghiệm ít tốn kém hơn Điểm tương đồnggiữa FPGA và phần mềm là khả năng bảo trì và nâng cấp từ xa, dựa trên các bản cập
nhật.
Mặc dù công nghệ ASIC có chu kỳ thiết kế dài hơn và chỉ phí thử nghiệm ban
đầu tốn kém hơn nhưng lại đạt được tốc độ cao hơn và mức độ bảo mật tốt hơn Do
đó phát triển các bộ mã hóa trên công nghệ ASIC vẫn được quan tâm nghiên cứu
1.4 Các tham số đánh giá thiết kế phần cứng AES
Việc thực thi các thuật toán mã hóa bằng phần cứng có thê được mô tả băngcách sử dụng một số tham số hiệu năng Dưới đây là các định nghĩa về các tham số
chính và các công thức về sự phụ thuộc lần nhau giữa các tham sô này.
1.4.1 Thông lượng và độ trễ
Thông lượng (7?) mã hóa/g1ải mã được tính bằng số bit được mã hóa/ giải mã
trong một đơn vi thời gian Don vi của thông lượng là Mbit/s hoặc Gbit/s Độ trễ (Lt)
mã hóa/giải mã là thời gian cần thiết để mã hóa/giải mã một khối bản rõ
(plaintext)/ban mã (ciphertext), đơn vi của độ trễ là ns (nano giây) Độ trễ và Thông
lượng mã hóa/giải mã có liên quan với nhau bởi công thức:
Trong các ứng dụng có lượng lớn dữ liệu được mã hóa hoặc giải mã, thông
lượng chính là tổng thời gian để mã hóa/giải mã lượng dữ liệu đó và nó là đại lượng
20
Trang 35đặc trưng nhất để đo lường tốc độ bộ mã hóa Trong các ứng dụng chỉ có lượng nhỏcác bản rõ hoặc bản mã cần xử lý thì tổng thời gian này phụ thuộc vào cả thông lượng
- Giá thành: Diện tích của một mạch tích hợp là yếu tố chính để xác định giá
thành Thông thường, chi phí của một mạch tích hợp tỷ lệ thuận với diện tích thực thi
mạch đó Tuy nhiên sự phụ thuộc này không phải lúc nào cũng chính xác, đặc biệt
cũng cần tính đến chi phí đóng gói, được xác định bởi số lượng cổng đầu vào và đầu
ra của mạch.
- Giới hạn về diện tích tối đa: Trong một số phần cứng nhất định, tồn tại một
giới hạn về diện tích tối đa của một bộ mã hóa Giới hạn này có thé do chi phí, công
nghệ chế tạo sẵn có, mức tiêu thụ điện năng hoặc bat ky su két hop nao của các yếu
tố này Ví dụ, trong thé thông minh và bộ vi điều khién, cả chi phí và điện năng tiêu
thụ đều giới hạn diện tích của các bộ mã hóa được nhúng Với công nghệ FPGA, diện
tích bị giới hạn bởi công nghệ chế tạo sẵn có và giá thành của chip Với công nghệ
ASIC, diện tích cho thực thi bộ mã hóa được tính theo đơn vi ym’ Hai đại lượng liên
quan là số lượng transitor bán dẫn và số lượng công lô-gic Giá trị của hai đại lượng
trên có tương quan chặt chẽ Các đại lượng này được tính toán bởi các công cụ hỗ trợ
thiết kế sử dụng trong tổng hợp ASIC Trong tông hợp lô-gic, các giá trị này là mộthàm của thư viện cell chuẩn (Standard Cell Library)
Trong triển khai FPGA, các phép đo kích thước mach duy nhất được các công
cụ thiết kế hỗ trợ bởi máy tính (Computer-Aided Design — CAD) báo cáo là số lượngkhối lô-gic cơ bản và số lượng công lô-gic tương đương Trong số hai phép đo này,
số lượng khối lô-gic cơ bản có thé xác định xấp xi diện tích mạch chính xác hơn Việc
đo và so sánh diện tích mạch trong FPGA cũng phức tạp hơn do sự tỒn tại của các
khối 16-gic nhúng và bộ nhớ nhúng.
21
Trang 361.4.3 Công suất tiêu thụ của mạch tích hợp
Công suất tiêu thụ của một vi mạch bao gồm hai thành phan chính: công suấttiêu thụ động (dynamic power) và công suất tiêu thụ tĩnh (static power) [18]
Tổng công suất = (Pchuyén mach + Pngắn mach) + Pro ri (1.11)Trong đó, công suất tiêu thụ động là công suất mà vi mạch đó tiêu thụ khi các tín hiệutrong mạch có sự thay đôi về giá trị (thay đổi mức 16-gic) Có nhiều nguyên nhân gây
ra công suất tiêu thụ động trên một vi mạch Nguyên nhân đầu tiên và cũng là nguyênnhân chính đó là công suất tiêu thụ gây ra bởi sự phóng-nạp trên tụ điện tải ở đầu racủa một công lô-gic CMOS khi có sự thay đổi mức lô-gic của tín hiệu trong mạch
Công suất này được gọi là công suất chuyên mach (switching power) Bên cạnh công
suất chuyên mạch thì một nguyên nhân khác ảnh hưởng đến công suất tiêu thụ độngtrên vi mạch đó là công suất ngắn mạch Công suất ngắn mạch là công suất tiêu thụcủa cong lô-gic khi xuất hiện dong điện ngắn mạch trên cổng đó tại thời điểm cả hailoại transitor bán dẫn PMOS và NMOS đồng thời mở
Công suất chuyên mạch (switching power), là năng lượng cần có cho việc nạp
hoặc xả trên tụ điện ở tải ngõ ra (load capacitance).
Pchuyên mach = AXf% Copp X Vad? (1.12)
Trong đó a là số bit chuyển mạch, ƒ là tan số chuyền mach, Ce là điện dung hiệu dụng
và Vaa là điện áp nguồn
Công suất ngắn mach (short circuit power) là năng lượng tiêu hao do dòngngắn mạch từ nguồn (source) đến đất (ground) xuất hiện trong khi các CMOS chuyền
trạng thái.
ngắn mach = IscX Vaa Xf (1.13)
Trong đó, /„ là dòng điện ngăn mach trong quá trình chuyển mach, Vaa là điện ápnguồn và ƒ là tần số chuyên mạch
Trong một vi mạch, công suất tiêu thụ tĩnh (công suất rò ri) là công suất mà vimạch đó tiêu thụ khi được cấp nguồn mặc dù các tín hiệu trong mạch không có sựthay đôi về mặt giá trị Nguyên nhân chính gây ra công suất tiêu thu tĩnh đó là do sựxuất hiện các dòng điện rò ở các transitor bán dẫn Cùng với sự phát triển của công
nghệ bán dan thì kích thước của transitor bán dẫn ngày càng được thu nhỏ lại Tuy
22
Trang 37nhiên, điều này lại làm cho dòng rò trên transitor bán dẫn tăng lên và đồng nghĩa vớiviệc công suất tiêu thụ tĩnh ngày càng tăng Công suất tiêu thụ tĩnh là một hàm củađiện áp cung cấp Vua, điện áp ngưỡng chuyển mach W„ và kích thước transitor bán
dẫn.
Pro ri = f(Vaa, Vin, W/L) (1.14)
Trong đó, Vaa là điện áp nguồn, V„ là điện áp ngưỡng, W và L là kích thước transitor
bán dân.
1.5 Các công trình thực thi chuẩn mã hóa AES bằng phần cứng
Các kiến trúc phần cứng thực thi thuật toán Rijndael đầu tiên đã được thực
hiện trong quá trình đánh giá và lựa chọn các ứng viên cho AES Các nhóm nghiên
cứu của các trường đại học đã đóng góp những triển khai đầu tiên của AES dựa trên
FPGA [19], [20] Nhóm Cơ quan An ninh Quốc gia Hoa Ky và các nhóm công nghiệp
đã cung cấp các triển khai đầu tiên thực thi trên công nghệ ASIC [21]
Các nhà nghiên cứu đã nỗ lực tập trung phát triển các kiến trúc thực thi phần
cứng cho AES Quá trình này diễn ra theo một số hướng chính như sau:
- Hướng thứ nhất là phát triển các kiến trúc có thông lượng cao, sử dụng các
kiến trúc đường ống cho chế độ không hỏi tiếp, kiến trúc đa lõi Hướng này
dẫn đến sự phát triển của các triển khai AES hoạt động với thông lượnghàng chục Gb/s Những kiến trúc này mang lại hiệu năng cao nhưng chi phí
diện tích lớn và tiêu thụ nhiều năng lượng
- Hướng thứ hai là phát triển các kiến trúc nhỏ gon cho AES, được tối ưu hóa
về diện tích thực thi Nỗ lực này đã dẫn đến sự xuất hiện của các kiến trúc
có đường dt liệu 64-, 32- và thậm chí 8-bit Nhược điểm của các kiến trúcnày là thông lượng thấp vì sử dụng các vòng lặp
- Hướng thứ ba là tối ưu hóa các phép biến đôi của AES, bao gồm thực thi
phép biến đổi SubBytes bằng các công lô-gic dé giảm tài nguyên phan cứng
và tôi ưu hóa các phép biên đôi MixColumns và InvMixColumns.
23
Trang 381.5.1 Kiến trúc thông lượng cao
Các kiến trúc mở vòng lặp hoàn toàn [22], [23], mở vòng lặp từng phần [24]
được sử dụng trong thực thi AES bằng phần cứng dé tăng thông lượng, tăng thông
lượng so với với diện tích (hiệu quả sử dụng điện tích) và giảm tài nguyên phan cứng
Các kỹ thuật đường ống bên ngoài và bên trong các vòng mã hóa cũng được sử dụng
dé tăng tần số hoạt động và thông lượng [25], [26]
Bảng 1.2 Tổng hợp các thiết kế AES có thông lượng cao
SÁU Ấ do - R Toc độ | Độ trễ Thông lượng
Thiêt kê Nên tang Kỹ thuật (MHz) (Cycle) (Gbps)
[23] XC5VLX110T|Dudng ống toàn phan, - - 41,31
2016 bén trong va ngoai
vòng mã hóa
[30] Virtex Đường ông và mã 314 - 482
2015 Ultrascale |hóa song song trên
XCVU095_ trường GF(2!)
sử dụng 8 lõi AES
[31] Zynq xc7z020 | Đường ống toàn 593,12 - 75,9
2015 phan, S-Box chi str
dụng cổng lô-gic
[32] Virtex-6 |5 tầng đường ông 617,627 - 79
2017 XC6VLX240T toàn phan, S-Box chi
Trang 39giả trình bày một thiết kế phần cứng hiệu quả cho AES sử dụng kiến trúc đường ốngsong song tốc độ cao Trong [29], các tác giả thiết kế một kiến trúc VLSI mới dénhúng bốn tang đường ống vào S-Box dé thực hiện AES.
Một trong những cách tiếp cận phô biến dé nâng cao hiệu năng trong thực thi
AES là sử dụng kiến trúc AES đa lõi Pammu và cộng sự [25] tận dụng Bộ xử lý đalõi (AMP-MP) dé đạt được thông lượng cao trong khi vẫn duy tri tính bảo mật củaAES-CCM AMP-MP được triển khai trên bộ vi xử lý công nghệ CMOS 65nm với
kiến trúc 9 lõi không đồng bộ 8 bit Các tác giả trong [30] cung cấp một kỹ thuật song
song mới cho AES ở chế độ Galois/Counter Mode (AES-GCM) Phương pháp này
cho phép tạo ra các lõi mã hóa song song với khóa riêng biệt Công trình [26] mô tả
kỹ thuật triển khai AES trên các thiết bi phần cứng có thé cau hình lại Các tác giả đãchứng minh cách vượt qua giới hạn tốc độ 100 Gbps của FPGA bằng cách sử dụngbốn lõi AES và bốn tang đường ống Thiết kế GCM cuối cùng là 44 tầng đường ống,
cung cấp 119 Gbps trên chip Xilinx Virtex-5 Các công trình [31]-[34] sử dụng kỹ
thuật đường ống toàn phần đề tăng thông lượng Mặt khác công trình [31], [32] kếthợp với việc thực thi bang S-Box chi sử dụng các công lô-gic để giảm tài nguyênphần cứng Công trình [34] thực thi bộ mã hóa và giải mã trên cùng một chip để sửdụng chung các tài nguyên phan cứng Bảng 1.3 tong hợp một số công trình thực thi
AES có thông lượng cao.
1.5.2 Các thiết kế công suất thấp
Tiêu chí công suất thấp đã trở thành yếu tô ngày càng quan trọng và được dùng
dé so sánh giữa các chip cùng phân khúc thị trường Đặc biệt, đối với các ứng dụngdùng pin, thiết bị đi động, thiết bị dùng nguồn năng lượng từ tín hiệu không dây nhưthẻ thanh toán không tiếp xúc, thẻ nhận dạng qua tần số vô tuyến thì việc tiêu thụcông suất thấp đến cực thấp (ultra-low power) hay siêu thấp (extreme-low power) trở
thành yêu cầu tối quan trọng [35]
Việc thiết kế công suất thấp cần được cân bằng với hiệu quả xử lý Điều này
dẫn đến phạm vi ứng dụng các kỹ thuật công suất thấp trong chip sẽ khác nhau Dé
giảm công suât trong một vi mạch, các kỹ thuật tôi ưu công suât cân được áp dụng
25
Trang 40đồng bộ từ khâu thiết kế lô-gic (front-end), đến khâu thiết kế vật lý (back-end) vàcông nghệ sử dụng Một số phương pháp giảm công suất tiêu thụ như sau:
- Kỹ thuật ngắt xung nhịp đồng hồ (clock gating): Day là một kỹ thuật phốbiến giúp giảm công suất động Nguyên lý của kỹ thuật này là ngắt xung nhịp trêncác flip-flop khi chúng không hoạt động hoặc không cần cập nhật giá trị mới Trongthiết kế thông thường, một số lượng lớn các flip-flop thường chỉ cập nhật giá trị mớitrong một điều kiện nhất định Vì vậy, khi flip-flop không cập nhật giá trị mới, xungnhịp trên flip-flop có thé được tắt Lúc này, flip-flop van được cấp nguồn và giữ
nguyên giá tri hiện tai.
- Kỹ thuật ngắt nguồn nuôi (power gating): Power gating là kỹ thuật ngất
nguồn cấp các phan tử lô-gic không sử dụng trong một vi mạch Kỹ thuật này giúp
giảm công suất tiêu thụ trên các mạch 16-gic một cách triệt dé nhất nhưng việc thựchiện nhiều phức tạp hơn các kỹ thuật khác Dé ngắt nguồn một thành phan lô-gic, các
PMOS có điện áp ngưỡng cao được mắc giữa nguồn Vad và thành phan lô-gic, NMOS
có điện áp ngưỡng cao được mắc giữa đất V;; và thành phan lô-gic (trong transistor
bán dẫn hiệu ứng trường N-MOSFET V„ là điện áp chênh giữa cực công (gate) và
cực nguồn (source) tối thiêu cần thiết dé tạo đường dẫn giữa cực nguồn và cực máng
(drain) Điều khiến tắt/mở các CMOS này sẽ giúp tắt/mở nguồn thành phần lô-gic
Trong thực tế, việc ngắt nguồn có thé chỉ cần dùng PMOS mắc giữa nguồn Vaa vàthành phan 16-gic hoặc chi ding NMOS hoặc dùng cả hai
- Phân chia miền xung nhịp đồng hồ (Multi clock domain): Phân chia miềnclock là kỹ thuật sử dụng nhiều nguồn xung nhịp, có thể đồng bộ hoặc bất đồng bộ,
có tần số khác nhau trong một vi mạch Trong một vi mạch, không phải tất cả cácthành phần đều cần hoạt động với tần số cao nhất Mỗi thành phần phải được xem xéttrên hoạt động tông thé và ứng dụng dé quyết định tần số hoạt động thực tế Tan sốcủa xung nhip chi cần được cấp đủ dé một thành phần chức năng đảm bảo tốc độ xử
lý với các ứng dụng yêu cầu Bên cạnh đó, trong một thành phần chức năng (một lõi
IP, một khối xử lý), tất cả các giao tiếp và lô-gic không cần phải hoạt động cùng mộttần số Tùy vào thực tế ứng dụng, mỗi phan lô-gic cũng có thé được cấp một tần số
khác nhau.
26