+ All Categories
Home > Documents > Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

Date post: 04-Jan-2016
Category:
Upload: timothy-brock
View: 34 times
Download: 2 times
Share this document with a friend
Description:
This work was supported supported by a grant from the Research Grant Council of the Hong Kong Special Administrative Region (Project No. CUHK4432/99E). Design, Implementation, and Experimentation on Mobile Agent Security for Electronic Commerce Applications. - PowerPoint PPT Presentation
Popular Tags:
10
Design, Implementation, and Experimentation on Mobile Agent Security for Electronic Commerce Applications Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu Department of Computer Science and Engineering The Chinese University of Hong Kong This work was supported supported by a grant from the Research Grant Council of the Hong Kong Special Administrative Region (Project No. CUHK4432/99E).
Transcript
Page 1: Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

Design, Implementation, and Experimentation on Mobile Agent Security for Electronic Commerce ApplicationsAnthony H. W. Chan, Caris K. M. Wong,

T. Y. Wong, and Michael R. Lyu

Department of Computer Science and Engineering

The Chinese University of Hong Kong

This work was supported supported by a grant from the Research Grant Council of the Hong Kong Special Administrative Region (Project No. CUHK4432/99E).

This work was supported supported by a grant from the Research Grant Council of the Hong Kong Special Administrative Region (Project No. CUHK4432/99E).

Page 2: Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

Introduction

Mobile agent technology is an evolving technique for parallel and distributed applications, yet security is the problem.

In this work, a Shopping Information Agent System (SIAS) is built, using the Concordia mobile agent API, and the security issues of SIAS are studied. Seven Good Reasons for Mobile Agents:

(Communications of the ACM, p.88-89, Mar 1999)They reduce the network load;They overcome network latency;They encapsulate protocols;They execute asynchronously and autonomously;They adapt dynamically;They are naturally heterogeneous; andThey are robust and fault-tolerant.

Seven Good Reasons for Mobile Agents: (Communications of the ACM, p.88-89, Mar 1999)They reduce the network load;They overcome network latency;They encapsulate protocols;They execute asynchronously and autonomously;They adapt dynamically;They are naturally heterogeneous; andThey are robust and fault-tolerant.

Page 3: Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

Objects in SIAS

The Agent :

attributes: - List of product IDs To store the product IDs inputted by users - List of product quantities To store the quantities of the corresponding products - List of product entries To store the product entries retrieved from the Data Base Server.

methods: - doNothing When arrives at a host, the agent do nothing and then leaves. - queryServer When this method is invoked by the Data Base Server, the agent queries the Data Base. - reportCheapest When this method is invoked by the Launch Server, the agent calculates the cheapest purchasing combination and reports the result as a string.

Agent

The Launch Server :

attributes: - HashTable info It is used to map agent's ID to a string. The string is a report generated by the agent.

methods: - createAgent Creates an agent with attributes initialized according to users' input - handleAgent When an agent arrives at the Launch Server, the server will invoke the "reportCheapest" of the incoming agent and stores the result string to the hashtable for the user to query.

Launch Server

The Data Base Server :

methods: - handleAgent When an agent arrives at the Data Base Server, the server will invoke a series of methods which may be methods of the incoming agent or not.

Database Server

Page 4: Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

Control Flow in SIAS

Host One(Concordia

AgentTransporter)

Host Two(Concordia

AgentTransporter)

Host N(Concordia

AgentTransporter)

Launch Server(RMI Server)

Client Program(Java Applet)

Step (1)

Step (4)

Step (6)

Step (11)

Launch Serverexecutes Steps (2) & (3)

DataBase Serverexecutes Step(5)

Step (8)

Step (7) Step (9)

Step (10)

Explanation:1. Client program launches a request to the Launch Server object upon user input using Java Remote Method Invocation (RMI);2. Launch Server creates an Agent object;3. Launch Server initializes the agent with user-specified products and quantities, and the itinerary of agent;4. Launch Server sends the agent to the network;5. Database Server on Host One retrieves the required information for the incoming agent;6. Agent goes to the next destination;7. Database Server on Host Two repeats Step (5);8. Agent goes to other hosts in the itinerary;9. Database Server on each host repeats Step (5);10. Launch Server receives the returning agent and calculates the cheapest purchasing combination;11. Launch Server reports the cheapest purchasing combination to client program by Java RMI.

Page 5: Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

