Como quebrarcriptografiaXML
Abstract.Criptografia XML foi padronizada pelo W3C em 2002, e é
Implementado em estruturas XML de grande comercial e
Organizações como open-source Apache, RedHat, IBM e
Microsoft. Ele é utilizado em um grande número de grande web
aplicações baseadas, que vão desde as comunicações empresariais
,e-commerce, e serviços financeiros nos cuidados de saúde aplica-
ções para Governamental e infra-estruturas militares.
Neste trabalho, descrevemos um ataque prático sobre XML In-
Cryption, Que Permite decifrar um texto cifrado através do envio de re-
mensagens cifradas lada a um serviço Web e avaliar o servidor
resposta. Mostramos um adversário pode decifrar isso uma cifra -
texto, realizando apenas 14 pedidos por byte em texto simples
média. Isso representa uma segurança séria e verdadeiramente prático
ameaça em todas as implementações atualmente usados de XML In-
Cryption.
Num sentido, o ataque pode ser visto como uma generalização
ataques preenchimento oracle ( Vaudenay , Eurocrypt , 2002). É ex -
ploits uma correlação sutil entre o modo de cifra de bloco
de operação, a codificação de caracteres de texto criptografado, e
o comportamento de resposta de um Web Service se uma mensagem de XML
Corretamente não pode ser analisado.
Introdução
A especificação XML Encryption W3C [ 6 ] Hoje marca
o padrão de fato para a criptografia de dados em aplicativos distribuídos complexos . O uso de
XML como sintaxe de dados central , por exemplo, para grandes empresas, e-commerce,
financeiro , saúde, aplicações governamentais e militares , resultou em ampla adoção da
criptografia XML para proteger dados confidenciais , especialmente , mas não exclusivamente,
no contexto da Web
Serviços. No nível técnico , a especificação XML Encryption descreve precisamente o processo
e sintaxe a ser usada
quando se aplica um algoritmo de criptografia para criptografia de dados para dados
estruturados em XML arbitrários. Além disso, também
descreve como processar essa sintaxe , a fim de decifrar a
criptografadas conteúdo no lado do receptor de dados . Criptografia XML não descreve um
novo algoritmo de criptografia
em si , mas apenas permite que um conjunto de cifras de bloco padrão ,
AES e nomeadamente o Triple-DES ( 3DES ) , para ser usada à vontade . em
a fim de ser capaz de codificar as mensagens que são mais longos do que
o tamanho da entrada da cifra de bloco, o
encadeamento de criptografia - bloco
(CBC) Modo de operação é usado.
Neste artigo , apresentamos uma técnica de ataque que permite que um adversário para
descriptografar dados arbitrário que tem sido
codificado de acordo com a especificação de criptografia XML.
Com base em uma fraqueza de criptografia do modo CBC , nós
são capazes de realizar um ataque escolhido - texto cifrado que recupera todo o texto original a
partir de um dado texto cifrado. o
único pré-requisito para este ataque consiste na disponibilidade de
um "oracle" dizer-nos se um determinado texto cifrado contém uma
"Corretamente formado" texto simples. " Corretamente formado" significa aqui
que o texto original contém uma codificação válido ( por exemplo, em UTF-8 ou ASCII) de
uma mensagem. Na prática , este oráculo pode ser
fornecido , por exemplo, por um Web Service que retorna adequado
mensagens de erro , ou que oferece algum outro canal de lado o que nos permite distinguir
correta de mensagens cifradas inválidos , l ike
um calendário diferente do processamento de dados , por exemplo.
Para provar a relevância prática do nosso ataque , nós aplicá-lo
examplarily a um Web Service realista baseado no Apache
Axis2 [18] estrutura XML. Axis2 é um dos mais populares
estruturas para apoiar a construção de cliente de serviços da Web
e aplicativos de servidor . Mostramos que uma moderadamente opti -
implementação mized do ataque é capaz de decifrar 160
bytes de dados criptografados dentro de 10 segundos através da emissão de 2.137
consultas para o Web Service . A complexidade do ataque
só cresce linearmente com o tamanho de texto cifrado , recuperando , assim,
um texto plano maior de 1.600 bytes leva cerca de 100 segundos e
23.000 consultas.
Apesar do fato de que os detalhes do ataque e, assim,
nossos resultados no contexto do quadro Axis2 , são, naturalmente,
bastante específico do aplicativo , queremos salientar que o ataque
si é genérico , e pode ser adaptado para outros cenários comoalém de criptografia XML
também. Por exemplo, nós temos
Verificou-se que o ataque funciona contra redhat JBoss [ 9],
bem, sem quaisquer modificações.
Em geral os ataques escolhido - encriptado pode ser evitada pela
garantindo a integridade do texto cifrado. Seria de lá -
portanto esperamos que o nosso ataque pode ser facilmente contrariado usando XML
Assinatura [ 7] para garantir a integridade (note que assinatura XML
especifica não apenas as assinaturas de chave pública clássica, mas também
"Assinaturas secretos -key ", ou seja , códigos de autenticação de mensagens ).
No entanto, por várias razões isso não é verdade , uma vez que pode
mostram como executar o nosso ataque
ainda que
quer - chave pública
ou Assinaturas XML secretos - chave sobre o texto cifrado são usados.
Nós conseguimos isso quer aplicando assinatura clássico wrap -
Ping [10] técnicas , ou usando uma nova técnica de ataque
que chamamos
Embrulho Encryption
. Assim , a fixação de corrente
implementações ou o desenvolvimento de novas implementações seguras
sem alterar o padrão de criptografia XML parece trivial . Nós ilustrar isto com mais pormenor
na secção de contramedidas abaixo.Divulgação responsável.
O ataque descrito neste trabalho foi anunciado para o W3C XML Encryption Trabalho
Grupo e vários provedores e usuários de implementações
de criptografia XML em fevereiro de 2011. Isso inclui o
Apache Software Foundation ( Apache Axis2 ) , RedHat Linux
( JBoss ) , IBM, Microsoft e um CERT governamental. tudo
reconheceram a validade do nosso ataque . o CERT
revelou o nosso ataque para CERT governamentais de outros
países . Além disso, redhat tem imediatamente encaminhado
um curto comunicado aovendor- seclista de discussão .Estamos fornecendo conselhos para os
desenvolvedores que estão trabalhando em
correções . Como já foi mencionado , isso é difícil , sem alterar o padrão em si (ver Secção 6
para mais detalhes) .Relacionados ao Trabalho ea nossa contribuição .É bem conhecido
que o modo de criptografia CBC é maleável a menos que adi -
cionais métodos para assegurar a integridade são aplicadas. este foi
explorados por Vaudenay [ 19 ] , que demonstram que é possível
para decifrar um texto cifrado , que é codificado em modo CBC
emitindo um pequeno número de consultas de um assim chamado
acolchoamentooráculo.
Os trabalhos posteriores refina a idéia de Vaudenay [19] ,
por exemplo a outros esquemas de preenchimento e modos de operações [ 1 , 14] , vetores de
inicialização aleatórios ou secretas [20]
, Ataques a sistemas do mundo real , como IPSec [3 , 4] e ASP.NET ,
JSF CAPTCHA , o Ruby on Rails , e um
Sistema de segurança OWASP [15 , 5]. Duong e Rizzo [ 15 , 5 ]
também fazer a observação de que um oráculo preenchimento não
só permitem descodificar as mensagens cifradas , mas também obter válido
criptografiasplaintexts de arbitrária. É ainda possível
descrever esquemas de preenchimento que são seguros contra estofamento
ataques oracle [1 , 13] , um modo de segurança formal correspondente
lfoi dada por Paterson e Watson [ 13 ].
Por sua natureza , os ataques preenchimento oracle trabalhar apenas para determinados
esquemas de preenchimento . Em particular , os ataques acima são
nãoaplicável a criptografia XML, uma vez que a norma especifica um esquema de
preenchimento diferente.
Por outro lado, usamos ocodificaçãode dados como um canal do lado
que permite atacar esquemas de criptografia usando um modo fraco
de operação , o que permite explorar a na maior parte dos casos inevitável facto de um
adversário é capaz de observar se um plano decriptografado é processado por uma aplicação
após a descodificação, ou descartados uma vez que a codificação não pode ser reconhecida .
Observe que isso funciona independente do preenchimentoataquesoraclenão são
aplicáveis.Mitchell[11]já temdelineou umatal generalizaçãode ataquespreenchimentooracle, mas
sem dar qualquerexemplo específico.Nossoataque acriptografiaXMLé altamente eficiente,uma
vez queprecisa deapenas 14consultas porbyteem médiapara quebrarXML
Criptografias. Para comparação, oataqueconexo deRizzoeDuong[15]emite128consultas
Oraclepor byte, em média, a fim dequebrarCAPTCHA.
PRELIMINARES
Ao longo doartigo,escreve{0,1}ℓpara designar oconjuntode todas as
cadeiasdecomprimentobitℓ.Paraa, b∈{0,1}ℓ, Escrevemos|a|paradenotarocomprimentode
uma(isto é, |a|=ℓ)uma⊕bpara indicaro bit desábioXORdeaeb,ea| |bpara
denotarconcatenaçãoaeb.Nós escrevemos{0,1}*abreviada para{0,1}*=U∞i=0{0,1}i.
BloquearCifras
O padrãode criptografiaXMLespecificaAESeTriple-DES (3DES) comocifras de bloco. Desde o
nossoataquenãoexplorapropriedades específicasdestes algoritmos, mas trabalha
comqualquercifrade forma semelhante, vamos considerar um resumobloquearcifrano
seguinte.
Paraestefim, quedefinemumblockciphercomoumpar dealgoritmos(Enc,dezembro). O algoritmo
de criptografiac=Enc(k, m)Toma comoentradade uma chavek∈{0,1}ℓeumνbytesde texto
simplesm∈{0,1}n,onden=8·ν,1e retorna umtexto cifradoc∈{0,1}n.oalgoritmo de
descriptografiam=dezembro(k, c)Temuma chavekeumcifradoc, E retornam∈{0,1}n.Por
exemplo, sea AESé usado, então temos n=128e, assim, ν=16.
Esquema de preenchimento
Suponha que queremos criptografar uma mensagem XMLm∈{0,1}*arbitrário de bits de
comprimento|m|. Como os dados XML é representadopor UTF- 8 caracteres , podemos
sempre assumir que|m|é umnúmero inteiro múltiplo de 8. No entanto ,|m|não precisa
necessariamenteser um múltiplo inteiro do tamanho do blocondo bloco. Assimum algoritmo
de preenchimentoπcom algoritmo de inversãoπ-1necessárioser aplicado para a mensagem ,
para obter uma mensagem de acolchoadom'=π(m), Cujo bit de comprimento|m'|é um
número inteiro múltiplo den.O padrão de criptografia XML especifica o uso doseguinte
esquema de preenchimentoπ:
1 . Calcular o menor número diferente de zeroplende bytesque deve ser o sufixo para o texto
simples para levá-laa um múltiplo do tamanho do blocon.
2.anexarplen-1 pad arbitrária bytes param.
3 . Defina o último byte igual aplen.
Por exemplo , o exemplo dado em [6] considera um três- bytemensagemm=0x616263e uma
cifra de bloco comn= 64 , de modoqueν= 8 . Neste caso , temosπ(m)=m'=0x616263? ? ?
?05,onde ? é um valor byte arbitrário.Para remover o preenchimento, a pessoa simplesmente
lê o último bytem'e remove o número necessário de bytes para obterm.
2.3Cipher-Block Chaining
Cipher-block chaining(CBC) é o mais popularblockcipher
modo de funcionamento, na prática, eo único modo de
especificado no padrãode criptografiaXML.Ele processaum
m0mensagem, cujocomprimentoéum múltiplo inteirodadn
o tamanho do blocode(Enc, Dec), como se segue.
•Umiv2vetor de inicialização{0, 1} n é escolhidode forma aleatória.
O primeiro blocode texto cifradoé computado comox:=m01? iv, C(1): =Enc(k, x). (1)
•Os blocos detexto cifradosubseqüentesC (2),..., C (d) sãocalculadocomox: =m0i? C(i-1), C(i):
=Enc(k, x) (2)parai = 2,...,D.
•O texto cifradoresultanteé C=(iv, C(1), ..., C(d)).
Veja a Figura 1para uma ilustraçãodeste regime.adescriptografia
procedimentoinverteesse processoda maneira óbvia.
No que segue, vai escrever C=Enccbc(k,?(M)) para denotar
criptografiae? (m) =Deccbc(k, C) para denotardescriptografiaem
Modo CBC.

