• Non ci sono risultati.

Università degli Studi di Napoli Federico II Corso di Laurea in Informatica III Anno

N/A
N/A
Protected

Academic year: 2022

Condividi "Università degli Studi di Napoli Federico II Corso di Laurea in Informatica III Anno"

Copied!
31
0
0

Testo completo

(1)

LEZIONE

LEZIONE N. 5

• Caratterizzazione di un sistema di calcolo distribuito convenzionale

• Caratterizzazione di un sistema di calcolo Grid

• Grid middleware: GSI

Introduzione alle griglie

Introduzione alle griglie computazionali computazionali

Università degli Studi di Napoli Federico II Corso di Laurea in Informatica – III Anno

(2)

Introduzione

Introduzione

(1/2)(1/2)

Concetto di “Computational Grids”:

• risorse di computing/storage accessibili facilmente (come avviene per l’utilizzo dell’energia elettrica)

prospettiva di utility: utenti che ottengono accesso a delle risorse tramite un provider

prospettiva di resource sharing: virtual organization condividono risorse per il raggiungimento di uno scopo comune

(3)

Introduzione

Introduzione

(2/2)(2/2)

Il concetto di resource sharing non e’ una novita’:

• printer sharing, RPC, networked file systems, ...

Grid viene considerato il successore dei sistemi di calcolo distribuiti convenzionali

tuttavia esistono diverse definizioni di Grid:

• high-performance distributed computing environment

• geographically distributed computing

• “Coordinated resource sharing and problem solving in

(4)

G R I D

(5)

Metodologia per la caratterizzazione Metodologia per la caratterizzazione

Applicazione distribuita

numero (finito) di processi cooperativi che utilizzano risorse debolmente accoppiate (loosely coupled resources)

La macchina virtuale su cui viene eseguita un’applicazione distribuita differisce nelle sue caratteristiche se consideriamo

• un sistema di calcolo distribuito convenzionale

• un sistema di calcolo Grid

E’ possibile definire Grid caratterizzando la macchina virtuale

(6)

Caratterizzazione di un sistema di calcolo Caratterizzazione di un sistema di calcolo

distribuito convenzionale

distribuito convenzionale

(1/2)(1/2)

L’applicazione distribuita assume l’esistenza di un pool di nodi di calcolo che implementano una macchina virtuale

Il pool consiste in un insieme di PC, supercomputer, ... su cui ha accesso (login + password) l’utente che esegue

l’applicazione distribuita

L’operazione di login alla macchina virtuale consiste nella autenticazione su ciascun nodo. In generale assumiamo che

l’utente autenticato su un nodo del pool viene automaticamente autorizzato all’utilizzo di tutti i nodi del pool

(7)

Caratterizzazione di un sistema di calcolo Caratterizzazione di un sistema di calcolo

distribuito convenzionale

distribuito convenzionale

(2/2)(2/2)

L’utente di un sistema di calcolo distribuito convenzionale conosce le caratteristiche dei nodi a disposizione

(sistema operativo, potenza del processore, spazio disco, ...) Inoltre, l’insieme di nodi e’ statico in quanto cambia molto raramente le sue caratteristiche

Infine la dimensione di un sistema di calcolo distribuito convenzionale e’ dell’ordine di 10-100 nodi

(8)

A1 A2

risorsa

Application nodo

Virtual machine

level

Virtual pool level

Physical level

(9)

Caratterizzazione di un sistema di calcolo Caratterizzazione di un sistema di calcolo

Grid Grid

(1/2)(1/2)

Un’applicazione distribuita assume l’esistenza di un pool di risorse (processori, memoria, disco, ...) distribuite su scala geografica

La macchina virtuale, nel caso Grid, e’ costituita da un set di risorse del pool

L’operazione di login alla macchina virtuale presuppone che l’utente possiede delle credenziali accettate dai proprietari delle risorse del pool. Un utente può essere autorizzato all’utilizzo di una risorsa senza avere un account sul nodo che ospita la risorsa.

(10)

Caratterizzazione di un sistema di calcolo Caratterizzazione di un sistema di calcolo

Grid Grid

(2/2)(2/2)

L’utente di un sistema di calcolo distribuito Grid non conosce le caratteristiche delle risorse a disposizione Inoltre, l’insieme di nodi e’ dinamico

Infine la dimensione di un sistema di calcolo Grid convenzionale e’ dell’ordine di 1000 risorse

