BIT: CONTROLLO DI PARITÀ
Il messaggio, mentre “viaggia” All’interno di ima Rete, può subire modifiche indesiderate, dovute al disturbo presente lungo la linea oppure a interventi non autorizzati.

Abbiamo già avuto modo di osservare che un messaggio non è altro che una successione di bit (almeno, così viene visto dal più basso livello di protocollo). In fase di ricezione, occorre controllare se si ricevono esattamente gli stessi bit che sono stati trasmessi.
Esistono diversi melodi per effettuare controlli di questo genere: qui illustreremo uno dei più semplici: il controllo di parità. Per spiegare in che cosa consiste, occorre ricordare che un byte è composto da otto bit.
Il numero, all’interno del byte, dei bit di valore 1 può essere dispari oppure pari.
Per esempio, nel byte 00110111 ci sono cinque bit di valore 1, mentre nel byte 0000001 I ce ne sono due. Il metodo del controllo di parità prevede di accodare agli otto bit di ogni byte trasmesso un nono bit, di controllo, secondo le seguenti regole:

  • se nel byte è presente un numero pari di bit di valore 1, il nono bit vale 0.
  • se nel byte è presente un numero dispari di bit di valore 1, il nono bit vale 1.

Così, 00110111 diventa 001101111, mentre 00000011 diventa 000000110. Osserviamo che, così facendo, il numero complessivo di bit di valore 1, all’interno del gruppo di nove bit, è sempre pari. Quando i nove bit arrivano a destinazione, il ricevente isola i primi otto e calcola il relativo bit di controllo: se non coincide con il nono bit ricevuto, si ha la segnalazione di un errore.
Per esempio, supponiamo di ricevere 000000001; essendo pari a 0 i primi otto bit, anche il nono bit avrebbe dovuto assumere il valore 0 e quindi si può concludere che la trasmissione non è stata corretta. Supponiamo, invece, di ricevere 001100110.
Nei primi otto bit. ce ne sono quattro di valore 1 e quindi il valore 0 del bit di controllo appare corretto. Osserviamo, però, che non si tratta di una certezza assoluta, perché se fossero stali danneggiati due bit, questo metodo non ci permetterebbe di accorgercene. Così, se la stringa 001100000 fosse ricevuta come 001100110, non verrebbero rilevati errori.
Se si vuole effettuare un controllo piò efficiente, bisogna adottare, quindi, tecniche più complicate di questa. Esaminando questo semplice metodo, però, ci si può rendere conto di come sia possibile verificare la correttezza della trasmissione aggiungendo al messaggio originario dei bit di controllo.
Il modello OSI attribuisce al secondo dei sette livelli previsti il compilo di compiere un'operazione di questo genere. In questo modo, quando il messaggio viene trasmesso attraverso il mezzo fisico (livello 1). “viaggia” corredalo dei bit di controllo. All’arrivo, quando si risale dal livello 1 al livello 2, si verifica che la successione di bit sia corretta e poi quelli di controllo vengono tolti, prima di passare il messaggio al livello 3. Da quanto abbiamo detto, si può concludere che le variazioni indesiderate, provocate dal disturbo lungo la linea, possono essere riconosciute dal protocollo di trasmissione (livello 2).

UTILIZZO DELLA “CHIAVE”
Può accadere anche, però, che il contenuto di un messaggio risulti manomesso in seguilo a intercettazioni non autorizzate. Oppure può sorgere la necessità di permettere solo ad alcuni utenti di spedire certi tipi di messaggi o di esaminare il loro contenuto. Problemi di questo genere vengono risolti, di solito, a livello applicativo, utilizzando tecniche di vario tipo.
Un primo livello di sicurezza può essere realizzalo per mezzo di un sistema di password, in questo caso, un utente può connettersi alla Rete solo se presenta una password corretta ed è anche possibile associare a ogni password un elenco di azioni possibili, in modo che l'accesso risulti differenziato a seconda degli utenti.
Un sistema più efficace può essere quello di manipolare il messaggio in partenza in modo da accorgersi, al suo arrivo, se sono state effettuale delle manomissioni.
Supponiamo, per esempio, che. da un terminale posto presso lo sportello di una banca, venga inviato, verso l’elaboratore centrale, un messaggio contenente la richiesta di accreditare un milione di euro sul conto corrente numero 10348. I dati da trasmettere sono essenzialmente tre:

  • una parola chiave che indichi quale operazione si deve effettuare (per esempio, ACC potrebbe corrispondere alla richiesta di esecuzione del programma per l’accredito in conto corrente):
  • il numero del conto:
  • l'importo.

Quindi il testo del messaggio potrebbe essere:

ACC103481000000

Con una tecnica simile a quella usata per il controllo di parità, si potrebbero aggiungere al messaggio alcuni caratteri, secondo un criterio prestabilito. Supponiamo, tanto per fare un esempio semplicissimo, di sommare Ira loro tutte le cifre che compaiono nel testo: tralasciando gli zeri, 1+3+4+8+1=17 e, ancora, 1+7=8. Si potrebbe, così, trasmettere:

ACC2308210000008

Rieseguendo il calcolo (2+3+8+2+1=16 e quindi 1+6=7), ci si accorgerebbe del disaccordo tra la cifra finale ricevuta (8) e i dati precedenti (che comporterebbero un 7) e quindi verrebbe segnalata la situazione anomala, senza effettuare alcuna operazione. Si tratta, in pratica, di un procedimento concettualmente simile a quello utilizzato per il codice fiscale, in cui l’ultimo carattere è, appunto, di controllo.
Naturalmente, come si è già detto a proposito del controllo di parità, questa precauzione non è sufficiente a sventare qualunque tentativo: basti pensare che se il conto nuovo, invece di 23082, fosse 23092, andrebbe lutto bene.
D’altra parte, l’esempio presentato qui è banale e, aggiungendo più caratteri di controllo, ottenuti con procedimenti un po’ più sofisticati, si può raggiungere un livello di sicurezza molto più alto, anche se non assoluto.
Un altro sistema che viene utilizzato molto di frequente è quello di crittografare il messaggio, cioè di modificarne il testo in modo che non si possa capire che cosa contiene. Si può, per esempio, progettare una tabella come quella presentata in figura, e sostituire, in base a questa, ogni carattere con un altro.


Così, da un messaggio iniziale come quello ipotizzalo prima, ACC103481000000, si otterrebbe:

ZLL830298333333

Per complicare ulteriormente le cose, si potrebbe decidere di scambiare tra loro alcuni caratteri, per esempio portare in Testa gli ultimi tre, ottenendo così:

333ZLL830298333

