نقش قفلها در زندگی بشر بسیار پراهمیت میباشد. از قفلها به عنوان یک عامل محافظتکننده در برابر دستبردهای احتمالی استفاده میکنیم. در دنیای کامپیوتر نیز برای جلوگیری از دسترسی غیرمجاز به شبکهها، وبسایتها، برنامهها و اطلاعات، و یا استفاده و تکثیر غیر قانونی نرمافزارها، برنامه ها و اطلاعات از انواع عاملهای محافظتکننده از قبیل گذرواژه (Password) بهره میگیریم.
مبحث حفاظت از نرمافزار (Software Protection) به عنوان زیرشاخهای از رایانش امن (Secure Computing)، امروزه از اهمیت بسزایی برخوردار است. در حال حاضر شرکتهای کوچک و بزرگ تولید کنندهی نرم افزارهای تجاری، تهیهکنندگان آثار صوتی و تصویری و فراتر از همهی اینها – دولتها – به این مقوله اهمیت میدهند و برای آن برنامهریزی میکنند. برای وقوف به اهمیت این قضیه، میتوان به سرمایهگذاری بزرگ شرکت مایکروسافت بر روی پروژهی پالادیم (Palladium) – در مورد تولید سخت افزارهای مورد اعتماد – و همچنین جایزهی 8/1 میلیون دلاری آزمایشگاه تحقیقات نیروی هوایی ایالات متحده (U.S. Air Force Research Laboratory) برای تحقیقات و پژوهش بر روی مبهمسازی نرمافزارها اشاره کرد.
آمارها نشان می دهد که با گسترش روز افزون استفاده از اینترنت و سرویسهای نرمافزاری، به روشهای کارآمدتری نسبت به کلمههای عبور برای حفاظت اطلاعات خود نیازمندیم. امروزه همگی شاهد اخبار فراوانی نظیر هک شدن پایگاه دادهها، رُبودن اطلاعات خریداران و سوء استفادههای مالی ناشی از آن می باشیم.
اغلب افراد کلمههای عبوری را بر میگزینند که به خاطر آوردن آن راحتتر و یا نوشتن آنها سادهتر باشد و با این حال نیز، در بعضی موارد آنها را از یاد می برند؛ بنابراین توسعهدهندگان نرمافزارها و مدیران شبکهها و وبسایتها باید به طور مداوم اطلاعات مربوط به کلماتعبور کاربران خود را به روز رسانی و بازیابی کنند.
از طرف دیگر، عدم اجرای کامل قانون حق کپی (Copyright) که برای تمام انواع محصولات دیجیتالی که شامل نرم افزار، موسیقی و فیلم میشود، از اهمیت بسیار بالایی برخوردار است، مشکلات اقتصادی فراوانی برای تولیدکنندها و توسعهدهندههای محصولات دیجیتالی به همراه داشته است. این موضوع رابطه نزدیکی با مهندسی معکوس (Reverse Engineering) و یا نفوذ در نرم افزار (Cracking) دارد. طبق یک مطالعه آماری، در سال 2003، حدود 30 میلیارد دلار نرم افزار به صورت غیرقانونی در جهان مورد استفاده قرار گرفته است. به عبارت دیگر، در حدود 36 درصد از کل محصولات نرم افزاری آن زمان به صورت غیر قانونی مورد استفاده قرار گرفته است.
تلاشهای انجام گرفته برای حل این مسائل، منجر به تولید انواع مختلفی از قفلها شده است، که به دو دسته کلی قفلهای نرمافزاری ( Software Lock) و سختافزاری (Hardware Lock) تقسیم میشوند.
با توجه به این که کشور ما جزو محدود کشورهایی است که هنوز از قانون حقکپی به صورت کامل پیروی نمیکند و شاید یکی از دلایل عدم رشد صنعت تولید نرمافزار در کشورمان همین موضوع میباشد، و با توجه به تمایل خانوادههای ایرانی به نظارت بر فعالیتهای کامپیوتری و اینترنتی فرزندانشان و همچنین نیاز سرپرستان شبکهها و وبسایتها برای در اختیار گذاشتن سطوح مختلف دسترسی به کاربرانشان، لزوم پرداختن به بحث قفلهای سختافزاری و نرماقزاری از اهمیت خاصی برخوردار است.
اکثر قفلهای نرمافزاری به راحتی شکسته میشوند و عملاً هیچ کدام غیر قابل نفوذ نیستند. پیچیدهتر شدن قفلهای نرمافزاری، فقط کار قفلشکن (Cracker) را سختتر میکنند. همچنین غالب قفلهای نرمافزاری در صورت تغییر سختافزار سیستم از کار اُفتاده و در نتیجه موجب نارضایتی کاربران میشوند.
قفلهای سختافزاری غالب مشکلات قفلهای نرمافزاری را مرتفع کرده و سطح بالاتری از امنیت را برای کاربران فراهم میآورد. از طرف دیگر، این قفلها با بهرهگیری از پردازنده داخلی از لحاظ سخت افزاری غیر قابل کپیبرداری میباشند.
در این گزارش سعی شده است تا علاوه بر آشنائی با مفاهیم پایه قفلگذاری، یک دید کلی نسبت به جنبههای مختلف این مقوله ارائه شود. در ضمن، به معرفی قفلهای سختافزاری، الزامات و مشخصههای آنها پرداخته و در آخر، روند طراحی چند قفل سختافزاری بصورت کلی بیان میشود
این گزارش به چهار بخش تقسیم میشود. در بخش اول، علاوه بر معرفی روشهای قفلگذاری، شرح مختصری در مورد شکستن قفلهای نرمافزاری و نرمافزارهای مورد استفاده برای این کار داده شده است. در بخش دوم، با تقسیم مهمترین روشهای قفلگذاری نرمافزاری به سه روش «مبهمسازی»، «پنهانسازی» و «مقابله با تغییر»، این روشها توضیح داده شدهاند. بخش سوم گزارش، مروری بر روشهای رمزگذاری و الگوریتمهای معروف آن دارد. در بخش چهارم، چند طرح پیشنهادی برای پیادهسازی یک قفلسختافزاری، ارائه شده است.