Mais conteúdo relacionado

PDF
Segurança em Aplicações ASP.NET (XSS e CSRF)
PPTX
Criptografia P2P - Comunicadores Instantâneos
PPTX
Introdução ao SSL
PDF
Introdução à criptografia - Bóson Treinamentos
PDF
Sap – stablility and abstract principle
PDF
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
ODP
Segurança de Dados e Informações - Aula 4 - Criptografia
PPSX
Aula src openvpn-configuração com chave publica
Segurança em Aplicações ASP.NET (XSS e CSRF)
Criptografia P2P - Comunicadores Instantâneos
Introdução ao SSL
Introdução à criptografia - Bóson Treinamentos
Sap – stablility and abstract principle
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Segurança de Dados e Informações - Aula 4 - Criptografia
Aula src openvpn-configuração com chave publica

Mais procurados (9)

PPT
Criptografia
PDF
Criptografia Aplicada
ODP
Tecnologias Atuais de Redes - Aula 1 - Criptografia
PDF
Seminário de SD - criptografia
PDF
6 - segurança - criptografia
PDF
Criptografia: matemática e lógica computacional protegendo informações
PPTX
Criptografia
PPT
Apresentação da tese - Autenticação para SNMP
PDF
Criptgrafia algoritmos
Criptografia
Criptografia Aplicada
Tecnologias Atuais de Redes - Aula 1 - Criptografia
Seminário de SD - criptografia
6 - segurança - criptografia
Criptografia: matemática e lógica computacional protegendo informações
Criptografia
Apresentação da tese - Autenticação para SNMP
Criptgrafia algoritmos
Anúncio

