tropyc 1 tropyc uma linguagem de padrão para software criptográfico bringel filho...
Post on 07-Apr-2016
213 Views
Preview:
TRANSCRIPT
TropycTropyc 11
TropycTropycUma linguagem de Padrão para Uma linguagem de Padrão para
Software CriptográficoSoftware Criptográfico
Bringel Filhobringel@lia.ufc.br
Universidade Federal do Ceará
TropycTropyc 22
AgendaAgenda
GOOCA (Generic Object-Oriented GOOCA (Generic Object-Oriented Arquitecture Architecture)Arquitecture Architecture)TropycTropyc: : A Pattern Language for A Pattern Language for Cryptographic SoftwareCryptographic SoftwarePadrões do TropycPadrões do Tropyc
TropycTropyc 33
TropycTropycGeneric Object-Oriented Cryptographic Archtecture
Sender Authentication
InformationSecrecy Signature Message
Integrity
Secrecy withSender
Authentication
Secrecy withSignature
Signaturewith Appendix
Secrecy withIntegrity
Secrecy with Signature
with Appendix
TropycTropyc 44
GOOCA – Generic Object-Oriented GOOCA – Generic Object-Oriented Cryptographic ArchitectureCryptographic Architecture
ContextoContexto– Dois objetos trocam dados através de Dois objetos trocam dados através de
mensagensmensagensPrecisam executar transformações criptográficas, Precisam executar transformações criptográficas, sozinhos ou em combinações, nos dadossozinhos ou em combinações, nos dadosPrecisam de um componente criptográfico que Precisam de um componente criptográfico que seja flexível e que possa ser facilmente reutilizado seja flexível e que possa ser facilmente reutilizado em outras transformações criptográficasem outras transformações criptográficas
TropycTropyc 55
TropycTropyc
Uma linguagem de Padrão para Softwares Uma linguagem de Padrão para Softwares CriptográficosCriptográficosGOOCA (GOOCA (Generic Object-Oriented Generic Object-Oriented Cryptographic Architecture)Cryptographic Architecture)Padrões baseados no GOOCAPadrões baseados no GOOCA– Classificados de acordo com objetivo o Classificados de acordo com objetivo o
criptográficocriptográfico
TropycTropyc 66
GOOCA – Generic Object-Oriented GOOCA – Generic Object-Oriented Cryptographic ArchitectureCryptographic Architecture
ProblemaProblema– Como projetar uma arquitetura orientada a Como projetar uma arquitetura orientada a
objeto flexível para um projeto criptográfico a objeto flexível para um projeto criptográfico a fim de facilitar o reuso de componentes?fim de facilitar o reuso de componentes?
TropycTropyc 77
GOOCA – Generic Object-Oriented GOOCA – Generic Object-Oriented Cryptographic ArchitectureCryptographic Architecture
SoluçãoSolução– O emissor realiza uma transformação criptográfica O emissor realiza uma transformação criptográfica
nos dados antes de enviá-los para o receptornos dados antes de enviá-los para o receptor– O receptor recebe a mensagem e realiza a O receptor recebe a mensagem e realiza a
transformação inversa para substituir os dadostransformação inversa para substituir os dados– O emissor e o receptor devem entrar em consenso O emissor e o receptor devem entrar em consenso
sobre qual transformação realizar e sobre sobre qual transformação realizar e sobre compartilhar ou distribuir chaves se necessáriocompartilhar ou distribuir chaves se necessário
TropycTropyc 88
GOOCA – Generic Object-Oriented GOOCA – Generic Object-Oriented Cryptographic ArchitectureCryptographic Architecture
Sender
send()
Decodifier
g(x)
Codifier
f(x)Cryptographic
Algorithm
Receiver
receive()
TropycTropyc 99
GOOCA – Generic Object-Oriented GOOCA – Generic Object-Oriented Cryptographic ArchitectureCryptographic Architecture
Sender Receiver
TropycTropyc 1010
GOOCA – Generic Object-Oriented GOOCA – Generic Object-Oriented Cryptographic ArchitectureCryptographic Architecture
ConsequênciasConsequências– Comportamentos comuns entre as transformações Comportamentos comuns entre as transformações
criptográficascriptográficas– Sistemas flexíveis e adaptáveis com requisitos de Sistemas flexíveis e adaptáveis com requisitos de
segurança baseados em criptografiasegurança baseados em criptografia– Requisitos de segurança baseados em criptografia Requisitos de segurança baseados em criptografia
geralmente são requisitos não funcionais para geralmente são requisitos não funcionais para aplicações de propósito geralaplicações de propósito geral
– A separação explícita do conteúdo em dois tipos de A separação explícita do conteúdo em dois tipos de requisitos facilita a legibilidade e o reusorequisitos facilita a legibilidade e o reuso
TropycTropyc 1111
GOOCA – Generic Object-Oriented GOOCA – Generic Object-Oriented Cryptographic ArchitectureCryptographic Architecture
Usos ConhecidosUsos Conhecidos– Padrões da TropycPadrões da Tropyc– SistemasSistemas
Charging per Click on the WebCharging per Click on the Web [5] [5]Security-Enhanced Mailing Lists [6]Security-Enhanced Mailing Lists [6]A Security Architecture for the Internet Protocol [7]A Security Architecture for the Internet Protocol [7]Client Signature on Web Documents [8]Client Signature on Web Documents [8]Um Framework para Venda e Distribuição On line Um Framework para Venda e Distribuição On line de Publicações Baseado em Micropagamentos [9]de Publicações Baseado em Micropagamentos [9]
TropycTropyc 1212
GOOCA – Generic Object-Oriented GOOCA – Generic Object-Oriented Cryptographic ArchitectureCryptographic Architecture
Padrões RelacionadosPadrões Relacionados– O padrão O padrão StrategyStrategy pode ser usado para obter pode ser usado para obter
independência de algoritmoindependência de algoritmo– O padrão O padrão BridgeBridge pode ser usado para obter pode ser usado para obter
independência de implementaçãoindependência de implementação– O O Abstract FactoryAbstract Factory pode ser usado no passo pode ser usado no passo
inicial de negociação para decidir que inicial de negociação para decidir que algoritmo e implementação usaralgoritmo e implementação usar
TropycTropyc 1313
Information SecrecyInformation Secrecy
ContextoContexto
mensagensEmissor Receptor
Interceptor
TropycTropyc 1414
Information SecrecyInformation Secrecy
ProblemaProblema– Como o emissor pode enviar uma mensagem Como o emissor pode enviar uma mensagem
para o receptor de tal forma que um para o receptor de tal forma que um interceptor não possa ler o seu conteúdo? interceptor não possa ler o seu conteúdo?
TropycTropyc 1515
Information SecrecyInformation Secrecy
SoluçãoSolução– Padrão suporta crifragem e decrifragem de Padrão suporta crifragem e decrifragem de
dadosdados– O emissor e o receptor entram em consensoO emissor e o receptor entram em consenso
processo criptográficoprocesso criptográficochave secreta compartilhadachave secreta compartilhada
– O emissor cifra a mensagem e manda para o O emissor cifra a mensagem e manda para o receptorreceptor
– O receptor decifra a mensagem cifradaO receptor decifra a mensagem cifrada
TropycTropyc 1616
Information SecrecyInformation Secrecy
ConsequênciasConsequências– Custo de tempoCusto de tempo– Um interceptor não poderá ler o conteúdo da Um interceptor não poderá ler o conteúdo da
mensagem mas poderá modificar o conteúdo mensagem mas poderá modificar o conteúdo da mensagem cifrada ou realizar outro tipo de da mensagem cifrada ou realizar outro tipo de ataqueataque
– Erros na transmissão ou no armazenamento Erros na transmissão ou no armazenamento podem, potencialmente, tornar a recuperação podem, potencialmente, tornar a recuperação da mensagem original impossívelda mensagem original impossível
TropycTropyc 1717
Information SecrecyInformation Secrecy
Usos conhecidosUsos conhecidos– Cifragem de correio eletrônicoCifragem de correio eletrônico
TropycTropyc 1818
Message IntegrityMessage Integrity
ContextoContexto– Mensagens recebidas podem ter sido Mensagens recebidas podem ter sido
alteradas ou substituídas por um interceptoralteradas ou substituídas por um interceptor– O emissor e o receptor não compartilham O emissor e o receptor não compartilham
chaves criptográficaschaves criptográficasNão podem assinar mensagem ou autenticá-las Não podem assinar mensagem ou autenticá-las com com Message Authentication CodesMessage Authentication Codes (MACs) (MACs)
TropycTropyc 1919
Message IntegrityMessage Integrity
ProblemaProblema– Como o receptor pode determinar se a Como o receptor pode determinar se a
mensagem que ele recebeu foi modificada? mensagem que ele recebeu foi modificada?
TropycTropyc 2020
Message IntegrityMessage Integrity
SoluçãoSolução– O emissor e o receptor entram em consenso O emissor e o receptor entram em consenso
para usar um MDCpara usar um MDC– O emissor calcula o MDC da mensagem e O emissor calcula o MDC da mensagem e
envia, com a mensagem, para o receptorenvia, com a mensagem, para o receptor– O receptor calcula o MDC da mensagem e O receptor calcula o MDC da mensagem e
compara-o com o recebido do emissorcompara-o com o recebido do emissorSe forem iguais, a mensagem é originalSe forem iguais, a mensagem é original
TropycTropyc 2121
Message IntegrityMessage Integrity
SendersendMsg()sendMDC()
CryptographicAlgorithm
ReceiverreceiveMsg()receiveMDC()
Codifier
calcMDC()
Decodifier
verifyMDC()
TropycTropyc 2222
Message IntegrityMessage Integrity
ConsequênciasConsequências– É necessário verificar um MDC relativamente É necessário verificar um MDC relativamente
pequeno para determinar se uma grande pequeno para determinar se uma grande quantidade de dados foi modificadaquantidade de dados foi modificada
– O interceptor ainda pode substituir ambos, a O interceptor ainda pode substituir ambos, a mensagem e o MDC correspondentemensagem e o MDC correspondente
– O MDC por si só não garante a autoria da O MDC por si só não garante a autoria da mensagemmensagem
TropycTropyc 2323
Message IntegrityMessage Integrity
Usos conhecidosUsos conhecidos– Detecção da modificação de arquivos Detecção da modificação de arquivos
causada por víruscausada por vírus– Geração de Geração de pass-phrasespass-phrases para produzir para produzir
chaves criptográficaschaves criptográficas
TropycTropyc 2424
Sender AuthenticationSender Authentication
ContextoContexto– Duas fontes querem trocar mensagens mas Duas fontes querem trocar mensagens mas
não podem distinguir suas próprias não podem distinguir suas próprias mensagens de mensagens que um mensagens de mensagens que um interceptor possa ter incluído no canal de interceptor possa ter incluído no canal de comunicaçãocomunicação
– Eles também têm a capacidade de Eles também têm a capacidade de compartilhar segredos de maneira seguracompartilhar segredos de maneira segura
TropycTropyc 2525
Sender AuthenticationSender Authentication
ProblemaProblema– Como mensagens autênticas podem ser Como mensagens autênticas podem ser
distinguidas de mensagens suspeitas? distinguidas de mensagens suspeitas?
TropycTropyc 2626
Sender AuthenticationSender Authentication
SoluçãoSolução– O emissor e o receptor entram em consenso O emissor e o receptor entram em consenso
previamente sobre uma chave secreta compartilhada previamente sobre uma chave secreta compartilhada e um algoritmo criptográfico para gerar e um algoritmo criptográfico para gerar Códigos de Códigos de Autenticação de MensagensAutenticação de Mensagens (MACs) (MACs)
– O emissor calcula o MAC da mensagem e envia O emissor calcula o MAC da mensagem e envia ambos, mensagem e MAC, para o receptorambos, mensagem e MAC, para o receptor
– O receptor calcula o MAC novamente e compara-o O receptor calcula o MAC novamente e compara-o com o recebido do emissorcom o recebido do emissor
– Se forem iguais, a mensagem é autênticaSe forem iguais, a mensagem é autêntica
TropycTropyc 2727
Sender AuthenticationSender Authentication
ConsequênciasConsequências– Uma mensagem só pode ser autenticada se Uma mensagem só pode ser autenticada se
uma informação reconhecida somente pelas uma informação reconhecida somente pelas partes comunicantes está intrinsecamente partes comunicantes está intrinsecamente associada a elaassociada a ela
– Se a autenticação da informação é uma Se a autenticação da informação é uma função dos dados e de um segredo, a função dos dados e de um segredo, a substituição delas, ou de parte delas, pode substituição delas, ou de parte delas, pode ser detectadaser detectada
TropycTropyc 2828
Sender AuthenticationSender Authentication
Usos conhecidosUsos conhecidos– MACs podem ser usados na autenticação de MACs podem ser usados na autenticação de
pacotes IP na internetpacotes IP na internet
TropycTropyc 2929
SignatureSignature
ContextoContexto– O emissor envia mensagens para o receptor mas O emissor envia mensagens para o receptor mas
eles não podem distinguir suas próprias mensagens eles não podem distinguir suas próprias mensagens daquelas que um interceptor possa ter inserido dentro daquelas que um interceptor possa ter inserido dentro do canal de comunicaçãodo canal de comunicação
– Além disso o emissor pode depois disputar a autoria Além disso o emissor pode depois disputar a autoria das mensagens atualmente enviadas por eledas mensagens atualmente enviadas por ele
– Em tal situação o receptor não pode provar a uma Em tal situação o receptor não pode provar a uma terceira parte que somente aquele emissor poderia terceira parte que somente aquele emissor poderia ter enviado aquela mensagemter enviado aquela mensagem
TropycTropyc 3030
SignatureSignature
ProblemaProblema– Como garantir que as mensagens têm uma Como garantir que as mensagens têm uma
origem autêntica e genuína de tal forma que o origem autêntica e genuína de tal forma que o emissor não possa descartar uma mensagem emissor não possa descartar uma mensagem enviada por ele para o receptor? enviada por ele para o receptor?
TropycTropyc 3131
SignatureSignature
Solução:Solução:– O emissor e o receptor entram em consenso sobre o O emissor e o receptor entram em consenso sobre o
uso de uma chave pública de um protocolo de uso de uma chave pública de um protocolo de assinatura digitalassinatura digital
– O emissor cifra uma mensagem com sua chave O emissor cifra uma mensagem com sua chave privada e envia a mensagem assinada para o privada e envia a mensagem assinada para o receptorreceptor
– O receptor decifra a mensagem assinada com a O receptor decifra a mensagem assinada com a chave de verificação do emissorchave de verificação do emissor
– Se a mensagem faz sentido para o receptor então Se a mensagem faz sentido para o receptor então deve ser verdade que aquele é o emissor da deve ser verdade que aquele é o emissor da mensagemmensagem
TropycTropyc 3232
SignatureSignature
ConsequênciasConsequências– Assinaturas são geralmente tão grande Assinaturas são geralmente tão grande
quanto os dados a serem assinadosquanto os dados a serem assinadosoverhead intoleráveloverhead intolerável
– A verificação da autoria da mensagem é A verificação da autoria da mensagem é baseada unicamente no segredo da chave do baseada unicamente no segredo da chave do autorautor
TropycTropyc 3333
SignatureSignature
Usos conhecidosUsos conhecidos– Assinaturas digitais são usadas em Assinaturas digitais são usadas em
aplicações de comércio eletrônico em aplicações de comércio eletrônico em autenticações de clientes e comerciantesautenticações de clientes e comerciantes
– Podem também ser usadas para garantir a Podem também ser usadas para garantir a autenticidade da informação obtida na autenticidade da informação obtida na InternetInternet
TropycTropyc 3434
TropycTropycGeneric Object-Oriented Cryptographic Archtecture
Sender Authentication
InformationSecrecy Signature Message
Integrity
Signaturewith Appendix
TropycTropyc 3535
Signature with AppendixSignature with Appendix
ContextoContexto– O emissor e o receptor assinam as O emissor e o receptor assinam as
mensagens que eles trocam a fim de prevenir mensagens que eles trocam a fim de prevenir modificações e substituiçõesmodificações e substituições
– Todavia eles têm armazenamento e recursos Todavia eles têm armazenamento e recursos de processamento limitados, e as mensagens de processamento limitados, e as mensagens que eles trocam são grandes e produzem que eles trocam são grandes e produzem grandes assinaturasgrandes assinaturas
TropycTropyc 3636
Signature with AppendixSignature with Appendix
ProblemaProblema– Como reduzir o espaço de armazenamento Como reduzir o espaço de armazenamento
requerido para uma mensagem e sua requerido para uma mensagem e sua assinatura, aumentando a performance do assinatura, aumentando a performance do protocolo de assinatura digital? protocolo de assinatura digital?
TropycTropyc 3737
Signature with AppendixSignature with AppendixSoluçãoSolução– SignatureSignature + + Message IntegrityMessage Integrity– Este padrão implementa um protocolo de assinatura Este padrão implementa um protocolo de assinatura
digital sobre um valor hash da mensagem (MDC)digital sobre um valor hash da mensagem (MDC)– O emissor calcula um valor hash da mensagem e o O emissor calcula um valor hash da mensagem e o
assinaassina– Ambos, mensagem e valor hash assinado são enviados Ambos, mensagem e valor hash assinado são enviados
para o receptorpara o receptor– O receptor decifra a assinatura e substitui o valor hashO receptor decifra a assinatura e substitui o valor hash– Ele então calcula um novo valor hash e compara-o com Ele então calcula um novo valor hash e compara-o com
o substituído da assinaturao substituído da assinatura– Se eles forem iguais, a assinatura e verdadeiraSe eles forem iguais, a assinatura e verdadeira
TropycTropyc 3838
Signature with AppendixSignature with Appendix
SignatureAlgorithm
SendersendMsg()sendMDC()
ReceiverreceiveMsg()receiveMDC()
Signer
sign()
Decodifier
verifyMDC()
Codifier
calcMDC()
Verifier
verify()
EnchiperKey DechiperKeyHash
Algorithm
MDC=C.calcMDC(MSG)MDCs=S.sign(MDC)R.receiveMDC(MDCs)
MDC=V.verify(MDCs)Ok=D.verifyMDC(MSG,MDC)return(Ok)
R
V DSC
TropycTropyc 3939
Signature with AppendixSignature with Appendix
Usos conhecidosUsos conhecidos– Applets assinados são uma maneira pela qual Applets assinados são uma maneira pela qual
o código java pode ser autenticadoo código java pode ser autenticado– O JDK usa o O JDK usa o Signature with AppendixSignature with Appendix para para
produzir pequenas assinaturas para grandes produzir pequenas assinaturas para grandes quantidades de códigoquantidades de código
TropycTropyc 4040
TropycTropycGeneric Object-Oriented Cryptographic Archtecture
Sender Authentication
InformationSecrecy Signature Message
Integrity
Signaturewith Appendix
Secrecy withIntegrity
TropycTropyc 4141
Secrecy with IntegritySecrecy with Integrity
ContextoContexto– O emissor e o receptor trocam mensagens O emissor e o receptor trocam mensagens
cifradas mas eles não podem detectar cifradas mas eles não podem detectar modificações ou substituições de mensagens modificações ou substituições de mensagens cifradas por um interceptorcifradas por um interceptor
– Eles também não querem compartilhar uma Eles também não querem compartilhar uma chave secreta para autenticaçãochave secreta para autenticação
TropycTropyc 4242
Secrecy with IntegritySecrecy with Integrity
ProblemaProblema– Como preservar a integridade de uma Como preservar a integridade de uma
mensagem cifrada sem perder o segredo? mensagem cifrada sem perder o segredo?
TropycTropyc 4343
Secrecy with IntegritySecrecy with Integrity
SoluçãoSolução– Information SecrecyInformation Secrecy + + Message IntegrityMessage Integrity– O MDC deve ser calculado sobre a O MDC deve ser calculado sobre a
mensagem original não cifradamensagem original não cifrada– Ambos, mensagem cifrada e MDC, devem ser Ambos, mensagem cifrada e MDC, devem ser
enviados para o receptorenviados para o receptor– Este padrão precisa apenas de um par de Este padrão precisa apenas de um par de
chaves pública/privada para crifragemchaves pública/privada para crifragem
TropycTropyc 4444
Secrecy with IntegritySecrecy with Integrity
ConsequênciasConsequências– Substituições de mensagens podem ainda Substituições de mensagens podem ainda
fazer com que dados válidos sejam fazer com que dados válidos sejam completamente adulterados ou ter o completamente adulterados ou ter o significado modificado após a decifragemsignificado modificado após a decifragem
TropycTropyc 4545
TropycTropycGeneric Object-Oriented Cryptographic Archtecture
Sender Authentication
InformationSecrecy Signature Message
Integrity
Secrecy withSender
Authentication
Signaturewith Appendix
Secrecy withIntegrity
TropycTropyc 4646
Secrecy with Sender AuthenticationSecrecy with Sender Authentication
ContextoContexto– O emissor e o receptor usam criptografia com O emissor e o receptor usam criptografia com
chave pública para trocar mensagens cifradaschave pública para trocar mensagens cifradas– Um possível interceptor não pode ler o Um possível interceptor não pode ler o
conteúdo das mensagens interceptadasconteúdo das mensagens interceptadas
TropycTropyc 4747
Secrecy with Sender AuthenticationSecrecy with Sender Authentication
Contexto:Contexto:
Emissor Receptor
Interceptor
TropycTropyc 4848
Secrecy with Sender AuthenticationSecrecy with Sender Authentication
ProblemaProblema– Como o emissor pode autenticar a origem de Como o emissor pode autenticar a origem de
uma mensagem cifrada sem perder o uma mensagem cifrada sem perder o segredo?segredo?
TropycTropyc 4949
Secrecy with Sender AuthenticationSecrecy with Sender Authentication
SoluçãoSolução– Information SecrecyInformation Secrecy + + Sender AuthenticationSender Authentication– O MAC deve ser calculado sobre a O MAC deve ser calculado sobre a
mensagem original não sobre a mensagem mensagem original não sobre a mensagem cifradacifrada
– Ambos, mensagem cifrada e MAC são Ambos, mensagem cifrada e MAC são enviados para o receptorenviados para o receptor
– A chave secreta usada para calcular o MAC A chave secreta usada para calcular o MAC deve ser diferente da usada para a cifragemdeve ser diferente da usada para a cifragem
TropycTropyc 5050
Secrecy with Sender AuthenticationSecrecy with Sender Authentication
CryptographicAlgorithm
SendersendMsg()sendMAC()
ReceiverreceiveMsg()receiveMAC()
Cipher
encipher()
Verifier
verifyMAC()
Codifier
calcMAC()
Decipher
decipher()
EnchiperKey DechiperKeyHash
Algorithm
MAC=C.calcMDC(MSG)R.receiveMAC(MAC)
Ok=D.verifyMAC(MSG,MAC)return(Ok)
R
D VCiCo
SecretKey SecretKey
MSGc=Ci.encipher(MSG)R.receiveMSG(MSGc)
MSG=D.decipher(MSGc)return(MSG)
TropycTropyc 5151
Secrecy with Sender AuthenticationSecrecy with Sender Authentication
ConsequênciasConsequências– O O Sender AuthenticationSender Authentication insere um novo insere um novo
passo em ambos os processos de cifragem e passo em ambos os processos de cifragem e decifragem a fim de calcular e verificar um decifragem a fim de calcular e verificar um MAC, o que pode diminuir a performanceMAC, o que pode diminuir a performance
TropycTropyc 5252
Secrecy with Sender AuthenticationSecrecy with Sender Authentication
Usos conhecidosUsos conhecidos– SecrecySecrecy e e AuthenticationAuthentication podem ser podem ser
combinados a fim de manter seguros pacotes combinados a fim de manter seguros pacotes IP na InternetIP na Internet
TropycTropyc 5353
TropycTropycGeneric Object-Oriented Cryptographic Archtecture
Sender Authentication
InformationSecrecy Signature Message
Integrity
Secrecy withSender
Authentication
Secrecy withSignature
Signaturewith Appendix
Secrecy withIntegrity
TropycTropyc 5454
Secrecy with SignatureSecrecy with Signature
ContextoContexto– O emissor e o receptor trocam mensagens cifradas O emissor e o receptor trocam mensagens cifradas
mas eles não podem provar a autoria dessas mas eles não podem provar a autoria dessas mensagensmensagens
– Além disso um interceptor pode modificar, substituir Além disso um interceptor pode modificar, substituir ou incluir mensagens no canal de comunicação de tal ou incluir mensagens no canal de comunicação de tal forma que o emissor e o receptor não possam forma que o emissor e o receptor não possam detectar as mensagens suspeitasdetectar as mensagens suspeitas
– O emissor e o receptor já compartilham chaves para O emissor e o receptor já compartilham chaves para segurançasegurança
TropycTropyc 5555
Secrecy with SignatureSecrecy with Signature
ProblemaProblema– Como o receptor pode provar a autoria de Como o receptor pode provar a autoria de
uma mensagem cifrada sem a perda do uma mensagem cifrada sem a perda do segredo, de tal forma que a integridade e segredo, de tal forma que a integridade e autenticidade da origem estejam também autenticidade da origem estejam também implicitamente assegurados?implicitamente assegurados?
TropycTropyc 5656
Secrecy with SignatureSecrecy with Signature
SoluçãoSolução– Information SecrecyInformation Secrecy + + SignatureSignature– O emissor assina uma mensagem com sua O emissor assina uma mensagem com sua
chave de assinatura, cifra a mensagem chave de assinatura, cifra a mensagem assinada com a chave de cifragem do assinada com a chave de cifragem do receptor e a enviareceptor e a envia
– O receptor decifra a mensagem cifrada com O receptor decifra a mensagem cifrada com sua chave de decifragem e verifica a sua chave de decifragem e verifica a mensagem assinada com a chave de mensagem assinada com a chave de verificação do emissorverificação do emissor
TropycTropyc 5757
Secrecy with SignatureSecrecy with Signature
SignatureAlgorithm
Sender
send()
Receiver
receive ()
Signer
sign()
Decipher
decipher()
Cipher
encipher()
Verifier
verify()
SignerKey VerifierKeyCryptographic
Algorithm
SGN=S.sign(MSG)SGNc=C.encipher(SGN)R.receive(SGNc)
SGN=D.decipher(SGNc)Ok=V.verify(SGN)return(Ok)
R
V DSC
EncipherKey DechiperKey
TropycTropyc 5858
Secrecy with SignatureSecrecy with Signature
ConsequênciasConsequências– O O SignatureSignature pode conceder a autoria das pode conceder a autoria das
mensagens cifradas inserindo um passo mensagens cifradas inserindo um passo intermediário no processo intermediário no processo crifragem/decifragem causando uma perda de crifragem/decifragem causando uma perda de eficiênciaeficiência
TropycTropyc 5959
TropycTropycGeneric Object-Oriented Cryptographic Archtecture
Sender Authentication
InformationSecrecy Signature Message
Integrity
Secrecy withSender
Authentication
Secrecy withSignature
Signaturewith Appendix
Secrecy withIntegrity
Secrecy with Signature
with Appendix
TropycTropyc 6060
Secrecy with Signature with Secrecy with Signature with AppendixAppendix
ContextoContexto– Duas fontes trocam mensagens crifradas e Duas fontes trocam mensagens crifradas e
assinadas para prevenir modificação ou assinadas para prevenir modificação ou substituição e para manter sigilo e aceitação substituição e para manter sigilo e aceitação da mensagemda mensagem
– Eles precisam gerenciar os limitados recursos Eles precisam gerenciar os limitados recursos de armazenamento e processamentode armazenamento e processamento
– Além disso, as mensagens que eles trocam Além disso, as mensagens que eles trocam são muito grandes e produzem grandes são muito grandes e produzem grandes assinaturasassinaturas
TropycTropyc 6161
Secrecy with Signature with Secrecy with Signature with AppendixAppendix
ProblemaProblema– Como reduzir a quantidade de memória Como reduzir a quantidade de memória
necessária para armazenar uma mensagem e necessária para armazenar uma mensagem e sua assinatura, aumentando a performance sua assinatura, aumentando a performance do sistema, sem perder o segredo? do sistema, sem perder o segredo?
TropycTropyc 6262
Secrecy with Signature with Secrecy with Signature with AppendixAppendix
SoluçãoSolução– Information SecrecyInformation Secrecy + + SignatureSignature with Appendixwith Appendix– O emissor calcula um valor hash da mensagem e a assina com O emissor calcula um valor hash da mensagem e a assina com
sua chave de assinaturasua chave de assinatura– Ele então cifra a mensagem original com a chave de cifragem Ele então cifra a mensagem original com a chave de cifragem
do receptordo receptor– Ambos, mensagem cifrada e valor hash assinado são enviados Ambos, mensagem cifrada e valor hash assinado são enviados
para o receptorpara o receptor– O receptor decifra a mensagem com sua chave de decifragem e O receptor decifra a mensagem com sua chave de decifragem e
decifra o valor hash assinado com a chave de verificação do decifra o valor hash assinado com a chave de verificação do emissoremissor
– O receptor calcula um novo valor hash da mensagem e O receptor calcula um novo valor hash da mensagem e compara-o com o valor recebido do emissorcompara-o com o valor recebido do emissor
– Se eles forem iguais, a assinatura e verdadeira.Se eles forem iguais, a assinatura e verdadeira.
TropycTropyc 6363
Secrecy with Signature with Secrecy with Signature with AppendixAppendix
SendersendMsg()sendSgn()
ReceiverreceiveMsg()receiveSgn()
H=E.encode(MSG)Hs=S.sign(H)R.receiveSgn(Hs)
MSG=D.decipher(MSGc)Return(MSG)
R
MSGc=C.encipher(MSG)R.receiveMsg(MSGc)
H=V.verify(Hs)Ok=Dco.decode(H,MSG)Return(Ok)
SignatureAlgorithm
Signer
sign()
Decipher
decipher()
Cipher
encipher()
Verifier
verify()
SignerKey VerifierKeyCryptographic
Algorithm
V DSC
EncipherKey DechiperKey
Encoderencode()
Decoderdecode()
TropycTropyc 6464
Secrecy with Signature with Secrecy with Signature with AppendixAppendix
ConsequênciasConsequências– Novamente pequenas perdas de performance Novamente pequenas perdas de performance
devem ser desprezíveis a fim de salvar uma devem ser desprezíveis a fim de salvar uma quantidade de espaço relativamente grande e quantidade de espaço relativamente grande e reduzir a quantidade de dados transmitidosreduzir a quantidade de dados transmitidos
TropycTropyc 6565
TropycTropycGeneric Object-Oriented Cryptographic Archtecture
Sender Authentication
InformationSecrecy Signature Message
Integrity
Secrecy withSender
Authentication
Secrecy withSignature
Signaturewith Appendix
Secrecy withIntegrity
Secrecy with Signature
with Appendix
top related