The GUI of SIASDescription:1. Item List: this list contains a list of all products available in the market. User can choose the products they want from it.2. Buying List: this list contains a list of products that user has chosen.3. Description Text: this text area displays a description of the product, such as the weight and ingredients.4. Photo Displaying Area: this area displays a photo of the selected product.5. Add Item Button: this button is used to add a selected item from Item List to Buying List. Users can also add a selected item to the Buying List by double clicking on the Item List.6. Remove Item Button: this button is used to remove a selected item from the Buying List.

7. View Price Button: this button is used to invoke the Launch Server, create an agent, and query the price s of products listed on the Buying List.

8. Check Box Group: this group of check boxes allow users to select the stores that users want the agent to visit and query.

Page 6: Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

SIAS Agent Returning ResultsDescription:1. Supermarket column: this column displays, for each product, the store that is selling at the lowest price.2. Name column: this column displays the name of each product.3. Quantity column: this column displays the quantity of each product that users have specified.4. Price column: this column displays the price of each product at the quantity specified by user.5. Close Window Button: this button is used to close the report window.

Page 7: Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

Security Problems of SIAS

Primary interests: agent security against malicious hosts

Some ways in which a malicious host can attack an SIAS agent:– modifying the product list of an agent– modifying the quantity list of an agent– modifying the query result of an agent– modifying the itinerary of an agent

Page 8: Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

Security Enhancements

{Product ID list} changed to:{Product ID list}sigA({Product ID list})

{Product Quantity list} changed to:{Product Quantity list}sigA({Product Quantity list})

{Query result} changed to:DA({Query result}sigH({Query result}))

New attribute (chain of encrypted itineraries) [implementation in progress]:EHN(EH(N-1)(…EH2(EH1(Itinerary at Host 1) Itinerary at Host 2) … Itinerary at Host N-1) Itinerary at Host N)

Key

A: agent;H: host;H(k): k-th host visited by the agent;sigX(Y): digital signature of Y using the private key of X;EX(Y): the ciphertext of Y encrypted by the private key of X;DX(Y): ciphertext of Y encrypted by the public key of X.

Page 9: Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

Control Flow Updated

Host One(Concordia

AgentTransporter)

Host Two(Concordia

AgentTransporter)

Host N(Concordia

AgentTransporter)

Launch Server(RMI Server)

KeyServer(RMI Server)

Client Program(Java Applet)

Step (1)

Step (6)

Step(14)

Step (15)

Step (9) Step (11)

Launch Serverexecutes Steps (2),

(3), (4) & (5)

DataBase Serverexecutes Steps(7) & (8)

Step (13)

Step (10) Step (12)

Explanation (changes in italic):

1. Client program launches a request to the Launch Server object upon user input using Java Remote Method Invocation (RMI);2. Launch Server creates an Agent object;3. Launch Server initializes the agent with user-specified products and quantities, and the itinerary of agent;4. Launch Server generates a key pair for agent;5. Launch Server signs the product and quantity lists for agents and registers the public key of agent to Key Server;6. Launch Server sends the agent to the network;7. Database Server on Host One retrieves public key of agent from Key Server, and verify the signatures of product and quantity lists of agents8. Database Server retrieves the required information for the incoming agent, signs the results using its own private key, and encrypt the results using the public key of agent, and also starts the chain of encrypted itineraries for agent;9. Agent goes to the next destination;10. Database Server on Host Two repeats Steps (7) & (8);11. Agent goes to other hosts in the itinerary;12. Database Server on each host repeats Steps (7) & (8);13. Launch Server receives the returning agent and calculates the cheapest purchasing combination;14. Launch Server decrypts the query results, and verifies the signatures of the query results. It also detects change of agent itinerary by decrypting the chain of encrypted itineraries, and finally reports the cheapest purchasing combination to client program.15. Launch Server deletes the public key entry of the finished agent from the key server.

Page 10: Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong, and Michael R. Lyu

Evaluation

Rount Trip Times of an agent, with different query sizes, against different numbers of hosts in SIAS.

0

50000

100000

150000

200000

250000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Number of hostsTim

e / m

s

90 products80 products70 products60 products50 products40 products30 products20 products10 products

0

50000

100000

150000

200000

250000

300000

350000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Number of hosts

Tim

e / m

s

90 products80 products70 products60 products50 products40 products30 products20 products10 products

Rount Trip Times of an agent, with different query sizes, against different numbers of hosts in security-enhanced SIAS.


Recommended