Sicurezza di rete - Livello applicazione

Vari servizi aziendali sono ora offerti online tramite applicazioni client-server. I moduli più popolari sono l'applicazione web e la posta elettronica. In entrambe le applicazioni, il client comunica con il server designato e ottiene i servizi.

Durante l'utilizzo di un servizio da qualsiasi applicazione server, il client e il server si scambiano molte informazioni sulla Intranet o Internet sottostante. Siamo consapevoli del fatto che queste transazioni di informazioni sono vulnerabili a vari attacchi.

La sicurezza della rete implica la protezione dei dati dagli attacchi mentre sono in transito su una rete. Per raggiungere questo obiettivo, sono stati progettati molti protocolli di sicurezza in tempo reale. Tale protocollo deve fornire almeno i seguenti obiettivi primari:

  • Le parti possono negoziare in modo interattivo per autenticarsi a vicenda.
  • Stabilire una chiave di sessione segreta prima di scambiare informazioni sulla rete.
  • Scambia le informazioni in forma crittografata.

È interessante notare che questi protocolli funzionano a diversi livelli del modello di rete. Ad esempio, il protocollo S / MIME funziona a livello di applicazione, il protocollo SSL è sviluppato per funzionare a livello di trasporto e il protocollo IPsec funziona a livello di rete.

In questo capitolo, discuteremo diversi processi per ottenere la protezione per la comunicazione e-mail e i protocolli di sicurezza associati. Il metodo per proteggere il DNS viene trattato successivamente. Nei capitoli successivi verranno descritti i protocolli per ottenere la sicurezza web.

Protezione della posta elettronica

Al giorno d'oggi, la posta elettronica è diventata un'applicazione di rete molto diffusa. Discutiamo brevemente dell'infrastruttura di posta elettronica prima di procedere alla conoscenza dei protocolli di sicurezza della posta elettronica.

Infrastruttura di posta elettronica

Il modo più semplice per inviare un'e-mail sarebbe inviare un messaggio direttamente dalla macchina del mittente alla macchina del destinatario. In questo caso, è essenziale che entrambe le macchine funzionino contemporaneamente sulla rete. Tuttavia, questa configurazione non è pratica poiché gli utenti possono occasionalmente connettere le loro macchine alla rete.

Quindi, è arrivato il concetto di configurare server di posta elettronica. In questa configurazione, la posta viene inviata a un server di posta che è permanentemente disponibile sulla rete. Quando la macchina del destinatario si connette alla rete, legge la posta dal server di posta.

In generale, l'infrastruttura di posta elettronica è costituita da una rete di server di posta, denominata anche Message Transfer Agents (MTA) e macchine client che eseguono un programma di posta elettronica composto da User Agent (UA) e MTA locale.

In genere, un messaggio di posta elettronica viene inoltrato dal suo UA, passa attraverso la rete degli MTA e infine raggiunge l'UA sul computer del destinatario.

I protocolli utilizzati per la posta elettronica sono i seguenti:

  • Simple Mail Transfer Protocol (SMTP) utilizzato per l'inoltro dei messaggi di posta elettronica.

  • Post Office Protocol (POP) e Internet Message Access Protocol (IMAP) vengono utilizzati per recuperare i messaggi dal destinatario dal server.

MIMO

Lo standard di base della posta elettronica Internet è stato scritto nel 1982 e descrive il formato dei messaggi di posta elettronica scambiati su Internet. Supporta principalmente messaggi di posta elettronica scritti come testo in alfabeto romano di base.

Nel 1992 si sentì la necessità di migliorare lo stesso. Pertanto, è stato definito un MIME ( Multipurpose Internet Mail Extensions ) aggiuntivo standard . È un insieme di estensioni allo standard di base della posta elettronica Internet. MIME offre la possibilità di inviare e-mail utilizzando caratteri diversi da quelli dell'alfabeto romano di base come l'alfabeto cirillico (usato in russo), l'alfabeto greco o anche i caratteri ideografici del cinese.

Un'altra esigenza soddisfatta da MIME è l'invio di contenuti non di testo, come immagini o clip video. A causa di queste caratteristiche, lo standard MIME è stato ampiamente adottato con SMTP per la comunicazione e-mail.

Servizi di protezione della posta elettronica

