Lecture 22 – April 9, 2002 Subprotocols – static and dynamic.

Slides:



Advertisements
Similar presentations
AUTHENTICATION AND KEY DISTRIBUTION
Advertisements

Overview Network security involves protecting a host (or a group of hosts) connected to a network Many of the same problems as with stand-alone computer.
Chapter 14 – Authentication Applications
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.
Internet Security Protocols
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Kerberos Jean-Anne Fitzpatrick Jennifer English. What is Kerberos? Network authentication protocol Developed at MIT in the mid 1980s Available as open.
GrapevineCS-4513, D-Term Introduction to the Grapevine Distributed System CS-4513 Distributed Computing Systems.
Kerberos Authenticating Over an Insecure Network.
(Remote Access Security) AAA. 2 Authentication User named "flannery" dials into an access server that is configured with CHAP. The access server will.
S6C12 - AAA AAA Facts. AAA Defined Authentication, Authorization, and Accounting Central Management of AAA –Information in a single, centralized, secure.
Web Proxy Server. Proxy Server Introduction Returns status and error messages. Handles http CGI requests. –For more information about CGI please refer.
Configuring Routing and Remote Access(RRAS) and Wireless Networking
.Net Security and Performance -has security slowed down the application By Krishnan Ganesh Madras.
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 Securing a Microsoft ASP.NET Web Application.
Chapter 23 Internet Authentication Applications Kerberos Overview Initially developed at MIT Software utility available in both the public domain and.
Shambhu Upadhyaya Security –Upper Layer Authentication Shambhu Upadhyaya Wireless Network Security CSE 566 (Lecture 10)
Lecture 8 – Cookies & Sessions SFDV3011 – Advanced Web Development 1.
Chapter 21 Distributed System Security Copyright © 2008.
Kerberos Named after a mythological three-headed dog that guards the underworld of Hades, Kerberos is a network authentication protocol that was designed.
2/26/021 Pegasus Security Architecture Author: Nag Boranna Hewlett-Packard Company.
Chapter 10 Defining Classes. The Internal Structure of Classes and Objects Object – collection of data and operations, in which the data can be accessed.
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
1 Lecture 21 – April 4, 2002 Dynamic Loading Communication in Bond Message delivery Internal and external message format KQML Synchronous and asynchrounous.
DHCP Vrushali sonar. Outline DHCP DHCPv6 Comparison Security issues Summary.
1 SUBMITTED BY- PATEL KUMAR C.S.E(8 th - sem). SUBMITTED TO- Mr. DESHRAJ AHIRWAR.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
Whatsapp Security Ahmad Hijazi Systèmes de Télécommunications & Réseaux Informatiques (STRI) 20 April 2016.
1 Example security systems n Kerberos n Secure shell.
Port Based Network Access Control
COMPUTER NETWORKS CS610 Lecture-27 Hammad Khalid Khan.
Servlets.
Cryptography: an overview
Security Outline Encryption Algorithms Authentication Protocols
Computer Communication & Networks
Cryptography and Network Security
e-Health Platform End 2 End encryption
Object-Oriented Network Communication (OOMI)
Radius, LDAP, Radius used in Authenticating Users
PPP – Point to Point Protocol
Authentication Applications
Kerberos Kerberos is a network authentication protocol and it is designed to provide strong authentication for client server applications. It uses secret.
KMIP Client Registration Ideas for Discussion
Lecture 20 – April 2, 2002 Bond Objects.
Net 323: NETWORK Protocols
Continuing Chapter 11 Inheritance and Polymorphism
Using Groove Philip S. Vavalides Professor - IT/Networking Guilford Technical Community College Jamestown, NC.
Lecture 3 From process-oriented to agent-oriented programming.
Providing Secure Storage on the Internet
Message Digest Cryptographic checksum One-way function Relevance
Pooja programmer,cse department
Chapter 2: The Linux System Part 2
KMIP Entity Object and Client Registration
Kerberos.
Network Security – Kerberos
Kerberos Kerberos is an authentication protocol for trusted hosts on untrusted networks.
Building Java Programs
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
Kerberos Part of project Athena (MIT).
KERBEROS.
doc.: IEEE /454r0 Bob Beach Symbol Technologies
CDK: Chapter 7 TvS: Chapter 9
Chinese wall model in the internet Environment
(Authentication / Authorization)
Advanced Computer Networks
Chapter 7 Network Applications
Preventing Privilege Escalation
Windows Development Dynadata Copyright, 2014 © DynaData S.A. 1/29.
Presentation transcript:

Lecture 22 – April 9, 2002 Subprotocols – static and dynamic. Property access subprotocol Security models

Subprotocols Dialects – Conversations The set of Bond messages is partitioned into small closed subsets of commands necessary to perform a specific task. Each message identifies the subprotocol the message belongs to. Closed set of messages – commands in a subprotocol do not reference commands outside it. An object either understands all messages in a subprotocol or none of them.

