Tài liệu Thiết kế lõi phần cứng mã hóa xác thực Aes-Gcm hiệu năng cao trên công nghệ cmos 90NM: Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 54 , 04 – 2018
75
THIẾT KẾ LÕI PHẦN CỨNG MÃ HÓA XÁC THỰC AES-GCM
HIỆU NĂNG CAO TRÊN CÔNG NGHỆ CMOS 90nm
Nguyễn Anh Thái*, Nguyễn Văn Tình, Hoàng Văn Phúc, Phạm Tuấn Giáo
Tóm tắt: Bài báo trình bày về thiết kế phần cứng lõi mã hóa xác thực AES-
GCM trên ASIC có hiệu năng cao về sử dụng thông lượng. Lõi AES-GCM đề xuất
dùng kiến trúc AES đường ống hoàn toàn và thuật toán GCM nhiều nhánh song
song để tăng thông lượng. Đồng thời, để giảm thiểu tài nguyên phần cứng sử
dụng và mức công suất tiêu thụ, thiết kế đã sử dụng thuật toán nhân Karatsuba-
Ofman trong trường Galois và kỹ thuật bật tắt tín hiệu đồng hồ. Kết quả hiện thực
hóa với thư viện chuẩn công nghệ CMOS 90nm cho thấy lõi mã hóa xác thực đề
xuất đạt hiệu năng cao hơn, tính theo tỉ lệ giữa thông lượng và mức sử dụng tài
nguyên phần cứng, nhưng vẫn đảm bảo được mức tiêu thụ công suất tương đương
so với các công trình khác.
Từ khóa: AES, G...
8 trang |
Chia sẻ: quangot475 | Lượt xem: 431 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Thiết kế lõi phần cứng mã hóa xác thực Aes-Gcm hiệu năng cao trên công nghệ cmos 90NM, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 54 , 04 – 2018
75
THIẾT KẾ LÕI PHẦN CỨNG MÃ HÓA XÁC THỰC AES-GCM
HIỆU NĂNG CAO TRÊN CÔNG NGHỆ CMOS 90nm
Nguyễn Anh Thái*, Nguyễn Văn Tình, Hoàng Văn Phúc, Phạm Tuấn Giáo
Tóm tắt: Bài báo trình bày về thiết kế phần cứng lõi mã hóa xác thực AES-
GCM trên ASIC có hiệu năng cao về sử dụng thông lượng. Lõi AES-GCM đề xuất
dùng kiến trúc AES đường ống hoàn toàn và thuật toán GCM nhiều nhánh song
song để tăng thông lượng. Đồng thời, để giảm thiểu tài nguyên phần cứng sử
dụng và mức công suất tiêu thụ, thiết kế đã sử dụng thuật toán nhân Karatsuba-
Ofman trong trường Galois và kỹ thuật bật tắt tín hiệu đồng hồ. Kết quả hiện thực
hóa với thư viện chuẩn công nghệ CMOS 90nm cho thấy lõi mã hóa xác thực đề
xuất đạt hiệu năng cao hơn, tính theo tỉ lệ giữa thông lượng và mức sử dụng tài
nguyên phần cứng, nhưng vẫn đảm bảo được mức tiêu thụ công suất tương đương
so với các công trình khác.
Từ khóa: AES, GCM, ASIC, CMOS, lõi IP.
1. ĐẶT VẤN ĐỀ
Với xu thế phát triển theo hướng cuộc cách mạng công nghiệp 4.0 như hiện
nay, nhu cầu trao đổi thông tin ngày càng gia tăng trong tất cả các lĩnh vực khoa
học và đời sống. Theo khảo sát, nghiên cứu và ước tính đến năm 2020 sẽ có hơn 50
tỷ thiết bị kết nối Internet [1, 2]. Song song với đó, để đảm bảo an toàn cho các kết
nối thì vấn đề bảo mật trên phần cứng ngày càng trở nên cấp thiết hơn, với các tiêu
chí tối ưu khác nhau về kích thước, tốc độ hay mức tiêu thụ công suất tùy theo các
ứng dụng khác nhau.
Do có độ an toàn cao về bảo mật và khả năng thực thi nhanh trên phần cứng mà
chuẩn mã hóa AES (Advanced Encryption Standard) [3] đã được lựa chọn cho rất
nhiều ứng dụng quan trọng. Để đảm bảo cho việc bảo mật và an toàn kết nối, hệ
thống cần đáp ứng cả tính bảo mật dữ liệu và tính xác thực. Theo khuyến nghị
NIST 800-38D [4], mã hóa xác thực AES-GCM (Galois/Counter Mode), thực chất
là một chế độ hoạt động của mã hóa AES, cung cấp đồng thời cả tính bảo mật và
tính xác thực.
Nhiều kiến trúc GCM khác nhau đã được nghiên cứu và trình bày trong các
công trình trước đây của nhiều tác giả. Trong [5, 6], các tác giả đã thực thi hàm
GCM theo phương pháp tuần tự. Phương pháp này dù đạt được hiệu quả về mặt
lượng tài nguyên phần cứng nhưng tốc độ và thông lượng lại rất thấp. Cũng vì lí do
thông lượng thấp của phương pháp tuần tự mà các tác giả trong [7, 8] đã thực thi
GCM với các khối nhân song song (GF128). Trong công trình [9], các tác giả đã
trình bày về cách tính hàm GHASH (Galois Hash- hàm băm trong trường Galois)
hiệu năng cao cho các bản tin dài. Tuy nhiên, các kết quả cho thấy độ phức tạp
phần cứng thực thi đã tăng khá nhiều. Trong tài liệu [10, 11], đã đề xuất kiến trúc
hàm GHASH song song-pipeline và phương pháp thực thi mã xác thực AES-GCM
trên phần cứng đạt được kết quả tốt về thông lượng và độ trễ của lõi. Ngược lại,
nhược điểm của các kiến trúc này là chưa hiệu quả về mặt kích thước và mức tiêu
thụ công suất- một tiêu chí tối quan trọng cho các ứng dụng hiện nay.
Kỹ thuật điều khiển & Điện tử
N. A. Thái, , P. T. Giáo, “Thiết kế lõi phần cứng trên công nghệ CMOS 90nm.”
76
Trong bài báo này, chúng tôi trình bày lõi mã hóa xác thực AES-GCM với kiến
trúc nhiều nhánh nhân-cộng song song và sử dụng AES với kỹ thuật đường ống
hoàn toàn để tăng tốc độ tính toán. Song song với đó, kiến trúc đề xuất cũng sử
dụng kỹ thuật bật tắt tín hiệu đồng bộ để đảm bảo tối ưu về kích thước và công
suất tiêu thụ của lõi.
2. KIẾN TRÚC LÕI MÃ HÓA XÁC THỰC AES-GCM
2.1. Kiến trúc AES đường ống hoàn toàn
Thuật toán AES được ứng dụng rất phổ biến như trong các thiết bị di động,
truyền thông vệ tinh, xử lí ảnh, IoT Do tính đa dạng trong các lĩnh vực ứng dụng
nên đòi hỏi những yêu cầu, giới hạn khác nhau. Để đáp ứng những đòi hỏi này đã
có nhiều nghiên cứu, đề xuất về các loại kiến trúc thực thi thuật toán AES. Trong
các kiểu kiến trúc này, thiết kế hướng tới tốc độ cao, thông lượng cao có nhiều
hiệu quả hơn các thiết kế khác. Trong bài báo này, kỹ thuật đường ống (pipeline)
được sử dụng cùng với việc chia sẻ tài nguyên để tối ưu về kích thước và tốc độ
(cũng như thông lượng) của phần cứng mã hóa.
Hình 1. Kiến trúc lõi AES đường ống hoàn toàn.
Trong thuật toán AES, thao tác SubByte theo cách phổ biến nhất là sử dụng
bảng tra LUT (Look-up Table). Việc sử dụng LUT với các ứng dụng tốc độ cao có
hai vấn đề nảy sinh. Thứ nhất là đòi hỏi một lượng lớn các cổng cho phép biến đổi
này. Thứ hai là độ trễ nội tại và trễ không loại bỏ được trên chính kiến trúc LUT
này. Với phương pháp chỉ sử dụng mạch logic tổ hợp thì sẽ tránh được trễ của các
LUT. Tuy nhiên, theo cách này phải thực hiện thao tác nghịch đảo trong trường
Galois GF(28) có thể làm cho độ phức tạp phần cứng tăng lên. Để khắc phục điều
này, các phép toán trong trường được thực thi trong các trường có bậc thấp hơn
như GF(24) hay GF((22)2 và các phép toán trường thứ cấp có giá trị thấp hơn. Kiến
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 54 , 04 – 2018
77
trúc đường ống nhiều lớp có thể đạt được tốc độ tối đa nếu như mỗi khối vòng
được chia thành nhiều tầng với độ trễ tương đương nhau. Bằng cách tăng số lượng
các tầng trong mỗi vòng, đường trễ tới hạn và độ rộng xung đồng bộ của hệ thống
được giảm đi đồng thời làm tăng thông lượng. Hình 1 thể hiện kiến trúc AES
đường ống hoàn toàn. Trong kiến trúc này, phần kiến trúc đường ống bên trong
gồm các thanh ghi chèn giữa các khối chức năng SubByte, ShiftRows,
MixColumns và AddRoundKey. Đồng thời với kiến trúc đường ống bên ngoài, các
thanh ghi được đưa vào giữa các vòng tính toán của AES.
Kiến trúc AES này cho phép hoạt động với tốc độ rất cao, mỗi vòng hoạt động
với dữ liệu đầu vào 128-bit ở mỗi chu kỳ đồng hồ. Tuy nhiên, ở đây một khối vòng
chức năng với bốn tầng pipeline, trong đó ba tầng cho S-box [12] và một tầng cho
phần còn lại (Hình 1) được sử dụng với mục đích đạt được tốc độ cao hơn cho thao
tác nhân trong GCM.
2.2. Chế độ Galois/Counter
Theo định nghĩa, chế độ Galois/Counter (GCM) là chế độ hoạt động của mã
khối với việc sử dụng một hàm băm được định nghĩa qua trường nhị phân Galois
để cung cấp mã hóa xác thực. Mã hóa xác thực thực hiện hai nhiệm vụ: mã hóa bảo
mật dữ liệu và tính toán tạo ra thẻ xác thực. GCM có nhiều lợi ích như: đạt được
tốc độ cao với chi phí thấp khi thực thi trên phần cứng, nó cũng có thể đảm bảo
được độ bảo mật mà không cần các ràng buộc IP và đã được sử dụng như thuật
toán lõi cho giao thức theo chuẩn IEEE 802.1ae [13]. Mã hóa xác thực AES-GCM
có quy trình mã hóa thể hiện ở hình 2. Khối GCTR thực hiện chế độ Counter của
mã khối với các đầu vào là khối đếm khởi tạo ICB, các giá trị gia tăng của chúng
(ICB2-ICBi) của chúng và các khối bản rõ (P1-Pi).
AES AES AES AES
AES
ICB
2ICB 1iICB iICB
1A
H H H H H
1X
H H
mX 1mX 2mX 2nX 1n
X nX
mA 1P 2P 1iP iP
INC INC
/A CL
AES0J
T MSB
H
0
GCTR
GHASH
Hình 2. Quy trình mã hóa xác thực AES-GCM.
2.3. Đề xuất kiến trúc GCM song song hiệu năng cao
A. Hàm GHASHH hiệu năng cao
Kỹ thuật điều khiển & Điện tử
N. A. Thái, , P. T. Giáo, “Thiết kế lõi phần cứng trên công nghệ CMOS 90nm.”
78
Hàm GHASH sử dụng trong GCM nhằm cung cấp tính xác thực cho dữ liệu
bảo mật. Hàm GHASH được xây dựng bởi các phép nhân trong trường GF(2128)
với khóa con băm (H) theo công thức:
1 1
1 2
1
. . . .
n
n j n n
j n
j
X H X H X H X H
(1)
trong đó, X1 ÷ Xn là các khối đầu vào 128-bit.
Mặc dù việc lựa chọn tham số q (số nhánh nhân-cộng song song) không bị giới
hạn nhưng để đạt được số chu kỳ đồng hồ là nhỏ và thông lượng cao thì sử dụng
2 jq , 21 logj n . Đầu ra hàm GHASH(X,H) nhận được:
1
1 2
1
1
1
1
1 1
2
2
. ... . ... ...
. ... ...
. ... . ...
. ...
q q q q q
n n
q q
q q q j
j
n
q
q q q q
q q
n n
q q
q q
q
n
q
X H H X H H H
X H H H
X H H H X H H
X H H
laàn laàn
laàn
laàn laàn
1 ...q nH X H
laàn
(2)
Trong đó, tất cả các toán hạng được thực hiện trong trường GF(2128), với đa
thức bất khả quy 128 7 2 1P x x x x . Với thuật toán hàm GHASH như ở (2),
số chu kỳ đồng hồ cần thiết để thực hiện sẽ là 2log
n
q
q
. Đối với 1
n
q
chu
kỳ đầu, sẽ thực hiện các phép nhân Hq trong trường GF(2128), với log2(q) chu kỳ
tiếp theo sẽ thực hiện các hàm mũ khác tương ứng và chu kỳ cuối cùng là thực
hiện XOR các kết quả ( 1
1
n
n j
j
j
X H
).
qH
1
qH
/2qH
2H
H
1qjX 2qjX
qH
/2qH
H
1
1qjX 2qjX
qH
/2qH
2H
1
1 1q jX
qH
2H
1
1q jX
qH
H
1
Hình 3. Kiến trúc phần cứng hàm GHASHH hiệu năng cao.
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 54 , 04 – 2018
79
Theo (2), ta xét các trường hợp:
q=8 (8 nhánh nhân-cộng song song):
31 2
8 8 8 4 2
1 9 2 10
4 28
8
8
8 16
. . 1 1
...
... 1 1
ii i
aa a
i i
X H X H X H X H H H
X H X H H H
X H X H
(3)
trong đó, (a1, a2, a3) là biểu diễn nhị phân của q – i +1, 1 8i
q=4 (4 nhánh nhân-cộng song song):
4 4 2
1 5 9
4 4
2 6 10
4 4
3 7
4 2
4 8
. . .
. . .
. .1 0
. . 0
X H X H X H
X H X H X H
X H X H
X H X H H
(4)
q=2 (2 nhánh nhân-cộng song song):
2 21 3 2 4. . . .X H X H X H X H (5)
B. Kỹ thuật bật tắt tín hiệu đồng bộ
Trong bài báo này, với mục đích giảm công suất tiêu thụ của thiết kế, chúng tôi
đề xuất việc áp dụng kỹ thuật bật tắt tín hiệu đồng bộ (clock gating). Theo kỹ thuật
này, tín hiệu đồng bộ đưa đến các thanh ghi được chọn bằng các tín hiệu điều
khiển. Khi các giá trị trong các thanh ghi không thay đổi thì tín hiệu đồng bộ được
tắt đi làm cho công suất tiêu thụ của hệ thống được giảm đi rất đáng kể theo [14,
15]. Chúng tôi đề xuất kiến trúc lõi AES-GCM dùng kỹ thuật bật tắt tín hiệu đồng
bộ như ở hình 4. Tín hiệu điều khiển việc lựa chọn tín hiệu đồng bộ sel được tạo ra
từ máy trạng thái hữu hạn của khối điều khiển.
Hình 4. Kiến trúc clock gating đề xuất cho lõi AES-GCM.
3. KẾT QUẢ HIỆN THỰC HÓA
Thiết kế được tổng hợp trên ASIC với thư viện chuẩn công nghệ CMOS 90 nm
cho các kiến trúc khác nhau, sử dụng công cụ Synopsys Design Compiler, đạt được
Kỹ thuật điều khiển & Điện tử
N. A. Thái, , P. T. Giáo, “Thiết kế lõi phần cứng trên công nghệ CMOS 90nm.”
80
kết quả như thể hiện ở bảng 1. Theo những kết quả đạt được, thiết kế đề xuất theo
các kiến trúc khác nhau đã cải thiện được hiệu năng thiết kế. Trong bài báo này,
hiệu năng được tính theo tỷ số giữa thông lượng và lượng tài nguyên (số cổng
tương đương). Trong đó, kiến trúc hai nhánh nhân-cộng có hiệu năng cao nhất đạt
104,8 (b/s/gate) cao hơn xấp xỉ 40 % so với kết quả tốt nhất tại công trình [7].
Đồng thời, thiết kế theo kiến trúc đề xuất vẫn đảm bảo công suất tiêu thụ ở mức
tương đương các thiết kế khác như đã thể hiện trong bảng 1.
Bảng 1. Kết quả tổng hợp lõi mã hóa AES-GCM trên ASIC công nghệ 90nm.
Kiến trúc
Tài nguyên
phần cứng
(Kgate)
Tốc độ
(MHz)
Công
suất
(mW)
Thông
lượng
(Gb/s)
Thông
lượng/Tài
nguyên
[7] 463 271 - 34,7 74,9
[8], [9] 894 568 144 56 62,6
[12] 625 595 102 15,2 24,3
Đề xuất với q = 2 189 193 131 19,8 104,8
Đề xuất với q = 4 479 193 177 23,3 48,6
Đề xuất với q = 8 863 193 265 24,7 28,6
4. KẾT LUẬN
Trong bài báo, này chúng tôi đã trình bày về thiết kế lõi phần cứng mã hóa xác
thực AES-GCM với các kiến trúc gồm các nhánh nhân-cộng song song nhằm mục
đích nâng cao hiệu năng mà vẫn đảm bảo được mức tiêu thụ công suất của lõi phần
cứng. Để tăng thông lượng, kiến trúc phần cứng AES đường ống hoàn toàn đã
được áp dụng và đồng thời thuật toán GCM được thực hiện theo phương thức song
song. Tuy nhiên, việc sử dụng kiến trúc song song sẽ dẫn đến kích thước lõi thiết
kế lớn. Để giải quyết vấn đề này, thiết kế đề xuất đã sử dụng các bộ nhân theo
thuật toán Karatsuba-Ofman thay cho thuật toán nhân truyền thống trong trường
Galois. Với mục đích giảm nhỏ mức công suất tiêu thụ, thiết kế đã đề xuất áp dụng
kỹ thuật bật tắt tín hiệu đồng bộ. Với các kết quả đã đạt được, lõi mã hóa xác thực
AES-GCM đề xuất cho thấy có thể đáp ứng tốt cho các ứng dụng đòi hỏi kích
thước nhỏ gọn, tốc độ cao và mức công suất tiêu thụ thấp.
Lời cảm ơn: Nghiên cứu này được tài trợ bởi Quỹ Phát triển khoa học và
công nghệ Quốc gia (NAFOSTED) trong đề tài mã số 102.02-2015.20. Nhóm tác
giả xin chân thành cảm ơn Viện Tích hợp hệ thống, Học viện Kỹ thuật quân sự đã
hỗ trợ về công cụ thiết kế cho nghiên cứu này.
TÀI LIỆU THAM KHẢO
[1]. W. Wang, G. He, and J. Wan, “Research on Zigbee wireless communication
technology,” Proc. 2011 International Conference on Electrical and Control
Engineering (ICECE), pp. 1245-1249, 2011.
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 54 , 04 – 2018
81
[2]. X. Du and H.-H. Chen, “Security in wireless sensor networks,” IEEE
Wireless Communications, vol. 15, 2008.
[3]. National Institute of Standards and Technology (NIST), “Advanced
Encryption Standard (AES),” FIPS Publication 197, 2001.
[4]. M. Dworkin, “Recommendation for Block Cipher Modes of Operation:
Galois/Counter Mode (GCM) and GMAC,” NIST SP, 800-38D, 2007.
[5]. S. Lemsitzer, J. Wolkerstorfer, N. Felber, and M. Braendli, “Multi-gigabit
GCM-AES architecture optimized for FPGAs,” in International Workshop on
Cryptographic Hardware and Embedded Systems, pp. 227-238, 2007.
[6]. B. Yang, S. Mishra, and R. Karri, “A High Speed Architecture for
Galois/Counter Mode of Operation (GCM),” IACR Cryptology ePrint
Archive, p. 146, 2005.
[7]. A. Satoh, “High-Speed Parallel Hardware Architecture for Galois Counter
Mode,” in IEEE International Symposium on Circuits and Systems, ISCAS
2007 , pp. 1863-1866, 2007.
[8]. A. Satoh, T. Sugawara, and T. Aoki, “High-performance hardware
architectures for Galois counter mode,” IEEE Transactions on Computers,
vol. 58, pp. 917-930, 2009.
[9]. N. Méloni, C. Négre, and M. A. Hasan, “High performance GHASH function
for long messages,” in International Conference on Applied Cryptography
and Network Security, pp. 154-167, 2010.
[10]. Abdellatif, K. M. Ali, Chotin-Avot, Roselyne, Mehrez, and Habib,
“Efficient Parallel-Pipelined GHASH for Message Authentication,”
International Conference on Reconfigurable Computing and FPGAs
(ReConFig), pp. 1-6, 2012.
[11]. M. Mozaffari-Kermani and A. Reyhani-Masoleh, “Efficient and High-
Performance Parallel Hardware Architectures for the AES-GCM,” IEEE
transactions on computers, vol. 61, pp. 1165-1178, 2012.
[12]. A. Satoh, S. Morioka, K. Takano, and S. Munetoh, “A compact Rijndael
hardware architecture with S-box optimization,” in International Conference
on the Theory and Application of Cryptology and Information Security, pp.
239-254, 2001.
[13]. I. S. W. Group, “IEEE standard for local and metropolitan area networks:
media access control (MAC) bridges,” IEEE Std, vol. 802, 2006.
[14]. L. Raja, K. Thanushkodi, and T. Hemalatha, “Comparitive analysis of various
low power Clock Gating design for ALU,” the 2014 International Conference
on Electronics and Communication Systems (ICECS), pp. 1-5, 2014.
[15]. N. Gupta, “Clock Power Analysis of Low Power Clock Gated Arithmetic
Logic Unit on Different FPGA,” 2014 International Conference on
Computational Intelligence and Communication Networks (CICN), pp. 913-
916, 2014.
Kỹ thuật điều khiển & Điện tử
N. A. Thái, , P. T. Giáo, “Thiết kế lõi phần cứng trên công nghệ CMOS 90nm.”
82
ABSTRACT
A DESIGN OF HIGH PERFORMANCE AES-GCM AUTHENTICATED
ENCRYPTION HARDWARE CORE IN 90 NM CMOS PROCESS
In this paper, a high-performance ASIC design of the authenticated
encryption AES-GCM core was presented. The proposed AES-GCM core
is implemented with a fully pipelined AES architecture and parallel GCM
algorithm to increase the throughput. Moreover, the Karatsuba-Ofman
algorithm over Galois finite field and clock gating technical are employed
together to decrease the area and the power consumption. The
implementation results in 90nm process have clarified that the proposed
authenticated encryption core achieves higher performance in term of the
ratio between throughput and area, while requires the equivalent power
consumption compared with others designs.
Keywords: AES, GCM, ASIC, CMOS, IP core.
Nhận bài ngày 05 tháng 12 năm 2017
Hoàn thiện ngày 09 tháng 01 năm 2018
Chấp nhận đăng ngày 10 tháng 4 năm 2018
Địa chỉ: Khoa Vô tuyến Điện tử, Trường đại học Kỹ thuật Lê Quý Đôn.
* Email: nguyenanhthai77@gmail.com.
Các file đính kèm theo tài liệu này:
- 8_thai_0253_2151645.pdf