Buscar

Capítulo 05_ A arte de garantir a integridade

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Capítulo 5 A arte de garantir a integridade 
5.0 Introdução 
5.0.1 Bem-vindo 
5.0.1.1 Capítulo 5: a arte de garantir a integridade 
Capítulo 5: a arte de garantir a integridade 
A integridade assegura que os dados não 
sejam alterados por alguém ou alguma coisa e 
que permaneçam confiáveis ao longo de todo o 
ciclo de vida. A integridade de dados é um 
componente crítico para a concepção, 
implementação e uso de qualquer sistema que 
armazena, processa ou transmite dados. Este 
capítulo começa discutindo os tipos de controles 
de integridade de dados usados, como 
algoritmos hash, salting e código de 
autenticação de mensagem de hash com chave 
(HMAC). O uso de assinaturas digitais e 
certificados incorpora os controles de 
integridade de dados para oferecer aos usuários 
uma maneira de verificar a autenticidade das mensagens e documentos. O capítulo conclui com 
uma discussão de reforço de integridade de banco de dados. Ter um sistema de integridade de 
dados bem controlado e definido aumenta a estabilidade, o desempenho e a manutenção de um 
sistema de banco de dados. 
5.1 Tipos de controle de integridade de dados 
5.1.1 Algoritmos hash 
5.1.1.1 O que é hash? 
O que é hash? 
Os usuários precisam saber que os dados permanecem inalterados, enquanto estão inativos 
ou em trânsito. Hash é uma ferramenta que assegura a integridade de dados através da captura 
de dados binários (a mensagem) para produzir representação de tamanho fixo denominada valor 
de hash ou message digest, como mostrado na figura. 
 
 
 
 
 
 
A ferramenta de hash usa uma função criptográfica de hash para verificar e assegurar a 
integridade de dados. Também pode verificar a autenticação. As funções hash substituem a 
senha de texto simples ou chaves de criptografia porque as funções hash são funções 
unidirecionais. Isso significa que, se uma senha for confundida com um algoritmo de hash 
específico, o resultado sempre será o mesmo hash digest. É considerada unidirecional porque, 
com as funções hash, é computacionalmente inviável que dois conjuntos de dados distintos 
apresentem o mesmo hash digest ou saída. 
Cada vez que os dados são modificados ou alterados, o valor de hash também muda. Por isso, 
muitas vezes os valores criptográficos de hash são chamados de impressões digitais. Podem 
detectar arquivos de dados duplicados, alterações na versão do arquivo e aplicações similares. 
Esses valores protegem contra alterações de dados acidentais ou intencionais e corrupção de 
dados acidental. O hash também é muito eficiente. Um arquivo grande ou o conteúdo de uma 
unidade de disco inteira resulta em um valor de hash com o mesmo tamanho. 
5.1.1.2 Propriedades de hash 
Propriedades de hash 
O hash é uma função matemática unidirecional relativamente fácil de calcular, mas bastante 
difícil de reverter. A moagem de café é uma boa analogia de função unidirecional. É fácil moer 
grãos de café, mas é quase impossível unir novamente todos os pedaços para reconstruir os 
grãos originais. 
Uma função hash criptográfica tem as seguintes propriedades: 
 
• A entrada pode ser de qualquer comprimento. 
• A saída tem um comprimento fixo. 
• A função hash é unidirecional e não é reversível. 
• Dois valores de entrada distintos quase nunca 
resultarão em valores de hash idênticos. 
5.1.1.3 Algoritmos hash 
Algoritmos hash 
As funções hash são úteis para assegurar que um erro de comunicação ou do usuário altere os 
dados acidentalmente. Por exemplo, um remetente pode querer ter certeza de que ninguém 
alterará uma mensagem a caminho do destinatário. O dispositivo de envio insere a mensagem 
em um algoritmo de hash e calcula o digest de tamanho fixo ou a impressão digital. 
Algoritmo de hash simples (soma de verificação de 8 bits) 
A soma de verificação de 8 bits é um dos primeiros algoritmos hash e corresponde à forma 
mais simples de uma função hash. Uma soma de verificação de 8 bits calcula o hash, 
convertendo a mensagem em números binários e, então, organiza a sequência de números 
binários em partes de 8 bits. O algoritmo acrescenta os valores de 8 bits. A etapa final é converter 
o resultado usando um processo denominado complemento de 2. O complemento do 2 converte 
um binário no valor oposto e depois adiciona um. Isso significa que zero é convertido em um e um 
é convertido em zero. A etapa final é adicionar 1, resultando em um valor de hash de 8 bits. 
Clique aqui para calcular o hash de 8 bits da mensagem BOB. 
1. Converter BOB em binário usando o código ASCII, como mostrado na figura 1. 
2. Converter os números binários em hexadecimais, como mostrado na figura 2. 
3. Digitar os números hexadecimais na calculadora (42 4F 42). 
4. Clicar no botão Calculate (Calcular). O resultado é o valor de hash 2D. 
Experimente os seguintes exemplos: 
CONFIDENCIAL = “S”=53 “E”=45 “C”=43 “R”=52 “E”=45 “T”=54 
VALOR DE HASH = 3A 
MENSAGEM = “M”=4D “E”=45 “S”=53 “S”=53 “A”=41 “G”=47 “E”=45 
VALOR DE HASH = FB 
 
 
 
 
 
 
 
 
5.1.1.4 Algoritmos de hash modernos 
Algoritmos de hash modernos 
Há muitos algoritmos hash modernos amplamente usados atualmente. Dois dos mais 
populares são MD5 e SHA. 
Algoritmo Message Digest 5 (MD5) 
Ron Rivest desenvolveu o algoritmo de hash MD5 que é usado por várias aplicações na 
Internet atualmente. O MD5 é uma função unidirecional que facilita o cálculo de um hash a partir 
dos dados de entrada determinados, mas torna muito difícil calcular os dados de entrada 
estabelecendo apenas um valor de hash. 
http://easyonlineconverter.com/converters/checksum_converter.html
O MD5 produz um valor de hash de 128 bits. O malware Flame comprometeu a segurança do 
MD5 em 2012. Os autores do malware Flame usaram uma colisão de MD5 para falsificar um 
certificado de assinatura de código do Windows. Clique aqui para ler uma explicação sobre o 
ataque de colisão do malware Flame. 
Secure Hash Algorithm (SHA) 
O Instituto Nacional de Padrões e Tecnologia (NIST) dos EUA desenvolveu o SHA, o 
algoritmo especificado no padrão hash seguro (SHS). O NIST publicou o SHA-1 em 1994. O 
SHA-2 substituiu o SHA-1 com quatro funções hash adicionais para formar a família de SHA: 
• SHA-224 (224 bits) 
• SHA-256 (256 bits) 
• SHA-384 (384 bits) 
• SHA-512 (512 bits) 
O SHA-2 é um algoritmo mais forte e está substituindo o MD5. SHA-256, SHA-384 e SHA-512 
são os algoritmos de última geração. 
 
 
 
 
 
 
 
 
 
