25
T.A: Viktor Kulikov Eyal Madar Mikael Cohen Spring 2006

T.A: Viktor Kulikov

Embed Size (px)

DESCRIPTION

Secured Chat. T.A: Viktor Kulikov. Eyal Madar Mikael Cohen. Spring 2006. Introduction. What is a chat application?. real-time communication between two or more people based on typed text May have more options, like transfer files, voice, video…. - PowerPoint PPT Presentation

Citation preview

T.A: Viktor Kulikov

Eyal Madar Mikael Cohen

Spring 2006

Introduction

• boosts communication and allows easy collaboration.

• not forced to reply immediately

• Less intrusive than communication via phone.

• Companies like IBM have their own Chat application witch allows labs working across the world

• Encryption is required to secure the business communications

Why a chat application ?

• real-time communication between two or more people based on typed text

• May have more options, like transfer files, voice, video…

What is a chat application?

Goals

Building a Chat application in C#, using .Net

Implementing:

• Public forum

• Private chat

• File transfer

• Security encryption

• Convivial and intuitive GUI

Chat Design• Frame matched with the windows style. • Tabs appear with a pretty gray relief.• Clear and intuitive.• Can easily put it in full screen.

Remote executing means running a process in another computer without using any resource or CPU load in the local computer

Using a client/server application

What is Remoting?

Tcp

A server, a client and a network

ServerClient

Ca CbCb

Proxy

Marshal By Reference Object Client Ca creates a proxy instance of Cb Client Ca can uses Cb provided functions via a Tcp channel

Remote Activation Concepts Marshal By Reference Object

Marshal By Value Object

Server Activated – Wellknown Singleton Single Instance of Object Services All Clients

Types of .NET Remote Objects

Server Activated – Wellknown Singlecall New Instance of Object on Every Use

• The solution consists of four projects:

- ServerConsole- ServerInterface- ClientApp- ClientInterface

• ServerConsole is a Windows Form. ServerInterface holds the necessary interfaces for the ServerConsole

• ClientApp is a Windows Form ClientInterface holds the necessary interfaces for the ClientApp

Client/Server Architecture (1)

Server Form

Server Remote

Client Form

Client Remote

Remoting

Server Machine Client Machine

Client/Server Architecture (2)

Client/Server Architecture (2)

Remote

Interface

Class link

Client

Server Interface

Can use from Server: - Logon - Logout - Send Message - Ask for private chat

Server Interface (1)

Server Interface (2)

• Logon: Client log in to the Server

• Logoff: Client log out from the Server

• SendMsg: Send a message to another user via the Server

• GetPortNo: Receive a port number to communicate with the server

• AskForPrivate: Ask private chat to another user via the Server

Server

Client Interface

Can use from Client: - UpdateClient - LogOffClient - DoYouWantPrivateChat

Client Interface (1)

Client Interface (2)

• UpdateClient: Update Client Form

• LogOffClient: Close the Client

• DoYouWantPrivateChat: Demand for a private chat

Client Form

Client RemoteServer

Is Marshall!

Server uses Client functions

Client Function

Client Function

Client functions are given by IClient Interface

Server Form

Server RemoteClient

Server Function

Is Marshall!

Server Function

Server functions are given by IServer Interface

Client uses Server functions

Client AClient B

Server

Ask For Private

chat

Do you want a private chat with A?

Private Chat port

Private Chat

• Intuitive

• Fast

• Secured

Transfer File

Encryption algorithm used :

RSA - Rivest, Shamir (israel) , Adelman

Security

RSA has been invented at a Pessah Seder in 1977

Did you know that

RSA encryption is used in our

•Private Chat

•File transfer

Public key

RSA involves two keys:

•The public key can be known to everyone and is used to encrypt messages.

•These messages can only be decrypted by use of the private key

Order encrypted with the public key

Even if intercepted, the message can’t be decrypted without private key !

Easily decrypted with the private key !

RSA principle

Server Client B

Client A

Client C

Possibility of a Peer to peer private ChatPublic Chat Secured

Conclusion

• We have build an intuitive chat, which allows public, private, secured discussions, and secured transfer files

• Future works:

- Voice conversation

- Video conference

Thanks…

• To Viktor for his time and his patience.

• To Swlab Laboratory

• To you who have listened our presentation until the end!

Chat Design

Please follow us to the lab!