1 / 44

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

Authentication Servers سرورهای تشخیص هویت. استاد ابطحی سید وحید رضا موسوی 81174903. مشکلات جدی. دسترسی های غیر مجاز داده های بسیار مهم و حیاتی نیاز به کنترل ورود و خروج پروسس های با قابلیت ایجاد تغییر در منابع سیستم های دارای اهمیت و نیز مشخص کردن میزان دسترسی آنها

blake
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Authentication Serversسرورهای تشخیص هویت استاد ابطحی سید وحید رضا موسوی 81174903

  2. مشکلات جدی • دسترسی های غیر مجاز • داده های بسیار مهم و حیاتی • نیاز به کنترل ورود و خروج پروسس های با قابلیت ایجاد تغییر در منابع سیستم های دارای اهمیت و نیز مشخص کردن میزان دسترسی آنها • تبادلات امن اطلاعات و مشکل استراق سمع اطلاعاتی!

  3. تشخیص هویتAuthentication • ریشه لغت (Authentic) صحیح، معتبر، درست • مفهوم در شاخه امنیت کامپیوتری (Computer Security) • اعتمادسازی در وب (Web Trust) • Authorization (شبیه و در عین حال متفاوت)

  4. خدمتگزاران تشخیص دهنده هویت(Authentication Servers) • خدمتگزارانی هستند که از سیستمهای تشخیص هویت برای کاربران و سایر سیستم ها استفاده میکنند. • کاربران و سایر خدمتگزاران توسط این خدمتگزار شناسایی شده و بلیط های عبور رمزشده دریافت میکنند. • این بلیطها بعدا دوباره میان آنها برای شناسایی هویت ردوبدل میشود. • تشخیص هویت پایه اصلی سه مفهوم کلیدی زیر میباشد: • Authorization (اجازه دادن) • Privacy (خلوت و تنهایی) • Non-Repudiation (انکارناپذیری)

  5. خدمتگزاران تشخیص دهنده هویت (ادامه)(Authentication Servers) • الگوریتم های اساسی: • الگوریتم های تشخیص رمز عبور • Kerberos • الگوریتم های رمزگذاری با کلید عمومی

  6. اجازه دادنAuthorization • تعریف (قسمتی از OS که از منابع رایانه محافظت میکند) • منابع رایانه ای (داده، برنامه ها، افراد و کارایی ها) • رابطه با Authentication • Guest or Anonymous • (Access Control List) Admin Authorized Users • سیستم های توزیع شده و بدون محدودیت (key & tickets) • مثال: Access Control • ATM • استفاده از سیستم بانکی اینترنتی • کنترل از راه دور یک رایانه

  7. کنترل دسترسی(Access Control) • کاربرد محدودیت ورود به یک جا • کنترل ورودی و خروجی • AC درامنیت شبکه شامل: • تشخیص هویت • تشخیص اجازه دسترسی • بازرسی سلسله مراتب دسترسی به یک رکورد (Audit Trail) • ابزار فیزیکی • Encryption, Digital Signatures,… • پیاده سازی سیستم کنترل اجازه دسترسی • Mandatory Access Control • Discretionary Access Control • کنترل دسترسی نقش مدار (Role-Based Access Control) • لیست کنترل دسترسی • XACML (eXtensible Access Control Markup Language)

  8. MAC & DAC • MAC • ابزار سیستم • عدم امکان کنترل کامل اشیاء ساخته شده • محدودیتی مساوی یا بیشتر از محدودیت Admin • در سیستم های امنیتی چند لایه از تلفیق MAC با FLASK به عنوان یک معماری کارا استفاده میشود. • Flux Advanced Security kernel (Flask) • یک معماری امنیتی برای سیستم عامل که دسترسی کارا و امن را به منابع سیستم با رعایت قوانین موجود سبب میشود. • مثال: • NSA's Security-Enhanced Linux (SELinux) • TrustedBSD • DAC • سیستم فایل • امکان دادن دسترسی نامحدود به منابع ساخته شده • ریسک دسترسی بدون اجازه

  9. کنترل دسترسی نقش مدار(Role-Based Access Control) • RBAC متفاوت با MAC و DAC • ایجاد نقش ها و تخصیص آنها • U = کاربر = یک شخص یا یک مامور(Agent) اتوماتیک • R = نقش = کارکرد / عبارتی که سطح اجازه را مشخص میکند. • P = اجازه ها = تایید یک حالت دسترسی به یک منبع. • S = Session = یک کلیت ، حاوی U، R، و P. • UA = مجموعه ای از کارکرد ها و وظایف کاربران • PA = مجموعه ای از اجازه های دسترسی • RH = سلسله مراتب نقش ها • یک کاربر میتواند چندین نقش داشته باشد. • یک نقش میتواند متعلق به چندین کاربر باشد. • یک نقش میتواند اجازه های متعددی داشته باشد. • یک اجازه خاص میتواند به چندین نقش داده شود.

  10. کنترل دسترسی نقش مدار(ادامه)(Role-Based Access Control) • PA=PxR (زیرمجموعه یا تساوی) • UA=UxR (زیرمجموعه یا تساوی) • RH (x>yیعنی x تمام اجازه های y را به ارث برده است) • یک کاربر : • چند Session • چندین مدل اجازه و نقش

  11. لیست کنترل دسترسی(Access Control List) • ACL (یک ساختار داده ای مثل یک جدول) • (ACE) Access Control Entries • ACL در OS های مختلف • OpenBSD/NetBSD:systrace • : SolarisTrustedSolaris • ACL : MAC OS X & Linux • پیچیدگی • تمام و کمال نیست.

  12. روشهای کلی تشخیص هویت • مسایل مربوط به آنچه که کاربر میباشد. (is) • اثر انگشت • DNA • Retinal (شناخت از طریق شبکیه چشم) • مسایل مربوط به آنچه که کاربر دارد. (has) • کارت شناسایی • نشان امنیتی یا نرم افزاری • موبایل • مسایل مربوط به آنچه که کاربر میداند. (knows) • کلمه(Word) یا عبارت (Phrase) عبور • شماره شناسایی شخصی (PIN) • ترکیب (Two Factor)

  13. روشهای تشخیص هویت (ادامه) • Challenge Response Authentication • روشهای پنهان (Cryptographic) • Public Key Cryptography • امضای دیجیتال • Public-Key Encryption

  14. Challenge Response Authentication(تشخیص هویت سوال و جواب) • تکنیک های غیر (No Internet) Cryptographic • Password • Captcha(to tell computers humans apartTuring testpublicautomatedcompletely)

  15. Challenge Response Authentication(ادامه) (تشخیص هویت سوال و جواب) • تکنیک های Cryptographic • خطر • Eavesdropping (Man-in-the-middle) • Dictionary Attack • Brute-force Attack • تشخیص هویت 2 طرفه (بدون ارسال واضح) • فرستادن یک داده تصادفی رمز شده بوسیله کلمه عبور و گرفتن پاسخ رمز شده مربوط به آن • Kerberos : عدد صحیح N← عدد صحیح N+1 • Hash Based CRA • Hashed Storage Of Passwords CRA

  16. Challenge Response Authentication(ادامه) (تشخیص هویت سوال و جواب) • چند مثال دیگر از CRA : • Zero-Knowledge Password Proof (ZKPP) (اثبات دانستن کلمه عبور بدون اشاره به آن، در مواقعی که اثبات کننده نمیخواهد طرف دوم و یا هیچ کس دیگری از محتوی کلمه عبور مطلع شود.) • Key Agreement Systems • SSH (Secure Shell) based on RSA • امکان برقراری ارتباطات رمزگذاری شده در محیط های ناامن میان Host های ناامن

  17. امضای دیجیتال(Digital Signiture) • نمود دیجیتالی • عدم ایجاد اطمینان قطعی • مبتنی بر کلید عمومی • 3 الگوریتم • Key Generation • Signing • Verification • امضای دیجیتال محصول الگوریتم Signing

  18. امضای دیجیتال (ادامه)(Digital Signiture) • علی به حمید نامه ای ارسال میکند ، او بوسیله کلید خصوصی خود و نیز الگوریتم امضا ، امضای خود را که به صورت یک عدد دودویی است به همراه نامه برای حمید ارسال میکند. • حمید نامه را گرفته و به کمک کلید عمومی و الگوریتم تشخیص خود ازصحت امضای علی مطمئن میشود. • علی برای کوتاهتر شدن پیغام و نیز آسانتر شدن پروسه ، بوسیله یک Hashing Algorithm پیغام خود را رمزگذاری میکند.

  19. Directory Servers • خدمتگزارانی که Directory Services را ارائه میدهند.

  20. Directory Services • نرم افزار یا مجموعه ای از نرم افزارها • ذخیره کننده داده ها • شبکه های کامیوتری • کاربران • به اشتراک گذاشته شده ها • مدیریت دسترسی به اشتراک گذاشته شده ها • واسط میان کاربران و به اشتراک گذارده شده ها • امکان شناسایی هویت منابع و ارتباط آنها و مدیریت آنه به صورتی امن

  21. Directory Services(ادامه) • امکان دسترسی توزیع شده به بسیاری از اشیاء و داده های ذخیره شده با ویژگی ها و صفات مختلف • تبادل این اطلاعات روی سایر خدمتگذاران ارائه دهنده Directory Services • نگاشتن آدرس شبکه ای منابع به مکان فیزیکی و اسم آنان • منابع شیء هستند. • اطلاعات داخل منابع صفات آنان است. • دسترسی به این صفات امن و نیازمند Authorization و Authentication است.

  22. Directory Services(ادامه) • تعریف namespace برای شبکه • در LDAP به (Distinguished Names)DN میگوییم.

  23. LDAP(Lightweight Directory Access Protocol) • یک استاندارد شبکه ای برای اصلاح و نظارت بر Directory Services • پروتکلی برای به روز کردن و جستجو کردن پوشه ها روی TCP/IP

  24. (ادامه)LDAP(Lightweight Directory Access Protocol) • اعمال: • Bind : تشخیص هویت و مشخص کردن ورژن پروتکل LDAP • Search: جستجو و یا بازیابی داده های پوشه ها • Compare: امتحان کردن اینکه یک ورودی نامگذاری شده مقدار موردنظر را دارد. • Add: اضافه کردن یک ورودی جدید • Delete: پاک کردن یک ورودی

  25. (ادامه)LDAP(Lightweight Directory Access Protocol) • ادامه اعمال: • Modify: اصلاح یک ورودی • Modify DN: پاک کردن یا تغییر نام دادن یک ورودی • Start TLS: محافظت کردن از ارتباط به کمک Transport Layer Security (TLS) • Abandon: رد کردن درخواست • Extended Operation: عملیاتی برای تعریف سایر عملیات • Unbind: بستن ارتباط، برعکس bind نیست.

  26. (ادامه)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: john@example.com objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top

  27. (ادامه)LDAP(Lightweight Directory Access Protocol) • C:/program files/putty/Putty.exe • Mousavi@ce.sharif.edu

  28. (ادامه)LDAP(Lightweight Directory Access Protocol) • Ldapp + 2 tabs

  29. (ادامه)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

  30. (ادامه)LDAP(Lightweight Directory Access Protocol) • -n : شبیه سازی دستورات • -x : تشخیص هویت ساده • LLL : فرمت خروجی مطابق با LDIF • -D : با کدام موجودیت Bind شود:'uid=mousavi,ou=people,dc=ce,dc=sharif,dc=edu‘-D • -W : وارد کردن رمز عبور • -b : پایه(Base) را مشخص میکند: • 'ou=groups,dc=ce,dc=sharif,dc=edu-b

  31. (ادامه)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'

  32. (ادامه)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

  33. (ادامه)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-2831367967-3069035597-2400 gidNumber: 1006 sambaPwdCanChange: 1122807645

  34. (ادامه)LDAP(Lightweight Directory Access Protocol) sambaPasswordHistory: 00000000000000000000000000000000000000000000000000000000 00000000 sambaPwdLastSet: 1122807645 sambaAcctFlags: [U ] sambaLMPassword: 5E8EEAF5F54658CCAAD3B435B51404EE sambaNTPassword: 40AA64594587A99EA91519B1A477F618 userPassword:: e2NyeXB0fSQxJHh1eGJ5aS42JFd5N2VxSlU4bEVvOWx4aHRHUWNNTjE= displayName: 81174903 - Mousavi.Vahid Reza uidNumber: 81174903

  35. (ادامه)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"

  36. (ادامه)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: modme@example.com - add: title title: Grand Poobah - add: jpegPhoto jpegPhoto:< file:///tmp/modme.jpeg - delete: description -

  37. (ادامه)LDAP(Lightweight Directory Access Protocol) • Ldapwhoami • مشخص کردن کسی که با آن Bind شده ایم. مشخصات من: ldapwhoami -x –D 'uid=mousavi,ou=people,dc=ce,dc=sharif,dc=edu' –W مشخصات به طور ناشناس: Ldapwhoami –x=Anonymous

  38. Kerberos Protocol • مبتنی بر 2 خدمتگزار: • Ticket-Granting Server (TGS) • Authentication Server (AS)

  39. Kerberos Protocol(ادامه) • شیوه عملکرد: • کاربر username و password را روی client وارد میکند. • Client یک الگو ریتم hash یک طرفه را روی password اجرا میکند و از این به بعد حاصل این عمل به عنوان secret key مربوط به client در نظر گرفته میشود. • Client یک درخواست (بدون ارسال password ) را بهAS (خدمتگزار تشخیص هویت) ارسال میکند.

  40. Kerberos Protocol(ادامه) • AS چک میکند که آیا Client در DB وجود دارد یا نه، اگر وجود داشت این 2 پیغام را میفرستد: • پیغام حاوی Client/TGS Session Key که کاربر بوسیله Secret Key رمزگذاری شده. • پیغام حاویTicket-Granting Ticket (حاوی Client ID، Network Address، Validity Period، Client/TGS Session Key) کاربرکه بوسیله Secret Key موجود در TGS رمزگذاری شده. • پس از دریافت این 2، client پیغام اول را برای بدست آوردن Client/TGS session ID رمزگشایی میکند که برای ارتباط با TGS به کار میرود. البته به دلیل نداشتن secret keyTGS ، client نمیتواند که پیغام 2 را رمزگشایی کند. حالا client میتواند که با TGS ارتباط بر قرار کند.

  41. Kerberos Protocol(ادامه) • وقتی که client یک سرویس را درخواست میکند 2 پیغام را به TGS میفرستد: • ترکیبی از Ticket-Granting Ticketدر پیغام دوم و شناسه درخواست مورد نظر. • تشخیص هویت دهنده (ترکیبی از client ID و شناسه های زمانی ) که بوسیله Client/TGS session Key رمزگذاری شده است. • پس از دریافت این 2 پیام TGS پیغام 3 را بوسیله client/TGS session key رمزگشایی میکند و این 2 پیغام را به client میفرستد: • Client-to-server ticket (متشکل از شناسه client، آدرس آن و validity period) راکه بوسیله secret key سرویس مورد نظر رمزگذاری شده . • Client/Server session key که بوسیله Client/TGS session key رمزگذاری شده است.

  42. Kerberos Protocol(ادامه) • پس از این client این امکان را دارد که خود را به Service Server (SS) بوسیله 2 پیغام معرفی کند: • Client-to-server ticket که بوسیله Secret Key مربوط به خدمت مورد نظر رمزگذاری شده است. • یک تشخیص هویت دهنده جدید که بوسیله client/server session key رمزگذاری شده است. • سرور ticket مورد نظر را با استفاده از secret key خودش رمزگشایی کرده و یک پیغام مبنی بر درست بودن آن ارسال میکند: • رمزشده time stamp موجود در تشخیص دهنده اخیر بعلاوه یک توسط client/server session key.

  43. Kerberos Protocol(ادامه) • Client پیغام را بوسیله کلید به اشتراک گذاشته شده اش به سرور رمزگشایی کرده و با توجه به time stamp خود آن را چک میکند و اگر درست بود به سرور اعتماد کرده و از آن درخواست میکند. • سرور به درخواست های client جواب میدهد.

  44. منابع • 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)

More Related