5.1.1.5 Arquivos de hash e meios de comunicação digital 
Arquivos de hash e meios de comunicação digital 
A integridade assegura que os dados e informações estejam completos e inalterados no 
momento da aquisição. É importante saber quando um usuário baixa um arquivo da Internet ou 
um avaliador de computação forense está procurando evidências nos meios de comunicação 
digital. 
Para verificar a integridade de todas as imagens IOS, a Cisco oferece as somas de verificação 
MD5 e SHA no site de download de software da Cisco. O usuário pode fazer uma comparação 
entre esse MD5 digest e o MD5 digest de uma imagem do IOS instalada em um dispositivo, como 
mostrado na figura. Agora o usuário pode ter certeza de que ninguém violou ou modificou o 
arquivo de imagem do IOS. 
https://blogs.technet.microsoft.com/srd/2012/06/06/flame-malware-collision-attack-explained/
Nota: O comando verify /md5, mostrado na figura, está fora do escopo deste curso. 
O campo de computação forense digital usa o hash para verificar todas as mídias digitais que 
contêm arquivos. Por exemplo, o avaliador cria um hash e uma cópia de bit a bit da mídia que 
contém os arquivos, para produzir um clone digital. O avaliador compara o hash da mídia original 
com a cópia. Se os dois valores forem compatíveis, as cópias são idênticas. O fato de que um 
conjunto de bits é idêntico ao conjunto original de bits estabelece invariabilidade. A invariabilidade 
ajuda a responder várias perguntas: 
• O avaliador tem os arquivos que ele esperava? 
• Os dados foramcorrompidos ou alterados? 
• O avaliador pode comprovar que os arquivos não estão corrompidos? 
Agora o perito em computação forense pode avaliar as evidências digitais da cópia, enquanto 
deixa o original intacto e inalterado. 
 
 
 
 
 
 
 
5.1.1.6 Senhas de hash 
Senhas de hash 
Os algoritmos hash transformam qualquer quantidade de dados em um hash digital ou 
impressão digital de tamanho fixo. Um criminoso não pode reverter um hash digital para descobrir 
a entrada original. Se a entrada mudar completamente, o resultado será um hash diferente. Isso 
funciona para proteger as senhas. Um sistema precisa armazenar uma senha de modo a protegê-
la, mas que ainda possa verificar se a senha do usuário está correta. 
A figura mostra o fluxo de trabalho para o registo e autenticação da conta do usuário usando 
um sistema de hash. O sistema nunca registra a senha no disco rígido, ele apenas armazena o 
hash digital. 
 
 
 
 
 
 
5.1.1.7 Aplicações 
Aplicações 
Use as funções hash criptográficas nas seguintes situações: 
• Fornecer a comprovação da autenticidade quando usada com uma chave de autenticação 
secreta simétrica, como IP Security (IPsec) ou autenticação de protocolo de roteamento 
• Fornecer autenticação gerando respostas unidirecionais únicas para desafios em 
protocolos de autenticação 
• Fornecer a comprovação da verificação de integridade da mensagem, como as que são 
usadas em contratos assinados digitalmente, e certificados de infraestrutura de chave 
pública (PKI), como os que são aceitos ao acessar um site seguro com um navegador 
Ao escolher um algoritmo de hash, use o SHA-256 ou superior, pois são os mais seguros 
atualmente. Evite o SHA-1 e o MD5 devido à descoberta das falhas de segurança. Em redes de 
produção, implemente o SHA-256 ou superior. 
Embora possa detectar alterações acidentais, o hash não pode proteger contra alterações 
deliberadas. Não há informações de identificação única do remetente no procedimento de hash. 
Isso significa que qualquer pessoa pode processar um hash para quaisquer dados, desde que 
tenha a função hash correta. Por exemplo, quando uma mensagem percorre a rede, um possível 
invasor poderia interceptar a mensagem, alterá-la, recalcular o hash e anexar o hash à 
mensagem. O dispositivo receptor só validará contra o hash que estiver anexado. Portanto, hash 
é vulnerável a ataques man in the middle e não oferece segurança aos dados transmitidos. 
 
 
 
 
 
 
 
 
 
