مبهمسازی سختافزاری
مبهم سازی سختافزاری، تکنیکی است که به کمک آن توصیف یا ساختار سختافزارهای الکترونیکی با هدف پنهان سازی عمدی عملکرد آنها و دشوارترکردن مهندسی معکوس، تغییر داده میشود. به عبارتی دیگر در مبهم سازی سختافزاری، طرح به گونه ای تغییر داده میشود که معماری حاصله برای مهاجم مبهم و نامفهوم گردد.[۱] مبهم سازی سختافزاری، بسته به پلتفرم سختافزاری هدف، میتواند دو نوع باشد: (الف) مبهم سازی سختافزاری هسته پردازندههای سیگنال دیجیتال؛ که در آن، روی نمایش گراف جریان داده هسته پردازنده سیگنال دیجیتال، تغییرات سطح بالای مشخصی داده میشود تا آن را به فرم نامعلوم و معماری مبهمی در سطح انتقال ثباتی یا گیتی، تبدیل کند. این نوع مبهم سازی، مبهم سازی ساختاری نیز نامیده میشود. نوع دیگری از متدهای مبهم سازی هسته پردازنده سیگنال دیجیتال، مبهم سازی عملکردی است که در آن از استاندارد رمزنگاری پیشرفته و بلوکهای قفل کننده هسته با مالکیت معنوی، به منظور قفل کردن عملکرد هسته پردازنده سیگنال دیجیتال با بیتهای کلید، به صورت ترکیبی استفاده میشود. بدون بهکارگیری توالی کلید صحیح، هسته پردازنده سیگنال دیجیتال خروجی اشتباه میدهد یا اصلاً هیچ خروجی نمیدهد.[۲] (ب) مبهم سازی سختافزاری ترکیبی- ترتیبی؛ که در این نوع مبهم سازی، در ساختار سطح گیتی خود مدار تغییراتی داده میشود.[۳][۴]
در واقع، مبهم سازی سختافزاری و نهان نگاری دیجیتال (که در آن مالکیت در خود محتوای دیجیتال پنهان میگردد) یا نهان نگاری مالکیت معنوی[۵] سختافزار که در آن مالکیت اطلاعات در توصیف مدار نهفتهاست، متفاوت میباشند. علاوه بر این، متفاوت از تکنیکهای حفاظت مالکیت معنوی سختافزار مبتنی بر رمزنگاری است که در جریان طراحی مدار مجتمع دیجیتال برنامهپذیر، رایج است.[۶][۷]
اهمیت نهان نگاری سختافزاری طی سالهای اخیر به دلیل گسترش بهکارگیری روشهای طراحی مبتنی بر مالکیت معنوی سختافزار برای مدارات مجتمع مدرن نظیر سیستم روی تراشه بیشتر شدهاست. مسائل امنیتی اصلی مرتبط با مالکیت معنوی سختافزار شامل چند مورد است: (الف) نقض مالکیت معنوی سختافزار در طول طراحی سیستم روی تراشه (ب) مهندسی معکوس مدار مجتمع تولیدشده یا پایگاه داده طراحی مدارات مجتمع (در تجهیزات ساخت) به منظور تولید مدارات مجتمع جعلی یا کپی شده و (ج) دستکاریهای خرابکارانه مالکیت معنوی به وسیله درج تروجان سختافزاری به منظور ایجاد خرابی عملکردی در حین کار. هدف مبهم سازی سختافزاری، حداقل سازی این خطرات در سطح مالکیت معنوی یا تراشه با دشوارسازی درک عملکرد واقعی طرح برای مهاجم است.
تکنیکهای مبهم سازی سختافزاری در دو گروه قابل دستهبندی هستند. (الف) تکنیکهای غیرفعال که اثر مستقیمی روی عملکرد سیستم الکترونیکی ندارند و (ب) تکنیکهای فعال که به صورت مستقیم عملکرد سیستم را تغییر میدهند. بیشتر تکنیکهای مبهم سازی سختافزاری فعال، «مبتنی بر کلید» هستند به طوری که عملکرد نرمال طرح مبهم سازی شده، فقط با بهکارگیری موفق یک کلید از پیش تعیین شده یا یک توالی از کلیدهای مخفی در ورودی، ممکن میگردد؛ در غیر اینصورت مدار در مدی که عملکرد اشتباهی را نشان میدهد، کار میکند. این کار با تعبیه یک ماشین حالت متناهی مخفی در مدار که مدهای عملکردی را بر مبنای کلیدهای به کارگرفته شده کنترل میکند، قابل انجام است. تکنیک مبتنی بر کلید در مبهم سازی سختافزاری فعال در اصل مشابه با رویکردهای رمزنگاری کلید خصوصی برای محافظت اطلاعات است چرا که توالی کلید در طرح مبهم سازی شده نقش مشابهی با کلید در رمزنگاری بازی میکند. این تکنیک در سطوح مختلف توصیف سختافزار نظیر طراحی در سطح گیت یا انتقال ثباتی میتواند مورد استفاده قرار گیرد و بدین ترتیب میتواند برای حفاظت از هستههای نرم، محکم و سخت با مالکیت معنوی به کار برده شود.[۸] علاوه بر این، مبهم سازی میتواند در مخفی سازی مؤثر مشخصههای امنیتی در یک مدار مجتمع هم کمک نماید و بنابراین محافظت از مدار مجتمع در برابر جعل و کپی در تجهیزات ساخت را ممکن میسازد.[۹]
در مقابل، تکنیکهای غیرفعال توصیف مدار را به صورت نرم دستکاری میکنند (برای مثال تغییرات نحوی) به طوری که درک عملکرد مدار برای یک خواننده انسان دشوار شود. معمولاً این رویکردها از جایگزینی رشته (شامل تغییر نام متغیر، حذف توضیحات و غیره)[۱۰] یا تغییر ساختار در توصیف مدار در زبان توصیف سختافزار (شامل بازکردن حلقه، تغییر نام ثبات و غیره)[۱۱] استفاده میکنند. یکی از نقاط ضعف رویکردهای غیرفعال این است که عملکرد جعبه سیاه مدار را تغییر نداده و بدین ترتیب از بهکارگیری احتمالی مالکیت معنوی به صورت جعبه سیاه در یک طرح نمیتواند پیشگیری کند. علاوه بر این، نقطه قوت این نوع مبهم سازی هم جای بحث دارد چرا که به صورت کلی مبهم سازی جعبه سیاه، حداقل برای برنامههای نرمافزاری که توابع ریاضی مشخصی را محاسبه میکنند، وجود ندارد.[۱۲]
نهان نگاری سختافزاری به همراه مبهم سازی سختافزاری قابل استفاده است. نهان نگاری در یک طرح مبهم سازی شده میتواند به نوعی، یک خط دوم دفاعی در مقابل فعالیتهای غیرمجاز برای کپی کردن، ایجاد نماید.[۱۳]
پیشینه تاریخی
[ویرایش]احتمالاً پیشینه مبهم سازی سختافزاری در محاسبات، به دوره ساخت واحدهای پردازش مرکزی بزرگ رایانهها که عمدتاً به وسیله آی بی ام در طول سالهای ۱۹۶۰ تا۱۹۷۰ تولید میشدند، بر میگردد. آی بی ام در آن دوره، به منظور حفظ برخی مزیتهای رقابتی بزرگ رایانهها، کدهای دستورالعمل مخفی که فقط به وسیله سیستم عامل متن بسته بزرگ رایانهها قابل استفاده بود را پیادهسازی نمود. [نیازمند منبع]
جستارهای وابسته
[ویرایش]منابع
[ویرایش]- ↑ Anirban Sengupta, Dipanjan Roy, Saraju Mohanty, Peter Corcoran "DSP Design Protection in CE through Algorithmic Transformation Based Structural Obfuscation", IEEE Transactions on Consumer Electronics, Volume 63, Issue 4, November 2017, pp: 467 - 476
- ↑ Anirban Sengupta, Deepak Kachave, Dipanjan Roy "Low Cost Functional Obfuscation of Reusable IP Cores used in CE Hardware through Robust Locking", IEEE Transactions on Computer Aided Design of Integrated Circuits & Systems (TCAD), 2018
- ↑ Anirban Sengupta, Dipanjan Roy "Protecting an Intellectual Property Core during Architectural Synthesis using High-Level Transformation Based Obfuscation" IET Electronics Letters, Volume: 53, Issue: 13, June 2017, pp. 849 - 851
- ↑ M. Yasin, J. Rajendran, O. Sinanoglu, and R. Karri. "On improving the security of logic locking." IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 35, no. 9 (2016): 1411-1424
- ↑ E. Castillo, U. Meyer-Baese, A. Garcia, L. Parilla, and A. Lloris: "IPP@HDL: efficient intellectual property protection scheme for IP cores", IEEE Transactions on VLSI, 16(5), 2007.
- ↑ Xilinx Corporation: "Xilinx IP evaluation", «نسخه آرشیو شده». بایگانیشده از اصلی در ۲۰ سپتامبر ۲۰۱۰. دریافتشده در ۱۵ ژوئیه ۲۰۲۰., 2009.
- ↑ M. Wirthlin and B. McMurtrey: "IP delivery for FPGAs using Applets and JHDL", Design Automation Conference (DAC), 2002.
- ↑ R.S. Chakraborty and S. Bhunia: "RTL hardware IP protection using key-based control and data flow obfuscation", International Conference on Very Large Scale Integration Design (VLSID), 2010.
- ↑ J. Roy, F. Koushanfar, and I.L. Markov: "EPIC: ending piracy of integrated circuits," Design, Automation and Test in Europe (DATE), 2008.
- ↑ Thicket Family of Source Come Obfuscators
- ↑ M. Brzozowski and V. N. Yarmolik: "Obfuscation as intellectual rights protection in VHDL language", International Conference on Computer Information Systems and Industrial Management Applications (CISIM), 2007.
- ↑ B. Barak, O. Goldreich, R. Impagliazzo, S. Rudich, A. Sahai, S.P. Vadhan and K. Yang: "On the (im)possibility of obfuscating programs", Cryptology Conference on Advances in Cryptology (CRYPTO), 2001.
- ↑ R.S. Chakraborty and S. Bhunia: "HARPOON: An Obfuscation-Based SoC Design Methodology for Hardware Protection", IEEE Trans. on CAD of Integrated Circuits and Systems (TCAD), 2009.