Home > master > Internet ed il web

Internet ed il web

3 febbraio 2014

Introduzione
Nel 1957 l’unione sovietica mise in orbita il primo satellite, lo sputnik. Nel 1966 l’USA finanzia il progetto ARPANET per la creazione di una rete sicura su cui condividere i dati e non centralizzata in modo tale che in caso di guerra non sia facilmente distruggibile. Tale rete venne molto usata dalle università per condividere i dati basandosi su un protocollo di trasporto NCP.
Nel 1972 nasce la posta elettronica, da Ray Tomlinson e venne creato il protocollo SMTP da Jon Postel che ideo anche il protocollo DNS per la risoluzione dei nomi e l’introduzione dei domini. Aumentarono i numeri di host e si venne a creare la NSFnet più evoluta ed economica di ARPANET che venne dismessa.
Tim Berner Lee inventa il web per consentire l’accesso veloce al web. Nel 96 Microsoft crea il suo primo browser e cosi continua la crescita esponenziale del web.

Preliminari
Per Internet si intende la rete globale costituita da tutti gli host presenti mentre per WWW si intende un servizio presente in essa ed accessibile tramite il browser. Il WWW fu creato nel 91 da Tim Berner Lee ed il suo obiettivo era di condividere risorse indipendentemente dal Sistema Operativo. Per questo motivo vennero ideati:

  • URL: indirizzo univoco della risorsa
  • HTTP: protocollo di trasporto dei dati
  • HTML: linguaggi di formattazione dei testi

Le pagine HTML sono statiche ma contengono dei link che consentono l’accesso non lineare ad altri documenti, sono degli ipertesti.
I principi del WEB sono:

  • interoperabilità: facile comunicazione tra le parti
  • evoluzione: struttura che possa consentire una facile modifica ed integrazione
  • decentralizzazione: eliminazione di nodi centrali

Per definire il WWW occorre:

  • concetto: documento che deve presentare ipertesto, deve essere ricercabile
  • protocolli: servono per poter trasferire i dati, per identificarli in rete
  • software: necessario per l’utilizzo
  • rete di informazioni: costituita dai protocolli FTP, HTTP

W3C
si occupa di definire le linee guida del Web, e le regole di accessibilità. E’ presieduto da Tim Berner Lee ed ha 3 sedi, MIT in USA, INRIA in Francia e KEIO in Giappone. Si occupa di produrre le raccomandazioni che contengono delle indicazioni da seguire e produce del software aderente alle indicazioni date, p.e. Amaya.
L’architettura che viene utilizza per la comunicazione è di tipo client-server in cui:

  • il client invia una richiesta su protocollo HHTP utilizzando il Browser, ossia lo sfogliatore delle risorse.
  • il server riceve la richiesta, la elabora restituendo il documento statico o dinamico in formato HTML con tutte le risorse presenti

Il Browser serve per interagire nel Web, per esempio usando IE o Firefox. Tramite il browser è possibile:

  • inviare richieste
  • interpretare le risposte in base ai formati MIME
  • eseguire plug-in ed helper
  • usare javascript, java e css

Il browser presenta dei tasti per consentire di andare avanti, indietro, fare ricerche, richiamare la home page, indicare l’URL, gestire i cookies per il riconoscimento utente.

La navigazione nel web avviene tramite il Browser, utilizzando gli iperlink per accedere ad altri contenuti facendo attenzione a non perdersi nella vastità della rete. Chi realizza un sito deve cercare di organizzarlo in termini di struttura e contenuto:

  • struttura: piccole pagine legate da iperlink e facili da caricare
  • contenuto: semplice esposizione dei contenuti presenti

Reti di calcolatori
Internet è identificata coma la rete delle rete, in quanto è composta da diverse reti, ossia gruppi di computer connessi tra di loro, che vengono ad integrarsi tramite dei c.d. gateway ossai dei dispositivi che convertono una architettura di rete in un’altra, nascondendo la propria struttura fisica.
I dispositivi presenti in una rete sono:

  • Computer: interagiscono con l’utente
  • Router: instradano pacchetti da una rete all’altra
  • Hub: inviano pacchetti in una rete
  • Switch: inviano pacchetti in modo seletttivo ad una porta di uscita

La rete può essere distinta:

in base della dimensione geografica:

  • PAN: personal area network: per esempio la rete casalinga
  • LAN: local area network: per esempio la rete in un ufficio, in cui un amministratore controlla la sicurezza e gestisce le connessioni per ottimizzare la velocità
  • MAN:metropolitan area network: una rete che copre una città
  • GAN: global area network: collega le reti mondiali