5.1.1.8 Como decifrar hashes 
Como decifrar hashes 
Para decifrar um hash, um invasor deve adivinhar a senha. O ataque de dicionário e o ataque 
de força bruta são os dois principais ataques usados para adivinhar senhas. 
Um ataque de dicionário usa um arquivo que contém palavras, frases e senhas comuns. O 
arquivo tem os hashes calculados. Um ataque de dicionário compara os hashes no arquivo com 
os hashes de senha. Se um hash for compatível, o invasor descobrirá um grupo de senhas 
potencialmente boas. 
 
Um ataque de força bruta tenta todas as combinações possíveis de caracteres até determinado 
tamanho. Um ataque de força bruta consome muito tempo do processador, mas é só uma 
questão de tempo até esse método descubra a senha. O tamanho das senhas precisa ser grande 
o suficiente para que o tempo gasto para executar um ataque de força bruta valha a pena. As 
senhas de hash dificultam muito o trabalho do criminoso em recuperar as senhas. 
5.1.1.9 Atividade - Identificação da terminologia de hash 
 
 
5.1.2 Salting 
5.1.2.1 O que é salting? 
O que é salting? 
O salting torna o hash de senhas mais seguro. Se dois usuários têm a mesma senha, eles 
também terão os mesmos hashes de senha. Um SALT, que é uma cadeia de caracteres aleatória, 
é uma entrada adicional à senha antes do hash. Isso cria um resultado de hash diferente para as 
duas senhas, conforme mostrado na figura. Um banco de dados armazena o hash e o SALT. 
Na figura, a mesma senha gera um 
hash diferente porque o salt de cada caso 
é diferente. O salt não precisa ser 
confidencial porque é um número 
aleatório. 
 
 
 
5.1.2.2 Como evitar ataques 
Como evitar ataques 
O salting impede que um invasor use um ataque de dicionário para tentar adivinhar senhas. O 
salting também torna impossível o uso de tabelas de pesquisa e rainbow tables para decifrar um 
hash. 
Tabelas de pesquisa 
Uma tabela de pesquisa armazena os hashes de senhas pré-calculados em um dicionário de 
senha, juntamente com a senha correspondente. Uma tabela de pesquisa é uma estrutura de 
dados que processa centenas de pesquisas de hash por segundo. Clique aqui para ver a 
velocidade com que uma tabela de pesquisa pode decifrar um hash. 
Tabelas de pesquisa reversa 
Esse ataque permite que o criminoso virtual lance um ataque de dicionário ou um ataque de 
força bruta em vários hashes, sem a tabela de pesquisa pré-calculada. O criminoso virtual cria 
uma tabela de pesquisa que traça cada hash de senha a partir do banco de dados da conta 
violada para uma lista de usuários. O criminoso virtual executa um hash para cada palpite de 
senha e usa a tabela de pesquisa para obter uma lista de usuários cuja senha é compatível com o 
palpite do criminoso virtual, como mostrado na figura. O ataque funciona perfeitamente, pois 
muitos usuários têm a mesma senha. 
Rainbow tables 
As rainbow tables sacrificam a 
velocidade de quebra de senha para 
diminuir o tamanho das tabelas de 
pesquisa. Uma tabela menor 
significa que a tabela pode 
armazenar as soluções para mais 
hashes na mesma quantidade de 
espaço. 
5.1.2.3 Implementação de salting 
Implementação de salting 
 
https://crackstation.net/
Um Cryptographically Secure Pseudo-Random Number Generator (CSPRNG) é a melhor 
opção para gerar o salt. CSPRNGs geram um número aleatório que tem um alto nível de 
aleatoriedade e é completamente imprevisível, portanto, é criptograficamente confiável. 
Para implementar o salt com sucesso, siga as seguintes recomendações: 
• O salt deve ser exclusivo para cada senha de usuário. 
• Nunca reutilize um salt. 
• O tamanho do sal deve corresponder ao tamanho da saída da função hash. 
• Sempre execute o hash no servidor em um aplicativo da Web. 
O uso de uma técnica chamada alongamento de chave também ajudará a proteger contra-
ataques. O alongamento de chave executa a função hash muito lentamente. Isso impede o 
hardware de ponta que pode calcular bilhões de hashes por segundo menos eficazes. 
A figura mostra as etapas usadas por um aplicativo de banco de dados para armazenar e validar 
uma senha de salt. 
 
 
 
 
 
 
 
5.1.2.4 Laboratório - Como decifrar senhas 
Laboratório - Como decifrar senhas 
Neste laboratório, você cumprirá o seguinte 
objetivo: 
• Use uma ferramenta de quebra de 
senha para recuperar a senha de um usuário. 
Laboratório - Como decifrar senhas 
 
 
 
