Authentication Servers سرورهای تشخیص هویت

Download Report

Transcript Authentication Servers سرورهای تشخیص هویت

‫‪Authentication Servers‬‬
‫سرورهای تشخیص هویت‬
‫استاد ابطحی‬
‫سید وحید رضا موسوی‬
‫‪81174903‬‬
‫مشکالت جدی‬
‫‪ ‬دسترسی های غیر مجاز‬
‫‪ ‬داده های بسیار مهم و حیاتی‬
‫‪ ‬نیاز به کنترل ورود و خروج پروسس های با قابلیت ایجاد‬
‫تغییر در منابع سیستم های دارای اهمیت و نیز مشخص‬
‫کردن میزان دسترسی آنها‬
‫‪ ‬تبادالت امن اطالعات و مشکل استراق سمع اطالعاتی!‬
‫تشخیص هویت‬
‫‪Authentication‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ریشه لغت )‪ (Authentic‬صحیح‪ ،‬معتبر‪ ،‬درست‬
‫مفهوم در شاخه امنیت کامپیوتری )‪(Computer Security‬‬
‫اعتمادسازی در وب )‪(Web Trust‬‬
‫‪( Authorization‬شبیه و در عین حال متفاوت)‬
‫خدمتگزاران تشخیص دهنده هویت‬
‫)‪(Authentication Servers‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫خدمتگزارانی هستند که از سیستمهای تشخیص هویت برای کاربران‬
‫و سایر سیستم ها استفاده میکنند‪.‬‬
‫کاربران و سایر خدمتگزاران توسط این خدمتگزار شناسایی شده و‬
‫بلیط های عبور رمزشده دریافت میکنند‪.‬‬
‫این بلیطها بعدا دوباره میان آنها برای شناسایی هویت ردوبدل‬
‫میشود‪.‬‬
‫تشخیص هویت پایه اصلی سه مفهوم کلیدی زیر میباشد‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪( Authorization‬اجازه دادن)‬
‫‪( Privacy‬خلوت و تنهایی)‬
‫‪( Non-Repudiation‬انکارناپذیری)‬
‫خدمتگزاران تشخیص دهنده هویت‬
‫)‪(Authentication Servers‬‬
‫‪ ‬الگوریتم های اساسی‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫الگوریتم های تشخیص رمز عبور‬
‫‪Kerberos‬‬
‫الگوریتم های رمزگذاری با کلید عمومی‬
‫(ادامه)‬
‫اجازه دادن‬
‫‪Authorization‬‬
‫‪‬‬
‫تعریف (قسمتی از ‪ OS‬که از منابع رایانه محافظت میکند)‬
‫منابع رایانه ای (داده‪ ،‬برنامه ها‪ ،‬افراد و کارایی ها)‬
‫رابطه با ‪Authentication‬‬
‫‪Guest or Anonymous‬‬
‫‪(Access Control List) Admin Authorized Users‬‬
‫سیستم های توزیع شده و بدون محدودیت (‪)key & tickets‬‬
‫‪‬‬
‫مثال‪Access Control :‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ATM‬‬
‫استفاده از سیستم بانکی اینترنتی‬
‫کنترل از راه دور یک رایانه‬
‫کنترل دسترسی‬
‫(‪)Access Control‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫کاربرد محدودیت ورود به یک جا‬
‫کنترل ورودی و خروجی‬
‫‪ AC‬درامنیت شبکه شامل‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تشخیص هویت‬
‫تشخیص اجازه دسترسی‬
‫بازرسی سلسله مراتب دسترسی به یک رکورد (‪)Audit Trail‬‬
‫ابزار فیزیکی‬
‫…‪Encryption, Digital Signatures,‬‬
‫پیاده سازی سیستم کنترل اجازه دسترسی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Mandatory Access Control‬‬
‫‪Discretionary Access Control‬‬
‫کنترل دسترسی نقش مدار (‪)Role-Based Access Control‬‬
‫لیست کنترل دسترسی‬
‫‪) eXtensible Access Control Markup Language( XACML‬‬
‫‪MAC & DAC‬‬
‫‪‬‬
‫‪MAC‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ابزار سیستم‬
‫عدم امکان کنترل کامل اشیاء ساخته شده‬
‫محدودیتی مساوی یا بیشتر از محدودیت ‪Admin‬‬
‫در سیستم های امنیتی چند الیه از تلفیق ‪ MAC‬با ‪ FLASK‬به عنوان یک معماری کارا استفاده‬
‫میشود‪.‬‬
‫)‪Flux Advanced Security kernel (Flask‬‬
‫• یک معماری امنیتی برای سیستم عامل که دسترسی کارا و امن را به منابع سیستم با رعایت قوانین موجود‬
‫سبب میشود‪.‬‬
‫• مثال‪:‬‬
‫•‬
‫•‬
‫‪‬‬
‫)‪NSA's Security-Enhanced Linux (SELinux‬‬
‫‪TrustedBSD‬‬
‫‪DAC‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫سیستم فایل‬
‫امکان دادن دسترسی نامحدود به منابع ساخته شده‬
‫ریسک دسترسی بدون اجازه‬
‫کنترل دسترسی نقش مدار‬
‫(‪)Role-Based Access Control‬‬
‫‪‬‬
‫‪‬‬
‫‪ RBAC‬متفاوت با ‪ MAC‬و ‪DAC‬‬
‫ایجاد نقش ها و تخصیص آنها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ = U‬کاربر = یک شخص یا یک مامور(‪ )Agent‬اتوماتیک‬
‫‪ = R‬نقش = کارکرد ‪ /‬عبارتی که سطح اجازه را مشخص میکند‪.‬‬
‫‪ = P‬اجازه ها = تایید یک حالت دسترسی به یک منبع‪.‬‬
‫‪ = Session = S‬یک کلیت ‪ ،‬حاوی ‪ ،R ،U‬و ‪.P‬‬
‫‪ = UA‬مجموعه ای از کارکرد ها و وظایف کاربران‬
‫‪ = PA‬مجموعه ای از اجازه های دسترسی‬
‫‪ = RH‬سلسله مراتب نقش ها‬
‫یک کاربر میتواند چندین نقش داشته باشد‪.‬‬
‫یک نقش میتواند متعلق به چندین کاربر باشد‪.‬‬
‫یک نقش میتواند اجازه های متعددی داشته باشد‪.‬‬
‫یک اجازه خاص میتواند به چندین نقش داده شود‪.‬‬
‫کنترل دسترسی نقش مدار‬
‫(ادامه)‬
‫(‪)Role-Based Access Control‬‬
‫‪( PA=PxR ‬زیرمجموعه یا تساوی)‬
‫‪( UA=UxR ‬زیرمجموعه یا تساوی)‬
‫‪ y > x( RH ‬یعنی ‪ x‬تمام اجازه های ‪ y‬را به ارث برده‬
‫است)‬
‫‪ ‬یک کاربر ‪:‬‬
‫‪‬‬
‫‪‬‬
‫چند ‪Session‬‬
‫چندین مدل اجازه و نقش‬
‫لیست کنترل دسترسی‬
)Access Control List(
)‫ (یک ساختار داده ای مثل یک جدول‬ACL 
(ACE) Access Control Entries 
‫ های مختلف‬OS ‫ در‬ACL 
systrace : OpenBSD/NetBSD
TrustedSolaris : Solaris
ACL : MAC OS X & Linux



‫ پیچیدگی‬
.‫ تمام و کمال نیست‬
‫روشهای کلی تشخیص هویت‬
‫‪‬‬
‫مسایل مربوط به آنچه که کاربر میباشد‪)is( .‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مسایل مربوط به آنچه که کاربر دارد‪)has( .‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫کارت شناسایی‬
‫نشان امنیتی یا نرم افزاری‬
‫موبایل‬
‫مسایل مربوط به آنچه که کاربر میداند‪)knows( .‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اثر انگشت‬
‫‪DNA‬‬
‫‪( Retinal‬شناخت از طریق شبکیه چشم)‬
‫کلمه(‪ )Word‬یا عبارت (‪ )Phrase‬عبور‬
‫شماره شناسایی شخصی (‪)PIN‬‬
‫ترکیب (‪)Two Factor‬‬
)‫(ادامه‬
‫روشهای تشخیص هویت‬
Challenge Response Authentication 
)Cryptographic( ‫روشهای پنهان‬
Public Key Cryptography •
‫امضای دیجیتال‬
Public-Key Encryption



Challenge Response
Authentication
)‫(تشخیص هویت سوال و جواب‬
(No Internet) Cryptographic ‫ تکنیک های غیر‬
Password
)completely automated public Turing test to tell computers humans apart( Captcha


Challenge Response
)‫ (ادامه‬Authentication
)‫(تشخیص هویت سوال و جواب‬
Cryptographic ‫ تکنیک های‬
‫خطر‬

)Man-in-the-middle( Eavesdropping •
Dictionary Attack •
Brute-force Attack •
)‫ طرفه (بدون ارسال واضح‬2 ‫تشخیص هویت‬
‫فرستادن یک داده تصادفی رمز شده بوسیله کلمه عبور و گرفتن پاسخ رمز شده‬
‫مربوط به آن‬
N+1 ‫ ← عدد صحیح‬N ‫ عدد صحیح‬: Kerberos •


Hash Based CRA 
Hashed Storage Of Passwords CRA 
‫‪Challenge Response‬‬
‫‪( Authentication‬ادامه)‬
‫(تشخیص هویت سوال و جواب)‬
‫‪ ‬چند مثال دیگر از ‪: CRA‬‬
‫‪‬‬
‫‪‬‬
‫)‪Zero-Knowledge Password Proof (ZKPP‬‬
‫(اثبات دانستن کلمه عبور بدون اشاره به آن‪ ،‬در مواقعی که‬
‫اثبات کننده نمیخواهد طرف دوم و یا هیچ کس دیگری از محتوی‬
‫کلمه عبور مطلع شود‪).‬‬
‫‪Key Agreement Systems‬‬
‫• ‪SSH (Secure Shell) based on RSA‬‬
‫‪‬‬
‫امکان برقراری ارتباطات رمزگذاری شده در محیط های ناامن میان ‪Host‬‬
‫های ناامن‬
‫امضای دیجیتال‬
‫)‪(Digital Signiture‬‬
‫‪ ‬نمود دیجیتالی‬
‫‪ ‬عدم ایجاد اطمینان قطعی‬
‫‪ ‬مبتنی بر کلید عمومی‬
‫‪ 3 ‬الگوریتم‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Key Generation‬‬
‫‪Signing‬‬
‫‪Verification‬‬
‫‪ ‬امضای دیجیتال محصول الگوریتم ‪Signing‬‬
‫امضای دیجیتال‬
‫(ادامه)‬
‫)‪(Digital Signiture‬‬
‫‪ ‬علی به حمید نامه ای ارسال میکند ‪ ،‬او بوسیله کلید‬
‫خصوصی خود و نیز الگوریتم امضا ‪ ،‬امضای خود را که‬
‫به صورت یک عدد دودویی است به همراه نامه برای حمید‬
‫ارسال میکند‪.‬‬
‫‪ ‬حمید نامه را گرفته و به کمک کلید عمومی و الگوریتم‬
‫تشخیص خود ازصحت امضای علی مطمئن میشود‪.‬‬
‫‪ ‬علی برای کوتاهتر شدن پیغام و نیز آسانتر شدن پروسه ‪،‬‬
‫بوسیله یک ‪ Hashing Algorithm‬پیغام خود را‬
‫رمزگذاری میکند‪.‬‬
Directory Servers
‫ را ارائه‬Directory Services ‫ خدمتگزارانی که‬
.‫میدهند‬
‫‪Directory Services‬‬
‫‪ ‬نرم افزار یا مجموعه ای از نرم افزارها‬
‫‪ ‬ذخیره کننده داده ها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫شبکه های کامیوتری‬
‫کاربران‬
‫به اشتراک گذاشته شده ها‬
‫‪ ‬مدیریت دسترسی به اشتراک گذاشته شده ها‬
‫‪ ‬واسط میان کاربران و به اشتراک گذارده شده ها‬
‫‪ ‬امکان شناسایی هویت منابع و ارتباط آنها و مدیریت آنه به‬
‫صورتی امن‬
‫‪Directory Services‬‬
‫(ادامه)‬
‫‪ ‬امکان دسترسی توزیع شده به بسیاری از اشیاء و داده های‬
‫ذخیره شده با ویژگی ها و صفات مختلف‬
‫‪ ‬تبادل این اطالعات روی سایر خدمتگذاران ارائه دهنده‬
‫‪Directory Services‬‬
‫‪ ‬نگاشتن آدرس شبکه ای منابع به مکان فیزیکی و اسم آنان‬
‫‪ ‬منابع شیء هستند‪.‬‬
‫‪ ‬اطالعات داخل منابع صفات آنان است‪.‬‬
‫‪ ‬دسترسی به این صفات امن و نیازمند ‪ Authorization‬و‬
‫‪ Authentication‬است‪.‬‬
)‫(ادامه‬
Directory Services
‫ برای شبکه‬namespace ‫ تعریف‬
DN (Distinguished Names) ‫ به‬LDAP ‫ در‬
.‫میگوییم‬
‫‪LDAP‬‬
‫)‪(Lightweight Directory Access Protocol‬‬
‫‪ ‬یک استاندارد شبکه ای برای اصالح و نظارت بر‬
‫‪Directory Services‬‬
‫‪ ‬پروتکلی برای به روز کردن و جستجو کردن پوشه‬
‫ها روی ‪TCP/IP‬‬
‫(ادامه)‪LDAP‬‬
‫)‪(Lightweight Directory Access Protocol‬‬
‫‪ ‬اعمال‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ :Bind‬تشخیص هویت و مشخص کردن ورژن پروتکل‬
‫‪LDAP‬‬
‫‪ :Search‬جستجو و یا بازیابی داده های پوشه ها‬
‫‪ :Compare‬امتحان کردن اینکه یک ورودی نامگذاری شده‬
‫مقدار موردنظر را دارد‪.‬‬
‫‪ :Add‬اضافه کردن یک ورودی جدید‬
‫‪ :Delete‬پاک کردن یک ورودی‬
‫(ادامه)‪LDAP‬‬
‫)‪(Lightweight Directory Access Protocol‬‬
‫‪ ‬ادامه اعمال‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ :Modify‬اصالح یک ورودی‬
‫‪ :Modify DN‬پاک کردن یا تغییر نام دادن یک ورودی‬
‫‪ :Start TLS‬محافظت کردن از ارتباط به کمک ‪Transport‬‬
‫‪)TLS( Layer Security‬‬
‫‪ :Abandon‬رد کردن درخواست‬
‫‪ :Extended Operation‬عملیاتی برای تعریف سایر‬
‫عملیات‬
‫‪ :Unbind‬بستن ارتباط‪ ،‬برعکس ‪ bind‬نیست‪.‬‬
LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
Directory ‫ درختی از ورودی های‬: Directory
‫ مجموعه ای از صفات‬: )Entry( ‫ورودی‬
.‫) یک اسم دارد‬Attribute(‫هر صفت‬
DN (Distinguished Name) : ‫هر ورودی یک اسم دارد‬
: LDIF ‫شکل یک ورودی در فرمت‬
dn: cn=John Doe,ou=people,dc=example,dc=com
cn: John Doe
givenName: John
sn: Doe
telephoneNumber: +1 555 6789
telephoneNumber: +1 555 1234
mail: [email protected]
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top





LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
C:/program files/putty/Putty.exe 
[email protected] 
LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
Ldapp + 2 tabs 
LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
cn=common name 
dn:uid=mousavi,ou=people,dc=ce,dc=sharif,dc=edu 
Ldapp tools 
Ldappsearch
Ldappadd
Ldappmodify
Ldappdelete
ldappasswd
Ldapwhoami
Ldapcompare







LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
‫ شبیه سازی دستورات‬: -n 
‫ تشخیص هویت ساده‬: -x 
LDIF ‫ فرمت خروجی مطابق با‬: LLL 
:‫ شود‬Bind ‫ با کدام موجودیت‬: -D 
-D 'uid=mousavi,ou=people,dc=ce,dc=sharif,dc=edu‘
‫ وارد کردن رمز عبور‬: -W 
:‫) را مشخص میکند‬Base(‫ پایه‬: -b 
-b 'ou=groups,dc=ce,dc=sharif,dc=edu

LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
Ldapserach 
‫برخی از آرگومان ها‬
DN •
Scope-base (-b) •
Filter •
ldapsearch -xLLL -b 'ou=groups,dc=ce,dc=sharif,dc=edu'
'gidNumber‘
ldapsearch -xLLL -b 'ou=people,dc=ce,dc=sharif,dc=edu'
'gidNumber=1006‘
ldapsearch -xLLL -b 'ou=people,dc=ce,dc=sharif,dc=edu'
'gidNumber=1006' 'uidNumber'




LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
Lpadd 
ldapadd -x -D 'uid=mousavi,ou=people,dc=ce,dc=sharif,dc=edu' -W -f a.ldif

LDIF FILE (add.ldif): 
dn: uid=mousavi,ou=People,dc=ce,dc=sharif,dc=edu
uid: mousavi
cn: Agh Vahid
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
objectClass: sambaSamAccount
shadowLastChange: 12347
LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
homeDirectory: /home/bs81/mousavi
gecos: Agh Vahid
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdMustChange: 2147483647
sambaSID: S-1-5-21-2004343368-28313679673069035597-2400
gidNumber: 1006
sambaPwdCanChange: 1122807645
LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
sambaPasswordHistory:
0000000000000000000000000000000000000000000000000
0000000
00000000
sambaPwdLastSet: 1122807645
sambaAcctFlags: [U
]
sambaLMPassword:
5E8EEAF5F54658CCAAD3B435B51404EE
sambaNTPassword: 40AA64594587A99EA91519B1A477F618
userPassword::
e2NyeXB0fSQxJHh1eGJ5aS42JFd5N2VxSlU4bEVvOWx4aH
RHUWNNTjE=
displayName: 81174903 - Mousavi.Vahid Reza
uidNumber: 81174903
LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
[mousavi@shell ~]$ ldapadd -x -n -W -f add.ldif
Enter LDAP Password: *******
mousavi@shell ~]$
!adding new entry
"uid=mousavi,ou=People,dc=ce,dc=sharif,dc=edu"
LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
Ldapmodify
ldapmodify -x -D ‘ ….' -W -f modify.ldif 
LDIF FILE (modify.ldif) :
dn: cn=Modify Me,dc=example,dc=com
changetype: modify
replace: mail
mail: [email protected]
add: title
title: Grand Poobah
add: jpegPhoto
jpegPhoto:< file:///tmp/modme.jpeg
delete: description
-