In base alla configurazione:

  • peer to peer: ogni computer è collegato direttamente con l’altro, a volta la connessione è condivisa con diversi computer, ogni computer senza amministratore di rete
  • client/server: ogni computer è connesso al server, esiste un amministratore che gestisce le connessioni

In base alla topologia:

  • bus: i computer sono connessi tramite un unico cavo senza creare un anello, i dati sono trasferti ad un disposito alla volta.
  • stella: i computer sono connessi ad ud unico dispositvo centrale ed i trasferimento possono avvenire anche in parallelo, ma se crolla il dispositivo la rete si ferma
  • anello: i computer sono connessi tra di loro in modo circolare, i dati sono trasmessi passando da computer a computer fino ad arrivare a destinazione quindi se un computer si blocca, l’intera rete si ferma. Per evitare questo blocco si crea un doppio anello da usare in caso di guasto, ma ciò è molto costoso.
  • maglia: ogni computer ha più connessioni in modo da gestire meglio i guasti, ma la struttura è più complessa, questo è il caso di internet

Canale di comunicazione
Il canale che collega due host può essere:

  • dedicato: se viene utilizzato un canale esclusivamente per i soggetti
  • commutato: se il canale viene utilizzato solo quando serve

Le tecniche di commutazione sono:

  • di circuito: quando occorre stabilire il circuito, commutare il canale e poi avviene la comunicazione (telefonico)
  • di pacchetto: non si stabilisce il circuito ed il canale ma i pacchetti viaggiano da punto all’altro contenendo l’indirizzo del destinatario (internet)

L’instradamento dei pacchetti può avvenire:

  • in modo statico: se si conosce a priori il percorso
  • in modo dinamico: se il percorso viene scelto ad ogni hop.

Le reti di accesso
Sono i dispositivo che consento il collegamento con il router di confine, ossia il primo router che consente l’accesso alla rete.
Sono di tre tipi:

  • accesso domestico: tramite telefono a 56K, tramite ISDN, per comunicare in digitale con doppia banda da 64K, oppure ADSL asincrono fino a 20M con sottobande utilizzabili per le telefonate.
  • accesso aziendale: tramite ethernet e cavi coassiali che possono raggiungere i 10M/1000M
  • accesso mobile: tramite connessioni wireless con onde radio dal cellulare al router di confine. Occorre garantire la connettività anche in caso di movimento.

Strumenti per il web
Tutti i dispositivi in internet sono identificabili tramite indirizzi IP composti da quattro numeri decimali ognuno composto da 8 bit per un totale di 32 bit (4x8bit=32bit). Ogni numero da 8 bit senza segno ha il range da 0 a 255 numeri, ossia 2^8=256 combinazioni.
Per rendere più agevole l’identificazione dei dispositivi, considerando che è difficile ricordare un indirizzo IP, vengono utilizzati i nomi host e di dominio. Il nome host serve per identificare un computer mentre un dominio per identificare una rete locale.
Per identificare l’indirizzo IP di un host appartenente ad un dominio, viene utilizzato il DNS. I DNS sono pensati per contenere solo alcuni domini pertanto se non conoscono un dominio rimandano l’interrogazione ad un altro DNS che possa gestire la ricerca. I DNS sono strutturati in modo gerarchico.
L’ultima parte di un indirizzo internet è composto:

  • da una sigla di 3 lettere che identifica l’organizzazione: .net, .com, .mil, .org, .int, .edu
  • in altri casi è composta da una sigla di 2 lettere che identifica la nazione: .it, .fr, au

Indirizzi
L’URI, Uniform Resource Identifier fu introdotto da Berners-Lee nel 1994 ma inizialmente la U stava per Universal ma poi fu cambiata.
Al fine di accedere ad una risorsa viene utilizzato l’URL Uniform resource Locator che contiene l’indirizzo fisico, mentre per identificare una risorsa in modo univoco viene utilizzato l’URN, Uniform Resource Name.
Un indirizzo internet localizzato tramite la URL può essere distinto in tre parti:

  • protocollo: serve ad indicare il protocollo da utilizzare, per esempio http
  • host: serve ad indicare host dominio e tipologia al fine di localizzare la risorsa tramite i DNS
  • path: percorso della risorsa interessata

L’URN invece serve per identificare una risorsa, e presenta alcune caratteristiche:

  • univocità: non è possibile avere 2 risorse con lo stesso URN
  • validità globale: indipendenza dalla localizzazione fisica
  • persistenza: una risorsa non può utilizzare un URN utilizzata da un altra risorsa nel passato
  • estensibilità: un URN deve prevedere la possibilità di nuove funzionalità
  • scalabilità: garantire tutte le caratteristiche