L'uso crescente della comunicazione e-mail per transazioni importanti e cruciali richiede la fornitura di alcuni servizi di sicurezza fondamentali come i seguenti:

  • Confidentiality - Il messaggio di posta elettronica non dovrebbe essere letto da nessuno tranne il destinatario previsto.

  • Authentication - Il destinatario dell'e-mail può essere sicuro dell'identità del mittente.

  • Integrity - Garanzia al destinatario che il messaggio di posta elettronica non è stato alterato da quando è stato trasmesso dal mittente.

  • Non-repudiation - Il destinatario dell'e-mail è in grado di dimostrare a una terza parte che il mittente ha effettivamente inviato il messaggio.

  • Proof of submission - Il mittente dell'e-mail riceve la conferma che il messaggio è stato consegnato al sistema di consegna della posta.

  • Proof of delivery - Il mittente riceve una conferma che il destinatario ha ricevuto il messaggio.

I servizi di sicurezza come la privacy, l'autenticazione, l'integrità dei messaggi e il non ripudio vengono generalmente forniti utilizzando la crittografia a chiave pubblica.

In genere, esistono tre diversi scenari di comunicazione tramite posta elettronica. Discuteremo i metodi per ottenere i servizi di sicurezza di cui sopra in questi scenari.

E-mail one-to-one

In questo scenario, il mittente invia un messaggio di posta elettronica a un solo destinatario. Di solito nella comunicazione non sono coinvolti più di due MTA.

Supponiamo che un mittente desideri inviare un'e-mail riservata a un destinatario. La fornitura della privacy in questo caso si ottiene come segue:

  • Il mittente e il destinatario hanno le loro chiavi pubblica-privata rispettivamente come (S PVT , S PUB ) e (R PVT , R PUB ).

  • Il mittente genera una chiave simmetrica segreta, K S per la crittografia. Sebbene il mittente possa aver utilizzato R PUB per la crittografia, viene utilizzata una chiave simmetrica per ottenere crittografia e decrittografia più veloci.

  • Il mittente crittografa il messaggio con la chiave K S e crittografa anche K S con la chiave pubblica del destinatario, R PUB .

  • Il mittente invia un messaggio cifrato e criptato K S al destinatario.

  • Il destinatario ottiene prima K S decrittografando K S codificato utilizzando la sua chiave privata, R PVT .

  • Il destinatario poi decodifica il messaggio utilizzando la chiave simmetrica, K S .

Se in questo scenario sono necessari anche l'integrità del messaggio, l'autenticazione e i servizi di non rifiuto, i passaggi seguenti vengono aggiunti al processo precedente.

  • Il mittente produce hash del messaggio e firma digitalmente questo hash con la sua chiave privata, S PVT .

  • Il mittente invia questo hash firmato al destinatario insieme ad altri componenti.

  • Il destinatario utilizza la chiave pubblica S PUB ed estrae l'hash ricevuto sotto la firma del mittente.

  • Il destinatario quindi esegue l'hashing del messaggio decrittografato e ora confronta i due valori hash. Se corrispondono, l'integrità del messaggio viene considerata raggiunta.

  • Inoltre, il destinatario è sicuro che il messaggio sia stato inviato dal mittente (autenticazione). Infine, il mittente non può negare di non aver inviato il messaggio (non ripudio).

Posta elettronica destinatari uno-a-più

In questo scenario, il mittente invia un messaggio di posta elettronica a due o più destinatari. La lista è gestita dal programma di posta elettronica del mittente (UA + MTA locale). Tutti i destinatari ricevono lo stesso messaggio.

Supponiamo che il mittente desideri inviare e-mail riservate a molti destinatari (ad esempio R1, R2 e R3). La fornitura della privacy in questo caso si ottiene come segue:

  • Il mittente e tutti i destinatari hanno la propria coppia di chiavi pubblica-privata.

  • Il mittente genera una chiave simmetrica segreta, K s e crittografa il messaggio con questa chiave.

  • Il mittente quindi crittografa K S più volte con le chiavi pubbliche R1, R2 e R3, ottenendo R1 PUB (K S ), R2 PUB (K S ) e R3 PUB (K S ).

  • Il mittente invia il messaggio crittografato e il corrispondente K S crittografato al destinatario. Ad esempio, il destinatario 1 (R1) riceve il messaggio crittografato e R1 PUB (K S ).

  • Ogni destinatario estrae prima la chiave K S decrittografando K S codificato utilizzando la sua chiave privata.

  • Ogni destinatario poi decodifica il messaggio utilizzando la chiave simmetrica, K S .

