تابع کپی‌ناپذیر فیزیکی

در مبحث امنیت سخت‌افزار، یک تابعِ کپی‌ناپذیرِ فیزیکی  یا PUF (که بعضاً با در نظر گرفتن یک معیار امنیتی ضعیف‌تر، تابعِ فیزیکیْ کپی‌ناپذیر نامیده می‌شود)، یک شیءِ فیزیکی است که به ازای یک ورودی و شرایط (چالش)، یک «اثرانگشت دیجیتالِ» فیزیکیْ‌تعریف‌شده به عنوان خروجی ارائه می‌دهد (پاسخ) که به عنوان یک شناسهٔ منحصربه‌فرد و بیشتر برای دستگاه‌های نیمه‌رسانا مثل ریزپردازنده‌ها استفاده می‌شود. PUFها بیشتر اوقات بر اساس تفاوت‌های فیزیکی منحصربه‌فردی ساخته می‌شوند که به‌طور طبیعی در هنگام تولید دستگاه‌های نیمه‌رسانا رخ می‌دهند. PUF یک موجودیت فیزیکی است که در یک ساختار فیزیکی قرار داده می‌شود. امروزه PUFها در مدارهای مجتمع پیاده‌سازی و معمولاً در کاربردهایی که نیازمندی‌های امنیتی بالا دارند و به‌طور خاص رمزنگاری استفاده می‌شوند.

 تاریخچه 
اولین ارجاعات به بهره‌برداری از ویژگی‌های فیزیکیِ سیستم‌های نامنظم با هدف احراز هویت به مقالهٔ باودر در سال ۱۹۸۳D.W. Bauder, "An anti-counterfeiting concept for currency systems", Research report PTK-11990. Sandia National Labs. Albuquerque, NM, 1983. و مقالات سیمونز در سال ۱۹۸۴G. Simmons, "A system for verifying user identity and authorization at the point-of sale or access," Cryptologia, vol. 8, no. 1, pp. 1–21, 1984.G. Simmons, "Identification of data, devices, documents and individuals," in IEEE International Carnahan Conference on Security Technology, 1991, pp. 197–218. برمی‌گردد. در سال ۱۹۹۲ Naccache و Frémanteau یک شمای احراز هویت برای کارت‌های حافظه ارائه کردند.David Naccache and Patrice Frémanteau, Unforgeable identification device, identification device reader and method of identification, August 1992. اصطلاحات POWF (تابع یک‌طرفهٔ فیزیکی) و PUF (تابع کپی‌ناپذیر فیزیکی) در مقالاتی در سال‌های ۲۰۰۱ و ۲۰۰۲Blaise Gassend, Dwaine Clarke, Marten van Dijk and Srinivas Devadas. Silicon Physical Random Functions. Proceedings of the Computer and Communications Security Conference, November 2002 ابداع شدند. مقالهٔ دوم اولین PUF یکپارچه را توصیف می‌کرد. این PUF برخلاف PUFهای مبتنی بر نور، به صورت یکپارچه با مدار اندازه‌گیری در یک مدار الکتریکی یکسان و بر روی سیلیکون ساخته می‌شود.

PUF از سال ۲۰۱۰ تا ۲۰۱۳ در بازار کارتهای هوشمند و به عنوان راهی آینده‌دار برای ارائهٔ «اثرانگشت سیلیکونی» و در نتیجه ساخت کلیدهای رمزنگاری منحصر به هر کارت هوشمند مورد توجه قرار گرفت.Clarke, Peter (22 February 2013). "London Calling: Security technology takes time". UBM Tech Electronics. Retrieved 1 July 2013.