Le URN vengono assegnata da una naming authority che assicura l’univocità. La risoluzione è la procedura di determinazione di un URL a partire da un URN.

Protocolli
Considerando la varietà dei dispositivi presenti in internet, i diversi sistemi operativi, set di caratteri, dati ecc, al fine di consentire uno scambio di messaggi tra di essi occorre definire dei protocolli di comunicazione ossia delle regole condivise al fine di parlare un linguaggio comune.
L’esigenza che si aveva negli anni 70 era di:

  • definizione di un protocollo senza un proprietario
  • comunicazione tra sistemi eterogenei
  • indipendenza dalla rete dove erano locati
  • utilizzo dei protocolli senza autorizzazione

Queste esigenze portarono alla nascita del protocollo TCP/IP che è composto da diversi protocolli ma i più importanti sono il TCP e IP
Tale protocollo consente di:

  • suddividere i dati in pacchetti che contengono l’indirizzo di destinazione
  • instradare i pacchetti
  • controllare che non ci siano perdite di pacchetti

Tale protocollo si può utilizzare con una rete telefonica, fibra, eternet.
Il protocollo TCP/IP prevede 4 livelli:

  • applicativo: ha il compito di tradurre i dati delle applicazioni in pacchetti da inviare nella rete (FTP, SMTP, SNMP)
  • trasporto: ha il compito di trasmettere i pacchetti nin rete da un dispositivo ad un altro e gestire gli errori reinviando i pacchetti non giunti a destinazione(TCP, UDP)
  • internet: ha il compito di instradare i pacchetti da un dispositivo all’altro scegliendo il percorso migliore(ICMP, ARP, RARP)
  • fisico:ha il compito di gestire la connessione a livello fisico trasformando i pacchetti in bit per essere inviati tramite cavi o wireless. I destinatari sono identificati tramite il MAC, Media Access Control

Quando un pacchetto deve essere inviato esso contiene:

  • indirizzo del mittente e destinario
  • numero dei pacchetti
  • contenuto del messaggio in bytes
  • segnale fine pacchetto

Ogni livello contiene un header ed un body. L’header contiene le informazioni mentre il body contiene i dati.
Quando avviene il passaggio di dati, il livello applicativo viene incapsulate nel body del livello di trasporto mentre l’header contiene le informazioni.
Per ogni livello avverrà questo incapsulamento. Il pacchetto viene poi scompattato dal destinatario che aprirà il livello e passerà il contenuto del body al livello successivo che farà la stessa operazione. Quindi in sede di invio i livelli vengono incapsulati nel body del livello successivo mentre in sede di ricezione i livelli aprono il body e lo passano al livello sucessivo.

Protocolli applicativi
Tra i protocolli più importanti abbiamo i Gopher, Telnet e FTP

Gopher
E’ il protocollo ideato dall’Università del Minnesota e si riferisce alla mascotte, simile alla marmotta. Era molto usato all’epoca di Arpanet ma è stato soppiantato dal WWW.
Telnet
E’ un protocollo utilizzato per accedere ad un computer remoto ed eseguire delle operazioni. Per evitare usi impropri, la connessione viene garantita da una fase di autenticazione. E’ anche possibile accedere utilizzando come programma un browser. Il client invia i comandi usando un formato di caratteri ASCII

FTP
E’ un protocollo utilizzato per creare, copiare, spostare, elimiare file e cartelle. Anche in questo caso è solitamente richiesta una fase di autenticazione anche se è possibile effettuare un accesso anonimo che da diritto di visualizzare alcune cartelle e file con privilegi ridotti

Linguaggi di rappresentazione
L’evoluzione del web ha determinato la divisione tra dati e presentazione, nel senso che si sono definiti dei linguaggi utilizzati per contentere i dati ed altri linguaggi utilizzati per definire le logiche di visualizzazione. In questo modo è più agevole intervenire su questi aspetti in modo separato. Tra i linguaggi di rappresentazione abbiamo HTML, XHTML, XML

HTML
E’ stato creato nel 1980 da Berners-Lee al fine di strutturare il testo tramite l’utilizzo i marcatori “tags”. Il browser è un programma in grado di interpretare il linguaggio HTML e di visualizzare il contenuto presente. I tag sono delle istruzioni contenute nei simboli < e >
I vantaggi principali sono che HTML è

  • semplice
  • segue uno standard
  • è indipendente dalla piattaforma