5.1 Tipos de controle de integridade de dados 
5.1.3 HMAC 
https://contenthub.netacad.com/legacy/CyberEss/1.0/pt/course/files/5.1.2.4%20Lab%20-%20Password%20Cracking.pdf
5.1.3.1 O que é um HMAC? 
O que é um HMAC? 
O próximo passo para evitar que um criminoso virtual lance um ataque de dicionário ou um 
ataque de força bruta em um hash é adicionar uma chave secreta ao hash. Somente a pessoa 
que tem conhecimento do hash pode validar uma senha. Uma maneira de fazer isso é incluir a 
chave secreta no hash, usando um algoritmo de hash denominado código de autenticação de 
mensagem de hash com chave (HMAC ou KHMAC). HMACs usam uma chave secreta adicional 
como entrada à função hash. O uso do HMAC ultrapassa a garantira de integridade ao adicionar 
a autenticação. Um HMAC usa um algoritmo específico que combina uma função hash 
criptográfica com uma chave secreta, conforme mostrado na figura. 
Somente o remetente e o 
destinatário têm conhecimento da 
chave secreta e agora a saída da 
função hash depende dos dados 
de entrada e da chave secreta.Apenas as partes que têm 
acesso a essa chave secreta 
podem calcular o digest de uma 
função HMAC. Esta característica 
impede os ataques man in the 
middle e fornece a autenticação 
da origem dos dados. 
5.1.3.2 Operação do HMAC 
Operação do HMAC 
Considere um exemplo em que o remetente deseja assegurar que uma mensagem permaneça 
inalterada em trânsito e que o destinatária tenha uma forma de autenticar a origem da 
mensagem. 
Como mostrado na figura 1, o dispositivo de envio insere os dados (como o pagamento de 
Terry Smith de US$100 e a chave secreta) no algoritmo de hash e calcula o HMAC digest de 
tamanho fixo ou impressão digital. O destinatário obtém a impressão digital autenticada anexada 
à mensagem. 
 
 
 
 
 
 
Na figura 2, o dispositivo receptor remove a impressão digital da mensagem e usa a 
mensagem de texto sem formatação com a chave secreta como entrada para a mesma função de 
hash. Se o dispositivo receptor calcular uma impressão digital igual à impressão digital enviada, a 
mensagem ainda estará na forma original. Além disso, o destinatário tem conhecimento da 
origem da mensagem, pois somente o remetente possui uma cópia da chave secreta 
compartilhada. A função HMAC comprovou a autenticidade da mensagem. 
 
5.1.3.3 Aplicação do HMAC 
Aplicação do HMAC 
Os HMACs também podem autenticar um usuário da Web. Muitos serviços da Web usam a 
autenticação básica, que não criptografa o nome de usuário e a senha durante a transmissão. 
Usando o HMAC, o usuário envia um identificador com chave privada e um HMAC. O servidor 
procura a chave privada do usuário e cria um HMAC. O HMAC do usuário deve ser compatível 
com o calculado pelo servidor. 
As VPNs que usam IPsec contam com as funções HMAC para autenticar a origem de cada 
pacote e fornecer a verificação de integridade de dados. 
Como mostrado na figura, os produtos da Cisco usam o hash para fins de autenticação de 
entidade, integridade de dados e autenticidade de dados: 
• Os roteadores Cisco IOS usam o 
hash com chaves secretas de maneira 
semelhante ao HMAC, para adicionar 
informações de autenticação às 
atualizações do protocolo de roteamento. 
• Os IPsec gateways e clientes 
usam os algoritmos hash, como MD5 e 
SHA-1 no modo de HMAC, para 
proporcionar a integridade e a 
autenticidade do pacote. 
• As imagens de software Cisco na página da Cisco.com disponibilizam uma soma de 
verificação de MD5, para que os clientes possam verificar a integridade das imagens 
baixadas. 
Nota: O termo entidade pode se referir a dispositivos ou sistemas dentro de uma empresa. 
5.2.1.1 O que é uma assinatura digital? 
O que é uma assinatura digital? 
As assinaturas de próprio punho e selos carimbados comprovam a autoria do conteúdo de um 
documento. As assinaturas digitais podem oferecer a mesma funcionalidade que as assinaturas 
de próprio punho. 
Os documentos digitais não protegidos pode ser facilmente alterados por qualquer pessoa. 
Uma assinatura digital pode determinar se alguém editou um documento após a assinatura do 
usuário. Uma assinatura digital é um método matemático usado para verificar a autenticidade e a 
integridade de uma mensagem, documento digital ou software. 
Em muitos países, as assinaturas digitais têm a mesma importância jurídica que um 
documento assinado manualmente. As assinaturas eletrônicas são vinculativas para os contratos, 
negociações ou qualquer outro documento que requer uma assinatura de próprio punho. Uma 
trilha de auditoria rastreia o histórico do documento eletrônico para fins de proteção legal e 
regulatória. 
Uma assinatura digital ajuda a estabelecer a autenticidade, a integridade e o não repúdio. As 
assinaturas digitais têm propriedades específicas que permitem a autenticação de entidade e a 
integridade de dados, como mostrado na figura. 
As assinaturas digitais são uma alternativa para o HMAC. 
 
 
 
 
 
 
 
 
 