LDAP)‫(ادامه‬
(Lightweight Directory Access Protocol)
Ldapwhoami 
.‫ شده ایم‬Bind ‫ مشخص کردن کسی که با آن‬
:‫مشخصات من‬
ldapwhoami -x –D 'uid=mousavi,ou=people,dc=ce,dc=sharif,dc=edu' –W
:‫مشخصات به طور ناشناس‬
Ldapwhoami –x=Anonymous
Kerberos Protocol
:‫ خدمتگزار‬2 ‫مبتنی بر‬
)TGS(Ticket-Granting Server
)AS( Authentication Server



‫‪Kerberos Protocol‬‬
‫(ادامه)‬
‫‪ ‬شیوه عملکرد‪:‬‬
‫‪ .1‬کاربر ‪ username‬و ‪ password‬را روی ‪ client‬وارد میکند‪.‬‬
‫‪ Client .2‬یک الگو ریتم ‪ hash‬یک طرفه را روی ‪ password‬اجرا میکند و از این به‬
‫بعد حاصل این عمل به عنوان ‪ secret key‬مربوط به ‪ client‬در نظر گرفته میشود‪.‬‬
‫‪ Client .3‬یک درخواست (بدون ارسال ‪ ) password‬را به ‪( AS‬خدمتگزار تشخیص‬
‫هویت) ارسال میکند‪.‬‬
‫‪Kerberos Protocol‬‬
‫‪.4‬‬
‫‪ AS‬چک میکند که آیا ‪ Client‬در ‪ DB‬وجود دارد یا نه‪ ،‬اگر وجود داشت این ‪ 2‬پیغام‬
‫را میفرستد‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.5‬‬
‫(ادامه)‬
‫پیغام حاوی ‪ Client/TGS Session Key‬که کاربر بوسیله ‪ Secret Key‬رمزگذاری‬
‫شده‪.‬‬
‫پیغام حاوی ‪( Ticket-Granting Ticket‬حاوی ‪،Network Address ،Client ID‬‬
‫‪ )Client/TGS Session Key ،Validity Period‬کاربرکه بوسیله ‪Secret Key‬‬
‫موجود در ‪ TGS‬رمزگذاری شده‪.‬‬
‫پس از دریافت این ‪ client ،2‬پیغام اول را برای بدست آوردن ‪Client/TGS‬‬
‫‪ session ID‬رمزگشایی میکند که برای ارتباط با ‪ TGS‬به کار میرود‪ .‬البته به دلیل‬
‫نداشتن ‪ client ، TGS secret key‬نمیتواند که پیغام ‪ 2‬را رمزگشایی کند‪ .‬حاال‬
‫‪ client‬میتواند که با ‪ TGS‬ارتباط بر قرار کند‪.‬‬
‫‪Kerberos Protocol‬‬
‫‪.6‬‬
‫وقتی که ‪ client‬یک سرویس را درخواست میکند ‪ 2‬پیغام را به ‪ TGS‬میفرستد‪:‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.7‬‬
‫(ادامه)‬
‫ترکیبی از ‪Ticket-Granting Ticket‬در پیغام دوم و شناسه درخواست مورد نظر‪.‬‬
‫تشخیص هویت دهنده (ترکیبی از ‪client ID‬و شناسه های زمانی ) که بوسیله ‪Client/TGS‬‬
‫‪ session Key‬رمزگذاری شده است‪.‬‬
‫پس از دریافت این ‪ 2‬پیام ‪ TGS‬پیغام ‪ 3‬را بوسیله ‪client/TGS session key‬‬
‫رمزگشایی میکند و این ‪ 2‬پیغام را به ‪ client‬میفرستد‪:‬‬
‫‪.5‬‬
‫‪.6‬‬
‫‪( Client-to-server ticket‬متشکل از شناسه ‪ ،client‬آدرس آن و ‪ )validity period‬راکه‬
‫بوسیله ‪ secret key‬سرویس مورد نظر رمزگذاری شده ‪.‬‬
‫‪ Client/Server session key‬که بوسیله ‪ Client/TGS session key‬رمزگذاری شده‬
‫است‪.‬‬
‫‪Kerberos Protocol‬‬
‫(ادامه)‬
‫پس از این ‪ client‬این امکان را دارد که خود را به ‪ )SS( Service Server‬بوسیله ‪2‬‬
‫پیغام معرفی کند‪:‬‬
‫‪.8‬‬
‫‪.7‬‬
‫‪.8‬‬
‫‪ Client-to-server ticket‬که بوسیله ‪ Secret Key‬مربوط به خدمت مورد نظر رمزگذاری‬
‫شده است‪.‬‬
‫یک تشخیص هویت دهنده جدید که بوسیله ‪client/server session key‬رمزگذاری شده‬
‫است‪.‬‬
‫سرور ‪ ticket‬مورد نظر را با استفاده از ‪ secret key‬خودش رمزگشایی کرده و یک‬
‫پیغام مبنی بر درست بودن آن ارسال میکند‪:‬‬
‫‪.9‬‬
‫‪.9‬‬
‫رمزشده ‪ time stamp‬موجود در تشخیص دهنده اخیر بعالوه یک توسط ‪client/server‬‬
‫‪session key.‬‬
‫‪Kerberos Protocol‬‬
‫‪.10‬‬
‫‪.11‬‬
‫(ادامه)‬
‫‪ Client‬پیغام را بوسیله کلید به اشتراک گذاشته شده اش به سرور رمزگشایی کرده و با‬
‫توجه به ‪ time stamp‬خود آن را چک میکند و اگر درست بود به سرور اعتماد کرده و‬
‫از آن درخواست میکند‪.‬‬
‫سرور به درخواست های ‪ client‬جواب میدهد‪.‬‬
‫منابع‬
http://www.microsoft.com 
http://www.wikipedia.com 
http://www.cs.fsu.edu 
http://www.redhat.com 
http://www.bind9.net/ldap/ 
Linux Os Manual (man command) 