SSL fornisce protezione per le interazioni proteggendo la connessione TCP/IP
tra l'adattatore di risorse IMS TM e IMS Connect.
Con l'evoluzione delle informazioni Web e On-Demand, la protezione dei dati è diventata molto importante per gli utenti Internet. Il protocollo SSL (Secure Sockets Layer) assicura che il trasferimento di dati sensibili tramite Internet
è sicuro.
SSL protegge le informazioni da:
- Intercettazione su Internet
- Furto di dati
- Analisi traffico
- Modifica dati
- Trojan horse del browser/server
Un modo in cui IMS Connector per Java comunica con IMS Connect è tramite i socket TCP/IP. Se IMS Connector per Java utilizza TCP/IP, SSL può essere utilizzato per proteggere la comunicazione TCP/IP tra le due entità. Il supporto SSL
fornito da IMS Connector per Java, insieme a quello fornito da IMS Connect, utilizza una combinazione di chiavi pubbliche e private con gli schemi di codifica simmetrica per acquisire l'autenticazione client e server, la riservatezza ed integrità dei dati. SSL è il migliore tra i protocolli di comunicazione TCP/IP e consente ad un server abilitato SSL di autenticare se stesso su un client abilitato SSL e viceversa. Per una connessione SSL tra IMS Connector per Java e IMS Connect, IMS Connector per Java viene considerato come il client e IMS Connect come il server.
Una volta completata l'autenticazione, il client e il server possono stabilire una connessione codificata che preserva anche l'integrità dei dati.
Per il supporto SSL se in esecuzione in ambiente WebSphere, IMS Connector per Java utilizza l'implementazione IBM di Java Secure
Socket Extension (IBM JSSE). La libreria SSL è inclusa negli ambienti di sviluppo IBM, come ad esempio Rational Application Developer, WebSphere Integration
Developer e in WebSphere Application Server.
Concetti SSL
- Certificato
- Un certificato digitale è un documento digitale che convalida l'identità del proprietario del certificato. Un certificato digitale contiene informazioni sul singolo utente, come il nome, la società e la chiave pubblica. Il certificato è firmato con firma digitale dall'autorità di certificazione (CA), che è un'autorità affidabile.
- Autorizzazione del certificato
- L'autorità di certificazione è una parte affidabile che crea ed invia certificati digitali ad utenti e sistemi. Il CA, come credenziale valida, stabilisce gli elementi base dell'affidabilità nei certificati.
- Gestione certificati
- I certificati e le chiavi pubbliche vengono conservati in file denominati keystore. Un keystore è un database
di materiale importante. Le informazioni keystore possono essere raggruppate in due categorie:
voci chiave e voci dei certificati sicure. I due tipi di voce possono essere memorizzati nello stesso keystore o separatamente in un keystore e in un truststore per scopi di sicurezza. Keystore e truststore vengono utilizzati dal client SSL, da IMS Connector
per Java e dal server SSL, IMS Connect.
- Keystore
- Un keystore contiene le voci chiave, come ad esempio la chiave privata di IMS Connector per Java e il client SSL.
- Truststore
- Un truststore è un keystore che contiene solo i certificati dell'utente. Aggiungere una voce al truststore solo se l'utente prende la decisione di giudicare attendibile quell'entità. Un esempio di voce truststore di IMS Connector per Java (client)
è il certificato del server SSL di destinazione; IMS Connect.
Per convenienza, IMS Connector per Java consente all'utente di memorizzare voci chiave e voci certificati sicure sia nel keystore
che nel truststore.
L'utente può scegliere se memorizzarle separatamente. IMS Connector per Java supporta solo certificati X.509 e il tipo di keystore "JKS" su piattaforme distribuite (che includono zLinux) e il tipo di keystore "JKS" o di keyring RACF su OS/390 e z/OS.
Processo SSL
Il protocollo SSL consiste dell'autenticazione del server, dell'autenticazione client (facoltativa ma fortemente consigliata) seguita da una conversazione codificata. Il seguente scenario illustra il processo SSL.
Autenticazione server
L'autenticazione del server SSL consente ad un client di confermare l'identità del server. Il software client abilitato SSL utilizza tecniche standard di codifica con chiave pubblica per assicurare che il certificato del server e l'ID pubblico siano validi e che il certificato e l'ID siano stati inviati da una delle autorità di certificazione affidabili dell'elenco dei client.
Autenticazione client
L'autenticazione del client SSL consente ad un server di confermare l'identità del client. Se si utilizzano le stesse tecniche utilizzate per l'autenticazione del server, il software del server abilitato SSL verifica che il certificato del client e l'ID pubblico siano validi e che il certificato e l'ID siano stati inviati da una delle autorità di certificazioni affidabili dell'elenco dei server.
Handshake SSL
Il client, IMS Connector per Java e il server, IMS Connect, memorizzano quei certificati e chiavi pubbliche nei keystore. La sessione SSL effettiva tra IMS Connector per Java e IMS Connect viene stabilita dalla seguente sequenza di handshake tra client e server.
La sequenza varia a seconda se il server viene configurato per fornire un certificato del server o per fornire un certificato del server e richiedere un certificato del client e quali pacchetti di crittografia siano disponibili per essere utilizzati. Un pacchetto è un algoritmo di codifica. Il protocollo SSL stabilisce come il client e il server negoziano pacchetti di crittografia da utilizzare, si autenticano l'uno con l'altro, trasmettono certificati, stabiliscono chiavi di sessione e trasmettono messaggi. Alcuni algoritmi utilizzati nei pacchetti includono:
- DES - Data Encryption Standard
- DSA - Digital Signature Algorithm
- KEA - Key Exchange Algorithm
- MD5 - Algoritmo Message Digest
- RC2 e RC4 - Pacchetti di crittografia Rivest
- RSA - Algoritmo a chiave pubblica per la codifica e l'autenticazione
- RSA Key Exchange - Scambio chiavi per SSL basato sull'algoritmo RSA
- SHA-1 - Secure Hash Algorithm
- SKIPJACK - Algoritmo a chiave simmetrica classificata implementato nell'hardware FORTEZZA
- Triple-DES - DES applicato tre volte.
I protocolli SSL 2.0 e SSL 3.0 supportano la sovrapposizione di insiemi di pacchetti di crittografia. Gli amministratori possono abilitare o disabilitare uno dei pacchetti di crittografia supportati per i client e i server. Quando un client o un server in particolare scambia le informazioni durante l'handshake SSL, il client e il server identificano i pacchetti di crittografia più difficili che hanno in comune e ne utilizzano uno per la sessione SSL.
Transport Layer Security, Versione 1 (TLS V1) è l'erede SSL 3.0. IMS Connector per Java supporta solo TLS V1. Non ci sono problemi di compatibilità con le versioni precedenti l'hardware.