Gli svantaggi sono che HTML:

  • non consente di dividere dati da formattazione
  • non consente una analisi semantica del contenuto
  • è un linguaggio chiuso e non modificabile
  • difficile creare pagine facili da leggere e scrivere
  • prevede link unidirezionali
  • le ricerche restituiscono il link alla pagina intera e non alla porzione di pagina

XML
Molti limiti del linguaggio HTML sono superati dall’XML infatti è possibile definire nuovi tag e viene utilizzato per l’interscambio di dati e per definire basi dati. Consente di definire struttura lineari, gerarchiche, relazionale o binaria. Essendo un meta-linguaggio consente di definire altri linnguaggi e definire dei tag in base al loro contenuto.
I vantaggi dell’XML sono:

  • è possibile definire delle nuove strutture dati
  • i parser XML sono presenti su tutte le piattaforme
  • è facilmente leggibile e modificabile
  • è facilmente utilizzabile su protocollo HTTP

Gli svantaggi sono:

  • grosse dimensioni per contenure le strutture dati
  • i parser non sono molto veloci

XHTML
Introdotto nel 2000 deriva da HTML e si basa su XML. Mira a risolvere alcuni problemi dell’HTML apportando un maggior rigore.
Prevede diversi vincoli:

  • Le intestazioni devono prevedere la versione XML e il DOCTYPE
  • il tag <html> è obbligatorio
  • i tag devono essere+ minuscoli e correttamente chiusi
  • ogni attributo di tag devono avere un valore

I vantaggi sono:

  • il codice è ben pulito e strutturato
  • vi è una netta separazione tra struttura e presentazione
  • è prevista la portabilità su diverse piattaforme
  • è estendibile incorporando XML

Gli svantaggi sono gli stessi dell’XML

I linguaggi di presentazione
Consentono di separare la struttura dei dati dalla loro presentazione in modo tale da:

  • tenere separati due diversi contesti ed evitare che il documento diventi troppo complesso
  • per consentire la riusabilità del codice, potendo cambiare la presentazione per dispositivi diversi. I linguaggi più utilizzati sono CSS e XSL

I CSS o Cascade Style Sheet
Consentono di definire una serie di regole per definire l’aspetto della pagina. Possono essere integrati nella pagina o essere presenti in un file separato richiato dalla pagina HTML.
Ogni regola è definita da un selettore al quale sono definite delle proprietà, ogni proprietà ha un valore. Ha la caratteristica del cascading, pertanto la regola speciale modifica quella generale. Solitamente le regole sono incluse in file di piccole dimensioni pertanto sono facilemente scaricabili.
Lo svantaggio è che non tutti i browser li supportano.

XSL o Estensible Stylesheet Language
E’ un linguaggio XML che consente di trasformare un documento XML in un altro documento XML essendo costituito da un linguaggio di trasformazione XSLT che consente di effettuare la trasformazione in modo semplice e potente consentendo di:

  • identificare i tag del documento
  • aggiungero o eliminare parti del documento
  • manipolare la struttura del documento

Un tipo utilizzo è la trasformazione per device mobili.

Linguaggi di programmazione
I linguaggi precedenti mostrano delle limitazioni mentre i linguaggi di programmazione sono molto potenti e consentono di rendere sempre più dinamici i siti web, per esempio usando javascript è possibile rendere dinamico il comportamente lato client.

Java
Questo linguaggio ha avuto molto successo in quanto è indipendente dalla piattaforma sottostante. Il programma viene precompilato per essere interpretato dalla JVM, dopodichè verrà compilato per l’esecuzione sulla macchina di destinazione.
Lato client sono presenti le applet che coinvolgono la JVM del client, mentre lato server sono presenti le servlet che implementano il protocollo HTTP per la fruizione dei servizi internet.

Javascript
E’ un linguaggio di scripting che viene eseguito lato client per rendere dinamiche le pagine HTML, realizzate effetti grafici ed animazioni, effettuare dei controlli

Web Services
Al fine di sfruttare il web per l’esposizione di servizi fruibili tramite la rete, ed inoltre per suupportare la inter-operabilità tra sistemi diversi, sono nati i WS.
I WS utilizzano:

  • protocollo HTTP per la comunicazione
  • linguaggio WSDL per la definizione del servizio
  • protocollo SOAP per lo scambio di messaggi

Il client ed il server possono anche utilizzare linguaggi di programmazione diversi mentre utilizzeranno gli stessi protocollo per la comunicazione (HTTP, SOAP, WSDL)