Capítulo 5 A arte de garantir a integridade 
5.2 Assinaturas digitais 
5.2.1 Assinaturas e a lei 
5.2.1.2 Não repúdio 
Não repúdio 
Repudiar significa negar. O não repúdio é uma forma de assegurar que o remetente de uma 
mensagem ou documento não pode negar que enviou a mensagem ou documento e que o 
destinatário não pode negar que recebeu a mensagem ou documento. 
Uma assinatura digital 
assegura que o remetente 
assinou eletronicamente a 
mensagem ou documento. 
Como uma assinatura digital é 
exclusiva para a pessoa que a 
criou, essa pessoa não pode 
posteriormente negar que 
forneceu a assinatura. 
5.2.2 Como funciona a tecnologia de assinatura digital 
5.2.2.1 Processos de criação de uma assinatura digital 
Processos de criação de uma assinatura digital 
A criptografia assimétrica é a base das assinaturas digitais. Um algoritmo de chave pública, 
como o RSA, gera duas chaves: uma privada e outra pública. As chaves estão matematicamente 
relacionadas. 
Alice deseja enviar a Bob um e-mail que contém informações importantes para a implantação 
de um novo produto. Alice quer ter a certeza de que o Bob saiba que mensagem veio dela e não 
foi alterada após o envio. 
Alice cria a mensagem, juntamente com um message digest. Então, ela criptografa esse digest 
com a chave privada, como mostrado na figura 1. Alice agrupa a mensagem, o message digest 
criptografado e a chave pública para criar o documento assinado. Alice envia esse documento ao 
Bob, como mostrado na figura 2. 
Bob recebe e lê a mensagem. Para ter certeza de que a mensagem veio da Alice, ele cria um 
message digest da mensagem. Ele obtém o message digest criptografado enviado por Alice e o 
descriptografa usando a chave pública da Alice. Bob compara o message digest enviado por Alice 
com o que ele gerou. Se forem compatíveis, o Bob saberá que pode acreditar que ninguém 
adulterou a mensagem, como mostrado na figura 3. 
Clique aqui para visualizar um vídeo que explica o processo de criação de um certificado digital. 
 
 
 
 
 
 
 
 
 
 
 
 
 
https://youtu.be/E5FEqGYLL0o 
https://www.youtube.com/watch?v=E5FEqGYLL0o
https://youtu.be/E5FEqGYLL0o
5.2.2.2 Uso de assinaturas digitais 
Uso de assinaturas digitais 
Assinar um hash, em vez de todo o documento, proporciona eficiência, compatibilidade e 
integridade. As empresas podem querer substituir os documentos em papel e assinaturas 
convencionais por uma solução que garante que o documento eletrônico atende a todos os 
requisitos legais. 
As duas situações a seguir dão exemplos de como usar as assinaturas digitais: 
• Assinatura de código - Utilizada para verificar a integridade de arquivos executáveis 
baixados de um site do fornecedor. A assinatura de código também usa certificados digitais 
assinados para autenticar e verificar a identidade do site (figura 1). 
• Certificados digitais - Utilizados para verificar a identidade de uma empresa ou indivíduo 
para autenticar um site do fornecedor e estabelecer uma conexão criptografada para troca 
de dados confidenciais (figura 2). 
 
 
5.2.2.3 Comparação de algoritmos de assinatura digital 
Comparação de algoritmos de assinatura digital 
Os três algoritmos comuns de assinatura digital são Algoritmo de Assinatura Digital (DSA), 
Rivest-Shamir-Adleman (RSA) e Algoritmo de Assinatura Digital Elliptic Curve (ECDSA). Todos os 
três geram e verificam as assinaturas digitais. Esses algoritmos dependem das técnicas de 
criptografia assimétrica e chave pública. As assinaturas digitais requerem duas operações: 
1. Geração da chave 
2. Verificação da chave 
Ambas as operações exigem a criptografia e a decriptografia da chave. 
O DSA usa a fatoração de números grandes. Os governos usam o DSA de assinatura para 
criar assinaturas digitais. O DSA não ultrapassa a assinatura até a mensagem propriamente dita. 
O RSA é o algoritmo de criptografia com chave pública mais comum utilizado atualmente. O 
termo RSA é uma homenagem aos seus criadores em 
1977: Ron Rivest, Adi Shamire Leonard Adleman. O RSA 
depende da criptografia assimétrica. O RSA contempla a 
assinatura e também criptografa o conteúdo da mensagem. 
O DSA é mais rápido do que o RSA como uma 
assinatura de serviços para um documento digital. O RSA é 
o mais adequado para aplicações que requerem a 
assinatura e a verificação de documentos eletrônicos e 
criptografia de mensagens. 
Como a maioria das áreas de criptografia, o algoritmo RSA baseia-se em dois princípios 
matemáticos; módulo e fatoração de números primos. Clique aqui para saber mais sobre como o 
RSA utiliza o módulo e fatoração de números primos. 
O ECDSA é o mais novo algoritmo de assinatura digital que está substituindo o RSA 
gradativamente. A vantagem desse novo algoritmo é que pode usar chaves muito menores para a 
mesma segurança e requer menos cálculo do que o RSA. 
5.2.2.4 Laboratório - Utilização de assinaturas digitais 
Laboratório - Utilização de assinaturas digitais 
Neste laboratório, você cumprirá os seguintes 
objetivos: 
• Entenda os conceitos por trás das 
assinaturas digitais. 
• Demonstre o uso de assinaturas 
digitais. 
• Demonstre a verificação de uma 
assinatura digital. 
Laboratório - Utilização de assinaturas digitais 
 