Quando l’elaboratore centrale riceve il messaggio crittografato, deve decrittografarlo, cioè applicare la trasformazione inversa (nel nostro esempio, si tratta di portare in coda i primi tre caratteri e di applicare la tabella A rovescio). È molto importante, allora, quando si opera in questo modo, progettare dei procedimenti che siano invertibili.
Le due tecniche che abbiamo esaminato si possono anche combinare, cioè si possono accodare dei caratteri di controllo e poi crittografare il messaggio risultante.
A questo punto, per capire il contenuto del messaggio, bisogna sapere quali operazioni sono state fatte e in quale ordine. In particolare. occorre ricostruire la tabella che è stata utilizzala per sostituire i caratteri.
A questo proposito, anzi, vale la penti di sottolineare che sarebbe bene se questa venisse variata periodicamente.

  Click to listen highlighted text! BIT: CONTROLLO DI PARITÀIl messaggio, mentre “viaggia” All’interno di ima Rete, può subire modifiche indesiderate, dovute al disturbo presente lungo la linea oppure a interventi non autorizzati. Abbiamo già avuto modo di osservare che un messaggio non è altro che una successione di bit (almeno, così viene visto dal più basso livello di protocollo). In fase di ricezione, occorre controllare se si ricevono esattamente gli stessi bit che sono stati trasmessi. Esistono diversi melodi per effettuare controlli di questo genere: qui illustreremo uno dei più semplici: il controllo di parità. Per spiegare in che cosa consiste, occorre ricordare che un byte è composto da otto bit. Il numero, all’interno del byte, dei bit di valore 1 può essere dispari oppure pari. Per esempio, nel byte 00110111 ci sono cinque bit di valore 1, mentre nel byte 0000001 I ce ne sono due. Il metodo del controllo di parità prevede di accodare agli otto bit di ogni byte trasmesso un nono bit, di controllo, secondo le seguenti regole: se nel byte è presente un numero pari di bit di valore 1, il nono bit vale 0. se nel byte è presente un numero dispari di bit di valore 1, il nono bit vale 1. Così, 00110111 diventa 001101111, mentre 00000011 diventa 000000110. Osserviamo che, così facendo, il numero complessivo di bit di valore 1, all’interno del gruppo di nove bit, è sempre pari. Quando i nove bit arrivano a destinazione, il ricevente isola i primi otto e calcola il relativo bit di controllo: se non coincide con il nono bit ricevuto, si ha la segnalazione di un errore. Per esempio, supponiamo di ricevere 000000001; essendo pari a 0 i primi otto bit, anche il nono bit avrebbe dovuto assumere il valore 0 e quindi si può concludere che la trasmissione non è stata corretta. Supponiamo, invece, di ricevere 001100110. Nei primi otto bit. ce ne sono quattro di valore 1 e quindi il valore 0 del bit di controllo appare corretto. Osserviamo, però, che non si tratta di una certezza assoluta, perché se fossero stali danneggiati due bit, questo metodo non ci permetterebbe di accorgercene. Così, se la stringa 001100000 fosse ricevuta come 001100110, non verrebbero rilevati errori. Se si vuole effettuare un controllo piò efficiente, bisogna adottare, quindi, tecniche più complicate di questa. Esaminando questo semplice metodo, però, ci si può rendere conto di come sia possibile verificare la correttezza della trasmissione aggiungendo al messaggio originario dei bit di controllo. Il modello OSI attribuisce al secondo dei sette livelli previsti il compilo di compiere unoperazione di questo genere. In questo modo, quando il messaggio viene trasmesso attraverso il mezzo fisico (livello 1). “viaggia” corredalo dei bit di controllo. All’arrivo, quando si risale dal livello 1 al livello 2, si verifica che la successione di bit sia corretta e poi quelli di controllo vengono tolti, prima di passare il messaggio al livello 3. Da quanto abbiamo detto, si può concludere che le variazioni indesiderate, provocate dal disturbo lungo la linea, possono essere riconosciute dal protocollo di trasmissione (livello 2). UTILIZZO DELLA “CHIAVE” Può accadere anche, però, che il contenuto di un messaggio risulti manomesso in seguilo a intercettazioni non autorizzate. Oppure può sorgere la necessità di permettere solo ad alcuni utenti di spedire certi tipi di messaggi o di esaminare il loro contenuto. Problemi di questo genere vengono risolti, di solito, a livello applicativo, utilizzando tecniche di vario tipo.Un primo livello di sicurezza può essere realizzalo per mezzo di un sistema di password, in questo caso, un utente può connettersi alla Rete solo se presenta una password corretta ed è anche possibile associare a ogni password un elenco di azioni possibili, in modo che laccesso risulti differenziato a seconda degli utenti.Un sistema più efficace può essere quello di manipolare il messaggio in partenza in modo da accorgersi, al suo arrivo, se sono state effettuale delle manomissioni. Supponiamo, per esempio, che. da un terminale posto presso lo sportello di una banca, venga inviato, verso l’elaboratore centrale, un messaggio contenente la richiesta di accreditare un milione di euro sul conto corrente numero 10348. I dati da trasmettere sono essenzialmente tre: una parola chiave che indichi quale operazione si deve effettuare (per esempio, ACC potrebbe corrispondere alla richiesta di esecuzione del programma per l’accredito in conto corrente): il numero del conto: limporto. Quindi il testo del messaggio potrebbe essere: ACC103481000000 Con una tecnica simile a quella usata per il controllo di parità, si potrebbero aggiungere al messaggio alcuni caratteri, secondo un criterio prestabilito. Supponiamo, tanto per fare un esempio semplicissimo, di sommare Ira loro tutte le cifre che compaiono nel testo: tralasciando gli zeri, 1+3+4+8+1=17 e, ancora, 1+7=8. Si potrebbe, così, trasmettere: ACC2308210000008 Rieseguendo il calcolo (2+3+8+2+1=16 e quindi 1+6=7), ci si accorgerebbe del disaccordo tra la cifra finale ricevuta (8) e i dati precedenti (che comporterebbero un 7) e quindi verrebbe segnalata la situazione anomala, senza effettuare alcuna operazione. Si tratta, in pratica, di un procedimento concettualmente simile a quello utilizzato per il codice fiscale, in cui l’ultimo carattere è, appunto, di controllo. Naturalmente, come si è già detto a proposito del controllo di parità, questa precauzione non è sufficiente a sventare qualunque tentativo: basti pensare che se il conto nuovo, invece di 23082, fosse 23092, andrebbe lutto bene.D’altra parte, l’esempio presentato qui è banale e, aggiungendo più caratteri di controllo, ottenuti con procedimenti un po’ più sofisticati, si può raggiungere un livello di sicurezza molto più alto, anche se non assoluto.Un altro sistema che viene utilizzato molto di frequente è quello di crittografare il messaggio, cioè di modificarne il testo in modo che non si possa capire che cosa contiene. Si può, per esempio, progettare una tabella come quella presentata in figura, e sostituire, in base a questa, ogni carattere con un altro. Così, da un messaggio iniziale come quello ipotizzalo prima, ACC103481000000, si otterrebbe: ZLL830298333333 Per complicare ulteriormente le cose, si potrebbe decidere di scambiare tra loro alcuni caratteri, per esempio portare in Testa gli ultimi tre, ottenendo così: 333ZLL830298333 Quando l’elaboratore centrale riceve il messaggio crittografato, deve decrittografarlo, cioè applicare la trasformazione inversa (nel nostro esempio, si tratta di portare in coda i primi tre caratteri e di applicare la tabella A rovescio). È molto importante, allora, quando si opera in questo modo, progettare dei procedimenti che siano invertibili. Le due tecniche che abbiamo esaminato si possono anche combinare, cioè si possono accodare dei caratteri di controllo e poi crittografare il messaggio risultante. A questo punto, per capire il contenuto del messaggio, bisogna sapere quali operazioni sono state fatte e in quale ordine. In particolare. occorre ricostruire la tabella che è stata utilizzala per sostituire i caratteri. A questo proposito, anzi, vale la penti di sottolineare che sarebbe bene se questa venisse variata periodicamente. Powered By GSpeech