Subprotocols Each Bond object has a property called SubprotocolsImplemented that lists the subprotocols implemented by the object. All Bond objects implement the Property Access subprotocol. All agents including implement the Agent Control subprotocol. Other suprotocols: Security, Monitoring, Scheduling, Data Staging, Persistent Storage, Registration

Static subprotocols A Bond object hierarchy inherits the subprotocols implemented by the objects above it in the object hierarchy. The messaging thread delivers an incoming message to the say() method of the object. If the say() method of the object does not understand the message it passes it to the say() methods of the immediate ancestor of the object.

Example of protocol inheritance The ancestors of the bondSchedulerAgent are bondScheduler, bondAgent, bondExecutable, bondObject. The bondSchedulerAgent is capable of understanding all messages in the Agent Control subprotocol. But it does not understand any message in the Monitoring subprotocol because none of its ancestors does.

Dynamic subprotocols; probes Some objects in a class may need to understand a subprotocol while others do not, e.g., some agents agents may need to monitor others. It would be wasteful to have all agents speak the monitoring subprotocol. Probes are specialized objects that can be attached to a regular object as dynamic properties The only function of a probe is to speak a certain subprotocol.

Dynamic subprotocols; probes The implementation of the bondObject guarantees that when an object does not understand a message, its dynamic properties list is searched for a probe that can handle the subprotocol and then deliver the message to the object. If no probe is found, the object replies sorry.

A bondScheduler agent extended with a monitoring probe

Probes Regular - activated after searching the list of the static subprotocols understood by an object, e.g., the monitoring probe. Preemptive - activated before searching the list, e.g., the security probe. Autoprobes – used to load dynamically a probe at run time.

public class bondAutoProbe extends bondProbe { Hashtable lookup; public bondAutoProbe(bondObject parent) { super(parent); lookup = new Hashtable(); initDefaults(); }

public void addAutoLoad(String name, String public void initDefaults() { addAutoLoad("Monitoring","bondMonitoringProbe"; addAutoLoad("AgentControl","bondAgentFactory"); } public void addAutoLoad(String name, String probename){ lookup.put(name, probename); public boolean implementsSubprotocol(String name) { if (lookup.get(name) != null) { return true; } return false;

// the say() function is used to receive a message public void say(bondMessage m, bondObject sender){ String name = (String)m.getParameter(":subprotocol"); String val = (String)lookup.get(name); bondProbe p = loader.loadProbe(val); p.parent = parent; parent.set("AutoProbe_"+name, p); p.say(m,sender); }

Message sending and delivery- say() public void say(bondMessage m, bondObject sender) { if (sender == null) { sender = m.getSender(); } String sp = m.getSubprotocol(); if( sp != null ){ if (sp.equals("PropertyAccess")) { sphPropertyAccess(m,sender); return; } } else { switch (m.performative) { case bondMessage.PF_SORRY: case bondMessage.PF_ERROR: case bondMessage.PF_DENY: return; default;} }

if (values != null) { bondAutoProbe ap = null; for (Enumeration e = values.elements(); e.hasMoreElements();) { bondObject o = (bondObject)e.nextElement(); if (bondProbe.class.isAssignableFrom(o.getClass()) && o.implementsSubprotocol(sp)) { if (o instanceof bondAutoProbe) ap (bondAutoProbe)o; } else { o.say(m,sender); return; } } if (ap != null) { ap.say(m,sender);}

Property access subprotocol A message consists of a performative, content, and parameters. The performative gives the broad meaning of the message. For example, ask-one is a question requesting an answer, achieve is an imperative request, tell is the response to a question. The content specifies the actual function requested. For example, to store and read a property set get

Examples If object X wants to obtain the value of the property w of object Y it sends the following message: (ask-one :sender X :receiver Y :subprotocol PropertyAccess :content get :property w :reply-with zzzz)

Example Assuming that property w of object Y has value 7 then object Y replies with the following message: (tell :sender Y :receiver X :subprotocol PropertyAccess :content value :value 7 :in-reply-to zzzz)

Security models Authentication Access Control PAP CHAP Kerberos Certificate-based Access Control

CHAP CHAP - Challenge Handshake Authentication Protocol The authentication agent, typically a network server, sends the client program a key to encrypt the username and the password.

Kerberos Kerberos - ticket-based authentication The authentication server assigns a unique key, called a ticket, to each user that logs on to the network. The ticket is then embedded in every message to identify the sender of the message.

Certificate-based This model is based on public key cryptography. Each user holds two different keys: public and private. The user can get a certificate that proves the binding between the user and its public key from a third party. The private key is used to generate evidence that can be sent with the certificate to the server side. The server uses the certificate and evidence to verify the identity of the user.