(11)

A1 A2

risorsa

Application nodo

Virtual machine

level

Virtual pool level

Physical

(12)

elementi nel pool: >> 100, dinamici elementi nel pool: 10-100, statici

le risorse appartengono a piu’ domini di gestione

i nodi appartengono ad un singolo dominio di gestione

l’utente non ha idea delle caratteristiche delle risorse

l’utente e’ a conoscenza delle caratteristiche dei nodi

l’accesso ad una risorsa può essere ristretto

l’accesso al nodo implica l’utilizzo di tutte le risorse del nodo

l’utente ha accesso al pool ma non ai nodi l’utente ha accesso ai nodi del pool

pool virtuale di risorse pool virtuale di nodi di calcolo

Sistemi di calcolo Grid Sistemi di calcolo distribuito convenzionali

Riepilogo e comparazione

Riepilogo e comparazione

(13)

Definizione di

Definizione di Grid Grid

Insieme di servizi che consentono il calcolo distribuito su risorse appartenenti a diversi domini di gestione e che fornisce:

• virtualizzazione degli utenti

• virtualizzazione delle risorse

In base alla definizione e alla caratterizzazione di Grid e’ possibile determinare se un sistema di calcolo è “Grid-enabled”

(14)

Introduzione al

Introduzione al Grid Grid Middleware Middleware

Globus Project

• Sviluppato dal 1998, standard “de facto”

per le tecnologie GRID.

• partner: Argonne NL (Chicago), USC/ISI (California), EPCC (Edimburgo) ...

• sviluppo open source del Globus Toolkit

• http://www.globus.org Globus Toolkit

• insieme di librerie e servizi “nucleo”

dell’infrastruttura Grid”

• architettura a livelli

modello modulare: bag of services

Servizi Globus di base

(15)

Globus

Globus Toolkit Toolkit

Servizi di base

• Sicurezza (GSI)

• Servizi Informativi (MDS)

• Gestione delle risorse (GRAM)

• Gestione dei dati (GASS, GridFTP)

Resource Management

Information Services

Data Management

(16)

Sicurezza: GSI

Sicurezza: GSI

(1/9)(1/9)

Grid Security Infrastucture

Le entità in gioco sono utenti, programmi e computers Technical requirements

• multi-site authentication (verifica di identità)

• authorization (mappa l’entità ad un set di privilegi)

• message integrity

• non-repudiation

• message privacy

• delegation (proxy)

• users virtualization Users requirements

• simplicity

(17)

Sicurezza: GSI

Sicurezza: GSI

(2/9)(2/9)

Generalità

Controllo locale e flessibile sulle politiche di accesso.

Le credenziali di una entità (utente o server) sono fornite attraverso certificati digitali.

• utilizzo di certificati X.509 (modello gerarchico)

• Rilascio da parte di CA (Certification Authority)

• Soluzione basata su crittografia asimmetrica

(18)

Sicurezza: GSI

Sicurezza: GSI

(3/9)(3/9)

Rilascio del certificato Step 1

• l’utente genera

- un certificato vuoto di richiesta: usercert_request.pem - una chiave privata criptata: userkey.pem

Step 2

• l’utente invia il certificato vuoto alla propria CA e viene identificato (tramite una RA locale)

Step 3

• l’utente riceve il certificato compilato dalla CA

- chiave pubblica dell'utente - vero nome dell'utente

- data di scadenza del certicato - nome della Certication Autorithy - numero di serie del certicato - firma digitale della CA

(19)

An X.509 Certificate contains:

 owner’s public key;

 identity of the owner;

 info on the CA;

 time of validity;

 Serial number;

 digital signature of the CA

Public key Public key

Subject:

Subject:C=IT, O=INFN, C=IT, O=INFN, OU=Personal Certificate, OU=Personal Certificate,

L=NAPOLI CN=Alessandra Doria L=NAPOLI CN=Alessandra Doria Issuer: C=IT, O=INFN, CN=INFN Issuer: C=IT, O=INFN, CN=INFN Certification Authority

Certification Authority Expiration date:

Expiration date: May 10 14:15:14 May 10 14:15:14 2005 GMT

2005 GMT

Serial number: 080E Serial number: 080E

CA Digital signature CA Digital signature

Structure of a X.509 certificate

(20)

Certificato Certificato

---BEGIN CERTIFICATE---

