authentication servers
Download
Skip this Video
Download Presentation
Authentication Servers سرورهای تشخیص هویت

Loading in 2 Seconds...

play fullscreen
1 / 44

Authentication Servers سرورهای تشخیص هویت - PowerPoint PPT Presentation


  • 138 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Authentication Servers سرورهای تشخیص هویت' - blake


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
authentication servers

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

استاد ابطحی

سید وحید رضا موسوی

81174903

slide2
مشکلات جدی
  • دسترسی های غیر مجاز
  • داده های بسیار مهم و حیاتی
  • نیاز به کنترل ورود و خروج پروسس های با قابلیت ایجاد تغییر در منابع سیستم های دارای اهمیت و نیز مشخص کردن میزان دسترسی آنها
  • تبادلات امن اطلاعات و مشکل استراق سمع اطلاعاتی!
authentication
تشخیص هویتAuthentication
  • ریشه لغت (Authentic) صحیح، معتبر، درست
  • مفهوم در شاخه امنیت کامپیوتری (Computer Security)
  • اعتمادسازی در وب (Web Trust)
  • Authorization (شبیه و در عین حال متفاوت)
authentication servers1
خدمتگزاران تشخیص دهنده هویت(Authentication Servers)
  • خدمتگزارانی هستند که از سیستمهای تشخیص هویت برای کاربران و سایر سیستم ها استفاده میکنند.
  • کاربران و سایر خدمتگزاران توسط این خدمتگزار شناسایی شده و بلیط های عبور رمزشده دریافت میکنند.
  • این بلیطها بعدا دوباره میان آنها برای شناسایی هویت ردوبدل میشود.
  • تشخیص هویت پایه اصلی سه مفهوم کلیدی زیر میباشد:
    • Authorization (اجازه دادن)
    • Privacy (خلوت و تنهایی)
    • Non-Repudiation (انکارناپذیری)
authentication servers2
خدمتگزاران تشخیص دهنده هویت (ادامه)(Authentication Servers)
  • الگوریتم های اساسی:
    • الگوریتم های تشخیص رمز عبور
    • Kerberos
    • الگوریتم های رمزگذاری با کلید عمومی
authorization
اجازه دادنAuthorization
  • تعریف (قسمتی از OS که از منابع رایانه محافظت میکند)
  • منابع رایانه ای (داده، برنامه ها، افراد و کارایی ها)
  • رابطه با Authentication
  • Guest or Anonymous
  • (Access Control List) Admin Authorized Users
  • سیستم های توزیع شده و بدون محدودیت (key & tickets)
  • مثال: Access Control
    • ATM
    • استفاده از سیستم بانکی اینترنتی
    • کنترل از راه دور یک رایانه
access control
کنترل دسترسی(Access Control)
  • کاربرد محدودیت ورود به یک جا
  • کنترل ورودی و خروجی
  • AC درامنیت شبکه شامل:
    • تشخیص هویت
    • تشخیص اجازه دسترسی
    • بازرسی سلسله مراتب دسترسی به یک رکورد (Audit Trail)
    • ابزار فیزیکی
    • Encryption, Digital Signatures,…
  • پیاده سازی سیستم کنترل اجازه دسترسی
    • Mandatory Access Control
    • Discretionary Access Control
    • کنترل دسترسی نقش مدار (Role-Based Access Control)
    • لیست کنترل دسترسی
    • XACML (eXtensible Access Control Markup Language)
mac dac
MAC & DAC
  • MAC
    • ابزار سیستم
    • عدم امکان کنترل کامل اشیاء ساخته شده
    • محدودیتی مساوی یا بیشتر از محدودیت Admin
    • در سیستم های امنیتی چند لایه از تلفیق MAC با FLASK به عنوان یک معماری کارا استفاده میشود.
    • Flux Advanced Security kernel (Flask)
      • یک معماری امنیتی برای سیستم عامل که دسترسی کارا و امن را به منابع سیستم با رعایت قوانین موجود سبب میشود.
      • مثال:
      • NSA\'s Security-Enhanced Linux (SELinux)
      • TrustedBSD
  • DAC
    • سیستم فایل
    • امکان دادن دسترسی نامحدود به منابع ساخته شده
    • ریسک دسترسی بدون اجازه