5.3 Certificado 
5.3.1 Noções básicas de certificados digitais 
5.3.1.1 O que é um certificado digital? 
O que é um certificado digital? 
Um certificado digital é equivalente a um passaporte eletrônico. Permite que usuários, hosts e 
empresas troquem informações de forma segura através da Internet. Especificamente, um 
https://www.youtube.com/watch?v=wXB-V_Keiu8
https://contenthub.netacad.com/legacy/CyberEss/1.0/pt/course/files/5.2.2.4%20Lab%20-%20Using%20Digital%20Signatures.pdf
certificado digital autentica e verifica se os usuários que enviam uma mensagem são quem dizem 
ser. Os certificados digitais também podem proporcionar a confidencialidade para o destinatário 
por meio da criptografia de uma resposta. 
Os certificados digitais são semelhantes aos certificados físicos. Por exemplo, o certificado 
Cisco Certified Network Associate Security (CCNA-S) em papel da figura 1 identifica o indivíduo, a 
autoridade de certificação (quem autorizou o certificado) e por quanto tempo o certificado é válido. 
Observe como o certificado digital na figura 2 também identifica elementos similares. 
 
 
 
 
 
 
 
5.3.1.2 Utilização de certificados digitais 
Utilização de certificados digitais 
Para ajudar a entender como usar um certificado digital, consulte a figura. Nesse cenário, o 
Bob está confirmando um pedido com Alice. O servidor da Web da Alice usa um certificado digital 
para garantir uma operação segura. 
Passo 1: Bob navega para o site da Alice. Um navegador designa uma conexão confiável, 
exibindo um ícone de cadeado na barra de status de segurança. 
Passo 2: O servidor da Web da Alice envia um certificado digital para o navegador de Bob. 
Passo 3: O navegador de Bob verifica o certificado armazenado nas configurações do 
navegador. Somente certificados confiáveis permitem que a transação prossiga. 
Etapa 4: O navegador da Web de Bob cria uma chave de sessão única para ser usada somente 
uma vez. 
Passo 5: O navegador de Bob usa a chave pública do servidor da Web no certificado para 
criptografar a sessão. 
Passo 6: O resultado é que somente o servidor da Web da Alice pode ler as transações enviadas 
pelo navegador de Bob. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.3.1.3 O que é autoridade de certificação? 
O que é autoridade de certificação? 
Na Internet, a troca contínua de identificação entre todas as partes seria inviável. Portanto, as 
pessoas concordam em aceitar a palavra de terceiros imparciais. Supõe-se que terceiros 
conduzem uma investigação detalhada antes da emissão das credenciais. Após essa 
investigação detalhada, terceiros emitem credenciais que são difíceis de falsificar. Desse ponto 
em diante, todas as pessoas que confiaram em terceiros simplesmente aceitam as credenciais 
emitidas por terceiros. 
Por exemplo, na figura, Alice se inscreve no teste para uma carteira de motorista. Nesse 
processo, ela apresenta evidências de identidade, como certidão de nascimento, documento com 
foto e muito mais para um departamento de trânsito do governo. O departamento valida a 
identidade da Alice e permite que ela realize o teste de motorista. Após a conclusão com sucesso, 
o departamento de trânsito emite a carteira de motorista da Alice. Mais tarde, Alice precisa 
descontar um cheque no banco. Ao apresentar o cheque ao caixa do banco, ele solicita o RG 
dela. O banco verifica a identidade dela e desconta o cheque, pois confia do departamento de 
trânsito do governo. 
Uma autoridade de certificação (CA) atua da mesma forma que o departamento de trânsito. A 
CA emite certificados digitais que autenticam a identidade de empresas e usuários. Esses 
certificados também assinam mensagens para assegurar que ninguém adulterou as mensagens. 
 
