هميشه و همه جا در هر موقعيتي که باشيم امنيت حرف اول را مي زند. اين موضوع ارتباطي به زمان يا مکان ندارد و طبق خواسته و نيازهاي غريزي هر انساني حضور در مکاني امن باعث آرامش خواهد شد. به اين ترتيب در تمامي موارد امکاناتي براي حفظ امنيت ايجاد خواهند شد. در جهان ديجيتالي امروز امنيت به شکل ديگري تعريف مي شود، زيرا تمامي ارتباطات به صورتي مجازي برقرار مي شود و مي توان گفت در اين شرايط، دزدي ها هم به صورتي متفاوت از گذشته خواهد بود. بسياري از سارقان از طريق هک کردن اطلاعات کاربران به داشته هاي آن ها دسترسي پيدا مي کنند و به اين ترتيب حتي مي توانند به حساب هاي مالي افراد مختلف دست پيدا کنند. با توجه به اين موضوع اهميت شاخه امنيت در فضاي ديجيتال بسيار پر رنگ تر از فضاي حقيقي به نظر مي رسد. يکي از راه حل هايي که در حال حاضر براي ايجاد امنيت در سخت افزارها و نرم افزارها وجود دارد، ايجاد قفل براي سيستم هاي مختلف است. در موضوع ويژه اين هفته شما را با قفل هاي ديجيتال آشنا خواهيم کرد و به بررسي نحوه کار اين قفل ها خواهيم پرداخت.

قانون کپي رايت هم جواب نمي دهد
کپي غيرمجاز يکي از بزرگترين مشکلات توليد کنندگان محصولات مختلف است. در مورد محصولات نرم افزاري اين مشکل بيش از ديگر جاها اهميت پيدا مي کند و در بسياري از مواقع باعث ايجاد مشکلات مالي و شکست اقتصادي براي توليد کنندگان برنامه هاي نرم افزاري خواهد شد. به همين خاطر در بسياري از کشورها قانون حق کپي يا همان کپي رايت براي جلوگيري از اين مشکلات به اجرا درمي آيد و اين مورد بيشتر در مورد محصولات ديجيتالي به چشم مي خورد. آمارهايي که در سال گذشته در مورد نقض قوانين کپي رايت ارائه شده است، جاي نگراني بسياري را براي توليدکنندگان محصولات نرم افزاري به وجود آورده است. موسسه تحقيقاتي IDC در انتهاي هر سال در مورد کپي هاي غيرمجازي که در طول سال توسط افراد و سازمان هاي مختلف انجام گرفته است، آماري را ارائه مي کند. جالب است که بدانيد در سال 2009 بيش از 51 ميليارد دلار نرم افزار غيرمجاز به فروش رسيده است. اين مشکل باعث شده است که مديران کشورهاي مختلف توجه بيشتري را به قفل هاي ديجيتالي نشان دهند و از اين قفل ها براي جلوگيري از کپي غيرمجاز برنامه هاي نرم افزاري استفاده کنند. استفاده از اين قفل ها باعث مي شود به شکلي ساده جلوي سوء استفاده از محصولات ديگران گرفته شود اما نبايد از اين نکته غافل شد که افراد سودجو از راه هاي مختلف براي رسيدن به هدف خود استفاده خواهند کرد و نمي توان به هيچ راه حلي به طور کامل اطمينان داشت.

قفل هاي ديجيتالي
اگر بخواهيم به صورت عاميانه در مورد واژه « قفل « صحبت کنيم، اين واژه براي تمامي افراد آشنا خواهد بود و بيشتر با اين مفهوم به کار مي رود که ابزاري است که براي حفاظت اشيا مختلف از خطرات احتمالي به کار خواهد رفت. اگر بخواهيم مفهوم قفل هاي ديجيتال را بررسي کنيم، به صورت پايه و ساده باز هم همين مفهوم را در مورد يک قفل خواهيم داشت. اما نکته متفاوتي که در اين ميان به چشم مي خورد اين است که قفل ها به دو گونه متفاوت هستند. در جهان رايانه ها براي اين که از استفاده غير مجاز از برنامه هاي مختلف يا کپي و تکثير غيرقانوني از برنامه هاي نرم افزاري جلوگيري به عمل آورند از قفل هاي ديجيتال استفاده مي کنند. نياز به استفاده از قفل هاي ديجيتال در کشور ما بسيار احساس مي شود زيرا قوانين کپي رايت اجرا نمي شود و کنترل کپي هاي غير مجاز به سختي صورت مي گيرد. شايد بتوان گفت که يکي از بهترين راه حل ها براي جلوگيري از استفاده غيرمجاز از نرم افزارها کمک گرفتن از قفل هاي امنيتي در فضاي ديجيتال مي باشد.

