کپچا چیست؟
همان گونه که میدانیم برای فعالیت در بیشتر سرویسدهندهها از جمله بانکها برای عملیات بانکی ، فروشگاههای اینترنتی ، کتابخانههای الکترونیکی، موزه های الکترونیکی، سرویس دهندههای پست الکترونیکی مانند Gmail ، Chmail و یا هر سرویس دهنده دیگری در فضای مجازی لازم است تا در سایت های آنها ثبتنام و عضو شد و پس از عضویت ، یک نام کاربری(UserName) و یک گذرواژه(Password) به ما اختصاص مییابد که حساب کاربری(User Account) ما به حساب میآید. اما واقعا از لحاظ امنیتی این نام کاربری و گذرواژه چقدر ایمن است؟ چقدر از دسترسی افرادی همچون هکرها درامان است؟
واقعیت این است که هیچ رمزی غیرقابل شکستن و غیرقابل دسترس برای هکرها و... نیست. آنها بوسیله الگوریتمها و سیستمهای قدرتمند سعی در یافتن رمزها دارند و حتما خواهند توانست رمز را پیدا کنند اما ما برای اینکه مدت زمان یافتن رمز توسط آنها را بالا ببریم از راهکارهایی مانند عدم استفاده ازکدملی، شماره شناسنامه یا سال تولد و... بعنوان رمز و استفاده از رمزهای طولانی، رمزهای ترکیبی از اعداد و حروف و علائم، رمزهای دارای حروف بزرگ و کوچک و... استفاده میکنیم. اما واقعیت این است که این راهکارها فقط زمان یافتن رمزها را طولانی میکند اما کمکی به تضمین پیدا نشدن رمز نمیکنند.
اما واقعا راهکار چیست؟
میدانیم که افرادی مانند هکرها رمزها را با استفاده الگوریتمهای قدرتمند جستجو و کامپیوترهای قدرتمند انجام میدهند، بنابراین ما باید راهکاری پیدا کنیم که سد راه ماشین(کامپیوتر) شود یعنی روشی پیدا کنیم که انجام آن برای انسان ساده بوده در حالی که انجام آن برای یک کامپیوتر تقریباً غیرممکن باشد.
اولین بار آلن تورینگ (پدر محاسبات مدرن) تستی را به منظور تشخیص اینکه آیا یک ماشین میتواند مثل یک انسان فکر کند یا خیر، معرفی نمود، که این تست «بازی تقلید» نام داشت، در این تست، یک پرسشگر از دو موجودیت که یکی انسان و دیگری ماشین است، دنبالهای از سوالها را میپرسد در حالی که پرسشگر هیچ راهی برای کسب اطلاعات بیشتر در مورد موجودیتها ندارد. در صورتی که پرسشگر نتواند با استفاده از پاسخهای داده شده تشخیص دهد کدام موجودیت ماشین است، ماشین تست مورد نظر را با موفقیت پشت سر میگذارد.
بنابراین امروزه در هنگام ورود به حسابهای کاربری، در کنار نام کاربری و گذرواژه یک تستی هم برای تشخیص کاربران حقیقی از برنامههای کامپیوتری که سعی در یافتن رمز دارند را قرار میدهند که این تست کپچا(CAPTCHA) نام دارد. تست کپچا تستی است که انجام آن برای انسان ساده بوده در حالی که انجام آن برای یک کامپیوتر تقریباً غیرممکن است. معمولترین تستهای کپچا، دنبالهای از حروف الفبا و اعداد به صورت کج و کوله و شکل افتاده است که به شما ارائه شده و وظیفهی شما تایپ کردن این حروف به فرم و ترتیب درست آنها میباشد.
معماری کپچا چگونه است؟ و چطور کار میکند؟
کپچا در واقع یک تصویر از حروف و اعداد به صورت کج و کوله است. از طرفی برنامه و الگوریتمها قادر به جستجوی متن و اعداد و علائم هستند، نه عکس آنها، اما انسان با نگاه کردن به عکس میتواند حروف و اعداد و علائم آنرا تشخیص دهد. بنابراین این تست که انجام آن برای انسان بسیار ساده بوده در حالی که انجام آن برای یک کامپیوتر تقریباً غیرممکن است، میتواند مشکل امنیت حساب کاربری را تامین نماید.
مهندس صمدحسینی
کارشناس ارشد مهندسی نرمافزار
خیلی ممنونم از توضیحاتتون راجع به کپچا.
چش و چالم دراومد! اگه میشه فونت متن رو عوض کنید بهتر میشه!