شما اینجا هستید
تحقیقات » طراحی یک طرح احراز هویت امن مبتنی بر بیومتریک در چندسرورهای ابری (saru kumari 2016-2017)

دانلود مقاله اصلی :kumari2017

عنوان :

Design of a Provably Secure Biometrics-based Multi-cloud-server
Authentication Scheme
(طراحی یک طرح احراز هویت امن مبتنی بر بیومتریک در چند سرور ابری)

چکیده :

Big data و Cloud of Things دو موضوع داغ در جامعه تحقیقاتی هستند چرا که چالش های مهمی در این زمینه وجود دارد که عبارت است از طراحی راهکار امنیتی کارآمد برای دسترسی به منابع ، سرویس ها و داده ها بدون این که اطلاعاتی درباره حریم خصوصی کاربران به اَبر منتقل شود . یک راه حل ممکن راه اندازی احراز هویت کاربر برای چندین سرور ابری و طراحی یک سیستم خبره است که در آن کاربران به راحتی خدمات و منابع مورد نظر خود را بدست آورند .بیومتریک یک مکانیزم اعتبارسنجی می باشد که به صورت گسترده استفاده می شود بنابراین در این مقاله ما یک روش تایید هویت مبتنی بر بیومتریک را برای استقرار در محیط های چند سرویس دهنده ابری طراحی می کنیم .ما به منظور بهبود صحت در الگوهای بیومتریک از bio hashing استفاده می کنیم . سپس به آنالیز عملکرد و کارآیی آن پرداخته و برای طرح مان کاربردهایی را معرفی می کنیم .

کلمات کلیدی :

