پروتکل کربروس

Download Report

Transcript پروتکل کربروس

‫پروتكلهاي احرازاصالت‬
Authentication protocols
‫فهرست مطالب‬
‫• مقدمه‬
‫• احرازاصالت ضعيف( كلمات عبور)‬
‫• احرازاصالت قوي (مبتني بر سؤال و جواب)‬
‫• پروتکل کربروس‬
‫مقدمه‬
‫مقدمه‬
Basis for Authentication
• Something you know (a PIN, or password).
• Something you have:
– secureID card or other token, generating a one-time
password.
– a key imbedded in a ‘secure area’
– a smartcard (which may have keys imbedded and can
perform cryptographic operations on behalf of a user).
• Something you are (a biometric).
‫فهرست مطالب‬
‫• مقدمه‬
‫• احرازاصالت ضعيف( كلمات عبور)‬
‫• احرازاصالت قوي (مبتني بر سؤال و جواب)‬
‫• پروتکل کربروس‬
‫احراز اصالت ضعيف‬
‫احراز اصالت ضعيف‬
‫احراز اصالت ضعيف‬
Password Vulnerabilities
• Writing them down
• Stolen passwords (via eavesdropping)
– Trojan Horse
• Poor password choice
– Easy to guess, easy to remember
– People use the same password multiple times
– Passwords changed infrequently
• Offline attacks
– Search through password dictionary
Survey of 3,289 Passwords
• With no constraints on choice of password
–
–
–
–
–
15 were a single ASCII letter.
72 were strings of two ASCII letters.
464 were strings of three ASCII letters.
47 were strings of four alphanumerics.
706 were five letters, all upper-case or all
lower-case.
– 605 were six letters, all lower case.
‫حمالت عليه روشه هاي مبتني بر کلمه عبور و راه کار مقابله‬
‫حمالت عليه روشه هاي مبتني بر کلمه عبور و راه کار مقابله‬
‫بهبود امنيت در روش هاي مبتني بر کلمه عبور‬
‫نمک زدن‬
‫عبارتهاي کلمه عبور‬
‫احراز اصالت دو عاملي‬
‫کلمه عبورهاي يک بار مصرف‬
‫کلمه عبورهاي يک بار مصرف‬
‫کلمه عبورهاي يک بار مصرف‬
‫کلمه عبورهاي يک بار مصرف‬
‫کلمه عبورهاي يک بار مصرف‬
‫فهرست مطالب‬
‫• مقدمه‬
‫• احرازاصالت ضعيف( كلمات عبور)‬
‫• احرازاصالت قوي (مبتني بر سؤال و جواب)‬
‫• پروتکل کربروس‬
Strong Authentication
• In strong authentication, one entity ‘proves’ its identity to
another by demonstrating knowledge of a secret known to
be associated with that entity, without revealing that secret
itself during the protocol.
• Also called `challenge-response’ authentication.
• Use cryptographic mechanisms to protect messages in
protocol:
– Encryption.
– Integrity mechanism (e.g. MAC).
– Digital signature.
Encryption-based Unilateral Authentication
1. A
B:
‘Hi Bob, I’m Alice’
2. B
A:
R
(challenge)
3. A
B:
{R || B}K
(response)
(Here, {X}K means string X encrypted
under key K, and || means concatenation
of strings.)
Security of the Protocol
• Eve ‘sees’ R and {R || B}K. Because of idealised
encryption, she should learn nothing about K.
• Bob gets his challenge R back again, in an encrypted
form that only Alice can prepare. This allows him to be
sure of origin and integrity of the message.
• But Mallory can impersonate Bob easily: so Bob not
authenticated to Alice. Only unilateral authentication
(of Alice to Bob).
Replay Attack
• Mallory can’t prepare the correct response
{R || B}K to Bob’s challenge because he
doesn’t know K.
• But R must be unpredictable: otherwise
Mallory can masquerade as Alice in a
subsequent protocol run, replaying Alice’s
response.
Replay Attack
• The replay attack shows that origin and integrity checking
are not enough – we also need a means of checking
freshness of messages and liveness of principals.
• Freshness: assurance that message has not been used
previously and originated within an acceptably recent
timeframe.
• Liveness: assurance that message sent by a principal
within an acceptably recent timeframe.
• Three main methods for providing freshness:
– Nonce (Number used ONCE).
– Sequence numbers
– Time-stamps (clock-based or `logical’ time-stamps).
Standard bilateral Authentication
• Alice and Bob share (strong) key k
• Simple challenge-response type protocol:
(Na,Nb - nonces)
Ek(Na)
Na, Ek(Nb)
Nb
Attack on Simple Protocol
• “Oracle Attack”
dummy=Ek(Na)
Na, Ek(Nb)
Ek(Nb)
Nb, Ek(Nc)
Nb
Protocol Fix?
• Modified challenge-response type protocol:
Na
Ek(Na), Ek(Nb)
Nb
‫اين پروتکل نيز آسيب پذير است‬
Attack on Modified Protocol
• “Parallel Session Attack”
Na
Na
Ek(Na), , Ek(Nb)
Ek(Na), , Ek(Nb)
Nb
Nb
Correct Protocol
Na
[B|A|Na|Nb]k
[A|Nb]k
Password-based Protocols
• Telnet - vulnerable to replay attacks
Client
pwd
Server
• Hashing does not help
Client
h(pwd)
Server
Password-based Protocols
• Challenge-Response : vulnerable to offline
dictionary attacks
Client
cha
h(cha,pwd)
• Problem: “verifiable text”
Server
Password-based Protocols
• SSH: Relies on public key
Client
Verify Sig
K=gxy
gx
gy,SigS(gx,gy)
Server
EK(user,pwd)
• Similar protocols relying on public keys:
– [SSL],[Halevi-Krawczyk],[Boyarsky],[Shoup]
Password Auth. - Attempt
Public:
Prime p, generator g
p
W=gx
a=fp(W)
Check b=fp(V)
p
W, a
V, b
Check a=fp(W)
V=gy
b=fp(V)
• Intuition: authenticate Diffie-Hellman values
using PRF with password as key.
• Insecure! (eavesdropper obtains verifiable text)
Kerberos
41
‫کربروس‬
‫•‬
‫•‬
‫•‬
‫پروتکل احراز هويت بر اساس رمز نگاري کليد متقارن‬
‫طراحي شده در ‪MIT‬‬
‫به جاي احراز هويت در هر کارگزار به صورت توزيع شده‪ ،‬يک‬
‫کارگزار خاص را به احراز هويت اختصاص ميدهيم‬
‫نسخه هاي ‪ 4‬و ‪ 5‬آن در حال استفاده هستند‬
‫•‬
‫احراز هویت دو جانبه (‪ )mutual‬برقرار میشود‪.‬‬
‫•‬
‫• کارگزاران و کارفرمایان هردو از هویت طرف مقابل اطمینان‬
‫حاصل میکنند‬
‫‪42‬‬
‫ويژگيهاي عمومي کربروس‬
‫چند تعریف‬
‫• دامنه‪ :‬يک محدوده دسترس ی را مشخص می کند‪ .‬به نوعی معادل دامنه‬
‫های تعريف شده در ويندوز می باشد‪.‬‬
‫• مرکز توزيع کليد‪ :‬معادل کارگزار کربروس می باشد‪.‬‬
‫• ‪ : Principal‬به سرويس ها‪ ،‬دستگاه ها‪ ،‬کاربران و کليه عناصری که‬
‫احتیاج به شناساندن خود به کارگزار کربروس دارند‪ ،‬گفته می شود‪.‬‬
‫• بلیط‪ :‬در واقع نوعي گواهي است كه هنگام ورود كاربر به قلمرو کربروس به‬
‫او داده مي شود كه بيانگر اعتبار او براي دسترس ي به منابع شبكه مي باشد‪.‬‬
‫‪43‬‬
‫کربروس نسخه ‪ :4‬شمای کلی‬
‫‪44‬‬
1-‫ بررس ي الگوريتم‬:4 ‫کربروس نسخه‬
1. IDClient|IDtgs|TS1
2. EKClient[KClient,tgs|IDtgs|TS2|Lifetime2|Tickettgs]
Client
AS
Tickettgs=EKtgs[KClient,tgs|IDClient|AddrClient|IDtgs|TS2|Lifetime2]
45
”‫بدست آوردن بليط “اعطاء خدمات‬
3. IDserver|Tickettgs|AuthenticatorClient
4. EKClient,tgs [KClient,server|IDserver|TS4|Ticketserver]
Client
Tgs-Server
TicketServer=
EKserver[KClient,server|IDClient|AddrClient|IDserver|TS4|Lifetime4]
AuthenticatorClient=
EKClient,tgs[IDClient|AddrClient|TS3]
48
‫بلیط کارگزار‬
‫=‪TicketServer‬‬
‫]‪EKserver[KClient,server|IDClient|AddrClient|IDserver|TS4|Lifetime4‬‬
‫مهر زمانی‬
‫و‬
‫دوره‬
‫اعتبار‬
‫بلیط‬
‫شناسه‬
‫‪TGS‬‬
‫‪49‬‬
‫آدرس‬
‫کارفرما‬
‫شناسه‬
‫کارفرما‬
‫کلید‬
‫جلسه بين‬
‫کارفرما و‬
‫کارگزار‬
‫تمامی با کلید‬
‫کارگزار رمز شده‬
‫اند‬
‫اعتبار نامه کارفرما‬
‫]‪AuthenticatorClient= EKClient,tgs[IDClient|AddrClient|TS3‬‬
‫آدرس‬
‫کارفرما‬
‫مهر زمانی‬
‫‪50‬‬
‫شناسه‬
‫کارفرما‬
‫تمامی با کلید‬
‫جلسه رمز‬
‫شده اند‬
‫نتايج اين مرحله براي كارفرما‬
‫• جلوگيري از حمله تکرار با استفاده از يك اعتبار نامه (‪ )Authenticator‬يكبار‬
‫مصرف كه عمر كوتاهي دارد‪.‬‬
‫• بدست آوردن كليد جلسه براي ارتباط با سرور‬
‫‪51‬‬
‫دستيابي به خدمات سرور‬
5. TicketServer|AuthenticatorClient
6. EKClient,Server [TS5+1]
Server
Client
52
‫نتايج اين مرحله براي كارفرما‬
‫• احراز هويت کارگزار در گام ششم با برگرداندن پيغام رمزشده‬
‫• جلوگيري از بروز حمله تکرار‬
‫‪53‬‬
‫کربروس نسخه ‪ :4‬شمای کلی‬
‫‪54‬‬
‫قلمرو کربروس‬
‫• قلمرو کربروس از بخشهاي زير تشكيل شده است‪:‬‬
‫– کارگزار کربروس‬
‫– کارفرمایان‬
‫– کارگزاران كاربردي ‪Application Servers‬‬
‫• کارگزار کربروس گذرواژه تمام کاربران را در پایگاه داده خود دارد‪.‬‬
‫ً‬
‫• معموال هر قلمرو معادل یک حوزه مدیریتی می باشد‪.‬‬
‫‪55‬‬
‫هويت شناس ي بين قلمرويي(‬
‫‪)InterRealm‬‬
‫• امكان اينكه كاربران بتوانند از خدمات موجود در قلمروهاي ديگر‬
‫استفاده كنند‪.‬‬
‫– کارگزاران کربروس هر قلمرو يك كليد مخفي با کارگزاران کربروس قلمرو‬
‫همکار مقابل به اشتراک میگذارند‪.‬‬
‫– وجود ‪ N‬قلمرو همکار نیازمند ‪ N(N-1)/2‬کلید مخفی است‪.‬‬
‫– دو کارگزار کربروس همدیگر را ثبت نام مینمایند‪.‬‬
‫‪56‬‬
‫هويت شناس ي بين قلمرويي‬
‫‪57‬‬
‫کربروس نسخه ‪5‬‬
‫• مشخصات‬
‫– در اواسط ‪ 1990‬مطرح شد‬
‫– نقص ها و كمبودهاي نسخه قبلي را برطرف كرده است‬
‫– به عنوان استاندارد اينترنتي ‪ RFC 1510‬در نظر گرفته شده است‪.‬‬
‫– ويندوز ‪ 2000‬از استاندارد اينترنتی کربروس نسخه ‪ 5‬بعنوان روش‬
‫اصلی هويت شناس ی کاربران استفاده می کند‪.‬‬
‫‪58‬‬
‫مشكالت ‪ Kerberos v4‬و نحوه رفع آنها در نسخه ‪5‬‬
‫• وابستگي به يك سيستم رمزنگاري خاص(‪)DES‬‬
‫‪ +‬در نسخه ‪ 5‬مي توان از هر الگوريتم متقارن استفاده كرد‬
‫• وابستگي به ‪IP‬‬
‫‪ +‬در نسخه ‪ 5‬مي توان از هر نوع آدرس شبكه ای استفاده كرد‬
‫– امكان استفاده از اعتبار كاربر متفاوت در دسترس ی به يك سرور خاص‬
‫‪ +‬در نسخه ‪ 5‬اجازه داده مي شود كه سرویس از حساب کاربر متفاوت از کاربر ‪login‬‬
‫کرده انجام شود‪.‬‬
‫– با افزايش تعداد قلمروها‪ ،‬تعداد كليدها بصورت تصاعدي افزايش مي يابد‬
‫‪ +‬در نسخه ‪ 5‬با استفاده از معماری سلسه مراتبی اين مشكل حل شده است‪.‬‬
‫‪59‬‬
Hierarchy/Chain of Realms
60
‫کربروس نسخه ‪ :5‬شمای کلی‬
‫‪61‬‬