o seu sol a ideia da aula de hoje na é falar sobre código de autenticação de mensagem na aula anterior a gente falou sobre integridade de mensagem né E aí a gente começou a mostrar como é que a gente poderia ter um saio integridade na realidade trabalhando com funções resumo as funções resumos que a gente viu na última aula a gente vai usar agora aqui para trabalhar com essa questão então de código de autenticação de mensagem o Messi authentication Call ó é a ideia o que a gente vai trabalhar aqui não tem a ver com
confidencialidade confidencialidade a gente já viu lá quando a gente falou do Aécio do três meses dos algoritmos de criptografia simétrica então agora a gente tá falando de segurança de sistemas a gente também tá preocupado que alguém no meio do caminho não a Pegue uma determinada mensagem Nossa altere e o cara que vai receber lá do outro lado acho que aquela mensagem é uma mensagem legítima é uma mensagem que não foi manuseado aqui não foi alterado ou nos Desafios que eu deixei para vocês tem um lado do ano para em pé de onde vocês conseguiram por
exemplo alterar uma determinada nessa no final da aula quando a gente chegar lá no final vocês vão ver que eu posso alterar inclusive uma mensagem cifrada com a essa é o Garanta confidencialidade mas eu não Garanta a integridade das mensagens então tem tem que usar essas situações que e tem querer garantir a integridade de mensagens ex de proteger código no sistema operacional eu gravo um código E aí esse código depois quando eu for executar eu quero saber se esse código não foi alterado por um vírus Pois é lá ou eu quero proteger propagandas que eu
vou colocar aí para a China azul é para ir de táxi determinada propaganda ela já li pichações nela minhas vai peito tá comunicação para troca de mensagens e assim por diante os exemplos a gente tem diversos onde integridade é importante lembre né A gente trabalha com privacidade autenticação e integridade e não-repúdio a gente fazer o privacidade agora a gente vai ser um pouco sobre integridade então a ideia básica aqui ó bom para trabalhar com código de autenticação de mensagem integridade de mensagem Imagine que você tenha Alice e quer mandar uma mensagem lá por volta ó
se vocês olharem para começo de conversa essas mensagens eu vou mandar junto com ela o que eu chamo de etiqueta né um pé e esse tag que eu vou gerar aqui ele vai ser gerado a partir de uma senha e o Bob Alice compartilhar um previamente então o que que a Alice vai fazer ele vai ela vai pegar essa mensagem cifrada ou não eu não tô preocupado com isso e ele ela vai gerar uma etiqueta tag Zinho baseado nessa chave e nessa mensagem e vai anexar essa etiqueta junto com a mensagem quando chegar lá no
blog o que que o Bob vai fazer ele vai verificar e a verificação dessa mensagem vai ser como ele vai pegar a mesma mensagem para vai gerar de novo a etiqueta quem sabe que foi compartilhada E aí vamos verificar se essa etiqueta que veio junto com a mensagem se ela está correta ou não se ela continua mesmo e alguém para gerar essa etiqueta precisa da mensagem se chegou direitinho o Bob pode dizer essa mensagem não foi alterada no meio do caminho ó essa ideia básica Me fale a parte de verificação então a etiqueta né então
rouba ele só fazer essa verificação essa aí velho porque a gente precisa de uma chave secreta para trabalhar com integridade Porque pensa o seguinte ó CRC é a outra você já devem ter visto lá na disciplina de redes pelo menos né onde vocês podem fazer cyclic redundancy code é um código de residência e para identificar se essa minha mensagem ela foi alterada no meio do caminho só que eu sei a receita por exemplo ele foi projetado para identificar erros aleatórios e não erros maliciosos ser erros de transmissão ou seja não alguém queira alterar propositalmente essa
mensagem porque Sião Esse foi o erro aleatório o CRC aqui no final tô calcula e verifica né Essa já perdeu alguns bicos no meio do caminho alguns vídeos foram trocados então Alice me manda de novo agora se essa mensagem for alterada propositalmente o CRC não vai me ajudar porque alguém no meio do caminho pode pegar essa mensagem alterar ela recalcular o CRC e mandar para o Bob a nova mensagem com o novo CRC calculado isso é trivial isso é muito fácil de fazer e aí o Bob vai verificar o crc-ma dizer a mensagem não foi
alterada no meio do caminho mas ele não tá pensando na situação onde alguém malicioso arteira alterar esse cara malicioso ele pode recalcular você é esse então a integridade a tem a necessidade de ter uma chave que seja compartilhado entre Alice e ó E essa sala e tem que ser uma chave secreta eles não podem entrar a ser compartilhada né você é acessada por alguém que seja malicioso relação a gente precisa de uma senha aqui tem os exemplos é que eu tinha mencionado no início então vocês querem proteger arquivos por exemplo vocês podem pegar os arquivos
de vocês e gerar um tag para todos os arquivos que vocês tem lá dentro do sistema da máquina de você usar e aí se vocês quiserem depois verificar se um determinado arquivo foi alterado então vocês podem verificar se a tag Zinha que tem associado aquele arquivo se ela continua a tá correto quando vocês mandam gelar ela de novo com a chave que você quer né Isso é uma estratégia que é bastante utilizada por exemplo quando a gente usa esse é o Chips criptográficos né os TPM dos ter plataforma ódio são os módulos que eu posso
guardar senhas que são chips que são resistentes a alteração então eu posso todo meu sistema protegido onde eu guardo a senha eu guardo as chaves As Faces do cubo Os Cegos para cada arquivos e aí eu sei se aquele meu sistema ele foi por exemplo algum vírus se instalam em algum do sistema dos arquivos de sistema Então olha aqui Se vocês fizerem isso então se um vírus infecta o sistema no final e modificar os arquivos se esse marca Seguros um vírus não vai conseguir forjar essa etiqueta porque para fazer sentimento ele vai precisar da chave
e aí se você se identificarem que aquele arquivo foi alterado então o que que vocês fazem vocês podem reinicializar o sistema de um com sistema operacional não infectado Olhar todos os arquivos que foram modificados EA eliminar aqueles arquivos e reinstalar então aqui no e tem uma forma de vocês agora como é que eu vou construir um código de autenticação de mensagem eu posso fazer isso de duas formas é uma baseada numa cifra de bloco Tipo C vc usando uma função hash ou seja as aulas que a gente viu anteriormente né como é que funciona o
CDC Mac como é que funciona uma função o resto a função hash algoritmo que essa daqui a uma das mais utilizadas comer usando uma função resumo a a construção de um CDC leque ele vai funcionar lembrei na hora do CDC como é que funciona o CVC Você tem uma mensagem e o quê que você sozinha lá no CDC Vocês pegaram essa mensagem pegava um Live né o inicialização Vector aqui e fazia o quê com ele pegava esse pedaço fazer um short com esse aí essa mensagem esse Block então ele é cifrado com uma chave e
esse valor então é a primeira primeiro bloco do meu texto cifrado esse bloco se fralda que ele vai ele é usado como vetor de inicialização para fazer um shor um esse próximo bloco né da minha mensagem original e eu vou fazendo isso até o final então eu vou pegar como etiqueta aqui ó a minha equipe preta né o meu pezinho vai ser o último bloco por quê que vai ser o último bloco ele vai ser o último bloco Porque qualquer Beach que eu alter e esse bloco vai fazer o quê esse bloco ele vai então
ser alterado e eu preciso da chave então tem que ter a chave para conseguir gerar esse meu bloco aqui no final agora algumas perguntas é porque que eu não posso usar um Live aleatório eu vou dar uma pausa de uns 15 segundos para vocês pensar bom então a ideia de não ser aleatório é aqui se vocês não tiverem esse aí o Bob lá do outro lado né não tiver o Live ele não consegue fazer o que regerá essa técnica então se ele fosse aleatória eu teria que mandar esse aí jejum então como assim o meu
objetivo na não é privacidade meu objetivo é só questão de integridade E se a gente pode ser um valor fixo por exemplo tudo zero o início porque o que eu tô interessado é só esse último bloco que está a Quina e aqui ó como esse primeiro bloco ele não vai ser usado esse bloco cifrado ele não vai ser utilizado Então esse bloco aqui já vai acertar esse segundo que já vai afetar a gente já vai acertar então lá no final eu só vou pegar aqueles bebezinhos que estão lá então eu posso ser um Live fixo
para essa minha construção né de ser de celular a partir por isso que eu não preciso não posso ter o outro a outra construção que eu tenho é o resto é e esse resto é que ele funciona baseado numa função uma função resumo por exemplo sha256sum lembrem vocês não podem mais usar para o teu Saul ele já não é mais seguro né pessoal Já identificou colisões então não usem salvo não usem ele de 5 using sha-256 achar 512 ou qualquer outra função resumo que tem uma segurança que tem o número dele razoável não vamos pegar
o uma função função resumo e seja quebrado Então como é que eu vou construir construir essa minha função lá lembra eu vou precisar da ter uma chave e vou usar agora então uma função resolvi uma das formas de o construir é Imagine que vocês têm uma chave a cá e uma mensagem ele né então eu poderia possuir o Maps a forma aqui ó Onde eu pego quem o meu a minha chave e conta-te no com a minha mensagem ou seja eu pego a chave eu coloco lá no início e aí eu faço a concatenação uma
mensagem e Gero qualquer me tezinho teu altere aqui vai alterar esse meu resto não então vocês podem usar a própria função com uma chave no início essa chave ela tem que ser secreto e ela tem que ser compartilhada só com o entre Alice e o vô agora minha pergunta para você de novo é isso aqui é seguro vou dar uma pausa de novo para vocês pensarem bom então a pergunta a ela se esse tipo de acho é na edmea galera celular Seguro ou seja construir um ex só dessa forma onde eu tenho a função resto
eu aplico em cima da chave e da mensagem bom então dei uma olhada aqui ó será que ele é seguro olhem como tá sendo construído esse meu lei de maquila lembrem e o meu a minha função resumo eu pego um pedacinho pedacinho né se lembra que eu divido em blocos de 512 mas imagine aqui ó eu coloquei a minha chave na frente e ela vai vir fixo do mesmo jeito que eu tinha lá e aí o que que tá acontecendo aqui eu tô aplicando a minha função resto aplicando a minha função o resto com o
resultado desse cara eu pego o resultado desse cara e faço o que cálculo novo o resto pega o resultado daqui e cálculo com o próximo bloco e assim eu vou fazendo ir lá no final Então eu tenho aí eu te quero aqui te quero e o problema desse tipo de construção aqui ó a resposta já tá aqui no final o quê que pode aconteceu o Mallory ele pode imagine toda essa mensagem que está sendo transmitida Oi e esse cara aqui ó também está sendo transmitido né o resultado disso aqui está sendo transmitido o Mauri ele
pode fazer o quê mesmo ele não sabendo a senha ele pode adicionar um bloco aqui Coloque mais um bloquinho aqui M3 por exemplo e coloca ele aqui o bloco que ele quero que ele quiser aqui vocês podiam ter uma mensagem dizendo assim ó o Conrado deposita r$ 500 na ponta do Avelino aí o blog podia chegar aqui e levar um país é outra avó com raiva desculpa não é para o veneno é para o Pedro lá então o Mauro ele pode inserir alguma coisa aqui e como é que o Mallory vai calcular um novo Hair
sabendo fazendo com que o Bob não consegui identificar hora ele calcula isso aqui ó Oi e ele faz o que ele pega essa nova mensagem pega este resultado que está aqui ó e faz o que me calcula função resto de novo e agora ele tem os dois valores é porque isso aqui tá vendo junto com a mensagem ele coloca esse outro cara e ele entrega o que depois que o Bob Bob entrega esse novo resto aqui ó eu entrego esse resto agora esse aqui é que vai junto com a mensagem ele o Inter certo a
mensagem tá interceptou a mensagem não veio não não vejo a chave ele interceptou a mensagem toda foi isso aqui que tá indo junto né a mensagem EA etiqueta aqui bom então ele pegou isso daqui e aí o que que o valores faz ele anexa mais um pedacinho da mensagem então a mensagem agora passos e isso aqui e ele não entrega essa etiqueta agora essa etiqueta aqui tá aqui ele usa para calcular uma nova etiqueta ele manda então por Bob E aí o Bob faz o que o Bob quando chega lá ele calcula Então pega um
cá pega toda mensagem que chegou calcula o resto e vai dar igualzinho a esse que tá aqui e aí O Bob não tem como saber isso foi alterado no meio do caminho Qual foi o problema aqui o problema que eu só tô Protegendo o início da mensagem tô protegendo aqui ó e eu não Bob não consegue colocar nada aqui no meio mas o Bob ou desculpa o Mauro aí né não consegue colocar nada ele não início mas consegue colocar aqui no final então a ideia quem sabe a gente inverte né e quem sabe a gente
inverte essa construção Ou seja eu com primeiro eu coloco a mensagem e lá no final eu coloco a chave aí eu protejo o Finn Mas será que eu protegi nisso ou Será que alguém pode colocar alguma coisa aqui e ainda assim ele consegue colocar alguma coisa aqui e ainda sim ele conseguiria deixar essa esse resto não Seguro ou seja mesmo que eu faço e coloque a chave no E no fim só no fim eu não consigo mais fazer o que eu ainda se eu consigo alterar a minha mensagem ok então qual vai ser a solução
para construir um h máquina é um adware e de maneira que ele seja seguro resposta parece ser Clara né eu tenho que proteger o início e o fim da mensagem e aí isso tinha feito aqui ó tá então a gente vai precisar de uma chave para proteger o início e uma chave para proteger o final só 15 usar duas Chaves lá o padrão que se usa ele usa o leite Max onde vocês vão usar só uma chave desde o precisar ter mais tarde em uma chave dois têm duas palavras para poder ver o início por
proteger o fim o Edmar que ele usa somente uma chave secreta sem vai ficar mais eficiente né e ele desse me duas constantes chamadas e pé e outro é imposto pedem alto Perry ou seja o início e por fim e como é que ele usa esses essas duas constantes Ele pega a chave aqui ó e faz um shor é com esse o perto e ele pega a mesma chave e faz um fora aqui com quem com um ponto perto então o que que ele tá fazendo ele está protegendo tanto o início quanto o final Olha
só como é que chega ali aqui na figura bom então o que que ele tá fazendo aqui ele tá pegando aqui ó a fase e fazendo um short com esse pele esse valor é o valor diferente deste valor que tá aqui ó bom então agora o Mauri não vai conseguir colocar uma mensagem aqui no início porque o que eu tô protegendo esse meu início com a chave em um alô e agora ele não consegue colocar aqui no final porque o que agora eu tenho uma chave que entra ó Antes desse último bloco Como ter uma
chave que entra Antes desse último bloco se esse cara colocar um outro bloco aqui ó ele não vai ter como calcular uma etiqueta da mesma forma que o Bob vai calcular então mesmo que o Mauri agora insira um bloco aqui e recalcule a etiqueta o que que vai acontecer quando Bob for recalcular ele vai usar esse o pernão mais para esse bloco e ele vai usar para cá Oi e aí essa etiqueta que o eu e o Mauro está fazendo tá gerando ela vai ser completamente diferente da etiqueta que o botao calculando então agora o
que que aconteceu eu protegi não deixo mais um Mallory inserir alguma coisa no início e não deixo e mais ele seria alguma coisa no fim No meio me parece claro né Qualquer bebezinho que ele é o pele aqui no meio isso afetaria o meu resultado da minha função resumo lá no final né lembrem do efeito Cascata que a gente tem função resumo um bit alterado altera tudo bom então agora tem uma construção o que ela é segura aqui aí de Maquiné Wellington divertidos aqui só fazer a correção aqui já G1 é só voltar para casa
deixou essa corrigindo aqui a gente na Então agora eu tenho a construção onde eu protejo em isso para ter o Sim e eu construir então um código de autenticação de mensagem o algoritmo para fazer autenticação de mensagem usando quem usando funções resumo então o que que acontece criptografia Quando eu for trabalhar com segurança não adianta vocês fazerem só a criptografia criptografia que vocês utilizarem tem que ser feita de uma maneira autenticar se vocês não fizerem de uma maneira autenticada vocês estão suscetíveis a erros EA problemas e eu vou explicar um problema bem real você pode
usar até o a s a e Vocês conseguem alterar a as mensagens então a ideia criptografia tem que ser feito modo altenticado Produza um médico e do processo de criptografia e ele agora sim vocês vão ter confidencialidade e integridade ou seja daquelas quatro características que a gente está tentando ver nossa disciplina de nossa disciplina né duas daquelas características privacidade autenticação e integridade e não-repúdio nós estamos vendo agora privacidade e integridade aqui tem alguns exemplos de litografia autenticada na cifra com cdc e depois autêntica com selecionar ou cifra.com CPR e depois autêntica Com seda selek que
é um dos padrões que tentam em segurança privacidade e integridade só privacidade não não adianta então eu vou dar uma pausa que uma hora nessa gravação para gravar no outro vídeo então um exemplo de Ah tá