۴.۳۱.۱۳۸۷

آشنایی با قفل نرم افزاری و سخت افزاری

قفل سخت افزاری ( Hardware lock )

چنانچه از سخت افزار خاصی برای قفل گذاری استفاده شود ، به آن قفل سخت افزاری می گوییم . این قفل ها بعضی به صورت یك رابط ، بر روی پورت پارالل سیستم نصب می شوند كه البته هر دو نوع آن عملكرد مشابه دارند .
بخش اصلی قفل ، از یك حافظه قابل پاك شدن تشكیل شده كه با توجه به نوع و حجم آن ، دارای عملكردی متفاوت می باشد و عمدتا به یكی از دو روش زیر عمل می كند :

الف) روش اول قفل گذاری به این صورت است كه تولید كننده نرم افزار یك یا چند بایت از اطلاعات را در قفل نوشته و برنامه در هنگام اجرا آن را چك می كند .

در صورتی كه قفل وجود داشته باشد ، برنامه به كار خود ادامه می دهد و اگر قفل وجود نداشته باشد و یا اطلاعات خوانده شده از روی قفل صحیح نباشد ، برنامه متوقف شده و با اعلام خطا ، از اجرای صحیح ، سرباز می زند .

این نوع قفل ها دارای ساختاری ساده ، حافظه ای در حد چند بایت ، و قیمتی ارزان هستند .

استفاده از این قفل ها بسیار ساده بوده و نیاز به تخصص خاصی ندارد ، تنها كافیست كه نرم افزار ویژه قفل را ( كه توسط شركت تولید كننده قفل ارائه شده ) اجرا نمود .

در ابتدا كه قفل فاقد اطلاعات است ، اول یك كلمه دلخواه ، به عنوان كلمه عبور درخواست كرده و سپس با توجه به نوع قفل ، یك یا چند كلمه اطلاعات را دریافت و در حافظه قفل ثبت كنید . در دفعات بعد می بایست كلمه عبوری كه اولین بار ثبت شده ، وارد شود تا بتوان به اطلاعات درونی قفل دسترسی داشت . البته بعد از ورود به برنامه این كلمه قابل تغییر است .

در هر صورت ، پس از ثبت اطلاعات در قفل ، تولید كننده نرم افزار ، اطلاعات ثبت شده در یك برنامه چك می كند كه نحوه چك كردن اطلاعات ، با توجه به نوع قفل متفاوت است .

در بعضی فقط اطلاعات درون قفل چك می شود و در بعضی دیگر ، در مرحله اول وجود قفل چك شده و در مرحله بعدی ، اطلاعات درون آن چك می شود .

ب) روش دیگر قفل گذاری به این صورت است كه تولید كننده نرم افزار ، بخش كوچكی از برنامه را در حافظه قفل قرار می دهد كه در این حالت ، چنانچه قفل وجود نداشته باشد برنامه به هیچ وجه ، قادر به اجرا و ادامه كار نخواهد بود .

این نوع قفل ها ، دارای ساختاری كمی پیچیده ، حافظه ای بعضا تا چند كیلو بایت ، و قیمتی نسبتَََا گران هستند .

استفاده از این قفل ها ، به سادگی نوع قبلی نیست . البته نحوه كلی كار مشابه روش قبلی است .

با اجرای نرم افزار ویژه قفل و وارد نمودن كلمه عبور ، باید نام فایلی را كه می خواهیم بر روی آن قفل بزنیم ، مشخص كنیم ، تا بخشی از آن در قفل ثبت گردد .

البته در بعضی دیگر از این نوع قفل ها ، كه حفاظت بیشتری را انجام می دهند ، می بایست توسط تولید كننده نرم افزار دقیقا كنترل شود كه چه بخش هایی از فایل باید در قفل ثبت گردد كه البته انجام این كار نیاز به تخصص و تجربه كافی دارد ، چرا كه بعضا ممكن است كه خطا در انجام كار ، باعث بروز اشكال در برنامه تولیدی بشود .

چون با این كار در واقع بخشی از برنامه در قفل ثبت می گردد ، واضح است كه هر قفل فقط برای یك نسخه از برنامه می تواند مورد استفاده قرار بگیرد و به همین علت كاربرد این قفل ، كمتر است .

ضمنا نوع دیگری از قفل ها هستند كه از هر دو روش فوق استفاده می كنند ، اما طرفدار چندانی ندارند .

قفل های سخت افزاری و نرم افزاری

قفل در اصطلاح عامیانه كلامی آشناست و از آن برای حفاظت از اشیا مختلف استفاده می شود .

اما مفهوم قفل در دنیای كامپیوتر و عالم نرم افزار ، چیست ؟
امروزه برای جلوگیری از استفاده غیر مجاز از برنامه ها ویا تكثیر غیر قانونی آن ها ، اصطلاحا به آن ها قفل می زنند .

اما این قفل گذاری چگونه صورت می گیرد ؟
در قسمت قبل به شرح قفل های سخت افزاری پرداختم و در این قسمت قفل های نرم افزاری را بررسی خواهم کرد .

قفل نرم افزاری (Software Lock )

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


قفل سی دی ( اجرا از روی سی دی )
با متداول شدن سی دی و یا لوح فشرده ، روش جدیدی در قفل گذاری ابداع شد و آن اجرای برنامه از روی سی دی است .
در این حالت برنامه هنگام اجرا ، به سی دی رجوع كرده و نقاط خاصی از آن را چك می كند . این نقاط بخش هایی هستند كه به صورت فیزیكی علامت گذاری شده اند ودر واقع به نوعی صدمه دیده اند و معمولا این خرابی با تابش اشعه لیزر انجام می شود .
به این ترتیب به اصطلاح نقاط معینی از سی دی لیزر سوز می شود . این نقطه یا نقاط ، به عنوان قفل سی دی عمل می كند و از عمل تكثیر یا كپی برداری و همچنین استفاده غیر مجاز از آن جلوگیری به عمل می آورد .
در خاتمه سوالی كه در مورد سه روش فوق الذكر مطرح است ، این است كه آیا می توان قبل از نصب ، از دیسكت ها و سی دی های قفل گذاری شده كپی تهیه كرد و سپس آن ها را نصب كرد ؟
پاسخ منفی است، زیرا همان گونه كه اشاره شد ، یا بخشی از دیسكت و یا تمامی آن ، به روش خاصی فرمت می شود كه قابل كپی برداری نیست و یا اینكه محل و نقاطی كه بر روی دیسكت و یا سی دی ، به صورت فیزیكی و عمدی صدمه دیده اند ، اجازه كپی برداری را نمی دهند و مانع از انجام این كار می شوند .

هیچ نظری موجود نیست:

http://up.iranblog.com/images/0z5dgraxwa4j49a5ts77.gif http://up.iranblog.com/images/gv83ah5giec9g8jkopmc.gif