بخشی از مقاله
خلاصه:
امروزه لازمهی انجام فعالیتهای اینترنتی، پاسخ به آزمونی موسوم به کپچا است. کپچا آزمونی را تولید می کند که پاسخ به آن برای انسان آسان و برای ماشین سخت است. به علت تمایل اکثر کاربران فارسیزبان برای انجام فعالیتهای فوق، طراحی کپچاها به زبان فارسی امری ضروری است. در این مقاله به طراحی کپچای مقاوم فارسی پرداخته میشود که با استفاده از کلمات بامعنا و جداسازی حروف آنها تولید شده است.
در این کپچا که دارای ضریب اطمینان بالایی است، یک کلمه بامعنای فارسی که ممکن است چهار الی هشتحرفی باشد بهصورت تصادفی انتخاب شده و پس از جداسازی حروف در یک جدول قرار میگیرند، که تعداد سلولهای این جدول بیشتر از تعداد حروف کلمه مورد نظر است. بدینصورت که پس از جاگذاری کامل حروف در جدول، بقیه سلول های خالی با استفاده از حروف تصادفی از جدول الفبا پر میشوند.
در نهایت یک نویز فلفل نمکی و تعدادی خطوط کوتاه به تصویر کپچا میدهیم که بعد از اجرای برنامه این تصویر برای کاربر نمایش داده میشود. کاربر باید کلمه موردنظر را در این تصویر حدس زده و وارد نماید. نتایج ارزیابی نشان میدهد به دلیل بامعنا بودن کلمات، حدس زدن کلمه صحیح برای کاربران فارسیزبان کار راحتی است و همچنین به علت جداسازی حروف و استفاده از نویز، کار شناسایی برای یک ربات سخت میشود.
.1 مقدمه
با گسترش شبکهی جهانی اینترنت، بسیاری از زوایای زندگی انسان تحت تأثیر این پدیده قرارگرفته است، بهطوریکه در کشورهای صنعتی بسیاری از امور روزمره خرید گرفته تا آموزش و تجارت، همگی از طریق اینترنت صورت میگیرد. در کشور ما نیز انجام فعالیتهای روزمره از طریق اینترنت روزبهروز در حال افزایش است و با توجه به اینکه استفاده از زبان انگلیسی برای اکثر کاربران فارسیزبان مشکل بوده یا حتی برخی علیرغم آشنایی مختصر با زبان انگلیسی، تمایل به استفاده از زبان فارسی برای فعالیتهای فوق دارند، لذا طراحان سایت در کشورمان برآنند تا سایتهای ارائهی خدمات را به زبان فارسی طراحی کنند. از طرفی داشتن یک سایت فارسی با امنیت بالا، نیازمند یک کپچای فارسی امن در این حوزه میباشد.
.1-1 کپچا و تست تورینگ
- Captcha - 1 که سرنام برابر انگلیسی آزمون» همگانی کاملاً خودکار شده تورینگ برای مجزا کردن انسان و رایانه« میباشد، یک سامانهی امنیتی و روند ارزیابی است که برای جلوگیری از برخی حملههای خرابکارانهی رباتهای اینترنتی به کار میرود. این روند میتواند مشخص کند که مراجعهکنندگان به یک وبگاه و یا سایر خدمات آنلاین، انسان هستند یا کامپیوتر. بدین منظور برنامهی کپچا آزمونهایی را تولید میکند که تنها انسانها قادر به پاسخگویی به آنها باشند، چون کامپیوترها و نرمافزارهای فعلی احتمالاً نمیتوانند پاسخ درستی به این آزمون بدهند. هر کاربری که آن را درست حل کند انسان فرض میشود.
روشهایی که بهوسیلهی آنها بتوان یک انسان را از یک کامپیوتر متمایز کرد معروف به "تست تورینگ" 2 هستند. موفقیت این تست به دو عامل بستگی دارد: - 1تا چه اندازه برای انسان آسان است؟ - بحث کاربردپذیری - . - 2تا چه اندازه برای برنامههای کامپیوتری دشوار است؟ - بحث امنیت - . این تست عمومی است، یعنی روشهایی که در ساخت کپچا به کار میروند باید در اختیار همگان قرار گیرد. پس برنامههایی که مینویسیم باید آنقدر قدرتمند باشند که دیگران حتی با آگاهی کامل از روشها، نتوانند آن را شکست دهند. ماشینهایک ضعف مهم دارند و احتمالاً راهحل شکست دادن آنها با تکیه بر همین ضعف است. آن ضعف مهم این است که آنها انسان نیستند، یعنی آنها خیلی از تواناییهای یک انسان را ندارند
.2-1 کاربرد کپچا
مهمترین هدف طراحی کپچا حفظ اطلاعات محرمانه افرادی است که در سایتها ثبتنام میکنند. افراد با ثبت نام در سایت ها اطلاعاتی از قبیل شناسهی کاربری و کلمه عبور، شمارهی حساب، رمز کارتبانکی، شماره تماس و بسیاری از مشخصات فردی خود را در اختیار این سایتها قرار میدهند، که در پایگاه دادهی این سایتها ذخیره میشود. این اطلاعات ارزشمندی است که طراحان سایت باید برای حفاظت از آنها در مقابل حملات هکرها، نهایت تلاش خود را انجام دهند. برای مثال جیمیل از یک برنامه خودکار جهت فیلتر کردن اسپم، فیس بوک جهت جلوگیری از حسابهای جعلی و پیامهای ناخواسته و پی پال با بهرهگیری از آن برای به اجرا درآوردن امنیت مالی کاربران استفاده میکند. از موارد دیگر استفاده از کپچا میتوان به رای گیری آنلاین، ایجاد پست الکترونیک، سایتهای فروش اینترنتی، ارسال پیام و کامنت در سایتها و استفاده در حوزه تبلیغات اشاره کرد.
.3-1 انواع کپچا
بهطورکلی کپچاها را میتوان به چهار دسته مبتنی بر متن، مبتنی بر تصویر، مبتنی بر صدا و مبتنی بر ویدئو تقسیم کرد که هرکدام دارای زیرمجموعه خاص خود هستند. در کپچای متنی، تصویری از یک کلمه یا ترکیبی از حروف و اعداد که دچار نوعی خرابی و نویز شدهاند به کاربر نشان داده میشود و کاربر باید این حروف را تشخیص داده و در کادر تعبیهشده بنویسد.
ریکپچا و سوپر کپچا نمونهای از کپچای مبتنی بر متن هستند. در شکل - 1 - نمونهای از چند کپچای متنی را مشاهده میکنید. کپچاهای متنی ممکن است توسط سیستمهای تشخیص حروف شکسته شوند. همچنین با مشکلتر کردن حل آنها برای سیستمهای تشخیص حروف، حل آنها برای انسان نیز دشوار میشود. ازاینجهت محققان تصمیم گرفتند از تصویر بهعنوان کپچا استفاده کنند، زیرا بینایی ماشین مسئلهای بسیار دشوارتر از تشخیص کاراکتر است.
کپچای پازل نمونهای از کپچای تصویری است. کپچای صوتی بر درک صوتی انسان تکیه دارد. یعنی بهعنوان یک جایگزین غیر بصری معرفی شدند. در کپچاهای مبتنی بر صدا یک متن با سروصدای پسزمینه مانند موسیقی یا پچپچ غیرقابلشناسایی ترکیب میشوند و از کاربر خواسته میشود تا صدای پخششده را شناسایی کرده و یا اینکه بهصورت نوشتاری تایپ کند. نوع دیگری از کپچا، مبتنی بر ویدئو است. در این روش از برچسبگذاری ویدئو بر اساس محتوا بهعنوان کپچا استفادهشده است؟ یعنی ویدئویی به کاربر نمایش داده میشود و او باید سه کلمه - برچسب“ که توصیفکننده آن ویدئو باشد را وارد کند
- شکل-: - 1 تصویری از چند کپچای مبتنی بر متن
.4-1 برتری کپچای متنی
در دنیای کنونی وب و در جاهای مختلف از انواع کپچاها استفاده میشود، ولی با توجه به اینکه کپچاهای مبتنی بر متن از کاربردپذیری بیشتر و پیادهسازی آسانتری برخوردار بوده و در مقابل حملات قدرت بیشتری دارند، پس نسبت به کپچاهای دیگر از محبوبیت بیشتری برخوردار هستند. همچنین پیادهسازی این نوع کپچا هزینه کمتری نسبت به کپچاهای دیگر دارا میباشد.
.2 مروری بر کارهای گذشته
از زمان تولید اولین کپچا تاکنون پژوهش های زیادی در این زمینه انجام شده که همه این تحقیقات جهت افزایش دو بحث امنیت و کاربردپذیری در کپچا بوده است. ما در این بخش، این دو بحث را بررسی نموده و به نکات ضعف و قوت آنها می پردازیم.