Copyright © Wondershare Software نام و نام ‌ خانوادگی علی عبدلی 88131056 استاد درس آقای دکتر نورحسینی.

Slides:



Advertisements
Similar presentations
Systems Architecture Use Case Diagram, System Overview, Class Diagram Design Patterns (weve used) Refactorings (weve used) Table of Contents.
Advertisements

Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
External User Security Model (EUSM) for SNMPv3 draft-kaushik-snmp-external-usm-00.txt November, 2004.
T O K ILL A S INGLETON F ACTORY M ETHOD P ATTERN Josh Mason 6/18/09.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
(Remote Access Security) AAA. 2 Authentication User named "flannery" dials into an access server that is configured with CHAP. The access server will.
WNT Client/Server SDK Tony Vaccaro CS699 Project Presentation.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
COS 420 DAY 24. Agenda Assignment 5 posted Chap Due May 4 Final exam will be take home and handed out May 4 and Due May 10 Student evaluations Latest.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Client Server Model and Software Design TCP/IP allows a programmer to establish communication between two application and to pass data back and forth.
Hands-On Microsoft Windows Server Connecting Through Terminal Services Terminal server – Enables clients to run services and software applications.
Pattern Abstract Factory
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. The Factory Method Design Pattern (1) –A creational design.
Chapter 10: Authentication Guide to Computer Network Security.
Singleton Christopher Chiaverini Software Design & Documentation September 18, 2003.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
Introduction to SQL Server 2000 Security Dave Watts CTO, Fig Leaf Software
Design patterns. What is a design pattern? Christopher Alexander: «The pattern describes a problem which again and again occurs in the work, as well as.
Kerberos: An Authentication Service for Open Network Systems Jennifer G. Steiner Clifford Neuman Jeffrey I. Schiller.
Abstract Factory Design Pattern making abstract things.
Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.
Class Relationships Lecture Oo10 Dependencies. References n Booch, et al, The Unified Modeling Language User Guide, Chapt 5 p.69, Chapt 9 130, Chapt 10.
QUALCOMM Incorporated 1 Protocol Options for BSN- BSMCS Controller Interface Jun Wang, Kirti Gupta 05/16/2005 Notice: Contributors grant a free, irrevocable.
The Factory Patterns SE-2811 Dr. Mark L. Hornick 1.
RMI Remote Method Invocation Distributed Object-based System and RPC Together 2-Jun-16.
 Remote Method Invocation  A true distributed computing application interface for Java, written to provide easy access to objects existing on remote.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
Define an interface for creating an object, but let subclasses decide which class to instantiate Factory Method Pattern.
The Factory Method Design Pattern Motivation: Class / Type separation – Abstract class serves as type definition and concrete class provides implementation.
Factory Method Explained. Intent  Define an interface for creating an object, but let subclasses decide which class to instantiate.  Factory Method.
Define an interface for creating an object, but let subclasses decide which class to instantiate.
Biometric Authentication in Distributed Computing Environments Vijai Gandikota Karthikeyan Mahadevan Bojan Cukic.
CS 590L – Distributed Component Architecture 02/20/2003Uttara Paingankar1 Design Patterns: Factory Method The factory method defines an interface for creating.
Proxy, Observer, Symbolic Links Rebecca Chernoff.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
Security Patterns for Web Services 02/03/05 Nelly A. Delessy.
The Factory Method Pattern (Creational) ©SoftMoore ConsultingSlide 1.
File Transfer And Access (FTP, TFTP, NFS). Remote File Access, Transfer and Storage Networks For different goals variety of approaches to remote file.
Singleton Pattern. Problem Want to ensure a single instance of a class, shared by all uses throughout a program Context Need to address initialization.
Distributed Systems1 Message Passing vs. Distributed Objects  The message-passing paradigm is a common model for distributed computing, in the sense that.
Remote Authenticator /Authorizer Instructor: 張顧耀 老師 Student: 曾冠樺.
CSC 480 Software Engineering Lab 6 – RMI Nov 8, 2002.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Lecture Material Design Patterns Visitor Client-Server Factory Singleton.
Generator Design Patterns: Singleton and Prototype
MQTT-255 Support alternate authenticaion mechanisms
Unit II-Chapter No. : 5- design Patterns
Sabri Kızanlık Ural Emekçi
Factory Patterns 1.
Server Concepts Dr. Charles W. Kann.
Distribution and components
Introduction to SQL Server 2000 Security
Remote Method Invocation
Ch > 28.4.
Multiuser Protection and the Mediator Pattern
Building Systems That Flexibly Control Downloaded Executable Content
Object Oriented Design Patterns - Creational Patterns
CS 350 – Software Design Singleton – Chapter 21
KERBEROS.
Chinese wall model in the internet Environment
IEEE MEDIA INDEPENDENT HANDOVER DCN: xx-00-sec
Message Passing Systems
Presentation transcript:

Copyright © Wondershare Software نام و نام ‌ خانوادگی علی عبدلی استاد درس آقای دکتر نورحسینی

GameTestExam

A server system as a repository of objects available to a variety of unrelated distributed clients Need to restrict access based on the identity of the requesting client The Authenticator pattern describes a general mechanism for providing identification and authentication to a server from a client.

The pattern operates by offering an authentication negotiation object which then provides the protected object only after authentication is successful

Intent – The Authenticator pattern performs authentication of a requesting process before deciding access to distributed objects.

The services of commonly used distributed object systems, generally allow any requestor with access to the registry to obtain any distributed object whose name is known. Some means to grant or deny access to individual requestors using a login-and-authenticate protocol is necessary for distributed object systems that service varied requests.

The clients may have different rights on the remote objects. Before deciding access, the requestor must be authenticated

The Authenticator pattern is useful – when identification and authentication is required for access to remote objects; – when a variety of authentication methods may be used; – when additional protocol negotiations (encryption selection, software version supported, etc.) is required prior to obtaining a remote object; and the underlying distributed system does not support these requirements.

The Authenticator pattern uses a distributed object accessible remotely that will identify and authenticate the requesting agent (“requestor”) and possibly perform some protocol negotiation. If and only if the authentication and negotiation is successful will the authenticating object create and make available another distributed object representing the object that the requestor really wants.

Concrete Authenticator Authenticate(s); Concrete ObjectFactory Create(); RemoteObject Authenticator Authenticate(s); Get(); ObjectFactory Create(); Create abstract class defines the interface used to authenticate a connection or negotiate session Parameters An application defines a concrete class implementing this interface to provide a specific authentication or negotiation protocol The resulting class should be instantiated and registered with the applicable naming service as a distributed object accessible throughout the network The authenticate method is used by the requestor after obtaining a reference to the Authenticator object When authentication is successful, the Authenticator class creates an instance of a distributed object that can now be accessed by the remote requestor using the get method. This abstract class contains only one method, create The implementation of this method creates the protected object It may also perform other actions specified by the Authenticator as a result of the negotiations.

Initialization. The Authenticator object must be registered with the distributed object system’s naming service for remote access. Connection When a remote object, a requestor, obtains a reference to the Authenticator object, it uses the authenticate method to pass a string to the Authenticator implementation. Creation When the Authenticator implementation recognizes a successful authentication, it creates the protected object in preparation for handing that to the requestor as a response to the get method.

An option for applications that require complex identification and authentication. The Authenticator pattern allows for the implementation of different authentication methods, thus allowing multiple clients to use their own authentication methods. An option for applications with complex protocol negotiation. An application may require some negotiation with the server before it can be granted access to an object.

Security. – The object factory class is hidden within the Authenticator implementation for security. The Authenticator implementation is a remote object accessible to the untrusted requestor client, the object factory is not a remote object and is therefore inaccessible to the client. Negotiation. – The design of the authentication and negotiation must take into account concurrent access from multiple clients (if, for example, the Authenticator is a Singleton), the possibility of dropping a network connection or timing out, incorrect or out of sequence responses, and other unintentional or intentional failures.

Parameterized object creation. – It may be necessary to parameterize the creation of an object by the object factory.

Interface of ObjectFactory

Authentication is just one aspect of security. It must be complemented with some authorization mechanism that determines role rights or a similar security mechanism. a pattern such as the Bodyguard could be used for that purpose. The Authenticator pattern is a variation on the Abstract Factory pattern in that it is basically a factory class. However, instead of an Abstract Factory implementation that statically determines what object to create, the Authenticator uses an iterative negotiation to determine if an object (and perhaps also what object) it should provide.

F. L. Brown, J. DiVietri, “The Authenticator Pattern”, Pattern Languages of Programs,1999.

Copyright © Wondershare Software