آشنايي با يک قفل سخت افزاري
قبل از اين که در مورد نحوه کار انواع قفل هاي مختلف شناخت پيدا کنيم، لازم است که با تعريف صحيح آن ها آشنا شويم. يکي از انواع قفل هاي ديجيتال که امروزه بسيار مورد استفاده قرار مي گيرد، قفل هاي سخت افزاري است. يک قفل سخت افزاري در حقيقت به برنامه اي گفته مي شود که عمل حفاظت آن از طريق يک قطعه سخت افزاري انجام گيرد. فرض کنيد که شما براي جلوگيري از کپي غيرمجاز برنامه هايتان به قفل احتياج داريد، اگر براي اين کار از برنامه اي استفاده کنيد که براي جلوگيري از کپي از يک قطعه سخت افزار اضافي کمک مي گيرد، شما يک قفل ديجيتال سخت افزاري خواهيد داشت.

قفل نرم افزاري چيست؟
با توجه به مفهوم قفل، به آساني مي توان حدس زد که اگر عمل حفاظت از آن چه که مورد نظر ماست از طريق يک برنامه نرم افزاري قابل انجام باشد، ما يک قفل ديجيتالي نرم افزاري را در دست خواهيم داشت. در اين روش شما به هيچ ابزار يا قطعه سخت افزاري اضافي احتياج نخواهيد داشت و تمامي کنترل هاي مورد نظر خود را از طريق نرم افزار انجام خواهيد داد.

چگونه مي توان از قفل هاي سخت افزاري استفاده کرد؟
براي هر قفل سخت افزاري قبل از هر چيز يک بخش اصلي در نظر گرفته مي شود، اين بخش به طور عمده از يک فضاي ذخيره سازي تشکيل مي شود که در بيشتر مواقع قابل تغيير يا پاک شدن مي باشد. البته با توجه به نوع و حجمي که براي اين فضا در نظر گرفته مي شود، هر قفل مي تواند عملکرد متفاوتي را داشته باشد اما در حالت کلي مي توان گفت که اساس کار تمامي قفل هاي سخت افزاري از دو شکل خاص که در ادامه به طور مفصل در مورد هر يک صحبت خواهيم کرد، خارج نمي باشد.

قفل هاي ساده براي کارهاي نه چندان مهم
شايد شما دوست داشته باشيد براي کارها و برنامه هاي خصوصي تان هم قفل بگذاريد و آن ها را به طريقي از دسترس افراد عادي دور نگه داريد. اگر براي اين کار دوست داريد که از قفل هاي سخت افزاري استفاده کنيد، بايد بدانيد که قفل هايي با ساختار بسيار ساده براي اين منظور وجود دارد. اين قفل ها داراي يک ساختمان بسيار ساده هستند و بسيار ارزان قيمت هستند. در اين حالت کسي که صاحب برنامه نرم افزاري است، چند بايت از اطلاعات را در قفل مي نويسد و آن ها را توسط برنامه در زمان اجرا چک خواهد کرد. در اين حالت اگر برنامه تشخيص دهد که قفل وجود دارد، به اجرا ادامه خواهد داد و تمامي اطلاعات آن در دسترس کاربر قرار خواهد گرفت، اما در صورتي که برنامه بفهمد اطلاعات مربوط به قفل وجود ندارد يا اين که اطلاعاتي که از روي قفل خوانده شده است، اطلاعات معتبري نيست، در اين صورت اجراي برنامه متوقف خواهد شد. در حقيقت در اين حالت به جاي ادامه پيدا کردن روند اجراي برنامه، پيغام خطايي به کاربر نمايش داده خواهد شد و به اين ترتيب اطلاعات مربوط به برنامه حفظ خواهد شد. اين سبک از قفل ها بيشتر براي آن دسته از کاربراني تهيه شده است که تخصص ويژه اي ندارند و استفاده از اين قفل ها بسيار آسان است. به عبارت ديگر اگر شما نرم افزاري را که شرکت سازنده قفل در اختيار شما گذاشته است، اجرا کنيد مراحل کار براي شما به شکلي واضح مشخص خواهد بود. شما بايد در ابتدا اطلاعاتي را براي استفاده از قفل وارد نرم افزار کنيد. به اين ترتيب که يک کلمه دلخواه به عنوان کلمه عبور تعيين کرده و آن را در حافظه مربوط به قفل ثبت کنيد. دقت داشته باشيد که کلمه عبوري که براي اولين بار انتخاب مي-کنيد هميشه به ياد داشته باشيد، زيرا اگر بخواهيد پس از آن به اطلاعات درون قفل دسترسي داشته باشيد، بايد ابتدا آن کلمه عبور را وارد کنيد. پس از اين مرحله با توجه به نوع قفل، اطلاعات موجود در آن يا ديگر مواردي که مربوط به وجود قفل است، توسط نرم افزار موجود چک خواهد شد. البته شما مي توانيد با استفاده از نرم افزار کلمه عبوري که انتخاب کرده-ايد يا بعضي از تنظيمات ديگري که به صورت دستي انجام داده ايد را تغيير دهيد.

