Exercicios de Concurso Segurança da Informação
Por: Rodrigo.Claudino • 26/3/2018 • 2.490 Palavras (10 Páginas) • 310 Visualizações
...
base no tamanho eventual da mensagem, resultando em uma string com o tamanho de 40 caracteres. Seu funcionamento é quase semelhante ao MD5, visto que o SHA-1 foi criado com base nele. SHA-1 faz parte de várias aplicações e protocolos de segurança, tais como TLS, SSL, PGP, S/MIME e IPsec. Ele também é utilizado em sistemas de controle distribuídos com a tarefa de identificar revisões e detectar corrupção de dados.
Abaixo mostra o método que usará SHA-1 para criar um hash e, logo em seguida, devolver ele criptografado. O método GetSHA1HashData serve para inserir um string diretamente.
Hash usando SHA-1
private string GetSHA1HashData(string data)
{
SHA1 sha1 = SHA1.Create();
byte[] hashData = sha1.ComputeHash(Encoding.Default.GetBytes(data));
StringBuilder returnValue = new StringBuilder();
for (int i = 0; i < hashData.Length; i++) {
returnValue.Append(hashData[i].ToString());}
return returnValue.ToString();
}
Comentário: vai receber uma string e assim criar um hash.
Método para validar
private bool ValidateSHA1HashData(string inputData, string storedHashData){
string getHashInputData = GetSHA1HashData(inputData);
if (string.Compare(getHashInputData, storedHashData) == 0){
return true;
}
else
{
return false;
}
}
IPSec
IPSec é um conjunto de padrões utilizados para garantir uma comunicação criptografada entre hosts de uma rede mesmo que uma mensagem seja enviada de uma forma não segura. Possui nativamente o MD5 e o SHA1, que são algoritmos de autenticação e criptografia e também o DES-CBC, utilizado em criptografia.
Primeiramente, o IPSec adiciona um header (cabeçalho) para autenticação (authentication header). Esse é responsável para autenticação entre hosts, verificar a integridade dos dados e impedir ataques de repetição. Para isso, também utiliza o padrão de Encapsulating Securyty Payload (ESP).
Durante a conexão são usados 3 algoritmos, que são: United States Encryption Standard, Data Encryptation Standard e Triple Data Encryptation Standard. O motivo para tantos algoritmos é o para dificultar a quebra de segurança. Lembrando que o IPSec tem como base o modelo ponto-a-ponto para troca de informação.
O código abaixo, mostra a verificação entre dois host, e confirma se as configurações foram feitas corretamente:
RouterA#show crypto ipsec sa
interface: Serial2/0
Crypto map tag: mymap, local addr 172.16.1.1
protected vrf: (none)
local ident (addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (172.16.2.0/255.255.255.0/0/0)
current_peer 10.0.0.2 port 500
PERMIT, flags={origin_is_acl,
}
#pkts encaps: 43, #pkts encrypt: 43, #pkts digest: 43
#pkts decaps: 43, #pkts decrypt: 43, #pkts verify: 43
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 4, #recv errors 0
local crypto endpt.: 172.16.1.1, remote crypto endpt.: 10.0.0.2
path mtu 1500, ip mtu 1500, ip mtu idb Serial2/0
current outbound spi: 0x267BC43(40352835)
inbound esp sas:
spi: 0xD9F4BC76(3656694902)
transform: esp-des esp-md5-hmac ,
in use settings ={Tunnel,
}
conn id: 2001, flow_id: SW:1, crypto map: mymap
sa timing: remaining key lifetime (k/sec): (4558868/3550)
IV size: 8 bytes
replay detection support: Y
Status: ACTIVE
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0x267BC43(40352835)
transform: esp-des esp-md5-hmac ,
in use settings ={Tunnel, }
conn id: 2002, flow_id: SW:2, crypto map: mymap
sa timing: remaining key lifetime (k/sec): (4558868/3548)
IV size: 8 bytes
replay detection support: Y
Status: ACTIVE
outbound ah sas:
outbound pcp sas:
RSA
O RSA é um algoritmo de chave pública idealizado por Ron Rivest, Adi Shamir e Leonard Adleman., e o princípio
...