Semelhante a Como quebrar criptografia xml (9)

PPTX
Cryptography Oracle Attacks
PPTX
PPT
Apresentação tema 9 Segurança das Informações e Continuidade dos negócios
PPTX
segurança de redes.pptx
PDF
Aes 25
PPT
Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
PPTX
Tema 09
PPTX
Criptografia - Redes de Computadores
PDF
Webcast Luiz Vieira criptografia on-the-fly com software livre
Cryptography Oracle Attacks
Apresentação tema 9 Segurança das Informações e Continuidade dos negócios
segurança de redes.pptx
Aes 25
Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Tema 09
Criptografia - Redes de Computadores
Webcast Luiz Vieira criptografia on-the-fly com software livre
Anúncio

Último (20)

PDF
morfologia5.pdfllllllllllllllllllllllllllll
PDF
Pecados desdenhados por muita gente (islamismo)
PDF
Historia-da-Psicologia-Rumos-e-percursos.pdf
PPTX
DOUTRINA FORÇA TÁTICA PMRO 2022 - PPT (1).pptx
PDF
EXPRESSÕES IDIOMÁTICAS - LÍNGUA PORTUGUESA
PPTX
SEGURANÇA, MEIO AMBIENTE E SAÚDE Aula 1.pptx
PDF
ENTREVISTA-PROCESSO-SELETIVO-idc8j5.pdf 1
PPTX
2. A Cultura do Salão - o fim das trevas.pptx
PDF
Caderno do Futuro 1º Ano CIÊNCIAS Aluno.pdf
PDF
Historia da Gastronomia Mundial por Daianna Marques dos Santos
PDF
Reino Monera - Biologiaensinomediofun.pdf
PPT
AS VANGUARDAS EUROPEIAS NA LITERATURA E N
PPTX
matriaesuastransformaes-1ano-230402203238-f3b10049.pptx
PPT
16 - Treinamento Introdutório de SSO - Saúde - Primeiros Socorros.ppt
PDF
E-BOOK-Inovacao-em-Ciencia-e-Tecnologia-de-Alimentos.pdf
PPTX
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
PPTX
Concordância Nominal e Verbal e atividade
PPTX
Treinamento de Espaço Confinado_Trabalhadores e Vigias NR 33.pptx
PPTX
PERÍODO SIMPLES - TERMOS ESSENCIAIS DA ORAÇÃO - Valdeci.pptx
PPTX
125511 - Aula 1 - América portuguesa antes da conquista patrimônio e preserva...
morfologia5.pdfllllllllllllllllllllllllllll
Pecados desdenhados por muita gente (islamismo)
Historia-da-Psicologia-Rumos-e-percursos.pdf
DOUTRINA FORÇA TÁTICA PMRO 2022 - PPT (1).pptx
EXPRESSÕES IDIOMÁTICAS - LÍNGUA PORTUGUESA
SEGURANÇA, MEIO AMBIENTE E SAÚDE Aula 1.pptx
ENTREVISTA-PROCESSO-SELETIVO-idc8j5.pdf 1
2. A Cultura do Salão - o fim das trevas.pptx
Caderno do Futuro 1º Ano CIÊNCIAS Aluno.pdf
Historia da Gastronomia Mundial por Daianna Marques dos Santos
Reino Monera - Biologiaensinomediofun.pdf
AS VANGUARDAS EUROPEIAS NA LITERATURA E N
matriaesuastransformaes-1ano-230402203238-f3b10049.pptx
16 - Treinamento Introdutório de SSO - Saúde - Primeiros Socorros.ppt
E-BOOK-Inovacao-em-Ciencia-e-Tecnologia-de-Alimentos.pdf
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
Concordância Nominal e Verbal e atividade
Treinamento de Espaço Confinado_Trabalhadores e Vigias NR 33.pptx
PERÍODO SIMPLES - TERMOS ESSENCIAIS DA ORAÇÃO - Valdeci.pptx
125511 - Aula 1 - América portuguesa antes da conquista patrimônio e preserva...

