در ادامه چند روش احراز اصالت استاندارد که در ISO 9798-3 توصیف شده و از رمز نامتقارن استفاده میکنند، بیان خواهند شد. لازم به ذکر است که پروتکلهایی که در ادامه بیان خواهند شد، نسبت به پروتکلهای مذکور در استاندارد تا حدی ساده شدهاند ولی کلیت پروتکلها تغییری نکردهاند.
در پروتکلها وارسی کننده باید کلید عمومی معتبر مدعی را داشته باشد و مدعی نیز کلید خصوصی خود را در اختیار و کنترل داشته باشد. یک روش به دست آوردن کلید عمومی طرف دیگر، استفاده از گواهی کلید عمومی میباشد. پروتکلها به یک پارامتر متغیر با زمان از قبیل مهر زمانی، عدد دنباله یا یک عدد تصادفی نیاز دارند. احتمال تکرار این پارامترها در طول دوره زمانی استفاده از کلید عمومی بسیار کم (احتمال صفر یا نزدیک صفر) میباشد. در پروتکلهایی که از مهر زمانی یا عدد دنباله استفاده میشود، برای احراز اصالت یک طرف به طرف دیگر تنها به یک مرتبه ارسال پیام و برای احراز اصالت متقابل دو طرف به هم به دو پیام نیاز است. اگر از چالش و پاسخ با به کارگیری اعداد تصادفی استفاده شود برای احراز اصالت یک طرف به طرف دیگر به دو گذر پیام و برای احراز اصالت متقابل دو طرف به هم به سه یا چهار گذر پیام نیاز است.
1) احراز اصالت یکطرفه
در احراز اصالت یکطرفه هویت یکی از دو طرف برای دیگری احراز میگردد.
احراز اصالت یک گذری: مدعی A فرایند احراز اصالت را آغاز میکند و هویت خود را برای وارسی کننده B احراز میکند. در پروتکل از مهر زمانی یا عدد دنباله استفاده میشود. پروتکل احراز اصالت به همراه فرم TokenAB در شکل زیر نشان داده شده است:
SA امضا توسط کلید خصوصی A را نشان میدهد. مدعی A از عدد دنباله NA یا پارامتر متغیر با زمان TA استفاده میکند. B نیز شناسه موجودیت B میباشد. وجود پارامتر B در TokenAB لازم است تا بدین وسیله دیگر وارسی کنندگان از پذیرش TokenAB اجتناب کنند. بنابراین روش احراز اصالت به صورت زیر است.
- A TokenAB و به صورت اختیاری گواهی خود را برای B ارسال میکند.
- B با دریافت TokenAB عملیات زیر را انجام میدهد:
- کلید عمومی A را با وارسی گواهی A یا هر روش دیگر به دست میآورد.
- صحت امضای TokenAB را به همراه صحت مقدار مهر زمانی یا عدد دنباله و همچنین صحت شناسه B امضا شده مورد وارسی قرار میدهد.
احراز اصالت دو گذری: در این پروتکل اصالت هویت مدعی A توسط وارسی کننده B که فرایند را آغاز میسازد، احراز میشود. در پروتکل از عدد تصادفی RB استفاده میشود. پروتکل در شکل زیر نشان داده شده است:
وجود شناسه B در TokenAB اختیاری است. RA عدد تصادفی انتخاب شده توسط A است و به این جهت اضافه شده که A از امضای دادهای که کل آن توسط B انتخاب شده، اجتناب کند. بنابراین روش احراز اصالت به صورت زیر است:
- B عدد تصادفی RB را برای A ارسال میکند.
- A TokenAB و به صورت اختیاری گواهی خود را برای B ارسال میکند.
- B با دریافت TokenAB عملیات زیر را انجام میدهد:
- کلید عمومی A را با وارسی گواهی A یا هر روش دیگر به دست میآورد.
- صحت امضای TokenAB را به همراه صحت تساوی عدد تصادفی RB ارسال شده به A در مرحله 1 با عدد تصادفی موجود در داده امضا شده TokenAB مورد وارسی قرار میدهد.
2) احراز اصالت متقابل
در احراز اصالت متقابل هویت هر دو طرف برای یکدیگر احراز میگردد. پروتکل مذکور از چهار پیام استفاده میکند که برخی از آنها به منظور افزایش سرعت به صورت موازی و در قالب یک پیام ارسال میشوند.
احراز اصالت دوگذری: در این پروتکل از مهر زمانی یا عدد دنباله استفاده میشود. پروتکل در شکل زیر نشان داده شده است:
وجود پارامتر A و B به ترتیب در TokenBA و TokenAB لازم است. روش احراز اصالت به صورت زیر است:
مراحل 1 و 2 پروتکل شبیه پروتکل مذکور در بخش قبلی هستند.
3. B TokenBA و به صورت اختیاری گواهی خود را برای A ارسال میکند.
4. این پیام شبیه آنچه در مرحله 2 پروتکل مذکور در بخش قبلی ذکر شد، وارسی میشود.
احراز اصالت سه گذری: در پروتکل از اعداد تصادفی استفاده میشود. پروتکل در شکل زیر نشان داده شده است:
وجود شناسه B در TokenAB و شناسه A در TokenBA اختیاری است. بنابراین روش احراز اصالت به صورت زیر است.
- B عدد تصادفی RB را برای A ارسال میکند.
- A TokenAB و به صورت اختیاری گواهی خود را برای B ارسال میکند.
- B با دریافت TokenAB عملیات زیر را انجام میدهد.
- کلید عمومی A را با وارسی گواهی A یا هر روش دیگر به دست میآورد.
- صحت امضای TokenAB را به همراه صحت تساوی عدد تصادفی RB ارسال شده به A در مرحله 1 با عدد تصادفی موجود در داده امضا شده TokenAB مورد وارسی قرار میدهد.
- B TokenBA را برای A ارسال میکند.
- A با دریافت TokenBA مشابه گامهای ا و ب مرحله 3 را انجام میدهد (به دست آوردن کلید عمومی B، وارسی صحت امضا و تساوی RA موجود در پیام دوم و سوم). به علاوه A صحت تساوی عدد تصادفی RB موجود در داده امضا شده TokenBA با RB دریافتی در مرحله 1 را وارسی میکند.
احراز اصالت موازی دو گذری: در پروتکل از اعداد تصادفی استفاده میشود. پروتکل در شکل زیر نشان داده شده است:
وجود شناسه B در TokenAB و شناسه A در TokenBA اختیاری است. بنابراین روش احراز اصالت به صورت زیر است:
- A عدد تصادفی RA و به صورت اختیاری گواهی خود را برای B ارسال میکند و B عدد تصادفی RB و به صورت اختیاری گواهی خود را برای A ارسال میکند.
- A و B کلید عمومی طرف دیگر را با وارسی گواهی وی یا هر روش دیگر به دست میآورد.
- B TokenBA را برای A ارسال میکند و A Token AB را برای B ارسال میکند.
- A و B صحت امضای توکن دریافتی را به همراه صحت تساوی عدد تصادفی ارسال شده به طرف دیگر با عدد تصادفی موجود در داده امضا شده دریافتی را مورد وارسی قرار میدهد.