MIIF1zCCBL+gAwIBAgICCA4wDQYJKoZIhvcNAQEEBQAwQzELMAkGA1UEBhMCSVQx DTALBgNVBAoTBElORk4xJTAjBgNVBAMTHElORk4gQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwHhcNMDQwNTEwMTMxNTIyWhcNMDUwNTEwMTMxNTIyWjCBjzELMAkGA1UE BhMCSVQxDTALBgNVBAoTBElORk4xHTAbBgNVBAsTFFBlcnNvbmFsIENlcnRpZmlj

YXRlMQ0wCwYDVQQHEwRDTkFGMRcwFQYDVQQDEw5EYW5pZWxlIENlc2luaTEqMCgG CSqGSIb3DQEJARYbZGFuaWVsZS5jZXNpbmlAY25hZi5pbmZuLml0MIIBIjANBgkq

hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnEvVPBpTjKLA4F0K+Zgc8pWyEPGDnwLW glktBI6+mYTLuemPzgkZ4CTyrZL7bw5ywXUe717e1Rmg6wDfPANRLkxxRNKNaron

kS19eNKjPYpklEKNq2gSGsK0/SsYB2YUG4kWLqtFC93x1Ffdc1Tz0xgrXH3kC0jq NqHImDrbpB7VtvAGC7/e/EJhy9MvlPA4W2vbUnwBocjMA/en3GXs2KY19tbFA3Tg jyIpCMbIeu3GlyTnbSJFoy3eeHkNLsf9c29RAJ5gWxMF7arM++NyURQ9qaEdMINj Cqb7dHJEj8E/AwSsYeWmWHfaPXnjj5aP23UlRTc31nSwh+5y0bMnFwIDAQABo4IC

hjCCAoIwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBPAwNgYDVR0fBC8wLTAr oCmgJ4YlaHR0cDovL3NlY3VyaXR5LmZpLmluZm4uaXQvQ0EvY3JsLmNybDAXBgNV

HSAEEDAOMAwGCisGAQQB0SMKAQQwHQYDVR0OBBYEFCM+8mfoaenmQ76tHy+7hX+5 RKJ6MGsGA1UdIwRkMGKAFMoR710dBwSYqaW1WBpmTgoWK+BJoUekRTBDMQswCQYD VQQGEwJJVDENMAsGA1UEChMESU5GTjElMCMGA1UEAxMcSU5GTiBDZXJ0aWZpY2F0 ---END CERTIFICATE---

grid-cert-info -<option> -f cert_file.pem where <option> can be:

-all -startdate

-subject -enddate

(21)

Nota:

Nota: cifratura cifratura

- Cifratura e decifratura sono fatte con chiavi diverse, A pubblica e B privata.

- Il mittente cifra con la chiave pubblica del ricevente, che sarà l’unico a poter decifrare.

- Quello che è criptato con la chiave A può essere decriptato solo con B e viceversa.

- Non si può mai ricavare A da B, né viceversa.

crittografia asimmetrica:

A B

(22)

Nota: firma digitale Nota: firma digitale

- controllo sull’identita’ del mittente - verifica dell’integrita’ del messaggio - non ripudiabilita’

B

A

Da un messaggio di lunghezza variabile, una funzione produce una stringa di lunghezza fissa (HASH).

L’hash viene criptato con la chiave privata del mittente e decriptato con la pubblica, verificando l’integrità

(23)

Sicurezza: GSI

Sicurezza: GSI

(4/9)(4/9)

Fasi dell’autenticazione

User certificate User certificate Verify CA signature Verify CA signature Random phrase Random phrase

Encryp

Encrypt t with user private keywith user private key Encrypted phrase

Encrypted phrase

Decrypt with user public key Decrypt with user public key

Compare with original phrase Compare with original phrase

• La richiesta è accompagnata dal certificato

• La CA deve essere “trusted” presso il ricevente

• se la stringa decriptata coincide, il ricevente non può rifiutare la richiesta

• Ogni transazione Grid è soggetta a mutua autenticazione

(24)

Sicurezza: GSI

Sicurezza: GSI

(5/9)(5/9)

Grid authentication

user

certificate file private key

user proxy certificate file grid-proxy-init

Per evitare che un cerificato possa essere intercettato, viene creato un proxy (locale e temporaneo) delle credenziali utilizzato per tutte le operazioni.

• X.509 Proxy Certificate = estensione GSI di X.509

