TP CHÍ KHOA HC VÀ CÔNG NGHỆ, Trường Đại hc Khoa học, ĐH Huế
Tp 23, S 1 (2023)
139
NGHIÊN CU VÀ THC THI B MÃ HÓA BO MT
THEO THUT GII COMET VI KHI 128BIT
Lê Văn Thanh Vũ*, Trương Minh Nht
Khoa Điện, Đin t & CNVL, Trường Đại hc Khoa học, Đại hc Huế
*Email: vulvt@hueuni.edu.vn
Ngày nhn bài: 21/8/2023; ngày hoàn thành phn bin: 28/8/2023; ngày duyệt đăng: 4/12/2023
TÓM TT
IoT là mt xu thế phát triển vượt tri của lĩnh vực điện t có ph ng dng rng ri
tri khắp các lĩnh vc kinh tế - hi. Nghiên cu bo mt cho các h thng IoT s
góp phần gia tăng tính khả thi thúc đẩy kh năng hiện thc hóa các h thống điện
t c lớn đáp ng tốt hơn c nhu cầu phát trin ca hi. Gii thut hóa
COMET vi trng tâm khi mã hóa xon theo chế đ đếm không dùng SBOX đ
tối ưu tài nguyên trong quá trình thực thi đồng thi nâng cao kh năng bảo mt
thông tin. Trong i o này tp trung phân tích,thc thi gii thut COMET đã
thu được kết qu đánh giá bước đầu đáng tin cậy. Đồng thi kết qu tng hp ca
thiết kế đã chứng minh đưc kh ng ng dng ca gii thut vào các thiết kế h
thng IoT là hp lý.
T khóa: Bo mt, IoT, LWC LightWeights Cryptographic.
1. M ĐẦU
Xu thế IoT đã và đang là ng phát triển được quan tâm hàng đầu của lĩnh vực
đin t và công ngh hiện đại. Kh năng ng dng linh hot hiu qu trong đa lĩnh
vc t sn xut nông nghip, công nghiệp đến y tếc quân s. Đồng thời IoT cũng là
điểm đầu ca ngun d liệu đa dạng và rt quan trng trong xã hi hiện đại, ngun d
liu này cần đưc bo v tăng tính cậy ca tt c các h thng IoT. Tuy nhiên, h
thng IoT lại thường s dụng các điểm nút có các vi x hoặc vi điều khin ti gin có
nhiu hn chế v tài nguyên. Điều này to nên ràng buc khó gii quyết được trn vn
bài toán bo mt trong các h thng IoT.
Công trình này được phát trin trong định hướng s dng các gii thut mã hóa
hiu qu cao nhưng lại yêu cu ít tài nguyên ca h thng LWC (Lightweight
Cryptography) [1]. Gii thuật COMET được phát trin trên nn tng xon trn d liu
để to bn tin mã hóa gi ngẫu nhiên nhưng lại không s dụng nguyên lý SBOX đã phổ
Nghiên cu và thc thi b mã hóa bo mt theo thut gii COMET vi khi 128bit
140
biến trong định hướng mã hóa PSA đã có.
Bài báo này tp trung vào kh năng chuyển đổi gii thut COMET đã được phát
trin trên nn mã ngun C++ của NIST đã công bố thành kiến trúc kh thi trên nn công
ngh FPGA và có th phát trin thành ASIC.
2. GII THUT MÃ HÓA COMET
Gii thuật hóa COMET được đưa vào các ng tuyển chn tiêu chun hóa
cho các h thng IoT ca NIST đã mt minh chng sống động cho s tin cy và hiu
qu ca thut toán này. Thut toán hóa COMET (Counter Mode Encryption with
authentication Tag) s kết hp gia k thut xon d liu vi th xác thực để to ra
một cơ chếhóa an toàn bo v các hoạt động truyn tin [2] [3] [3]. COMET s dng
chế độ đếm để hóa thông qua vic xon khóa và d liu liên kết to nên mt chui
bit gi ngu nhiên và sau đó đưc XOR vi lung bit ca bn tin để to nên bn tin
hóa. Th xác thc là một đột phá quan trng ca thut toán COMET, th xác thc s
tính quyết định trong quá trình mã hóa và giải mã vì đây chính tng khóa cui cùng
để phía giải xác định độ tin cy của thông tin được lan truyn. Toàn b quá trình
thc hin mã hóa và gii mã ca thuật toán COMET được mô t như trong Hình 1.
Hình 1: Nguyên lý mã hóa và gii mã COMET [4]
TP CHÍ KHOA HC VÀ CÔNG NGHỆ, Trường Đại hc Khoa học, ĐH Huế
Tp 23, S 1 (2023)
141
Các ưu điểm ni tri ca COMET:
Bo mật: COMET đảm bo tính bo mt ca d liu bng cách hóa d liu
bng k thut mã hóa Chế độ truy cp.
Tính toàn vn: Các th xác thực đảm bo tính toàn vn ca d liu, vì bt k sa
đổi nào trong quá trình truyn s dẫn đến vic th không khp khi xác minh.
Hiu qu: Chế độ hóa Counter Mode ca COMET hiu qu đối vi các tp
d liu ln vì nó cho phép mã hóa và gii mã song song.
Không t chối: Cơ chế xác thc có th cung cp bng chng cho thy d liu có
ngun gc t người gi.
Giao tiếp an toàn: COMET phù hợp để liên lc an toàn qua các mạng không đáng
tin cậy, vì nó ngăn chặn vic nghe lén, gi mo và hng d liu.
Điu quan trng cần lưu ý mặc COMET cung cấp các tính năng bo mt
mnh mẽ, nhưng hiệu qu ca ph thuc vào vic triển khai đúng cách, quản
lý khóa và tuân th các phương pháp hay nhất v bo mt.
T nguyên hóa ca gii thut COMET, ti công trình [5] đã thc hiện được
khi mã hóa trng tâm trên nn tng CHISEL, là mt công c kết hp vi ngôn ng
t bc cao. Trong bài báo này chúng tôi tiếp tc phát trin hoàn thin toàn b chc
năng hóa của gii thut COMET bng cách s dng trc tiếp ngôn ng t Verilog
và công c Quartus h tr tng hp lên KIT DE2-115.
3. KIẾN TRÚC Đ XUT CHO KHI MÃ HÓA
Gii thut COMET một hướng phát trin ca nhóm các gii thut mt mã hóa
khóa công khai PSA vn rất được ph biến trong lĩnh vực công ngh thông tin, và ni
bt vn thut giải AES đã đang được ng dng cho mng toàn cu Internet. Các
gii thut RSA vn ch yếu s dng các khi xáo trn thông tin nhm ngu nhiên hóa
để bo mt thông tin vn cn rt nhiều tài nguyên tính toán. COMET được phát trin
theo nguyên lý hn chế tính toán mà tp trung vào hoạt động xon trộn để ngu nhiên
a d liu. Do vy, gii thut COMET s không yêu cu nhiu tài nguyên ca h thng
và phù hp vi các ng dng nh gn ca xu thế IoT hiện đại.
3.1. Mô t kiến trúc chung
Qua quá trình tìm hiu và th nghim c th vi b mã hóa COMET 128bit trên
nguồn C++ đã được chun hóa, gii thuật hóa COMET được chuyn hóa thành
gii pháp cng hóa thông qua ngôn ng t phn cng Verilog. Trong Hình 2 mô t
nguyên lý t chc kiến trúc đề xut cho b mã hóa để thc hin thut gii COMET trên
nn tảng FPGA và cũng có thể ng đến kh ng tổng hp kh thi trên ASIC.
Nghiên cu và thc thi b mã hóa bo mt theo thut gii COMET vi khi 128bit
142
INIT_128 PROC_AD
PROC_PT
PROC_TAG
128
5
128
128
5
PERMUTE
PERMUTE 128
128
128
128
i_N
i_K
o_Z
o_Y
i_Y
i_Z
i_ad
i_adlen
i_Y
i_Z
i_ad
i_mlen
o_Y
o_Z
o_Y
o_Z
PERMUTE
128
5
128
5
128
CTRL
COMET-ENCRYPT
128 128
128
6ADD
o_valid
o_ready
o_ct
o_tag
o_clen
rst_n
clk
i_ad
i_adlen
i_valid
i_ready
i_nonce
i_key
i_m
i_mlen
Hình 2: Kiến trúc đ xut cho b mã hóa
Trong kiến trúc đề xut này b hóa vẫn được chia thành bn khối con cơ bản
khi thiết lp INIT128, khi x d liu liên kết PROC_AD, khi hóa bng tin
PROC_PT khi to TAG. Tuy nhiên, trong quá trình cng hóa gii thuật được đề xut
t phn mm không th linh hoạt tương đồng hoàn toàn cn ci biến thích ng
vi nguyên lý thiết kế vi mch. Do vy, bài báo này ch tp trung vào hoạt động mã hóa
vi các khi tin không lớn hơn 128bit và được lượng hóa theo s ng 1byte=8bit.
3.2. Mô t chi tiết
Thut toán hóa COMET ly trng tâm khi hóa BLOCK_CIPHER
chức năng xoắn d liệu đầu vào để to khi d liu ngẫu nhiên cùng kích thước nhm
tăng tính bảo mt. Trong công trình [5] đã đề xut chi tiết nhưng bng ngôn ng CHISEL
gn vi các ngôn ng bậc cao nên chưa phù hợp vi nn tảng FPGA cũng như khả năng
tng hp kim thc trên các công c dành cho lĩnh vực thiết kế vi mch. Trong bài
báo này chúng tôi phát trin li khi hóa này t đó xây dựng đầy đủ các khi chc
năng để tng hp thành mt b mã hóa COMET hoàn chnh. Trong Hình 3 mô t c th
kiến trúc chức năng thiết lp d liệu đầu vào t khóa công khai KEY khi NONCE
để to các luồng bit đầu vào mã hóa.
c
BLOCK_CIPHER
128
128
rst_n
clk
i_valid
i_ready
i_N
i_K
o_valid
o_ready
o_Z
o_Y
rst_n
clk
i_valid
i_ready
i_pt
i_key
o_valid
o_ready
o_ct
Hình 3: Kiến trúc thc hin chức năng thiết lp chui d liệu đầu vào b mã hóa
TP CHÍ KHOA HC VÀ CÔNG NGHỆ, Trường Đại hc Khoa học, ĐH Huế
Tp 23, S 1 (2023)
143
T luồng bit đầu vào ca khi thiết lp s đưc xon trn tiếp vi d liu liên
kết để tăng tính ngẫu nhiên hóa ca d liu thông qua chức năng xử d liu liên kết
PROC_AD như trong Hình 4.
PROC_AD
BLOCK_CIPHER
128
128
rst_n
clk
i_valid
i_ready
i_X
i_Z
o_valid
o_ready
o_Y
o_Z
rst_n
clk
i_valid
i_ready
i_pt
i_key
o_valid
o_ready
o_ct
PERMUTE
UPDATE B=0
i_ad
i_adlen
128
128
PARSE
128
Hình 4: Kiến trúc đề xut cho khi x lý d liu liên kết.
PROC_PT
BLOCK_CIPHER
128
128
rst_n
clk
i_valid
i_ready
i_X
i_Z
o_valid
o_ready
o_Y
o_Z
rst_n
clk
i_valid
i_ready
i_pt
i_key
o_valid
o_ready
o_ct
PERMUTE
UPDATE B=1
i_ad
i_adlen
128
128
PARSE
128
o_O
128
X
Hình 5: Kiến trúc chi tiết ca khi chức năng xử lý d liu bn tin.
3.3. Kết qu tng hp bng công c Quartus
Thông qua quá trình phân tích chức năng cụ th b hóa được thc thi bng
ngôn ng thiết kế Verilog kết hp vi công c Quartus để tiến hành mô phng và kim
thc c th. Trong Hình 6 kết qu tng hp thc tế ca b hóa COMET 128bit t
công c RTL viewer.