ضددستکاری‌سازی
ضددستکاری‌سازی ، از لحاظ مفهومی، روشی است که به منظور جلوگیری و ممانعت از دسترسی غیرمجاز به دستگاه یا دور زدن سیستم امنیتی یا تشخیص این موضوع استفاده می‌شود. چون، هر فردی با دانش، تجهیزات و وقت کافی می‌تواند بر هر دستگاه یا سیستمی غلبه کند، اصطلاح «ضددستکاری» نام غلطی است، مگر اینکه محدودیت‌هایی به صورت صریح یا ضمنی برای منابع فرد دستکاری‌کننده قائل شویم. محصول، بسته یا سیستمی مقاوم در برابر دستکاری است که در برابر دستکاری (استفادهٔ نادرست یا خرابکاری عمدی) توسط کاربران عادی یا سایر افرادی مقاوم باشد، که به آن دسترسی فیزیکی دارند.
مقاومت در برابر دستکاری از ویژگی‌های ساده مانند پیچ‌های با پیچ‌گوشتی ویژه گرفته تا دستگاه‌های پیچیده‌تری را در برمی‌گیرد که خودشان را از کار می‌اندازند، یا تمام داده‌های منتقل‌شده بین تراشه‌های منحصربه‌فرد را رمزگذاری می‌کنند، یا از موادی که نیازمند ابزارها و دانش ویژه‌ای هستند استفاده می‌کنند. دستگاه‌ها یا ویژگی‌های مقاوم در برابر دستکاری در بسته‌بندیها (پکیج‌ها) رایج هستند، تا از دستکاری بسته یا محصول جلوگیری کنند.
دستگاه‌های ضددستکاری یک یا چند مؤلفه دارند: مؤلفهٔ مقاوم در برابر دستکاری، مؤلفهٔ تشخیص دستکاری، مؤلفهٔ پاسخ به دستکاری و مؤلفهٔ شواهد دستکاری.در برخی کاربردها، دستگاه‌ها در برابر دستکاری مقاوم نیستند، بلکه فقط دستکاری را آشکار می‌کنند.
دستکاری به معنای تغییر یا جعل محصول، بسته یا سیستم است. در تمام مراحل تولید، بسته‌بندی، توزیع، لجستیک، فروش و مصرف محصول، ممکن است از راهکارهای مقابله با دستکاری استفاده شود. هیچ راهکار واحدی را نمی‌توان «ضددستکاری» تلقی کرد. غالباً، به منظور کاهش ریسک دستکاری به سطوح گوناگون امنیت نیاز داریم.
برخی از ملاحظات احتمالی عبارتند از:
برخی دستگاه‌ها پیچ یا پیچ و مهره‌های غیراستانداردی دارند تا از دسترسی افراد جلوگیری کنند. قفسه‌های سویچ تلفن (که پیچ‌های سر مثلثی دارند و شیارهای آن شش‌گوش است) یا پیچ و مهره‌های ۵ وجهی که برای اتصال درب‌ها به ترانسفورماتورهای توزیع برق خارجی استفاده می‌شوند نمونه‌هایی از این نوع دستگاه‌ها هستند. پیچ‌های سر ستاره‌ای استاندارد را می‌توان از طریق استفاده از گیره‌ای در مرکز پیچ در برابر دستکاری مقاوم کرد. با این کار، نمی‌توان این پیچ‌ها را با پیچ‌گوشتی‌های ستاره‌ای باز کرد. سر پیچ‌های امنیتی دیگری نیز ابداع شده‌اند تا کاربر از دسترسی گهگاه به داخل این دستگاه‌های مصرفی الکترونیک مأیوس شود.
زنگ‌های ضد سرقت رایج‌ترین مثال از این روش مقاومت در برابر دستکاری هستند. اغلب دستگاه‌های قطع مدارشکن (مثلاً، پدهای فشار، حسگرهای فروسرخ غیرفعال (آشکارسازهای حرکت)، سوئیچ‌های ایمنی درب) از دو سیم سیگنال استفاده می‌کنند که بسته به پیکربندی باز یا بسته هستند. حسگرها گاهی اوقات به برق احتیاج دارند، ولی برای ساده‌سازی سیم‌کشی، از کابل چندرشته‌ای استفاده می‌شود. در حالی که، وجود ۴ رشته معمولاً برای دستگاه‌هایی کافی است که نیازمند برق هستند (در این صورت، دو سیم زاپاس برای دستگاه‌هایی که به برق نیازی ندارند باقی می‌ماند)، می‌توان از کابل با رشته‌های بیشتر استفاده کرد. این رشته‌های بیشتر را می‌توان به اصطلاحاً «مدار دستکاری» خاصی در سیستم هشدار وصل کرد. سیستم، مدارهای دستکاری را پایش می‌کند تا در صورت تشخیص اختلال در دستگاه یا سیم‌کشی هشدار دهد. محفظه‌های دستگاه‌ها و کنترل‌پنل‌ها ممکن است به سوئیچ‌های ضددستکاری مجهز شوند. نفوذگران غیرمجاز هنگام تلاش برای دور زدن دستگاهی خاص، در معرض این ریسک هستند که هشدار را فعال کنند.
حسگرهایی مانند آشکارسازهای حرکت، آشکارسازهای شیب، حسگرهای فشار هوا، حسگرهای نور و غیره، که شاید در برخی زنگ‌های هشدار ضد سرقت استفاده شوند، ممکن است در بمب‌ها نیز استفاده شوند تا از خنثی‌سازی‌شان جلوگیری شود.
تقریباً تمام وسایل الکتریکی و لوازم جانبی را می‌توان با استفاده از پیچ‌گوشتی (یا ابزار جایگزینی مانند سوهان ناخن یا چاقوی آشپزخانه) باز کرد. این موضوع باعث می‌شود که کودکان و افراد دیگری که در برخورد با خطرات بازکردن تجهیزات بی‌احتیاط یا نسبت به این خطرات ناآگاه هستند به خودشان (مثلاً بر اثر شوک‌های الکتریکی، سوختگی یا بریدگی) صدمه بزنند یا باعث خرابی تجهیزات شوند. گاهی اوقات (مخصوصاً برای جلوگیری از دعاوی قضایی)، تولیدکنندگان پا را فراتر می‌گذارند و از پیچ‌های مقاوم در برابر دستکاری استفاده می‌کنند که نمی‌توان با تجهیزات استاندارد آنها را باز کرد. پیچ‌های مقاوم در برابر دستکاری همچنین در اتصالات الکتریکی در بسیاری از ساختمان‌های عمومی در وهلهٔ نخست برای کاهش دستکاری یا خرابکاری که ممکن است به سایرین آسیب بزند، استفاده می‌شود.
کاربری که تجهیزات را با ایجاد تغییری در آن که مدنظر تولیدکننده نیست، خراب می‌کند ممکن است این اتفاق را انکار و خواستار استفاده از ضمانت‌نامه شود یا (مخصوصاً در مورد کامپیوترهای شخصی) از سرویس پشتیبانی برای رفع مشکل کمک بخواهد. شاید استفاده از برچسب آشکارکنندهٔ دستکاری برای مقابله با این اتفاق کافی باشد. با این حال، این برچسب‌ها را نمی‌توان به آسانی از راه دور بررسی کرد و بر طبق شرایط قانونی ضمانت‌نامه در بسیاری از کشورها، تولیدکنندگان حتی با وجود استفاده از این برچسب‌ها مجبور شوند که تجهیزات را تعمیر کنند. پیچ‌های ضد دستکاری مانع دستکاری توسط اغلب کاربران عادی می‌شود. در آمریکا، قانون ضمانت‌نامه مگنوسن-موس مانع آن می‌شود که تولیدکنندگان در واقع ضمانت‌نامه را صرفاً به بهانهٔ دستکاری باطل کنند. ضمانت‌نامه تنها در صورتی باطل می‌شود که دستکاری واقعاً روی بخش معیوب تأثیر گذاشته باشد و موجب خرابی دستگاه شده باشد.
از ریزپردازندههای مقاوم در برابر دستکاری برای ذخیره‌سازی و پردازش اطلاعات خصوصی یا حساس مانند کلیدهای خصوصی یا اعتبار پول الکترونیک استفاده می‌شود. طراحی تراشه‌ها، به منظور جلوگیری از بازیابی یا اصلاح اطلاعات توسط مهاجم، به شکلی است که از طریق ابزارهای خارجی نمی‌توان به اطلاعات دسترسی پیدا کرد و دسترسی به آن تنها از طریق نرم‌افزار تعبیه‌شده‌ای شدنی است که اقدامات امنیتی مناسب در آنها در نظر گرفته می‌شود.
پردازنده رمزنگاری ایمن مانند IBM 4758 و تراشه‌هایی که در کارت‌های هوشمند استفاده می‌شود و همچنین تراشه Clipper نمونه‌هایی از تراشه‌های مقاوم در برابر دستکاری هستند.
برخی اظهار داشته‌اند که ایمن‌سازی دستگاه‌های الکترونیکی ساده در برابر دستکاری بسیار دشوار است، چون حملات گوناگونی از جمله موارد زیر ممکن است رخ دهند:
شاید، طراحی تراشه‌های مقاوم در برابر دستکاری طوری باشد که در صورت تشخیص نفوذ به کپسول امنیتی‌شان یا ارسال پارامترهای خارج از مشخصات، داده‌های حساس‌شان (مخصوصاً کلیدهای رمزنگاری) صفر شود. حتی، ممکن است که تراشه توانایی «صفر کردن بدون برق» را نیز داشته باشد. یعنی، دستگاه حتی بعد از قطع منبع تغذیه نیز امکان صفر کردن را دارد. علاوه بر این، ممکن است طراحی روش‌های کپسوله‌سازی اختصاصی که برای تراشه‌هایی به کار می‌رود که در برخی محصولات رمزنگاری استفاده می‌شود طوری باشد که به صورت داخلی پیش‌تنیده باشد، بنابراین اگر مداخله‌ای صورت بگیرد، تراشه خراب می‌شود.
با وجود این، این واقعیت که مهاجم ممکن است دستگاه را تا هر زمانی که دلش می‌خواهد در اختیار داشته باشد و شاید نمونه‌های متعدد دیگری را نیز به منظور آزمایش و تمرین در اختیار داشته باشد، غیرممکن است که در کل بتوان در مقابل مهاجم باانگیزه ایستادگی کرد. به این دلیل، طراحی کلی سیستم یکی از مهمترین عناصر در محافظت از سیستم است. مخصوصاً، سیستم‌های مقاوم در برابر دستکاری باید دارای ویژگی «شکست امن» باشند، یعنی تسخیر یک دستگاه باعث تسخیر کل سیستم نشود. به این شکل، مهاجم خود را به شکل بالقوه به حملاتی محدود می‌کند که هزینه‌شان کمتر از بازده مورد انتظار از تسخیر دستگاهی واحد است. چون، بر طبق برآوردها، انجام پیچیده‌ترین حملات صدها هزار دلار هزینه دارد، سیستم‌هایی که با دقت طراحی شده‌اند عملاً آسیب‌ناپذیر باشند.
در تمام برنامه‌های نظامی جدید در آمریکا، ضد دستکاری بودن (AT) الزامی است.
مقاوم بودن در برابر دستکاری کاربردهایی در کارت‌های هوشمند، گیرنده‌های دیجیتال تلویزیون و سایر دستگاه‌هایی دارد که از مدیریت حقوق دیجیتال (DRM) استفاده می‌کنند. مسئله این نیست که مانع آن شویم که کاربر تجهیزات را خراب نکند یا به آنها صدمه‌ای نزند، بلکه این است که کاربر نتواند کدها را استخراج کند یا جریان بیتی رمزگشایی‌شده را بدست آورد یا ذخیره کند. این کار معمولاً به این شکل انجام می‌شود که بسیاری از ویژگی‌های زیرسیستم در هر تراشه از نظر پوشانده می‌شود (طوری که سیگنال‌ها و حالت‌های خارجی دسترس‌ناپذیرند) و گذرگاههای بین تراشه‌ها رمزنگاری می‌شوند.
در بسیاری از موارد، مکانیسم‌های مدیریت حقوق دیجیتال (DRM) از گواهی‌ها و رمزنگاری کلید نامتقارن استفاده می‌کنند. در تمام این موارد، مقاومت در برابر دستکاری به این معنی است که کاربر دستگاه اجازهٔ دسترسی به گواهی‌های معتبر دستگاه یا کلیدهای عمومی-خصوصی دستگاه نداشته باشد. به فرایند تقویت نرم‌افزار در برابر حملات دستکاری «ضددستکاری کردن نرم‌افزار» گفته می‌شود.
گاهی اوقات، نیاز است که بسته‌بندی در برابر دستکاری مقاوم باشد. به عنوان مثال:
بسته‌بندی را می‌توان به صورت توکار در برابر دستکاری مقاوم کرد یا این ویژگی را به آن افزود. به عنوان مثال:
مشاوران و متخصصین می‌توانند مقاوم بودن بسته‌بندی را در برابر دستکاری ارزیابی کنند. همچنین، می‌توان با استفاده از آزمایش میدانی دقیق مردم عادی، بسته‌های گوناگون را با یکدیگر مقایسه کرد.
نرم‌افزار وقتی در برابر دستکاری مقاوم است که با توجه به اقدامات صورت گرفته، مهندسی معکوس آن دشوارتر باشد یا کاربر نتواند نرم‌افزار را برخلاف خواست تولیدکننده تغییر دهد (مثلاً، محدودیتی را در زمینهٔ نحوهٔ استفاده از نرم‌افزار حذف کند). مبهم‌سازی کد یکی از روش‌های پرکاربرد در این زمینه است.
با این حال، نرم‌افزار بسیار سخت‌تر از سخت‌افزار در برابر دستکاری به شکل مؤثر مقاوم می‌شود، چون محیط نرم‌افزار را می‌توان تقریباً به صورت اختیاری با استفاده از برابرسازی دستکاری کرد.
رایانش مطمئن، در صورت پیاده‌سازی، باعث می‌شود که دستکاری نرم‌افزاری برنامه‌های محافظت‌شده حداقل به اندازهٔ دستکاری سخت‌افزاری دشوار باشد، چون کاربر مجبور است که تراشهٔ قابل اطمینانی را هک کند تا گواهی جعلی را به منظور دور زدن تصدیق راه‌دور و ذخیره‌سازی مهروموم‌شده ارائه کند. با این حال، وضعیت فعلی مشخص می‌کند که انتظار نمی‌رود تراشه در برابر دستکاری بر اثر هر حملهٔ فیزیکی پیچیده‌ای مقاوم باشد. یعنی، انتظار نمی‌رود که نرم‌افزار به اندازهٔ دستگاه مقاوم در برابر دستکاری امن باشد.
در نتیجهٔ این موضوع، نگهداری نرم‌افزار پیچیده‌تر می‌شود، چون نیاز است که به روز رسانی‌های نرم‌افزاری وارسی شود و خطاهای موجود در فرایند به‌روزرسانی ممکن است منجر به فعال‌سازی کاذب (False Positive) مکانیسم محافظت از نرم‌افزار شود.