Per fornire l'integrità del messaggio, l'autenticazione e il non rifiuto, i passaggi da seguire sono simili ai passaggi sopra menzionati nello scenario di posta elettronica uno a uno.

E-mail della lista di distribuzione uno a uno

In questo scenario, il mittente invia un messaggio di posta elettronica a due o più destinatari ma l'elenco dei destinatari non è gestito localmente dal mittente. In genere, il server di posta elettronica (MTA) gestisce la mailing list.

Il mittente invia una mail all'MTA che gestisce la mailing list e poi la posta viene esplosa dall'MTA a tutti i destinatari nell'elenco.

In questo caso, quando il mittente desidera inviare un'e-mail riservata ai destinatari della mailing list (ad esempio R1, R2 e R3); la privacy è assicurata come segue:

  • Il mittente e tutti i destinatari hanno la propria coppia di chiavi pubblica-privata. Il server Exploder ha una coppia di chiavi private-pubbliche per ciascuna mailing list (List PUB , List PVT ) gestita da esso.

  • Il mittente genera una chiave simmetrica segreta K s e quindi crittografa il messaggio con questa chiave.

  • Il mittente quindi crittografa K S con la chiave pubblica associata all'elenco, ottiene List PUB (K S ).

  • Il mittente invia un messaggio crittografato e List PUB (K S ). Il MTA esploditore decripta Elenco Publishing (K S ) usando Elenco PVT e ottiene K S .

  • I cripta esploditore K S con ben chiavi pubbliche in quanto vi sono membri della lista.

  • Exploder inoltra il messaggio crittografato ricevuto e il K S crittografato corrispondente a tutti i destinatari nell'elenco. Ad esempio, Exploder inoltra il messaggio crittografato e R1 PUB (K S ) al destinatario 1 e così via.

Per fornire l'integrità del messaggio, l'autenticazione e il non rifiuto, i passaggi da seguire sono simili a quelli forniti in caso di scenario di posta elettronica uno a uno.

È interessante notare che il programma di posta elettronica che utilizza il metodo di protezione sopra indicato per proteggere la posta elettronica dovrebbe funzionare per tutti i possibili scenari discussi sopra. La maggior parte dei suddetti meccanismi di sicurezza per la posta elettronica sono forniti da due schemi popolari, Pretty Good Privacy (PGP) e S / MIME. Discuteremo entrambi nelle sezioni seguenti.

PGP

Pretty Good Privacy(PGP) è uno schema di crittografia della posta elettronica. È diventato lo standard de facto per la fornitura di servizi di sicurezza per le comunicazioni e-mail.

Come discusso in precedenza, utilizza la crittografia a chiave pubblica, la crittografia a chiave simmetrica, la funzione hash e la firma digitale. Fornisce -

  • Privacy
  • Autenticazione del mittente
  • Integrità del messaggio
  • Non-repudiation

Insieme a questi servizi di sicurezza, fornisce anche la compressione dei dati e il supporto per la gestione delle chiavi. PGP utilizza algoritmi crittografici esistenti come RSA, IDEA, MD5, ecc. Piuttosto che inventare quelli nuovi.

Funzionamento di PGP

  • Viene calcolato l'hash del messaggio. (Algoritmo MD5)

  • L'hash a 128 bit risultante viene firmato utilizzando la chiave privata del mittente (algoritmo RSA).

  • La firma digitale viene concatenata al messaggio e il risultato viene compresso.

  • Una chiave simmetrica a 128 bit, K S viene generata e utilizzata per crittografare il messaggio compresso con IDEA.

  • K S viene crittografato utilizzando la chiave pubblica del destinatario utilizzando l'algoritmo RSA e il risultato viene aggiunto al messaggio crittografato.

Il formato del messaggio PGP è mostrato nel diagramma seguente. Gli ID indicano quale chiave viene utilizzata per crittografare KS e quale chiave deve essere utilizzata per verificare la firma sull'hash.

Nello schema PGP, un messaggio viene firmato e crittografato, quindi MIME viene codificato prima della trasmissione.

Certificato PGP

