| |
|
| |
 |
Programming |
 |
 |
 |
| |
 |
Networking |
 |
 |
 |
| |
 |
Design
Style |
|
|
| |
*
you are here |
| |
the largest repository of Open Source code and applications
available on the Internet. SourceForge.net provides free services
to Open Source developers.
|
|
| |
freshmeat maintains the Web's largest index of Unix and cross-platform
software, themes and related "eye-candy", and Palm
OS software. Thousands of applications, which are preferably
released under an open source license, are meticulously cataloged
in the freshmeat database.
|
|
| |
The CERT® is a center of Internet security expertise,
located at the Software Engineering Institute, a federally
funded research and development center.
|
|
| |
The OpenBSD project produces a FREE, multi-platform 4.4BSD-based UNIX-like operating system |
|
|
|
|
![]() |
print
document |
![]() |
download
PDF |
|
| Flash
& Php – Rendere sicure le autenticazioni. |
 |
| Parte
VI |
| Cifrature
- Metodi ed Algoritmi |
Le
origini della cifratura dei messaggi sono remote e vicine
allo sviluppo stesso dei linguaggi. L’esigenza di rendere
un messaggio illeggibile agli occhi indiscreti è stata
sempre presente nello sviluppo della storia dell’uomo
ed è stata affrontata in vari modi, dalle primitive
forme di camuffamento sostitutivo delle parole, passando dai
sistemi traspositivi a chiave come il Codice Cifrato di Cesare,
per arrivare ai moderni algoritmi di cifratura. Tutti i sistemi
crittografici moderni, sono caratterizzati da una forte base
matematica, e la loro sicurezza, dipende appunto dalle possibili
combinazioni risultanti dalla lunghezza delle chiavi.
Per approfondire ulteriormente i concetti di cittrografia
o cifratura, vi sono molteplici risorse on line, in questo
documento tratteremo superficialmente alcuni metodi in modo
da chiarirne il loro utilizzo nello script che seguirà.
I principali sistemi crittografici si suddividono in:
• Sistemi
a Chiave Privata (algoritmi simmetrici)
Si chiamano cosi quei sistemi che utilizzano la stessa chiave
sia per criptare un messaggio sia per decifrarlo. I più
usati sono: 3-Des (Des usato tre volte); BlowFish; CAST; IDEA.
Gli algoritmi simmetrici sono molto più veloci ed economici
(in termini di risorse) di quelli asimmetrici, la debolezza
di tali algoritmi è legata alla confidenzialità
della chiave, che essendo unica, va diffusa a entrambi i capi
della comunicazione, e quindi, nel caso in cui cada in mani
sbagliate, rende la cifratura inutile.
• Sistemi
a Chiave Pubblica (algoritmi asimmetrici)
In questa categoria rientrano i sistemi: Diffie-Hellman; RSA;
ELGamal.
Essi utilizzano una coppia di chiavi, una chiave privata ed
una pubblica. I messaggi criptati con la chiave pubblica possono
essere decriptati soltanto con la chiave privata e viceversa.
In questo caso si può liberamente distribuire la propria
chiave pubblica a chiunque senza temere che i messaggi criptati
con questa possano essere decriptati da terzi.
Gli svantaggi di questo metodo, sono un notevole dispendio
di calcolo e di risorse, nonché la necessità
di una maggiore lunghezza delle chiavi (128 bit simmetrici
contro 1024 bit asimmetrici).
• Sistemi
Ibridi
Sono intesi ibridi i sistemi che utilizzano entrambi i metodi,
e cioè il messaggio viene criptato simmetricamente
con una chiave casuale che viene inserita nello stesso messaggio
dopo esser stata criptata in modo asimmetrico. In questo modo
si utilizza una codifica veloce per il messaggio, e una gravosa
per criptare soltanto la chiave che però è un’informazione
relativamente piccola e quindi non richiede particolari energie.
Un altro metodo utilizzato nella codifica dei dati, è
quello della codifica irreversibile (hashing), in questo modo
viene generato un digest del messaggio che non consentirà
in nessun modo la decodifica dello stesso, l’unico sistema
per verificare il digest, è quello di codificare nuovamente
il messaggio per poi confrontarlo con il digest. Questo sistema
si usa soprattutto per firmare i documenti con firma digitale
e l’ho citato perché lo utilizzeremo per la codifica
delle password nello script in php. I principali algoritmi
di hashing sono SHA-1 e MD5, noi utilizzeremo MD5. |
| |
 |
| |
| |
![]() |
print
document |
![]() |
download
PDF |
|