Prof. Sandro Wambier

Documentos relacionados
Criptografia Simétrica e Assimétrica, Hash, e Assinatura Digital

Segurança da Informação Aula 7 Assinaturas Digitais e HASH.

Conceito. HASH são caminhos de mão única (funções matemáticas) que são utilizados para se criar códigos.

UTILIZAÇÃO DE HASH CRIPTOGRAFADA PARA TRANSPORTE DE MENSAGENS (MAC), NO USO DO HMAC

Criptograa e Segurança

Virtual Private Network (VPN)

Segurança Informática em Redes e Sistemas

Agenda. Criptografia e Segurança Certificado Digital Assinatura Digital

Segurança e Auditoria de Sistemas. Confiança Mútua Assinatura Digital Certificado Digital

Técnicas de criptografia. Funções Hash Criptografia com chave secreta Criptografia com chave pública Assinatura digital Protocolos

Pacote de instalação dos componentes Selo Digital /SP

FUNÇÃO HASH CRIPTOGRAFADA (MD5, E A FAMÍLIA SHA) Muriel Mazzetto

AULA 08 CRIPTOGRAFIA E SEGURANÇA DE DADOS CRIPTOGRAFIA ASSIMÉTRICA CHAVES E ALGORITMOS 23/04/2016 PROF. FABIANO TAGUCHI

Redes de Computadores Aula 23

Códigos de Autenticação de Mensagens. Instituto de Computação - UNICAMP

CONCEITUAÇÃO CONCEITOS

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS TECNÓLOGO EM REDES. Professor Eduardo Maroñas Monks

Antivirus Antimalware

AULA 10 CRIPTOGRAFIA E SEGURANÇA DE DADOS CERTIFICADOS DIGITAIS ESTRUTURA DE UMA ICP 26/03/2016 PROF. FABIANO TAGUCHI

Segurança e Auditoria. Auditoria Coleta de dados, Análise de dados, Auditoria preventiva. de Sistemas

NOÇÕES DE INFORMÁTICA. Segurança da Informação Certificação Digital Parte 1

Manual de Instalação da Leitora para cartão e-cpf e Instrução para assinatura digital (SGP-e)

Manual de Instalação. Servidor Web LAMP

Manual de Integração do PLERES com a S_Line

Exercícios de Revisão Redes de Computadores Edgard Jamhour. SSL, VPN PPTP e IPsec

Tutorial para Instalação do dotproject

SEGURANÇA CRIPTOGRAFIA E SEGURANÇA DE DADOS. As funções de cifra são consideradas totalmente seguras se:

Administração de Sistemas Operacionais. Prof. Marlon Marcon

Aspectos importantes como a autenticação e autorização. Tipos de ameaças: Atividade não autorizada; Downloads não autorizados; Redes: local de transmi

Certificados Digitais. Prof Sandro Wambier

INSTALAÇÃO PRINTERTUX. Tutorial

Linha de Sistemas Folhamatic

Segurança e Auditoria de Sistemas. Autenticação

Manual SOFIA (Software Inteligente ARPEN-SP) versão 0.1

Segurança conceitos básicos. Sistemas Distribuídos

Instalação e Atualização do Comércio-plus. Baixando o Arquivo de Instalação

Procedimentos para Instalação Sisloc (Estação de Trabalho)

Interface gráfica do linux

Política de Segurança de Informações

Manual Para Peticionamento Online

Certificado Digital Protocolo

SEGURANÇA DA INFORMAÇÃO

Instalar Kubuntu IMPORTANTE. Pré-Requisito. Preparando o CD. Instalando. Tabela de conteúdo. De Wiki

AULA 5: Criptografia e Esteganografia

Geração de um certificado SSL (Secure Socket Layer) em RV120W e em RV220W

Desenvolvimento de Aplicações Distribuídas

Carreira Policial. Os princípios básicos de segurança da informações são: Criptografia

TUTORIAL PARA INSTALAÇÃO DO MYSQL SERVER

Manual do Usuário. Sistema Controle de Caixa (versão gratuita)

Guia de instalação do REIS

MANUAL DO SOFTWARE SPYLINK ANDROID

