دانشگاه صنعتی شریف
دانشکده مهندسی کامپیوتر
آزمایشگاه امنیت داده و شبکه
http://dnsl.ce.sharif.edu
درس :9کربروس
محمد صادق دوستی
1 / 39
امنیت داده و شبکه
محمد صادق دوستی
فهرست
تاریخچه
کربروس در سطح باال
جزئیات کربروس 5
قلمروهای کربروس
کربروس در امروز
2 / 39
امنیت داده و شبکه
محمد صادق دوستی
پروژه آتنا ()Project Athena
آتنا :ایزدبانوی نگهبان شهر آتن
پروژه آتنا :پروژهای مشترک بین DEC ،MITو IBM
هدف :ایجاد محیطی برای محاسبات توزیع شده.
آغاز ،1983پایان تحقیق و توسعه .1991
هنوز ( )2015هم به فعالیت ادامه میدهد.
بودجه 50 :میلیون دالر
محصووووالت اصووولی ،Kerberos :سیسوووتم ،X Window
پیامرسان Zephyr
3 / 39
امنیت داده و شبکه
محمد صادق دوستی
کربروس ( Kerberosیا )Cerberus
کربروس ( :)Κέρβεροςبر گرفته از اسطوره یونانی
نووام سووگی سووهسوور کووه محوواف دروازههووای عووالم مردگووان بووود
نمیگذاشت زندگان مزاحم ارواح شده و ارواح از عالم مردگان خارج
شوند.
Authentication
Accounting
Audit
4 / 39
امنیت داده و شبکه
محمد صادق دوستی
تاریخچه کربروس – 1
مبتنی بر پروتکل تصدیق هویت نیدهام-شورودر ( )1978و اصوحح
شده آن توسط دنینگ و ساکو (.)1981
کلید متقارن استفاده از KDCبه کارگیری برچسب زمانی.
نسخه 1الی 3کربروس در MITبه صورت داخلی.
نسخه 4در سال 1990به طور رسمی منتشر شد.
استفاده از DESبرای رمزنگاری
دارای محدودیتها و اشکاالت امنیتی فراوان
5 / 39
امنیت داده و شبکه
محمد صادق دوستی
تاریخچه کربروس – 2
نسخه 5در 1993به طور رسمی منتشر شد (.)RFC 1510
تا سال ،2000رمزنگاری در آمریکا «سحح» محسوب میشد.
انتشار کد کربروس به خارج از آمریکا جرم بود.
دانشگاه KTHسوئد با الهام از مسوتندات نسوخه ،4نسوخهای از
کربروس را با عنوان eBonesمنتشر ساخت.
اسووتاندارد 5کربووروس ( )RFC 1510در سووال 2005تحووت عنوووان
RFC 4120اصحح شد.
6 / 39
امنیت داده و شبکه
محمد صادق دوستی
تاریخچه کربروس – 3
سایر اصححات کربروس در :2005
به کارگیری روشهای رمزنگاری و صحت متنوع ()RFC 3961
به کارگیری )RFC 3962( AES
در سال MIT ،2007کنسرسیوم کربروس را تشکیل داد.
شامل شرکتهایی چون اراکل ،اپل ،گوگل ،مایکروسافت
نهادهای دانشگاهی نظیر ،KTHاستنفورد و MIT
مایکروسووافت بووا توجووه بووه اسووتفاده از کربووروس در Active
،Directoryچندین بهبود عمده در آن داده است.
7 / 39
امنیت داده و شبکه
محمد صادق دوستی
تاریخچه کربروس – 4
بهبودهای مایکروسافت:
به روز رسانی GSS-APIدر RFC 4121
مذاکره الگوریتمهای رمز در RFC 4537
امکوووان اسوووتفاده از زیرسووواخت کلیووود عموووومی در کربوووروس
( )PKIINITدر RFC 4556
OCSPبرای PKINITدر RFC 4557
الگوریتمهای RC4-HMACبرای کربروس در RFC 4757
رمزنگاری خم بیضوی برای PKINITدر RFC 5349
8 / 39
امنیت داده و شبکه
محمد صادق دوستی
تاریخچه کربروس – 5
سایر بهبودهای مایکروسافت:
قیود جدید برای نامها در RFC 6111
پشتیبانی از گمنامی در RFC 6112
پیش-تصدیق هویت در RFC 6113
استاندارد سازی نامگذاری در RFC 6806
امووروزه سووه پیووادهسووازی عمووده از کربووروس وجووود دارد،MIT :
هایمدال ( )Heimdalو مایکروسافت ()Active Directory
9 / 39
امنیت داده و شبکه
محمد صادق دوستی
فهرست
تاریخچه
کربروس در سطح باال
جزئیات کربروس 5
قلمروهای کربروس
کربروس در امروز
10 / 39
امنیت داده و شبکه
محمد صادق دوستی
تصدیق هویت در یک سیستم توزیع شده
کاربران
)Workstation (WS
کارگزارها
کارگزار
فایل
شبکه
کارگزار
Mail
کارگزار
Edu
11 / 39
امنیت داده و شبکه
محمد صادق دوستی
روشهای تصدیق هویت در یک سیستم توزیع شده
اعتماد کامل به WSها :هر ،WSهویت کاربران خوود را تصودیق
میکند .هر کارگزار ،بر اساس IDتصدیق شده کاربر ،خدمت ارائه
میدهد.
اعتماد متوسط به WSها :هر WSخود را برای کارگزار ،تصودیق
هویت میکند .پس از آن کارگزار به تصدیق هویت کاربران توسوط
WSها اعتماد دارد.
هرکاربر IDخود را برای سرویس ،و هر سرویس IDخود را برای
کاربر تصدیق نمایدWS .ها صرفاً نقش اجرای پروتکلها را دارند.
12 / 39
امنیت داده و شبکه
محمد صادق دوستی
اهداف طراحی کربروس
کربروس روش سوم را که امنتر و مناسب محیطهای بوزر
برگزید.
اسوت
سایر اهداف:
امنیت در برابر حمحت فعال و منفعل
اتکاپذیری نبود تکنقطه خرابی در سیستم
شفافیت کاربر غیر از وارد نمودن نوام کواربری/گوذرواژه بورای بوار
نخست ،دیگر درگیر تصدیق هویت نشود SSO( .اولیه!)
گسترشپذیری سیستم باید بتواند تعداد زیادی کاربر و کارگزار را
پشتیبانی نماید.
13 / 39
امنیت داده و شبکه
محمد صادق دوستی
و تعامل در سطح باال5 موجودیتهای کربروس
KDC
0
1 AS_REQ
username/
password
2
6
محمد صادق دوستی
TGS
Ticket-Granting
Service
AS_REP
(TGT, ks1)
3
4
AS
Authentication
Service
TGS_REP
(Ticket, ks2)
TGS_REQ
(TGT, Auth1)
کارگزار
5
Access Service
(Ticket, Auth2)
Response
امنیت داده و شبکه
14 / 39
سلسله مراتب کلیدها در کربروس 5
گذرواژه :کلید طوالنی مدت به روش مشخصوی (موالحً درهومسوازی) از
روی گذرواژه کاربر ساخته شده و در یوک انبواره مرکوزی نوزد KDC
نگهداری میشود.
در طول نشست ،فقط یک مرتبه ورود نام کاربری /گذرواژه (.)SSO
باید در اسرع وقت از حافظه WSپاک شود.
بلیت اعطای بلیت ( )TGTو :ks1عمر آن برابر عمر نشست اسوت .در
طی نشست فقط یک مرتبه نیاز به دریافت آن است.
بلیت (اعطای سرویس) و :ks2عمر آن برابر عمر نشست است .در طوی
نشست ،به ازای هر سرویس ،فقط یک مرتبه نیاز به دریافت آن است.
15 / 39
امنیت داده و شبکه
محمد صادق دوستی
هدف از بلیتها و کلیدهای نشست
هر بلیت حاوی اطحعاتی است که به دارنده آن اجازه میدهد طی دوره
زمانی مشخص ،به خدمت مورد نظر دست یابد.
بلیت اعطای بلیت :دسترسی به خدمت دریافت بلیت
بلیت اعطای سرویس :دسترسی به سرویس مورد نظر
بلیتها به صورت آشکار در اختیار WSقرار میگیرند ،و WSبلیتهوا
را به صورت آشکار به TGSیا کارگزار میدهد.
برای جلوگیری از تکرار ،کلیدهای نشست مورد استفاده قرار میگیرند.
WSبه همراه بلیطAuthenticator ،ای را ارائه میکند که با کلید
نشست ساخته شده و حاوی برچسب زمانی است.
16 / 39
امنیت داده و شبکه
محمد صادق دوستی
اعتماد در کربروس
کاربران به WSها اعتماد دارند.
به همین دلیل گذرواژه خود را به WSمیدهند.
با ایون حوال WSبایود بحفاصوله پوس از دریافوت TGTو ،ks1
گذرواژه را از حافظهاش پاک نماید.
همه به KDCاعتماد دارند.
17 / 39
امنیت داده و شبکه
محمد صادق دوستی
فهرست
تاریخچه
کربروس در سطح باال
جزئیات کربروس 5
قلمروهای کربروس
کربروس در امروز
18 / 39
امنیت داده و شبکه
محمد صادق دوستی
جزئیات کربروس 5
در ادامه مهمترین بخشهای پیامهای کربروس 5را میبینیم.
عمداً از برخی از جزئیات صرفنظر کردهایم تا فهم پیامها سادهتر باشد.
نمادگذاری:
:Wایستگاه کاری ()Workstation
:Uکاربر،
:Sکارگزار
:KUکلید طوالنی مدت کاربر با ( KDCبر اساس گذرواژه)
:KTGSکلید طوالنی مدت TGS
:KSکلید طوالنی مدت کارگزار با KDC
19 / 39
امنیت داده و شبکه
محمد صادق دوستی
دو پیام نخست :دریافت TGTو کلید نشست 1
IDU ║ IDTGS ║ TIMES ║ nW
WAS:
║ IDU ║ TGT
ASW:
{ks1 ║ TIMES ║ nW ║ IDTGS}KU
:TIMES زمان آغاز و پایان اعتبار TGT
TGT = {ks1 ║ IDU ║ ADDRW ║ TIMES}KTGS
کووه در آن ADDRW ،آدرس شووبکه (معموووالً )IPایسووتگاه کوواری
است.
20 / 39
امنیت داده و شبکه
محمد صادق دوستی
2 دریافت بلیت و کلید نشست:دو پیام دوم
WTGS:
IDS ║ TIMES ║ nW ║ TGT ║Auth1
TGSW:
IDU ║ TICKETS ║
{ks2 ║ TIMES ║ nW ║ IDS}ks1
TGT = {ks1 ║ IDU ║ ADDRW ║ TIMES}KTGS
TICKETS = {ks2 ║ IDU ║ ADDRW ║ TIMES}KS
Auth1 = {IDU ║ tW}ks1
محمد صادق دوستی
امنیت داده و شبکه
21 / 39
دو پیام سوم :تصدیق هویت دو طرفه با کارگزار
TICKETS ║Auth2
WS:
{tW║ Subkey ║ Seq#}ks2
SW:
TICKETS = {ks2 ║ IDU ║ ADDRW ║ TIMES}KS
Auth2 = {IDU ║ tW ║ Subkey ║ Seq#}ks2
در پیامهای باال W ،و Sروی یوک زیور کلیود ( )Subkeyبورای
فقط یک مرتبه خدمت توافق میکنند.
22 / 39
امنیت داده و شبکه
محمد صادق دوستی
فهرست
تاریخچه
کربروس در سطح باال
جزئیات کربروس 5
قلمروهای کربروس
کربروس در امروز
23 / 39
امنیت داده و شبکه
محمد صادق دوستی
مفهوم قلمرو ()Realm
به تعودادی «کواربر و سورویس» ( )Principalکوه همگوی در حیطوه
کنترل یک KDCکربروس هستند ،قلمرو آن KDCگفته میشوند.
معموووالً هوور قلموورو خودمختووار بوووده و تحووت نظووارت یووک راهبوور
( )Administratorقرار دارد.
گاه ممکن است کاربر یک قلمرو بخواهد از کارگزار قلمرو دیگر خودمت
بگیرد.
برای این منظور باید روابط اعتماد مشخصی تعریف شود.
کاربرد :خدمات بین دو سازمان ،دو شرکت ،دو دانشگاه ،و ...
24 / 39
امنیت داده و شبکه
محمد صادق دوستی
راهکار کربروس 4
در کربروس ،4برای خدمتدهی بین قلمروها ،الزم است هر دو KDC
با هم کلید مشترک داشته باشند.
WS ابتدا برای ASخود تصدیق هویت شده و TGTمیگیرد.
WS با ارائه TGTبه TGSخود ،یک بلیت برای دسترسی به TGT
قلمرو دیگر میگیرد.
WS بلیووت گووام قبوول را بووه TGSقلموورو دیگوور داده و بلیتووی بوورای
دسترسی به کارگزار قلمرو دیگر میگیرد.
WS بلیت گام قبل را به کارگزار قلمرو دیگر داده و خدمت میگیرد.
25 / 39
امنیت داده و شبکه
محمد صادق دوستی
ایراد راهکار کربروس ،4و راهکار کربروس 5
اگر Nقلمرو داشته باشیم ،راهکار کربوروس 4بوه ) O(N2کلیود
بین KDCها نیاز دارد.
عدم گسترشپذیری
در کربروس ،5تمام پیامها حاوی اطحعات قلمرو هستند.
WSدر ابتدا قلمرو خود و IDTGSرا به ASمیگوید.
ASقلموورو TGSرا بووه WSگفتووه و قلموورو WSرا در TGT
میگنجاند.
TGSقلموورو Sرا بووه WSگفتووه و قلموورو WSرا در بلیووت
میگنجاند.
26 / 39
امنیت داده و شبکه
محمد صادق دوستی
راهکار کربروس ( 5ادامه)
عحوه بر تغییرات فوق ،کربوروس 5در هور پیوام تعودادی پورچم ( )Flagرا
تنظیم میکند.
یکی از پرچمهای مهم ،پرچم FORWARDEDاست.
بلیتی که این پرچم روی آن تنظیم شده باشد ،میتواند با نشانی شوبکهای
متفاوتی صادر شود.
مفید برای وقتی که شبکه ساختار سلسله مراتبی (درختی) دارد.
به جای اشتراک کلید بوین هور دو ،KDCمویتووان در سواختار درختوی
شبکه بین هر دو گره (KDCهوای مجواور در درخوت) کلیود بوه اشوتراک
گذاشت.
کافی است بلیت در مسویر بوین WSو Sروی درخوت FORWARD
شود.
27 / 39
امنیت داده و شبکه
محمد صادق دوستی
فهرست
تاریخچه
کربروس در سطح باال
جزئیات کربروس 5
قلمروهای کربروس
کربروس در امروز
28 / 39
امنیت داده و شبکه
محمد صادق دوستی
خروجی اجرای کربروس ( 5اکتیو دایرکتوری) در Wireshark
29 / 39
امنیت داده و شبکه
محمد صادق دوستی
نکات مهم – 1
KDC در پاسووووون بوووووه نخسوووووتین ،AS-REQخطوووووای
PREAUTH-REQUIREDرا ارائه داده است.
پوویش-تصوودیق هویووت ( )Pre-Authenticationیکووی از
بهبودهای مایکروسافت بر کربروس است ()RFC 6113
ASبه WSبلیت TGTرا نمیدهد ،مگر آنکه WSابتودا اابوت
کند که کلید KUرا دارد افزایش امنیت
30 / 39
امنیت داده و شبکه
محمد صادق دوستی
نکات مهم – 2
کربروس از UDPپورت 88استفاده میکند.
در حال حاضر امکان به کارگیری TCPپورت 88نیز وجود دارد.
حتی در RFC 6251امکوان بهورهگیوری از کربوروس بور بسوتر
SSL/TLSنیز تعریف شده است.
31 / 39
امنیت داده و شبکه
محمد صادق دوستی
نکات مهم – 3
برخی از پیامها به صورت آشکار قابل مشاهده هستند:
نام کاربرerodriguez :
نام قلمروEXAMPLE.COM :
واژه krbtgt
تاریخها (…)20370913
32 / 39
امنیت داده و شبکه
محمد صادق دوستی
تفسیر Wiresharkاز پیامهای کربروس 1 -
نسخه کربروس ()5
نوع پیام ()AS-REQ
پرچمها
نام و قلمرو کاربر
نام و قلمرو TGS
تاریخها
الگوریتمهای رمز
مورد پذیرش کاربر
33 / 39
امنیت داده و شبکه
محمد صادق دوستی
تفسیر Wiresharkاز پیامهای کربروس 2 -
تمرین :خطای PREAUTH-REQUIRED
34 / 39
امنیت داده و شبکه
محمد صادق دوستی
تفسیر Wiresharkاز پیامهای کربروس 3 -
AS-REQ به همراه PREAUTH
داده رمز و
تصدیق هویت
شده
35 / 39
امنیت داده و شبکه
محمد صادق دوستی
تفسیر Wiresharkاز پیامهای کربروس 4 -
بلیت (شامل بخش
آشکار و رمز شده)
36 / 39
امنیت داده و شبکه
محمد صادق دوستی
keytab رمزگشایی پیامهای کربروس به کمک فایل
A keytab is a file used to store the
encryption keys for one or more
Kerberos principals (usually host
and/or service principals).
محمد صادق دوستی
امنیت داده و شبکه
37 / 39
برنامههای Kerberized
یکی از روشهای پیادهسازی SSOدر سازمانها ،توسعه برنامههوای
Kerberizedاست.
برنامههایی که قادرند با بلیتهای کربروس کار کنند و بر اساس این
بلیتها به کاربران خدمت دهند.
API های متنوعی بورای Kerberizeنموودن برناموههوا وجوود
دارد.
مرورگرها نیز میتوانند با بلیتهای کربروس کار کنند.
مناسب برای کاربردهای مبتنی بر وب.
38 / 39
امنیت داده و شبکه
محمد صادق دوستی
پایان
صفحه درس:
http://ce.sharif.edu/courses/94-95/1/ce442-1/
مراجعه حضوری جهت رفع اشکال :شنبهها 15الی 16
(طبقه پنجم دانشکده ،درب شیشهای جنب آسانسور)
یا در زمانهای دیگر با قرار قبلی
یا به وسیله رایانامهdousti@ce :
39 / 39
امنیت داده و شبکه
محمد صادق دوستی
© Copyright 2025 Paperzz