Entendendo Conceitos Básicos de CRIPTOGRAFIA | Parte 2/2

55.54k views7995 WordsCopy TextShare
Fabio Akita
Se você não assistiu a Parte 1, eu dei uma introdução à encriptação simétrica, algoritmos de hash co...
Video Transcript:
olá pessoal fábio akita pois bem vamos pra parte 2 do tema de conceitos básicos de criptografia semana passada o volume tem um tanto de informação espero que vocês tenham conseguido acompanhar essa semana não vai ser diferente portanto pegue papel e caneta de novo e prepare se para fazer muitas anotações da mesma forma como na semana passada a matemática é muito pesada e eu não sou a pessoa mais indicada para vencer nos detalhes das provas matemáticos eu já vou me considerar com sorte se não confundir os conceitos durante as explicações se tiverem interesse na internet existem
centenas de documentações explicando toda a matemática em detalhes vale a pena dar uma olhada porque se eu fosse tentar explicar em vídeo teria que fazer um outro canal inteiro no tamanho do nome rafael recapitulando semana passada falamos sobre captação de chave simétrica falamos sobre algoritmos de hash nesta cidade sobre o enigma agora vamos continuar o assunto começando a mostrar as ramificações por cima disso [Música] continuando a nossa história hipotética da tabela de senhas roubadas já estabelecemos que não devemos gravar senhas dos usuários em planteq numa tabela em nosso banco também já estabelecemos que não devem
ser captadas e agora tentamos gravar o hash mas como já vimos é fácil atacar com dicionários ou reembolso tables com régis pré calculadas e como ainda existe o paradoxo do aniversário que garante que existe uma boa probabilidade com de colisões é possível encontrar uma palavra que gere o mesmo resto da senha do usuário mesmo que não seja exatamente a mesma senha para evitar esses ataques uma forma de mitigar é como katena algum número grande junto com a senha e daí geral rech então para cada novo usuário cadastrado geramos esse número que chamamos de solte daí
fazemos o resto da senha prefixado com esse solte e gravamos o hash resultante no banco junto com o solte daí vai ser mais difícil um ataque com remou temos pré calculadas se você já forçou o código-fonte de qualquer sistema de autenticação vai encontrar esse campo solte o equivalente então resta ao hacker tenta calcular os restos na hora usando o sol desvia força bruta concatenando palavras de um dicionário com sorte que está na tabela até achar um racha que tem a colisão com o resto é gravado na tabela parece difícil porém a geração de régis pode
ser acelerado aqui é mais uma especulação nem sei se fazem isso mas faz de conta se você acompanhou a corrida pelo bitcoin nos últimos anos deve ter ouvido falar que os tais mineradores acabaram com estoque de gpu do mercado em 2017 e que mineradores gigantes com a vítima em criar um henriques ou application specific integration circuits lembro que eu falei do sep diz é pedir são circuitos programáveis via software que você pudesse mudar o hardware do chip como se fosse um chip feito sob medida exige que são exatamente chips feitos sob medida direto da fábrica
existem esses feitos exclusivamente para gerar reajustes específicos de mineração os famosos em ti mayer s 9 é uma combinação e ele quer pedir e processadores arm como controladores para dar uma ideia um cpu topo de linha como intel core 99 990 cá tem o que chamamos de hash power que a potência de geração de haxixe são os 478 has por segundo parece bastante na porcaria uma gpu pode ser usada para gerar rachas mais rápido ainda o nvidia taita next arquitetura pascal que a geração passada consegue fazer 1.3 giga-hertz por segundo ou seja 1.3 milhões de
réis por segundo ordens de grandeza mais rápido que uma cpu e eu posso ligar mais de uma cpu e gpu no mesmo computador em paralelo mas isso também é uma porcaria uma única unidade doente maine s9 consegue fazer uns 14 era régis por segundo ou seja 14 bilhões de reais por segundo agora estamos começando a conversar sem entrar muito nos detalhes de como o bitcoin funciona o que chamamos de por favor que que é o processo de assinatura de um bloco de bitcoin é basicamente achar o resto especial desse bloco não é um hash qualquer
você precisa e alterando um número dentro desse bloco que altera o resto final até achar um hash que começa com um certo número de zeros à esquerda mas você lembra que eu falei que prende algoritmos de hash precisam embutir os princípios de confusão e difusão de xenon ou seja se eu mudar o beach na mensagem original mais da metade dos bits do resto precisa mudar de forma que não seja fácil achar o relacionamento entre a mensagem original e o hash final se eu ficar alterando só um número dentro do box transações bitcoin e refazer o
hash ele vai ser completamente diferente do resto anterior de forma que o comportamento é parecido com a geração de um número pseudo aleatório então eu preciso ficar alterando esse um número do bloco e gerando reches até conseguir achar um hash específico que tem a tal seqüência de zeros à esquerda essa quantidade de zeros é o que chamamos de dificuldade da mineração e você imagina que o minerador precisa de muito rech power porque mineira é uma competição centenas de mineradores estão tentando assinar o mesmo logo ao mesmo tempo quem achar o hash primeiro ganha um prêmio
emitir coins uns 12 bilhões agora em novembro de 2019 além do prêmio minerador ganha as taxas de transação acumuladas nesse bloco e quem perder não ganha nada com isso quanto mais haxixe power o minerador tiver mais chances tem de achar o hash primeiro e por isso que se usa um é esse que como ente mayer e por isso que só com a gp11 cpus você não tem chance de competir porque estamos falando de pular de milhões de reais por segundo com gpu para bilhões de reais por segundo com ente myers mas não só de mineração
de bitcoins vivem geradores de régis imagine você colocar uma versão derivada de um ente mayer feita exclusivamente para gerar rachas normais para tentar achar a colisão via força bruta numa tabela de senhas roubada mesmo com o sol ti o equivalente mayer pode ficar perguntando um dicionário concatenando cada palavra com solte gerando rech na hora pra comparar é um processo parecido como mineração de bitcoins mas pode ser usado para tentar quebrar senhas ea força bruta é uma velocidade de bilhões de restos por segundo concorrente mayer e como cada ente mayner custa só três mil dólares imagine
se eu colocar um data center de derivados gente mayer com um único objetivo de explorar senhas especialmente se forem seus importantes como senhas de banco ou senhas de funcionários do governo americano voltando à nossa história tabela de usuários roubada por isso mesmo só fazer o resto de senhas mesmo com o recurso de concatenar com o sol diz antes de rachar ainda oferece risco iminente de encontrarmos colisões usando oasis especializados e agora o problema é outro quanto mais rápido for performance de um algoritmo de hash mais rápido e seis e quinze hipotético conseguiria processar então existe
uma outra forma de proteger e usando algoritmos de derivação de chávez com capacidade de adicionar dificuldade no processo um dos mais conhecidos hoje é o pé suor desde que deu e vejam function o pb kdf 2 como o nome diz é uma função que deriva chaves a partir de senhas vamos entender uma seria normal é normalmente muito fraca não importa se você acha que fez ela ser forte trocando a por arroba ou ipor exclamação essas coisas qualquer atacante já adicionando algoritmo de força bruta para quebrar sua senha marta sempre do princípio que só seriam aposta
por isso o sistema de autenticação baseada sem quebras por exemplo não usam sua senha diretamente primeiro elas modificam a sua senha em um processo conhecido como que extrai fenin ou que stretching literalmente fortalecimento esticamento de chave elas não são necessariamente a mesma coisa mas para esse vídeo vão assumir que são é basicamente o processo de adicionar um solte gigante algo com mais de 64 bits de comprimento e aplicar alguma função em timac de rachas milhares ou centenas de milhares de vezes um em cima do outro e adicionar alguma entropia extra como o horário atual algumas
vezes no meio do processo isso tem duas funções a primeira é em geral uma nova senha mais forte e mais longa que você pode usar no lugar da sua senha curta e fraca é uma senha derivada da sua mas que vai resistir reboteiros e dificultar a colisões mais do que isso algoritmos como pb kf2 tem um fator de dificuldade parecida em conceito com o processo de por favor que é usado na mineração de bitcoins é literalmente quantas vezes você vai rodar o algoritmo de resto como chá 2 ou haiti max a 1 e se você
rodar dezenas de milhares de vezes o algoritmo vai custar meio segundo talvez até um segundo para gerar o hash final com o que eu falei até agora você já deve está entendendo porque desejável um algoritmo custa caro para gerar o hash eu mencionei a possibilidade de usar um similar ao intimar um executivo para quebrar senhas rachadas consoles eu fico falando similar porque na prática você não vai usar o imt mayer de verdade porque a lógica do circuito está feita especificamente para a lógica de provoca de mineração de bitcoin porém com efe pg ou desenhando um
novo êxito específico para achar 256 por exemplo ou no mínimo usando gp uns você já está na casa milhões de réis por segundo com o novo é esse que você poderia pagar bilhões de restos por segundo sabendo que o curso de desenvolvimento de hardware de cai todo ano em breve ficará acessível criar equipamentos assim muito barato na china por isso começamos a migrar para o algoritmo geração de régis como o bbk de f2 que custa caro para processar mas essa não é a única solução é uma corrida entre aumentar a dificuldade do algoritmo versus conseguirem
criar ver mais rápido com mais este power imagine o seguinte problema digamos que no cadastro de usuários do seu sistema você resolveu se precaver e escolheu usar tbk de f2 com at max shaun com o solte de 64 bits e com dificuldade de umas mil rodadas e isso leva alguns milissegundos para gerar o hash e é isso que você vai gravar no banco com hardware atual isso levaria milhares de anos para achar uma colisão dá uns 25 anos digamos que consigam fazer esse tal esic barato que comece a achar colisões e se agora eu quiser
aumentar a dificuldade de migrar todos os restos para usar chá 2 com saltos de 128 bits aumentar para 100 mil rodadas eu não tenho como fazer isso porque obviamente eu também não tenho a senha original do usuário para refazer o hash por isso outra forma de mitigar que algumas aplicações que incrementam é atualizar o resto do banco quando o usuário se logar com o sucesso da próxima vez porque é só esse momento que você tem assim do usuário de novo daí você pode gerar um novo rech com maior dificuldade e atualizar no banco o hash
de 1tb kdf 2 é o hash concatenado do solte do número de interações dificuldade e por isso é bem cumprido e por isso você não precisa criar outro campo na tabela só para guardar o valor do solte além de aumentar a dificuldade exigindo mais processamento existem outras formas de mitigar por exemplo o custo de memória ram costuma ser proporcionalmente maior do que seus ao longo do tempo elas diminuem menos rápido de preço e se criarmos um algoritmo de hash que além de ser caro para processar também exige o uso de memória bem elevado e é
isso que faz algoritmos como bekri pitt s tim e outros novos como argus 2 finalmente chegamos no b craft que muitos tutoriais hoje recomenda usar seja em php ou ruby você acha bibliotecas e tutoriais que usam o bê clipe pra fazer o resto da senha assim como o bbk de f2 ele tem dificuldade configurável então a produção deixa uma dificuldade elevada mas para sua máquina desenvolvimento ou para ambientes de testes com ferramentas de contínuos integration você deixa uma dificuldade baixa para rodar mais rápido o bê clipe na realidade não é um algoritmo específico de hash
ele pode ser usado como uma função de derivação de chaves através de um algoritmo de encriptação simétrica no caso o site é bom fechar o bom fish foi criado como uma alternativa mais segura e mais rápida que o 10 lembro que falei dele no episódio passado na verdade acho que qualquer coisa hoje em dia é mais seguro e mais rápido que o 10 mas o golfe tem uma característica importante que nos interessa ele tem um curso de setup alto ele precisa de quatro que o bai de memória para cada novo setup parece pouco mas isso
escalar rápido e torna o gol fish caro em termos de uso de memória e vocês lembram que uma das formas de deixar 10 mais seguro era rodar o algoritmo três vezes por bloco pois bem existe uma derivação do golfe chamado tio fish que foi um dos finalistas da competição da anistia para escolher quem seria o novo é esse mas como falei no episódio anterior quem ganhou foi o running down de qualquer maneira podemos usar o bom fish irá gerar reches isso é uma coisa que nem todo mundo sabe reches podem ser gerados a partir de
algoritmos de captação de chaves simétrica o bê clipe tinha um exemplo disso usando o ofício para gerar reches diferente do pb kdf 2 você não precisa gerar e passar um solte porque o bê críptico eram solte automaticamente por isso se você rodar o bê clipe de várias vezes em cima de uma mesma mensagem ele vai gerar rachas diferente toda vez e assim como o bbk de f2 você pode configurar a dificuldade que é o custo dele inclusive o parâmetro se chama cost assim quanto maior o custo mais rodados ele vai fazer mais demorado vai ficar
mais diferente do pb kf2 só com esse você não vai conseguir será um ataque de força bruta porque além de hash power vai precisar de muita ram elevando o custo e dificultando alguém tentar algo assim existem outros sucessores ao bê criticou o s craft árgon dois que foram desenhados especificamente para serem mais caros ainda em uso de memória e dificultar ataques só de hash power via gpu zhou esx muitos frei web hoje usam de creep porque ele é melhor que nada mas eu imagino que se alguém precisasse escolher o algoritmo de hash mais resistente e
moderno hoje seria o argon 2 que é o mais flexível em termos de customização ou no mínimo o s críptico concluindo a parte de como proteger senhas sabemos que jamais nunca devemos gravar em teste também sabemos que não adianta encriptar 100 e gravar no banco aprendemos também que só usa um hash seja um chamado e 56 ou eight mec 256 por si só não vai resistir muito tempo a táxis adicionais ou reboteiros adicionar sol da ajuda bastante mas não vai ser resistente a ataques via hardware especializado como gp usa oasis portanto a melhor medida hoje
é usa um algoritmo de derivação de chaves que seja muito caro tanto em processamento quanto em uso de memória como árgon 2 ou esse clipe e de tempos em tempos toda vez que o usuário se logar com sucesso gerar um novo racha com uma dificuldade ainda maior de gravar no banco dessa forma mitigando o máximo possível caso o banco de dados seja comprometido e os dados caiu na mão de hackers dispostos a quebrar suas senhas mas meu site usa autenticação de dois fatores só com a senha ele não vai conseguir entrar o grande lance de
quebrar senhas não é para usar só no seu próprio site um dos problemas com os usuários normais é que eles usam a mesma senha em sites diferentes se no banco de dados de 1 milhão de pessoas e eu consegui 100 mil senhas são 100 mil possibilidades para se usar em diversos outros sites o que os usuários possam ter contas por isso mesmo falamos que além de habilitar autenticação de dois fatores cada contêm cada site que você tenha cadastro deve usar uma senha segura diferente e por isso você devia tá usando ferramentas de gerenciamento de senhas
como o pes ford ou leste pés ou equivalentes eu faço isso nenhuma conta minha têm senhas repetidas twitter facebook derrame instagram google cada uma usa senhas de uns quarenta caracteres aleatórios gerados por ferramenta impossíveis de decorar uma pequena tangente eu já falei com muita gente confunde reches de mestre de das disfunções de derivação de chaves ou mesmo eo wide gil haidê ipvc 6 porque todos eles são estrelas com caracteres representando hexadecimais que parecem aleatórios existe ainda outro gerador que cospe strings que parecem bagunçadas que podem confundir esse é obesa e 64 664 uma ferramenta usada
para converter um binário em stream de texto cada caractere do besi 64 representa 6 bits então três bairros de 8 bits representados em quatro caracteres de 6 bits portanto sempre se lembra que converteu um binário em texto via bc 64 aumenta o tamanho final em pelo menos 20 por cento se não forem comprimidos com gesipe ou algo assim e porque é preciso converter binários em texto simples porque todo o protocolo de internet como os de email e mesmo http são protocolos texto se eu quiser enviar um e mail com o anexo que um arquivo pdf
word ou a imagem ele precisa converter em texto para poder com katena no corpo do e-mail sim se você não sabia disso todo e meio é sempre 100% texto e todo o binário precisa ser convertido em base 64 para ser anexado e por isso todo o anexo de e-mail é mais pesado que o binário original e por isso você deve evitar mandar nexus gigantes eu acho que não precisa dizer isso essa altura mas eu fico pasmo toda vez que eu vejo um programador que acha que base 64 é uma forma de encriptação ela não é
ela é só uma conversão simples de binário para textos em chaves em entropia sem nenhuma operação que bagunça seu conteúdo nunca use bens em 64 achando que está adicionando alguma dificuldade de obter os qassam pois não tá beise 64 é trivialmente reversível do texto binário outro nome que talvez você veja por aí é as que arma ou radix 6 4 mas é tudo bem e 64 a mesma coisa vale para cheques anos ou crc que sai que o verdão cheque em resumo é um cálculo feito em cima de um número para ver se algum dos
disto está encerrado por exemplo um código de base um boleto bancário tem uns rc dessa forma é muito fácil checar se a pessoa digita o número errado do boleto naquele código usam que você digita no seu internet banking em 17 c no final que é um número calculado a partir dos anteriores digite um número errado e os seis e não vai bater serres e também a última checagem de erros no tráfego de pacotes de rede o protocolo tcp em uma checagem de seis e meio fraco e por isso existe outra checagem na camada 2 no
nível do frame de internet por exemplo é uma forma de rapidamente checar erros de transmissão causados por barulho ou interferência na rede por exemplo mas isso também não tem nada a ver com rachão infectação até agora tudo o que falamos de encriptação depende de um componente um segredo ou uma chave há coisas como encriptação hd é suficiente quando você usa o bitlocker do windows 10 pro o file volte do mec oeste ou looks no linux eles vão fazer um processo similar você começa providenciando uma senha que devia ser forte mas como ao mesmo tempo você
não quer esquecer a senha e perder acesso aos seus dados provavelmente vai acabar usando uma senha porcaria mas não tem problema o sistema de encriptação vai gerar uma senha forte pra você usando um solte gigante com um algoritmo de derivação de chave como esse clipe o pb kdf 2 que como já expliquei são resistentes ataques de força bruta ou dicionários e até zics aqui eu estou chutando mas essa ainda não deve ser o segredo para a equitação ele vai gerar outra senha forte seria o malte que esse malte que é o que vai ser usado
para interpretar os dados do seu disco ea senha forte derivada da sua vai ser usada para encriptar o molde que dessa forma se amanhã você quiser mudar sua senha o ps frase você vai só mudará a derivação que abre seu molde que não precisaria decretar a encriptação disco inteiro tudo de novo adicione ainda um toque ou identificar biométrica como autenticação de dois fatores e você tem um pouco mais de segurança entenda que além dos seus dados têm outra coisa importante que precisa ficar encriptado o seu suape o swap é como se fosse uma extensão da
ram e em disco não dá pra saber o que tem nesse suape se alguém pegar esses eu sou a pior pode ter o que tinha na memória nas aplicações que estavam rodando na máquina números de cartão de crédito mesmo senhas e outros dados sensíveis podem estar lá você gostaria que a memória também seja creditada a intel por exemplo tem um sd ex ou safe garde ex tons em resumo ele garante que dados específicos que saem do processador para a memória já saem direto do processador encriptados colocados numa região específica da memória que chamamos de álcool
eles ou seguirão com leis pense numa partição criptografada dentro da ram que só l da escrita pela cpu e nem seu sistema operacional têm acesso nem como ruth nem como administrador nem nada não é 100% do que está na ram mas uma coisa específica que você manda vilma p é uma pec que pode ser usada por softwares que precisa trabalhar com dados sensíveis como uma chave mestra de forma que ela não fique nem por um milissegundo exposta em ran e planteq e suscetível a ser roubada dali por um malware resumindo até agora falamos de algoritmos
de hash tanto obsoletos com o md5 e shaun quanto mais novos como este mexe sha256 falamos de derivação de chávez com o bê clipe pb kdf dois de encriptação simétrica de chave coisas como o iss lindahl ou blowfish ou tripo 10 que são todos algoritmos box haier por processar em um bloco de cada vez mas existem outros algoritmos como rc4 que são strings iphones que aplica processamento bit a bit em vez de bloco a bloco mas para os propósitos de hoje só box ayers é suficiente então falta falar de encriptação assimétrica e troca de chaves
tudo o que falamos até agora de encriptação depende de uma chave secreta é a chave para encriptar e decrépita dentro da mesma máquina tudo funciona mas quando queremos mandar um cyber text pra outra pessoa pra essa outra pessoa de captar a mensagem ela precisa ter o mesmo segredo usado para encriptar só que não existe nada mais inseguro do que trafegava uma senha pela internet essa senha vai certamente ser interceptado no meio do caminho e toda sua segurança vai por água abaixo queremos um jeito de criar uma chave na minha máquina e na máquina de outra
pessoa sem trafegar as chaves de tal forma que o que inclui pitaco a chave só eu tenha seja possível de ser decapitada com a chave que só outra pessoa tenha esse é o conceito para simplificar não falar das duas mais importantes disse helman ea é sei ambas cujos nomes são os nomes dos criadores no caso o ifw de difícil e martin e alma e no caso de aparecer é o vaivém shamir e é dohmann vocês devem ter percebido que muitos algoritmos de segurança ganha uma derivação do nome dos criadores mesma coisa com lindau que é
o irs por exemplo e tanto disse helman ea é sei por coincidência feminidade já que nasceram em 77 o ano onde descobrimos que é possível trafegar comunicação infectadas em o risco de trafegar uma chave secreta e eu argumentaria que a partir desse ponto que a internet realmente se torna comercialmente viável e anos depois permitir a coisas como e covers já avisando que felizmente é fácil explicar como esses algoritmos funciona mas vai ser impossível demonstrar porque eles realmente funcionam falta matemática para explicar a aritmética modular teorema de other todos cientes e muito mais então de novo
por hoje vocês vão ter que acreditar no que ele diz é mas eu recomendo que vocês pesquisem as provas matemáticas foi isso que diferencia o dfi helman porque eles conseguiram demonstrar matematicamente a segurança do algoritmo e pra que serve disse helman ele possibilita que duas pessoas consigam gerar duas chaves separadamente cada 1 gerando sua própria senha em sua própria máquina sem nunca trafegar essas senhas e eles garantem que o que a senha de um clipe tar a chave do outro consegue detectar consegue entender implicações todo mundo explica de fiel mama usando cores ou números pequenos
para facilitar a explicação então roubar a explicação da wikipédia porque é bem simples imagine duas pessoas na internet alice e bob primeiro eles trocam duas informações públicas de modo inseguro via internet mesmo um número é o modo pelo igov 23 por exemplo em uma base g igual a 5 e 5 porque é uma raiz primitiva modo 23 falei que precisa de aritmética modular da yale se escolhe um segredo chamado azinho ela não divulgará nenhum número 4 agora vai complicar um pouco a lista precisa calcular o g que é um número público elevado e se à
zinho que é secreto módulo b ou seja 5 elevada quatro módulos 23 que por acaso é 4 de novo porque estão usando números muito pequenos esse resultado quatro que vão chamar de asam ela pode mandar publicamente pro blog via internet insegura agora o bob também escolhe um segredo que ele não divulga o desenho igual a 3 e faz a mesma conta de jeleva da besni módulo p ou seja 5 elevada três modos 23 que 10 vamos chamar isso de bebezão e bob pode mandar esse visão para alice via internet também aberto alice agora pode computar
o bebezão do bob e levado à zinho privado dela módulo p ou seja 10 elevado a quatro módulos 23 que 18 e o blog pode fazer a mesma coisa pegar o azarão que recebeu dali se elevar com o segredo bebezinho dele que é 3 e fazer modo 23 resultado de 18 também pronto tanto alice quanto bob compartilha o mesmo segredo 18 e esse número nunca trafegou pela internet e mesmo sabendo módulos 23 a base 5 às 14 dalício versão 10 do bob é impossível chegar no segredo 18 que só os dois conseguem ver uma pessoa
que ouviu a comunicação no meio do caminho não tem como calcular o segredo 18 essa é a propriedade de grupo multiplicativo de inteiros módulo p agora podemos fazer uma derivação de chave desse segredo ou no caso de um tsl eles fazem acho que só rech simples viajar 2 porque eu acho que tls antecede a criação do conceito de inovação chávez mas esse rech pode ser usado como o segredo por ambos no algoritmo de captação de chaves simétrica como iis e trafegar mensagens encriptadas inviáveis de decapitar como eu já expliquei antes sobre o irs e lembrando
que a idéia de fazer uma animação de chávez via reches seria para esticar e fortalecer a chave claro esse exemplo usa inteiros bezzera velmente pequenos na realidade o tal módulo pac1 número primo gigantesco de gamas de 4096 bits a dificuldade para alguém de fora é descobrir qual o número que podemos levar o azzam o bezerrão módulo pq vai nos dar o segredo e para achar esse número caiu no problema de logaritmo discreto que é computacionalmente em viável de resolver e esse é o problema que só o algoritmo de chorar quântico conseguiria tentar resolver num computador
quântico de mais de 4 mil quil mix como eu já expliquei no episódio de supremacia quântica de ferrel mann é bom pra criar chaves temporárias mas tem um problema ele sozinho não tem como a utente casa identidades da alice do bob por exemplo uma terceira pessoa chamada live podia fazer um ataque menem demitido ou seja toda a comunicação da alice passa pela iv ea devolve para o bob e vice versa daí a alice ea iv acabam combinando o segredo via difícil é uma e depois aí vem o bob combina outro segredo e pronto ela participando
desse processo vai produzir segredos conhecidos com os dois e consegue ao mesmo tempo ver a comunicação e repassar a comunicação entre os dois de tal forma que alice e bob não percebeu que a comunicação está sendo interceptado e repassada para evitar esse ataque de man in the middle existe outro protocolo usado por cima do dfi hellman que oeste é so protocolo station' que estejam quem resumo exige uma checagem de assinaturas entre os participantes para validar as identidades antes de entrar no processo de geração de chaves secretas e isso envolve o uso de certificações de chave
pública onde tanto bob quanto alice tem um par de chaves privadas em chaves públicas isso chamamos de james assimétricas para entender chaves assimétricas vamos de uma vez entrar no ar é sei aqui a matemática fica mais difícil se você já gerou chaves públicas para cadastrar no derrame provavelmente teve que usar o comando ssh aqui gênio e normalmente o padrão é usar a opção rsa em resumo hiper resumido o processo comece escolhendo dois números primos gigantescos de novo lá pela casa de 2048 bits na verdade os tutoriais todos devem ter recomendando você escolher 4096 bits o
primeiro processo envolve a multiplicação desses dois primos esse é o modo da operação daí você escolhe um outro número com o primo da função toda gente de cármico para esse modo esse vai ser o expoente da operação a chave pública é a combinação do modo e do expoente agora você acha o inverso multiplicativo modular do expoente inverso módulo extintor gente essa é a chave privada nem se preocupa em saber o que a função do tite é o inverso multiplicativo modular se quiser entender toda a matemática vai precisar saber o que o algoritmo de extensão o
cristiano teorema de lagrange e de novo o tal grupo multiplicativo de inteiros modo hopper que usamos índice helman mas entenda só que a operação inicia com dois números primos gigantes com ele você calcula a chave pública primeiro e dela deriva a chave privada e por isso elas são relacionadas à propriedade mais importante é que tudo que você encriptar com a chave pública só pode ser detectada com a chave privada e vice versa a chave privada você guarda num diretório na sua máquina o máximo de permissões fechadas tipo que você tem no diretório pouco ssh em
todo o linux ea chave pública é que você pode divulgar para qualquer um e é o que você cadastra na sua conta no twitter web por exemplo mas como alice e bob conseguem autenticada identidade deles ou seja como que o bob faz pra saber que ali se é confiável aqui entra o papel de um centro authority ou se e como uma certisign todo sistema operacional vem pré instalado com as chaves públicas de autoria desconfiáveis como a certisign 7 gold 7 globalsign e outros quando você clica no cadeado no seu navegador e vai no caminho da
certificação você vai ver no topo um desses e as você confia neles porque vieram de alguém confiável windows da microsoft a microsoft confia na associação e seu navegador vai confiar nelas também confiança é uma cadeia para duas pontas desconhecidas confiar em uma nas outras elas precisam primeiro confiar no terceiro que ambos confiam esse é o princípio então a alice começa mandando antecipadamente a chave pública dela pra manga globalsign por exemplo a globalsign vai usar a chave privada dela pra assinar a chave pública da alice a chave e assinatura são armazenados num pacote especial que contém
plate que é o formato x 509 de novo quando você clica no cadeado de algum site com o pls ele abre várias informações e é isso que vem dentro de um certificado x 509 mais importante e certificado e certificado está a chave da alice assinada pela google sai mas como é que faz assim a assinatura de novo aqui vou simplificar bastante pra assinar alguma coisa com uma das chaves considere que as chaves são números digamos que a chave privada seja o número 10 ea chave pública seja número 4 você pega caracter a caracteres da mensagem
que quer assinar e multiplica a ela por ela mesmo dez vezes seu carácter em binário número dois vão fazer 2 vezes 22 10 vezes lembra que no começo determinando determinamos o modo então se o resultado dessa multiplicação for maior que o modo aplicamos um módulo nele e essa é a mensagem encriptado agora para decapitar pegamos essa mensagem de novo caracter a caracter multiplicamos ela por ela por ela mesmo quatro vezes que a chave pública do nosso exemplo repetindo-se o número fumar que o modo aplicamos um modo o número eo resultado vai ser a mensagem de
quitada esse é o poder da aritmética modular e quantas vezes vão precisar multiplicar cada caracter na mensagem lembro que eu falei que a gente gera chave de 4096 bits isso é 2 elevado 4096 que vai dar um número da ordem de mil 133 diz é um número astronômico nenhuma calculadora nem só linguagem favorita vai conseguir multiplicar mais calma não vamos usar esse número são não sempre temos um módulo ele lembra vai ser o número um módulo n ainda assim é um número usam mas ordem de grandeza menor e vamos multiplicar cada caracter mensagem levado esse
número usam módulo n voltando ao exemplo é assim que a globalsign usa a chave privada dela para assinar a chave pública da alice e ela coloca o resultado que é a assinatura num certificado x 509 que ali se pode agora mandar pro bob o bob confina globalsign e tem a chave pública dela pré instalado na máquina corte com a chave pública a globalsign ele pode de captar a mensagem do certificado da alice ea chave pública dela dentro com isso o bob pode confiar na li se agora o blog pode enviar mensagens com segurança para alice
para isso ele pode usar a chave pública da lista para encriptar uma senha secreta e só ali só poder de captar com a chave privada que só ela tem pronto como and fiel ambos os participantes possuem a mesma chave simétrica para iniciar uma conversa segura infectada podemos usar um isp para trafegar mensagens encriptadas de tudo isso temos alguns problemas no caso do dfi elma sozinho ele não tem esse mecanismo de searas eo terceiro de confiança para assinar as chaves públicas portanto não tem como garantir a identidade dos participantes com sts ou no caso o rc
ar que é mais usado ambos os participantes têm chaves para criadas e pré assinadas e eles podem fazer esse processo de aperto de mão rende sheik para validar a identidade se o bob consegue abrir identidade da alice com a chave pública da globalsign sabemos que o bob confira globalsign e a globalsign confia na li se então por consequência o bob pode confiar na alice e agora temos autenticação comprovada mas por que usar em s para encriptar comunicação em vez de só usar s/a direto pra fazer toda a equipe da ação porque é esse é computacionalmente
muito caro as chaves são enormes de 4096 bits e tem este processo indicou a mente pesado de multiplicação carácter a caracter pelo módulo da chave de 4096 bits reenviavam encriptar um stream netflix vsa por isso trocamos porém s que sabemos que é rápido e até acelerado via hardware no cpu além disso temos outro problema for de se cresce digamos que no futuro alguém de fato construir um computador quântico de mais de 4 mil clubes e execute o algoritmo de fora agora toda a comunicação do passado que usou as mesmas chaves assimétrica estão comprometidas as chaves
são a identidade das pessoas e as raramente mudam então tudo que foi captado nelas poderia ser detectado no futuro por isso falamos que é esse a não tem flor de se cresce mas disse helman tem porque a idéia é gerar novas chaves secretas aquela nova sessão então o que a gente tem aqui e se usarmos rsa para gerar chaves assimétricas certificados x quais 509 para ter as chaves assinados por uma certa todos confiam com isso podemos autenticar a identidade dos participantes daí podemos usar de fiel mas para trocar segredos que nunca tráfego e finalmente podemos
usar e east para fechar uma conexão segura e rápida em resumo bem resumido é isso que o pls o que chamamos de sl faz e em outras combinações é o que o ssh também faz no caso do sfh você usa a ferramenta ssh atingem para gerar o par de chaves da equipe à sua chave pública para o arquivo autorais e de 15 no servidor agora quando tentar se conectar no servidor ele pode até indicar sua identidade no caso mais simples não precisa de umas e ar porque se achava e pública está no servidor alguém de
confiança teve que colocar lá e isso já é suficiente para servir de autenticação é como funciona no caso do hit run e também dando no caso de tls quanto ssh existe uma etapa que é a negociação dos sites eles não são só os iphone acho que eu não disse mas chamamos esses algoritmos de criptografia de saias quando eles fazem o hands sheik vidor envia uma lista de combinações de sites que ele suporta o navegador ver sua própria lista eles escolhem uma combinação que ambos suportam isso é um site twitch as combinações da lista são como
esse pls receber hrs a wi fi e r 25 meia gcm chá 384 o tamanho de letrinhas mas agora acho que você reconhece quase tudo tls o protocolo e cnh é elite que corvi df é uma efeméride fiel você já sabe ele te corvo falar já s a é o sistema de autenticação com chávez assimétricas com acabei de falar em r 256 como equitação é ser feita gcm modo de execução do oe é chamado galo acautelar monde que também vai ficar de azar e finalmente chá 384 que o algoritmo de haxixe mec que vai ser
usado para verificação de integridade dos dados sobre gcm você precisa entender que todo o algoritmo de encriptação de chave simétrica tem customizações para serem mais flexíveis por exemplo um erro ao usar tripple 10 é usar ele modo receber que é o padrão nesse modo inicializa um vector o hiv é nulo e seu rodar a mesma mensagem pelo tripo 10 ele sempre vai gerar o mesmo valor infectado mas adicionando a iv na operação do primeiro bloco não aconteceu uma avalanche porque o bloco seguinte usa o resultado do bloco anterior como eu já expliquei no ataque de
extensão de comprimento daí o resultado é infectado vai ser bem diferente pra toda vez que você mudar o hiv é mesmo como a idéia de um solte quando geramos restos para gravar no banco como também os pequenos usar o hiv é o modo chamado de sibbi se que é o recomendado nutre por dez o rs também têm modos ms sem entrar em muitos detalhes o modus mct esse requisito de um bloco anterior influenciou bloco seguinte em cadeia por isso não tem como mudar em paralelo já o modo disse m é um tipo de computador ea
característica que você pode interpretar blocos em paralelo tornando o processo mais rápido além disso o gcm tem características que tornam a encriptação mais segura também daí você pode usar uma chave menor do que em si bc ou seja em vez de usar chávez de 256 bits pode usar uma de 128 e ter relativamente o mesmo nível de segurança você já deve ter entendido que quanto menor a chave - trabalhos algoritmos tensão ordem de grandeza - multiplicações em comunicação via tls em sites seguros você gostaria que a comunicação fosse segura mas também fosse rápida por isso
existe a opção de escolher em sgm agora esse o ept kickoff em resumo resumindo estamos falando literalmente de uma função que gera um gráfico parecido com essa aqui do lado e isso é uma curva elíptica tem bastante matemática para entender as propriedades dessa curva mas o importante é que escolheram os dois pontos quaisquer nessa curva e traçar uma linha reta ela sempre vai ter seccionar um terceiro ponto um dos pontos da linha que escolhemos vai ser a chave privada e o ponto de intersecção vai ser a chave pública sim curvas e políticas são usadas para
gerar chaves assimétricas lembro que no caso de rs ao processo comece escolhendo dois números primos gigantes aleatórios e depois faz várias derivações para chegar na chave privada aqui de forma simplificada é traçar uma linha em cima do gráfico e temos nossas chaves a propriedade importante é que as chaves gerados através de curvelo lítica são mais resistentes a tentativa de faturar os primos com quadrat que se vive em general norfil de civis elas são técnicas matemáticas para tentar faturar o número usam os prêmios correspondentes sem recorrer à força bruta mesmo sem computador quântico e chora existem
outras tentativas matemáticas para tentar chegar na faturação de primos não é prático e muito menos rápido então a calma e se seus portos e muitos ainda estão seguros a geração de chaves via cubas e políticas cria chávez ainda mais forte do que o hsa normal consegue criar graças às propriedades dessa curva portanto e cdh e o que é isso e lipstick carvide fiel mann e fhemeron lembro que eu falei que só definirá uma sozinha pode sofrer ataque de man in the middle e precisamos ao com o sts no caso à parte do elipse korb substitui
a necessidade dsts e providencia autenticação ao de ferro e alma e lembram como eu falei que as chaves do hsa sofre de fora desse curso porque as chaves nunca mudam por isso tem um efeito no nome de si porque eles geram chaves assimétricas para cada sessão e depois elas são descartadas assim mesmo se um dia alguém quebrar chávez que eu estou usando a minha seção de forma errada e agora o atacante não vai conseguir quebrar chaves das sessões do passado porque eles usaram chaves efêmeras agora combinamos disse helman com chávez efêmeras venha curva ele pratica
para trocar segredos e podemos combinar com esse apagar antiga identidade e continuamos usando o ie-s para encriptar os dados em si com as chaves trocados com difícil e alma agora sim esse é mais ou menos o tns que você pode conhecer com sl que todo o site aplicativo usa hoje em dia chávez gerados através de curitiba estão sendo adotados cada vez mais é isso que é usado no algoritmo do bitcoin para gerar suas chaves a apple usa no e mestres da vida empresas como dia nem sequer viu neném bns e como vimos nas safras suíte
navegadores eles também já suportam e mesmo ssh hoje e recomenda se criar chaves com é de 255 19 aliás ele tem esse nome porque usa com 255 19 que é uma curva e política se você viu essa recomendação em algum tutorial talvez não tenha entendido até hoje porque manda usar 7 255 19 e vg s a e porque o tamanho da chave é menor de 256 bits em vez de 4096 que se recomenda para essa é agora você deve ter entendido como eu falei antes as chaves da cor política são mais fortes e por isso
podem ser menores e sendo menor você também já sabe muito menos multiplicações o que significa uma encriptação mais rápida com o aumento na adoção na maioria dos lugares hoje em dia se for gerar a chávez com ssh kigen escolha é de 255 19 em vez do rs alguém chave por exemplo suporta e você vai notar com uma chave pública que ele gera é bem mais compacta justamente porque a chave é menor e agora você consegue entender todas as letras as que aparecem no site ou tweets dos navegadores de qualquer forma mesmo curvas e políticas ainda
não são resistentes ao futuro ataque com schor em computadores quânticos mas como eu expliquei no episódio anterior ainda estamos bem longe disso existem vários algoritmos novos na categoria de pós quânticos que não dependem da dificuldade de faturar números primos mesmo curvas e políticas continuam sendo suscetíveis a ataques de um possível futuro computador quântico também mas existe uma evolução disso que é o super singla a soja ligraf para fazendo da wikipédia gráficos de es hoje em dia super singulares são classes de expansões de gráficos que aparecem em computação da teoria de números e foram aplicados em
que a fotografia de cor verde tica os vértices representam curvas e políticas super singulares sobre campos finitos e as bordas representam e geniais entre curvas pronto fui eu não consigo nem ter um insight de como isso funciona mais uma das propriedades importantes é que ele consegue ser mais seguro ainda com chávez ainda menores e é considerado pós quântico quer dizer que é resistente aos algoritmos quânticos repetindo o que eu disse no episódio de supremacia quântica o mundo da criptografia não pretende ficar de braços cruzados esperando o computador quântico chegar o povo tá antecipado e em
criptografia você sempre precisa estar um passo à frente e com isso fechamos o tema de conceitos básicos de criptografia não estou brincando tudo o que eu disse até aqui é o básico do básico de criptografia especialmente se você tem interesse em criptanálise um dos campos da computação onde matemática é absoluto é criptografia mas mesmo sem saber matemática toda a intenção foi expor vocês a todos esses jargões e como ele se relaciona os com os outros eu espero que agora vocês têm uma noção melhor de onde cada jargão é usado e o que significa quais os
pontos fortes e fracos nem por que você não deve sair tentando criar soluções que envolvem criptografia os ataques que eu falei aqui são todos simples os especialistas e hackers white sbac rede estão usando isso e coisas mais avançadas no arsenal deles novamente eu tenho certeza todo mundo ainda tem um monte de dúvidas mas não deixem discute nos comentários abaixo se curtir um vídeo mantém o joinha compartilhe com seus amigos assim o canal e não deixe de clicar no sine para não perder os próximos episódios a gente se vê até mais
Copyright © 2024. Made with ♥ in London by YTScribe.com