• Ha durata molto inferiore al certificato originale (in genere 12 h)

(25)

Sicurezza: GSI

Sicurezza: GSI

(6/9)(6/9)

Delega

• delega = creazione remota di un proxy delle credenziali

• permette a un processo remoto di autenticarsi per conto dell’utente

• Immettendo una password l’utente firma il proxy con la propria chiave privata.

• I proxy hanno una propria coppia di chiavi.

(26)

Sicurezza: GSI

Sicurezza: GSI

(7/9)(7/9)

Delega

Si possono interrogare e cancellare i propri proxy:

• grid-proxy-info

• grid-proxy-destroy (non distrugge i proxy delegati)

Un task Grid può durare più a lungo del proxy:

Un myproxy server può rinnovare automaticamente i proxy di task ancora in corso che stanno per scadere.

(27)

Quali entità hanno bisogno di un certificato?

RB

CE

RLS

BDII

SE

User

A Certificate is needed for:

User RB CE

edg-job-submit

globus-job-run

To test user authentication on a farm we will use this

(28)

Sicurezza: GSI

Sicurezza: GSI

(8/9)(8/9)

Grid authorization – mapping

• Essere autenticato non dà diritti di esecuzione su una Grid.

• L’utente deve appartenere ad (almeno) un gruppo

autorizzato all’uso delle risorse -> Virtual Organization

• Il proxy ottenuto con grid-proxy-init non contiene informazioni sulla VO.

• il grid-mapfile, gestito dall’amministratore locale,

stabilisce i diritti di un utente su una specifica risorsa, in base alla sua VO di appartenenza.

• le entries del grid-mapfile mappano gli utenti della Grid autorizzati in utenti del sistema locale:

"/C=IT/O=INFN/OU=Personal Certificate/L=Napoli/CN=Ale Doria/Email=ale.doria@na.infn.it" .gridit

(29)

Sicurezza: GSI

Sicurezza: GSI

(9/9)(9/9)

Grid authorization – VOMS

Il servizio VOMS (Virtual Organization Membership Service) estende le informazioni del proxy con VO membership, gruppo, ruolo, privilegi.

voms-proxy-init voms-proxy-destroy voms-proxy-info

Non tutte le VO devono essere gestite con VOMS.

Come il file gridmap, anche il VOMS deve essere configurato dal manager locale.

(30)

Sicurezza: GSI

Sicurezza: GSI

schema generaleschema generale

(31)

Riferimenti Riferimenti

“Characterizing Grids: Attributes, Definitions, and Formalism”

Z. Németh, V. Sunderam

Journal of Grid Computing 1, Kluwer Academic Publisher, 2003

http://www.kluweronline.com/issn/1570-7873

“A National-Scale Authentication Infrastructure”

R. Butler, V. Welch, D. Engert, I. Foster, S. Tuecke, J. Volmer, C. Kesselman IEEE Computer n.33, 2000

http://www.globus.org/research/papers.html

Globus Security: http://www.globus.org/security/

Riferimenti

Documenti correlati

Obiettivo del presente lavoro di tesi risulta essere l’individuazione di un sistema di trattamento in grado di depurare reflui ad elevate concentrazioni di inquinante;

Successivamente sono stati analizzati i dati specifici relativi alla produzione e gestione dei rifiuti solidi urbani (Capitolo 3) sempre in riferimento ai diversi contesti

Il lavoro di tesi si propone di analizzare l’evoluzione urbanistico-edilizia e socio-demografica di 19 aree oggetto di ricostruzione post-sismica individuate dalla legge 219/1981

Al contrario, i valori di azoto nitrico in uscita sono risultati al di sopra dei limiti di legge; la normativa, infatti, prescrive in uscita un valore di

L’applicazione dei due modelli cinetici ha richiesto tre fasi di lavoro: (1) ricostruzione delle rete idrica in formato digitale; (2) simulazione idraulica della rete

Frequenza 12 treni/h -&gt; probabilità di congestione = 3% e quindi livello di affidabilità = 97%.. Analisi delle robustezza del Timetable. A partire dai risultati riassunti

Facendo leva su quanto appena detto e ricollegandosi a recenti studi, che hanno valutato come un pretrattamento alcalino vada a ridurre gli effetti fitotossici sul

Sono stati condotti, infatti, diverse simulazioni numeriche con l’obiettivo di indagare gli effetti delle grandezze geometriche (lunghezza totale di misura,