چکیده:
یکی از چالشهای مهم در امنیت سختافزار مقابله با کپیسازی و استفاده از سختافزارهای جعلی بهجای سختافزارهای اصلی و واقعی است. یکی از مؤثرترین روشهای مقابله با این نوع حملات و محافظت از اصالت و امنیت فیزیکی بستر پیادهسازی الگوریتمهای رمزنگاری، استفاده از توابع کپیناپذیر فیزیکی یا پاف است. در این مقاله تحقق عملی یک پاف سیلیکونی مبتنی بر مالتی پلکسر موسوم به پاف داور بر روی تراشههای FPGA از خانواده Xilinx و ایجاد یک کد تصادفی سختافزاری برای احراز اصالت تراشه گزارش شده است. ابتدا با استفاده از پاف، یک هسته اولیه 32 بیتی تصادفی تولید شده که از آن بهعنوان مقدار اولیه یک شیفت رجیستر با بازخور خطی استفاده شده است. پس از آن با پیادهسازی یک مولد اعداد تصادفی مبتنی بر نوسانسازهای حلقوی بر روی تراشه FPGA، جمع انحصاری خروجیهای بهدستآمده از شیفت رجیستر و مولد اعداد تصادفی و تصحیح دنباله خروجی با استفاده از تصحیحکننده وان نیومن یک کد 64 بیتی برای شناسایی منحصربهفرد تراشه پیادهسازی تولید شده است. طرح پیادهسازیشده بهگونهای است که کد تولیدشده بهعنوان امضای پاف را غیرقابل کپیسازی، غیرقابل مدلسازی و غیرقابل بازسازی میسازد. نتایج پیادهسازی نشان داد که با استفاده مدار ذکرشده و مصرف تقریباً 15 درصد از سطح تراشه بورد استاندارد حملات کانال جانبی موسوم به ساکورا حاوی تراشه XC6SLX75 Spartan-6، قادر به تولید یک کد 64 بیتی تصادفی برای شناسایی تراشه و استفاده از آن در پروتکلهای احراز هویت بهمنظور تائید اصالت سختافزار هستیم.
One of the most challenging issues in the field of hardware security is to protect the hardware from reverse engineering, counterfeiting and cloning. Using Physically Unclonable Functions (PUFs) is among the most efficient ways to improve security against these kinds of threats. In this work, we used a multiplexer-based or the so-called arbiter PUF to improve resilience of FPGAs from Xilinx family against these types of vulnerabilities. At first, a 32-bit random code was generated as the initial seed for a linear feedback shift register (LFSR). Then, a 64-bit unique authentication code was generated by XORing the outputs of the shift register and outputs of a ring oscillator-based random number generator and passing out the result from the Von Neumann corrector. The scheme is implemented in such a way that the generated code is robust against reverse engineering or modeling, and therefore is unrecoverable. The implementation results, on Side-Channel Attack User Reference Architecture (SAKURA G-II) which includes XC6SLX75 demonstrated that the design utilizes almost 15% of FPGA resources to generate a 64-bit unique authentication code.
خلاصه ماشینی:
نتایج بهدستآمده از طرح انجامشده امیدوارکننده و قابل اعتماد است به شکلی که میتوان از آن برای افزایش امنیت و اعتماد فیزیکی بسترهای سختافزاری استفاده نمود زیرا حتی در صورت دسترسی فیزیکی مهاجم به ابزار رمز امکان کپیسازی، بازیابی و مهندسی معکوس شماهای پیادهسازی شده درون تراشه و کد تولیدشده توسط آنها وجود ندارد.
از آنجا که با استفاده از این توابع نیاز به ذخیرهسازی کلید در ابزار رمز نداریم و حتی در صورت فاش شدن مدار مولد کلید، به ازا ورودی یکسان خروجی آن متفاوت خواهد بود لذا دو هدف اول برآورده شده و پس از آن لازم است تا الگوریتم بهصورت امن پیادهسازی و اجرا شود بدین مفهوم که الگوریتم به شکلی پیادهسازی شود که از نشت اطلاعات فیزیکی و کانال جانبی در حین اجرای الگوریتم جلوگیری شود ]16-15[.
همانطور که ذکر شد برای امنیت بیشتر و مقابله با حملاتی که با استفاده از زوج چالش- پاسخ، پاف را مدلسازی میکنند بیتهای انتخابگر مالتی پلکسرها که در ساختار عادی پاف داور بهعنوان چالش در نظر گرفته میشود درون تراشه قرار داده و پیادهسازی شد که این امر باعث مشکلتر شدن مهاجم در حمله به ساختار طرح شده است.
A Security Evaluation of Physically Unclonable Functions (PUFs) Cast In Silicon,” In Proceedings of the 14th Int. Conference on Cryptographic Hardware and Embedded Systems (Berlin, Heidelberg, 2012), CHES'12, Springer-Verlag, pp.