Protocolli di Crittografia per il Commercio Elettronico

Internet non è più soltanto un mezzo col quale acquisire informazioni e curiosare, ma anche interagire con altri utenti ed acquistare in modo diretto beni e servizi. Siamo giunti nell’era del commercio elettronico ( E-Commerce ) nel quale per avere successo occorrono un buon sistema di risorse software ed hardware dedicate, una gestione oculata del sito ed un’attenzione particolare alla sicurezza. Grazie ai protocolli di crittografia attualmente utilizzati queste operazioni di pagamento sono sicure, almeno quanto utilizzare le carte di credito al ristorante o in un negozio di abbigliamento.
Nel commercio elettronico il venditore ed il compratore non sono gli unici attori della transazione, infatti interviene una terza parte che ha lo scopo di legare i bit al denaro, cioè la moneta virtuale a quella reale, di solito è un’istituzione bancaria. Ci sono vari modi per pagare un bene su Internet, tra quelli più semplici abbiamo il bonifico bancario, l’assegno o il contrassegno; in questo caso però la vendita avviene tramite Internet, ma il pagamento al di fuori del sistema telematico. Il sistema maggiormente utilizzato però è la carta di credito, con questa le operazioni di comunicazione dei dati può avvenire secondo tre diverse modalità:

  • Posticipata – una volta scelto ed ordinato il prodotto via rete, l’utente comunica i dati della propria carta di credito via telefono o fax.
  • In Chiaro – una volta scelto il prodotto l’acquirente comunica il numero della propria carta di credito utilizzando un apposito form presente sul sito del venditore in maniera congiunta all’ordine.
  • Cifrata – una volta scelto il prodotto il compratore comunica alla controparte il numero della carta di credito per via telematica attraverso sistemi di cifratura.

Le tecniche di crittografia trovano interessanti applicazioni nei protocolli di comunicazione nell’ambito del commercio elettronico, tuttavia la semplice conoscenza di questi algoritmi non è sufficiente per garantire la sicurezza di una transazione, tali algoritmi difatti vanno inseriti all’interno di sistemi e protocolli più generali, finalizzati a standardizzare tutte le operazioni di transazione e verificare che queste avvengano in maniera sicura. A tal proposito sono stati sviluppati numerosi protocolli, tra i quali:

  • SSL ( Secure Socket Layer ) – sviluppato da Netscape Communications costituisce il protocollo maggiormente implementato in numerosi software client e server di larga diffusione commerciale. Si tratta di un sistema di cifratura basato su diversi algoritmi di crittografia i cui obiettivi primari sono di assicurare una comunicazione riservata ed affidabile tra le parti, inserimento del protocollo senza conoscerne la modalità operativa, inserimento di nuovi algoritmi di cifratura senza dover ridisegnare la procedura e non richiedere l’utilizzo di potenti risorse hardware e per questo non avere grandi tempi d’attesa.
  • S-HTTP – questo protocollo è stato sviluppato dalla Enterprise Integration Technologies e non presenta particolari differenze con SSL, tuttavia supporta altre tre tipi di scambio delle chiavi: il primo prevede l’utilizzo di un canale differente rispetto ad Internet, il secondo prevede una sessione di comunicazione diversa ed il terzo ne prevede l’ottenimento da un server Kerberos. La maggiore differenza però è quella per cui questo procollo opera a livello di applicazione, mentre SSL a livello di trasporto, questo per farne diventare un’estensione del protocollo HTTP e comunque viene confinato in applicazioni web.
  • PCT ( Personal Communication Technology ) – protocollo sviluppato da Microsoft simile a SSL; le sue caratteristiche più interessanti sono: riduzione dello scambio di messaggi tra client e server, maggiore possibilità di scelte per quanto riguarda gli algoritmi da utilizzare ed uso di chiavi per crittografare dati e messaggi.
  • SET ( Secure Electronic Transaction ) – questo protocollo nasce per rispondere all’esigenza dei pagamenti in rete mediante l’uso delle carte di credito. Nasce dalla cooperazione tra IBM, Microsoft, Netscape e naturalmente Visa e Mastercard. Il protocollo non è orientato unicamente alla trasmissione del numero della carta di credito, ma copre l’intera transazione online, compresa la registrazione per il pagamento e l’accredito al fornitore. In questo ambito gli attori coinvolti non sono più soltanto due, ma l’autorità di certificazione, il fornitore, il possessore della carta di credito ed un servizio di supporto per il fornitore ed il cliente ( acquirer ). Tramite la sua posizione centrale l’acquirer verifica l’esistenza della carta di credito ed il suo proprietario, autorizza quindi il venditore ad effettuare la transazione, poi, al termine di questa, comunica all’istituto gestore delle carte di credito l’importo da prelevare al cliente e da accreditare al fornitore; ovviamente anche l’acquirer deve esporre un suo certificato di autentificazione, visto il ruolo centrale che recita.

La sicurezza in un sistema è sempre proporzionale alla sicurezza garantita dall’anello più debole della catena, bisogna ricordare che va curato ogni singolo aspetto di un sistema di commercio elettronico, dall’inserimento dei dati del cliente alle comunicazioni con il server e la conservazione dei dati sensibili dell’utente. Oggi molti creano il proprio sito di E-Commerce su un proprio server e poi inviano i dati per il pagamento ad un istituto o altro servizio su Internet, che consente, a costo di una piccola percentuale sul venduto, di tralasciare la parte più delicata e demandarla ad altri per il pagamento tramite carte di credito.

Di Giampaolo Rossi

Sviluppatore software da oltre 16 anni.