قفل هاي سخت افزاري محکم تر
همان طور که در جهان حقيقي يک قفل مي تواند با توجه به ساختار طراحي آن، کار کردن با آن به صورتي ساده يا پيچيده باشد، در جهان فناوري ها هم وضع به همين صورت است و شما مي توانيد يک قفل سخت افزاري با ساختار پيچيده هم داشته باشيد که به طور حتم ميزان قدرت حفاظتي آن بسيار بالاتر از قفل هاي معمولي خواهد بود. در اين صورت حافظه اي که براي قفل در نظر گرفته مي شود بيشتر از چند کيلو بايت خواهد بود و بدون شک در مقايسه با قفل هاي ساده قيمت اين قفل ها بسيار گران تر خواهد بود. در اين روش قفل گذاري، بخش کوچکي از برنامه نرم افزاري در حافظه قفل قرار خواهد گرفت و اگر قفل وجود نداشته باشد به هيچ وجه امکان نخواهد داشت که برنامه اجرا شود. کار با اين دسته از قفل ها نياز به تخصص بيشتري دارد و ميزان حفاظت بيشتري توسط آن ها از برنامه هاي نرم افزاري انجام مي شود. در اين حالت از هر قفل فقط براي يک برنامه استفاده خواهد شد. بيشتر قفل هاي سخت افزاري از طريق رايانه ها قابل کنترل خواهند بود و کاربر متخصص قادر خواهد بود از طريق برنامه نرم افزاري مربوط به قفل اطلاعات موجود روي آن را خوانده و حتي براي قسمت هاي مختلف و فايل هاي موجود در آن رمز تعيين کرده و بخش هاي مختلف را تست کند. تنظيمات تخصصي مربوط به قفل توسط شرکت توليد کننده آن و از طريق نرم افزار ويژه قفل انجام خواهد گرفت و فايل هايي که در قفل ثبت مي-شود به طور دقيقي توسط توليد کننده نرم افزار کنترل خواهد شد.

قفل هاي نرم افزاري
با توجه به توضيحاتي که داده شد به راحتي مي توان در مورد يک قفل نرم افزاري صحبت کرد. قفل نرم افزاري در حقيقت برنامه اي است که به منظور حفاظت از برنامه هاي نرم افزاري ديگر نوشته مي شود. برنامه مربوط به قفل هاي نرم افزاري بسته به نظر برنامه نويسشان متفاوت خواهد بود و طراح قفل مي تواند به گونه هاي مختلفي عمل کند. به طور مثال شما مي توانيد قفلي را به طراح سفارش دهيد که بتواند از تمامي قسمت هاي برنامه شما محافظت کند و همچنين ديگر امکان کپي وجود نداشته باشد. در اين صورت برنامه به اين صورت طراحي خواهد شد که در زمان هاي مشخصي وجود قفل را کنترل کند يا اين که نسخه اي نمايشي از کار در اختيار کاربر قرار گيرد و براي بعضي از قسمت هاي برنامه به اختيار طراح قفل گذاشته شود. به طور مثال مي توانيد يک سيستم مديريت سازماني را در نظر بگيريد که بعضي از بخش هاي سيستم آزاد است و شما به آساني مي توانيد با آن کار کنيد و بعضي از بخش هاي ديگر آن مانند گزارش گيري هاي پيشرفته داراي سطح دسترسي است و شما قادر به استفاده از آن نخواهيد بود مگر اين که نسخه کامل نرم افزار را خريداري کنيد. در اين صورت فقط قسمت هاي خاصي از نرم افزار قفل خواهند داشت. در حال حاضر قفل هاي نرم افزاري و سخت افزاري متفاوتي وجود دارند اما چيزي که بيشتر مورد توجه کاربران قرار گرفته است قفل هايي است که روي سي دي ها گذاشته مي شود و به اين طريق از کپي غيرمجاز يا سوء استفاده از محتويات سي دي جلوگيري مي کند. در ادامه برخي از روش هاي قفل گذاري روي سي دي را معرفي خواهيم کرد.

