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

pdf8 trang | Chia sẻ: quangot475 | Lượt xem: 431 | Lượt tải: 0download
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:

  • pdf8_thai_0253_2151645.pdf