Authentication servers
This presentation is the property of its rightful owner.
Sponsored Links
1 / 44

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


  • 95 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.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


Authentication servers

مشکلات جدی

  • دسترسی های غیر مجاز

  • داده های بسیار مهم و حیاتی

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

  • تبادلات امن اطلاعات و مشکل استراق سمع اطلاعاتی!


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

  • پیچیدگی

  • تمام و کمال نیست.


Authentication servers

روشهای کلی تشخیص هویت

  • مسایل مربوط به آنچه که کاربر میباشد. (is)

    • اثر انگشت

    • DNA

    • Retinal (شناخت از طریق شبکیه چشم)

  • مسایل مربوط به آنچه که کاربر دارد. (has)

    • کارت شناسایی

    • نشان امنیتی یا نرم افزاری

    • موبایل

  • مسایل مربوط به آنچه که کاربر میداند. (knows)

    • کلمه(Word) یا عبارت (Phrase) عبور

    • شماره شناسایی شخصی (PIN)

  • ترکیب (Two Factor)


Authentication servers

روشهای تشخیص هویت (ادامه)

  • 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 protocol4

(ادامه)LDAP(Lightweight Directory Access Protocol)

  • C:/program files/putty/Putty.exe

  • [email protected]


Ldap lightweight directory access protocol5

(ادامه)LDAP(Lightweight Directory Access Protocol)

  • Ldapp + 2 tabs


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 جواب میدهد.


Authentication servers

منابع

  • 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)


  • Login