آشنایی با قفل نرم افزاری و قفل سخت افزاری ( Hardware lock )
آشنایی با قفل نرم افزاری و قفل سخت افزاری ( Hardware lock )
قفل سخت افزاری ( Hardware lock )
چنانچه
از سخت افزار خاصی برای قفل گذاری استفاده شود ، به آن قفل سخت افزاری می
گوییم . این قفل ها بعضی به صورت یک رابط ، بر روی پورت پارالل سیستم نصب
می شوند که البته هر دو نوع آن عملکرد مشابه دارند .
بخش اصلی قفل ، از
یک حافظه قابل پاک شدن تشکیل شده که با توجه به نوع و حجم آن ، دارای
عملکردی متفاوت می باشد و عمدتا به یکی از دو روش زیر عمل می کند :
الف)
روش اول قفل گذاری به این صورت است که تولید کننده نرم افزار یک یا چند
بایت از اطلاعات را در قفل نوشته و برنامه در هنگام اجرا آن را چک می کند .
در
صورتی که قفل وجود داشته باشد ، برنامه به کار خود ادامه می دهد و اگر قفل
وجود نداشته باشد و یا اطلاعات خوانده شده از روی قفل صحیح نباشد ، برنامه
متوقف شده و با اعلام خطا ، از اجرای صحیح ، سرباز می زند .
این نوع قفل ها دارای ساختاری ساده ، حافظه ای در حد چند بایت ، و قیمتی ارزان هستند .
استفاده
از این قفل ها بسیار ساده بوده و نیاز به تخصص خاصی ندارد ، تنها کافیست
که نرم افزار ویژه قفل را ( که توسط شرکت تولید کننده قفل ارائه شده )
اجرا نمود .
در ابتدا که قفل فاقد اطلاعات است ، اول یک کلمه
دلخواه ، به عنوان کلمه عبور درخواست کرده و سپس با توجه به نوع قفل ، یک
یا چند کلمه اطلاعات را دریافت و در حافظه قفل ثبت کنید . در دفعات بعد می
بایست کلمه عبوری که اولین بار ثبت شده ، وارد شود تا بتوان به اطلاعات
درونی قفل دسترسی داشت . البته بعد از ورود به برنامه این کلمه قابل تغییر
است .
در هر صورت ، پس از ثبت اطلاعات در قفل ، تولید کننده نرم
افزار ، اطلاعات ثبت شده در یک برنامه چک می کند که نحوه چک کردن اطلاعات
، با توجه به نوع قفل متفاوت است .
در بعضی فقط اطلاعات درون قفل
چک می شود و در بعضی دیگر ، در مرحله اول وجود قفل چک شده و در مرحله بعدی
، اطلاعات درون آن چک می شود .
ب) روش دیگر قفل گذاری به این صورت
است که تولید کننده نرم افزار ، بخش کوچکی از برنامه را در حافظه قفل قرار
می دهد که در این حالت ، چنانچه قفل وجود نداشته باشد برنامه به هیچ وجه ،
قادر به اجرا و ادامه کار نخواهد بود .
این نوع قفل ها ، دارای ساختاری کمی پیچیده ، حافظه ای بعضا تا چند کیلو بایت ، و قیمتی نسبتَََا گران هستند .
استفاده از این قفل ها ، به سادگی نوع قبلی نیست . البته نحوه کلی کار مشابه روش قبلی است .
با
اجرای نرم افزار ویژه قفل و وارد نمودن کلمه عبور ، باید نام فایلی را که
می خواهیم بر روی آن قفل بزنیم ، مشخص کنیم ، تا بخشی از آن در قفل ثبت
گردد .
البته در بعضی دیگر از این نوع قفل ها ، که حفاظت بیشتری را
انجام می دهند ، می بایست توسط تولید کننده نرم افزار دقیقا کنترل شود که
چه بخش هایی از فایل باید در قفل ثبت گردد که البته انجام این کار نیاز به
تخصص و تجربه کافی دارد ، چرا که بعضا ممکن است که خطا در انجام کار ،
باعث بروز اشکال در برنامه تولیدی بشود .
چون با این کار در واقع
بخشی از برنامه در قفل ثبت می گردد ، واضح است که هر قفل فقط برای یک نسخه
از برنامه می تواند مورد استفاده قرار بگیرد و به همین علت کاربرد این قفل
، کمتر است .
ضمنا نوع دیگری از قفل ها هستند که از هر دو روش فوق استفاده می کنند ، اما طرفدار چندانی ندارند .
قفل های سخت افزاری و نرم افزاری
قفل در اصطلاح عامیانه کلامی آشناست و از آن برای حفاظت از اشیا مختلف استفاده می شود .
اما مفهوم قفل در دنیای کامپیوتر و عالم نرم افزار ، چیست ؟
امروزه برای جلوگیری از استفاده غیر مجاز از برنامه ها ویا تکثیر غیر قانونی آن ها ، اصطلاحا به آن ها قفل می زنند .
اما این قفل گذاری چگونه صورت می گیرد ؟
در قسمت قبل به شرح قفل های سخت افزاری پرداختم و در این قسمت قفل های نرم افزاری را بررسی خواهم کرد .
قفل نرم افزاری (Software Lock )
چنانچه
از روش ها و ترفند های نرم افزاری ، برای قفل گذاری استفاده شود ، به آن
قفل نرم افزاری می گوییم . قفل های نرم افزاری دارای تنوع بیشتری بوده و
بعضا از لحاظ طراحی و اجرا سلیقه ای و ابتکاری می باشند .
اما می توان نحوه عملکرد اکثر آن ها را ، توسط یکی از 3 روش ذیل ، تشریح نمود :
الف) محدودیت در تعداد کپی (Copy Limited )
در
این حالت برنامه نصب کننده نرم افزار ، فضای مشخصی در دیسک را با روش خاصی
مرمت کرده ، و تعداد مجاز نسخه برداری را در آن درج می کند .
بدین طریق
با هر بار کپی کردن برنامه ، یک واحد از این عدد کم می شود و هنگامی که
تعداد مجاز آن به صفر رسید ، دیگر نمی توان برنامه را بر روی سیستم نصب
نمود .
حال ممکن است این سوال مطرح شود که مگر نمی توان پس از نصب
برنامه ، از آن پشتیبانی ( Back Up ) گرفته و سپس از نسخه پشتیبان نیز ،
بر روی سیستم دیگری استفاده نمود ؟
پاسخ منفی است . زیرا هنگام نصب ،
اطلاعاتی راجع به سخت افزار سیستم که می تواند مثلا شامل نوع قطعات و یا
شماره سریال قطعات باشد ، در جایی ، در محدوده قفل ذخیره می شود و از این
پس هر بار در هنگام اجرای برنامه ، این اطلاعات به دقت چک می شود و در
صورت هرگونه تغییر ، برنامه اجرا نمی شود .
ب) استفاده از دیسکت ، در هنگام اجرای برنامه (Disk Required )
در
این حالت ، دیسکت مورد نظر ، یا به روش خاصی فرمت می شود و سپس در هنگام
اجرا ، اطلاعات روی آن بررسی می شود ، و یا اینکه قسمتی از دیسکت را بصورت
فیزیکی و عمدی خراب می کنند و در اینجا ، در واقع همان صدمه ای که به عمد
، بر سطح دیسکت وارد شده است ، به عنوان قفل و محافظ نرم افزار عمل می کند
.
از این پس برای انتقال برنامه از یک سیستم به سیستم دیگر ، این فلاپی
مانند قفل سخت افزاری عمل می کند و می بایست مختصات آن توسط برنامه تایید
شود و چنانچه این فلاپی در درایو نباشد ، برنامه اجرا نخواهد شد .
قفل سی دی ( اجرا از روی سی دی )
با متداول شدن سی دی و یا لوح فشرده ، روش جدیدی در قفل گذاری ابداع شد و آن اجرای برنامه از روی سی دی است .
در
این حالت برنامه هنگام اجرا ، به سی دی رجوع کرده و نقاط خاصی از آن را چک
می کند . این نقاط بخش هایی هستند که به صورت فیزیکی علامت گذاری شده اند
ودر واقع به نوعی صدمه دیده اند و معمولا این خرابی با تابش اشعه لیزر
انجام می شود .
به این ترتیب به اصطلاح نقاط معینی از سی دی لیزر سوز
می شود . این نقطه یا نقاط ، به عنوان قفل سی دی عمل می کند و از عمل
تکثیر یا کپی برداری و همچنین استفاده غیر مجاز از آن جلوگیری به عمل می
آورد .
در خاتمه سوالی که در مورد سه روش فوق الذکر مطرح است ، این است
که آیا می توان قبل از نصب ، از دیسکت ها و سی دی های قفل گذاری شده کپی
تهیه کرد و سپس آن ها را نصب کرد ؟
پاسخ منفی است، زیرا همان گونه که
اشاره شد ، یا بخشی از دیسکت و یا تمامی آن ، به روش خاصی فرمت می شود که
قابل کپی برداری نیست و یا اینکه محل و نقاطی که بر روی دیسکت و یا سی دی
، به صورت فیزیکی و عمدی صدمه دیده اند ، اجازه کپی برداری را نمی دهند و
مانع از انجام این کار می شوند .