|
Appunti informatica |
|
Visite: 1576 | Gradito: | [ Picolo appunti ] |
Leggi anche appunti:Il kit di simulazione della Java CardIl kit di simulazione della Java Card In questa appendice si mostra Dalle Smart Card alle Java CardDalle Smart Card alle Java Card Il principale limite delle Smart Card era Cifratura e decifraturaCifratura e decifratura La cifratura è il concetto più semplice della crittografia, |
Nei
paragrafi precedenti abbiamo potuto vedere quale sia la struttura
architetturale della JCA. Ai più attenti non potrà essere sfuggito il fatto che
il provider fornito di default dalla Sun Micorsystem, appunto SUN, presenta
alcune lacune, per non dire che manca totalmente, nella gestione dell'algoritmo
RSA e nella trattazione dei cifrari, indispensabili per effettuare operazioni
di cifratura e decifratura. Per riempire tale vuoto lasciato nella JCA,
Le
estensioni JCE implementano ed estendono le tecniche crittografiche definite
dalla JCA, fornendo provider alternativi a "SUN". Per inciso
Le
classi che costituiscono
Le classi principali sono le seguenti:
Cipher: per la cifratura e decifratura di dati mediante uno specifico algoritmo;
CipherInputStream e CipherOutputStream: incapsulano il concetto di canale sicuro, combinando tra loro oggetti Cipher con oggetti InputStream e OutputStream per gestire direttamente la cifratura e decifratura direttamente durante la comunicazione;
KeyGenerator: genera chiavi sicure per algoritmi simmetrici e per lo scambio Diffie-Hellmann (DH);
SecretKeyFactory: per la conversione di una chiave di tipo Key in chiavi opache o trasparenti;
SealedFactory: per la costruzione di oggetti serializzabili che incapsulano il cifrario semplificando la memorizzazione ed il trasferimento di oggetti cifrati;
KeyAgreement: per la gestione dei protocolli per concordare una chiave;
Mac: offre le funzionalità di MessageAuthentication Code.
Con
la nuova versione della piattaforma di Java, il JDK 1.4,
un'implementazione degli algoritmi di cifratura DES, TripleDES e Blowfish, in diverse modalità[2]: ECB, BCB, CFB, OFB e PCBC;
un'implementazione di MD5 con DES-CBC PBE[3] definito in PKCS#5 ;
una SecretKeyFactory per la conversione bidirezionale tra oggetti "opachi" DES, TripleDES e PBE e un "Key material" trasparente;
un'implementazione dello schema di padding[4] definito in PKCS#5.
Tra gli altri provider esistenti, uno che merita una nota particolare, anche perchè direttamente utilizzato per l'implementazione della tesi, è il package Bouncy Castle, il più completo provider di JCE e in licenza gratuita. Questo package offre molti servizi crittografici; tra questi, fornisce il supporto per i seguenti algoritmi:
Blowfish;
DES e DESede, che equivale al TripleDES della SunJCE;
IDEA;
RC2, RC4, RC5,RC6;
Rijndael, che equivale a AES di SunJCE;
Skipjack e Twofish;
RSA, DSA, Diffide-Hellmann;
MD2, MD5, SHA-1 e RipeMD160.
Inoltre fornisce la possibilità di leggere certificati in formato X.509, sia per la versione 2 che per la versione 3, come avviene all'interno di JCA con la classe java.security.cert.CertificateFactory. Quello che rende particolare questo aspetto, comunque, è la possibilità di leggere sia il formato di codifica PEM[5], sia quello DER .
La grossa limitazione di questo package è la scarsa documentazione fornita, che ne rende complicata la comprensione e l'utilizzo.
Appunti su: |
|
Appunti internet | |
Tesine c | |
Lezioni database | |