5.3.2.1 O que está incluso em um certificado digital? 
O que está incluso em um certificado digital? 
Qualquer entidade pode ler e entender o certificado digital, independentemente do emissor, 
contanto que o certificado digital siga uma estrutura padrão. X.509 é uma norma da infraestrutura 
de chave pública (PKI), para gerenciar os certificados digitais. PKI consistem em políticas, 
funções e procedimentos necessários para criar, gerenciar, distribuir, usar, armazenar e revogar 
certificados digitais. O norma X.509 especifica que os certificados digitais contêm as informações 
padrão mostradas na figura. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.3.2.2 O processo de validação 
O processo de validação 
Os navegadores e aplicativos realizam uma verificação de validação, antes de assegurar que 
um certificado seja válido. Os três processos incluem o seguinte: 
• A descoberta do certificado valida o caminho de certificação, 
verificando cada certificado desde o início com o certificado da CA raiz 
• A validação do caminho escolhe um certificado da CA emissora 
para cada certificado na cadeia 
• A revogação determina se o certificado foi revogado e por que 
5.3.2.3 O caminho do certificado 
O caminho do certificado 
Um indivíduo obtém um certificado de uma chave pública de uma CA comercial. O certificado 
pertence a uma cadeia de certificados denominada cadeia de confiança. O número de certificados 
na cadeia varia de acordo com a estrutura hierárquica da CA. 
A figura mostra uma cadeia de certificados 
para uma CA de nível dois. Existe uma CA raiz 
off-line e uma CA subordinada on-line. A razão 
para a estrutura de nível dois é que a assinatura 
X.509 facilita a recuperação em caso de um 
compromisso. Se houver uma CA off-line, ela 
poderá assinar o novo certificado da CA on-line. 
Se não houver uma CA off-line, um usuário 
deverá instalar um novo certificado de CA raiz em 
cada máquina, telefone ou tablet do cliente. 
5.3.2.4 Atividade - Ordenar as etapas do processo de certificado digital 
 
 
 
 
 
 
 
 
• 5.4.1.1Integridade de dados 
5.4 Aplicação de integridade do banco de dados 
5.4.1 Integridade do banco de dados 
5.4.1.1 Integridade de dados 
Integridade de dados 
Os bancos de dados proporcionam uma maneira eficiente de armazenar, recuperar e analisar 
os dados. À medida que a coleta de dados aumenta e os dados se tornam mais confidenciais, é 
importante que os profissionais de segurança cibernética protejam o número crescente de banco 
de dados. Pense em um banco de dados como um sistema de arquivamento eletrônico. A 
integridade de dados refere-se à precisão, consistência e confiabilidade dos dados armazenados 
em um banco de dados. Os projetistas, desenvolvedores e gestores da empresa são 
responsáveis pela integridade de dados no banco de dados. 
As quatro regras ou restrições de integridade de dados são as seguintes: 
• Integridade daentidade: Todas as linhas devem ter um identificador único denominado 
chave primária (figura 1). 
• Integridade de domínio: Todos os dados armazenados em uma coluna devem seguir o 
mesmo formato e definição (figura 2). 
https://contenthub.netacad.com/legacy/CyberEss/1.0/pt/index.html#5.4.1.1
• Integridade de referência: A relação entre as tabelas deve permanecer coerente. 
Portanto, um usuário não pode excluir um registro que está relacionado a outro (figura 3). 
• Integridade definida pelo usuário: Um conjunto de regras definidas por um usuário que 
não pertence a uma das outras categorias. Por exemplo, um cliente faz um novo pedido, 
como mostrado na figura 4. O usuário verifica primeiro para saber se é um novo cliente. Se 
for, o usuário adicionará o novo cliente à tabela de clientes. 
 
 
 
 
 
 
 
 
 
 
 
 
5.4.1.2 Controles de entrada de dados 
Controles de entrada de dados 
A entrada de dados envolve a introdução de dados em um sistema. Um conjunto de controles 
assegura que os usuários digitem os dados corretos. 
Controles suspensos de dados mestre 
Tenha uma opção suspensa de tabelas mestre, em vez de pedir aos indivíduos para digitar os 
dados. Um exemplo controles suspensos de dados mestre é usar a lista de localidades do 
sistema de endereço postal dos E.U.A. para padronizar os endereços. 
Controles de validação de campos de dados 
Regras de configuração de verificações básicas, incluindo: 
• A entrada obrigatória assegura que um campo obrigatório contenha dados 
• As máscaras de entrada impedem que os usuários digitem dados inválidos ou ajuda a 
garantir que digitem dados consistentemente (como um número de telefone, por exemplo) 
• Montantes de dólares positivos 
• Os intervalos de dados asseguram que um usuário digite os dados em determinado 
intervalo (como uma data de nascimento inserida como 18-01-1820, por exemplo) 
• Aprovação obrigatória de uma segunda pessoa (um caixa de banco que recebe um 
depósito ou solicitação de retirada maior que um valor especificado aciona uma segunda 
ou terceira aprovação) 
• Gatilho de modificação de registro máximo (o número de registros modificados excede a 
um número pré-determinado num prazo específico e bloqueia um usuário até um gerente 
identifique se as transações são legítimas ou não) 
• Gatilho de atividade incomum (um sistema bloqueia quando reconhece a atividade 
incomum) 
 
 
 
 
 