La ricerca di risorse web
Il web è ricco di risorse ed inoltre tali risorse sono in continuo divenire, vengono creati, modificati, cancellati, aggiunti, rimossi, spostati. Pertanto risulta molto difficile conoscere la loro localizzazione.
Per questo motivo assumono una posizione di grossa importanza i motori di ricerca che fornscono tale informazione.
I principali strumenti utilizzati per la ricerca delle informazioni sono:

  • Motori di ricerca che permettono di ricercare delle parole chiavi utilizzando una form che consente di immettere la parola da cercare. Le operazioni che effettuano i motori di ricerca sono:
    1. analisi dei documenti presenti nell’archivio
    2. ritrovamento dei documenti utili
    3. ordinamento in base ai parametri di ricerca
    4. invio del risultato
  • motori di ricerca a cluster: ossia aggrega i risultati di ricerca in base ai contesti, per esempio mooter.com
  • directory: la pagine del web vengono indicizzate in modo gerachichio. Tale attività è effettuata da delle persone.
  • metamotori: le ricerche avvengono avviando in parallelo delle ricerche che vengono visualizzate in elenchi separati o aggregate.
  • portali: permettono di avere a disposizione una serie di servizi: news, meteo, oroscopo, trasporti ecc

Differenze tra motori e directory:

  • i motori presentano molti più siti in quanto le ricerche sono automatiche mentre x le directory sono manuali
  • le informazioni sono più coerenti nelle directory in quanto c’è il lavoro di persone
  • i motori sono più veloci in quanto si basano sulle parole chiave mentre le directory sono più lente in quanto si basano su affinamenti successivi
  • i motori indicizzano le pagine mentre le directory indicizzano i siti
  • le directory spesso non hanno un proprio database a differenza dei motori

Funzionamento
Quasi tutti i motori di ricerca sono proprietari ed usano un algoritmo privato. I loro compiti sono:

  • monitorare il web: tramite web-crawler o spider che rovistano il web
  • indicizzare l’archivio: analizzare il documento e generare gli indici inversi, ossia per ogni chiave una lista di siti, pertanto la ricerca dell’utente può essere effettuata direttamente sull’indice inverso.

Le azioni da compiere da un motore sono:

  • ricevere la richiesta
  • identificare la chiave nella tabella degli indici inversi
  • produrre la lista dei siti
  • ordinare la lista in base ai criteri
  • restituire il risultato

Opzioni di ricerca
I motori mettono a disposizione una serie di opzioni per facilitare la ricerca: operatori booleani, ricerca per immagini, video, tipi di documenti. Tali ricerche vengono distinte in:

  • ricerche semplici: uno o più termini utilizzando gli operatori +(keywork obbligatoria), -(esclusa), “”(intera frase), min/MAI(case sensitive), *(qualunque contenuto)
  • ricerca avanzata: permette di indicare in dettaglio il contenuto cercato. Utilizza anche gli operatori: AND, OR, NOT,NEAR(keywork vicine)
  • ricerche specialistiche: tipi di documenti, sezione del documento, domini,  lingua, dimensione

Web semantico
Al fine di rendere il contenuto del web più accessibile e consentire dei risultati delle ricerche più congrue alle aspettative, occorre che la selezione del risultato non si basi sull’esistenza delle keyword utilizzate ma si basi sul concetto della keywork, che può essere associato ad un insieme di keywork con lo stesso significato.
Questo richiede la creazione di una ontologia che presenti i dati in modo strutturato e consenta una facile ricerca.

Question Answering
Indica la possibilità di ricercare delle precise informazioni, per precise domande. La risposta contiene parte della domanda. Questo problema è tipico delle 5W, who, what, which, when e why

Informazioni multimediali
Le informazioni sono presenti anche in forma video e audio, ma attualmente i motori di ricerca non indicizzano il contenuto ma solo il titolo del video/audio. Occorrerebbe che il contenuto venisse recuperato tramite uno speech retrival per estrarre le parole.

Archivi
Nel passato le informazioni erano presenti nelle enciclopedie mentre oggi sono presenti sul web che possono contenere contenuti anche video ed audio. Molto nota è wikipedia a contenuto libero anche se può non sempre presentare una fonte autorevole.

Trasminssione di file
In internet si utilizza una architettura client/server in cui alcuni sistemi sono dedicati ad esporre dei servizi, pertanto gli utenti interessati si connettono ad essi per recuperare i file.
Al fine di recuperare tali file in modo sicuro è possibile utilizzare vari protocolli:

  • HTTP: che non è cifrato
  • FTP: è il protocollo nato per trasferire file di diverso tipo tra computer. E’ possibile connetteri:
    1. in modo anonimo: utilizzato per mettere a disposizione documenti ma senza diritti di modifica e con visibilità limitata
    2. con account: utilizzato per utenti censiti che possono modificare il contenuto ed hanno una ampia visibilità