خراب کردن سي دي براي جلوگيري از کپي
يکي از متدوال ترين روش هايي که براي قفل گذاري روي سي دي استفاده مي شود به اين صورت است که نقاط خاصي از سي دي را با استفاده از ليزر خراب مي کنند و به اين ترتيب آن نقاط علامت گذاشته شده به عنوان قفل سي دي عمل خواهند کرد. اين روش در حقيقت براي برنامه هايي به کار برده خواهد شد که به طور مستقيم از روي سي دي اجرا مي شوند. به اين ترتيب نقاط تعيين شده ليزرسوز مي شوند و کاربر مي تواند اطمينان داشته باشد که از اين طريق از کپي کردن يا استفاده غيرمجاز از محتويات سي دي مي تواند جلوگيري کند.

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

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

قفل گذاري نرم افزاري براي برنامه هاي بدون سورس
در صورتي که تصميم داشته باشيد براي يک برنامه نرم افزاري قفل بگذاريد و سورس آن را در دسترس داشته باشيد اين کار به آساني انجام خواهد گرفت. براي اين کار کافي است که يک روش قفل گذاري را انتخاب کرده و پس از آن با استفاده از زبان برنامه نويسي که مورد نظرتان است، کد مربوط به بخش قفل گذاري را به سورس برنامه اضافه کنيد. اما مشکل اصلي در زماني به وجود خواهد آمد که شما سورس برنامه مورد نظرتان را نداريد و در اين حالت فقط يک فايل اجرايي در دسترس خواهيد داشت. در اين حالت بايد تخصص بيشتري داشته باشيد و با ساختار کامل فايل هاي اجرايي آشنايي داشته باشيد. اين فايل ها عمدتا فرمت هايي مانند COM، SYS يا EXE خواهند داشت. شيوه کار با اين فايل ها براي قفل گذاري بسيار متفاوت خواهد بود. در اين روش در حقيقت شما ويروسي خواهيد نوشت که در کنار فايل اجرايي قرار گرفته و براي اجرا شدن به آن بچسبد. بهترين زباني که براي پياده سازي قفل هايي با اين روش استفاده مي شود، زبان برنامه نويسي اسمبلي است. زيرا به کاربر اجازه مي دهد که تا حد بسيار زيادي در روند اجراي برنامه دخالت داشته باشد و به زبان رايانه بسيار نزديک است. البته به جز اين کار لازم است که در برنامه مورد نظر کدهايي گنجانده شود که در روند اجرايي برنامه تغييري را ايجاد نکنند و به اين صورت احتمال دستکاري در برنامه از بين برود. به اين سبک از کدها در اصطلاح برنامه نويسان کدهاي ضد ديباگ گفته مي شود.

قفل گذاري هاي رايج در بازار
برخي از روش هاي قفل گذاري نرم افزاري به دلايل مختلف بيشتر از ديگر روش ها در ميان کاربران استفاده مي شوند. در ادامه به معرفي چند روشي که در بازار رايج است خواهيم پرداخت.

قفل Secu Rom
اين قفل در ميان شرکت هاي توليد کننده سي دي و ديگر ديسک هاي فشرده بيشترين ميزان طرفدار را دارد و جالب است که بدانيد شرکت سوني سازنده اين قفل است. براي قفل گذاري در اين قفل از دو روش استفاده شده است. در روش ابتدايي از يک اثر انگشت الکترونيکي براي هر ديسک استفاده مي شود و بايد بدانيد که اين اثر انگشت براي هر ديسک فشرده متفاوت خواهد بود. در روش دوم از فناوري هاي مخفي سازي استفاده مي شود. سطح امنيتي اين قفل در حد متوسط بوده و سوني هيچ گونه ادعايي در مورد شکسته نشدن آن ندارد. البته شرکت سوني يک قفل ديگر هم ارائه کرده است که شبيه به SecuRom است و Libcrypt Protection نام دارد. اين قفل از يک کد شناسايي خاص استفاده مي کند و از نظر ميزان امنيت بسيار بهتر از SecuRom عمل مي کند و در رده قفل هاي خوب قرار مي گيرد. اين قفل فقط توسط برخي از ديسک درايوها با توانايي خاص عدم ترميم SubChannel قابل کپي است.

