1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận án tiến sĩ Kỹ thuật điện tử: Giải pháp kiến trúc phần cứng bảo mật AES hiệu quả cao, công suất thấp dùng cho các thiết bị internet vạn vật

148 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Trang 1

Đồng Phạm Khôi

GIẢI PHÁP KIÊN TRÚC PHAN CỨNG BẢO MAT AESHIỆ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

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 3

Lờ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 4

Lờ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 5

MỤC LỤC Trang

LO1 CaM 0 0n iLOT 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 1

Chươ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ư 131.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 161.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 - 231.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 291.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 6

1.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 36

1.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 — _ 402.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 422.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 532.4.2 SIiftMatrix 0 54“60009 0n 552.4.4 AddRoundKey + c1 TH TH TH ng 582.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 723.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 7

3.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 894.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 8

Danh mục các ký hiệu và chữ viet tắt

AERAddress-Event-RepresentationBié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 AESCore

ANN Artificial Neural Network Mang no-ron nhan tao

ASIC Application-Specific Integrated Vi mach tich hop chuyén dung

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

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 9

Từ 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 LIFLUT 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 KyPE 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

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 10

Danh 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ảnBs 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ầnLtfp Độ 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 11

Danh 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ờ 81Bang 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 12

Danh 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 11Hì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 13

Hì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 107Hình 4.12 Độ chính xác của ANN và SNN sử dụng mô hình 8-5-[ 1 109

XI

Trang 14

Hì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 15

MO 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ớnmà 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àycó 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 16

giá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ù

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ảimã 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ếtkế 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 19

nơ-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ượngmã 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õimã 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 21

Chươ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 22

việ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 23

ngườ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 25

giữ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 10Round 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 26

ngượ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 27

củ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”

} } } 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 28

1 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.b | [1 000 1 1 1 17h] [1]

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 đượcdị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ới128 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 31

Từ bốn từ đầu vào w,w,w„,w,, trong lần lặp đầu tiên thao tác Expand key sinhra 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; |

If ¡mod 4 = 0:

g = SubWord(RotWord(wi-1)) ® Rcon[i/4]Wi=Wi-4® g

If ¡mod 4 #0:

Wi = Wi-4 ® Wi-1

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 32

Mụ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

- _ 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

18

Trang 33

Bả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 34

khóa mật mã trong FPGA cũng mạnh hơn trong phần mềm, nhưng yếu hơn trong

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

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ôngcụ 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 36

1.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âyra 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 37

nhiê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

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óavề 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úccó đườ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 38

1.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ônglượ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 ngoaivòng mã hóa

[30] Virtex Đường ông và mã 314 - 482

2015 Ultrascale |hóa song song trên

[32] Virtex-6 |5 tầng đường ông 617,627 - 79

2017 XC6VLX240T toàn phan, S-Box chi

[34] XC6VLX240T Đường ống toàn phần 611,06 55 78,22

2016 bên trong và ngoàivòng mã hóa chia sẻtài nguyên mã

Trang 39

giả 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

Ngày đăng: 29/06/2024, 13:38

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w