IPSEC. IP Security Protocol. *Utilize este material para fins educativos e não comerciais*

Criando o ambiente para o Curso Avaliação Genômica por Single Step

PTC Aula Autenticação do ponto final 5.5 Exemplo de aplicação: tornando o seguro. (Kurose, p ) (Peterson, p.

Zabbix 3 Instalação INSTALAÇÃO

Bot. Programa malicioso. Dispõe de mecanismos de comunicação com o invasor que permitem que ele seja controlado remotamente.

Segurança da Informação Aula 6 Principais Algoritmos Simétricos. Criptografia Assimétrica.

Configuração do gateway ao gateway VPN no Roteadores RV016, RV042, RV042G e RV082 VPN

Segurança Sistemas Distribuídos. junho de 2017

MANUAL DE UTILIZAÇÃO DO SISTEMA LUX NF-E V

Engloba os criptossistemas clássicos. Outros nomes: (Criptografia...)

BAIXA E INSTALAÇÃO DO CERTIFICADO DIGITAL. A3 em cartão + leitora

LÉO MATOS INFORMÁTICA

Tutorial Instalação e configuração do Wordpress

Sumário. 1

Conteúdo Como gerar os arquivos pelo WinMFD da Bematech?... 3 Como saber a data do arquivo?... 9 Como copiar os arquivos gerados para o PENDRIVE:...

MANUAL DE INSTALAÇÃO Safenet Authentication client 10.3

Guia para geração de certificado digital A1 em computador MANUAL DO USUÁRIO R 2. 0

MANUAL DO INSTALADOR DE CURSOS VERSÃO (64 bits) - BETA

MANUAL DE INSTALAÇÃO ProGRAB - Programação em Gestão por Resultados da Atenção Básica

BAIXA E INSTALAÇÃO DO CERTIFICADO DIGITAL. A3 em token

Este é um exemplo das informações de um certificado digital, que no caso é o meu: Informações do Certificado Digital

Segurança da Informação

Escrito por Luís Talora Qui, 19 de Maio de :32 - Última atualização Seg, 11 de Julho de :45

1 - Instalação do sistema Escrituração Fiscal

Transcrição:

Prof. Sandro Wambier

Hash: garantia de integridade dos dados Um hash é uma sequência de bits geradas por um algoritmo de dispersão, em geral representada em base hexadecimal, que permite a visualização em letras e números (0 a 9 e A a F). Ex.: MD5("The quick brown fox jumps over the lazy dog") = 9e107d9d372bb6826bd81d3542a419d6 O conceito teórico diz que "hash é a transformação de uma grande quantidade de informações em uma pequena quantidade de informações".

Ao baixar uma imagem ISO, como o DVD de instalação de uma distribuição Linux, por exemplo, o mesmo tipo de conferência pode ser feita. Antes de gravar a mídia e iniciar a instalação, convém sempre conferir se o hash (ou checksum) atribuído à imagem original é o mesmo da cópia presente no disco rígido da sua máquina.

Imagine a seguinte situação: Determinado arquivo está sendo compartilhado por torrent. Porém, uma das pessoas modifica o seu conteúdo e continua distribuindo-o pela rede. Dessa forma, quem fizesse o download desse conteúdo acabaria, no fim, com um arquivo adulterado, podendo estar corrompido ou, até mesmo, escondendo algum tipo de malware.

Para garantir a integridade dos dados compartilhados, os clientes de torrent usam um truque muito esperto: ao gerar o arquivo original, o software calcula uma sequência única de letras e números e a atribui aos arquivos ou pastas que começarão a ser compartilhados. Se a sequência estiver diferente, significa que o arquivo foi alterado e que não deve ser baixado. **O resumo calculado pela Função de Hash é único para cada mensagem. Qualquer alteração na mensagem irá gerar um hash diferente.

Essa sequência é conhecida como Hash info e pode ser facilmente verificada em indexadores como o The Pirate Bay:

MD5: O MD5 (Message-Digest algorithm 5) é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., muito utilizado por softwares com protocolo P2P, verificação de integridade e logins. SHA-1 (Secure Hash Algorithm): Desenvolvido pelo NIST e NSA. SHA-1 foi considerado o sucessor do MD5. WHIRLPOOL: função criptográfica de hash desenvolvida por Paulo S. L. M. Barreto e por Vincent Rijmen (co-autor do AES). A função foi recomendada pelo projeto NESSIE (Europeu). Foi também adotado pelo ISO e IEC como parte do padrão internacional ISO 10118-3.

Graças ao hash, sistemas computacionais não precisam armazenar as senhas dos usuários cadastrados na máquina em texto puro, ou seja, de maneira legível. Caso contrário, bastaria abrir esse arquivo ou tabela de banco de dados para ter acesso às senhas de todo mundo. Por isso, para saber se o que você digitou no campo password está correto, o sistema calcula o hash da senha informada e decide se libera seu login ou não.

Exemplo típico em PHP (função HASH) <?php // Senha do usuário, pode ter vindo do $_POST, $_GET ou outro lugar. $senha = 'hello world'; // Gera o hash da senha usando SHA512. $senha = hash('sha512',$senha); // Resultado: // ca4e913424bfcfe71c016829a371a1f1 // Salvamos o hash da senha no banco.

Rainbow Tables Você pode usar o SHA512, Whirlpool e pensar que está seguro, mas existe uma coisa chamada Rainbow Tables, onde um cracker gera uma tabela com o hash gerado de todas as palavras de um dicionário, combinando palavras e até adicionando símbolos e dígitos à essas palavras. Com essa Rainbow Table fica fácil descobrir a senha original (hello world). Existem diversos sites com diversas Rainbow Tables disponíveis para download.

RainbowCrack (BruteForce)

A solução: Salt A solução mais simples é utilizar um salt que é uma string complexa que será concatenada a senha, ou ainda melhor: utilizar outro campo como ID, telefone, etc como salt dinâmico, evitando utilizar salt fixo. <?php $salt = '1%1cAu!g+>K53PY}'; // Senha do usuário, pode ter vindo do $_POST, $_GET ou outro lugar. $senha = 'hello world'; // Gera o hash da senha usando SHA-512. $senha = hash('sha512', $senha. $salt); // Resultado: // c1de0ebde1fd59955ccd57ccd89ac2e9 // Salvamos o hash da senha+salt no banco.

A utilização da assinatura ou firma digital providencia a prova inegável de que uma mensagem veio do emissor. Para verificar este requisito, uma assinatura digital deve ter as seguintes propriedades: Autenticidade - o receptor deve poder confirmar que a assinatura foi feita pelo emissor; Integridade - qualquer alteração da mensagem faz com que a assinatura não corresponda mais ao documento; Irretratabilidade (não repúdio) - o emissor não pode negar a autenticidade da mensagem.

Existem diversos métodos para assinar digitalmente documentos, e esses métodos estão em constante evolução. Porém de maneira resumida uma assinatura típica envolve dois processos criptográficos: o hash (resumo) e a encriptação deste hash.

Após gerar o hash, ele deve ser criptografado através de um sistema de chave pública, para garantir a autenticação e a irretratabilidade. O autor da mensagem deve usar sua chave privada para assinar a mensagem e armazenar o hash criptografado junto a mensagem original.

Para verificar a autenticidade do documento, deve ser gerado um novo hash a partir da mensagem que está armazenada, e este novo resumo deve ser comparado com a assinatura digital. Para isso, é necessário descriptografar a assinatura utilizando a chave pública obtendo o hash original. Se ele for igual ao hash recém gerado, a mensagem está íntegra.

Exercício avaliativo Form seguro 1) Desenvolva um form de cadastro de usuários em PHP (usuário, senha e telefone) que armazene a senha no banco em forma de hash+salt fixo (O telefone será usado como salt) utilizando a função hash(). Obs.: Verifique a instalação dos servidores Apache2, MySQL e módulo PHP5 se for rodar em sua máquina local Debian-based, lembrando o caminho dos arquivos hospedados do Apache2: /var/www. Para instalar: $ apt-get install $ apt-get install $ apt-get install $ apt-get install apache2 php5 mysql-server phpmyadmin