1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

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

8 160 4

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 334,47 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài viết trình bày về thiết kế phần cứng lõi mã hóa xác thực AESGCM 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.

Trang 1

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

Trang 2

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

Trang 3

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

(ICB 2 -ICB i ) của chúng và các khối bản rõ (P 1 -P i)

AES

ICB ICB2 ICB i 1 ICB i

1

A

1

X

m

m

/

A C L

AES

0

J

H

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 GHASH H hiệu năng cao

Trang 4

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

n

j

trong đó, X 1 ÷ X n 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

2j

q  , 1 j log2 n  Đầu ra hàm GHASH(X,H) nhận được:

1

1 1 1

1

2 2

j n q

q n q

 

 

 

 

 

 

 



laàn

1

q

n

 



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

1

P xxxx  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à n log2 q

q

Đối với n 1

q

chu

kỳ đầu, sẽ thực hiện các phép nhân H q trong trường GF(2 128 ), với log 2 (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

1

n

n j j j

X H  

q

H

1

q

H

/ 2

q

H

2

H

1

qj

q

H

/2

q

H

H

1

1

qj

q

H

/2

q

H

2

H

1

 1 1 

q j

q

H

2

H

1

 1 

q j

q

H H

1

Hình 3 Kiến trúc phần cứng hàm GHASH H hiệu năng cao

Trang 5

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):

3

8 8 8

i

(3)

trong đó, (a 1 , a 2 , a 3 ) là biểu diễn nhị phân của q – i +1, 1 i 8

 q=4 (4 nhánh nhân-cộng song song):

(4)

 q=2 (2 nhánh nhân-cộng song song):

X HX HX HX 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

Trang 6

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

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

Trang 7

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

Trang 8

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

Ngày đăng: 10/02/2020, 04:00

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w