احراز هویت ، CoT ، چند سرور اَبری ، بیومتریک ، رمزنگاری منحنی بیضوی .
۱- معرفی :
در اینترنت اشیاء ما طیف گسترده ای از دستگاه های متصل به شبکه اینترنت را داریم که به ما اجازه اتصال ، هماهنگی ، محاسبه ، محاسبه و ارتباط بین دو دستگاه را در زمان واقعی بدون هیچ محدودیتی در جغرافیا را می دهند . [۱] دستگاه های IoT می توانند از سنسورها برای جمع آوری اطلاعات در اطراف خود استفاده کنند . ( به عنوان مثال حسگرهای که برای جمع آوری اطلاعات درباره غلظت دی اکسید کربن و منواکسید کربن استفاده می شوند و اطلاعات جمع آوری شده را به یک سرور مرکزی ارسال می کنند .
فناوری اینترنت اشیاء می تواند در مراقبت های بهداشتی (health care) ، کنترل منزل (home monitoring) ، خانه ها و شهرهای هوشمند (smart home/cities) (به عنوان مثال برای اهداف امنیتی و نظارتی) ، سکوهای نفتی به عنوان یک پلت فرم کنترلی و غیره مورد استفاده قرار می گیرند . با روند استقرار IoT بر روی اَبر (به عنوان اَبر اشیاء Cloud of Things ) و دیجیتالی شدن جامعه ما ، ما شاهد یک افزایش قابل توجهی در حجم ، تنوع ، سرعت و درستی داده ها (به عنوان مثال big data) می باشیم . شکل ۱ نمونه های را از یک فضای CoT نمایش می دهد .
در اکثر تکنولوژی های پرکاربرد ، امنیت یک نگرانی کلیدی است که باعث جلب توجه مشتری می شود و همین موضوع باعث شده جامعه پژوهش بخشی از فعالیت خود را به حوزه امنیت اختصاص بدهد . چندین طرح احراز هویت برای کاربران تاکنون پیشنهاد شده اند که برای محیط های تک سروری مناسب می باشند [۳-۱۱] . با این حال طرح های احرازهویت تک سروری برای استقرار در دنیای واقعی مناسب نمی باشند . به عنوان نمونه چنین طرح های (طراحی شده برای محیط های تک سروری) مقیاس پذیر نبوده و نمی توانند نیاز یک کاربر به نگهداری چندین شناسه/رمزعبور را در حافظه برای دسترسی به چند سرور به جهت دسترسی به خدمات مختلف را فراهم کنند . در واقع یک کاربر نیاز دارد که در هر سرور به صورت مجزا ثبت نام کند و تنها کاربر قابلیت استفاده از همان سرور را دارد . این همانند سیستم اولیه مجله Elsivier است که نویسنده می بایست در هر مجله ای با نقش های مختلف (نویسنده ، ویرایشگر ، منتقد) ثبت نام می کرد . در سال های اخیر Elsivier  به نوعی سرور تلفیقی (ترکیبی ؛ Consolidated ) مهاجرت کرده است که در آن یک کاربر فقط دارای یک حساب کاربری برای همه مجلات و نقش ها می باشد .
در چنین سیستم های سه عامل برای احراز هویت وجود دارد : i) چیزی که شما می دانید (به عنوان مثال برخی از اطلاعات محرمانه مانند رمز عبور) ii ) آن چه شما دارید (مثلا چیزی که در اختیار شما می باشد از قبیل یک کارت هوشمند) iii ) آن چه شما هستید (به عنوان مثال مشخصه های بیومتریک منحصربفرد مانند اثرانگشت(finger print) ، هندسه دست (hand geometry) ، عنبیه (iris) که پایه ای برای طراحی یک طرح احراز هویتی می باشند . عوامل اول و دوم مکمل یکدیگر هستند . بدین معنی که اگر آیتمی توسط برخی از عناصر شناخته شود تنها توسط اطلاعات محرمانه ای کاربر محافظت می شود و به طور کلی لو رفتن یک رمز محرمانه برای یک مهاجم به دلیل عدم دسترسی به آیتمی (مثلا اسمارت کارت) بی فایده است و حتی اگر بتواند آیتم مورد نظر را هم بدست آورد از آن جا که بیومتریک به راحتی قابل جعل نمی باشد مهاجم موفق نخواهد بود . در حقیقت ما یک روش تایید هویت سه عامله (three factor) یا همان (۳FA) را که کاملا امن به نظر می رسد به کار می گیریم . در سالیان اخیر انواع مقالات در زمینه احرازهویت براساس بیومتریک پیشنهاد شده است .
به عنوان مثال در سال ۲۰۱۰ ، Yoon و Yoo [12] پیشنهاد یک طرح احراز هویت بر پایه بیومتریک را برای چندین سرور بر اساس رمزنگاری منحنی بیضوی (ECC) مطرح کردند . اگر چه He , Wang نشان دادند [۱۳] که در طرح Yoon و Yoo یک مهاجم می تواند به جعل کاربر (impersonate) با دسترسی همزمان به رمزعبور و اسمارت کارت بپردازد . بنابراین سه فاکتور (۳FA)  نقض خواهد شد . بنابراین He , Wang به ارائه یک طرح احراز هویت مبتنی بر بیومتریک [۱۳] برای سیستم های چند سروری پرداختند که در آن از رمزنگاری منحنی بیضوی استفاده شده بود . Odelu و همکاران [۱۴] با مطالعه طرح He, Wang دریافتند که طرح آن ها در مقابل افشا هویت شخصی آسیب پذیر (Vulnerable to impersonation) آسیب پذیر است و مشکل Known Session Specific temporary information leakage (لو رفتن اطلاعات short term یک جلسه خاص) و ضعف گمنامی کاربر (weak use anonymity) و حمله خطا در بروزرسانی/ورود رمز عبور (wrong password login/update attacks) دارد . بنابراین به ارائه یک پروتکل جدید چند سروری با استفاده از ECC پرداختند .
در سال ۲۰۱۴ ، Chuang , Chen [15] طرح تایید هویت مبتنی بر بیومتریک را برای چند سرور پیشنهاد دادند و مدعی شدند که طرح آن ها گمنامی کاربر و تعداد از ویژگی های امنیتی را فراهم می آورد . با این حال در سال ۲۰۱۴ و ۲۰۱۵ ، Mishra و همکاران [۱۶] و Lin و همکاران [۱۷] نشان دادند که طرح Chuang و Chen از مشکل جعل هویت کاربر (user impersonation)  وجعل سرور (Server Spoofing) و حملات منع سرویس (DoS) [16] و عدم حفاظت از شناسه کاربر و کلید نشست رنج می برد .[۱۷] سپس دو طرح بهبود یافته ارائه شد با این حال در سال ۲۰۱۵ Lu و همکاران [۱۸] نشان دادند که طرح Mishra  و همکاران دچار مشکل Server Spoofing و حملات جعل (impersonation attack) می باشد و این طرح نمی تواند forward secrecy (محرمانگی رو به جلو) را تامین کند . سپس طرح تجدید نظر شده ارائه شد . ما طرح های را در [۱۵,۱۶,۱۸] مشاهده می کنیم که نمی توانند forward secrecy را تامین کند .[۱۹] طرح های احراز هویت امن و کارآمد برای اَبرهای چند سروری (شکل۲) یک چالش تحقیقاتی است .{مشابه مشکل تاریخی پروتکل های ایجاد کلید [۳۷-۴۰]} ، در این ما بین نیز ما هم در حال بررسی این مقاله هستیم .
به طور خاص در این مقاله ما به معرفی یک طرح احراز هویت چند سرور اَبری کارآمد و کاربرپسند (User friendly ,Efficient) می پردازیم . در این طرح برای تسهیل در دسترسی کاربران به داده ها از هر سروری به انتخاب کاربران ، تنها یکبار ثبت نام به وسیله یک مقام ثبت نام کننده (Registration Authroity) صورت می پذیرد که به مختصر RA نامیده می شود . طرح ما گمنامی کاربر را بدون استفاده از تکنیک های رمزنگاری و رمزگشایی متقارن امکان پذیر می سازد . در طرح ما :
  • RA  رکوردی از شناسه ثبت شده کاربران و سرورها را به صورت امن نگهداری می کند . هم چنین RA جلوی ثبت نام یک شناسه را برای چندین بار می گیرد .
  • اعتبار کارت هوشمند یک کاربر در طول فرآیند بروزرسانی رمزعبور/شناسه ورود به سیستم بررسی می شود تا از جعل هویت (impersonation) جلوگیری شود .
  • درهنگام احراز هویت ، RA مشروعیت کاربر و سرور اَبری را تایید می کند . این تایید باعث کاهش شانس افراد ثبت نام نشده می شود و سرورهای مخرب جعل شده نمی توانند به یک کاربر مجاز سرویس مخرب بدهند .
  • طرح ما اجازه می دهد که کلید نشست (SK) بین CS و کاربر ایجاد شود به طوری که SK حتی برای RA نیز ناشناخته بماند . علاوه بر این SK هر دو خاصیت backward secrecy و forward secrecy را خواهد داشت .
علاوه براین ما می توانیم مدعی شویم که طرح ما از عملیات پیچیده و گران قیمت کامپیوتری استفاده نمی کند . طرح ما دارای انعطاف پذیری خوبی است بدون آن که برای امنیت خطری ایجاد کند . بنابراین ، این طرح مناسب کاربردهای در دنیای واقعی خواهد بود .
سازمان دهی مقاله : در بخش ۲ پیش زمینه های ارائه خواهد شد . دربخش ۳ ما توصیفی از طرح های احرازهویت بر پایه بیومتریک برای محیطهای چند سرور اَبری ارائه خواهد شد . ما دو آنالیز غیررسمی (informal) و یک آنالیز رسمی (formal) را در دبخش های ۴و ۵ به ترتیب ارائه می دهیم . در بخش ۶ عملکرد طرح پیشنهادی را ارزیابی می کنیم . در نهایت ما با بیان نتایج در بخش ۷ مقاله را پایان می دهیم .

۲-پس زمینه :

در این بخش ما به ارائه دانش های مورد نیاز برای درک بهتر این مقاله می پردازیم .
۲-۱ – ملاحظات خاص یک کاربر :
 برای بهبود کیفیت تجارب کاربر ، طرح ما دارای ویژگی های زیر است :
  • هنگامی که یک کاربر ثبت نام شده با یک مجوز ثبت نام می کند ، قابلیت دسترسی به تمامی سرورهای اَبری را خواهد داشت (مشابه بحث قبلی ما در مورد حساب های مجله Elsivier)
  • کاربر می تواند رمز عبور خود را به آسانی انتخاب و یا تغییر دهد .
  • در طول کل فرآیند احراز هویت ، کاربر همچنان گمنام است ، حتی اگر یک مهاجم به مشاهده یا استراق پیام های مبادله شده در طول فرآیند بپردازد هویت کاربری را کشف نخواهد کرد .
۲-۲-الزامات امنیتی و ملاحظات برای طرح های احراز هویت چند سرور اَبری :
جامعه امروزی به شدت دیجیتالیزه و داده محور شده است و معماری های اَبر برای سازمان ها و افراد تبدیل به یک هنجار شده است . امنیت و نگرانی های مربوط به حریم خصوصی با پذیرش اَبر وجود دارد [۲۰,۲۱,۴۱,۴۲] از قبیل :
  • فقط طرفین مجاز باید اجازه دسترسی به داده ، خدمات و یا منابعی از سرویس اَبری را داشته باشند . حملات برداری (Attack Vector) به دلیل تعداد زیادی از کاربران ( مثلا در هنگام ایجاد داده ها ، اصلاح و انتشار) ، نقاط پایانی (مانند دستگاه های مشتری و دستگاه های واسطه و گره ها ) پیکربندی و تنظیماتپیاده سازی و غیره در حال افزایش است . طرح ارائه شده ما برای تمامی نگرانی امنیتی و حریم خصوصی طراحی شده است و برای حل این مشکل ، طرح ما به احراز هویت متقابل تمامی شرکت کنندگان در یک جلسه می پردازد . احراز هویت متقابل ما بین یک کاربر (تقاضای دسترسی به داده یا دنبال خدمات) و سرور اَبری (ارائه خدمات و یا دسترسی به داده ها ) صورت می پذیرد و RA نیز به این احرازهویت کمک می کند .
  • منابع اَبر باید برای یک کاربر مجاز در دسترس باشند . طرح ما به دنبال فراهم آوردن forward and backward secrecy می باشد . بنابراین حتی اگر مهاجم بتواند یک long term  بلندمدت محرمانه ، از سرور اَبری و سرویس های جستجو شده کاربر را بدست آورد ، مهاجم نخواهد توانست به اطلاعاتی از نشست های قبلی یا آینده (کلید نشست) با استفاده از پیام های مبادله شده طرفین دست یابد .
۲-۳ – ملاحظاتی در زمینه رمزنگاری :
در این بخش به معرفی عملیات / توابع  رمزنگاری که دارای راندمان بالایی در طرح ها هستند معرفی می شوند :
  • در یک تابه هش یک طرفه یک ورودی متغییر وارد می شود و یک خروجی ثابت را بر می گرداند .[۲۳-۲۴] هم چنین امکان محاسبه ورودی برای یک خروجی ناشناخته وجود ندارد .
  • هنگامی که یک کاربر اطلاعات بیومتریک خود را در یک اسکنر قرار می دهد ، الگو ممکن است به دلایل مختلفی متفاوت باشد (به عنوان مثال تایید اثر انگشت ناشی از پوست خشک یا ترک خورده کاربر) . بنابراین باعث خطا یا رد شدن یک کاربر واقعی می شود . این یک دلیل برای این است که چرا عملیات هش ساده برای کاربردهای مبتنی بر بیومتریک مناسب نیست [۲۵] . درسال ۲۰۰۴ ، Jin و همکاران [۲۶] پیشنهاد استفاده از Bio hashing را برای حل مساله برگشت اشتباه (False Rejection) دادند . Bio hashing یک نقشه برداری تصادفی از یک رشته دودویی است که به یک ویژگی بیومتریک اختصاص یافته است که با اعداد شبه تصادفی امکان رمزگذاری اختصاصی را به کاربران می دهد . در  [۲۷,۲۸] نشان داده شده است که Bio hashing یک ابزارمناسب برای طرح های احراز هویت مبتنی بر بیومتریک است [۱۶] . بنابراین در این مقاله ، ما از Bio hashing استفاده می کنیم .
  • رمزنگاری منحنی بیضوی (ECC) [29,30] برای ایجاد یک کلید نشست با خاصیت Forward Secrecy استفاده می شوند و با توجه به ظرفیتی که ارائه می دهند سطح بالایی از امنیت را با یک سایز کوچک از کلید فراهم می کنند . ما خواننده علاقمند را به منبع [۴۳] برای پروتکل های مبتنی بر ECC و Diffie-Hellman ارجاع می دهیم .
ما به طور خلاصه مروری بر ECC می نماییم . منحنی بیضوی (ECC) توسط Ep(a,b):y^2=x^3+ax+b mod(p) در یک میدان محدود Fq با مرتبه اول می باشد . هم چنین ضرب a.P به معنای P+P+P+….+P به تعداد a مرتبه می باشد .امنیت ECC براساس دو مساله سخت زیر می باشد :
۱- مساله لگاریتم گسسته منحنی بیضوی (ECDLP) ؛ (Elliptic Curve Discrete Logarithm Problem) : برای دو نقطه مانند P,Q پیداکردن یک عدد مانند K که Q=k.P مساله سختی است .
۲-مساله سخت دیفی هلمن منحنی بیضوی (ECDHP) ؛ (Elliptic curve Diffie-Hellman Problem): برای P,k.P,l.P پیدا کردن k.l.P کا سختی است .
۲-۴ – مدل شبکه :
مدل شبکه برای پروتکل پیشنهادی برای محیط های چند سروری در شکل ۳ نمایش داده شده است . این سه نهاد عبارتند از کاربر Ui ، سرور ابری csj  و مقام ثبت نام RA . RA یک تایید کننده قابل اعتماد است که مسئول تولید تمامی پارامترهای سیستم و ثبت نام کاربران و سرورهای اَبری می باشد . پس از ثبت نام ، یک کاربر کارت هوشمند SCi را با برخی مقادیر محرمانه دریافت می کند و یک ابر سرور یک مقدار محرمانه به همراه یک شناسه منحصر بفرد دریافت می کند . Ui و CSJ همدیگر را احراز می کنند و یک کلید نشست با همکاری RA تولید می کنند که Ui به وسیله آن می تواند به سرویس های CSJ دسترسی داشته باشد . خلاصه ای از نماد ها در جدول ۱ آمده است .

۳-طرح پیشنهادی :

در حال حاضر ما طرح خود را که شامل ۴ مرحله زیر می باشد ارائه می دهیم : مرحله راه اندازی ، ثبت نام کاربر ، ورود به سیستم ، فاز احراز هویت ،  توافق کلید و تغییر رمز عبور .شکل ۴ فازهای راه اندازی و ثبت نام کاربر را نشان می دهد و فازهای بعدی به ترتیب در شکل های ۵و ۶ نمایش داده شده است .
۳-۱-فاز راه اندازی و تنظیم مشخصات اولیه :
در شروع طرح RA به انتخاب یک عدد اول بزرگ P و یک میدان محدود GF(p) می پردازد . سپس RA به انتخاب یک منحنی بیضوی Ep بر روی میدان محدود GF(p) با یک base point مانند P∈G می پردازد که G یک گروه چرخه ای اضافه شونده با n عنصر روی Ep است .RA به انتخاب s برای محاسبه Pub=s.P می پردازد که S در حقیقت یک کلید خصوصی و Pub کلید عمومی RA می باشد . نمونه های بیومتریک که توسط سنسورها جمع آوری می شود دارای یک طول مشخص می باشد (lb) [31].
۳-۲-فاز ثبت نام :
۳-۲-۱:فاز ثبت نام کاربر :
در این فاز برای ثبت نام یک کاربر ،RA یک کانال امن ارتباطی را با کاربر به شرح زیر ایجاد می کند :
۱-Ui به انتخاب شناسه IDi و رمز عبور PWi پرداخته و بیومتریک BIOi توسط سنسور فراهم می آید .
۲-Ui به محاسبه رمز عبور بیومتریک خود با استفاده از رابطه BPWi=H(BIOi||PWi) و {IDi,BPWi} را برای RA ارسال می کند .
۳-RA کنترل می کند اگر h(s||IDi) در بین رکوردهای RECi موجود بود RA درخواست را به Ui برگشت می دهد تا مقدار دیگری را برای IDi خود انتخاب کند در غیر اینصورت RA به محاسبه Ni=h(IDi||s)⊕BPWi  و ذخیره سازی آن در کارت هوشمند SCi  می پردازد . سپس RA کارت SCi را با مقادیر {Ni,P,h(.),H}به صورت کاملا امن به Ui می فرستد و RA به ذخیره h(s||IDi) در بین رکوردهای RECi خود می پردازد .
۴-Ui به محاسبه Zi=H(IDi||PWi||BIOi) پرداخته و سپس اطلاعات اسمارت کارت را به شکل {Zi,Ni,P,Pub,h(.),H(.)} به روزرسانی می کنند .
شکل4

شکل۴

۳-۲-۲- ثبت نام یک سرور ابری در RA :
۱-از طریق یک کانال امن یک سرور IDcsj  خود را به RA می دهد .
۲-RA به کنترل h(s||IDcsj) در داخل رکوردهای RECcsj می پردازد . اگر وجود داشت درخواست برگشت می خورد در غیر اینصورت RA به محاسبه Lj=h(IDcsj||s) پرداخته و به ارسال Lj به csj می پردازد و با استفاده IKEv2 می پردازد و RA به ذخیره h(s||IDcsj) در بین رکوردهای RECcsj می پردازد و CSj به نگهداری محرمانه Lj می پردازد .
۳-۳-فاز ورود :
برای بدست آوردن خدمات از j امین سرور اَبری ، یک Ui مراحل زیر را انجام می دهد :
۱-Ui اسمارت کارت خود را داخل یک ریدر قرار می دهد و IDi و PWi خود را وارد کرده و BIOi خود را فراهم کند .
۲-SCi به محاسبه Zi*=H(IDi||PWi||BIOi) را محاسبه می کند و بررسی می کند که Zi*=Zi و سپس SCi به محاسبه BPWi=H(BIOi||PWi) برای بازیابی Ri=[h(IDi||s)]=Ni⊕BPWi می پردازد .سپس SCi به تولید یک عدد تصادفی به نام v پرداخته و به محاسبه Vi=v.P و Vi*=vPub=((vi*)x,(vi*)y) می پردازد .سپس Sci  به محاسبه شناسه پوشیده خود (Masked) خود با استفاده از رابطه GIDi=IDi⊕(vi*)x و Li=h(IDi||(vi*)y||Vi||IDcsj||RJ) می پردازد .
۳-SCi به ارسال درخواست Login با پیام M1={vi,GIDi,Li} به Csj می پردازد .
۳-۴-فاز احراز هویت و توافق کلید :
فاز احراز هویت

فاز احراز هویت

در این فاز Ui و CSj یکدیگر را تایید کرده و به کمک RA یک کلید نشست بدست می آورند :
۱-زمانی که پیام M1 از کاربر Ui ، به سرور CSj برسد ، سرور با RA ارتباط برقرار می کند . البته قبل از آن محاسبات زیر را انجام می دهد . CSj به تولید یک عدد تصادفی به نام w پرداخته و به محاسبه Wj=w.P و Wj*=WP.Pub=((Wj*)x,(Wj*)y) پرداخته و سپس CSj به محاسبه GIDcsj=IDcsj⊕(Wj*)x پرداخته و mj=h(vi||GIDi||Li||wj||(wj*)y||IDcsj||Lj) می پردازد .
۲-سرور CSj به انتقال پیام M2={vi,GIDi,Li,Wj,GIDcsj,mj} به RA می پردازد .
۳-Ra به محاسبه Wr*=s.wj=s.w.P=w.Pub=((wr*)x,(wr*)y می پردازد و سپس IDcsj=GIDcsj⊕(wr*)x پرداخته و سپس RA به محاسبه Lj=h(IDcsj||S) و mj*=h(vi||GIDi||wj||(wr*)y||IDcsj||Lj) می پردازد و در صورتی mj*=mj بود RA متوجه مشروعیت CSj می شود .
۴-RA به محاسبه Vr*=s.Wj=s.w.P=w.Pub=((wr*)x,(wr*)y)  پرداخته و IDi=GIDi⊕(vr*)x را محاسبه می کند .سپس RA به محاسبه Ri=h(IDi||s) می پردازد و Li*=h(IDi||(vr*)y||vi||IDcsj||Ri) می پردازد . آن گاه به کنترل Li=Li* پرداخته و درصورت برابری RA از مشروعیت Ui اطمینان پیدا می کند .
۵-RA به محاسبه JIDi=IDi⊕(wr*)x پرداخته و mr=h(JIDi||IDi||IDcsj||Lj||(wr*)y) و JIDcsj=IDcsj⊕(vr*)x پرداخته و Lr=h(JIDcsj||IDi||IDcsj||Ri||(vr*)y) و نهایتا RA به انتقال پیام M3={JIDi,JIDcsj,mr,Lr} به سرور csj می پردازد .
۶-بعد از دریافت پیام M3 ، سرور csj به استخراج IDi=JIDi⊕(wj*)x می پردازد و به محاسبه mr*=h(JIDi||IDi||IDcsj||Lj||(wj*)y) می پردازد و به کنترل مقدار mr*=mr می پردازد .سپس CSj به محاسبه کلید نشست با توجه به مقدار SKcsj-u=h(vi||wj||wVi||IDi||IDcsj)=h(vP||wP||wvP||IDi||IDcsj) پرداخته و سپس مقدار nj=h(SKcsj-u||vi||wj||lr||IDi||IDcsj)  می پردازد . سپس Csj پیام M4={JIDcsj,Lr,wj,nj} را به سمت کاربر Ui ارسال می کند .
۷-بعد از رسیدن پیام M4 به کاربر ، کاربر Ui به استخراج IDcsj=Jidcsj⊕(vi*)x و به محاسبه کلید نشست با رابطه SKu-csj=h(vi||wj||vwj||IDi||IDcsj) = h(vp||wp||vwp||IDi||IDcsj) می پردازد و سپس nj*=h(SKu-csj||vi||wj||lr||IDi||IDcsj) را محاسبه می کند و با کنترل nj*=nj کاربر از مشروعیت سرور csj مطمئن می شود و به محاسبه Lr*=h(jIDcsj||IDi||IDcsj||Ri||(vi*)y) می پردازد و با کنترل Lr*=Lr کاربر از مشروعیت RA مطمئن می شود و سپس کاربر به محاسبه Pi=h(SKu-csj||IDi||IDcsj||vi||Lr||wj) می پردازد . سپس کاربر به ارسال M5={Pi} به سرور CSj می پردازد .
۸-بعد از دریافت پیام M5 توسط سرور csj ، سرور به محاسبه Pi*=h(SKcsj-u||IDi||IDcsj||vi||Lr||wj) پرداخته و با کنترل Pi*=Pi سرور ابری از مشروعیت کاربر Ui مطمئن می شود .
۳-۵-فاز تغییر بیومتریک و رمز عبور :
شکل6

شکل۶

در این فاز Ui می تواند رمز عبور و بیومتریک خود را تغییر دهد :
۱- Ui اسمارت کارت خود را درون کارتخوان (reader) قرار می دهد و IDi,PWi,BIOi خود را وارد می کند .
۲-SCi به محاسبه Zi*=H(IDi||PWi||BIOi) پرداخته و به مقایسه Zi*=Zi می پردازد و در صورت برقراری از کاربر می خواهد که PWi new خود را وارد کند .
۳-SCi به محاسبه Ni new=Ni⊕H(BIOi||PWi)⊕H(BIOi||PWi new) پرداخته و Zi new=H(IDi||PWi new ||BIOi) می کند .
۴-SCi به جایگزینی Zi و Ni با Zi new و Ni new می پردازد .

۴-آنالیز غیر رسمی امنیتی :

۴-۱- انعطاف پذیری در مقابل حمله Privileged-insider : در مرحله ثبت نام ، Ui ، شناسه IDi و BPWi را به RA ارسال می کند . نکته ای که وجود دارد این است که مقادیر PWi به صورت Plain ارسال نمی شوند . از آن جا که BPWi=H(BIOi||PWi) با Bioi کاربر محافظت می شود که هیچ کس جزء کاربر به آن دسترسی ندارد . پس RA قادر به حدس زدن رمز عبور کاربر نخواهد بود .
۴-۲- گمنامی کاربر : در طول فاز احراز هویت و ورود ، کاربر هرگز به انتقال شناسه در یک متن آشکار و غیر رمز شده نمی پردازد . در فاز ورود پیام M1={vi,GIDi,li} بر روی کانال ارسال می شود که در آن مقدار IDi با (vi*)x محافظت می شود که Vi*x نیز شامل مختصات نقطه v.Pub می باشد . یک مهاجم نیاز به دانستن عدد تصادفی v برای محاسبه IDi از روی GIDi دارد . با این حال ، مهاجم با توجه به ECDLP نمی تواند v را بدست آورد . به طور مشابه مهاجم نمی تواند IDi را از روی پیام M3={JIDi,JIDcsj,mr,lr} کشف کند .
۴-۳-مقاومت در برابر حمله offline password guessing : فرض کنید که E موفق به استخراج تمام اطلاعات کاربر از اسمارت کارت آن بگردد و به {Zi,Ni,P,Pub,h(.),H(.)} دسترسی داشته باشد . مهاجم نمی تواند PWi را از روی Ni=h(IDi||S)⊕(BIOi||PWi) حدس بزند و نیاز به دانستن IDi و Bioi کاربر دارد و هم چنین کلید مخفی RA دارد . از طرف دیگر برای زدن حدس درست درباره Zi نیاز به دانستن IDi و BIOi دارد .این درحالی است که IDi تنها توسط کاربر ، سرور ابری و RA قابل استخراج است و RA نیز تنها با اطلاع از کلید محرمانه s قادر به استخراج آن می باشد .
۴-۴-مقاومت ر برابر حمله جعل هویت کاربر (impersonation attack) :برای ورود به یک سیستم به عنوان Ui ، یک مهاجم باید کلیدهای محرمانه IDi و RA را داشته باشد ، در غیر اینصورت امکان محاسبه درخواست ورود وجود ندارد . از آن جا که در طرح ما کاربر ناشناس است (مراجعه به بخش ۴-۲) بنابراین هیچ کسی به جزء RA دسترسی به s ندارد. بنابراین E نمی تواند Ui را جعل کند .
۴-۵-مقاومت در برابر حمله تکرار (Replay) : اگر پیام M1={vi,GIDi,Li} توسط یک مهاجم تکرار شود امکان ایجاد یک نشست مشترک بین E و CSj برقرار می شود . مهاجم می تواند چنین کاری را انجام دهد درصورتی که از عدد تصادفی v اطلاع داشته باشد و بتواند Vi=v.P را محاسبه کند . با این حال ، محاسبه v به دلیل مساله سخت ECDLP غیر ممکن است .
۴-۶-حمله جعل هویت سرور ابری (cloud-server impersonation) : برای جعل هویت سرور ابری ، مهاجم نیاز دارد تا در پیام M1={vi,GIDi,li} باید IDcsj را مورد جعل قرار دهد . برای این کار باید پیام Li=h(IDi||(vi*)y||vi||IDcsj||Ri) را مجدد محاسبه کند . در غیر اینصورت E قادر به محاسبه یک GIDcsj معتبر نیست و در قسمت تایید در RA مانند mj*=mj دچار مشکل خواهد شد . توجه داشته باشید که IDcsj در محاسبات خود با خصوصیات یک تابع هش یک طرفه مواجه خواهد بود .
۴-۷-احراز هویت متقابل :در طول فرآیند احراز هویت ،RA مشروعیت csj را با کنترل پیام mj*=mj در مرحله ۳ و مشروعیت Ui را با کنترل پیام li*=li در مرحله ۴ بدست می آورد . بنابراین RA با استفاده از کلید محرمانه s شناسه های IDi و IDcsj را بدست می آورد که از آن ها برای محاسبه JIDcsj و JIDi استفاده می کند . سپس csj با محاسبه mr*=mr مشروعیت RA را کنترل می کند و با بدست آوردن ID از روی JIDi هویت کاربر را کشف می کند . در مرحله بعد کاربر مشروعیت سرور را با کنترل پیام nj*=nj و مشروعیت RA را با کنترل پیام lr*=lr در مرحله ۷ بدست می آورد .کاربر با بدست آوردن IDcsj کلید نشست SKu-csj را بدست می آورد . در ادامه کاربر از IDi و IDcsj و Ri=h(IDi||S) استفاده می کند . نهایتا سرور مشروعیت کاربر را با کنترل پیام Pi*=Pi را در مرحله ۸ بدست می آورد . بنابراین ؛ کاربر ، سرور و RA مشروعیت همدیگر را به صورت کامل بررسی می کنند .
۴-۸-Backward and Forward secrecy : ما در نظر می گیریم که یک کلید محرمانه مانند PWi لو برود ، تاثیر آن را بر نشست های قبلی و بعدی در نظر می گیریم . ما مشاهده می کنیم که کلید نشست در هر جلسه نیاز به داشتن اعداد تصادفی v,w که توسط کاربر و سرور انتخاب شده اند دارد . اگر چه vi=vp,wj=w.p بر روی کانال عمومی وجود دارند اما هیچ کس به علت EDLCP نمی تواند مقدار v و w را بیابد . بنابراین امکان محاسبه wvp وجود ندارد . بنابراین این طرح backward and forward secrecy را تامین می کند .
۴-۹-Known session – specific Temporary information attack : اگر عدد تصادفی v یا w توسط یک مهاجم شناسایی شود مهاجم می تواند به محاسبه vwj=vww.P یا wvi=wv.P بپردازد . با این حال داشتن این دو مقدار نمی تواند باعث محاسبه کلید نشست SKcsj-u شود . چرا که احتیاج به داشتن IDi و IDcsj می باشد . مهاجم نیز قادر به یافتن IDcsj از روی پیام li=h(IDi||(vi*)y||vi||IDcsj||Ri) به دلیل وجود هش یک طرفه نمی باشد . هم چنین از پیام M2={vi,GIDi,LI,Wj,GIDcsj,mj} از آن جا که IDcsj با (wj*)x محافظت می شود امکان دسترسی وجود ندارد اگرچه مهاجم با دسترسی به w قادر به محاسبه Wj*=w.Pub نخواهد بود .
۴-۱۰-توافق کلید نشست و تایید آن : دو طرف (سرور و کاربر ) به صورت مستقل کلیدی را برای یک نشست تولید می کنند و سپس در قالب پیام nj*=nj و pi*=pi از صحت آن اطمینان حاصل می کنند .
۵-آنالیر رسمی (بررسی شود)
۶-ارزیابی آنالیز
th : پیچیدگی محاسباتی هش یک طرفه
tH :پیچیدگی محاسباتی bio hashing
tm : پیچیدگی محاسباتی ضرب منحنی
tf : پیچیدگی محاسباتی عملیات استخراج فازی
ts : پیچیدگی محاسباتیی کلید متقارن یا نامتقارن
UAP : فاز ثبت نام کاربر
LAP : فاز احراز هویت و ورود
PCP : فاز تغییر رمز عبور
جدول ۳ بررسی شود ….

ترجمه : مهندس مسعود معاونی

برچسب ها :

این مطلب بدون برچسب می باشد.

شما هم می توانید دیدگاه خود را ثبت کنید

کامل کردن گزینه های ستاره دار (*) الزامی است -
آدرس پست الکترونیکی شما محفوظ بوده و نمایش داده نخواهد شد -

مهندس مسعود معاونی | آموزشی، تحلیلی،کارآفرینی،فناوری