Il certificato della chiave PGP viene normalmente stabilito tramite una catena di fiducia. Ad esempio, la chiave pubblica di A viene firmata da B utilizzando la sua chiave pubblica e la chiave pubblica di B viene firmata da C utilizzando la sua chiave pubblica. Man mano che questo processo va avanti, stabilisce una rete di fiducia.

In un ambiente PGP, qualsiasi utente può agire come autorità di certificazione. Qualsiasi utente PGP può certificare la chiave pubblica di un altro utente PGP. Tuttavia, tale certificato è valido solo per un altro utente se l'utente riconosce il certificatore come un introduttore affidabile.

Esistono diversi problemi con un tale metodo di certificazione. Può essere difficile trovare una catena che porti da una chiave pubblica conosciuta e attendibile alla chiave desiderata. Inoltre, potrebbero esserci più catene che possono portare a chiavi diverse per l'utente desiderato.

PGP può anche utilizzare l'infrastruttura PKI con l'autorità di certificazione e le chiavi pubbliche possono essere certificate dalla CA (certificato X.509).

S / MIME

S / MIME è l'acronimo di Secure Multipurpose Internet Mail Extension. S / MIME è uno standard di posta elettronica sicuro. Si basa su un precedente standard di posta elettronica non sicuro chiamato MIME.

Utilizzo di S / MIME

L'approccio S / MIME è simile a PGP. Utilizza anche crittografia a chiave pubblica, crittografia a chiave simmetrica, funzioni hash e firme digitali. Fornisce servizi di sicurezza simili a PGP per la comunicazione e-mail.

I cifrari simmetrici più comuni utilizzati in S / MIME sono RC2 e TripleDES. Il solito metodo a chiave pubblica è RSA e l'algoritmo di hashing è SHA-1 o MD5.

S / MIME specifica il tipo MIME aggiuntivo, come "application / pkcs7-mime", per l'involucro dei dati dopo la crittografia. L'intera entità MIME viene crittografata e compressa in un oggetto. S / MIME ha formati di messaggi crittografici standardizzati (diversi da PGP). In effetti, MIME viene esteso con alcune parole chiave per identificare le parti crittografate e / o firmate nel messaggio.

S / MIME si basa sui certificati X.509 per la distribuzione della chiave pubblica. Ha bisogno di PKI gerarchica dall'alto verso il basso per il supporto della certificazione.

Occupabilità di S / MIME

A causa del requisito di un certificato dall'autorità di certificazione per l'implementazione, non tutti gli utenti possono trarre vantaggio da S / MIME, poiché alcuni potrebbero voler crittografare un messaggio, con una coppia di chiavi pubblica / privata. Ad esempio, senza il coinvolgimento o il sovraccarico amministrativo dei certificati.

In pratica, sebbene la maggior parte delle applicazioni di posta elettronica implementino S / MIME, il processo di registrazione del certificato è complesso. Invece il supporto PGP di solito richiede l'aggiunta di un plug-in e quel plug-in viene fornito con tutto ciò che è necessario per gestire le chiavi. Il Web of Trust non è realmente utilizzato. Le persone scambiano le loro chiavi pubbliche su un altro mezzo. Una volta ottenute, conservano una copia delle chiavi pubbliche di quelle con cui vengono abitualmente scambiate le e-mail.

Il livello di implementazione nell'architettura di rete per schemi PGP e S / MIME è mostrato nell'immagine seguente. Entrambi questi schemi forniscono protezione a livello di applicazione per la comunicazione e-mail.

Uno degli schemi, PGP o S / MIME, viene utilizzato a seconda dell'ambiente. Una comunicazione e-mail sicura in una rete captive può essere fornita adattandosi a PGP. Per la sicurezza della posta elettronica su Internet, dove molto spesso i messaggi di posta vengono scambiati con nuovi utenti sconosciuti, S / MIME è considerata una buona opzione.

Protezione DNS

Nel primo capitolo abbiamo accennato al fatto che un utente malintenzionato può utilizzare il DNS Cache Poisoning per eseguire un attacco sull'utente target. Domain Name System Security Extensions (DNSSEC) è uno standard Internet in grado di sventare tali attacchi.

Vulnerabilità del DNS standard

In uno schema DNS standard, ogni volta che l'utente desidera connettersi a qualsiasi nome di dominio, il suo computer contatta il server DNS e cerca l'indirizzo IP associato per quel nome di dominio. Una volta ottenuto l'indirizzo IP, il computer si connette a quell'indirizzo IP.

