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

Slides:



Advertisements
Similar presentations
Access Control Chapter 3 Part 3 Pages 209 to 227.
Advertisements

Lightweight Directory Access Protocol (LDAP) By Raghavendra Aekka Professor Dr. Ravi Mukkamala.
LDAP Lightweight Directory Access Protocol LDAP.
Apr 22, 2003Mårten Trolin1 Agenda Course high-lights – Symmetric and asymmetric cryptography – Digital signatures and MACs – Certificates – Protocols Interactive.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Web services security I
Linux Security.
LDAP LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL PRESENTATION BY ALAKESH APURVA DHAN AND ASH.
CIT 470: Advanced Network and System Administration
Directory and File Transfer Services Chapter 7. Learning Objectives Explain benefits offered by centralized enterprise directory services such as LDAP.
INFORMATION FOR NETWORK OPERATION. CONTENT Directory service Standard X.500 LDAP.
LDAP Lightweight Directory Access Protocol LDAP.
LDAP Search Criteria Fall 2004 Rev. 2. LDAP Searches Can be performed on Single directory entry Contents of a single container Entire subtree Required.
Bynari, Inc. Sharing made easy Doug Finch Director of Technical Support Bynari, Inc.
Building a KDC. Kerberos Implementations RedHat 5 comes with MIT Kerberos 1.6 Ubuntu LTS comes with MIT Kerberos Admin through CLI, but from.
Introduce LDAP 张海鹏 SOA Mult - Little system User Manager System (share between other systems) How to store user Information How to access.
LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL Presented by Chaithra H.T.
SPARCS 10 이대근 (harry). Contents  Directory Service  What is LDAP?  Installation  Configuration  ldap-utils  User authentication with LDAP.
Secure Socket Layer (SSL)
Extending Active Directory Authentication and Account Management To Solaris 10 Systems A HOWTO guide for joining a Solaris 10 (8/07) host to a domain in.
Unit 1: Protection and Security for Grid Computing Part 2
LDAP: LDIF & DSML Fall 2004 Rev. 2. LDIF Light-weight Data Interchange Format RFC 2849 Common format to exchange data entry schema.
Directory and File transfer Services By Jothi. Two key resources Lightweight Directory Access Protocol (LDAP) File Transfer protocol Secure file transfer.
Active Directory. Computers in organizations Computers are linked together for communication and sharing of resources There is always a need to administer.
Implementing LDAP Client/Server System for Directory Service By Maochun Sun Project Advisor: Dr. Chung-E Wang Department of Computer Science California.
Nsure Idntity Manager & Oracle Internet Directory Michel Bluteau Field Corporate Strategist Nsure Identity Management Novell Québec.
LDAP Authentication Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
LDAP (Lightweight Directory Access Protocol ) Speaker: Chang-Yu Wu Adviser: Quincy Wu Date:2007/08/22.
Identity Management Technical Training LDAP and Directory Services Joachim Andres Guillaume Andru Renaud Métrich Sun Microsystems, Inc.
1 COP 4343 Unix System Administration Unit 13: LDAP.
CPS Computer Security Tutorial on Creating Certificates SSH Kerberos CPS 290Page 1.
Paulo Repa Lightweight Directory Access Protocol Paulo Repa
LDAP (Lightweight Directory Access Protocol)
Review on Active Directory. Aim Enable users to find network resources easily Central and easy administration of users and resources in a domain Improve.
CPS Computer Security Tutorial on Creating Certificates SSH Kerberos CPS 290Page 1.
COEN 351 Authentication. Authentication is based on What you know Passwords, Pins, Answers to questions, … What you have (Physical) keys, tokens, smart-card.
LDAP Lightweight Directory Access Protocol LDAP.
Csci5233 Computer Security1 Bishop: Chapter 14 Representing Identity.
IS 4506 Windows NTFS and IIS Security Features.  Overview Windows NTFS Server security Internet Information Server security features Securing communication.
SSH. 2 SSH – Secure Shell SSH is a cryptographic protocol – Implemented in software originally for remote login applications – One most popular software.
Lightweight Directory Access Protocol Objectives –This chapter will first show you how to install and use LDAP Contents –The LDAP Database Structure –Scenario.

Understand User Authentication LESSON 2.1A Security Fundamentals.
of Various FOSS Services for Educational Institutes
Cryptographic Standards and Protocols
Tutorial on Creating Certificates SSH Kerberos
Unix System Administration
CIT 470: Advanced Network and System Administration
Introduction to LDAP Frank A. Kuse.
Configuring LDAP-UX Module 13 H3065S F.00 [Course Title]
Secure Sockets Layer (SSL)
Radius, LDAP, Radius used in Authenticating Users
LDAP
Exam Review.
Kerberos Kerberos is a network authentication protocol and it is designed to provide strong authentication for client server applications. It uses secret.
Tutorial on Creating Certificates SSH Kerberos
Single Sign-on with Kerberos
SSH: SECURE LOGIN CONNECTIONS OVER THE INTERNET
CEG 2400 Fall 2012 Directory Services - LDAP
LDAP – Light Weight Directory Access Protocol
SECURITY IN THE LINUX OPERATING SYSTEM
CIT 470: Advanced Network and System Administration
UNIVERSITY INSTITUTE OF TECHNOLOGY
KERBEROS.
+ Attach service request
Designing IIS Security (IIS – Internet Information Service)
COEN 351 Authentication.
LDAP LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

Challenge Response Authentication (تشخیص هویت سوال و جواب) تکنیک های غیر (No Internet) Cryptographic Password Captcha (to tell computers humans apart Turing test public automated completely)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(ادامه)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 مبتنی بر 2 خدمتگزار: Ticket-Granting Server (TGS) Authentication Server (AS)

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

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 key TGS ، client نمیتواند که پیغام 2 را رمزگشایی کند. حالا client میتواند که با TGS ارتباط بر قرار کند.

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 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 Protocol(ادامه) Client پیغام را بوسیله کلید به اشتراک گذاشته شده اش به سرور رمزگشایی کرده و با توجه به time stamp خود آن را چک میکند و اگر درست بود به سرور اعتماد کرده و از آن درخواست میکند. سرور به درخواست های client جواب میدهد.

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