موضوع مقاله: دانگل حفاظتی نرم‌افزاری | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # دانگل حفاظتی نرم‌افزاری | مقدمه: دانگل محافظ نرم‌افزاری (که معمولاً به عنوان دانگل یا قفل سخت‌افزاری شناخته می‌شود) یک دستگاه محفاظت الکترونیکی از رونوشت و محافظت از محتوا است. | ## بخش 1: دانگل حفاظتی نرم‌افزاری | هنگامی که به رایانه یا سایر وسایل الکترونیکی متصل می‌شوند، قفل عملکرد نرم افزار را آزاد می‌کنند یا محتوا را رمزگشایی می‌کنند. قفل سخت افزاری با یک کلید محصول (لایسنس) یا سایر مکانیسم‌های حفاظتی رمزنگاری برنامه‌ریزی شده‌است و از طریق یک اتصال الکتریکی به گذرگاه خارجی رایانه یا دستگاه کار می‌کند. در غیاب این دانگل‌ها، نرم افزار خاصی ممکن است فقط در حالت محدود اجرا شود یا اصلاً اجرا نشود. علاوه بر محافظت نرم‌افزاری، دانگل‌ها می‌توانند عملکردهایی را در دستگاه‌های الکترونیکی، مانند دریافت و پردازش جریان‌های ویدیویی رمزگذاری‌شده در دستگاه‌های تلویزیون، فعال کنند. نسخه‌های بعدی از رابط USB استفاده کردند که باعث تغییر رابط آنها از موازی به رابط سریال تبدیل شد. تلاش‌ها برای معرفی محافظت از کپی دانگل در بازار نرم‌افزار اصلی با مقاومت شدید کاربران روبرو شده‌است. چنین محافظت از کپی معمولاً با بسته‌های بسیار گران‌قیمت و نرم‌افزارهایی مانند نرم‌افزار CAD / CAM، نرم‌افزار رفع اشکال فلاشر تلفن همراه/JTAG، نرم‌افزارهای بیمارستانی و خرده‌فروشی ویژه سیستم‌های MICROS، برنامه‌های محیط کاری صوتی دیجیتال و برخی نرم افزارهای ترجمه استفاده می‌شود. در مواردی مانند نرم افزار طراحی چاپ و چاپ، دانگل با یک کلید مجوز خاص برای هر کاربر کدگذاری می‌شود که ویژگی‌های خاصی را در برنامه هدف فعال می‌کند. این نوعی دانگل استفاده از نرم افزار را به صورت به شدت کنترل شده به کاربر می‌دهد که به فروشنده این امکان را می‌دهد تا به راحتی دسترسی کاربر را قطع کند و هزینه بیشتری نسبت به محصول دریافت کند. | ## بخش 2: دانگل حفاظتی نرم‌افزاری | یک مثال برای ایم مورد روشی است که کداک مجوز استفاده از نرم آزار پرینرجی را به کاربران می‌دهد: هنگامی که یک دستگاه خروجی کامپیوتر به صفحه به مشتری فروخته می‌شود، هزینه مجوز خود پرینرجی به‌طور جداگانه به مشتری ارائه می‌شود و قیمت پایه شامل کمی بیشتر از مجوزهای لازم برای استفاده از دستگاه است. دانگلی که در محصولات اشتاینبرگاستفاده می‌شود به نام کلید استینبرگ نیز شناخته می‌شود. برخی از توسعه دهندگان نرم افزار از درایوهای فلش USB سنتی به عنوان دانگل مجوز نرم افزاری استفاده می‌کنند که حاوی شماره سریال سخت افزاری در ارتباط با مشخصه‌های شناسه دستگاه مورد استفاده است، که معمولاً توسط کاربر نهایی به راحتی قابل تغییر نیستند. یک توسعه دهنده همچنین می‌تواند از دانگل برای ذخیره تنظیمات کاربر یا حتی نسخه کامل «قابل حمل» برنامه استفاده کند. همه درایوهای فلش برای این استفاده مناسب نیستند، زیرا تمامی این درایوها قابلیت ذخیره‌سازی شماره سریال منحصر به فرد دستگاه را ندارند. اگرچه چنین سیستم امنیتی ممکن است یک هکر معمولی را منصرف کند، فقدان هسته پردازشگر در دانگل برای احراز هویت داده‌ها، انجام رمزگذاری/رمزگشایی و اجرای کد باینری غیرقابل دسترس توسط کاربر، چنین دانگلی را برای استفاده برای اکثر نرم افزارها به جز نرم افزارهای ارزان قیمت نامناسب می‌کند. یک گزینه ساده‌تر و حتی کم‌ایمن‌تر، استفاده از فضای ذخیره‌سازی پارتیشن نشده یا تخصیص نشده در دانگل برای ذخیره داده‌های مجوز است. درایوهای فلش USB معمولی در مقایسه با دستگاه‌های دانگل امنیتی اختصاصی نسبتاً ارزان هستند، اما خواندن و ذخیره داده‌ها در فلش مموری به راحتی قابل رهگیری، تغییر و دور زدن است. مشکلات نقاط ضعف احتمالی در اجرای اتصال بین دانگل و نرم افزار کنترل شده با لایسنس وجود دارد. | ## بخش 3: دانگل حفاظتی نرم‌افزاری | به عنوان مثال، یک پیاده‌سازی ساده ممکن است تابعی را برای بررسی اتصال دانگل تعریف کند و بر این اساس «درست» یا «نادرست» را برگرداند، اما نیاز دانگل را می‌توان به راحتی با تغییر نرم افزار به گونه ای که همیشه «درست» پاسخ دهد، دور زد. دانگل‌های مدرن شامل رمزگذاری قوی داخلی هستند و از تکنیک‌های تولید اختصاصی استفاده می‌کنند که برای خنثی کردن مهندسی معکوس طراحی شده‌اند. دانگل‌های معمولی هم‌اکنون حاوی حافظه غیر فرار هستند بخش‌های ضروری نرم‌افزار ممکن است در واقع روی دانگل ذخیره و اجرا شوند؛ بنابراین دانگل‌ها تبدیل به رمزپردازنده‌های امنی شده‌اند که دستورالعمل‌های برنامه‌ای را اجرا می‌کنند که ممکن است فقط به شکل رمزگذاری‌شده اجرا شوند. اولین رمزپردازنده ایمن اصلی برای محافظت از کپی نرم افزار رایانه شخصی طراحی شده‌است (ثبت اختراع ایالات متحده ۴٬۱۶۸٬۳۹۶، ۱۸ سپتامبر 1979)US Patent 4,168,396 تا امنیت بیشتری نسبت به دانگل‌ها فراهم کند. شبیه‌سازی سخت‌افزار، که در آن دانگل توسط یک درایور نرک افزاری شبیه‌سازی می‌شود، همچنین تهدیدی برای دانگل‌های سنتی است. برای خنثی کردن این امر، برخی از فروشندگان دانگل از محصول کارت هوشمند استفاده کردند که به‌طور گسترده در محیط‌های امنیتی بسیار سخت مانند نظامی و بانکی در محصولات دانگل خود استفاده می‌شود. یک دانگل مدرن با تکنولوژی به روز تر با فرایند انتقال کد طراحی می‌شود که بخش‌های رمزگذاری شده کد برنامه کاربر را به یک محیط سخت افزاری امن (مانند سیستم عامل کارت هوشمند، که در بالا ذکر شد) منتقل می‌کند. علاوه بر این، دانگل‌ها مورد انتقاد قرار گرفته‌اند، زیرا از آنجایی که سخت‌افزار هستند، به راحتی گم می‌شوند و مستعد آسیب هستند و به‌طور بالقوه هزینه‌های عملیاتی مانند هزینه دستگاه و هزینه تحویل را افزایش می‌دهند. معمولاً به اسلات کارت حافظه سیستم متصل می‌شود و در صورت شناسایی نشدن دانگل، نرم‌افزار مبتنی بر دیسک از کار کردن خودداری می‌کند. | ## جمع‌بندی | دانگل همچنین برای نگهداری تنظیمات و ذخیره کدهای جدید که توسط کاربر یا از طریق به‌روزرسانی‌های رسمی اضافه شده‌اند، استفاده می‌شود، زیرا دیسک فقط خواندنی نمی‌تواند آنها را ذخیره کند.