در حال حاضر PUFها به عنوان یک جایگزین امن به جای ذخیره‌سازی باتری-پشتیبانِ کلیدهای مخفی در FPGAهای تجاری مثل Xilinx Zynq Ultrascale+Xilinx Addresses Rigorous Security Demands at Fifth Annual Working Group for Broad Range of Applications و Altera Stratix 10 استفاده می‌شوند.{url = https://www.intrinsic-id.com/altera-reveals-stratix-10-with-intrinsic-ids-puf-technology/}

 مفهوم 
PUFها به منحصربه‌فرد بودن ریزساختار فیزیکیشان وابسته‌اند و این ریزساختار به عوامل فیزیکیِ تصادفی که در حین تولید اتفاق می‌افتند وابسته است. این عوامل غیرقابل‌پیش‌بینی و غیرقابل‌کنترل هستند و بنابراین کپی‌کردن ساختار تقریباً غیرممکن است.

برای ارزیابی این ریزساختار، به جای قرار دادن تنها یک کلید رمزنگاری، PUFها احراز هویت چالش-پاسخ را پیاده‌سازی می‌کنند. وقتی که یک تحریک فیزیکی به ساختار اعمال می‌شود، به دلیل رفتار پیچیده ریزساختار فیزیکی دستگاه در مقابل آن تحریک، ساختار به شکلی غیرقابل‌پیش‌بینی (اما قابل تکرار) واکنش نشان می‌دهد. رفتار هر ریزساختار خاص به عوامل فیزیکی و غیرقابل‌پیش‌بینی زمان ساخت آن بستگی دارد (مثل پرتاب یک سکه). به تحریک اعمال شده چالش، و به واکنش PUF، پاسخ گفته می‌شود. هر چالش خاص به همراه پاسخ مربوط به آن یک جفت چالش-پاسخ  یا CRP تشکیل می‌دهند. شناسهٔ دستگاه بر اساس ویژگی‌های خود ریزساختار مشخص می‌شود. با توجه به اینکه با مکانیزم چالش-پاسخ، این ساختار مستقیماً فاش نمی‌شود، بنابراین دستگاه در مقابل حملات جعل مقاوم است.

با استفاده از یک استخراج‌کننده فازی، کدهای قطبی تودرتوGunlu, O. ; Iscan, O. ; Sidorenko, V. ; and Kramer, G. "Code Constructions for Physical Unclonable Functions and Biometric Secrecy Systems", IEEE Transactions on Information Forensics and Security, 15 April 2019 یا استخراج‌کنندهٔ کلید می‌توان از PUF برای استخراج یک کلید رمزنگاری قوی و منحصربه‌فرد استفاده کرد. آن کلید خاص هر مرتبه که PUF ارزیابی شود، مقدار قبلی را خواهد داشت."PUF Technology Overview".

PUFها می‌توانند با هزینهٔ سخت‌افزاری کم پیاده‌سازی شوند. برخلاف یک ROM که یک جدول از پاسخ‌های همهٔ چالش‌ها دارد و بنابراین به هزینهٔ سخت‌افزاری نمایی نسبت به تعداد بیت‌های چالش نیاز دارد، PUF می‌تواند با هزینهٔ سخت‌افزاریِ متناسب با تعداد بیت‌های چالش و پاسخ پیاده‌سازی شود. در بعضی مواقع PUF می‌تواند با ویژگی‌های درست از سخت‌افزارهای موجود استفاده کند.

کپی‌ناپذیر بودن به این معناست که هر PUF یک راه منحصربه‌فرد و غیرقابل‌پیش‌بینی برای نگاشت چالش به پاسخ دارد، حتی اگر دو PUF در یک فرایند ساخت و به عنوان دو دستگاه یکسان ساخته شوند. ساخت یک PUF که با یک PUF دیگر رفتار چالش-پاسخ یکسان داشته باشد عملی نیست، چون داشتن کنترل دقیق بر فرایند ساخت غیرعملی است. کپی‌ناپذیریِ ریاضیاتی به این معناست که یافتن پاسخ به یک چالش با استفاده از سایر CRPها یا با داشتن برخی از ویژگی‌های قسمت‌های تصادفی یک PUF سخت باشد. با توجه به اینکه پاسخ یک چالش از ارتباط پیچیدهٔ چالش با تعداد زیادی یا همهٔ قسمت‌های تصادفی PUF بدست می‌آید، با وجود دانستن طراحی سیستم PUF اما بدون دانستن همهٔ ویژگی‌های فیزیکی قسمت‌های تصادفی آن، CRPها بسیار غیرقابل‌پیش‌بینی هستند. ترکیب کپی‌ناپذیری فیزیکی و ریاضیاتی، یک PUF واقعاً کپی‌ناپذیر ارائه می‌دهد.C. Herder, L. Ren, M. van Dijk, M-D. Yu, and S. Devadas, "Trapdoor Computational Fuzzy Extractors and Cryptographically-Secure Physical Unclonable Functions", IEEE Transactions on Dependable and Secure Computing, January 2017.

توجه داشته باشید که در PUF این ویژگی‌های فیزیکی هستند که کپی‌ناپذیرند، اما زمانی که یک کلید توسط PUF ساخته شد، مشکلی برای کپی کردن کلید (که خروجی PUF است) وجود ندارد.

به دلیل این ویژگی‌ها می‌توان از PUFها به عنوان یک شناسهٔ دستگاه منحصربه‌فرد و غیرقابل‌دستکاری استفاده کرد. همچنین می‌توان از PUFها به عنوان روش ساخت و ذخیره‌سازی کلید امن و همچنین منبع اعداد تصادفی استفاده کرد.

 انواع 
تا به حال بیش از ۴۰ نوع PUF پیشنهاد شده‌است از PUFهایی که یک عنصر ذاتی مدارهای مجتمع موجود را ارزیابی می‌کنند تا مفاهیم توزیع تصادفی ذرات بر سطح شیءِ فیزیکی برای احراز هویت. همهٔ PUFها در معرض تغییرات محیطی مثل دما، ولتاژ تغذیه و تداخل الکترومغناطیسی هستند که بر کارایی آن‌ها تأثیرگذار است؛ بنابراین PUFها به جز فقط تصادفی بودن و داشتن عملکرد متفاوت در دستگاه‌های متفاوت، باید در یک دستگاه یکسان و در شرایط محیطی مختلف عملکرد یکسان داشته باشند.

 تصحیح خطا 
در بسیاری از کاربردها، پایدار بودن خروجی PUF مهم است. اگر قرار باشد از PUF در ساخت کلید رمزنگاری استفاده شود، لازم است تا خطاهای ناشی از فرایندهای فیزیکی زیرین تصحیح شود تا در هر بار ساخت و در هر شرایطی، کلید مقدار یکسانی داشته باشد. دو مفهوم پایه در تصحیح خطا وجود دارد: پیش‌پردازش و پس‌پردازش.C. Bohm, M. Hofer, and W. Pribyl, "A microcontroller sram-puf," in Network and System Security (NSS), 2011 5th International Conference September 2011, pp. 269–273.

استراتژی‌هایی برای افزایش قابلیت اعتماد PUFهای نوع SRAM در طول زمان، بدون کم کردن ویژگی‌هایی مثل امنیت و کارایی، توسعه یافته‌اند.Maes, R, and Van der Leest, V. "Countering the effects of silicon aging on SRAM PUFs", Proceedings of the 2014 IEEE International Symposium on Hardware-Oriented Security and Trust (HOST)

تحقیقات در دانشگاه کارنگی ملون بر روی پیاده‌سازی انواع PUF نشان دادند که بعضی از تکنیک‌های کاهش خطا مقدار خطای پاسخ PUF را در بازهٔ تقریباً ۷۰ تا ۱۰۰ درصد کاهش می‌دهند.Bhargava, M. "Reliable, Secure, Efficient Physical Unclonable Functions", Carnegie Mellon University Research Showcase @ CMU, Pittsburgh, Pennsylvania, 2013

تحقیقی در دانشگاه ماساچوست در امهرست برای افزایش قابلیت اعتماد PUFهای نوع SRAM برای ساخت کلید، یک تکنیک تصحیح خطا برای کاهش نرخ خطا مطرح کرده‌است.Vijayakumar, A. ; Patil, V.C. ; and Kundu, S. "On Improving Reliability of SRAM-Based Physically Unclonable Functions", Journal of Low Power Electronics and Applications, 12 January 2017

برای بدست آوردن قابلیت اطمینان بیشتر برای هر بیت تولید شده توسط PUF از روش‌های کدگذاری هم قابل‌اعتماد و هم امن مبتنی بر کدگذاری تبدیل استفاده می‌شود، به طوری که برای اینکه احتمال خطای یک بلاک برابر ۱ بیت از ۱ میلیارد بیت باشد، کدهای تصحیح خطا با پیچیدگی پایین، مثل کدهای BCH کافی باشند.Gunlu, O. ; Kernetzky, T. ; Iscan, O. ; Sidorenko, V. ; Kramer, G. ; and Schaefer, R. "Secure and Reliable Key Agreement with Physical Unclonable Functions", Entropy Journal, 3 May 2018

از کدهای قطبی تو در تو به‌طور مشترک برای کمیت‌سازی بردار و تصحیح خطا استفاده می‌شود. کارایی آن‌ها برای طول بلاک داده شده در ابعاد حداکثر تعداد بیت مخفی تولید شده، حداقل مقدار اطلاعات شخصی فاش شده دربارهٔ خروجی PUF و حداقل ذخیره‌سازی لازم به صورت متناوب بهینه است. نشان داده شده‌است که شمای تعهد فازی  و استخراج‌کننده‌های فازی در بعد حداقل ذخیره‌سازی کاملاً بهینه نیستند.

 دسترسی 
 برای استفاده از تکنولوژی PUF می‌توان از شرکت‌هایی شاملhttp://www.ememory.com.tweMemory یا شرکت‌های تابع آن، PUFSecurity, Enthentica, ICTK,Intrinsic ID,Intrinsic ID company website Invia, QuantumTrace و Verayo مجوز گرفت.
 تکنولوژی PUF در سخت‌افزارهای مختلفی از جمله Microsemi SmartFusion2،Microsemi to offer Intrinsic-ID security in FPGAs and systems-on-chip for sensitive military applications, Military & Aerospace Electronics, August 2011 NXP SmartMX2، Coherent Logix HyperX, InsideSecure MicroXsafe, Altera Stratix 10،Altera Partners with Intrinsic-ID to Develop World’s Most Secure High-End FPGA, October 12, 2015 Redpine Signals WyzBee و Xilinx Zynq Ultrascale+ پیاده‌سازی شده‌است.

 آسیب‌پذیری‌ها 
در سال ۲۰۱۱ تحقیق دانشگاهی نشان داد که PUFهای مبتنی بر تأخیر در برابر حملات کانال جانبی آسیب‌پذیر هستند و پیشنهاد شد که برای جلوگیری از این حملات از در طراحی راه‌های مقابله استفاده شود. همچنین پیاده‌سازی نامناسب PUF می‌تواند دارای درپشتی باشد. در ژوئن ۲۰۱۲، یک محقق در مؤسسهٔ تحقیقاتی فراونهوفر در امنیت کاربردی و یکپارچه (AISEC) به نام دومنیک مرلی ادعا کرد که PUF نقاط ورود بیشتری برای حمله به یک سیستم رمزنگاری فراهم می‌کند و اینکه به تحقیقات بیشتری دربارهٔ آسیب‌پذیری‌های PUFها نیاز است، قبل از آنکه بتوان از آن‌ها در کاربردهای عملی مربوط به امنیت استفاده کرد. حملات ارائه‌شده همه بر PUFهایی بودند که در سیستم‌های ناامن مثل FPGA یا SRAM پیاده‌سازی شده بودند. همچنین اطمینان به مناسب بودن شرایط محیط برای سطح امنیتی مورد نیاز الزامی است.

چند تحقیق در سال ۲۰۱۵ ادعا کردند که امکان حمله به انواع خاصی از PUFها با تجهیزات ارزان و در زمانی در حد چند میلی‌ثانیه وجود دارد. تیمی در دانشگاه رور بوخوم آلمان روشی برای ساخت یک مدل از نوع XOR Arbiter PUF ارائه دادند که بتوانند پاسخ آن را به هر چالش پیش‌بینی کنند. روش آن‌ها فقط به ۴ جفت چالش-پاسخ نیاز دارد که تولید آن‌ها حتی در دستگاه‌هایی که منابع محدود دارند نباید بیشتر از ۲۰۰ میلی‌ثانیه طول بکشد. با استفاده از این روش و یک دستگاه ۲۵ دلاری یا یک تلفن همراه هوشمند با قابلیت NFC، آن تیم توانستند با موفقیت RFIDهای مبتنی بر PUF را در حالی که در یک کیف پول و در جیب عقب افراد بود، کپی کنند.

 حملات قابل اثبات مبتنی بر یادگیری ماشین 
حملاتی که بالاتر ذکر شدند از انواع تهاجمی تا غیرتهاجمی گسترده‌اند. یکی از انواع مشهورترین حملات غیرتهاجمی حملات یادگیری ماشین هستند. از شروع دوران PUFها این شک وجود داشت که این نوع حملات قابل انجام بر PUFها باشند. در نبود آنالیز دقیق و اثبات‌های ریاضیاتی امنیت PUF، حملات تک‌کاره در مقالات معرفی شدند. در نتیجه راه‌های مقابله برای این نوع حملات کمتر موثرند. همراه با این تلاش‌ها، حدس زده شده که آیا PUFها می‌توانند به شکل مدار در نظر گرفته شوند تا اثبات شود که شکستن آن‌ها سخت است. در پاسخ یک چارچوب ریاضیاتی پیشنهاد شده‌است که در آن حملات یادگیری ماشین قابل اثبات برای چند دسته از انواع PUFهای شناخته شده معرفی شده‌است.

به همراه این چارچوب و برای ارزیابی امنیت PUF در مقابل حملات یادگیری ماشین، الگوریتم‌های تست ویژگی در جوامع علمی امنیت سخت‌افزار بازمعرفی شده‌اند و به صورت عمومی در دسترس قرار گرفته‌اند. این الگوریتم‌ها ریشه در موضوعات تحقیقاتی تثبیت‌شدهٔ تست ویژگی، نظریهٔ یادگیری ماشین و تحلیل بولی دارند.

یکی از دلایل قابل استفاده بودن حملات یادگیری ماشین برای PUFها ممکن است این باشد که بیشتر روش‌های پیش‌پردازش و پس‌پردازش که تاکنون استفاده شده‌اند، اثر همبستگی بین خروجی‌های PUF را نادیده می‌گیرند. برای مثال یک روش برای کاهش همبستگی، گرفتن یک بیت از مقایسهٔ خروجی دو نوسان‌ساز حلقوی است. اما این روش همهٔ همبستگی‌ها را از بین نمی‌برد؛ بنابراین تبدیل‌های کلاسیک موجود در زمینهٔ پردازش سیگنال‌ها به خروجی خام PUFها اعمال می‌شوند تا قبل از کمیت‌سازی خروجی در دامنهٔ تبدیل برای تولید رشته بیت‌های خروجی ناهمبند شوند. این روش‌های ناهمبندکردن می‌توانند به غلبه بر مشکل افشای اطلاعات مبتنی بر همبستگی خروجی PUFها کمک کنند، حتی اگر دمای محیط و ولتاژ تغذیه تغییر کنند.Gunlu, O. ; Iscan, O. ; and Kramer, G. "Reliable secret key generation from physical unclonable functions under varying environmental conditions", IEEE Workshop on Information Forensics and Security, 4 January 2016

 جستارهای وابسته 
 تولید اعداد تصادفی

 منابع 

 پیوند به بیرون 
 "توابع کپی‌ناپذیر فیزیکی و کاربردها "، توسط سرینی دیواداس و دیگران، MIT
 اعداد واقعاً تصادفی بسیار کم هزینه و اثر انگشت فیزیکی

رده:پایه رمزنگاری