LYU9905 Security in Mobile Agent E- Commerce Systems Prepared by : Wong Ka Ming, Caris Wong Tsz Yeung, Ah Mole Supervisor : LYU Rung Tsong Michael.

Slides:



Advertisements
Similar presentations
Mobile Agents Mouse House Creative Technologies Mike OBrien.
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.
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
The Mobile Code Paradigm and Its Security Issues Anthony Chan and Michael Lyu September 27, 1999.
1 Fault-Tolerance Techniques for Mobile Agent Systems Prepared by: Wong Tsz Yeung Date: 11/5/2001.
By: Mr Hashem Alaidaros MIS 326 Lecture 6 Title: E-Business Security.
Mar 19, 2002Mårten Trolin1 This lecture On the assignment Certificates and key management SSL/TLS –Introduction –Phases –Commands.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Client/Server Computing Model of computing in which very powerful personal computers (clients) are connected in a network with one or more server computers.
Security Overview Hofstra University University College for Continuing Education - Advanced Java Programming Lecturer: Engin Yalt May 24, 2006.
Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09.
Introduction to PKI Seminar What is PKI? Robert Brentrup July 13, 2004.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
A Progressive Fault Detection and Service Recovery Mechanism in Mobile Agent Systems Wong Tsz Yeung Aug 26, 2002.
Cryptography Basic (cont)
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Chapter 5 Cryptography Protecting principals communication in systems.
Wireless Security In wireless networks. Security and Assurance - Goals Integrity Modified only in acceptable ways Modified only by authorized people Modified.
BY MUKTADIUR RAHMAN MAY 06, 2010 INTERODUCTION TO CRYPTOGRAPHY.
LYU9905 Security in Mobile Agent E-Commerce Systems Prepared by : Wong Ka Ming, Caris Wong Tsz Yeung, Ah Mole Supervisor :LYU Rung Tsong Michael.
Security Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to: –Describe the reasons for having system.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
Design, Implementation, and Experimentation on Mobile Agent Security for Electronic Commerce Applications Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong,
Security Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to: –Describe the reasons for having system.
EECC694 - Shaaban #1 lec #16 Spring Properties of Secure Network Communication Secrecy: Only the sender and intended receiver should be able.
LYU9905 Security in Mobile Agent E-Commerce Systems Prepared by : Wong Ka Ming, Caris Wong Tsz Yeung, Ah Mole Supervisor :LYU Rung Tsong Michael Date :
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
August 6, 2003 Security Systems for Distributed Models in Ptolemy II Rakesh Reddy Carnegie Mellon University Motivation.
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
A Progressive Fault Tolerant Mechanism in Mobile Agent Systems Michael R. Lyu and Tsz Yeung Wong July 27, 2003 SCI Conference Computer Science Department.
TrustPort Public Key Infrastructure. Keep It Secure Table of contents  Security of electronic communications  Using asymmetric cryptography.
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
1 Introduction to Security and Cryptology Enterprise Systems DT211 Denis Manley.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
SYSTEM ADMINISTRATION Chapter 13 Security Protocols.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
10/1/2015 9:38:06 AM1AIIS. OUTLINE Introduction Goals In Cryptography Secrete Key Cryptography Public Key Cryptograpgy Digital Signatures 2 10/1/2015.
Information Security Fundamentals Major Information Security Problems and Solutions Department of Computer Science Southern Illinois University Edwardsville.
Cryptography, Authentication and Digital Signatures
CYBORG Domain Independent Distributed Database Retrieval System Alok Khemka Kapil Assudani Kedar Fondekar Rahul Nabar.
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
1 Securing Data and Communication. 2 Module - Securing Data and Communication ♦ Overview Data and communication over public networks like Internet can.
MOBILE AGENTS What is a software agent ? Definition of an Agent (End-User point of view): An agent is a program that assists people and acts on their behalf.
Fundamentals of Proxying. Proxy Server Fundamentals  Proxy simply means acting on someone other’s behalf  A Proxy acts on behalf of the client or user.
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
1 SSL - Secure Sockets Layer The Internet Engineering Task Force (IETF) standard called Transport Layer Security (TLS) is based on SSL.
SEC835 Runtime authentication Secure session management Secure use of cryptomaterials.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
ECI – electronic Commerce Infrastructure “ An application to the Shares Market ” Demetris Zeinalipour ( Melinos Kyriacou
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
Implementing Secure IRC App with Elgamal By Hyungki Choi ID : Date :
4343 X2 – The Transport Layer Tanenbaum Ch.6.
9.2 SECURE CHANNELS JEJI RAMCHAND VEDULLAPALLI. Content Introduction Authentication Message Integrity and Confidentiality Secure Group Communications.
1 6 Chapter 6 Implementing Security for Electronic Commerce.
1 Example security systems n Kerberos n Secure shell.
Department of Computer Science Chapter 5 Introduction to Cryptography Semester 1.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
SSH: SECURE LOGIN CONNECTIONS OVER THE INTERNET
Mobile Agents M. L. Liu.
The Secure Sockets Layer (SSL) Protocol
Public-Key, Digital Signatures, Management, Security
Presentation transcript:

LYU9905 Security in Mobile Agent E- Commerce Systems Prepared by : Wong Ka Ming, Caris Wong Tsz Yeung, Ah Mole Supervisor : LYU Rung Tsong Michael

Outline (1)  Introduction –What is mobile agent?  Project Overview –Overview of SIAS – Shopping Information Agent System  System Details –Implementation of SIAS  Security Measure of SIAS –Security Attack and Defense Scenarios in SIAS

Outline (2)  Agent Encryption Technique –Diffie-Hellman Key Exchange  Fault Tolerance of SIAS –Monitor Program –Connection Availability Detection  Security Analysis of SIAS –Trade-off between security & performance in SIAS  Project Review & Conclusion  Q & A Session

Introduction (1)  What is mobile agent? –A mobile agent is a software which can autonomously do the job for us. –For e-commerce, the aim of mobile agent technology is to provide an autonomous buying and selling environment. –Unlike the traditional client/server paradigm, which require continuous network connection, mobile agent make use of the mobile code paradigm, which can closed the connection once the agent is launched.

Introduction (2)  What is mobile code paradigm? –Consider the applet –The code is downloaded from the web server to the client side and runs in the client side through the web browser –Such strategy is called code on demand, which means the code are moving across the machine passively when demanded –Mobile code paradigm is little bit different in which the code will actively move from one host to another

Introduction (3)  What is the advantage of mobile agent? –It can be able to communicate with other agents, so it is suitable for some system, such as Stock Broker System. –It is mobile and able to travel from one host to another, so it is very suitable for mobile computing, in which the machine cannot be always connected to the network. –It reduces the network load and it also overcome network latency. –It is autonomous, has control over its own actions, which means it can adapt to changes dynamically. –Thus, it is robust and fault-tolerant

Project Overview (1)  Our project is aimed on designing a web-based e- commerce system building on top of mobile agent technology.  In the last semester, we have developed the SIAS system  SIAS is a web-based e-commerce mobile agent system  It provides users with information of products for sale in an electronic marketplace  It is written in Java programming language and on top of the Concordia API, which is developed by Mitsubishi Electric Research Lab

Project Overview (2) What’s System does?

Implementation of SIAS (1)  4 main objects in implementation –Agent –Database Server –Launch Server –Client Program

Implementation of SIAS (2)  Agent –Retrieves products information from Database Server to clients  Launch Server –A gateway between Agent System and Client Program –Instantiates and launches Agent whenever receives client requests –Receives Agent whenever Agent travels back

Implementation of SIAS (3)  Database Server –Receives incoming Agent whenever an Agent arrives –Retrieves product information for the incoming Agent  Client Program –A Java Applet runs on Web Browser –Sends requests to Launch Server –A Multi-threaded program, can handle multiple requests simultaneously

Implementation of SIAS (4)  System Configuration –One Launch Server –26 Database Servers –Client Program uses Netscape Communicator 4.5 or above

Database Server 2 receives Agent and Agent retrieves product information Agent travels through the network until it arrives at Database Server N Implementation of SIAS (5) Database Server 1 Database Server 2 Database Server N Launch Server client request Launch Server create an Agent return result to client Agent goes to Database Server 1Launch Server sends out AgentLaunch Server initializes the AgentAgent arrives at Database Server 1 Agent retrieves product information from Database Server 1 Database Server 1 sends out Agent Agent retrieves product information from Database Server N Agent travels back to Launch Server Agent calculates the cheapest price combination

Attacks and Defenses on SIAS (1)  Scenario 1 - Modification of query products ID –The list of products specified by user is stored as plain text –Malicious host can easily spy out the data and change it –Later hosts will response to such changes, and report wrong information –This violates the integrity of queries

Attacks and Defenses on SIAS (2)  Scenario 2 - Modification of query quantities –Similar to scenario 1 –This leads the later host to report wrong information

Attacks and Defenses on SIAS (3)  Scenario 3 - Spying out and modification of query results –Agents carry query results in plain text –Malicious hosts can spy out and modify the results that the agent has collected from previous hosts –Such changes can favor the malicious hosts –For example, a malicious host raises all the prices reported from previous hosts

Attacks and Defenses on SIAS (4)  Scenario 4 - Modification of itinerary of agent –Itinerary of an agent is accessible to hosts –Malicious hosts can change the itinerary of an agent –Agents may go to hosts that are not specified in itinerary –Agents may skip hosts that are specified in itinerary

Attacks and Defenses on SIAS (5)  Hybrid Attacks –Can mix the above 4 attacks

Attacks and Defenses on SIAS (6)  Solution to Attack Scenario 1 & 2 –We introduce encryption on the whole list of product IDs as well as the list of product quantities {Product ID list} changed to: E A (Product ID list) {Product Quantity list} changed to: E A (Product Quantity list) Key: E x (Y) = CipherText of Plain Text Y encrypted by private key of entity X; D x (Y) = Plain Text of CipherText Y decrypted by public key of entity X; A = Agent;

Attacks and Defenses on SIAS (7)  Solution to Attack Scenario 3 –We introduce RSA encryption algorithm on the results obtained from the Database Server {Query result} changed to: E H (Query result)

New attribute for Agent: Encrypted_Itinerary Encrypted_Itinerary = E H1 (Next Host at Host H1) + E H2 (Next Host at Host H2) E Hn (Next Host at Host Hn); At Launch Server, we compare original itinerary to : D H1 (E H1 (Next Host at Host H1)) + D H2 (E H2 (Next Host at Host H2))+...+ D Hn (E Hn (Next Dost at Host Hn)) Attacks and Defenses on SIAS (8)  Solution to Attack Scenario 4 –The Database Server will sign the path of the agent to ensure the agent goes the right path

Attacks and Defenses on SIAS (9)  Introduce 2 objects to support security measures –RSA object ; and –Key Server object

Attacks and Defenses on SIAS (10)  RSA object is the core of Secure SIAS design  It helps to implement a public key infrastructure (PKI)  It can encrypt a character string to ciphertext, and decrypt a ciphertext to a character string

Attacks and Defenses on SIAS (11)  Key Server object acts as a Certificate Authority (CA) of our PKI  It accepts public keys from agents and hosts, and distribute them  It uses RMI in transporting public keys  Why not agent but RMI?? –Endless chain of security measures

Attacks and Defenses on SIAS (12) A Secure SIAS

Agent Encryption (1)  For Java, the bytecode can easily be decompiled by decompiler such as mocha and any decompiling software.  Therefore we should obscure a mobile agent’s code to make it hard to reverse engineer.  We use agent encryption to encrypt the mobile agent before it travels to one host to another host.  After it reaches the destination host, it will then be decrypted as a normal mobile agent and starts its normal execution.

Agent Encryption (2)  Because the agent is encrypted, the ability of traveling from host to host will then be done by an envelope agent.  An envelope agent is a normal agent will encapsulate the encrypted agent.  It travels to hosts on behalf of the buying agent. It aims to protect the buying agent during transmission.

Agent Encryption (3)  Therefore before envelope agent moves to the next host, it will encrypt the buying agent.  When it reaches the destination host, it will decrypt the buying agent and execution of the agent will then be performed as normal after decryption.

Agent Encryption (4)  We found that our original RSA algorithm cannot encrypt the agent object.  Thus, we have to try another method  we have used symmetric key approach  We make use of the Diffie-Hellman Key Exchange for exchanging the symmetric key between two hosts.

Agent Encryption (5)  Diffie-Hellman Key Exchange –It is a key exchange technique which enables two users to exchange a key securely without actually transmitting the key in the network.. –Therefore attackers cannot get the symmetric key by tapping the network. –It can then be used for subsequent encryption of message. –It depends for its effectiveness on the difficulty of computing discrete algorithm

Agent Encryption (6)  Diffie-Hellman Key Exchange (con’t) Under its scheme, there are two publicly known numbers: a prime number n and an integer g that is a primitive root of n  Suppose hosts A and B wish to exchange a key  Host A selects a random integer x < n and computes X = g x mod n.  Similarly, host B independently selects a random integer y < n and compute Y=g y modn.  Each side keeps x and y be private and makes X and Y available publicly to the other side.  Host A computes the key as K = Y x modn and host B computes the key as K = X y modn.  These two calculations produce the same result and act as the symmetric key

Agent Encryption (7)  Thus, the two sides have exchanged a secret key.  Furthermore, because x and y are private, an opponent only has the following ingredients to work with: g, n, X and Y.  Thus, the opponent is forced to take a discrete logarithm to determine the key.  For example, attacking the secret key of host B, the opponent must compute y using Y, g and n which is computationally difficult to do so.

Agent Encryption (8)  Using Diffie-Hellman Key Exchange technique, we can use the symmetric key to encrypt the agent.  We use the bitwise XOR to encrypt and decrypt the agent  When the agent wants to travel to next host, it first get the public key of the next host and generate the symmetric key using the private key of the host that it resides. Then it will encrypt itself using the symmetric key.  When the agent reaches the destination host, it will get the public key of the previous host and decrypt itself using the secret key the destination host.

Agent Encryption (9)  To implement agent encryption for our system SIAS, we have introduce three more objects to our system, namely the Encrypt Agent which is the envelope agent encapsulating the buying agent, the DHKey, and the DHKey Server.  The Encrypt Agent is an agent which contains the encrypted buying agent. It acts as an envelope agent and travel to hosts on behalf of the buying agent.  It aims to protect the buying agent during transmission.

Agent Encryption (10)  Why use Encrypt Agent to enclose buying agent? –Since the buying agent is encrypted during transmission, the agent would then be unable to travel to the next host. –It is because the sending host is unable to recognize the encrypted code of the agent and therefore the agent is not executable at all after encryption. –Encrypt Agent will act on behalf of the buying agent to travel around the hosts. It encapsulates the buying agent and move to the next host. –Hosts will recognize the Encrypt Agent and do the execution (i.e. encryption and decryption).

Agent Encryption (11)  The DHKey contains the private key and the pubic key for Diffie-Hellman Key Exchange.  It has two methods, namely encrypt and decrypt for agent encryption and decryption.  These two methods perform their operation by making use of two internal method – toByteArray and toObject.  The method toByteArray can change the object into byte array which can then be used for symmetric encryption algorithm.  The method toObject can change the byte array back to object which is the decrypted agent.

Agent Encryption (12)  DHKey Server is similar to the Key Server. Instead of storing RSA public keys, it stores the public keys of Diffie-Hellman Key Exchange Algorithm.  When the system start up, each host and server will send a public key to the DHKey Server. The keys are then store in it.

Agent Encryption (13)  When an Encrypt Agent reach a host, it needs the public key of the previous host for agent decryption. It will invoke the method of the DHKey Server for the public key.  Similarly, when an Encrypt Agent want to moved to the next host, it will invoke the same method to get the public key of the next host for agent encryption.  The connection between the Database Servers or Launch Server and the DHKey Server is done by Java RMI.

Agent Encryption (14)

Reliability of SIAS (1)  Our system is highly dependent on Concordia API  Faults occur in Concordia API cannot be avoided  In Concordia architecture, an agent will lose if anyone of the destinations of agent does not exist  This introduces data loss  To prevent data loss, fault-tolerance design is needed

Reliability of SIAS (2)  Whenever a component fails, we restart it  Component restart strategy: –Database Server fails restart the failed host –Launch Server fails A whole system recovery Launch Server loses backups for security measures –Key / DHKey Server fails A whole system recovery Public keys lost due to failures cannot be recovered

Reliability of SIAS (3)  We design two strategies in our fault- tolerance design –Logging System –Connection Availability Detection, CAD

Reliability of SIAS (4)  Logging System –Maintain Log File of each component –Each line of a log file contains state as well as message of the component [initialization] Listening to Incoming Agents [handle agent] Agent arrived [handle agent] Error in connecting to SQL Server State Error Message

Reliability of SIAS (5)  With Logging System, we can successfully restart failed components  However, we cannot prevent data loss  Agent can still reach failed components  We need additional features to prevent data loss

Reliability of SIAS (6)  Connectivity Availability Detection, CAD –A mechanism analogous to PING

Reliability of SIAS (7)  Weakness in our design –Data loss if failures occur at Launch Server, Key Server or DHKey Server because of a whole system recovery –Data loss if the component that the agent resides fails

Reliability of SIAS (8)  Implementation I –We introduce a Monitor Program to our system –The Monitor Program is responsible for Logging System as well as CAD

server Reliability of SIAS (9) Monitor Program server If a server fails ping server ping It does not response to ping signal server restart signal server Server restarts ping A forever loop is used to check the servers

Reliability in SIAS (10)  A Ping signal is a combination of two kinds of inspections –A Log File inspection It looks for Error Messages in a log file –A RMI binding detection It looks for a RMI address binding Each component has to bind a RMI address Failure will unbind a RMI address

Reliability in SIAS (11)  Implementation II –Modify Launch Server and Database Servers –Embed CAD features in Launch Server and Database Servers

Reliability in SIAS (12) Server AServer B Agent arrives at Server A RMI binding check on Server B Server B responses Agent travels to Server BAgent arrives at Server BIf Server B is down RMI binding check on Server B Agent sends checking signals to Server B until it replies restart signal Restart signal sent by Monitor Program Server B responses Agent travels to Server BAgent arrives at Server B This can guarantee that agent can travel to its destination without any data loss

Security Analysis on SIAS (1)  The security of the additional measures lies mainly on the introduction of a Key Server that facilitates the use of public key cryptography.  Assuming the Key Server as well as communication channel with the Key Server are secure enough, and the keys are managed properly, the prevention of modification of the signed product and quantity lists of an agent by a malicious host is supported by the security of the RSA encryption algorithm.

Security Analysis on SIAS (2)  Time complexity for breaking the RSA cryptosystem depends on the length of the key in number of bits.  The longer the key is, the more secure the system would be.  In our implementation, we have chosen a key length of 128 bits.  This would be sufficiently secure for our security purpose.

Security Analysis on SIAS (3)  We have tested the times for SIAS to launch a single agent before and after implementation of the security mechanisms.  To evaluate the performance overhead introduced, we have tested the times for SIAS to launch a single agent with and without security measures.  Round trip times (RTTs) required for an agent to travel around an electronic market, consisting of 26 hosts, are measured under different situations.  We will measure the performance overhead of the security measure, such as encrypting the agent, see the trade-off between performance and security for SIAS.

Security Analysis on SIAS (4)  RTT for an agent to travel in SIAS changes more or less linearly over the number of hosts.  This is due to the additional time to travel an additional host, and the overhead for each additional host is more or less the same.  RTT is also linearly increasing as the number of products of the query increases because of the increases in number of database transactions and time to transport an agent.

Security Analysis on SIAS (5)  When security is enforced, the RTT increases. For the maximum number of hosts of 26, and maximum size of query of 90 products, the RTT increases by 100 seconds, from 230 sec to 350 sec. This can be explained by the extensive use of the RSA algorithm to encrypt and decrypt each item.  We see a trade-off between security and performance in SIAS.

Conclusion (1)  We studied the technology of autonomous mobile agents and discussed the problems of malicious hosts in a mobile agent system.  We implemented SIAS as a sample application of mobile agents, which reduces communication cost and allows delegation of tasks.  We found that security problems of malicious hosts in SIAS is a main concern.  Therefore, we had developed a primitive approach to protect the agents such as data encryption and agent encryption.

Conclusion (2)  We analyzed the security of our approach, and believe it is strong enough for domestic purpose.  We had measured the performance overhead of the security measures and we saw a trade-off between performance and security for SIAS. We learnt that it takes time for a malicious host to attack an agent.  Therefore we can set a time limit for detecting the malicious host attacking the agent. If the agent returns back in a time longer than the time limit, it is probably that the agent was attacked by the malicious host.

Conclusion (3)  We analyzed the reliability of SIAS and implement a fault- tolerance design of SIAS.  We believe that mobile agent technology will be a new trend in electronic commerce technology.

Thank You!