role based access control
کنترل دسترسی نقش مدار(Role-Based Access Control)
  • RBAC متفاوت با MAC و DAC
  • ایجاد نقش ها و تخصیص آنها
    • U = کاربر = یک شخص یا یک مامور(Agent) اتوماتیک
    • R = نقش = کارکرد / عبارتی که سطح اجازه را مشخص میکند.
    • P = اجازه ها = تایید یک حالت دسترسی به یک منبع.
    • S = Session = یک کلیت ، حاوی U، R، و P.
    • UA = مجموعه ای از کارکرد ها و وظایف کاربران
    • PA = مجموعه ای از اجازه های دسترسی
    • RH = سلسله مراتب نقش ها
    • یک کاربر میتواند چندین نقش داشته باشد.
    • یک نقش میتواند متعلق به چندین کاربر باشد.
    • یک نقش میتواند اجازه های متعددی داشته باشد.
    • یک اجازه خاص میتواند به چندین نقش داده شود.
role based access control1
کنترل دسترسی نقش مدار(ادامه)(Role-Based Access Control)
  • PA=PxR (زیرمجموعه یا تساوی)
  • UA=UxR (زیرمجموعه یا تساوی)
  • RH (x>yیعنی x تمام اجازه های y را به ارث برده است)
  • یک کاربر :
    • چند Session
    • چندین مدل اجازه و نقش
access control list
لیست کنترل دسترسی(Access Control List)
  • ACL (یک ساختار داده ای مثل یک جدول)
  • (ACE) Access Control Entries
  • ACL در OS های مختلف
    • OpenBSD/NetBSD:systrace
    • : SolarisTrustedSolaris
    • ACL : MAC OS X & Linux
  • پیچیدگی
  • تمام و کمال نیست.
slide12
روشهای کلی تشخیص هویت
  • مسایل مربوط به آنچه که کاربر میباشد. (is)
    • اثر انگشت
    • DNA
    • Retinal (شناخت از طریق شبکیه چشم)
  • مسایل مربوط به آنچه که کاربر دارد. (has)
    • کارت شناسایی
    • نشان امنیتی یا نرم افزاری
    • موبایل
  • مسایل مربوط به آنچه که کاربر میداند. (knows)
    • کلمه(Word) یا عبارت (Phrase) عبور
    • شماره شناسایی شخصی (PIN)
  • ترکیب (Two Factor)
slide13
روشهای تشخیص هویت (ادامه)
  • Challenge Response Authentication
    • روشهای پنهان (Cryptographic)
      • Public Key Cryptography
        • امضای دیجیتال
        • Public-Key Encryption
challenge response authentication
Challenge Response Authentication(تشخیص هویت سوال و جواب)
  • تکنیک های غیر (No Internet) Cryptographic
    • Password
    • Captcha(to tell computers humans apartTuring testpublicautomatedcompletely)
challenge response authentication1
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
challenge response authentication2
Challenge Response Authentication(ادامه) (تشخیص هویت سوال و جواب)
  • چند مثال دیگر از CRA :
    • Zero-Knowledge Password Proof (ZKPP) (اثبات دانستن کلمه عبور بدون اشاره به آن، در مواقعی که اثبات کننده نمیخواهد طرف دوم و یا هیچ کس دیگری از محتوی کلمه عبور مطلع شود.)
    • Key Agreement Systems
      • SSH (Secure Shell) based on RSA
        • امکان برقراری ارتباطات رمزگذاری شده در محیط های ناامن میان Host های ناامن
digital signiture
امضای دیجیتال(Digital Signiture)
  • نمود دیجیتالی
  • عدم ایجاد اطمینان قطعی
  • مبتنی بر کلید عمومی
  • 3 الگوریتم
    • Key Generation
    • Signing
    • Verification
  • امضای دیجیتال محصول الگوریتم Signing
digital signiture1
امضای دیجیتال (ادامه)(Digital Signiture)
  • علی به حمید نامه ای ارسال میکند ، او بوسیله کلید خصوصی خود و نیز الگوریتم امضا ، امضای خود را که به صورت یک عدد دودویی است به همراه نامه برای حمید ارسال میکند.
  • حمید نامه را گرفته و به کمک کلید عمومی و الگوریتم تشخیص خود ازصحت امضای علی مطمئن میشود.
  • علی برای کوتاهتر شدن پیغام و نیز آسانتر شدن پروسه ، بوسیله یک Hashing Algorithm پیغام خود را رمزگذاری میکند.
directory servers
Directory Servers
  • خدمتگزارانی که Directory Services را ارائه میدهند.
