Escolar Documentos
Profissional Documentos
Cultura Documentos
4 Certificação digital
6 Referências
Criptografia Aplicada - Prof. MSc. José Paulo Lima Seção 01 3
Definições básicas de criptografia
Introdução
Alice Bob
Eve
Definições básicas de criptografia
Comunicação através de um canal inseguro
Solução para este problema
Alice encripta (ou cifra) a mensagem usando uma chave (ou senha), e envia o resultado
(o cifrotexto) a Bob. Bob usa a mesma chave para decriptar (ou decifrar) o cifrotexto,
recuperando a mensagem original, ou seja, o purotexto.
Eve
Definições básicas de criptografia
Criptossistema
Katz e Lindell (2014, p. 4–7) sugerem a divisão da criptografia em dois grupos, destin-
gindo-os quanto a forma de utilização das chaves: o esquema de encriptação de chave
privada e o esquema de encriptação de chave pública;
Criptografia Simétrica x Criptografia Assimétrica.
Criptografia Simétrica
No esquema de encriptação de chave privada é composto por:
1 Ger – Um algoritmo probabilístico para geração de chaves (k);
2 Enc – Um algoritmo de encriptação que tome como entrada a chave k e o purotexto
m, produzindo um cifrotexto c. Enck (m) = c.
3 Dec – Um algoritmo de decriptação que tome como entrada a chave k e o cifrotexto c,
retornando o purotexto m. Deck (c) = m.
Criptoanálise
O processo de tentativa de obtenção de calcular a chave k, dada uma cadeia de cifrotexto
c, é chamado de criptanálise.
A chave deve ser mantida em segredo. Os algoritmos Ger, Enc, e Dec de-
vem ser mantidos em também em segredo?
1 O sistema deve ser fisicamente, se não matematicamente indecifrável;
2 Não deve existir segredo do sistema em si, pois ele pode convenientemente cair nas
mãos do inimigo;
3 A chave deve ser comunicada, mantida e alterada a critério dos interlocutores sem a
ajuda de notas escritas.
[. . . ]
(KERCKHOFFS, 1883, p. 12, tradução nossa).
Analogia
Se eu pego uma carta, tranco-a em um cofre, escondo o cofre em algum lugar de Nova
York, e então lhe digo para ler a carta, isso não é segurança. Isso é obscuridade. Por
outro lado, se eu pego uma carta e a tranco em um cofre, e então lhe entrego o cofre
juntamente com as especificações do seu projeto e uma centena de cofres idênticos com
suas combinações, de modo que você e os melhores arrombadores de cofre do mundo
possam estudar o mecanismo da fechadura - e você ainda assim não pode abrir o cofre e
ler a carta - isso é segurança. (SCHNEIER, 1996 apud MARCACINI, 2010, p. 46).
Princípio de Kerckhoffs
A segurança de um criptossistema deve repousar unicamente e exclusivamente sobre o
sigilo da chave.
A seguir veremos os ataques mais comuns, organizados segundo Katz e Lindell (2014, p. 19–
20) por ordem de gravidade:
Ciphertext-only attack [Ataque de cifrotexto-somente]:
Este é o tipo mais básico de ataque e refere-se ao cenário onde o adversário apenas
observa um cifrotexto e tenta determinar o purotexto que foi encriptado.
Known-plaintext attack [Ataque de purotexto-conhecido]:
Aqui o adversário aprende um ou mais pares de purotexto/cifrotexto encriptados sob a
mesma chave. O objetivo do adversário é determinar o purotexto que foi encriptado para
dar algum outro cifrotexto (para o qual ele não sabe o purotexto correspondente).
Nota-se que os dois primeiros tipos de ataques são passivos, pois o adversário apenas re-
cebe algumas mensagens cifradas (e possivelmente alguns textos originais correspondentes)
e depois de analisa-las lança o seu ataque.
Em contraste, os dois últimos tipos de ataques são ativos, já que o adversário pode adapta-
velmente pedir encriptação e/ou decriptação da sua escolha.
Estes ataques citados são técnicas para tentar melhorar sua probabilidade de acertar ao
acaso, esta probabilidade de acerto é igual a probabilidade de um ataque de Força Bruta ou
de Busca Exaustiva.
Numa cifra de César, cada letra do alfabeto é deslocada da sua posição um número fixo de
lugares. A cifra de Vigenère consiste no uso de várias cifras de César em sequência, com
diferentes valores de deslocamento ditados por uma “palavra-chave”.
Para cifrar, é usada uma tabela de alfabetos que consiste no alfabeto escrito 26 vezes em
diferentes linhas, cada um deslocado ciclicamente do anterior por uma posição. As 26 linhas
correspondem às 26 possíveis cifras de César. Uma palavra é escolhida como "palavra-
chave", e cada letra desta palavra vai indicar a linha a ser utilizada para cifrar ou decifrar uma
letra da mensagem.
Exemplo de cifragem:
m AtacarBaseSul;
k LimaoLimaoLim;
c LBMCOCJMSSDCX.
A quebra tanto da Cifra de César quanto da Cifra de Vigenère é relativamente fácil. Na Ci-
fra por Deslocamento um estudo estatístico pode revelar a chave, enquanto que na Cifra de
Substituição Poli-alfabética palavras comuns como “de” vão provavelmente aparecer cripto-
grafadas segundo as mesmas letras da chave, levando à descoberta de padrões repetidos
no texto.
Definição
Dada uma chave secreta compartilhada por Alice e Bob, quando Alice deseja enviar uma
mensagem m a Bob, ela computa uma etiqueta t em função da chave k e da mensagem
m;
Envia a mensagem juntamente com a etiqueta a Bob;
Essa etiqueta é computada pelo algoritmo de geração de etiquetas, que será chamado
de Mac;
Ao receber um par (m, t), Bob verifica se t é ou não uma etiqueta válida sobre a mensa-
gem m (com respeito à chave privada);
Isso é feito rodando-se um algoritmo de verificação, aqui chamado de Vrf, que toma
como entrada a chave k e a mensagem m e a etiqueta t, e indica se a dada etiqueta é
válida.
Exige-se que para todo n, toda chave k gerada por Ger(1n ), e toda m ∈ {0, 1}∗ , verifica-se que
Vrfk (m, Mack )(m)) = 1.
Se (Ger, Mac, Vrf) for tal que para toda k gerada por Ger(1n ), o algoritmo Mack é somente
definido para mensagens m ∈ {0, 1}l(n) e como Vrfk dá como saída 0 para qualquer m <
{0, 1}l(n) , então dizemos que (Ger, Mac, Vrf) é um Mac de comprimento-fixo para mensagens
de comprimento l(n).
Segundo Katz e Lindell (2014, p. 378–379): A criptografia de chave pública é definida por
uma tupla de algoritmos probabilísticos de tempo polinomial (Ger; Enc; Dec):
1 Ger - Um algoritmo que toma como entrada um parâmetro de segurança 1n e gera um
par de chaves (pk; sk). Referimo-nos a primeira delas como a chave pública e a segunda
como a chave privada. Nós supomos, por conveniência, que pk e sk tem cada uma o
comprimento n, pelo menos, e que n pode ser determinado a partir de pk, sk.
2 Enc - Um algoritmo que toma como entrada a chave pública pk e uma mensagem m
de algum espaço de purotexto subjacente (que pode depender de pk). Ele produz um
cifrotexto c, e nós escrevemos isso como c ← Encpk (m).
3 Dec - Um algoritmo que toma como entrada uma chave privada sk e um cifrotexto c, e
emite uma mensagem m ou um símbolo especial ⊥ denotando falha. Nós assumimos,
sem perda de generalidade que Dec é determinístico, e escrevemos isso como m :=
Decsk (c).
Para cada n e cada par de chaves (pk; sk) gerado por Ger(1n ), e cada mensagem m no
apropriado espaço subjacente de purotexto, garanta que a igualdade Decsk (Encpk (m)) = m
seja satisfeita.
A assinatura digital, apesar de validar mensagens como o MAC, se diferencia dos esquemas
MAC por utilizar duas chaves na sua aplicação: uma chave privada do remetente, onde
ele a utiliza para criptografar a mensagem; e uma chave pública onde qualquer pessoa que a
possua pode reconhecer a mensagem. Enquanto que o algoritmo MAC utiliza uma etiqueta
que é enviada junto a mensagem cifrada, onde esta etiqueta é validada pelo destinatário para
saber se a mensagem não foi adulterada.
3 O algoritmo determinístico de verificação Vrf que tem como entrada a chave pública pk,
a mensagem m e a assinatura σ. A saída deste algoritmo é um bit b, onde b = 1 significa
que a assinatura é válida, e b = 0 se inválida. O algoritmo é dado por b := Vrfpk (m, σ).
A = ga mod p
A = 56 mod 23
A = 15.625 mod 23
A=8
A=8
B = gb mod p
A=8
B = 515 mod 23
A=8
B = 30.517.578.125 mod 23
A=8
B = 19
A=8
B = 19
k = Ba mod p
A=8
B = 19
k = 196 mod 23
A=8
B = 19
k = 47.045.881 mod 23
A=8
B = 19
k=2
O que é confidencialidade?
É evitar a revelação não autorizada de informação. Isto é, envolve a proteção dos dados,
propiciando acesso àqueles que são autorizados.
Encriptação
• Codificação da mensagem através de uma chave criptográfica.
▶ Simétrica;
▶ Assimétrica.
Controle de acesso
• Utilização de regras e políticas de acesso;
• Captura do nome, do IP ou até do serial da máquina utilizada.
O que é integridade?
É a garantia de que a informação não foi alterada de maneira não autorizada.
Cópias de segurança
• Arquivamento periódico de dados;
• Backups.
Códigos de correlação de dados
• Método de armazenar dados de tal maneira que pequenas alterações podem ser facilmente
detectadas e automaticamente corrigidas.
O que é disponibilidade?
É a propriedade da informação ser acessível e modificável no momento oportuno por
aqueles que estejam autorizados a fazer isso.
Proteções físicas
• Geradores, locais construídos para aguentar desastres naturais...
Redundâncias computacionais
• Computadores que usam redundâncias de armazenamento para manter os dados disponí-
veis em casa de falha de alguma outra máquina;
• RAID, Server farms...
Políticas
• Especificam as expectativas comportamentais que pessoas ou sistemas tem de si mesma
ou de outros;
• O que é esperado que aconteça.
Permissões
• Descrevem os comportamentos permitidos pelos agentes que interagem com uma pessoa
ou sistema;
• Limites do que pode ser feito.
Proteções
• Mecanismos para assegurar as políticas e permissões;
• Barrar o que foge do que foi planejado.
Criptografia Aplicada - Prof. MSc. José Paulo Lima Seção 01 44
Aplicação da criptografia na autenticação multifatores
Autenticidade
O que é autenticidade?
É a habilidade de determinar que afirmações, políticas e permissões são genuínas.
Não repúdio
• Afirmações autênticas emitidas que não são negadas.
• Assinaturas digitais
▶ Validação criptográfica de que tal dado é autêntico, podendo ser validado por qualquer pessoa.
Agregação
• A combinação de dados de modo que a divulgação dessas somas ou médias não possa
ser vinculada a qualquer indivíduo.
Mistura
• Entrelaçamento de transações, informações ou comunicações de modo que não possam
ser rastreadas a nenhum indivíduo.
Representantes
• Agentes de confiança que não podem ser rastreados de volta. Proxies.
Pseudônimos
• Identidades ficcionais.
Criptografia Aplicada - Prof. MSc. José Paulo Lima Seção 01 46
Certificação Digital
A ICP-Brasil foi criada pela Medida Provisória 2200-2, de 24.08.2001 e está regulamen-
tada pelas Resoluções do Comitê-Gestor da ICP-Brasil.
• Tem como objetivo estabelecer os fundamentos técnicos e metodológicos de um sistema de
certificação digital baseado em criptografia de chave pública, para garantir a autenticidade,
a integridade e a validade jurídica de documentos em forma eletrônica.
6 Referências
Segurança na rede:
• Para uma mensagem ser segura, é necessário que apenas os envolvidos na mesma pos-
sam entender a mensagem.
▶ Para isso, ninguém mais pode interceptar, ler ou executar processos computacionais trocados
entre os envolvidos.
• Apenas o emissor e o receptor devem entender o conteúdo da mensagem.
▶ Necessita-se prover Confidencialidade, Integridade, Autenticação e Não-Repúdio.
Força Bruta:
• A chave secreta do WEP possui 40 bits, valor relativamente alto, mas que, com o uso de
ataques de dicionário, isto é, através da utilização de nomes que são comumente utilizados,
torna-se plausível sua execução.
Conexão:
• Durante a conexão de um suplicante ao ponto de acesso, o desafio passa em claro e logo
depois encriptado. Assim, é possível ter acesso ao mesmo conteúdo das duas formas,
facilitando o processo de obtenção da chave secreta.
Escuta:
• Existem outros tipos de ataque que conseguem recuperar a chave secreta a partir da escuta
do tráfego por alguns minutos, até que o valor do vetor de inicialização se repita.
O protocolo WPA (Wi-Fi Protected Access - Acesso Protegido a Wi-Fi) foi criado em
2002 pela WFA (Wi-Fi Alliance) como postulante a substituto do WEP.
• Dentre as melhorias propostas, a mais significativa foi a utilização do algoritmo RC4 de
uma forma mais segura, dentro do protocolo TKIP.
O CCMP é o protocolo usado pelo WPA2 para encriptação das mensagens transmitidas.
Ele é totalmente independente do funcionamento do WEP, diferentemente do WPA, pelo
fato de não usar o algoritmo RC4.
Ao invés disto, a mensagem é codificada antes de ser transmitida com o uso do AES.
Atenção
Caso o pacote seja interceptado por terceiros, ainda que os dados enviados estejam crip-
tografados, as informações contidas no cabeçalho IP (entre elas endereço de origem e
destino) poderão ser acessadas.
Exemplo de VPN:
SSH é a sigla para Secure Socket Shell (Concha de Segurança ou numa tradução me-
lhorada Bloqueio de Segurança), sendo um dos protocolos específicos de segurança de
troca de arquivos entre cliente e servidor de internet, usando criptografia.
O objetivo do SSH é permitir que desenvolvedores ou outros usuários realizem altera-
ções em sites e servidores utilizando uma conexão simples e segura.
SmarTTY
• Permite transferir arquivos e diretórios, abrir mais de uma aba e editar arquivos no próprio
servidor.
PuTTy
• Ferramenta open source destinada para Windows, Unix e Linux.
• Estabelece um túnel codificado entre os servidores.
• Permite acessar o servidor de forma remota.
OpenSSH
• Atua evitando espionagem, sequestro de dados e outros tipos de danos causados por hac-
kers.
• Disponibiliza vários recursos de filtragem e alternativas de autenticação.
O PGP (Pretty Good Privacy) foi criado para prover e-mails confidenciais;
• Segurança na camada de aplicação;
• No PGP, o emissor da mensagem precisa incluir os identificadores dos algoritmos usados
na mensagem, bem como dos valores das chaves;
• A tecnologia PGP consiste de um sistema híbrido de criptografia que usa tanto encriptação
simétrica como assimétrica para atingir altos níveis de segurança e privacidade.
Antes do processo de encriptação começar, a maioria dos sistemas PGP realiza uma
compressão dos dados;
Após a compressão dos arquivos, o processo de encriptação é iniciado.
• O plaintext comprimido é encriptado com uma chave de uso único, chamada chave de ses-
são (session key). Tal chave é gerada aleatoriamente através de um sistema de criptografia
simétrica e cada sessão de comunicação PGP possui uma única session key.
1 Introdução
3 Blockchain e Criptomoedas
BitCoin
Ethereum
Criptografia Aplicada - Prof. MSc. José Paulo Lima Seção 03 2
Sumário II
4 NFT
5 Referências
A Dark Web existe nas Darknets, que são “redes de sobreposição” ou “redes em ca-
madas”. Eles são criados com base na internet normal, mas precisam de um programa
para poderem ser acessados e navegados.
Os Darknets escondem sites que não podem estar na internet normal, onde são rastre-
ados, indexados e facilmente excluídos ou derrubados. O conjunto destes sites é o que
conhecemos como a dark web.
• A web escura (Dark Web) fornece anonimato, tanto para as pessoas que visitam os sites
quanto para os próprios sites.
• Os dissidentes políticos em um país opressivo, por exemplo, poderiam utilizar a Dark Web
para se comunicar e organizar.
Um dos programas a qual podemos ter acesso a Dark Web é o navegador Tor, que por
si só esconde um Darknet.
Embora você possa usar o Tor para ficar anônimo em suas atividades de navegação na
web em “sites normais”, o Tor também oferece sites .onion ou “serviços ocultos do Tor”.
Estes sim são sites especiais que só podem ser acessados através deste navegador.
O Projeto Internet Invisível (Invisible Internet Project - I2P) é uma camada de rede total-
mente privado e criptografado.
• Ele protege sua atividade e sua localização.
I2P esconde o servidor do usuário e o usuário do servidor.
Todo o tráfego I2P é interno à rede I2P.
O tráfego dentro do I2P não interage diretamente com a Internet.
• É uma camada no topo da Internet.
• Ele usa túneis unidirecionais criptografados entre você e seus pares.
Ninguém pode ver de onde vem o tráfego, para onde ele vai, ou qual é o conteúdo.
Estes túneis têm uma duração de 10 minutos, e toda vez que um usuário quiser manter-
se comunicável na camada I2P, ele deve ficar recriando túneis enquanto os antigos são
abandonados.
Normalmente, um usuário é ligado a diversos túneis, onde em cada um ele exerce um
papel diferente.
Criptografia Aplicada - Prof. MSc. José Paulo Lima Seção 03 14
Redes de anonimização de tráfego
I2P
Diferente dos nomes de domínio que podem ser lidos por humanos e que estamos
acostumados a usar quando navegamos na Web, os sites da Dark Web usam nomes de
serviços ocultos de Tor;
• Estes são sempre valores de 16 caracteres adicionados ao início do domínio de topo .onion.
O software Tor operando em um host Tor cria um diretório de arquivos local, atribui
um número de porta para o serviço e gera um par de chaves público-privado quando
configura um serviço oculto.
• Para criar um nome de host de 16 caracteres, o software Tor processa um hash da chave
pública desse par e depois converte os primeiros 80 bits do hash de valor binário para
ASCII.
• Dessa forma, os 16 caracteres resultantes atendem ao requisito de “letra, dígito, hífen” do
protocolo do DNS (Sistema de Nomes de Domínio).
Cada página do Tor é um serviço escondido.
O Hidden Answers pode ser descrito como uma versão dark web do Reddit ou Quora.
Você pode fazer a pergunta que quiser, sem qualquer censura. Outros membros da
comunidade tentarão responder às suas perguntas.
• Rede Tor: http://answerstedhctbek.onion/
É uma plataforma descentralizada, que permite, de uma forma mais simples, criar apli-
cações e executar contratos inteligentes baseados na tecnologia blockchain.