












Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
I livelli del modello osi (open systems interconnection), un modello concettuale che standardizza le funzioni di rete e di comunicazione per i sistemi informatici. Il modello osi è suddiviso in sette livelli, ognuno con specifiche responsabilità, dall'invio fisico dei dati (livello fisico) alla comunicazione tra applicazioni (livello applicazione). In dettaglio i livelli fisico, data link, rete, trasporto e sessione, evidenziando le loro funzioni principali, come il controllo degli errori, la gestione del flusso di dati e l'instradamento dei pacchetti. Inoltre, vengono descritti dispositivi di rete come hub e router, spiegando il loro ruolo nell'interconnessione delle reti e nella gestione del traffico dati. Una panoramica completa e dettagliata del modello osi, utile per comprendere come i diversi livelli interagiscono per consentire la comunicazione tra sistemi informatici.
Tipologia: Schemi e mappe concettuali
1 / 20
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!













Il livello 1 (Physical Layer) è il livello più esterno, e quindi il più basso, della modello ISO/OSI. Il suo obiettivo è quello di gestire il mezzo trasmissivo che può essere un cavo coassiale, una fibra ottica, dei connettori o dei doppini telefonici tramite il quale avviene la trasmissione delle informazioni. Il livello fisico del modello OSI è responsabile della trasmissione finale dei bit di dati digitali dal livello fisico del dispositivo di invio (sorgente) tramite i mezzi di comunicazione di rete al livello fisico del dispositivo di ricezione (destinazione). Il livello 1 ha il compito di definire:
La tipologia dei segnali trasmessi Un segnale è una qualsiasi grandezza fisica che può variare nel tempo. A seconda del tipo di canale utilizzato il segnale trasmesso può essere: Segnale elettrico (dove i picchi più alti di corrente vengono rappresentati con un 1 e i picchi più bassi di tensione con uno 0); Segnale luminoso (l'informazione viene inviata tramite impulsi luminosi sul canale); Onde radio (segnali che si propagano tramite l'etere).
Obiettivo principale: fornire al livello di rete di due macchine adiacenti un canale di comunicazione il più possibile affidabile
Fa riferimento perciò a dei calcolatori che all'interno di una rete prendono il nome di nodi o router, e che appunto gestiscono delle tabelle di instradamento che consentono di ottimizzare il traffico della rete. Quando il collegamento è unicamente locale, come avviene in una LAN (rete locale) all'interno di un ufficio o di un'abitazione, la consegna dei pacchetti può utilizzare protocolli semplificati che fanno leva sulle funzioni dello strato data link per distribuire i pacchetti; però, e la necessità di collegare la propria rete ad altre, anche distanti, è diventato standard l'impiego di protocolli di rete veri e propri, e in particolare della famiglia di protocolli TCP/IP. L'Internet Protocol è un protocollo di internetworking che opera allo strato di rete, dove il mittente e il destinatario vengono riconosciuti sulla base di un indirizzo univoco, valido per l'intero dominio Internet, che prende il nome, appunto, di indirizzo IP. Tale strato non si occupa di verificare l'integrità della trasmissione supponendo che, se lo strato 2 non ha segnalato errori, la rete sia operativa, e lasciando agli strati superiori il compito di monitorare la consegna a destinazione dei pacchetti e di garantire l'affidabilità della comunicazione. Il protocollo TCP (Transmission Control Protocol) si occupa di verificare che la sequenza dei pacchetti sia corretta e che venga mantenuta nel corso delle operazioni d'instradamento su Internet, dove ogni pacchetto viaggia in maniera indipendente. Infatti, un messaggio di posta elettronica, oppure una pagina Web, devono essere suddivisi in pacchetti per poter essere trasmessi mediante IP; lo strato TCP (equivalente allo strato 4 OSI) verifica che la sequenza con cui arrivano a destinazione sia corretta. Gestisce l’instradamento (routing) dei pacchetti di dati e determina se e quali sistemi intermedi devono essere attraversati dal pacchetto per raggiungere la destinazione. Stabilisce il percorso migliore e gestisce le tabelle di instradamento ed i percorsi alternativi (fault tolerance). Le tabelle di instradamento, per ogni destinazione, contengono le varie possibili strade che conducono alla destinazione finale. La sua unità dati fondamentale è il pacchetto. Ogni indirizzo IP è diviso in 2 parti: Network address (Indirizzo di rete) Host address (Indirizzo host, computer ospite) Le parti dell'indirizzo IP utilizzate come indirizzi di rete e di host non sono fisse. Per determinare questa informazione è necessario un altro numero a 32 bit denominato subnet mask. Cos'è la subnet mask La subnet mask o netmask consente di stabilire l'intervallo di indirizzi IP all'interno di una sottorete. La subnet mask permette di ricavare la rete cui appartiene un dispositivo partendo dal suo indirizzo IP Essa consente di stabilire quali risorse sono da considerarsi locali e quali invece remote. Come nel caso degli indirizzi IPv4, anche la subnet mask è formata da una sequenza di 32 bit o 4 byte: ciascuno dei quattro gruppi da 8 bit è separato con un punto.
Si dice che ogni gruppo è da 8 bit perché ciascuno di essi può assumere una numerazione compresa tra 0 e 255 (2^8 valori possibili) ovvero equivale a un byte (1 byte = 8 bit). Il protocollo IP: La subnet mask in notazione binaria
Controllo di congestione Il protocollo riconosce uno stato di congestione della rete e adatta di conseguenza la velocità di trasmissione. Multiplazione Il protocollo permette di stabilire diverse connessioni contemporanee tra gli stessi due host, tipicamente utilizzando l'astrazione delle porte. Nell'uso comune diversi servizi utilizzano porte logiche di comunicazione diverse. Servizio di trasporto Il servizio di trasporto fornito può essere di vari tipi: affidabile (garanzia di consegna dei messaggi nel corretto ordine) non affidabile (solo funzionalità di indirizzamento) ma ovviamente il servizio realmente fornito all’applicazione dipende dal livello rete sottostante Nella suite IP sono definiti due tipi di trasporto TCP (Transmission Control Protocol), orientato alla connessione e affidabile UDP (User Datagram Protocol), senza connessione e non affidabile Il TCP è un protocollo di trasporto che: assicura il trasporto affidabile in corretta sequenza senza errori dei dati Mediante TCP è possibile costruire applicazioni che si basano sul trasferimento di file senza errori tra host remoti (web, posta elettronica, ecc.) L’UDP assicura indirizzamento delle applicazioni blando controllo d’errore sull’header, non garantisce la consegna non esercita nessun controllo (né di flusso, né di errore). Connessione TCP Questo protocollo prima ancora di trasferire i dati sul canale di comunicazione, si preoccupa di instaurare la connessione tra i due estremi. In particolare tra le applicazioni dei due estremi. Lo fa attraverso ciò che è definito socket e cioè l’accoppiata di Indirizzo IP e Porta. Ogni comunicazione ha un Server , un computer che eroga servizi, e un Client , un computer che richiede un servizio. Il Client richiede un determinato tipo di servizio al Server attraverso le Porte Immaginate appunto di avere l’indirizzo esatto di un palazzo e dovete andare in visita ad un parente che abita in quel palazzo. L’indirizzo IP è l’ indirizzo fisico del palazzo ( via Via Tal dei Tal n° 3) arrivati però all’edificio ( Il Server, perchè effettivamente eroga servizi) dovete accedere ad un particolare appartamento (La porta è il numero dell’interno dove abita il Vostro parente) Porta Le porte sono a 16 bit per un totale di 2^16 = 65 536 Esiste una porta di destinazione che indentifica univocamente un dato processo e/o servizi, la porta sorgente che è assegnata casualmente. Questo serve perchè se allo stesso server arrivano richieste sulla stessa porta da due host differenti, esso capisce dove inviare i giusti pacchetti nella giusta direzione. Esistono tre gruppi ben distinti di porte:
un Terminale su una macchina utilizza la porta 22. Queste porte sono standard
Le problematiche sono simili a quelle del livello sottostante (trasporto), in particolare per quanto riguarda l'apertura e la chiusura della sessione, con la differenza che qui non si tratta di gestire la comunicazione tra due host ma tra due programmi. La fase intermedia invece, cioè la gestione della sessione stessa, ha delle caratteristiche specifiche di questo livello, per esempio come ripristinare sessioni interrotte senza perdita di dati, o gestire i turni durante il dialogo tra le due applicazioni. Il livello si appoggia sui servizi forniti dal livello di trasporto, che assicura la connessione end-to-end tra i due computer; questa può essere fornita in maniera affidabile o non affidabile, orientata alla connessione oppure no. Il servizio fornito è comunque sempre connection oriented , ma non affidabile, cioè non prevede la conferma e meccanismi di correzione dei dati inviati. Può invece prevedere dei meccanismi di conferma sulle informazioni di controllo del protocollo stesso. Apertura di una sessione di lavoro tra due applicazioni Presuppone naturalmente una connessione aperta tra i due host; a questo punto, l'applicazione che chiede di aprire la sessione di lavoro (solitamente il client) deve identificare il programma con cui vuole dialogare sul computer di destinazione. Si avvia uno scambio di informazioni tra l'utente che intende utilizzare un servizio e il server che possiede tale servizio. Gli indirizzi di sessione sono composti dall'indirizzo a livello trasporto più un a stringa di byte che viene chiamata selettore di sessione. Trattandosi di un modello astratto, non viene definita la lunghezza della stringa né il suo formato. Il concetto è analogo a quello di porta nell' architettura TPC/IP, ma bisogna tenere ben presente che questa non prevede il livello sessione, ma gestisce questi indirizzi a livello applicazione; Per realizzare una sessione di lavoro sono necessari due indirizzi a livello sessione, quello del programma server e quello del client. Questi non sono da confondere con l' identificativo di sessione , che identifica in maniera univoca la sessione sia sul client che sul server. La negoziazione comprende due fasi: la richiesta di apertura e la risposta. Richiesta di apertura sessione dove il richiedente invia una richiesta di apertura con una serie di informazioni. Il programma chiamato risponde tramite il servizio di pari livello, confermando o modificando le richieste ricevute. (Risposta) Ci sono due possibilità: il programma interpellato ha rifiutato la connessione. In questo caso bisogna prendere in esame il motivo del rifiuto. temporanea impossibiltà la richiesta verrà ripetuta dopo un intervallo di tempo predefinito o casuale connessione respinta l'apertura è fallita, e il rifiuto con l'eventuale causa verrà restituito allo strato application la richiesta è stata accettata in questo caso bisogna esaminare il token assignment, che può avere due valori: chiamante il richiedente può inziare l'invio dei dati chiamato il richiedente deve passare il token al corrispondente Se il protocollo a livello sottostante fornisce un servizio affidabile e connection oriented, eventuali errori o perdite di dati vengono gestiti a livello di trasporto. Non si può comunque escludere che la sequenza precedente venga interrotta per qualche motivo o ci sia una perdita di dati durante la trasmissione.
Possono verificarsi i seguenti scenari: il chiamato non riceve la richiesta questo non crea problemi nell’applicazione destinataria, mentre il chiamante - dopo aver atteso per un lasso di tempo ragionevole - deve decidere come gestire la mancata risposta; i possibili comportamenti sono simili a quelli di una richiesta respinta il chiamante non riceve la risposta in questo caso i problemi si verificano da entrambi i lati della connessione; infatti anche il destinatario rimane con una sessione sospesa e deve decidere se interromperla o ripetere la risposta. Il rischio è quello di messaggi incrociati e una doppia connessione. (il chiamante infatti non sa se il chiamato ha ricevuto o no la sua richiesta, quindi potrebbe ripeterla) Gestione della sessione Una volta terminata la negoziazione, si tratta di gestire la sessione che è stata aperta per il trasferimento dei dati. Il modello prevede tre modalità di trasferimento, che possono avvenire con flussi indipendenti:
Il livello di presentazione consente la gestione della sintassi delle informazioni trasmesse, diversamente dagli altri livelli che gestiscono una sequenza di byte. Il livello ha il compito di gestire la sintassi dell'informazione lungo l'intero percorso end-to-end, convertendo i codici e i formati da un sistema operativo all'altro. A questo livello sono previste 3 diversi sintassi che si occupano:
REPEATER (E HUB) Un hub Ethernet , hub attivo , hub di rete , hub ripetitore , ripetitore multiporta o hub è un dispositivo per il collegamento di più Ethernet dispositivi insieme e facendoli agire come un singolo segmento di rete. BRIDGE (E SWITCH) è un dispositivo di rete che si colloca al livello datalink del modello ISO/OSI e che traduce da un mezzo fisico ad un altro all'interno di una stessa rete locale. Esso è quindi in grado di riconoscere, nei segnali elettrici che riceve dal mezzo trasmissivo, dei dati organizzati in strutture dette trame (in inglese frame), di individuare all'interno di esse l'indirizzo del nodo mittente e quello del nodo destinatario e in base a questi operare un indirizzamento dei pacchetti tra più segmenti di rete ad esso interconnessi. ROUTER (E LAYER-3 SWITCH) è un dispositivo elettronico che, in una rete informatica a commutazione di pacchetto, si occupa di instradare i dati, suddivisi in pacchetti, fra reti diverse. È quindi, a livello logico, un nodo interno di rete deputato alla commutazione di livello 3 del modello OSI o del livello internet nel modelloTCP/IP. GATEWAY Gateway è un termine generico che indica il servizio di inoltro dei pacchetti verso l'esterno; il dispositivo hardware che porterà a termine questo compito è tipicamente un router. Nelle reti più semplici è presente un solo gateway che inoltra tutto il traffico diretto all'esterno verso la rete internet. In reti più complesse in cui sono presenti parecchie subnet, ognuna di queste fa riferimento ad un gateway che si occuperà di instradare il traffico dati verso le altre sottoreti o a rimbalzarlo ad altri gateway. Spesso i gateway non si limitano a fornire la funzionalità di base di routing, ma integrano altri servizi da e verso la rete locale come proxy DNS, firewall, NAT etc, che sono appunto servizi di strato di rete più elevato ovvero applicativo.
La cifratura lavora sulle lettere "individuali" di un alfabeto, mentre una codifica lavora ad un livello semantico più elevato, come può essere una parola o una frase. Ad esempio, "UQJHSE" potrebbe significare "Procedere fino alle seguenti coordinate". Quando si usa un cifrario, l'informazione originale è nota come testo in chiaro mentre quella cifrata come testo cifrato. Il testo cifrato contiene tutte le informazioni del testo in chiaro, ma espresse in un formato illeggibile dagli esseri umani o dai computer senza un determinato meccanismo per decifrarlo: a chi non è in grado di leggerlo, dovrebbe apparire come una sequenza di caratteri senza senso. L'operazione svolta da un cifrario dipende normalmente da un'informazione ausiliaria chiamata chiave. La chiave influenza il processo di cifratura: chiavi diverse producono versioni cifrate differenti dello stesso testo in chiaro. La chiave deve essere scelta prima di cifrare il messaggio e senza la sua conoscenza, dovrebbe essere difficile, se non impossibile, decifrare il testo cifrato, sia conoscendo (security without obscurity) sia non conoscendo l'algoritmo di cifratura (security through obscurity). Nell'accezione comune, codice generalmente indica "cifrario". Nella terminologia tecnica, le parole "codice" e "cifrario" fanno invece riferimento a due concetti differenti: un codice lavora a livello di significato, cioè parole o frasi vengono convertite in qualcosa di differente, spesso con il risultato di rendere più brevi i messaggi. Un esempio è il codice telegrafico Morse, creato per trasmettere i messaggi via cavo tramite impulsi elettrici. Il codice Morse , detto anche alfabeto Morse , è un sistema per trasmettere lettere, numeri e segni di punteggiatura per mezzo di un segnale in codice ad intermittenza e fu uno dei primi metodi di comunicazione a distanza. I cifrari, invece, lavorano ad un livello più basso, il livello di singole lettere o, come nei moderni cifrari, a livello di bit. Alcuni sistemi usano sia codici che cifrari uniti in un unico sistema di cifratura per aumentare la sicurezza degli schemi. In alcuni casi i termini codice e cifrario sono sinonimo di "sostituzione" e "trasposizione". A causa di alcuni suoi limiti, come la suscettibilità alla crittanalisi e la difficoltà di maneggiare voluminosi libri codice, la codifica nei tempi recenti è caduta in disuso in favore della moderna crittografia, ed i cifrari sono oggi la tecnica dominante L’obiettivo di chi cripta i messaggi è tradurre il linguaggio del testo in chiaro in un nuovo linguaggio, dotato di un alto tasso di entropia, che non possa essere compreso, o tradotto, senza le informazioni supplementari fornite dalla chiave. In un linguaggio naturale, come l’italiano, l’entropia è bassa, poiché vi è ridondanza di ricorrenze ed una certa regolarità statistica nei termini e nei caratteri. Infatti, è sufficientemente agevole ricostruire una frase pur avendo solo alcuni dei caratteri che la compongono. Per poter costruire un buon sistema di cifratura, invece, il testo criptato dovrebbe avere la più alta entropia possibile, al fine di impedire la decodifica ad un eventuale criptoanalista che voglia intercettare il messaggio. Cifrari storici I cifrari antichi, quelli basati sull'uso di carta e penna, sono spesso indicati come cifrari classici. Essi includono i semplici cifrari a sostituzione e quelli a trasposizione. Ad esempio, la frase "BUON GIORNO" può essere cifrata come "ATNM FHNQMN" dove ogni lettera è sostituita da quella che la precede nell'alfabeto, oppure può essere cifrata come "BNOO UGROIN" utilizzando una semplice trasposizione.
All'inizio del XX secolo furono inventate delle macchine elettro-meccaniche capaci di eseguire operazioni di cifratura e decifratura usando cifrari polialfabetici ed a trasposizione, come la cifratrice Lorenz o la macchina Enigma. Queste macchine facevano parte delle cosiddette "macchine a rotori", il cui funzionamento si basava su dischi rotanti, che provvedevano alla sostituzione polialfabetica delle lettere, combinati con l'uso di collegamenti elettrici, che provvedevano alla loro sostituzione. Le chiavi di cifrature erano impostate mediante la disposizione iniziale dei dischi e dei collegamenti elettrici. Nonostante queste macchine fossero molto più complesse di qualunque schema fino ad allora visto, i loro cifrari furono violati con l'uso di altre macchine calcolatrici appositamente inventate all'occorrenza, come il calcolatore Colossus. (venne progettato dal matematico Alan Turing, basandosi sui concetti della macchina di Turing universale, e realizzato da Tommy Flowers nella Post Office Research Station a Dollis Hill, nel febbraio del 1944. Cifrari a trasposizione La trasposizione semplice è, come dice la parola stessa, il più semplice cifrario di trasposizione. Facendo uso di carta quadrettata, si scrivono ordinatamente le lettere del testo chiaro nelle caselle di un rettangolo di larghezza determinata; le caselle eventualmente avanzate si possono riempire di lettere nulle. Il cifrato si ricava allora prelevando le lettere in ordine diverso da quello con cui sono state scritte secondo una qualche regola prefissata. LENOSTRETRUPPEAVANZANOVERSOSUDEST Il Codice da trasmettere può essere LRPZREEEEASSNTANOTORVOSSUAVUTPNED Si tratta ovviamente di un cifrario molto debole, basta un attacco esaustivo per recuperare con pochi tentativi il testo chiaro. La trasposizione semplice è crittograficamente molto debole; una trasposizione più sicura si ottiene rimescolando le colonne secondo una qualche chiave; di solito si usa una parola segreta per stabilire l'ordine delle colonne. È questa la cosiddetta trasposizione a chiave. Per esempio, si prenda come parola chiave "VENEZIA" e come messaggio "Due battaglioni nemici avvistati settore nord". Si scriverà la parola chiave in alto, sotto a questa i numeri ordinali delle lettere della chiave secondo l'ordine alfabetico; il messaggio verrà scritto sotto per righe di sette caratteri (la lunghezza della chiave), eventualmente riempiendo le caselle rimaste vuote di null Testo chiaro DUEBATTAGLIONINEMICIAVVISTATISETTORENORD chiave VENEZIA Il Codice da trasmettere può essere ??? Cifrari moderni I Cifrari moderni I moderni sistemi di cifratura si dividono in base al tipo di chiave usata ed al tipo di dato fornito in ingresso. A seconda del tipo di chiave usata, i cifrari sono divisi in:
In pratica il messaggio alfanumerico è convertito secondo un codice (di solito il codice ASCII) in una sequenza di 0 e 1, e quindi suddiviso in blocchi B di 64 bit ovverosia sequenza di 64 0 o 1, mentre la chiave K è un blocco di 56 bit sempre di 0 o 1. La cifratura di un blocco di dati con l’algoritmo DES si può suddividere in 3 fasi: Una permutazione iniziale (IP) dei bit componenti il blocco dati 16 cicli di processamento identici detti round Una permutazione inversa (FP) dei bit processati Il blocco dati di 64 bit viene suddiviso in due sottoblocchi lunghi 32 bit (R ed L o destro e sinistro) La parte destra viene processata da una funzione che opera delle trasposizioni e delle sostituzioni chiamata funzione Feistel (dal nome del suo autore) L’uscita della funzione Feistel viene sommata in XOR con la parte sinistra, il risultato diventa la nuova parte destra La nuova parte sinistra viene posta uguale alla parte destra non processata Il processo di decodifica è speculare rispetto a quello di codifica. Le permutazioni iniziale e finale sono complementari tra di loro. L’unica accortezza consiste nell’applicare le chiavi generate nella fase “scheduled keys” in ordine inverso Il blocco in ingresso da 32 bit viene espanso a 48 utilizzando una funzione che ne duplica 16 e permuta la stringa così ottenuta Il risultato della funzione di espansione viene combinato in XOR con la sottochiave relativa al round corrente La stringa di 48 bit cosi ottenuta viene organizzata in sottosequenze da 6 bit che costituiscono l’ingresso delle s-box (box di sostituzione) Ogni s-box Si sostituisce i sei bit in ingresso con quattro bit in uscita mediante una trasformazione non lineare La sequenza di bit ottenuta viene ulteriormente permutata Funzionamento Per inviare un messaggio da un mittente a un destinatario bisogna: Il mittente utilizzi la chiave privata con la quale codificherà il messaggio; Il destinatario decodificherà il messaggio codificato tramite la stessa chiave privata. Cifrari asimmetrica La crittografia asimmetrica o a coppia di chiavi utilizza due chiavi distinte:
Cifrari asimmetrica Nei sistemi di voto elettronico, l’elettore si fa autenticare da un’Autorità il suo voto (in forma non leggibile per difenderne la segretezza) e lo deposita poi nell’“urna” in forma leggibile e verificabile. La firma dell’Autorità garantisce l’anonimità del votante, il suo diritto ad esprimere un voto ed il fatto che voterà una sola volta. Nei sistemi di commercio elettronico, l’acquirente si fa autenticare da una Autorità il suo denaro elettronico (per un ammontare non leggibile) prima di consegnarlo al venditore in forma leggibile e verificabile. La firma dell’Autorità garantisce al venditore la copertura finanziaria ed al cliente l’anonimato. L’algoritmo di cifratura asimmetrica RSA si basa sull’uso di due chiavi distinte generate in modo che sia impossibile ricavarne una dall’altra. Le due chiavi, dette chiave pubblica e chiave privata, servono rispettivamente per cifrare e per decifrare il messaggio. La prima applicazione dell’RSA è stata sviluppata nel 1978 da Ronald Rivest, Adi Shamir e Leonard Adleman, (RSA è l’iniziale dei nomi degli ideatori dell’Algoritmo). Il metodo di cifratura risulta essere ancora oggi inviolato, l’efficacia di tale algoritmo non consiste nella segretezza del modo in cui è implementato (il procedimento è conosciuto) ma nella difficoltà di invertire l’algoritmo in tempi accettabili ovvero sull'elevata complessità computazionale della fattorizzazione in numeri primi. Procedimento per la generazione della chiave pubblica e privata