قفل Safe Disk
اين قفل از روش هاي متفاوتي براي قفل گذاري استفاده مي کنند، اما اساس تمامي اين روش ها از سه ساختار اصلي جدا نيستند. اين قفل محصولي از شرکت C-Dilla است. در روش اول از ترفندهاي برنامه نويسي براي جلوگيري از دسترسي به اطلاعات استفاده مي کند، به اين ترتيب که براي جلوگيري از دستکاري شدن کد برنامه از تله هاي ديباگ استفاده مي-کند و از ساختاري با نام درست شناسي براي چک کردن امضاي ديجيتال کمک مي گيرد. در صورتي که اين ساختار امضا را تاييد کند، برنامه اجازه اجرا شدن خواهد داشت. اين قفل در روش ديگر از يک امضاي ديجيتال با عنوان قفل استفاده مي کند و اين امضا باعث مي شود که کاربر نتواند به صورتي غيرمجاز به اطلاعات دسترسي پيدا کند. در روش سوم از عمليات مخفي سازي براي حفاظت از اطلاعات استفاده خواهد شد. البته اين قفل ها از نظر امنيتي زياد مورد اعتماد نخواهند بود و توسط ديسک درايوهايي که مي توانند در حالت RAW عمليات خواندن و نوشتن را انجام دهند، به آساني کپي شوند.

قفل گذاري به روش CrypKey
براي اين روش قفل گذاري شما به هيچ کليدي احتياج نخواهيد داشت و از سيستم پيشرفته اي با نام کنترل زمان در ساختار اين قفل استفاده مي شود. تمامي کارها در اين روش قفل گذاري از طريق توليد يک کد انجام خواهد گرفت. اين کد در زمان نصب اين قفل توليد خواهد شد و به طور مستقيم به خصوصيات سيستم وابسته است و به همين خاطر چون ويژگي-هاي هر سيستم با ديگر سيستم ها تفاوت دارد اين کد براي هر سيستم به صورت منحصر به فرد خواهد بود. پس از اين که کاربر کد توليد شده از نصب قفل را دريافت کرد بايد آن را به شرکت سازنده قفل ارائه کند و يک کد معادل از آن شرکت دريافت کند. در صورتي که کد معادل دريافت شده توسط رايانه پذيرفته شود برنامه قابليت اجرا پيدا خواهد کرد. هر کاربر قادر خواهد بود بارها از اين کد براي قفل گذاري هاي مختلف استفاده کند. اين قفل ها در حال حاضر محبوبيت زيادي پيدا کرده اند و بيشتر از ديگر قفل ها استفاده مي شوند. با اين که امنيت اين قفل ها در حد بسيار بالايي است اما اين نکته که کاربر براي استفاده از اين قفل و دريافت کد بايد حتما با شرکت سازنده آن تماس داشته باشد، يکي از بزرگترين معايبي است که براي اين قفل ها وجود دارد. به اين ترتيب هر کاربر نمي تواند به صورت سريع پس از خريد، از قفل مورد نظر خود استفاده کند. اما اين موضوع براي شرکت سازنده بسيار اهميت داشته و مفيد است. زيرا شرکت توليد کننده قفل به آساني مي تواند از آمار فروش خود اطلاع پيدا کند.

آينده در دست قفل گذاري هاي اينترنتي
اين روش هنوز توسط تمامي کشورها استفاده نمي شود و تنها کشورهاي پيشرفته براي بعضي از محصولات خاصشان از اين قفل ها استفاده مي کنند. براي استفاده از اين روش قفل گذاري کاربر بايد به طور پيوسته به اينترنت دسترسي داشته باشد و براي اجراي اين قفل به اينترنت متصل باشد. برنامه اين دسته از قفل ها براي نصب، برخي از اطلاعات مورد نظر خود را از طريق اتصال به اينترنت دريافت خواهد کرد و حتي پردازش محصول هم توسط ارتباط اينترنتي انجام خواهد گرفت. به اين ترتيب امکان شکسته شدن اين دسته از قفل ها بسيار پايين خواهد بود و امنيت بسيار بالايي حتي بالاتر از قفل هاي سخت افزاري خواهند داشت. علاوه بر اين موارد شما مي توانيد به طور مستقيم اين قفل ها را از طريق اينترنت خريداري کنيد و قيمت آن ها در مقايسه با ديگر قفل ها بسيار مناسب است. تنها نکته اي که از نظر کاربران به عنوان عيب اين قفل ها شناخته شده است، احتياج به اتصال دائمي به اينترنت است. البته نبايد از اين نکته غافل شد که کساني که به دنبال امنيت بالا و مطمئن هستند به طور حتم از اين نوع قفل گذاري استقبال خواهند کرد زيرا درصد احتمال شکسته شدن اين قفل ها بسيار پايين است.


بايت - مورخ چهارشنبه 1389/07/21 شماره انتشار 17672