طراحی پردازنده مبتنی بر FPGA برای الگوریتمهای رمزنگاری سری SHA-2
الموضوعات :ندا صدق اهرابی 1 , محمد علی جبرئیل جمالی 2
1 - گروه مهندسی برق، دانشكده فنی مهندسی، واحد تبریز، دانشگاه آزاد اسلامی، تبریز
2 - هیات علمی
الکلمات المفتاحية: الگوریتمهای درهمساز ایمن, الگوریتمهای رمزنگاری سری SHA-2, پردازنده, VHDL , FPGA,
ملخص المقالة :
الگوریتمهای درهمساز ایمن، نوعی از الگوریتمهای رمزنگاری هستند که اهمیت آنها در جامعه امروزی با بروز کاربردهایی مانند استفاده از ابزارهای دیجیتالی شخصی در راستای حفظ محرمانگی پررنگترشدهاند. از طرفی با پیشرفت تکنولوژی، لزوم پیادهسازی این الگوریتمها روی بسترهای انعطافپذیر، میتواند چالشبرانگیز باشد. کاهش مساحت و افزایش سرعت اجرای عملیات، چالشهای اساسی برای طراحی و پیادهسازی این دسته از الگوریتمها هستند. در این مقاله یک معماری جدید برای پردازنده مبتنی بر FPGA برای الگوریتمهای رمزنگاری سری SHA-2 پیشنهادشده است. در پردازنده پیشنهادی استفاده از واحدهای حافظه و مسیر داده چندپورته و به دنبال آن عملکرد موازی پردازنده باعث کاهش بکارگیری منابع و افزایش سرعت پردازش دادهها شده است. معماری پردازنده برای الگوریتمهای رمزنگاری SHA-2 با زبان VHDL مدلسازی شده و پیادهسازی آن روی بستر FPGA در سریهای Virtex توسط نرمافزار ISE انجامشده است. نتایج پیادهسازی نشان میدهند که پردازنده متراکم پیشنهادی در مقایسه با کارهای پیشین با اهداف مشابه، توانسته با %25 افزایش فرکانس کاری برای الگوریتم رمزنگاری SHA-256 و اشغال %55 مساحت کمتر برای الگوریتم رمزنگاری SHA-512 حد مطلوبی از توان عملیاتی و کارایی را نیز حفظ نماید. پردازنده پیشنهادی برای کاربردهایی مانند بسترهای سیار مورد اعتماد (TMP)، واحد پول دیجیتال (Bitcoin) و مسیریابی ایمن در شبکه روی تراشه (NoC) مناسب است.
1. ذاکر حسینی ، ملکیان،. امنیت دادهها، ویراسته 1. باباخانی، ویرایش دوم، تهران، موسسه علمی-فرهنگی نص، 1387.
2.E. Kurniawan & I. Riadi, “Security Level analysis Of academic information systems based on standard ISO 27002:2003 using SSE-CMM’’,vol. 16,no. 1, pp. 139-147,2018.
3.I. Riadi, E. I. Aristianto & A. Dahlan, “An Analysis of Vulnerability Web Against Attack Unrestricted Image File Upload’’, Comput. Eng. Appl., vol. 5, no.1, PP. 19-28,2016.
4.H. Kim, M. Lee, D. K. Kim, S. K. Chung&K. Chung, “Design and implementation of crypto co-processor and its application to security systems”, BerlinHeidelberg: Springer, Computational Intelligence and Security. Lecture Notes in Computer Science, vol. 3802, PP. 1104–9, 2005.
5.S. Reddy, R. Sakthivel&P. Praneet, “VLSI implementation of AES crypto processor for high throughput,” In: (IJAEST) International Journal of Advanced Engineering Sciences and Technologies, vol. 6, PP. 2–6, 2011.
6. دری، قیاسیان، سعیدی،. «طراحی و پیادهسازی رمزنگار AES در بستر FPGA برای خطوط پرسرعت»، مجله مهندسی برق دانشگاه تبریز، جلد 46، شماره 1، بهار 1395.
7.R. Glabb, L. Imbert, G. Jullien, A. Tisserand and N. Veyrat-Charvillon, “ Multi-mode operator for SHA-2 hash functions”,JSystArchit 53(2-3):127-38, 2007.
8.N. Sklavos& O. Koufopavlou, “On the hardware implementations of the SHA-2 (256,384,512) hash functions”, In Proceeding of the 2003 International Symposium on Circuits and Systems, ISCAS’03.vol.5;2003.p.V-153-V-156, 2003.
9.K. Ting, S. Yuen,K.Lee and P. Leong, “An FPGA based SHA -256 processor”, In: Glesner M, Zipf P, Renovell M, editors. Field-Programmable Logic and Applications: Reconfigurable Computing is Going Mainstream, Lecture notes in Computer Science, vol. 2438. Berlin/Heidelberg: Springer, p. 449–71, 2002.
10.http:// www.en.wikipedia.org/wiki/securehashalgorithm.
11.U.S. Department of Commerce National Technical Information Service,FIPS180-2–Secure Hash Standard,http://www.csrc.nist.gov/publications/fips/fips180-2/fips180-2, 2002.
12.N. Sklavosand & O.KouFOPAVLOU, “Implementation of the SHA-2 hash family standard using FPGAs”, Springer Science+Business Media, Inc. Manufactured in the Netherlands, The Journal of supercomputing, vol. 31, pp. 227-248, 2005.
13.A. Regenscheid, R. Perlner, S. Chang, J. Kelsey,M. NandiandandS. Paul, Status Report on the First Round of the SHA-3 Cryptographic Hash Complete Competition, NIST, 2009.
14.E. Andreeva,B. Menninkand and B. Preneel, “Security reductions of the second round SHA_3 candidates,” In: Proceedings of the 13thInternational Conference on Information Security, ISC’10. Berlin, Heidelberg: Springer-Verlag, PP. 39–53, 2011.
15.P. Kotewar, R. Mandavganeand & D. Khatri, “Review on area optimization and simulation of SHA-3,”Journal of Emerging Technologies and Innovative Research (JETIR), PP.290-292, 2014.
16.F. Crowe, A. Daly, T. Kerins and W.Marnane, “Single-chip FPGA implementation of acryptographic co-processor”, In: Proceedings: IEEE International Conference on Field-Programmable Technology(IEEE Cat. No.04EX921), PP. 279–285,2005.
17.R. Lien, T. Grembowski and K. Gaj,A1Gbit/s Partially Unrolled Architecture of Hash Function SHA-1 & SHA-512, In: Topics in Cryptography a CT-RSA, pp.1995-1999, 2004.
18.A.P. Kakarountas,H. Michail,A. Milidonis, C.E. Goutis &G. Theodoridis, “High-speed FPGA implementation of secure hash algorithm for IPSec and VPN applications”, Journal of Supercomputing, vol. 37, PP.179-195, 2006.
19.Y. Yang, F. Chen, Z. Sun, S. Wang, J. Li, J. Chen &Z. Ming, “Secure and efficient parallel hash function construction and its application on cloud audit”, Soft Computing, vol. 23, pp. 8907-8925, 2019.
20.Y. K. Lee, H. Chan and I. Verbauwhede,“Iteration bound analysis and throughput optimum architecture of SHA-256(384,512) for hardware implementations”, In:Proceedings of the 8th International Conference on Information Security Applications, vol 256, PP.102–114, 2007.
21.M. Kim,J. Ryouand &S. Jun, “Efficient hardware architecture of SHA-256 algorithm for trusted mobile computing,” Information Security &Cryptology, Lecture Notes in Computer Science, Berlin Heidelberg: Springer, vol.5487, p. 240–52, 2009.
22.R. Chaves, G. Kuzmanor, L. Sousaand & S. Vassiliadis, “Cost efficient SHA hardware accelerators”, IEEE Transaction on Very Large Scale Integration Systems, Vol.16,NO.8, PP.999-1008, 2008.
23.G. Feng, P. Jainand & K. Choi, “Ultra-low power and high speed design and implementation of AES and SHA1 hardware cores in 65 nanometer CMOS technology”, In Electro/Information Technology,IEEE International Conference, PP.405-410, 2009.
24.M. Sumagita&I. Riadi, “Analysis of Secure Hash Algorithm (SHA) 512 for Encryption Process on Web Based Application”, IJCSIS Int. J. Dig. Foren. Cyb. Secur., vol. 7, no. 4, pp. 373-381, 2018.
25.M.I.Mazdadi, I. Riadi&A. Luthfi, “Live Forensics on RouterOS API Services to Investigate Network Attacks”, Int. J. Comput. Sci. Inf. Secur., Vol. 15, no. 2, pp.406-410, 2017.
26.W. Stallings, Cryptography and Network Security Principles and Practice, Fifth Edition, Pearson Education, Inc., Publishing as Prentice Hall, 2011.
27.A.L. Barkatullah& T. GailaniCelebi, Design and FPGA Implementation of Hash Processor, Master of Science thesis, Middle East Technical University, 2007.
28.R. Garcia, I. Algredo-Badillo, M.,Morales-Sandoval, C.Feregrino-Uribeand and R. Cumplido, “A compact FPGA-based processor for the secure hash algorithm SHA-256”,Elsevier, Computers and Electrical Engineering, vol. 40, pp. 194-202, 2014.
29.H. E. Michail, G.S.Athanasiou,G. Theodoridisand & C. E. Goutis, “On the development of high-throuput and area-efficient multi-mode cryptographic hash designs in FPGA”, Elsevier,Integration,The VLSI Journal, vol. 47, pp.387-407, 2014.
30.X. Cao,L.Luand & M. O’Neill, “A compact SHA-256 architecture for RFID tag,”,In: Proceedings of the 22nd IET irishSignals and Systems Conference, ISSC, Trinity CollegeDublin, 2011.
31.M. Kim, D. Lee and J. Ryou, “Compact and Unified Hardware Architecture for SHA-1 and SHA-256 of Trusted Mobile Computing”, PersUbiquitComput 2012:1–12,http://www.dx.doi.org/10.1007/s00779-012-0543.
32.C. Jeong& Y. Kim, “Implementation of efficient SHA-256 hash algorithm forsecure vehicle communication using FPGA”, IEEE, ISOCC2014, PP. 224-226,2014.
33.H. Michail,“On the exploitation of a high-throughput SHA-256 FPGA design for HMAC, ”ACM Trans on Reconfigurable Tech. and Sys.,vol. 5 no. 1,pp. 1- 28, 2012.
34.M.Zeghid, B. Bouallegue, A. Baganne, M. Machhoutand &R. Tourki,“A reconfigurable implementation of the new secure hash algorithm”,Proc Second Int. Conf. Availability, Reliability and Security, (ARES2007), 10–13 April 2007.
35.P. Zawleski, M. Lukowiakand &S. Radziszowsk, Case Study on FPGA Performance of Parallel Hash Function,PrzegladElectrotechniczny/ElectricalReview, PP. 151-155,2010.
36.H. Technology, Efficient Tiny Hash Core Family for Xilinx FPGA Datasheet, Helion Technology Limited, 2010.
37.I. Algredo-Badillo,M. Morales-Sandoval, C. Feregrino-Uribe and R. Cumplido,“Throughput and efficiency analysis of unrolled hardware architectures for the SHA-512 hash algorithm”,IEEE Computer Society Annual Symposium on VLSI, PP. 63- 68, 2012.
38.G. Athanasiou, H. Michail, G. Theodoridis and C. Goutis,“Optimising the SHA-512 cryptographic hash function on FPGAs”, Published in IET Computers & DigitalTechniques, PP.70-83,2013.
فصلنامة علمي- پژوهشي فناوري اطلاعات و ارتباطات ایران | سال دهم، شمارههای 37 و 38، پاییز و زمستان 1397 صص: 35- 44 |
|
طراحی پردازنده مبتنی بر FPGA برای الگوریتمهای رمزنگاری سری SHA-2
* ندا صدق اهرابی ** محمدعلی جبرئیلجمالی
* كارشناس ارشد، گروه مهندسی برق، دانشكده فنی مهندسی، واحد تبریز، دانشگاه آزاد اسلامی، تبریز
** دكتري، گروه مهندسی کامپیوتر، دانشكده فنی مهندسی، واحد شبستر، دانشگاه آزاد اسلامی، شبستر
تاریخ دریافت:25/04/1398 تاریخ پذیرش: 13/02/1399
چكيده
الگوریتمهای درهمساز ایمن، نوعی از الگوریتمهای رمزنگاری هستند که اهمیت آنها در جامعه امروزی با بروز کاربردهایی مانند استفاده از ابزارهای دیجیتالی شخصی در راستای حفظ محرمانگی پررنگترشدهاند. از طرفی با پیشرفت تکنولوژی، لزوم پیادهسازی این الگوریتمها روی بسترهای انعطافپذیر، میتواند چالشبرانگیز باشد. کاهش مساحت و افزایش سرعت اجرای عملیات، چالشهای اساسی برای طراحی و پیادهسازی این دسته از الگوریتمها هستند. در این مقاله یک معماری جدید برای پردازنده مبتنی بر FPGA برای الگوریتمهای رمزنگاری سری SHA-2 پیشنهادشده است. در پردازنده پیشنهادی استفاده از واحدهای حافظه و مسیر داده چندپورته و به دنبال آن عملکرد موازی پردازنده باعث کاهش بکارگیری منابع و افزایش سرعت پردازش دادهها شده است. معماری پردازنده برای الگوریتمهای رمزنگاری SHA-2 با زبان VHDL مدلسازی شده و پیادهسازی آن روی بستر FPGA در سریهای Virtex توسط نرمافزار ISE انجامشده است. نتایج پیادهسازی نشان میدهند که پردازنده متراکم پیشنهادی در مقایسه با کارهای پیشین با اهداف مشابه، توانسته با %25 افزایش فرکانس کاری برای الگوریتم رمزنگاری SHA-256 و اشغال %55 مساحت کمتر برای الگوریتم رمزنگاری SHA-512 حد مطلوبی از توان عملیاتی و کارایی را نیز حفظ نماید. پردازنده پیشنهادی برای کاربردهایی مانند بسترهای سیار مورد اعتماد (TMP)، واحد پول دیجیتال (Bitcoin) و مسیریابی ایمن در شبکه روی تراشه (NoC) مناسب است.
واژههای كليدي: الگوریتمهای درهمساز ایمن، الگوریتمهای رمزنگاری سری SHA-2، پردازنده،VHDL ،FPGA
1- مقدمه
رشد سریع ارتباطات الکترونیکی حاکی از آن است که مسائلی در رابطه با امنیت اطلاعات و کاربردهای عملی آنهاروزبهروز بیشتر حائز اهمیت میباشند [1]. امروزه ابزارهای محاسباتی فراگیر و ارتباطات بیسیم، بازگشای چالشهای فراوانی هستند. اطلاعات حساس شخصی مانند اطلاعات پزشکی و مالی افراد در فضای وسیعی از ابزارهای دیجیتالی و محاسباتی در ارگانها و سازمانها، که با رابطهای سیمی یا بیسیم در ارتباط با یکدیگرند، توزیع شدهاند. بر همین اساس تحقیقات وسیعی مبنی بر بهبود مدیریت امنیت اطلاعات منطبق بر استانداردهای جهانی در تشکیلات گسترده، ارائه شده است[2]. از سوی دیگر با رشد سریع تکنولوژی امنیت شبکههای کامپیوتری و لزوم آپلود تصاوبر و اسناد شخصی در سامانههای مختلف، زمینههای تحقیقاتی وسیعی در راستای ارتقای امنیت اطلاعات در اینترنت را نیز فراهم ساخته است[3].
نویسندۀ عهدهدار مکاتبات: محمدعلی جبرئیل جمالی m_jamali@itrc.ac.ir |
SHA مخفف عبارت Secure Hash Algorithm و به معنی الگوریتم درهمسازی ایمن است. این الگوریتمها شامل توابعی هستند که عمل فشردهسازی را انجام میدهند؛ بدین معنی که برای ورودیهای با طول متفاوت، کدهایی (خروجیهایی) با طول ثابت تولید میکنند که این کدها یکطرفه بوده و نمیتوان از روی خروجی الگوریتم، ورودی آن را تشخیص داد[10].
الگوریتمهای درهمساز ایمن مجموعهای از توابع درهمسازی محسوب میشوند که از سال 1995 تاکنون در چهار نسخه توسط آژانس امنیت ملی ایالت متحده آمریکا (8NSA) طراحی و توسط موسسه ملی فناوری و استانداردها) 9 (NIST بهعنوان استاندارد پردازش اطلاعات انتشاریافتهاند. از سال 2010 نسخههای SHA-0 و SHA-1 با گونههای امنتر یعنی خانواده SHA-2 جایگزین شدهاند[11] و [12]؛ ولی باوجود پیشنهاد الگوریتم SHA-3 در سالهای اخیر [15] و [13]، خانواده SHA-2 هنوز هم یک سطح امنیتی کافی را برای ابزارها فراهم میکند.
بهموازات پیشرفت تکنولوژی و بروز کاربردهای جدید از الگوریتمهای درهمساز ایمن، حجم وسیعی از تحقیقات حول پیادهسازی روی بسترهای FPGA بهواسطه انعطافپذیری آنها انجامشده است. در ابتدا قالب این پیادهسازیها با هدف کاهش تأخیر[16] و افزایش سرعت اجرای الگوریتم بهواسطه کاهش مسیرهای بحرانی [17]، Unfolded [15] و به کارگیری روشهای موازی[18] که از بروزترین تحقیقات در این راستا میتوان به تابع هش شبکه موازی (PLHF) اشاره کرد[19]، انجام گرفته است. از طرفی سابقه پیادهسازی الگوریتمهای درهمساز ایمن با رویکرد کاهش سطح[23] و [20] با بهکارگیری روشهای Folding و ساختار موازی مرحله پیشپردازش الگوریتم با هدف بهکارگیری در کاربردهای مهمی همچون کاربردهای مبتنی بر وب (Web-based) [24] و امنیت روترهای شبکه در پیشگیری از حمله غیرقابل پیشبینی هکرها [25] انجامشده است. آنچه معماری جدید پردازنده را از کارهای قبلی متمایز میسازد بهکارگیری واحدهای مسیر داده و حافظه چندپورته جهت فراهمسازی شرایطی برای عملکرد موازی الگوریتم SHA-2 و استفاده از ثباتهایی برای ذخیره موقت دادهها جهت کاهش میزان دسترسی به حافظه در قالب یک معماری ساده است که هدف از این طرح کاهش مساحت و افزایش سرعت پردازش دادهها بهموازات حفظ حد مطلوبی از توان عملیاتی و کارایی در کاربردهای سیار است.
در ادامه مقاله در بخش 2،الگوریتم SHA-2 بهطور اجمالی تشریح شده و در بخش 3، بلوکدیاگرام معماری پردازنده پیشنهادی همراه با ماژولهای آن شرح دادهشده است. بخش 4، به ارزیابی طرح پیشنهادی و مقایسه نتایج حاصل از سنتز و پیادهسازی الگوریتمهای رمزنگاری SHA-256 و SHA-512 پرداخته و در بخش 5، نتیجهگیری کلی اعلامشده است.
2-مفاهیم اولیه الگوریتم SHA-2
سری دوم الگوریتمهای درهمساز ایمن، مجموعهای از توابع درهمساز هستند که بر اساس طول چکیده (به تعداد بیت) در قالبهای کلی به دو صورت SHA-256 و SHA-512 نامگذاری شدهاند که محاسبات آنها به ترتیب با کلمات ۳۲ و ۶۴ بیتی صورت میگیرد. این دو الگوریتم، ساختار نزدیک به هم دارند ولی در تعداد دورها و مقادیر اولیه بهکاررفته متفاوت هستند که از بین آنها استفاده از SHA-512 ازنظر میزان امنیت حاصله و سرعت آن روی سیستمهای 64 بیتی ارجحیت دارد. در شکل 1 ساختار کلی الگوریتم SHA-512 نشان دادهشده است که در ادامه عملیات اجرایی مربوط به شکل توضیح دادهشده است.
شکل 1: عملیات مربوط به الگوریتم رمزنگاری SHA-512 [26]
2-1- مرحله پیشپردازش
طول پیام ورودی (Message) با افزودن عدد ’1‘و به دنبال آن صفرهایی برای رسیدن به مضربی از 512 در SHA-256 (1024 در SHA-512) افزایش مییابد. 64 بیت آخر پیام در SHA-256 (128 بیت آخر پیام در SHA-512) برای ذخیره طول پیام اصلی استفاده میشود. بعد از عمل افزونگی، پیام بهدستآمده به بلوکهایی به طول 512 بیتی برای SHA-256 (1024 بیتی برای SHA-512) بهصورت M1, M2, …, MN تقسیم میشود. هر بلوک از اطلاعات Mi به ترتیب با توابع اصلی(F)در طول 64 دور برای SHA-256 و 80 دور برای SHA-512 پردازش میشوند. تابع دور مربوط به الگوریتم SHA-512 در شکل 2 نشان دادهشده است.
شکل 2: تابع دور الگوریتم SHA-512[26]
مقدار هش Hi از پردازش کامل بلوک اطلاعاتی Mi جاری به ترتیب ذیل به دست میآید.
2-1-1-آمادهسازی زمانبند پیام (Wt)
زمانبند پیام عبارت است از پیامهایی که از پیام اصلی جهت بهکارگیری در عملیات مربوط به دورهای الگوریتم به دست میآیند؛ که در آن 16 مقدار اول در 16 دور اول مستقیماً از پیام ورودی حاصل میشود و برای بقیه دورها (دورهای 64≥t≥17 برای SHA-256 و دورهای 80≥t≥17 برای (SHA-512 مقادیر Wt با استفاده از توابع ơ0 و ơ1 محاسبه میشوند[12].
(1) |
|
(2) |
|
(3) |
|
(4) |
|
(5) |
|
که در روابط فوق منظور از ، چرخش راست i واحدی عبارت x و منظور از عبارت ، انتقال به راست i واحدی عبارت x است.
2-1-2- مرحله فشردهسازی
در این مرحله حلقه اصلی پردازش بلوک اطلاعاتی Mi از 8 متغیرh, g, f, e, d, c, b, a در قالب بافرهای حالت بوده و پس از طی شدن دورهای داخلی الگوریتم بهعنوان مقدار هش میانی Htemp در نظر گرفته میشود. این مقدار هش با مقدار محاسبهشده برای بلوک اطلاعاتی قبلی جمع شده و مقدار هش مربوط به پیام تا بلوک اطلاعات Mi را نتیجه میدهد. وقتی بلوک اطلاعاتی اولیه پردازش میشود، مقدار هش اولیه H0 مورداستفاده قرار میگیرد. در اولین مرحله از محاسبه Hi+1 بایستی مقدار Hi وارد بافرهای حالت شوند. عملیات مربوط به این مرحله در رابطه (6) نشان دادهشدهاند.
(6) |
|
| |||
|
| ||||
|
| ||||
|
| ||||
|
| ||||
|
|
متغیرهای زمانی بهکاررفته در الگوریتم در قالب رابطههای (7) و (8) محاسبه میشوند[12].
(7) |
|
(8) |
|
مقادیر هش اولیه H0 و ثابت Kt بهکاررفته در روابط فوق، در مشخصات و ویژگیهای توابع SHA-256 و SHA-512 قابلدسترسی است.
تمامی عملیات درگیر در الگوریتم بر اساس روابط (9) الی (14) محاسبه میشوند [26] و [27].
(9) |
|
(10) |
|
(11) |
|
(12) |
|
(13) |
|
(14) |
|
بعد از محاسبه بلوک اطلاعاتی نهایی MN مقدار هش نهایی HN محاسبه میشود.
3-پردازنده متراکم پیشنهادی
معماری پردازنده پیشنهادی از سه واحد مسیر داده، حافظه و کنترل تشکیلشده است. ایده اصلی معماری پیشنهادی استفاده از مسیر داده و حافظه چندپورته جهت عملکرد موازی چند مرحله از الگوریتمSHA-2 ، تغییر در روابط الگوریتم با حفظ ماهیت آنها بهمنظور کاهش مسیرهای بحرانی، استفاده از ثباتهای موقت در واحد مسیر داده برای کم کردن میزان دسترسی به واحد حافظه و استفاده از بانک ثبات بهمنظور استفاده مجدد از منابع حافظه و تسریع دسترسی به اطلاعات است. همچنین امکان نگاشت واحد محاسباتی و منطقی روی جداول جستجوی 10 چهار ورودی در بسترهای FPGA، امکان پیادهسازی طرح پیشنهادی روی این بسترها را تسهیل میکند. بلوکدیاگرام پردازنده هش در شکل 3 نشان دادهشده است.
شکل 3: بلوک دیاگرام پردازنده هش پیشنهادی
3-1- ماژولهای بکاررفته در پردازنده هش پیشنهادی
- مسیر داده
واحد مسیر داده همانطور که در شکل 1 نشان دادهشده است از تعدادی ثبات بهمنظور ذخیره موقتی دادهها و از یک واحد محاسباتی و منطقی برای اجرای عملیات مربوط به دورهای داخلی الگوریتمSHA-2 تشکیلشده است. در این پردازنده عملیات مربوط به دورهای داخلی الگوریتمSHA-2 بهصورت روابط T،׳T و״T (روابط 16-14) جهت کاهش مسیرهای بحرانی بازنویسی شدهاند.
(15) |
|
(16) |
|
(17) |
|
با توجه به ساختار الگوریتم و روابط بازنویسی شده میتوان رابطه (18) را نتیجه گرفت.
(18) |
|
|
در شکل 4 بلوک دیاگرام واحد محاسباتی و منطقی نشان دادهشده است. ملاحظه میشود که بهواسطه بهکارگیری ثباتهای موقت و بازنویسی روابط، میزان دسترسی به حافظه کم شده و از آدرسدهی غیرضروری به حافظه و عملیات منطقی مربوطه اجتناب شده است.
شکل 4: بلوک دیاگرام واحد محاسباتی و منطقی
- واحد حافظه
واحد حافظه پردازنده پیشنهادی الگوریتم SHA-2 از یک بانک ثبات و دو حافظه فقط خواندنی (ROM) تشکیلشده است. بانک ثبات شامل 32 ثبات 32 بیتی برای SHA-256 و 32 ثبات 64 بیتی برای SHA-512است که برای خواندن اطلاعات از پیش ذخیرهشده و نوشتن اطلاعات حاصل از عملیات به کار میرود. این اطلاعات شامل متغیرهای زنجیرهای، کلمات اولیه و پیامهای زمانبندی محاسبهشده در دورهای مختلف توسط واحد مسیر داده هستند. حافظه فقط خواندنی 8 خانهای برای نگهداری متغیرهای زنجیرهای اولیه و 64 خانهای برای SHA-256 (128 خانهای برای SHA-512) بهمنظور ذخیره ثابتهای دور Kt در واحد حافظه به کار گرفته میشوند.
- واحد کنترل
واحد کنترل از چند واحد شمارنده بهمنظورآدرسدهی بانک ثبات و ROMها تشکیلشده است؛ همچنین واحد کنترل با تولید تعدادی سیگنال کنترلی منابع اطلاعاتی واحد محاسباتی و منطقی را نیز هماهنگ میکند. در طول 16 سیکل ساعت اول اطلاعات ورودی که شامل 16 کلمه 32 بیتی برای SHA-256 و 16 کلمه 64 بیتی برای SHA-512 هستند، جهت استفاده در توابع فشردهسازی به کار گرفته میشوند. پس از ورود کامل اطلاعات 512 بیتی برای SHA-256و 1024 بیتی برای SHA-512 واحد کنترل مقادیر میانی Hi را به بافرهای حالت انتقال میدهد (ثباتهای a-h). برای اولین بلوک مقادیر هش اولیه H0 که در حافظه ثباتها ذخیرهشده بهعنوان مقادیر هش میانی مورداستفاده قرار میگیرند و برای دورها و بلوکهای اطلاعاتی بعدی، Hi توسط ثباتهای a تا h و مقادیر هش بهدستآمده از مرحله قبلی Hi-1 محاسبه میشود.
واحد کنترل در پردازنده هش پیشنهادی یک FSM بوده که شامل 9 حالت است. در شکل 5 ماشین حالت محدود واحد کنترل نشان دادهشده است.
شکل 5: ماشین حالت محدود واحد کنترل پردازنده هش پیشنهادی
4.ارزیابی نتایج
در این مقاله بهمنظور ارزیابی نتایج حاصل از پیادهسازی الگوریتمهای هش SHA-256و SHA-512 از یک معماری مشترک (شکل 1) برای هرکدام از توابع استفادهشده است. پس از نوشتن معماری مذکور با زبان توصیف سختافزاریVHDL نتایج مربوط به متغیرها در هر دور با نرمافزار ISIM قابلدسترس بوده و سنتز و پیادهسازی آن برای تعدادی از FPGA های شرکت Xilinx توسط نرمافزار Xilinx ISE مورد بحث و بررسی قرار میگیرد.
FPGA های انتخابی جهت بررسی نتایج ذکرشده به ترتیب ذیل است:
1-Virtex-4 (Xc4vlx100-12FF1148)
2- Virtex-5 (Xc5vlx155t-3FF1136)
3- Virtex-7 (Xc7vx330t-3FFG1157)
طرح VHDL معماری پردازنده پیشنهادی در هر مرحله (در هر دور از الگوریتم) ازنظر جریان داده و بررسی حالات هر متغیر بهواسطه مقادیر بهدستآمده از نتایج شبیهسازی توسط نرمافزار ISIM با نتایج ذکرشده در FIPS 180_2 [11] مقایسه و اشکالزدایی شده و نهایتاً با این کار برای محاسبه مقادیر هش یک عبارت معتبرسازی میشود. در این مقاله کیفیت معماری پیشنهادی با معیارهای مساحت، فرکانس، توان عملیاتی و کارایی موردتوجه قرارگرفته است که پارامترهای مساحت و فرکانس مستقیماً از گزارشهای حاصله از سنتز و پیادهسازی و توان عملیاتی و کارایی بهصورت روابط (19) و (20) محاسبه میشوند[29] و [28].
(19) | (زمان تأخیر/فرکانس) ×اندازه بلوک داده =توان عملیاتی |
(20) | مساحت/توان عملیاتی=کارایی |
نتایج بهدستآمده از سنتز و پیادهسازی الگوریتمهای SHA-256 و SHA-512 برای پارامتر کارایی در جدول 1 و برای پارامترهای فرکانس، مساحت و توان عملیاتی در جدولهای 2 و 3 در مقایسه با کارهای پیشین نشان دادهشده است.
جدول 1: کارایی حاصله از پردازنده پیشنهادی
عنوان چیپ | کارایی (Mbps/Slice) |
SHA-256 Virtex-4 | 27/0 |
SHA-256 Virtex-5 | 41/1 |
SHA-256 Virtex-7 | 98/6 |
SHA-512 Virtex-4 | 20/0 |
SHA-512 Virtex-5 | 17/1 |
SHA-512 Virtex-7 | 35/3 |
علیرغم دشوار بودن مقایسه پیادهسازیهای مختلف روی FPGA ها به دلیل تکنولوژیهای مختلف بهکاررفته، در ادامه سعی بر مقایسه عادلانه نتایج حاصله از معماری پیشنهادی با کارهای پیشین در شرایط یکسان شده است.
4-1- نتایج بهدستآمده و مقایسههای مربوط به الگوریتم SHA -256
تأخیر پردازنده SHA-256 برای یک بلوک داده 512 بیتی 280 سیکل ساعت است که به ترتیب ذیل در نظر گرفته میشود[28]:
زمان لازم برای وارد شدن یک بلوک اطلاعاتی 512 بیتی، 16 سیکل زمانی است.
زمان لازم برای انتقال مقادیر هش میانی و بافرها (ثباتهای a تا h) 8 سیکل زمانی است.
زمان لازم جهت طی شدن 64 دور داخلی با در نظرگرفتن دو حالت زیر محاسبه میشود:
برای 16 دور اول، Wt مستقیماً از پیام ورودی نتیجه میشود که این مرحله فقط نیاز به 3 سیکل زمانی دارد.
برای 48 دور بعدی، Wt با استفاده از واحد محاسباتی و منطقی محاسبهشده و به ازای هر 4 سیکل زمانی یک دور نتیجه میدهد.
بعد از محاسبات مربوط به دورهای داخلی، محاسبه مقادیر هش میانی نیاز به 8 سیکل زمانی دارد.
نهایتاً زمان موردنیاز برای بهدست آوردن خروجی (مقدار هش نهایی)8 سیکل زمانی خواهد بود.
در جدول 2 نتایج بهدستآمده از معماری پیشنهادی برای SHA-256 با کارهای پیشین مقایسه شده است. مشاهده میشود که در مقایسه با معماری متراکم در [30] علاوه بر کاهش %30 استفاده از منابع، میزان تأخیر نیز به میزان قابلتوجهی کاهشیافته است. نتایج حاصل از طرح متراکم در [31] به دلیل پیادهسازی روی بستر دیگری از خانواده Virtex با معماری پیشنهادی قابلمقایسه نیست، ولی در حالت کلی امتیازهای این طرح از نتایج بهدستآمده مشخص است. طرح پیشنهادی در مقایسه با معماریهای [32،33] که با هدف کاهش تأخیر و افزایش توان عملیاتی طراحیشدهاند، توانسته به موازات کاهش قابلتوجه مساحت به افزایش %10 فرکانس نیز دست یابد. همچنین در مقایسه با [28] علیرغم اشغال %7 مساحت بیشتر در معماری پیشنهادی، %25 افزایش فرکانس و به دنبال آن بهبود توان عملیاتی و کارایی در نتایج بهدستآمده از پیادهسازی معماری پیشنهادی روی بستر Virtex-4 حاصلشده است.
جدول 2: نتایج مقایسه حاصله از سنتز و پیادهسازی پردازنده SHA-256 پیشنهادی
منابع | بستر | مساحت (Slices) | فرکانس (MHZ) | تأخیر | توان عملیاتی)MBPS) |
[30] | Virtex-4 | 615 | 102 | 1120 | _ |
[31] | Virtex-2 | 1210 | 85 | 355 | 60/122 |
[32] | Virtex-5 | 2796 | 8/179 | _ | _ |
[33] | Virtex-5 | 1885 | 169 | _ | _ |
[28] | Virtex-4
Virtex-5 | 422 139 | 06/50 45/64 | 280 280 | 53/91 8/117 |
طرح پیشنهادی | Virtex-4 | 453 | 146/67 | 280 | 78/122 |
Virtex-5 | 252 | 92/194 | 280 | 42/356 | |
Virtex-7 | 77 | 72/293 | 280 | 09/537 |
4-2- نتایج بهدستآمده و مقایسههای مربوط به الگوریتم SHA-512
تأخیر پردازنده SHA-512برای یک بلوک داده 1024 بیتی 344 سیکل ساعت است که به ترتیب ذیل در نظر گرفته میشود:
زمان لازم برای وارد شدن یک بلوک اطلاعاتی 1024 بیتی، 16 سیکل زمانی است.
زمان لازم برای انتقال مقادیر هش میانی و بافرها (ثباتهای a تا h) 8 سیکل زمانی است.
زمان لازم جهت طی شدن 80 دور داخلی با در نظرگرفتن دو حالت زیر محاسبه میشود:
برای 16 دور اول، Wt مستقیماً از پیام ورودی نتیجه میشود که این مرحله فقط نیاز به 3 سیکل زمانی دارد.
برای 64 دور بعدی،Wt با استفاده از واحد محاسباتی و منطقی محاسبهشده و به ازای هر 4 سیکل زمانی یک دور نتیجه میدهد.
بعد از محاسبات مربوط به دورهای داخلی، محاسبه مقادیر هش میانی نیاز به 8 سیکل زمانی دارد.
نهایتاًزمان موردنیاز برای بهدست آوردن خروجی (مقدار هش نهایی) 8 سیکل زمانی است.
در جدول 3 نتایج بهدستآمده از معماری پیشنهادی برای SHA-512با کارهای پیشین مقایسه شده است. معماری متراکم پیشنهادی میتواند جایگزین مناسبی برای [34] که با هدف افزایش توان عملیاتی طراحی و پیادهسازی شده، روی بستر Virtex-5 باشد. از نتایج بهدستآمده در [35] که در آن از روش موازی با رویکرد افزایش فرکانس استفادهشده، میشود که در طرح متراکم پیشنهادی علاوه بر بهبود %20 فرکانس، از %60 منابع کمتری روی Virtex-5 استفادهشده است. هسته هشت تجاری در [36] برای اجرای الگوریتمSHA-512 از 7/1 برابر منابع کمتری نسبت به طرح پیشنهادی استفاده میکند ولی برای کاربردهایی که در آنها نیاز به توان عملیاتی بالا وجود دارد، پیادهسازی طرح پیشنهادی روی بستر Virtex-5به دلیل بهبود 11 برابری توان عملیاتی ارجحیت دارد. مشاهده میشود که در معماری پیشنهادی کاهش %68 پارامتر مساحت در سطح فرکانس مطلوب، نسبت به معماری [37] روی بستر Virtex-4 حاصلشده است؛ همچنین در [38] بهکارگیری از روشهای unrolling و pipeline، استفاده مجدد از منابع و پیشمحاسبات زمانی با رویکرد افزایش فرکانس و توان عملیاتی انجامشده است؛ مشاهده میشود که معماری پیشنهادی پیادهسازی شده روی بستر Virtex-5 توانسته از%55 منابع کمتری در همان سطح فرکانسی استفاده کند.
جدول 3: نتایج مقایسه حاصله از سنتز و پیادهسازی پردازنده SHA-512
منابع | بستر | مساحت (Slices) | فرکانس (MHz) | تأخیر | توان عملیاتی )MBPS) |
[34] | Virtex-2 | 1938 | 81 | _ | 274 |
[35] | Virtex-4
Virtex-5 | 2073 1102 | 65/106 88/142 | _ | _ |
[36] | Hash Core | 251 | 271 | _ | 46 |
[37] | Virtex-4 | 2667 | 01/81 | _ | 1024 |
[38] | Virtex-6
Virtex-7 | 986 1021 | 9/177 4/198 | _ _ | 2/4554 1/5079 |
|
|
|
|
|
|
طرح پیشنهادی | Virtex-4 | 843 | 656/58 | 344 | 60/174 |
Virtex-5 | 439 | 818/173 | 344 | 41/517 | |
Virtex-7 | 181 | 715/203 | 344 | 41/606 |
با بررسی دقیق جدولهای 2 و 3 و همچنین مطالعه دقیق آنچه که بهتفصیل توضیح داده شد؛میتوان نتیجه گرفت که با استفاده ازمعماری پیشنهادی بهواسطه بکارگیری برخی راهکارها در راستای به حداقل رساندن ارجاع به حافظه در پروسه پردازشی و استفاده از روشهای عملکرد موازی، توانسته در ضمن استفاده از حداقل منابع که منجر به کاهش مساحت میشود، از سرعت عملیاتی و فرکانس بالایی نسبت به تحقیقاتی با رویکردهای مشابه بهره برد.
5- نتیجهگیری
در این مقاله معماری پیشنهادی پردازنده مبتنی برFPGA برای الگوریتمهای رمزنگاری سری SHA-2 معرفیشده است. این معماری بهواسطه بکارگیری از واحدهای مسیرداده و حافظه چندپورته، استفاده از ثباتهای موقت در واحد مسیر داده، استفاده از بانک ثبات بهجای حافظههای RAM جهت ذخیره دادهها در واحد حافظه باعث عملکرد موازی و کاهش دفعات ارجاع به حافظه میشود؛ که نتیجه آنها یک معماری متراکم ساده و یکپارچه با سرعت بالا است.
نتایج بهدستآمده از پیادهسازی طرح پیشنهادی حاکی از آن است که پردازنده متراکم پیشنهادی در مقایسه با کارهای پیشین با اهداف مشابه، توانسته با افزایش فرکانس کاری %25 برای SHA-256 و اشغال %55 مساحت کمتر برای SHA-512 حد مطلوبی از توان عملیاتی و کارایی را نیز حفظ نماید. پردازنده SHA پیشنهادی برای کاربردهایی مانند بسترهای سیار مورد اعتماد (TMP)، واحد پول دیجیتال (Bitcoin) و مسیریابی ایمن در شبکههای روی تراشهها (NoC) مناسب است.
با توجه به مزیتهای طرح پیشنهادی میتوان از ساختار ساده معماری پیشنهادی برای طراحی پردازنده جهت اجرای عملیات مربوط به الگوریتمSHA-3 نیز در راستای حفظ محرمانگی اطلاعات در تکنولوژی روز با کاربردهایی که در آنها نرخ انتقال اطلاعات زیاد است، استفاده کرد.
منابع
1. ذاکر حسینی ، ملکیان،. امنیت دادهها، ویراسته 1. باباخانی، ویرایش دوم، تهران، موسسه علمی-فرهنگی نص، 1387..
2.E. Kurniawan & I. Riadi, “Security Level analysis Of academic information systems based on standard ISO 27002:2003 using SSE-CMM’’,vol. 16,no. 1, pp. 139-147,2018.
3.I. Riadi, E. I. Aristianto & A. Dahlan, “An Analysis of Vulnerability Web Against Attack Unrestricted Image File Upload’’, Comput. Eng. Appl., vol. 5, no.1, PP. 19-28,2016.
4.H. Kim, M. Lee, D. K. Kim, S. K. Chung&K. Chung, “Design and implementation of crypto co-processor and its application to security systems”, BerlinHeidelberg: Springer, Computational Intelligence and Security. Lecture Notes in Computer Science, vol. 3802, PP. 1104–9, 2005.
5.S. Reddy, R. Sakthivel&P. Praneet, “VLSI implementation of AES crypto processor for high throughput,” In: (IJAEST) International Journal of Advanced Engineering Sciences and Technologies, vol. 6, PP. 2–6, 2011.
6. دری، قیاسیان، سعیدی،. «طراحی و پیادهسازی رمزنگار AES در بستر FPGA برای خطوط پرسرعت»، مجله مهندسی برق دانشگاه تبریز، جلد 46، شماره 1، بهار 1395.
7.R. Glabb, L. Imbert, G. Jullien, A. Tisserand and N. Veyrat-Charvillon, “ Multi-mode operator for SHA-2 hash functions”,JSystArchit 53(2-3):127-38, 2007.
8.N. Sklavos& O. Koufopavlou, “On the hardware implementations of the SHA-2 (256,384,512) hash functions”, In Proceeding of the 2003 International Symposium on Circuits and Systems, ISCAS’03.vol.5;2003.p.V-153-V-156, 2003.
9.K. Ting, S. Yuen,K.Lee and P. Leong, “An FPGA based SHA -256 processor”, In: Glesner M, Zipf P, Renovell M, editors. Field-Programmable Logic and Applications: Reconfigurable Computing is Going Mainstream, Lecture notes in Computer Science, vol. 2438. Berlin/Heidelberg: Springer, p. 449–71, 2002.
10.http:// www.en.wikipedia.org/wiki/securehashalgorithm.
11.U.S. Department of Commerce National Technical Information Service,FIPS180-2–Secure Hash Standard,http://www.csrc.nist.gov/publications/fips/fips180-2/fips180-2, 2002.
12.N. Sklavosand & O.KouFOPAVLOU, “Implementation of the SHA-2 hash family standard using FPGAs”, Springer Science+Business Media, Inc. Manufactured in the Netherlands, The Journal of supercomputing, vol. 31, pp. 227-248, 2005.
13.A. Regenscheid, R. Perlner, S. Chang, J. Kelsey,M. NandiandandS. Paul, Status Report on the First Round of the SHA-3 Cryptographic Hash Complete Competition, NIST, 2009.
14.E. Andreeva,B. Menninkand and B. Preneel, “Security reductions of the second round SHA_3 candidates,” In: Proceedings of the 13thInternational Conference on Information Security, ISC’10. Berlin, Heidelberg: Springer-Verlag, PP. 39–53, 2011.
15.P. Kotewar, R. Mandavganeand & D. Khatri, “Review on area optimization and simulation of SHA-3,”Journal of Emerging Technologies and Innovative Research (JETIR), PP.290-292, 2014.
16.F. Crowe, A. Daly, T. Kerins and W.Marnane, “Single-chip FPGA implementation of acryptographic co-processor”, In: Proceedings: IEEE International Conference on Field-Programmable Technology(IEEE Cat. No.04EX921), PP. 279–285,2005.
17.R. Lien, T. Grembowski and K. Gaj,A1Gbit/s Partially Unrolled Architecture of Hash Function SHA-1 & SHA-512, In: Topics in Cryptography a CT-RSA, pp.1995-1999, 2004.
18.A.P. Kakarountas,H. Michail,A. Milidonis, C.E. Goutis &G. Theodoridis, “High-speed FPGA implementation of secure hash algorithm for IPSec and VPN applications”, Journal of Supercomputing, vol. 37, PP.179-195, 2006.
19.Y. Yang, F. Chen, Z. Sun, S. Wang, J. Li, J. Chen &Z. Ming, “Secure and efficient parallel hash function construction and its application on cloud audit”, Soft Computing, vol. 23, pp. 8907-8925, 2019.
20.Y. K. Lee, H. Chan and I. Verbauwhede,“Iteration bound analysis and throughput optimum architecture of SHA-256(384,512) for hardware implementations”, In:Proceedings of the 8th International Conference on Information Security Applications, vol 256, PP.102–114, 2007.
21.M. Kim,J. Ryouand &S. Jun, “Efficient hardware architecture of SHA-256 algorithm for trusted mobile computing,” Information Security &Cryptology, Lecture Notes in Computer Science, Berlin Heidelberg: Springer, vol.5487, p. 240–52, 2009.
22.R. Chaves, G. Kuzmanor, L. Sousaand & S. Vassiliadis, “Cost efficient SHA hardware accelerators”, IEEE Transaction on Very Large Scale Integration Systems, Vol.16,NO.8, PP.999-1008, 2008.
23.G. Feng, P. Jainand & K. Choi, “Ultra-low power and high speed design and implementation of AES and SHA1 hardware cores in 65 nanometer CMOS technology”, In Electro/Information Technology,IEEE International Conference, PP.405-410, 2009.
24.M. Sumagita&I. Riadi, “Analysis of Secure Hash Algorithm (SHA) 512 for Encryption Process on Web Based Application”, IJCSIS Int. J. Dig. Foren. Cyb. Secur., vol. 7, no. 4, pp. 373-381, 2018.
25.M.I.Mazdadi, I. Riadi&A. Luthfi, “Live Forensics on RouterOS API Services to Investigate Network Attacks”, Int. J. Comput. Sci. Inf. Secur., Vol. 15, no. 2, pp.406-410, 2017.
26.W. Stallings, Cryptography and Network Security Principles and Practice, Fifth Edition, Pearson Education, Inc., Publishing as Prentice Hall, 2011.
27.A.L. Barkatullah& T. GailaniCelebi, Design and FPGA Implementation of Hash Processor, Master of Science thesis, Middle East Technical University, 2007.
28.R. Garcia, I. Algredo-Badillo, M.,Morales-Sandoval, C.Feregrino-Uribeand and R. Cumplido, “A compact FPGA-based processor for the secure hash algorithm SHA-256”,Elsevier, Computers and Electrical Engineering, vol. 40, pp. 194-202, 2014.
29.H. E. Michail, G.S.Athanasiou,G. Theodoridisand & C. E. Goutis, “On the development of high-throuput and area-efficient multi-mode cryptographic hash designs in FPGA”, Elsevier,Integration,The VLSI Journal, vol. 47, pp.387-407, 2014.
30.X. Cao,L.Luand & M. O’Neill, “A compact SHA-256 architecture for RFID tag,”,In: Proceedings of the 22nd IET irishSignals and Systems Conference, ISSC, Trinity CollegeDublin, 2011.
31.M. Kim, D. Lee and J. Ryou, “Compact and Unified Hardware Architecture for SHA-1 and SHA-256 of Trusted Mobile Computing”, PersUbiquitComput 2012:1–12,http://www.dx.doi.org/10.1007/s00779-012-0543.
32.C. Jeong& Y. Kim, “Implementation of
efficient SHA-256 hash algorithm forsecure vehicle communication using FPGA”, IEEE, ISOCC2014, PP. 224-226,2014.
33.H. Michail,“On the exploitation of a high-throughput SHA-256 FPGA design for HMAC, ”ACM Trans on Reconfigurable Tech. and Sys.,vol. 5 no. 1,pp. 1- 28, 2012.
34.M.Zeghid, B. Bouallegue, A. Baganne, M. Machhoutand &R. Tourki,“A reconfigurable implementation of the new secure hash algorithm”,Proc Second Int. Conf. Availability, Reliability and Security, (ARES2007), 10–13 April 2007.
35.P. Zawleski, M. Lukowiakand &S. Radziszowsk, Case Study on FPGA Performance of Parallel Hash Function,PrzegladElectrotechniczny/ElectricalReview, PP. 151-155,2010.
36.H. Technology, Efficient Tiny Hash Core Family for Xilinx FPGA Datasheet, Helion Technology Limited, 2010.
37.I. Algredo-Badillo,M. Morales-Sandoval, C. Feregrino-Uribe and R. Cumplido,“Throughput and efficiency analysis of unrolled hardware architectures for the SHA-512 hash algorithm”,IEEE Computer Society Annual Symposium on VLSI, PP. 63- 68, 2012.
38.G. Athanasiou, H. Michail, G. Theodoridis and C. Goutis,“Optimising the SHA-512 cryptographic hash function on FPGAs”, Published in IET Computers & DigitalTechniques, PP.70-83,2013.