directory services
Directory Services
  • نرم افزار یا مجموعه ای از نرم افزارها
  • ذخیره کننده داده ها
    • شبکه های کامیوتری
    • کاربران
    • به اشتراک گذاشته شده ها
  • مدیریت دسترسی به اشتراک گذاشته شده ها
  • واسط میان کاربران و به اشتراک گذارده شده ها
  • امکان شناسایی هویت منابع و ارتباط آنها و مدیریت آنه به صورتی امن
directory services1
Directory Services(ادامه)
  • امکان دسترسی توزیع شده به بسیاری از اشیاء و داده های ذخیره شده با ویژگی ها و صفات مختلف
  • تبادل این اطلاعات روی سایر خدمتگذاران ارائه دهنده Directory Services
  • نگاشتن آدرس شبکه ای منابع به مکان فیزیکی و اسم آنان
  • منابع شیء هستند.
  • اطلاعات داخل منابع صفات آنان است.
  • دسترسی به این صفات امن و نیازمند Authorization و Authentication است.
directory services2
Directory Services(ادامه)
  • تعریف namespace برای شبکه
  • در LDAP به (Distinguished Names)DN میگوییم.
ldap lightweight directory access protocol
LDAP(Lightweight Directory Access Protocol)
  • یک استاندارد شبکه ای برای اصلاح و نظارت بر Directory Services
  • پروتکلی برای به روز کردن و جستجو کردن پوشه ها روی TCP/IP
ldap lightweight directory access protocol1
(ادامه)LDAP(Lightweight Directory Access Protocol)
  • اعمال:
    • Bind : تشخیص هویت و مشخص کردن ورژن پروتکل LDAP
    • Search: جستجو و یا بازیابی داده های پوشه ها
    • Compare: امتحان کردن اینکه یک ورودی نامگذاری شده مقدار موردنظر را دارد.
    • Add: اضافه کردن یک ورودی جدید
    • Delete: پاک کردن یک ورودی
ldap lightweight directory access protocol2
(ادامه)LDAP(Lightweight Directory Access Protocol)
  • ادامه اعمال:
    • Modify: اصلاح یک ورودی
    • Modify DN: پاک کردن یا تغییر نام دادن یک ورودی
    • Start TLS: محافظت کردن از ارتباط به کمک Transport Layer Security (TLS)
    • Abandon: رد کردن درخواست
    • Extended Operation: عملیاتی برای تعریف سایر عملیات
    • Unbind: بستن ارتباط، برعکس bind نیست.
ldap lightweight directory access protocol3
(ادامه)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 protocol6
(ادامه)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 protocol7
(ادامه)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
ldap lightweight directory access protocol8
(ادامه)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 protocol9
(ادامه)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 protocol10
(ادامه)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

ldap lightweight directory access protocol11
(ادامه)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

ldap lightweight directory access protocol12
(ادامه)LDAP(Lightweight Directory Access Protocol)

[[email protected] ~]$ ldapadd -x -n -W -f add.ldif

Enter LDAP Password: *******

[email protected] ~]$

!adding new entry "uid=mousavi,ou=People,dc=ce,dc=sharif,dc=edu"

ldap lightweight directory access protocol13
(ادامه)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 protocol14
(ادامه)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
Kerberos Protocol
  • مبتنی بر 2 خدمتگزار:
    • Ticket-Granting Server (TGS)
    • Authentication Server (AS)
kerberos protocol1
Kerberos Protocol(ادامه)
  • شیوه عملکرد:
    • کاربر username و password را روی client وارد میکند.
    • Client یک الگو ریتم hash یک طرفه را روی password اجرا میکند و از این به بعد حاصل این عمل به عنوان secret key مربوط به client در نظر گرفته میشود.
    • Client یک درخواست (بدون ارسال password ) را بهAS (خدمتگزار تشخیص هویت) ارسال میکند.
kerberos protocol2
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 ارتباط بر قرار کند.
kerberos protocol3
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 رمزگذاری شده است.
kerberos protocol4
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.
kerberos protocol5
Kerberos Protocol(ادامه)
  • Client پیغام را بوسیله کلید به اشتراک گذاشته شده اش به سرور رمزگشایی کرده و با توجه به time stamp خود آن را چک میکند و اگر درست بود به سرور اعتماد کرده و از آن درخواست میکند.
  • سرور به درخواست های client جواب میدهد.
slide44
منابع
  • 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)
ad