5.4.2 Validação do banco de dados 
5.4.2.1 Sobre as Regras de Validação 
Sobre as Regras de Validação 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.4.2.2 Validação dos tipos de dados 
Validação dos tipos de dados 
A validação dos tipos de dados é a validação 
de dados mais simples e verifica se um usuário 
que insere dados é coerente com o tipo de 
caracteres esperados. Por exemplo, um número 
de telefone não conteria o caractere alfa. Os 
bancos de dados permitem três tipos de dados: 
número inteiro, sequência de caracteres e 
decimal. 
5.4.2.3 Validação de entrada 
Validação de entrada 
Um dos aspectos mais vulneráveis do gerenciamento da integridade do banco de dados é o 
controle do processo de entrada de dados. Muitos ataques conhecidos são executados contra um 
banco de dados e inserem dados desformatados. O ataque pode confundir, falhar ou fazer com 
que o aplicativo divulgue informações demais para o invasor. Os invasores usam ataques de 
entrada automática. 
Por exemplo, os usuários preenchem um formulário usando um aplicativo da Web para assinar 
um informativo. Um aplicativo de banco de dados gera e envia confirmações de e-mail 
automaticamente. Quando os usuários recebem as 
confirmações de e-mail com um link URL, para confirmar a 
assinatura, os invasores modificam o link URL. Essas 
modificações incluem a alteração do nome do usuário, 
endereço de e-mail ou status da assinatura. O e-mail 
retorna ao servidor do host do aplicativo. Se o servidor da 
Web não verificar se o endereço de e-mail ou as outras 
informações da conta enviados são compatíveis com as 
informações da assinatura, o servidor receberá falsas 
informações. Os hackers podem automatizar o ataque para inundar o aplicativo da Web com 
milhares de assinantes inválidos no banco de dados do informativo. 
5.4.2.4 Verificação de anomalias 
Verificação de anomalias 
A detecção de anomalias se refere à identificação de padrões em dados que não seguem o 
comportamento esperado. Esses padrões não conformes são anomalias, outliers, exceções, 
anormalidades ou eventos inesperados em diferentes aplicações de banco de dados. A detecção 
e verificação de anomalias é uma contramedida ou proteção importante na identificação de 
fraudes. A detecção de anomalias de bancos de dados pode identificar uma fraude de cartão de 
crédito e seguro. A detecção de anomalias de bancos de dados pode proteger os dados contra a 
destruição ou alteração em massa. 
A verificação de anomalias exige solicitações ou modificações de verificação de dados, quando 
um sistema detecta padrões incomuns ou inesperados. Um exemplo disso é um cartão de crédito 
com duas operações em locais de solicitação muito diferentes em um curto espaço de tempo. Se 
um pedido de transação de New York City ocorre às 10:30 e 
um segundo pedido vem de Chicago às 10:35, o sistema 
aciona uma verificação da segunda transação. 
Um segundo exemplo ocorre quando um número incomum 
de modificações do endereço de e-mail acontece em um 
número incomum de registros de banco de dados. Como os 
dados de e-mail lançam ataques de DoS, a modificação de e-
mail de centenas de registros poderia indicar que um invasor 
está usando o banco de dados de uma empresa como uma 
ferramenta para o ataque de DoS. 
5.4.2.5 Atividade - Identificar os controles de integridade de banco de dados 
 
 
 
 
 
 
 
 
5.4.3 Requisitos de integridade do banco de dados 
5.4.3.1 Integridade da entidade 
Integridade da entidade 
Um banco de dados é como um sistema de arquivamento eletrônico. Manter um arquivamento 
correto é fundamental para preservar a confiança e a utilidade dos dados no banco de dados. 
Tabelas, registros, campos e dados dentro de cada campo compõem um banco de dados. Para 
manter a integridade do sistema de arquivos do banco de dados, os usuários devem seguir 
determinadas regras. A integridade da entidade é uma regra de integridade, declarando que cada 
tabela deve ter uma chave primária e que a coluna ou colunas escolhidas como chave primária 
devem ser exclusivas e não NULAS. Nula em um banco de dados significa valores ausentes ou 
desconhecidos. A integridade da entidade permite a organização adequada dos dados para esse 
registro, como mostrado na figura. 
 
 
 
 
 
 
 
5.4.3.2 Integridade referencial 
Integridade referencial 
Outro conceito importante é a relação entre 
diferentes sistemas de arquivamento ou tabelas. A 
base da integridade de referência consiste em 
chaves externas. Uma chave estrangeira em uma 
tabela faz referência a uma chave primária em uma 
segunda tabela. A chave primária de uma tabela é 
um identificador único das entidades (linhas) na 
tabela. A integridade referencial mantém a 
integridade das chaves externas. 
5.4.3.3 Integridade do domínio 
A integridade de domínio garante que todos os itens de dados em uma coluna estejam dentro 
de um conjunto definido de valores válidos. 
Cada coluna em uma tabela tem um conjunto 
definido de valores, como o conjunto de 
todos os números de cartão de crédito, de 
CPFs ou de endereços de e-mail. Limitar um 
valor atribuído a uma instância dessa coluna 
(um atributo) reforça a integridade do 
domínio. O reforço de integridade do domínio 
pode ser tão simples quanto escolher o tipo de dados, comprimento ou formato de uma coluna. 
5.4.3.4 Laboratório - Acesso remoto 
Laboratório - Acesso remoto 
Neste laboratório, você cumprirá o seguinte objetivo: 
• Compare SSH e Telnet para acessar um host remoto 
Laboratório- Acesso remoto 
 
https://contenthub.netacad.com/legacy/CyberEss/1.0/pt/course/files/5.4.3.4%20Lab%20-%20Remote%20Access.pdf
5.5 Resumo 
5.5.1 Conclusão 
5.5.1.1 Capítulo 5: a arte de garantir a integridade 
Capítulo 5: a arte de garantir a integridade 
Este capítulo discutiu como a arte da integridade assegura que dados não sejam alterados por 
alguém ou alguma coisa ao longo de todo o ciclo de vida. Este capítulo começou discutindo os 
tipos de controles de integridade de dados. Os algoritmos de hash, salt de senha e código de 
autenticação de mensagem de hash com chave (HMAC) são conceitos importantes a ser usados 
pelos profissionais na implementação de assinaturas e certificados digitais. Essas ferramentas 
oferecem uma maneira de especialistas em segurança cibernética verificarem a autenticidade de 
mensagens e documentos. O capítulo concluiu com uma discussão de reforço de integridade de 
banco de dados. Ter um sistema de integridade de dados bem controlado e definido aumenta a 
estabilidade, o desempenho e a manutenção de um sistema de banco de dados.

Continue navegando