30
1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001 entation based on slides for the book: s modified by Jens B Jorgensen, University of Aarhus

1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

Embed Size (px)

DESCRIPTION

3 Chapter 2: System Models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001

Citation preview

Page 1: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

1

Distribuerede systemer og sikkerhed – 7. februar 2002

From Coulouris, Dollimore and KindbergDistributed Systems:

Concepts and DesignEdition 3, © Addison-Wesley 2001

Presentation based on slides for the book:

Slides modified by Jens B Jorgensen, University of Aarhus

Page 2: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

2

Instruktorer

Hold 1: Onsdag 8-11, lokale 1-532-316, Lisa Wells.

Hold 2: Mandag 12-15, H2.28, Thomas Ljungberg (Thomas Mailund vikar 11/2).

Hold 3: Torsdag 11-14, lokale 1-532-316, Thomas Mailund.

Hold 4: Torsdag 11-14, lokale 1-521-228, Thomas Ljungberg (Thomas Pedersen vikar 14/2).

Hold 5: Onsdag 9-12, Kollokvium G4, Thomas Pedersen.

Page 3: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

3

Chapter 2: System Models

From Coulouris, Dollimore and KindbergDistributed Systems:

Concepts and DesignEdition 3, © Addison-Wesley 2001

Page 4: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

4

System models – what and why?

System model: Abstract, consistent description of a relevant aspect of a

distributed system. Description of the main entities of a system and their

interaction, and individual and collective behaviourAid for design, analysis, discussion, etc.

Make assumptions explicit. Investigate what is possible or impossible.

Page 5: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

5

Architectural and fundamental models

Architectural model: Description of the components of a system and the relationship between them.

Fundamental models: Description of properties that are common in architectural models: Interaction model. Failure model. Security model.

Page 6: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

6

Architectural models

Describe the components of systems and their interaction; describe mapping of components to computers.

Define useful patterns for the distribution of data and workload.

Define the functional roles of components and the patterns of communication between them.

Page 7: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

7

Architectural models – layered architecture

Applications, services

Computer and network hardware

Platform

Operating system

Middleware

Page 8: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

8

Basic architectural models – client-server

Server

Client

Client

invocation

result

Serverinvocation

result

Process:Key:

Computer:

Page 9: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

9

Basic architectural models – multiple servers

Server

Server

Server

Service

Client

Client

Partition set of objects orreplicate set of objects

Page 10: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

10

Basic architectural models – proxy server and caching

Client

Proxy

Web

server

Web

server

serverClient

Cache: Store of recently used data objectscloser than the objects themselves

Proxy servers increase performance and availability

Page 11: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

11

Basic architectural models – peer processes

Coordination

Application

code

Coordination

Application

code

Coordination

Application

code

Page 12: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

12

Other architectural models – mobile code, web applets

a) client requests results in the downloading of applet code

Web server

ClientWeb serverApplet

Applet codeClient

b) client interacts with the applet

Page 13: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

13

Other architectural models – spontaneous networking

Internet

gateway

PDA

service

Music service

serviceDiscovery

Alarm

Camera

Guestsdevices

LaptopTV/PC

Hotel wirelessnetwork

Easy connection and integration; limited connectivity; problems withsecurity and privacy; discovery service with registration and lookup.

Page 14: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

14

Architectural models – design requirements

Performance issues: Responsiveness. Throughput. Balancing computational loads.

Quality of service: Reliability. Security. Performance. Adaptability.

Use of caching and replication. Dependability issues:

Correctness. Security. Fault tolerance.

Page 15: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

15

Architectural models in practice

Often specified in UML, the Unified Modeling Language, e.g., as: Class diagrams. Object diagrams. Component diagrams. Deployment diagrams.

For more info, see www.uml.org

Page 16: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

16

Fundamental models

Description of properties that are common in architectural models: Interaction model (performance/timing model?):

Performance of processes and communication channels, absence of a global clock, timing problems, …

Failure model: Failures of processes and communication channels, reliable communication, …

Security model: Possible threats to processes and communication channels, secure channels, …

Page 17: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

17

Interaction model – basic issues

Performance of processes.Performance of communication channels:

Latency. Bandwidth. Jitter.

Computer clocks and timing events. Lack of global notion of time.

Page 18: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

18

Interaction model – synchronous vs. asynchronous

Synchronous distributed systems – bounds on: Process execution speed. Message transmission delays. Local clock drift rates.

Asynchronous distributed systems – no bounds.

Page 19: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

19

Interaction model – event ordering

send

receive

send

receive

m1 m2

2

1

3

4X

Y

Z

Physical time

Am3

receive receive

send

receive receive receivet1 t2 t3

receive

receivem2

m1

Page 20: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

20

Failure model – basic issues

The ways in which failures in a distributed system may occur.

Types of failures: Arbitrary (Byzantine) failures. Omission failures. Timing failures.

Page 21: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

21

Failure model – process omission failures

A process fails to perform actions that it is supposed to do.

Process omission failures: Crash. Fail-stop.

Use timeouts.

Page 22: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

22

Failure model – communication omission failures

process p process q

Communication channel

send

Outgoing message buffer Incoming message buffer

receivem

Network transmission error Send-omission failure Receive-omission failure

Page 23: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

23

Failure model – timing failures

Applicable in synchronous distributed systems.Bounds exceeded for:

Process execution time. Message transmission delay. Clock drift rate.

Page 24: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

24

Failure model – remedies

Masking failures: Hiding failures. Converting failures into less severe ones.

Ensuring reliability of one-to-one communication: Validity: Any message sent is eventually delivered. Integrity: All messages received have been sent; no

messages are delivered twice.

Page 25: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

25

Security model – basic issues

Protecting objects against unauthorized access. Specify who is allowed to perform which operations. Use access rights.

Securing processes and their interactions.Securing communication channels. Identifying threats.

Page 26: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

26

Security model – objects and principals

Network

invocation

resultClient

Server

Principal (user) Principal (server)

ObjectAccess rights

Page 27: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

27

Security model - enemies

Communication channel

Copy of m

Process p Process qm

The enemym’

An enemy is capable of sending any message to any process, and read or copy any message in transfer between a pair of processes

Page 28: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

28

Security model – threats

Issues: Servers. Clients. Communication channels. Denial of service. Mobile code.

Remedies: Cryptography. Authentication. Secure channels.

Page 29: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

29

Security model – secure channels

Principal A

Secure channelProcess p Process q

Principal B

Page 30: 1 Distribuerede systemer og sikkerhed – 7. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley

30

Summary

Architectural models: Basic client-server. Multiple servers. Proxies and caching. Peer processes. …

Fundamental models: Interaction. Failure. Security.