Quando si stabilisce una sessione FTP si ha la possibilità di:

  • navigare l’alberatura dei file
  • scaricare il contenuto
  • inviare nuovi file

Al fine di realizzare queste operazioni occorre utilizzare una client FTP che consente di utilizzare le principali operazione:

  • GET: per prelevare
  • PUT: per inviare un file
  • CD: cambio cartella remota
  • LCD: cambio cartella locale
  • DIR: elenca contenuto cartella
  • ASCII/BINARY: imposta trasfermento testuale o binario
  • MPUT/MGET: invia/traferisce file multipli

Cifratura
Il protocollo FTP trasferisce in chiaro i dati trasferiti inclusi nome e password. Per evitare che altri possano intercettare la comunicazione possono essere utilizzati altri protocolli per cifrare la comunicazione.
Per cifrare tale comunicazione è possibile utilizzare:

  • SSH
  • FTPS
  • SCP
  • SFTP

SSH
Consente di realizzare delle connessioni cifrate. Occorre utilizzare un client SSH come putty. Per la connessione occorre indicare indirizzo, porta, username e password. Dopo è possibile eseguire tutti comandi locali.

FTPS
Si tratta del protocollo FTP che passa sul protocollo SSL/TLS al fine di cifrare i dati. Di solito si utilizza l’explicit FTP in cui il client si connette alla porta 21 in chiaro e poi chiede la sicurezza TLS.

SCP
Questo protocollo non utilizza FTP ma SSH, infatti si limita a trasferire file e non fornisce strumenti per gestire il file system.
Questo protocollo garantisce la cifratura dei dati ma ha poche funzionalità pertanto si preferisce FTPS

SFTP
Utilizza SSH per il trasferimento sicuro. Presenta le funzionalità tipiche per gestire il file system.
Per evitare problemi nella condivisione dei file, occorre concedere le autorizzazioni solo a chi realmente ne deve aver diritto. Il protocollo SFTP, poichè si basa su SSH, richiede una autenticazione mentre il protocollo FTPS, poichè si basa su SSL, prevede una autenticazione basata su certificati SSL, quindi può essere più generica.

File sharing
Questo consente di condividere le risorse tra computer usando una architettura peer-to-peer oppure client-server. Gli utenti mettono a disposizione il loro materiale ad una comunità al fine di poterne disporne di altro. Il file sharing non è illegale mentre lo è la condivisione di materiale in cui è presente un diritto d’autore, per esempio film, canzoni ecc
Alcuni software utilizzati sono: napster, edonkey, emule, gnutella, kazaa, fasttrack, winmx ecc

Comunicare in internet
Internet consente di comunicare ed interagire usando 2 tipi di comunicazione:

  • sincrona: in cui le persone devono essere presenti, come il caso della chat o delle video conferenze
  • asincrona: in cui le persone possono anche non essere connesse contemporaneamente, come nel caso della posta elettronica

Posta elettronica
E’ un servizio che consente di mandare ed inviare messaggi attraverso internet in modo economico, veloce e comodo in tutto il mondo. Il mittente deve essere collegato ad internet mentre il destinatario quando si connetterà ad internet potrà scaricare i messaggi ricevuti. L’accesso alla propria casella di posta richiede una autenticazione. Il mittente riceverà una notifica se il messaggio non è stato inviato oppure può essere notificato quando il destinatatio lo riceve. L’indirizzo di posta è composto dall’username@nome dell’host. Tra i servizi più famosi sono: hotmail, yahoo, libero, gmail. Di solito il servizio di mail viene esposto tramite web, la cui interfaccia comunica con il server di posta. Viene consentito di organizzare la propria mail creando cartelle in modo tale da gestirle come il proprio computer.

Inviare mail
Per inviare una email occorre compilare alcuni campi: TO, FROM, CC, BCC, SUBJECT, TEXT. Molti utenti usano applicazioni client di posta come Microsoft Office Outlook.

Componenti
Le componenti per inviare mail sono:

  • Mail user agent: è il lettore di posta che effettua tutti gli aspetti tecnici per
  • mail server: è il server di posta in cui vengono creati gli account degli utenti
  • protocollo SMTP: è il protocollo che si occupa di trasferire il messaggio, usa il protocollo TCP che essendo orientato alla connessione, assicura la correttezza dei dati.

