Criptografia Web (Apache + PHP)
Um estudo de caso, literalmente....
Bruno Nunes
MSDPA 2006/2007
Arquitectura Prevista
O que nos espera...
 One-Way Cypher
 Mhash
 MCrypt
One-Way Cypher
 string crypt (string input_string,
[string salt])
 Vários algoritmos (especificados no “Salt”)
 CRYPT_STD_DES
 CRYPT_EXT_DES
 CRYPT_MD5
2 Caracteres
9 Caracteres
12 Caracteres, começando
como “$1$”
 CRYPT_BLOWFISH 16 Caracteres começando
como “$2$”
 Exemplo
Mhash
 Biblioteca de funções de hashing
 Algoritmos suportados:
 CRC32; HAVAL160; MD5; CRC32B;
HAVAL192; RIPEMD160; GOST;
HAVAL224; SHA1; HAVAL128;
HAVAL256; TIGER;
 Exemplo
MCrypt
 Extensão ao PHP
 Suporta Encriptação e Desencriptação
 Criptografia por Blocos
 Blowfish; RC2; Safer-sk64 xtea; Cast256; RC4; Safer-sk128; DES; RC4-iv;
Serpent; Enigma;Rijndael-128;
Threeway; Gost; Rijndael-192;
TripleDES; LOKI97; Rijndael-256;
Twofish; Panama; Saferplus;Wake
Continua
MCrypt (continuação)
 Vários modos de encriptação:
 ECB (electronic codebook) – Aconselhado para
encriptação pequenos volumes de dados, como
números de cartões de crédito
 CBC (cipher block chaining) – Ideal para a
encriptação de grandes volumes de dados, como
fcheiros
 CFB (cipher feedback) – deve ser utilizado
apenas para quantidades muito pequenas de
dados, em que há necessidade de encriptar
bytes individuais, como em streams
 Exemplo
Download

Slide 1