تابع کپیناپذیر فیزیکی
در مبحث امنیت سختافزار، یک تابعِ کپیناپذیرِ فیزیکی (به انگلیسی: Physical Unclonable Function) یا PUF (که بعضاً با در نظر گرفتن یک معیار امنیتی ضعیفتر، تابعِ فیزیکیْ کپیناپذیر نامیده میشود)، یک شیءِ فیزیکی است که به ازای یک ورودی و شرایط (چالش)، یک «اثرانگشت دیجیتالِ» فیزیکیْتعریفشده به عنوان خروجی ارائه میدهد (پاسخ) که به عنوان یک شناسهٔ منحصربهفرد و بیشتر برای دستگاههای نیمهرسانا مثل ریزپردازندهها استفاده میشود. PUFها بیشتر اوقات بر اساس تفاوتهای فیزیکی منحصربهفردی ساخته میشوند که بهطور طبیعی در هنگام تولید دستگاههای نیمهرسانا رخ میدهند. PUF یک موجودیت فیزیکی است که در یک ساختار فیزیکی قرار داده میشود. امروزه PUFها در مدارهای مجتمع پیادهسازی و معمولاً در کاربردهایی که نیازمندیهای امنیتی بالا دارند و بهطور خاص رمزنگاری استفاده میشوند.
تاریخچه
اولین ارجاعات به بهرهبرداری از ویژگیهای فیزیکیِ سیستمهای نامنظم با هدف احراز هویت به مقالهٔ باودر در سال ۱۹۸۳ و مقالات سیمونز در سال ۱۹۸۴ برمیگردد. در سال ۱۹۹۲ Naccache و Frémanteau یک شمای احراز هویت برای کارتهای حافظه ارائه کردند. اصطلاحات POWF (تابع یکطرفهٔ فیزیکی) و PUF (تابع کپیناپذیر فیزیکی) در مقالاتی در سالهای ۲۰۰۱ و ۲۰۰۲ ابداع شدند. مقالهٔ دوم اولین PUF یکپارچه را توصیف میکرد. این PUF برخلاف PUFهای مبتنی بر نور، به صورت یکپارچه با مدار اندازهگیری در یک مدار الکتریکی یکسان و بر روی سیلیکون ساخته میشود.
PUF از سال ۲۰۱۰ تا ۲۰۱۳ در بازار کارتهای هوشمند و به عنوان راهی آیندهدار برای ارائهٔ «اثرانگشت سیلیکونی» و در نتیجه ساخت کلیدهای رمزنگاری منحصر به هر کارت هوشمند مورد توجه قرار گرفت.
در حال حاضر PUFها به عنوان یک جایگزین امن به جای ذخیرهسازی باتری-پشتیبانِ کلیدهای مخفی در FPGAهای تجاری مثل Xilinx Zynq Ultrascale+ و Altera Stratix 10 استفاده میشوند.
مفهوم
PUFها به منحصربهفرد بودن ریزساختار فیزیکیشان وابستهاند و این ریزساختار به عوامل فیزیکیِ تصادفی که در حین تولید اتفاق میافتند وابسته است. این عوامل غیرقابلپیشبینی و غیرقابلکنترل هستند و بنابراین کپیکردن ساختار تقریباً غیرممکن است.
برای ارزیابی این ریزساختار، به جای قرار دادن تنها یک کلید رمزنگاری، PUFها احراز هویت چالش-پاسخ را پیادهسازی میکنند. وقتی که یک تحریک فیزیکی به ساختار اعمال میشود، به دلیل رفتار پیچیده ریزساختار فیزیکی دستگاه در مقابل آن تحریک، ساختار به شکلی غیرقابلپیشبینی (اما قابل تکرار) واکنش نشان میدهد. رفتار هر ریزساختار خاص به عوامل فیزیکی و غیرقابلپیشبینی زمان ساخت آن بستگی دارد (مثل پرتاب یک سکه). به تحریک اعمال شده چالش، و به واکنش PUF، پاسخ گفته میشود. هر چالش خاص به همراه پاسخ مربوط به آن یک جفت چالش-پاسخ (به انگلیسی: Challenge-Response Pair) یا CRP تشکیل میدهند. شناسهٔ دستگاه بر اساس ویژگیهای خود ریزساختار مشخص میشود. با توجه به اینکه با مکانیزم چالش-پاسخ، این ساختار مستقیماً فاش نمیشود، بنابراین دستگاه در مقابل حملات جعل مقاوم است.
با استفاده از یک استخراجکننده فازی، کدهای قطبی تودرتو یا استخراجکنندهٔ کلید میتوان از PUF برای استخراج یک کلید رمزنگاری قوی و منحصربهفرد استفاده کرد. آن کلید خاص هر مرتبه که PUF ارزیابی شود، مقدار قبلی را خواهد داشت.
PUFها میتوانند با هزینهٔ سختافزاری کم پیادهسازی شوند. برخلاف یک ROM که یک جدول از پاسخهای همهٔ چالشها دارد و بنابراین به هزینهٔ سختافزاری نمایی نسبت به تعداد بیتهای چالش نیاز دارد، PUF میتواند با هزینهٔ سختافزاریِ متناسب با تعداد بیتهای چالش و پاسخ پیادهسازی شود. در بعضی مواقع PUF میتواند با ویژگیهای درست از سختافزارهای موجود استفاده کند.
کپیناپذیر بودن به این معناست که هر PUF یک راه منحصربهفرد و غیرقابلپیشبینی برای نگاشت چالش به پاسخ دارد، حتی اگر دو PUF در یک فرایند ساخت و به عنوان دو دستگاه یکسان ساخته شوند. ساخت یک PUF که با یک PUF دیگر رفتار چالش-پاسخ یکسان داشته باشد عملی نیست، چون داشتن کنترل دقیق بر فرایند ساخت غیرعملی است. کپیناپذیریِ ریاضیاتی به این معناست که یافتن پاسخ به یک چالش با استفاده از سایر CRPها یا با داشتن برخی از ویژگیهای قسمتهای تصادفی یک PUF سخت باشد. با توجه به اینکه پاسخ یک چالش از ارتباط پیچیدهٔ چالش با تعداد زیادی یا همهٔ قسمتهای تصادفی PUF بدست میآید، با وجود دانستن طراحی سیستم PUF اما بدون دانستن همهٔ ویژگیهای فیزیکی قسمتهای تصادفی آن، CRPها بسیار غیرقابلپیشبینی هستند. ترکیب کپیناپذیری فیزیکی و ریاضیاتی، یک PUF واقعاً کپیناپذیر ارائه میدهد.
توجه داشته باشید که در PUF این ویژگیهای فیزیکی هستند که کپیناپذیرند، اما زمانی که یک کلید توسط PUF ساخته شد، مشکلی برای کپی کردن کلید (که خروجی PUF است) وجود ندارد.
به دلیل این ویژگیها میتوان از PUFها به عنوان یک شناسهٔ دستگاه منحصربهفرد و غیرقابلدستکاری استفاده کرد. همچنین میتوان از PUFها به عنوان روش ساخت و ذخیرهسازی کلید امن و همچنین منبع اعداد تصادفی استفاده کرد.
انواع
تا به حال بیش از ۴۰ نوع PUF پیشنهاد شدهاست از PUFهایی که یک عنصر ذاتی مدارهای مجتمع موجود را ارزیابی میکنند تا مفاهیم توزیع تصادفی ذرات بر سطح شیءِ فیزیکی برای احراز هویت. همهٔ PUFها در معرض تغییرات محیطی مثل دما، ولتاژ تغذیه و تداخل الکترومغناطیسی هستند که بر کارایی آنها تأثیرگذار است؛ بنابراین PUFها به جز فقط تصادفی بودن و داشتن عملکرد متفاوت در دستگاههای متفاوت، باید در یک دستگاه یکسان و در شرایط محیطی مختلف عملکرد یکسان داشته باشند.
تصحیح خطا
در بسیاری از کاربردها، پایدار بودن خروجی PUF مهم است. اگر قرار باشد از PUF در ساخت کلید رمزنگاری استفاده شود، لازم است تا خطاهای ناشی از فرایندهای فیزیکی زیرین تصحیح شود تا در هر بار ساخت و در هر شرایطی، کلید مقدار یکسانی داشته باشد. دو مفهوم پایه در تصحیح خطا وجود دارد: پیشپردازش و پسپردازش.
استراتژیهایی برای افزایش قابلیت اعتماد PUFهای نوع SRAM در طول زمان، بدون کم کردن ویژگیهایی مثل امنیت و کارایی، توسعه یافتهاند.
تحقیقات در دانشگاه کارنگی ملون بر روی پیادهسازی انواع PUF نشان دادند که بعضی از تکنیکهای کاهش خطا مقدار خطای پاسخ PUF را در بازهٔ تقریباً ۷۰ تا ۱۰۰ درصد کاهش میدهند.
تحقیقی در دانشگاه ماساچوست در امهرست برای افزایش قابلیت اعتماد PUFهای نوع SRAM برای ساخت کلید، یک تکنیک تصحیح خطا برای کاهش نرخ خطا مطرح کردهاست.
برای بدست آوردن قابلیت اطمینان بیشتر برای هر بیت تولید شده توسط PUF از روشهای کدگذاری هم قابلاعتماد و هم امن مبتنی بر کدگذاری تبدیل استفاده میشود، به طوری که برای اینکه احتمال خطای یک بلاک برابر ۱ بیت از ۱ میلیارد بیت باشد، کدهای تصحیح خطا با پیچیدگی پایین، مثل کدهای BCH کافی باشند.
از کدهای قطبی تو در تو بهطور مشترک برای کمیتسازی بردار و تصحیح خطا استفاده میشود. کارایی آنها برای طول بلاک داده شده در ابعاد حداکثر تعداد بیت مخفی تولید شده، حداقل مقدار اطلاعات شخصی فاش شده دربارهٔ خروجی PUF و حداقل ذخیرهسازی لازم به صورت متناوب بهینه است. نشان داده شدهاست که شمای تعهد فازی (به انگلیسی: Fuzzy Commitment Scheme) و استخراجکنندههای فازی در بعد حداقل ذخیرهسازی کاملاً بهینه نیستند.
دسترسی
- برای استفاده از تکنولوژی PUF میتوان از شرکتهایی شاملeMemory یا شرکتهای تابع آن، PUFSecurity, Enthentica, ICTK,Intrinsic ID, Invia, QuantumTrace و Verayo مجوز گرفت.
- تکنولوژی PUF در سختافزارهای مختلفی از جمله Microsemi SmartFusion2، NXP SmartMX2، Coherent Logix HyperX, InsideSecure MicroXsafe, Altera Stratix 10، 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ها کمک کنند، حتی اگر دمای محیط و ولتاژ تغذیه تغییر کنند.
جستارهای وابسته
منابع
- ↑ 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.
- ↑ David Naccache and Patrice Frémanteau, Unforgeable identification device, identification device reader and method of identification, August 1992.
- ↑ Pappu, R.; Recht, B.; Taylor, J.; Gershenfeld, N. (2002). "Physical one-way functions". Science. 297 (5589): 2026–2030. Bibcode:2002Sci...297.2026P. doi:10.1126/science.1074376. PMID 12242435.
- ↑ Blaise Gassend, Dwaine Clarke, Marten van Dijk and Srinivas Devadas. Silicon Physical Random Functions. Proceedings of the Computer and Communications Security Conference, November 2002
- ↑ Clarke, Peter (22 February 2013). "London Calling: Security technology takes time". UBM Tech Electronics. Retrieved 1 July 2013.
- ↑ "NXP and Intrinsic-ID to raise smart chip security". EE Times. UBM Tech Electronics. 21 January 2010. Retrieved 1 July 2013.
- ↑ Xilinx Addresses Rigorous Security Demands at Fifth Annual Working Group for Broad Range of Applications
- ↑ {url = https://www.intrinsic-id.com/altera-reveals-stratix-10-with-intrinsic-ids-puf-technology/}
- ↑ 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
- ↑ Tuyls, Pim; Šcorić, Boris; Kevenaar, Tom (2007). Security with Noisy Data: Private Biometics, Secure Key Storage and Anti-counterfeiting. Springer. doi:10.1007/978-1-84628-984-2. ISBN 978-1-84628-983-5.
- ↑ Maes, R. (2013). Physically unclonable functions: Constructions, Properties and Applications. Springer. ISBN 978-3-642-41395-7.
- ↑ "PUF Technology Overview".
- ↑ 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.
- ↑ McGrath, Thomas; Bagci, Ibrahim E.; Wang, Zhiming M.; Roedig, Utz; Young, Robert J. (2019). "A PUF taxonomy". Applied Physics Reviews. 6 (11303): 011303. doi:10.1063/1.5079407.
- ↑ Helinski, R.; Acharyya, D.; Plusquellic, J. (2009). "A physical unclonable function defined using power distribution system equivalent resistance variations". Proceedings of the 46th ACM/IEEE Design Automation Conference (DAC): 676–681.
- ↑ Chong, C. N.; Jiang, J.; Guo, L. (2008). "Anti-counterfeiting with a random pattern". Proceedings of Second International Conference on Emerging Security Information, Systems and Technologies (SECURWARE): 146–153.
- ↑ Christoph, Boehm (2012). Physical Unclonable Functions in Theory and Practice. Springer.
- ↑ 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.
- ↑ 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)
- ↑ Bhargava, M. "Reliable, Secure, Efficient Physical Unclonable Functions", Carnegie Mellon University Research Showcase @ CMU, Pittsburgh, Pennsylvania, 2013
- ↑ 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
- ↑ 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
- ↑ http://www.ememory.com.tw
- ↑ "PUFsecurity | Secure the Connected World | Taiwan". Pufsecurity (به انگلیسی). Retrieved 2019-12-17.
- ↑ "Enthentica Company Website". www.enthentica.com.
- ↑ Intrinsic ID company website
- ↑ Microsemi to offer Intrinsic-ID security in FPGAs and systems-on-chip for sensitive military applications, Military & Aerospace Electronics, August 2011
- ↑ "NXP and Intrinsic-ID to raise smart chip security". EE Times. UBM Tech Electronics. 21 January 2010. Retrieved 1 July 2013.
- ↑ Altera Partners with Intrinsic-ID to Develop World’s Most Secure High-End FPGA, October 12, 2015
- ↑ "Verayo PUF IP on Xilinx Zynq UltraScale+ MPSoC Devices Addresses Security Demands".
- ↑ Merli, Dominik; Schuster, Dieter; Stumpf, Frederic; Sigl, Georg (2011), "Side Channel Analysis of PUFs and Fuzzy Extractors", Trust and Trustworthy Computing. 4th International Conference, TRUST 2011, Pittsburgh, PA, USA, June 22-24, 2011. Proceedings, Lecture Notes in Computer Science, vol. 6740, Springer Berlin Heidelberg, pp. 33–47, doi:10.1007/978-3-642-21599-5_3, ISBN 978-3-642-21598-8
- ↑ Schuster, Dieter (2010). Side-Channel Analysis of Physical Unclonable Functions (PUFs) (PDF) (Diploma). Technische Universität München. Archived from the original (PDF) on 9 July 2015. Retrieved 28 June 2020.
- ↑ Rührmair, Ulrich; van Dijk, Marten (2013). PUFs in Security Protocols: Attack Models and Security Evaluations (PDF). 2013 IEEE Symposium on Security and Privacy. May 19–22, 2013 San Francisco, CA, USA.
- ↑ Katzenbeisser, Stefan; Kocabas, Ünal; Rožic, Vladimir; Sadeghi, Ahmad-Reza; Verbauwhede, Ingrid; Wachsmann, Christian (2012), "PUFs: Myth, Fact or Busted? A Security Evaluation of Physically Unclonable Functions (PUFs) Cast in Silicon", Cryptographic Hardware and Embedded Systems – CHES 2012. 14th International Workshop, Leuven, Belgium, September 9-12, 2012. Proceedings (PDF), Lecture Notes in Computer Science, vol. 7428, Springer Berlin Heidelberg, pp. 283–301, doi:10.1007/978-3-642-33027-8_17, ISBN 978-3-642-33026-1
- ↑ Merli, Dominik (2012). Hardware Attacks on PUFs (PDF). Proceedings AHS2012, NASA/ESA Conference on Adaptive Hardware and Systems. June 25 – 28, 2012 Erlangen, Germany. Archived from the original (PDF) on 10 June 2015. Retrieved 30 June 2020.
- ↑ Becker, Georg (2015). The Gap Between Promise and Reality: On the Insecurity of XOR Arbiter PUFs. Lecture Notes in Computer Science. doi:10.1007/978-3-662-48324-4_27.
- ↑ Helfmeier, Clemens; Nedospasov, Dmitry; Boit, Christian; Seifert, Jean-Pierre (2013). Cloning Physically Unclonable Functions (PDF). IEEE Hardware Oriented Security and Trust (IEEE HOST 2013). June 2–3, 2013 Austin, TX, USA. Archived from the original (PDF) on 1 August 2016. Retrieved 30 June 2020.
- ↑ Gassend, Blaise; Clarke, Dwaine; van Dijk, Marten; Devadas, Srinivas (2002). Silicon physical random functions. Proceedings of the 9th ACM Conference on Computer and Communications Security - CCS '02. New York, New York, USA: ACM Press. doi:10.1145/586110.586132. ISBN 978-1-58113-612-8.
- ↑ Herder, Charles; Ren, Ling; van Dijk, Marten; Yu, Meng-Day; Devadas, Srinivas (2017-01-01). "Trapdoor computational fuzzy extractors and stateless cryptographically-secure physical unclonable functions". IEEE Transactions on Dependable and Secure Computing. 14 (1): 65–82. doi:10.1109/tdsc.2016.2536609. ISSN 1545-5971.
- ↑ Ganji, Fatemeh (2018). On the learnability of physically unclonable functions. Springer. ISBN 978-3-319-76716-1.
- ↑ Ganji, Fatemeh (2018). "PUFmeter: A Property Testing Tool for Physically Unclonable Functions" (PDF).
- ↑ "Software Developed for the Trust-Hub Project (Available for Download)". 2018.
- ↑ 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
- اعداد واقعاً تصادفی بسیار کم هزینه و اثر انگشت فیزیکی