Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.

Slides:



Advertisements
Similar presentations
Mobile Agents Mouse House Creative Technologies Mike OBrien.
Advertisements

Operating-System Structures
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Technical Architectures
Slides for Grid Computing: Techniques and Applications by Barry Wilkinson, Chapman & Hall/CRC press, © Chapter 1, pp For educational use only.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 17 Introduction to the Application.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Multimedia Services based on Mobile Agent
SSH : The Secure Shell By Rachana Maheswari CS265 Spring 2003.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
The Architecture of Transaction Processing Systems
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Client Server Model and Software Design TCP/IP allows a programmer to establish communication between two application and to pass data back and forth.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
INTRODUCTION TO WEB DATABASE PROGRAMMING
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
DCE (distributed computing environment) DCE (distributed computing environment)
Crossing The Line: Distributed Computing Across Network and Filesystem Boundaries.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
Implementing Remote Procedure Calls Authored by Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presented by Lars Larsson.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 6 System Calls OS System.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
ABone Architecture and Operation ABCd — ABone Control Daemon Server for remote EE management On-demand EE initiation and termination Automatic EE restart.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
CSCE 201 Security Fall CSCE Farkas2 Electronic Mail Most heavily used network-based application – Over 210 billion per day Used across.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
D’Agents 1 Presented by Haiying Tan May, 2002 D’Agents: Security in a multiple-language, mobile-agent system Robert S. Gary, David Kotz, George Cybenko,
PGP & IP Security  Pretty Good Privacy – PGP Pretty Good Privacy  IP Security. IP Security.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
2.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition System Programs (p73) System programs provide a convenient environment.
File Transfer And Access (FTP, TFTP, NFS). Remote File Access, Transfer and Storage Networks For different goals variety of approaches to remote file.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
VPN. CONFIDENTIAL Agenda Introduction Types of VPN What are VPN Tokens Types of VPN Tokens RSA How tokens Work How does a user login to VPN using VPN.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1 Example security systems n Kerberos n Secure shell.
Chapter 27 Network Management Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013.
Introduction to Operating Systems Concepts
Architecture Review 10/11/2004
Chapter 2: System Structures
Operating System Structure
Working at a Small-to-Medium Business or ISP – Chapter 7
#01 Client/Server Computing
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Chapter 2: System Structures
Mobile Agents.
ELECTRONIC MAIL SECURITY
ELECTRONIC MAIL SECURITY
D’Agents: A Mobile-Agent System
Chapter 2: Operating-System Structures
Chapter 2: Operating-System Structures
Chapter 2: Operating-System Structures
#01 Client/Server Computing
Presentation transcript:

Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania

Presentation Overview Introduction Agent Tcl Architecture Tcl and Agent Tcl Security in Agent Tcl Applications Future Directions and Conclusion

Introduction An information agent is charged with the task of managing all or a portion of a user’s information space. The resources in this space are distributed across a network and can contain tremendous quantities of data.

What is a Mobile Agent ? A mobile agent is an executing program that can migrate from machine to machine in a heterogeneous network under its own control. Here an agent has migrated to interact with a search engine an will migrate again to bring the results back to its owner.

A Mobile Agent Can… Suspend execution at any point, transport its code and state to another machine, and resume execution on the new machine. An agent can access the resource locally and eliminate the network transfer of all intermediate data. Move the programmer away from the rigid client-server model to the more flexible peer-peer model. Programs communicate as peers Act as either clients or servers depending on their current needs

Introducing Agent Tcl Mobile agent system developed at Dartmouth College. Uses a flexible scripting language Tcl as its main language but provides a framework for incorporating addiotional languages. Provides migration and communication primitives that don’t require the programmer to explicitly capture state information and hides actual transport mechanisms

Agent Tcl continued… Uses Safe Tcl security model to protect a machine from a malicious agent and agents from each other. Allows agents To migrate from machine to machine or remain stationary and access resources from across the network. To create child agents to perform subtasks. To communicate with other agents on the local and remote machines. Intended as a general environment for distributed applications.

The Architecture 4 main goals –Reduce migration to a single instruction. –Provide transparent communication among agents. –Support multiple languages and transport mechanisms. –Provide effective security in the uncertain world of the Internet.

Architecture continued… Agents Tcl …..Java Server or engine TCP/IP …..Electronic mail Interpreter State Capture Server API Security

Levels in Architecture 4 Levels to architecture –API –Server –Interpreter –Agents

Server Level Server performs following tasks: –Status - keeps track of the agents on machines –Migration - accepts each incoming agent, authenticates identity of its owner, passes to appropriate interpreter –Communication- provides a hierarchical namespace for agents and allows agents to send messages to each other within this name space –Nonvolatile Store - provides access to a nonvolatile store so agents can back up their internal state as desired.

Interpreter Level One interpreter for each available language Four components to interpreter –interpreter –security module –state module captureState restoreState –API

Tcl and Agent Tcl Current implementation does not provide event messages or the nonvolatile store Has a single language (Tcl) Single transport mechanism (TCP/IP) Incoming agents are authenticated using PGP

Tcl High level scripting language Advantages as a mobile agent language Easy to learn Interpreted thus highly portable and easy to make secure Can be embedded in other applications Can be extended with user-defined commands Disadvantages of Tcl Interpreted - thus much slower than machine language No facilities for capturing the complete internal state of an executing script This was modified by adding to the Tcl core

Agent Tcl Two components –Server Runs at network site Implemented as two cooperating processes One watching the network Other maintaining a table of running agents –Modified version of Tcl 7.5 and a Tcl extension Provides explicit stack and state-capture routines Extension provides commands for an agent to migrate, communicate, and create child agents.

How does it work ? Agent simply a Tcl script running on top of a modified version of Tcl 7.5 –agent_begin - register with server and obtain a name in flat namespace –agent_submit - used to create a child agent on a particular machine –agent_jump - migrates an agent to a particular machine –agent_send, agent_receive - to send and receive messages

How does it work, continued … agent_meet - used by source agent to send a connection request to the destination agent agent_accept - used by destination agent to receive the connection request and send wither and acceptance or rejection. Acceptance includes sending a TCP/IP port number to which the source agent connects

Agent Tcl and Security Main Problems are to Protect the machine Protect other agents Protect the agent Protect a group of machines

Authentication Based on PGP (Pretty good Privacy) Encrypts a file using the IDEA private key algorithm and random private key Encrypts the private key using RSA and public key Sends encrypted key and file to recipient Initiated by the agent_begin command

Authorization and Enforcement Resources divided into 2 types –Indirect resources Only accessed through another agent –Builtin resources Directly accessible through language primitives Security maintained using Safe Tcl and A set of resource manager agents Safe Tcl creates trusted and untrusted interpreter

Applications Who Agent –Logs onto a Unix machine and executes Unix command who –Sends resulting list back to its parent Medical Agent –Retrieves distributed medical records Text-Retrieval Agent –Searches distributed collections of text documents

Conclusion Future work includes incorporating Java into the architecture Agent Tcl –Secure mobile agent system which gains flexibility and simplicity from use of hih-level scripting language Tcl