SMTP
E’ un protocollo a 7 bit che può contenere solo caratteri semplici. Per inviare dei file da 8 bit, questi vengono convertiti in 7 bit prima della partenza per poi riconvertiti a 8 bit quando vengono ricevuti. Per
ovviare a questi problemi è stato definito il MIME che definisce il tipo di file, permettendo di traferire dati binari.

Protocolli di accesso
I protocolli utilizzati per recuperare le email sono il protocollo POP3 e IMAP

  • POP3 vengono utilizzati dei programmi per instaurare la connessione con il server, si utilizza nome e password per autenticarsi, di seguito l’user agent recupera i messaggi.
  • IMAP viene utilizzato per connessioni remote, i messaggi vengono cancellati su richiesta dell’utente. Svantaggi: è più lento di POP3. Vantaggi: i messaggi sono sempre disponibili, inviati in modalità sicura, non richiede particolari impostazioni.

Mailing list
L’utente si iscrive ad un argomenti di interesse e riceve i messaggi relativi all’argomento scelto.
Nel caso delle newsgroup, tutti possono leggere le conversazioni, mentre nelle mailing list solo gli iscritti possono ricevere le mail.
Sono molto simili alle newsletter in cui un utente si iscrive ad un argomento e riceve le notizie di aggiornamento, ma nelle newsletter non c’è interattività nel senso che l’utente non può rispondere ma può solo leggere la notizia senza commentare.

Newsgroup
I newsgroup sono utilizzati per scambiarsi le opinioni su un argomento. Gli argomenti sono strutturati per sotto-argomenti in modo da trattare argomenti specifici. Nei gruppi ci sono delle persone che partecipano attivamente dando delle indicazioni. Occorre seguire delle regole di buon comportamento.

Blog
Sono siti personali che vengono aggiornate periodicamente, trattano anche lavori personali dei blogger che spesso si linkano a vicenda. Non richiedono competenze tecniche e possono essere creati da tutti, basta registrarsi ad un provider, scegliere la grafica ed inserire il contenuto.

Chat
Le chat sono utilizzate per lo scambio di messaggi in tempo reale. Molte applicazioni consentono di incontrarsi. Gli utenti devono registrarsi e loggarsi con nome e password. Possono anche scambiarsi file, immagini e video. Possono anche effettuare una videochiamata.

Web 2.0
Fa riferimento ad un nuovo modo di interpretare il web pur utilizzando gli stessi protocolli TCP/IP ed HTTP:

  • indipendenza dalla piattaforma
  • creazione di documenti tramite il web
  • collaborazione tra utenti

Si passa da un web statico ad un web dinamico e creato dagli utenti. Il prossimo passaggio è di utilizare i programmi del pc direttamente sul browser.

Sicurezza in rete
Internet è accessibile in modo semplice e diretto da ogni parte del mondo ed anche da persone disposte ad arrecare danni a dati o applicazioni. Gli attacchi possono essere di varia natura.

Tipi di attacchi
Coloro che attaccano i computer sono definiti hacker, non sono necessariamente degli esperti di informatica, anche una persona non esperta ma che è in grado di sottrarre informazione è definitbile hacker.
I principali tipi di attacchi sono:

  • DOS: sono attacchi che hanno l’obiettivo di compromettere un servizio, in vario modo:
    1. consumando banda: alto traffico
    2. bloccando le risorse: utilizzo di CPU, RAM, disco
    3. bachi software: sfruttando i bugs
    4. routing e DNS: deviando il traffico
  • DDOS: sono degli attacchi DOS effettuati in modo distribuito tramite dei programmi zombi che vengono installati in rete e vengono attivati nello stesso momento tale da bloccare un servizio o sito preso di mira.
  • WEB SPOOFING: un hacker clona un intero sito al fine di far credere alla vittima di essere sul sito ufficiale in modo tale che può sniffare tutte le comunicazioni che l’utente effettua ed impossessarsi dei dati privati dell’utente.
  • CSS: se un hacker viene in possesso del cookie dell’utente, tramite degli script, possono simulare l’utente ed accedere alle sue informazioni.

Pertanto occorre fare attenzione ai link

  • attacchi in chat: può capitare che mentre si è in chat qualcuno riesca a spegnere il nostro pc o che venga bloccato.

Virus
E’ un piccolo programma che si replica sul computer della vittima che può comportare dei danni. Per essere attivi occorre che il programma venga aperto esplicitamente.
Possono essere pensati per:

  • cambiare programmi o dati
  • cambiano la modalità di avvio del pc

