منظور از متدهای Authentication شیوههایی هست که توسط آن یک سیستم کامپیوتری شما را احراز هویت میکند. قبل از شروع میخواهم این نکته را متذکر شوم که خیلی از این موارد جزو network+ نیست و من صرفا برای آشنایی این موارد را توضیح میدهم.
در خیلی از سیستمهای کامپیوتری، ممکن است شما خیلی متدهای Authentication را مشاهده نکنید. دلیل آن ممکن است به هزینه بالای پیادهسازی برخی از این شیوهها مربوط شود.
در خیلی از موارد متدهای Authentication که توسط کاربر اعمال میشود به سایر شیوههای بیومتریک ارجحیت دارد. دلیل این مورد هم بسیار واضح و مشخص است. ممکن هست یک سیستم در فرایند احراز هویت کاربر به دلایل مختلفی اشتباهاتی انجام دهد ولی هیچ وقت انتظار نمیرود یک کاربر پسورد خود را اشتباه وارد کند.
برای مثال ممکن هست یکسری از متدهای Authentication در دما و رطوبت مشخصی بتواند بدرستی فرایند احراز هویت را انجام دهند. Fingerprint یا احراز هویت با استفاده از اثر انگشت ر خیلی از موارد در صورت مرطوب بودن انگشتان دست قادر به شناسایی نیست.
برخی از شیوههای Authentication نیز امنیت بالایی ندارند. برای مثال در عصر حاضر از بیشتر افراد میتوان یا در صفحات شخصیشان و یا در گفتگوهایی که دارند؛ صدا ضبط نمود. بدیهی است که شیوه احراز هویت کاربران با استفاده از Voice، به تنهایی قادر نیست امنیت زیادی برای سیستمها داشته باشد.
البته که در اینجا ما قصد نداریم راجب امنیت این شیوههای Authentication صحبتی کنیم چون در واقع خیلی هم نمیتوان راجب این موضوع بصورت تخصصی بحث نمود.
برای مثال ممکن است شرکتی ادعا کند موفق به ساخت یک سیستم Fingerprint شده که بسیار دقیقتر از احراز هویتبه روش Iris Recognition است. خب بدیهی است که تکنولوژی ساخت هر یک از مواردی که میخواهیم راجب آنها صحبت کنیم متفاوت است شما همیشه بین دو آیتم هم جنس میتوانید مقایسه انجام دهید.
برای مثال شما میتوانید در مورد یک مدل خاص از یک ماژول Face detection با مدل دیگر این ماژول مقایسه به عمل بیاورید که کدامیک بهتر عمل شناسایی را انجام میدهند و کدامیک خطای کمتری در احراز هویت دارند.
من سعی کردم معروفترین متدهای Authentication را برای شما توضیح دهم. بدیهی هست که متدهای Authentication زیادی وجود دارند و علاوه بر آن ممکن است برخی از این متدها هنوز شناخته شده نباشند یا به دلایل مختلف از آنها در زندگی روزمره استفاده نشود.
Username & Password
یکی از سادهترین و اولین روشهای احراز هویت در سیستمهای کامپیوتری، احراز هویت به روش Username و Password میباشد. حقیقتش فکر نمیکنم نیاز باشد توضیحاتی زیادی در این مورد بیان کنم چون تقریبا همه ما در طول روز بارها و بارها از این متد Authentication استفاده میکنیم.
اگه یادتون باشه در سیستم عاملهای قدیمی، حتی در نسخههای اولیه شرکت مایکروسافت ویندوز نیز شما باید برای ورود به کاربری خود Username و Password وارد میکردید. بعد از گذشت مدتی، به مرور زمان خود سیستم عاملها یوزرهای یک کامپیوتر را به شما نشان میدادند تا شما راحتتر بتوانید وارد یوزر خود شوید.
مثلا زمانی که من خیلی کوچک بودم یادم هست که معمولا به دلایلی روی برخی از کامپیوترها اازه ساخت یوزر اکانت نداشتیم. برای مثال در مدارسی که کامپیوتر داشتند قطعا اجازه نمیدادند هر دانشآموز برای خود یک یوزر مستقل ایجاد کند. در آن زمان دانش آموزان از روشهایی برای مخفی کردن یوزرها روی سیستم عاملهایی مثل ویندوز XP استفاده میکردند.
هرچند که این کار، کار درستی نبود ولی خود من ترجیه میدادم روی هر کامپیوتر مدرسه یک یوزر داشته باشم😊.
روش احراز هویت با استفاده از Username و Password هرچند که خیلی قدیمی هست ولی جزو پر استفادهترین روشهای احراز هویت محسوب میشود. در خیلی از موارد سیستمها درصورتی که نتوانند با روشهای دیگر شما را احراز هویت کنند از این روش استفاده میکنند.
برای مثال اگر یک سیستم پس از چندین مرتبه تلاش نتواند با استفاده از شیوههای احراز هویت بیومتریک یک کاربر را شناسایی کند؛ به سراغ این روش خواهد رفت. دلیل این امر نیز بسیار شخص است؛ ممکن هست یک متد Authentication بدلیل بروز هر مشکلی نتواند شما را بدرستی بشناسد.
ولی سازندگن سیستمهای کامپیوتری از کاربران توقع دارند بتوانند در صورتی که متدهای Authentication بیومتریک موفق به شناسایی آنها نشد، پسورد خود را بدرستی وارد کنند.
در دورههای بعدی شما با نقاط ضعف هر متد Authentication نیز آشنا خواهید شد و من در حال حاضر با این سطح از دانش شما راجبل امنیت این متدها صحبتی داشته باشم.
معمولا پسورد انتخابی شما روی سیستمهای کاپیوتری بصورت مستقیم یا خام نگهداری نمیشود و سیستمهای مختلف سعی میکنند از هشینگهای متفاوتی برای رمزنگاری پسورد انتخابی شما استفاده کنند. حتی برخی از سیستم عاملها همانند محصولات مایکروسافت تلاش میکنند تا پسورد هش شده نیز تا حد زیادی غیر قابل دسترس باشد.
برای انتخاب یک Username شما در سیستمهای مختلف کاراکترهای محدودی را میتوانید انتخاب کنید و مجاز به استفاده از هر کاراکتری در پسورد خود نیستید. که البته این مورد در سیستمهای مختلف متفاوت است.
همچنین در بعضی موارد یکسری policy برای پسورد در سیستمهای مختلف در نظر میگیرند. برای مثال ممکن است کاربران یک سازمان مجاز به انتخاب پسورد ۴ رقمی نباشند و پسورد آنها حداقل میبایست متشکل از ۸ کاراکتر باشد که در آن حروف بزرگ و کوچک رعایت شده باشد.
Pattern
یکی از معروفترین شیوههایی که برای وارد شدن به سیستمهای کامپیوتری مخصوصا گوشیهای هوشمندی که دارای سیستم عامل اندروید است مورد استفاده قرار میگیرد pattern است.
در این روش شما با وارد نمودن یک الگوی انتخابی که معمولا با استفاده از ۹ نقطه صورت میگیرد، به یک سیستم کامپیوتری وارد میشوید.
یکی از مشکلاتی که این شیوه Authentication دارد این است که شما برای انتخاب یک الگو حدود ۳۶۰ هزار انتخاب مختلف دارید که با در نظر گرفتن اینکه از هر نقطهای نمیتوانید سایر نقاط را انخاب کنید، این امر تعداد انتخابهای شما را بسیار کاهش میدهد و در نتیجه شما امنیت بسیار کمتری نسبت به متد Username و Password خواهید داشت.
از طرفی حفظ کردن یک الگو بدلیل داشتن یک شکل فیزیکی خیلی میتواند سادهتر از یک عدد باشد ۹ رقمی باشد. به همین دلیل ممکن است یک نفر در صورت مشاهده الگوی شما به راحتی بتواد آنرا تقلید کند.
معمولا در سیستم عاملهای اندرویدی تا جایی که من میدانم انکریپش و رمزگذاری خاصی بر روی الگوی انتخابی شما اعمال نمیشود، هرچند که الگویی که شما برای آن در نظر گرفتهاید در فایلهایی محافظت شده نگهداری میشود ولی معمولا سیستم عاملهای اندرویدی امنیت کمتری نسبت به سایر سیستم عاملها دارند.
خلاصه که سعی کنید از الگویی که تنها شامل یک گراف ۹ نقطهای است استفاده نکنید. در برخی از رامهای اندرویدی شما میتوانستید تعداد نقاط این الگوها را تغییر دهید و یا بهترین گزینه این است که از متد دیگری برای Authentication استفاده کنید.
PIN
کلمه Pin مخفف Personal Identification Number (شماره شناسایی شخصی) است. اگر مقع خرید سیم کارتهای گوشی دقت کنید حتما دو عدد PIN و PUK را شاهده میکنید. اگر یادتون باشه تمامی سیمکارتها در گذشته PIN فعال شده داشتند و این عدد توسط اربران قابل تغییر بود.
دلیل این امر این بود که اگر سیمکارت دزدیده شد کسی جز صاحب اصلی آن نمیتوانست از آن استفاده کند. شما با سه بار اشتباه وارد کردن PIN مجبور به استفاده از PUK میشدید.
تفاوت PIN با استفاده از Username و Password در این است که در PIN شما تنها میتوانید از اعداد استفاده کنید. برای مثال یک نمونه از پرکاربردترین استفادههایی که شما از PIN در طول روز دارید رمز استفاده از کارتهای بانکی است.
شما در طول روز بارها و بارها خرید میکنید و در بیشتر این خریدها از کارتهای اعتباری استفاده میکنید که برای احراز هویت شما به وارد کردن PIN نیازمند هستند.
بطور معمول کاربران برای انتخاب یک PIN از اعداد ۴ رقمی استفاده میکنند. حتی در سیستمهای قدیمی شما این امکان را نداشتید که از اعدادی بیش از ۴ رقم استفاده کنید. قطعا هرچه شما از رقمهای کمتری برای انتخاب PIN استفاده کنید امنیت کمتری در سیستمهای خود خواهید داشت.
استفاده از ۴ رقم برای یک PIN به این معناست که شما در دامنهی ۱۰۰۰ حالت تفاوت یک حالت را انتخاب میکنید. خب ممکن است حدس یک عدد ۴ رقمی برای یک هکر کار بسیار دشواری نباشد. به همین دلیل PINهای کارتهای بانکی بانکهای سوییس ۶ رقمی هستند.
در سال ۲۰۰۲ یک دانشجوی رشته دکترا در دانشگاه کمبریج موفق به کشف یک Vulnerability (آسیب پذیری) در تولید PINهای سامانههای IBM ۳۶۲۴ شد. مشکل آن بود که این آسیبپذیری در خیلی از سختافزارهای تولیدی یافت میشد.
حمله مربوط به این آسیبپذیری که «decimalization table attack» نام دارد به افرادی که به سامانههای بانکی دسترسی دارند این اجازه را میدهد تا در میانگین ۱۵ حدس، رمز کارت بانکی را پیدا کنند.
دلیل استفاده از PIN در بسیاری از سیستمها این است که نیازی به متد Authentication از طریق Username و Password نیست. منظورم این است که شما تصور کنید اگر قرار بود شما از متد Username و Password در دستگاههای ATM استفاده میکردید باید همه این دستگاهها به یک کیبورد متصل میشدند.
Fingerprint
Fingerprint در لغت به معنی اثر انگشت هست. همانطور که میدانید اثر انگشت هر فرد در جهان منحصر به فرد است و شما در حالت عادی اثر انگشت هیچ دو انسانی را شبیه به هم نمییابید.
از همین رو از اثر انگشت و ر کل اطلاعات بیومتریک نحص به فرد انسانها سعی میکنند در متدهای Authentication استفاده کنند. طبق تحقیقات انجام شده امکان شباهت دو اثر انگشت به یکدیگر ۱ در شصت و چهار میلیارد است که تقریبا به غیر ممکن خیلی نزدیک است.
اثر انگشت برجستگیهای خیلی کوچکی هستند که بر روی انگشت هر فرد قرار دارند. حتی اثر انگشت هر انگشت نیز با انگشتان دیگر متفاوت است و به همین دلیل در انگشت نگاری از اثر انگشت تمامی انگشتهای دست استفاده میشود.
حسگرهای اثر انگشت در ابتدا برای مکانهای امنیتی مانند مکانهای اطلاعاتی یا نظامی ساخته شدند. این حسگرها بسیار گران قیمت بودند و جزو تکنولوژیهایی به شمار میرفتند که هر سازمانی امکان استفاده از آن را نداشت.
به مرور زمان این تکنولوژی بر روی لبتابها و انواع تجهیزات نصب شد تا کاربران امنیت بیشتری برای استفاده از آنها داشته باشند. در اوایل کار این حسگرها دقت کمی داشتند و ضریب خطای بالایی از خود نشان میدادند.
ولی به مرور زمان دقت آنها افزایش پیدا کرد و امروزه بدلیل سادگی و امنیت بالای این تکنولوژی شما آن را بر روی تمامی تجهیزات مشاهده میکنید. حتی برخی از خودروها نیز مجهز به حسگرهای اثر انگشت میباشند.
همانطور که بالا گفتم انتخب متد Fingerprint در یک سیستم با حسگر انگشت با امنیت، همانند آن است که شما یک پسورد با جایگشت شصت و چهار میلیارد انتخاب کنید. به همین دلیل تولید سخت افزاری که بتواند همه حالتهای ممکن را آزمایش کند تقریبا بیفایده است.
از طرفی اثر انگشت ممکن است باعث کاهش امنیت دستگاهها نیز شود، اگر کسی بتواند از اثر انگشت شما قالبگیری کند منطقی هست که میتواند به هرآنچه که شما با استفاده از متد Fingerprint به آن دسترسی دارید، وارد شود.
تا اینجای کار مطمعنم شما متوجه این موضوع شدهاید که هر متد Authentication مزایا و معایب خود را دارد و به همین دلیل معمولا برای مکانهای امنیتی همانند گاوصندقهایی که برای نگهداری لوازم با ارزش از آنها استفاده میشود، از چندین متد Authentication استفاده میکنند.
Face detection
تکنولوژی تشخیص چهره در بسیاری از کجتها همانند تلفنهای همراه وجود دارد. حتی خیلی از دوربینهای مداربسته نیز این قابلیت را به کاربران ارائه میدهند.
تشخیص چهره به این معناست که یک سیستم کامپیوتری قادر باشد چهره یک انسان را در تصویر شناسایی کند و جزئیات صورت هر فرد را ثبت نمایید.
تکنولوژی Face Recognition این امکان را میتواند برای مراکز امنیتی فراهم کند که چهره همه افراد را در بازههای زمانی مشخص ذخیرهسازی کنند. این عمل باعث ارتقای فرایندهای تشخیص چهره میشود و در واقع به شما این امکان را میدهد چهرههای از پیش ضبط شده را با هم مقایسه کنید.
Face detection بطور کلی با استفاده از تشخیص اجزای صورت یک فرد، نوع قرارگیری آنها در صورت، و حتی در مواردی نوع برجستگیهای صورت یک چهره را تشخیص میدهد. سپس چهره هر فرد با یکسری پارامتر در حافظه سیستم ذخیرهسازی میشود.
سیستمهای تشخیص چهره در اوایل، نقضهای بسیاری داشتند. برای مثال خیلی از سیستمها در نور زیاد یا بسیار کم امکان تشخیص چهره و احراز هویت افراد را نداشتند. هنوز هم با گذشت زمان و ارائه محصولات پیشرفتهتر در این حوزه بسیاری از تکنولوژیهای تشخیص چهره با مشکلاتی روبهرو هستند.
البته در خیلی از سیستمها نیز فرایند Face detection برای احراز هویت قرار داده شده است. دقیقا مانند تلفنهای همراه که شما میتوانید بر روی انواع سیستم عاملها با تنظیم یک چهره فرایند Authentication را انجام دهید.
Voice
در برخی از تلفنهای همراه اندروید ۴ امکان Authentication بوسیله Voice برای کاربران امکانپذیر بود ولی بدلیل ناقص بودن این پروسه و امکان جعل صدای افراد در سیستم عاملهای اندرویدی بعدی این قابلیت بصورت کلی حذف شد.
سیستمی که فرایند Voice را برای کاربران انجام میدهد باید بتواند بخوبی صدای محیط اطراف را از صدای فرد تشخیص دهد. همچنین شما به آسانی این امکان را دارید که در فضای مجازی و در صفحات اجتماعی یک نفر صدای او را بشنوید.
حالا این که بتوانید با استفاده از یکسری نرمافزار کامپیوتری صدای او را تقلید کنید برای جعل یک صدا، خیلی کار دشواری برای یک هکر نیست. بنابراین سیستمهایی که فرایند Authentication بوسیله Voice را انجام میدهند معمولا فقط به تنهایی از متد Voice استفاده نمیکنند.
متد Voice با استفاده از برسی سیگنالهای صوتی، تشخیص نوع گفتار و تلفظ کلمات، نوع مکث و میزان مکث کردن پس از گفتن یک جمله و یا هر کلمه، تُن صدای هر فرد و جنس صدا عمل احراز هویت را انجام میدهد. البته که یک سیستم دقیق هیچ وقت بدون استفاده از یک یا چند میکروفن با کیفیت قادر به احراز هویت کامل یک کاربر نیست.
Iris Recognition
در سال ۱۹۸۳ ایده اولیه تشیص هویت از طریق عنبیه چشم در یکی از فیلمهای جیمز باند به نام «دیگر هرگز نگو هرگز» نشان داده شد. در سال ۱۹۸۷ Leonard Flom و Aran Safir؛ دو چشم پزشک آمریکایی توانستند این مفهوم را ثبت اختراع کنند. ولی قادر به ساخت چنین تکنولوژی نبودند.
آنها پس از ثبت اختراع برای توسعه الگوریتم تشخیص قرنیه چشم نزد John Daugman رفتند که در آن زمان استاد داشگاه هاروارد بود. John Daugman در سال ۱۹۹۴ موفق به ساخت یک الگوریتم برای تشخیص قرنیه چشم شد که این الگوریتم در حال حاظر مبنای تمامی سیستمهای Iris Recognition است.
Iris Recognition یکی از متدهای Authentication با استفاده از روشهای بیومتریک محسوب میشود. در این روش یک اسکنر عنبیه چشم (Iris Scanning) عنبیه چشم فرد را برسی میکند. در بیشتر این اسکنرهای عنبیه چشم برای تشخیص بهتر از مادون قرمز و نور مرئی کمک گرفته میشود.
یکی از بزرگترین مشکل احراز هویت به روش Iris Recognition این است که با تکنولوژیهای جدید امکان اسکن قرنیه افراد از راه دور نیز وجود دارد. به همین دلیل ممکن است کسی بدون رضایت شما قرنیه چشمتان را از راه دور اسکن کند.
تصور کنید که اگر روزی پسورد کامپیوتر شما منتشر شود چه اتفاقی رخ خواهد داد؟ یا حتی اگر شماره تلفن همراه شما در کل اینترنت منتشر شود چه اتفاقی میافتد؟
اگر شما جزو مقامهای رسمی یک کشور محسوب نمیشوید بنظر من اتفاقی نمیافتد. شما نهایتا میخواهید رمز کامپیوتر شخصی خود را تعویض کنید و یا یک شماره تلفن دیگر برای کارهای شخصی خود انتخاب نمایید. اما اگر به هر دلیلی اطلاعات بیومتریک شما سرقت شود ممکن است خیلی مشکلات جدیتری رخ دهد.
مشکل آنجاست که تغییر اطلاعات بیومتریک تا حد زیادی سخت و در مواردی حتی غیر ممکن هست. برای مثال شما ممکن است بتوانید اثر انگشت خود را تغییر دهید ولی در مورد تغییر قرنیه چشمتان میخواهید چه کاری انجام دهید؟در مورد نحوه Iris Recognition و اینکه اسکنرهای قرنیه چشم چگونه کار اسکن را انجام میدهند، موضوع بحث ما نیست اما شما برای کسب اطلاعات بیشتر میتوانید در این مورد تحقیق کنید.
خب این مقاله هم تمام شد ولی متدهای احراز هویت بسیاری وجود دارند که من به دلایل مختلف آنها را معرفی نکردم. اگر شما متد دیگری برای Authentication میشناسید ممنون میشم در بخش نظرات به من اطلا دهید تا در مورد متدهای دیگر نیز تحقیق کنم و در ادامه همین محتوا قرار دهم.