In questo schema, non è previsto alcun processo di verifica. Un computer chiede al suo server DNS l'indirizzo associato a un sito web, il server DNS risponde con un indirizzo IP e il tuo computer lo accetta senza dubbio come risposta legittima e si connette a quel sito web.

Una ricerca DNS avviene effettivamente in più fasi. Ad esempio, quando un computer richiede "www.tutorialspoint.com", viene eseguita una ricerca DNS in più fasi:

  • Il computer chiede prima al server DNS locale (fornito dall'ISP). Se l'ISP ha questo nome nella cache, risponde altrimenti inoltra la query alla "directory della zona principale" dove può trovare ".com". e le risposte della zona radice.

  • In base alla risposta, il computer chiede quindi alla directory ".com" dove può trovare "tutorialspoint.com".

  • Sulla base delle informazioni ricevute, il computer richiede "tutorialspoint.com" dove può trovare www. tutorialspoint.com.

Definito da DNSSEC

La ricerca DNS, se eseguita utilizzando DNSSEC, implica la firma delle risposte da parte dell'entità che risponde. DNSSEC si basa sulla crittografia a chiave pubblica.

Nello standard DNSSEC, ogni zona DNS ha una coppia di chiavi pubblica / privata. Tutte le informazioni inviate da un server DNS sono firmate con la chiave privata della zona di origine per garantire l'autenticità. I client DNS devono conoscere le chiavi pubbliche della zona per controllare le firme. I client possono essere preconfigurati con le chiavi pubbliche di tutti i domini di primo livello o il DNS principale.

Con DNSSEC, il processo di ricerca procede come segue:

  • Quando il tuo computer chiede alla root zone dove può trovare .com, la risposta è firmata dal root zone server.

  • Il computer controlla la chiave di firma della zona radice e conferma che si tratta della zona radice legittima con informazioni vere.

  • Nella risposta, la zona root fornisce le informazioni sulla chiave di firma del server della zona .com e la sua posizione, consentendo al computer di contattare la directory .com e assicurandosi che sia legittima.

  • La directory .com fornisce quindi la chiave di firma e le informazioni per tutorialspoint.com, permettendogli di contattare google.com e verificare che tu sia connesso al vero tutorialspoint.com, come confermato dalle zone sopra di esso.

  • Le informazioni inviate sono sotto forma di Resource Record Set (RRSets). L'esempio di RRSet per il dominio "tutorialspoint.com" nel server di primo livello ".com" è mostrato nella tabella seguente.

Nome del dominio Tempo di vivere genere Valore
tutorialspoint.com 86400 NS dns.tutorialspoint.com
dns.tutorialspoint.com 86400 UN 36..1.2.3
tutorialspoint.com 86400 CHIAVE 3682793A7B73F731029CE2737D ...
tutorialspoint.com 86400 SIG 86947503A8B848F5272E53930C ...
  • Il record KEY è una chiave pubblica di "tutorialspoint.com".

  • Il record SIG è l'hash firmato del server .com di primo livello dei record NS, A e KEY dei campi per verificarne l'autenticità. Il suo valore è Kcom pvt (H (NS, A, KEY)).

Pertanto, si ritiene che quando DNSSEC è completamente implementato, il computer dell'utente è in grado di confermare che le risposte DNS sono legittime e vere ed evitare attacchi DNS lanciati tramite avvelenamento della cache DNS.

Sommario

Il processo di protezione delle e-mail garantisce la sicurezza end-to-end della comunicazione. Fornisce servizi di sicurezza di riservatezza, autenticazione del mittente, integrità dei messaggi e non ripudio.

Sono stati sviluppati due schemi per la protezione della posta elettronica: PGP e S / MIME. Entrambi questi schemi utilizzano la crittografia a chiave segreta e a chiave pubblica.

La ricerca DNS standard è vulnerabile ad attacchi quali spoofing DNS / avvelenamento della cache. La protezione della ricerca DNS è fattibile tramite l'uso di DNSSEC che impiega la crittografia a chiave pubblica.

In questo capitolo abbiamo discusso i meccanismi utilizzati a livello di applicazione per fornire la sicurezza di rete per la comunicazione end-to-end.