Como quebrar criptografia xml

  • 1. Como quebrarcriptografiaXML Abstract.Criptografia XML foi padronizada pelo W3C em 2002, e é Implementado em estruturas XML de grande comercial e Organizações como open-source Apache, RedHat, IBM e Microsoft. Ele é utilizado em um grande número de grande web aplicações baseadas, que vão desde as comunicações empresariais ,e-commerce, e serviços financeiros nos cuidados de saúde aplica- ções para Governamental e infra-estruturas militares. Neste trabalho, descrevemos um ataque prático sobre XML In- Cryption, Que Permite decifrar um texto cifrado através do envio de re- mensagens cifradas lada a um serviço Web e avaliar o servidor resposta. Mostramos um adversário pode decifrar isso uma cifra - texto, realizando apenas 14 pedidos por byte em texto simples média. Isso representa uma segurança séria e verdadeiramente prático ameaça em todas as implementações atualmente usados de XML In- Cryption. Num sentido, o ataque pode ser visto como uma generalização ataques preenchimento oracle ( Vaudenay , Eurocrypt , 2002). É ex - ploits uma correlação sutil entre o modo de cifra de bloco de operação, a codificação de caracteres de texto criptografado, e o comportamento de resposta de um Web Service se uma mensagem de XML Corretamente não pode ser analisado. Introdução A especificação XML Encryption W3C [ 6 ] Hoje marca o padrão de fato para a criptografia de dados em aplicativos distribuídos complexos . O uso de XML como sintaxe de dados central , por exemplo, para grandes empresas, e-commerce, financeiro , saúde, aplicações governamentais e militares , resultou em ampla adoção da criptografia XML para proteger dados confidenciais , especialmente , mas não exclusivamente, no contexto da Web Serviços. No nível técnico , a especificação XML Encryption descreve precisamente o processo e sintaxe a ser usada quando se aplica um algoritmo de criptografia para criptografia de dados para dados estruturados em XML arbitrários. Além disso, também descreve como processar essa sintaxe , a fim de decifrar a criptografadas conteúdo no lado do receptor de dados . Criptografia XML não descreve um novo algoritmo de criptografia em si , mas apenas permite que um conjunto de cifras de bloco padrão , AES e nomeadamente o Triple-DES ( 3DES ) , para ser usada à vontade . em a fim de ser capaz de codificar as mensagens que são mais longos do que o tamanho da entrada da cifra de bloco, o encadeamento de criptografia - bloco (CBC) Modo de operação é usado. Neste artigo , apresentamos uma técnica de ataque que permite que um adversário para descriptografar dados arbitrário que tem sido codificado de acordo com a especificação de criptografia XML.
  • 2. Com base em uma fraqueza de criptografia do modo CBC , nós são capazes de realizar um ataque escolhido - texto cifrado que recupera todo o texto original a partir de um dado texto cifrado. o único pré-requisito para este ataque consiste na disponibilidade de um "oracle" dizer-nos se um determinado texto cifrado contém uma "Corretamente formado" texto simples. " Corretamente formado" significa aqui que o texto original contém uma codificação válido ( por exemplo, em UTF-8 ou ASCII) de uma mensagem. Na prática , este oráculo pode ser fornecido , por exemplo, por um Web Service que retorna adequado mensagens de erro , ou que oferece algum outro canal de lado o que nos permite distinguir correta de mensagens cifradas inválidos , l ike um calendário diferente do processamento de dados , por exemplo. Para provar a relevância prática do nosso ataque , nós aplicá-lo examplarily a um Web Service realista baseado no Apache Axis2 [18] estrutura XML. Axis2 é um dos mais populares estruturas para apoiar a construção de cliente de serviços da Web e aplicativos de servidor . Mostramos que uma moderadamente opti - implementação mized do ataque é capaz de decifrar 160 bytes de dados criptografados dentro de 10 segundos através da emissão de 2.137 consultas para o Web Service . A complexidade do ataque só cresce linearmente com o tamanho de texto cifrado , recuperando , assim, um texto plano maior de 1.600 bytes leva cerca de 100 segundos e 23.000 consultas. Apesar do fato de que os detalhes do ataque e, assim, nossos resultados no contexto do quadro Axis2 , são, naturalmente, bastante específico do aplicativo , queremos salientar que o ataque si é genérico , e pode ser adaptado para outros cenários comoalém de criptografia XML também. Por exemplo, nós temos Verificou-se que o ataque funciona contra redhat JBoss [ 9], bem, sem quaisquer modificações. Em geral os ataques escolhido - encriptado pode ser evitada pela garantindo a integridade do texto cifrado. Seria de lá - portanto esperamos que o nosso ataque pode ser facilmente contrariado usando XML Assinatura [ 7] para garantir a integridade (note que assinatura XML especifica não apenas as assinaturas de chave pública clássica, mas também "Assinaturas secretos -key ", ou seja , códigos de autenticação de mensagens ). No entanto, por várias razões isso não é verdade , uma vez que pode mostram como executar o nosso ataque ainda que quer - chave pública ou Assinaturas XML secretos - chave sobre o texto cifrado são usados. Nós conseguimos isso quer aplicando assinatura clássico wrap - Ping [10] técnicas , ou usando uma nova técnica de ataque que chamamos Embrulho Encryption . Assim , a fixação de corrente implementações ou o desenvolvimento de novas implementações seguras sem alterar o padrão de criptografia XML parece trivial . Nós ilustrar isto com mais pormenor
  • 3. na secção de contramedidas abaixo.Divulgação responsável. O ataque descrito neste trabalho foi anunciado para o W3C XML Encryption Trabalho Grupo e vários provedores e usuários de implementações de criptografia XML em fevereiro de 2011. Isso inclui o Apache Software Foundation ( Apache Axis2 ) , RedHat Linux ( JBoss ) , IBM, Microsoft e um CERT governamental. tudo reconheceram a validade do nosso ataque . o CERT revelou o nosso ataque para CERT governamentais de outros países . Além disso, redhat tem imediatamente encaminhado um curto comunicado aovendor- seclista de discussão .Estamos fornecendo conselhos para os desenvolvedores que estão trabalhando em correções . Como já foi mencionado , isso é difícil , sem alterar o padrão em si (ver Secção 6 para mais detalhes) .Relacionados ao Trabalho ea nossa contribuição .É bem conhecido que o modo de criptografia CBC é maleável a menos que adi - cionais métodos para assegurar a integridade são aplicadas. este foi explorados por Vaudenay [ 19 ] , que demonstram que é possível para decifrar um texto cifrado , que é codificado em modo CBC emitindo um pequeno número de consultas de um assim chamado acolchoamentooráculo. Os trabalhos posteriores refina a idéia de Vaudenay [19] , por exemplo a outros esquemas de preenchimento e modos de operações [ 1 , 14] , vetores de inicialização aleatórios ou secretas [20] , Ataques a sistemas do mundo real , como IPSec [3 , 4] e ASP.NET , JSF CAPTCHA , o Ruby on Rails , e um Sistema de segurança OWASP [15 , 5]. Duong e Rizzo [ 15 , 5 ] também fazer a observação de que um oráculo preenchimento não só permitem descodificar as mensagens cifradas , mas também obter válido criptografiasplaintexts de arbitrária. É ainda possível descrever esquemas de preenchimento que são seguros contra estofamento ataques oracle [1 , 13] , um modo de segurança formal correspondente lfoi dada por Paterson e Watson [ 13 ]. Por sua natureza , os ataques preenchimento oracle trabalhar apenas para determinados esquemas de preenchimento . Em particular , os ataques acima são nãoaplicável a criptografia XML, uma vez que a norma especifica um esquema de preenchimento diferente. Por outro lado, usamos ocodificaçãode dados como um canal do lado que permite atacar esquemas de criptografia usando um modo fraco de operação , o que permite explorar a na maior parte dos casos inevitável facto de um adversário é capaz de observar se um plano decriptografado é processado por uma aplicação após a descodificação, ou descartados uma vez que a codificação não pode ser reconhecida . Observe que isso funciona independente do preenchimentoataquesoraclenão são aplicáveis.Mitchell[11]já temdelineou umatal generalizaçãode ataquespreenchimentooracle, mas sem dar qualquerexemplo específico.Nossoataque acriptografiaXMLé altamente eficiente,uma vez queprecisa deapenas 14consultas porbyteem médiapara quebrarXML Criptografias. Para comparação, oataqueconexo deRizzoeDuong[15]emite128consultas Oraclepor byte, em média, a fim dequebrarCAPTCHA.
  • 4. PRELIMINARES Ao longo doartigo,escreve{0,1}ℓpara designar oconjuntode todas as cadeiasdecomprimentobitℓ.Paraa, b∈{0,1}ℓ, Escrevemos|a|paradenotarocomprimentode uma(isto é, |a|=ℓ)uma⊕bpara indicaro bit desábioXORdeaeb,ea| |bpara denotarconcatenaçãoaeb.Nós escrevemos{0,1}*abreviada para{0,1}*=U∞i=0{0,1}i. BloquearCifras O padrãode criptografiaXMLespecificaAESeTriple-DES (3DES) comocifras de bloco. Desde o nossoataquenãoexplorapropriedades específicasdestes algoritmos, mas trabalha comqualquercifrade forma semelhante, vamos considerar um resumobloquearcifrano seguinte. Paraestefim, quedefinemumblockciphercomoumpar dealgoritmos(Enc,dezembro). O algoritmo de criptografiac=Enc(k, m)Toma comoentradade uma chavek∈{0,1}ℓeumνbytesde texto simplesm∈{0,1}n,onden=8·ν,1e retorna umtexto cifradoc∈{0,1}n.oalgoritmo de descriptografiam=dezembro(k, c)Temuma chavekeumcifradoc, E retornam∈{0,1}n.Por exemplo, sea AESé usado, então temos n=128e, assim, ν=16. Esquema de preenchimento Suponha que queremos criptografar uma mensagem XMLm∈{0,1}*arbitrário de bits de comprimento|m|. Como os dados XML é representadopor UTF- 8 caracteres , podemos sempre assumir que|m|é umnúmero inteiro múltiplo de 8. No entanto ,|m|não precisa necessariamenteser um múltiplo inteiro do tamanho do blocondo bloco. Assimum algoritmo de preenchimentoπcom algoritmo de inversãoπ-1necessárioser aplicado para a mensagem , para obter uma mensagem de acolchoadom'=π(m), Cujo bit de comprimento|m'|é um número inteiro múltiplo den.O padrão de criptografia XML especifica o uso doseguinte esquema de preenchimentoπ: 1 . Calcular o menor número diferente de zeroplende bytesque deve ser o sufixo para o texto simples para levá-laa um múltiplo do tamanho do blocon. 2.anexarplen-1 pad arbitrária bytes param. 3 . Defina o último byte igual aplen. Por exemplo , o exemplo dado em [6] considera um três- bytemensagemm=0x616263e uma cifra de bloco comn= 64 , de modoqueν= 8 . Neste caso , temosπ(m)=m'=0x616263? ? ? ?05,onde ? é um valor byte arbitrário.Para remover o preenchimento, a pessoa simplesmente lê o último bytem'e remove o número necessário de bytes para obterm.
  • 5. 2.3Cipher-Block Chaining Cipher-block chaining(CBC) é o mais popularblockcipher modo de funcionamento, na prática, eo único modo de especificado no padrãode criptografiaXML.Ele processaum m0mensagem, cujocomprimentoéum múltiplo inteirodadn o tamanho do blocode(Enc, Dec), como se segue. •Umiv2vetor de inicialização{0, 1} n é escolhidode forma aleatória. O primeiro blocode texto cifradoé computado comox:=m01? iv, C(1): =Enc(k, x). (1) •Os blocos detexto cifradosubseqüentesC (2),..., C (d) sãocalculadocomox: =m0i? C(i-1), C(i): =Enc(k, x) (2)parai = 2,...,D. •O texto cifradoresultanteé C=(iv, C(1), ..., C(d)). Veja a Figura 1para uma ilustraçãodeste regime.adescriptografia procedimentoinverteesse processoda maneira óbvia. No que segue, vai escrever C=Enccbc(k,?(M)) para denotar criptografiae? (m) =Deccbc(k, C) para denotardescriptografiaem Modo CBC.