I virus sono distinti in:

  • virus polimorfico: cambiano la loro natura e sono di difficile riconoscimento dagli antivirus, ma non muta il programma
  • virus metamorfico: la mutazione avviene in tutto il codice del virus.
  • macrovirus: sono contenuti in applicazioni Office e si diffondono quando si apre office.

Falsi virus
Spesso vengono ricevuti dei messaggi che contengono delle informazione completamente false che inducono spesso le persone a crederci e inoltrarle a conoscenti per metterli in guardia. Questi messaggi vengono chiamati Hoax.

Trojan
Fanno riferimento al celebre cavallo di Troia. Si riferiscono a programmi  malevoli che apparentemente sembrano innocui ma una volta installati fanno partire una serie di azioni, per esempio installano virus oppure consentono l’accesso remote dell’hacker

Worm
Sono programmi che degradano le prestazioni del sistema o della rete, in quanto comportano la duplicazione di programmi in esecuzione rallentando le prestazioni. Inoltre si diffondono molto facilmente in rete e creano un forte traffico.

Proteggersi
Possono essere messe in atto una serie di azioni:

  • evitare che altre persone possano controllare le risorse del nostro sistema limitando i diritti di esecuzione.
  • installare antivirus, aggiornarli
  • controllare il software presente su chiavetta o altri dispositivi
  • aggiornare il sistema operativo
  • disattivare servizi rischiosi
  • non aprire file sospetti: nome.bmo.exe, nome.txt.vbs spesso usati per virus
  • attenzione nel condividere le cartelle
  • disconnettersi dalla rete se non serve
  • non aprire allegati di posta sconosciuta

Antivirus
Tali programmi sono utilizzati per controllare la presenza di eventuali virus. Occorre aggiornali periodicamente ed effettuare la scansione del disco.
I virus possono distinguersi in 3 tipi:

  • scanning: i virus vengono identificati tramite le impronte. Ma se il virus non è censito non può essere identificato
  • controllo integrita: vengono conservati in memoria le informazioni dei programmi più esposti per poi essere controllati a distanza di tempo se sono stati alterati per effetto di un virus
  • metodo euristico: viene controllato il funzionamento di files eseguibili per capire se sono sospetti. Nel caso positivo vengono eliminati per “presunzione”. Utile per tutelarsi da virus non noti.

Firewall
Forniscono la sicurezza a livello di rete controllando l’accesso ai device e alla sottorete. Sono sistemi sia hardware che software che servono per filtrare pacchetti in base a delle regole di sicurezza
Gli obiettivi sono:

  • bloccare ogni forma di attacco
  • nascondere la tipologia della sottorete
  • filtrare i pacchetti in uscita

Non è possibile bloccare tutti i servizi, per esempio HTTP, SMTP, POP3 pertanto degli attacchi possono provenire da questi protocolli, oppure possono provenire dall’interno.

Crittografia
La sicurezza è molto importante nello scambio di messaggi. In particolare è necessaria per:

  • segretezza: evitare che altri possa leggere il contenuto del messaggio
  • autenticazione: accertarsi che l’altro sia veramente ciò che dice di essere e non si tratti di una truffa
  • integrita: assicurarsi che il messaggio non sia stato  modificato durante la trasmissione in rete.
  • non repudiabilità: far in modo che l’altro non possa negare di aver eseguito una determinata azione.

Crtittografia deriva dal greco e significa scrittura nascosta. La tecnica consiste nel trasformare il testo in chiaro in un testo cifrato sulla base di una regola di trasformazione nota alle parti, in modo tale che il messaggio potrà essere trasformato in chiaro dal destinatario.

Firme digitali
La firma consente di autenticare il mittente per garantirne la provenienza. Occorre che essa sia verificabile, non falsificabile e non riproducibile.
Il processo segue questi passi:

  • il mittente applica al messaggio un algoritmo di hash per ottenere una impronta
  • l’impronta viene cifrata con la chiave privata
  • viene inviato il messaggio in chiaro + l’impronta cifrata
  • il destinatario applica la chiave pubblica del mittente all’impronta cifrata per ottenere l’impronta in chiaro
  • controlla che l’impronta decifrata sia uguale all’impronta ottenuta sul messaggio in chiaro

Sicurezza della privacy
L’interazione dell’utente avviene nel web utilizzando i cookies che detengono delle informazioni personali. Spesso gli attacchi vengono applicati a questi cookies in quanto il loro impossessamento consente di impossessarsi dell’identità di un soggetto.
I cookie contengono informazioni in merito ai gusti dell’utente, delle sue navigazioni precedenti al fine di proporre prodotti simili, memorizzano le credenziali utenti, la sua email.

Categorie:master