SlideShare una empresa de Scribd logo
Synthesis of secure adaptors
   (for stateful services)


   J. Antonio Martín(1), Fabio Martinelli(2) y
                Ernesto Pimentel(1)
    Universidad de Málaga(1) -- C.N.R.(2)
           JCIS'12, Almería, 19 Sept, 2012

        Artículo publicado: http://bit.ly/JLAP12
Motivación
● Tratamos con servicios con comportamiento
● Los servicios Web tienen políticas de seguridad
   ○ WS-Security, WS-SecureConversation, WS-Policy, ...
● Servicios incompatibles envían y reciben mensajes
  criptográficos incompatibles
● Nuestro objetivo es corregir las incompatibilidades en las
  políticas de seguridad (con riesgo de revelar información) y
  en el comportamiento (con riesgo de bloqueos)




                         cliente
Ejemplo: Servicios con estado

            Servicio a
                                         Servicio b




                         Codificado en
                         Crypto-CCS
Solución: adaptación
● Desplegar un adaptador como orquestrador que solventa
  las incompatibilidades en interfáz, comportamiento y
  seguridad
● La adaptación de comportamiento se basa en recibir,
  reescribir y reenviar los mensajes en su momento
  adecuado
● La adaptación de seguridad extiende la adaptación del
  comportamiento con criptografía simétrica, asimétrica, y
  hashing



                                             Flickr API key,
                              adaptador           Frob,
                 cliente                         Token...
Ejemplo: adaptador

                     Adaptador
Servicio a
                                 Servico b
Ejemplo: adaptador

                     Adaptador
Servicio a
                                 Servicio b
Solución: contratos de adaptación

● Los adaptadores se describen de manera abstracta
  mediante contratos de adaptación de seguridad (SAC)
● El proceso de síntesis obtiene un adaptador sin bloqueos
● Se verifica la confidencialidad del sistema y, si es
  necesario, se refina el adaptador para cumplirla




                 cliente    adaptador
                       proceso de síntesis
                                             contrato
Overview
Overview
Ejemplo: servicios incompatibles

            Servicio a
                                   Servicio b
Overview
Ejemplo: servicios incompatibles

            Servicio a
                                   Servicio b
Ejemplo: servicios incompatibles

            Servicio a
                                       Servicio b
                             Cómo:
                     send! encajaría
                        tanto con
                   anonymous?, des?,
                       pub_rsa? o
                        priv_rsa?
Ejemplo: servicios incompatibles

            Servicio a
                                       Servicio b
                             Cómo:
                     send! encajaría
                        tanto con
                   anonymous?, des?,
                       pub_rsa? o
                        priv_rsa?
                   Tengo el usuario
                   U y la clave K
Ejemplo: servicios incompatibles

            Servicio a
                                         Servicio b
                             Cómo:
                     send! encajaría
                        tanto con
                   anonymous?, des?,
                       pub_rsa? o
                        priv_rsa?       Objetivo:
                                       pasar M de
                   Tengo el usuario       baa
                   U y la clave K
Ejemplo: servicios incompatibles

            Servicio a
                                            Servicio b
                             Cómo:
                     send! encajaría
                        tanto con
                   anonymous?, des?,
                       pub_rsa? o
                        priv_rsa?       Objetivo:
                                       pasar M de
                   Tengo el usuario       baa
                   U y la clave K
                         Confidencialidad
                         : M debe ser
                           confidencial
Contrato de adaptación

           Servicio a
                                         Servicio b

                Contrato de adaptación

                anonymous!M^ < send?M
                     public_key! <
                           ...

                E0             VLTS
Contrato de adaptación

           Servicio a
                                         Servicio b

                Contrato de adaptación

                anonymous!M^ < send?M
                     public_key! <
                           ...

                E0             VLTS
Contrato de adaptación, E0

            Servicio a
                                            Servicio b

                 Contrato de adaptación
                 anonymous!M^ < send?M
                       public_key! <
                    login!U^,E(K^,U^) <
                 des!E(K^, M^) < send?M
                             ...
                 E0 = [k/K, u/U,...] VLTS
Contrato de adaptación, VLTS

           Servicio a
                                         Servicio b

                Contrato de adaptación
               1. anonymous!M^ < send?M
                       2. public_key! <
                   3. login!U^,E(K^,U^) <
               4. des!E(K^, M^) < send?M
                              ...
               E0 = [k/K, u/U,...] VLTS

                                                      }
Overview
Trazas que cumplen el contrato

Servicio a
                                      Servicio b
                       Adaptador




                        Contrato de adaptación
                       1. anonymous!M^ < send?M
                               2. public_key! <
                           3. login!U^,E(K^,U^) <
Síntesis sin bloqueos

                        Adaptador
Servicio a
                                    Servicio b




                                         SAC
Síntesis sin bloqueos

                        Adaptador
Servicio a
                                    Servicio b




                                         SAC
Síntesis sin bloqueos

                        Adaptador
Servicio a
                                    Servicio b




                                         SAC
Overview
Confidencialidad

Servicio a
                                         Servicio b




               ● ¿Qué quieres proteger?
               ● ¿Qué es suceptible de ataque?
                  ○ Dolev-Yao restringido
               ● ¿Qué información es pública?
Confidencialidad

Servicio a
                                             Servicio b




               Le - Acciones "escuchables"
               La - Acciones protegidas
               p - Propiedad de confidencialidad
Confidencialidad

Servicio a
                                                   Servicio b




             En nuestro ejemplo:
                La, Le: el atacante sólo           adaptador
                puede escuchar los
                mensajes a/del servicio a
                p: El atacante no debe obtener M
             En otras palabras, el adaptador "envuelve" a b
Model checking parcial

Servicio a
                                            Servicio b




                     (mediante model-checking parcial)
Verificación de seguridad

                   Adaptador
Servicio a
                                        Servicio b




                               Ataque
Refinación

             Adaptador
Servicio a
                         Servicio b
Adaptadores de seguridad seguros

                   Adaptador
Servicio a
                               Servicio b




                                     SAC
Contribution
● Adaptación de servicios con comportamiento y políticas de
  seguridad
   ○ Evitamos bloqueos
   ○ El adaptador es capáz de recomponer los mensajes tal y como
     los espera el servicio receptor
   ○ Probado formalmente que el es robusto ante los ataques de
     seguridad
● El adaptador es descrito mediante un contrato de adaptación
  de seguridad que especifica:
   ○ La información inicial necesaria para la adaptación
   ○ Las transformaciones requeridas para conseguir una
     comunicación satisfactoria
   ○ Las comprobaciones de seguridad a ejecutar durante la
     adaptación
Publicación

● Journal of Logic and Algebraic Programming
● Número especial de FLACOS (Formal Languages and
  Analysis of Contract-Oriented Software)
               Primer envío: 10/01/2011
           Primera revisión: 02/05/2011
          Segunda revisión: 01/08/2011
                Aceptación: 29/08/2011
        Publicación (online): 21/09/2011
         Publicación (física): 02/2012
¡Muchas gracias!
Artículo completo: http://bit.ly/JLAP12 -- Tesis: http://bit.ly/jamartin-thesis
WS-Security
<?xml version="1.0" encoding="utf-8"?>
<S11:Envelope><S11:Header>
   <wsse:Security>                                                    ● T, I, S, V, K, L and B
       <wsu:Timestamp wsu:Id="T0">...</wsu:Timestamp>
       <wsse:BinarySecurityToken ValueType="...#X509v3"                 are placeholders used
                     wsu:Id="X509Token">...
       </wsse:BinarySecurityToken>
       <xenc:EncryptedKey>...
                                                                        for matching data in the
            <xenc:ReferenceList>
                <xenc:DataReference URI="#enc1"/>
                                                                        messages received
            </xenc:ReferenceList>
       </xenc:EncryptedKey>                                             and sent from the
       <ds:Signature><ds:SignedInfo>...
              <ds:Reference URI="#T0">...                        T,     adaptor
                 <ds:DigestValue>LyLsF094Pi4wP...</ds:
DigestValue>
              </ds:Reference>                                     I,
              <ds:Reference URI="#body">...
                 <ds:DigestValue>LyLsF094i4wPU...</ds:            Pk(S),
DigestValue>
              </ds:Reference>
          </ds:SignedInfo>
                                                                  penc(V,
          <ds:SignatureValue>Hp1ZkmFZ/2kQ...</ds:
SignatureValue>
                                                                     Hash(cat(I,Pk(S)))),
          <ds:KeyInfo>
               <wsse:SecurityTokenReference>                     enc(K,L),
                    <wsse:Reference URI="#X509Token"/>
               </wsse:SecurityTokenReference>                     Hash(T),
          </ds:KeyInfo>
       </ds:Signature>
   </wsse:Security>
                                                                  Hash(B),
</S11:Header>
<S11:Body wsu:Id="body">
                                                                 penc(S,cat(Hash(T),Hash(B)),
 <xenc:EncryptedData wsu:Id="enc1">...</xenc:EncryptedData>...
</S11:Body></S11:Envelope>                                       enc(L,B)
WS-Security
<?xml version="1.0" encoding="utf-8"?>
<S11:Envelope><S11:Header>
   <wsse:Security>                                                    ● T, I, S, V, K, L and B
       <wsu:Timestamp wsu:Id="T0">...</wsu:Timestamp>
       <wsse:BinarySecurityToken ValueType="...#X509v3"                 are placeholders used
                     wsu:Id="X509Token">...
       </wsse:BinarySecurityToken>
       <xenc:EncryptedKey>...
                                                                        for matching data in the
            <xenc:ReferenceList>
                <xenc:DataReference URI="#enc1"/>
                                                                        messages received
            </xenc:ReferenceList>
       </xenc:EncryptedKey>                                             and sent from the
       <ds:Signature><ds:SignedInfo>...
              <ds:Reference URI="#T0">...                        T,     adaptor
                 <ds:DigestValue>LyLsF094Pi4wP...</ds:
DigestValue>
              </ds:Reference>                                     I,
              <ds:Reference URI="#body">...
                 <ds:DigestValue>LyLsF094i4wPU...</ds:            Pk(S),
DigestValue>
              </ds:Reference>
          </ds:SignedInfo>
                                                                  penc(V,
          <ds:SignatureValue>Hp1ZkmFZ/2kQ...</ds:
SignatureValue>
                                                                     Hash(cat(I,Pk(S)))),
          <ds:KeyInfo>
               <wsse:SecurityTokenReference>                     enc(K,L),
                    <wsse:Reference URI="#X509Token"/>
               </wsse:SecurityTokenReference>                     Hash(T),
          </ds:KeyInfo>
       </ds:Signature>
   </wsse:Security>
                                                                  Hash(B),
</S11:Header>
<S11:Body wsu:Id="body">
                                                                 penc(S,cat(Hash(T),Hash(B)),
 <xenc:EncryptedData wsu:Id="enc1">...</xenc:EncryptedData>...
</S11:Body></S11:Envelope>                                       enc(L,B)
Applications

Más contenido relacionado

Destacado

Redes sociales
Redes socialesRedes sociales
Redes socialesdaniiel_97
 
Arquitectura islamica kay sierra
Arquitectura islamica kay sierraArquitectura islamica kay sierra
Arquitectura islamica kay sierraKayglevisiyanu
 
Sentencia Amenazas Testigo Protegido
Sentencia Amenazas Testigo ProtegidoSentencia Amenazas Testigo Protegido
Sentencia Amenazas Testigo Protegidocidsur
 
Mantenimiento folleto instalación s.o1
Mantenimiento folleto instalación s.o1Mantenimiento folleto instalación s.o1
Mantenimiento folleto instalación s.o1natalialwl
 
Comunicacion y redes
Comunicacion y redesComunicacion y redes
Comunicacion y redesVICKYBR
 
Abc de las competencias
Abc de las competenciasAbc de las competencias
Abc de las competenciasdolartem
 
Bienvenido a las normas apa
Bienvenido a las normas apaBienvenido a las normas apa
Bienvenido a las normas apascasallas15
 
SENTENCIA NIÑOS MUKO BAJO, INTERROGADOS POR CARABINEROS
SENTENCIA NIÑOS MUKO BAJO, INTERROGADOS POR CARABINEROSSENTENCIA NIÑOS MUKO BAJO, INTERROGADOS POR CARABINEROS
SENTENCIA NIÑOS MUKO BAJO, INTERROGADOS POR CARABINEROScidsur
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial IntelligenceM Rizwan Aqeel
 

Destacado (17)

Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Seminario
SeminarioSeminario
Seminario
 
Hablando con sara
Hablando con saraHablando con sara
Hablando con sara
 
Arquitectura islamica kay sierra
Arquitectura islamica kay sierraArquitectura islamica kay sierra
Arquitectura islamica kay sierra
 
tp34 (5)
tp34 (5)tp34 (5)
tp34 (5)
 
El telègraf
El telègrafEl telègraf
El telègraf
 
Curriculim Vitae
Curriculim VitaeCurriculim Vitae
Curriculim Vitae
 
Sentencia Amenazas Testigo Protegido
Sentencia Amenazas Testigo ProtegidoSentencia Amenazas Testigo Protegido
Sentencia Amenazas Testigo Protegido
 
Mantenimiento folleto instalación s.o1
Mantenimiento folleto instalación s.o1Mantenimiento folleto instalación s.o1
Mantenimiento folleto instalación s.o1
 
Linea del tiempo
Linea del tiempoLinea del tiempo
Linea del tiempo
 
Comunicacion y redes
Comunicacion y redesComunicacion y redes
Comunicacion y redes
 
Abc de las competencias
Abc de las competenciasAbc de las competencias
Abc de las competencias
 
Bienvenido a las normas apa
Bienvenido a las normas apaBienvenido a las normas apa
Bienvenido a las normas apa
 
01a10 primal
01a10 primal01a10 primal
01a10 primal
 
Practica 6
Practica 6Practica 6
Practica 6
 
SENTENCIA NIÑOS MUKO BAJO, INTERROGADOS POR CARABINEROS
SENTENCIA NIÑOS MUKO BAJO, INTERROGADOS POR CARABINEROSSENTENCIA NIÑOS MUKO BAJO, INTERROGADOS POR CARABINEROS
SENTENCIA NIÑOS MUKO BAJO, INTERROGADOS POR CARABINEROS
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 

Más de Jornadas SISTEDES 2012 {JISBD; PROLE; JCIS}

A proposal on service execution measures for the improvement of business proc...
A proposal on service execution measures for the improvement of business proc...A proposal on service execution measures for the improvement of business proc...
A proposal on service execution measures for the improvement of business proc...Jornadas SISTEDES 2012 {JISBD; PROLE; JCIS}
 
Un experimento para validar transformaciones QVT para la generación de modelo...
Un experimento para validar transformaciones QVT para la generación de modelo...Un experimento para validar transformaciones QVT para la generación de modelo...
Un experimento para validar transformaciones QVT para la generación de modelo...Jornadas SISTEDES 2012 {JISBD; PROLE; JCIS}
 
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías ...
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías ...Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías ...
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías ...Jornadas SISTEDES 2012 {JISBD; PROLE; JCIS}
 
Tecnología funcional en aplicaciones de televisión interactiva: acceso a rede...
Tecnología funcional en aplicaciones de televisión interactiva: acceso a rede...Tecnología funcional en aplicaciones de televisión interactiva: acceso a rede...
Tecnología funcional en aplicaciones de televisión interactiva: acceso a rede...Jornadas SISTEDES 2012 {JISBD; PROLE; JCIS}
 
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...Un proceso de modernización dirigido por modelos de sistemas web heredados ha...
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...Jornadas SISTEDES 2012 {JISBD; PROLE; JCIS}
 
Enfoque dirigido por modelos para probar Sistemas de Información con Bases de...
Enfoque dirigido por modelos para probar Sistemas de Información con Bases de...Enfoque dirigido por modelos para probar Sistemas de Información con Bases de...
Enfoque dirigido por modelos para probar Sistemas de Información con Bases de...Jornadas SISTEDES 2012 {JISBD; PROLE; JCIS}
 
Diseño de Niveles y uso de Motores en el Desarrollo de Videojuegos dirigido p...
Diseño de Niveles y uso de Motores en el Desarrollo de Videojuegos dirigido p...Diseño de Niveles y uso de Motores en el Desarrollo de Videojuegos dirigido p...
Diseño de Niveles y uso de Motores en el Desarrollo de Videojuegos dirigido p...Jornadas SISTEDES 2012 {JISBD; PROLE; JCIS}
 

Más de Jornadas SISTEDES 2012 {JISBD; PROLE; JCIS} (14)

A proposal on service execution measures for the improvement of business proc...
A proposal on service execution measures for the improvement of business proc...A proposal on service execution measures for the improvement of business proc...
A proposal on service execution measures for the improvement of business proc...
 
Un experimento para validar transformaciones QVT para la generación de modelo...
Un experimento para validar transformaciones QVT para la generación de modelo...Un experimento para validar transformaciones QVT para la generación de modelo...
Un experimento para validar transformaciones QVT para la generación de modelo...
 
MuBPEL: una Herramienta de Mutación Firme para WS-BPEL 2.0
MuBPEL: una Herramienta de Mutación Firme para WS-BPEL 2.0MuBPEL: una Herramienta de Mutación Firme para WS-BPEL 2.0
MuBPEL: una Herramienta de Mutación Firme para WS-BPEL 2.0
 
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías ...
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías ...Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías ...
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías ...
 
String-based Multi-adjoint Lattices for Tracing Fuzzy Logic Computations
String-based Multi-adjoint Lattices for Tracing Fuzzy Logic ComputationsString-based Multi-adjoint Lattices for Tracing Fuzzy Logic Computations
String-based Multi-adjoint Lattices for Tracing Fuzzy Logic Computations
 
DEBUGGING FUZZY XPATH QUERIES
DEBUGGING FUZZY XPATH QUERIESDEBUGGING FUZZY XPATH QUERIES
DEBUGGING FUZZY XPATH QUERIES
 
Tecnología funcional en aplicaciones de televisión interactiva: acceso a rede...
Tecnología funcional en aplicaciones de televisión interactiva: acceso a rede...Tecnología funcional en aplicaciones de televisión interactiva: acceso a rede...
Tecnología funcional en aplicaciones de televisión interactiva: acceso a rede...
 
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...Un proceso de modernización dirigido por modelos de sistemas web heredados ha...
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...
 
Invariant-Free Clausal Temporal Resolution
Invariant-Free Clausal Temporal ResolutionInvariant-Free Clausal Temporal Resolution
Invariant-Free Clausal Temporal Resolution
 
Enfoque dirigido por modelos para probar Sistemas de Información con Bases de...
Enfoque dirigido por modelos para probar Sistemas de Información con Bases de...Enfoque dirigido por modelos para probar Sistemas de Información con Bases de...
Enfoque dirigido por modelos para probar Sistemas de Información con Bases de...
 
Modelado Seguro de Consultas OLAP y su Evolución
Modelado Seguro de Consultas OLAP y su EvoluciónModelado Seguro de Consultas OLAP y su Evolución
Modelado Seguro de Consultas OLAP y su Evolución
 
Diseño de Niveles y uso de Motores en el Desarrollo de Videojuegos dirigido p...
Diseño de Niveles y uso de Motores en el Desarrollo de Videojuegos dirigido p...Diseño de Niveles y uso de Motores en el Desarrollo de Videojuegos dirigido p...
Diseño de Niveles y uso de Motores en el Desarrollo de Videojuegos dirigido p...
 
SISTEMA DE EXTRACCIÓN, TRANSFORMACIÓN Y CARGA
SISTEMA DE EXTRACCIÓN, TRANSFORMACIÓN Y CARGASISTEMA DE EXTRACCIÓN, TRANSFORMACIÓN Y CARGA
SISTEMA DE EXTRACCIÓN, TRANSFORMACIÓN Y CARGA
 
Estudio bibliométrico de la Investigación en Informática en España
Estudio bibliométrico de la Investigación en Informática en EspañaEstudio bibliométrico de la Investigación en Informática en España
Estudio bibliométrico de la Investigación en Informática en España
 

Último

Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfsandradianelly
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoasadvavillacorte123
 
ensayo literario rios profundos jose maria ARGUEDAS
ensayo literario rios profundos jose maria ARGUEDASensayo literario rios profundos jose maria ARGUEDAS
ensayo literario rios profundos jose maria ARGUEDASAntoineMoltisanti
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoYasneidyGonzalez
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaYasneidyGonzalez
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionPROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionyorbravot123
 
Proyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasProyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasELIANAMARIBELBURBANO
 
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSALLA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSALJorge Castillo
 
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docxENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docxmatepura
 
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...crcamora123
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasansomora123
 
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...harolbustamante1
 

Último (20)

6.Deícticos Dos_Enfermería_EspanolAcademico
6.Deícticos Dos_Enfermería_EspanolAcademico6.Deícticos Dos_Enfermería_EspanolAcademico
6.Deícticos Dos_Enfermería_EspanolAcademico
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoas
 
3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico
 
4.Conectores Dos_Enfermería_Espanolacademico
4.Conectores Dos_Enfermería_Espanolacademico4.Conectores Dos_Enfermería_Espanolacademico
4.Conectores Dos_Enfermería_Espanolacademico
 
ensayo literario rios profundos jose maria ARGUEDAS
ensayo literario rios profundos jose maria ARGUEDASensayo literario rios profundos jose maria ARGUEDAS
ensayo literario rios profundos jose maria ARGUEDAS
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionPROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
 
Power Point: Luz desde el santuario.pptx
Power Point: Luz desde el santuario.pptxPower Point: Luz desde el santuario.pptx
Power Point: Luz desde el santuario.pptx
 
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOSTRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
 
Proyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasProyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistas
 
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSALLA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
 
5.Deicticos Uno_Enfermería_EspanolAcademico
5.Deicticos Uno_Enfermería_EspanolAcademico5.Deicticos Uno_Enfermería_EspanolAcademico
5.Deicticos Uno_Enfermería_EspanolAcademico
 
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docxENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
 
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
 
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
 
Lec. 08 Esc. Sab. Luz desde el santuario
Lec. 08 Esc. Sab. Luz desde el santuarioLec. 08 Esc. Sab. Luz desde el santuario
Lec. 08 Esc. Sab. Luz desde el santuario
 

Synthesis of secure adaptors

  • 1. Synthesis of secure adaptors (for stateful services) J. Antonio Martín(1), Fabio Martinelli(2) y Ernesto Pimentel(1) Universidad de Málaga(1) -- C.N.R.(2) JCIS'12, Almería, 19 Sept, 2012 Artículo publicado: http://bit.ly/JLAP12
  • 2. Motivación ● Tratamos con servicios con comportamiento ● Los servicios Web tienen políticas de seguridad ○ WS-Security, WS-SecureConversation, WS-Policy, ... ● Servicios incompatibles envían y reciben mensajes criptográficos incompatibles ● Nuestro objetivo es corregir las incompatibilidades en las políticas de seguridad (con riesgo de revelar información) y en el comportamiento (con riesgo de bloqueos) cliente
  • 3. Ejemplo: Servicios con estado Servicio a Servicio b Codificado en Crypto-CCS
  • 4. Solución: adaptación ● Desplegar un adaptador como orquestrador que solventa las incompatibilidades en interfáz, comportamiento y seguridad ● La adaptación de comportamiento se basa en recibir, reescribir y reenviar los mensajes en su momento adecuado ● La adaptación de seguridad extiende la adaptación del comportamiento con criptografía simétrica, asimétrica, y hashing Flickr API key, adaptador Frob, cliente Token...
  • 5. Ejemplo: adaptador Adaptador Servicio a Servico b
  • 6. Ejemplo: adaptador Adaptador Servicio a Servicio b
  • 7. Solución: contratos de adaptación ● Los adaptadores se describen de manera abstracta mediante contratos de adaptación de seguridad (SAC) ● El proceso de síntesis obtiene un adaptador sin bloqueos ● Se verifica la confidencialidad del sistema y, si es necesario, se refina el adaptador para cumplirla cliente adaptador proceso de síntesis contrato
  • 10. Ejemplo: servicios incompatibles Servicio a Servicio b
  • 12. Ejemplo: servicios incompatibles Servicio a Servicio b
  • 13. Ejemplo: servicios incompatibles Servicio a Servicio b Cómo: send! encajaría tanto con anonymous?, des?, pub_rsa? o priv_rsa?
  • 14. Ejemplo: servicios incompatibles Servicio a Servicio b Cómo: send! encajaría tanto con anonymous?, des?, pub_rsa? o priv_rsa? Tengo el usuario U y la clave K
  • 15. Ejemplo: servicios incompatibles Servicio a Servicio b Cómo: send! encajaría tanto con anonymous?, des?, pub_rsa? o priv_rsa? Objetivo: pasar M de Tengo el usuario baa U y la clave K
  • 16. Ejemplo: servicios incompatibles Servicio a Servicio b Cómo: send! encajaría tanto con anonymous?, des?, pub_rsa? o priv_rsa? Objetivo: pasar M de Tengo el usuario baa U y la clave K Confidencialidad : M debe ser confidencial
  • 17. Contrato de adaptación Servicio a Servicio b Contrato de adaptación anonymous!M^ < send?M public_key! < ... E0 VLTS
  • 18. Contrato de adaptación Servicio a Servicio b Contrato de adaptación anonymous!M^ < send?M public_key! < ... E0 VLTS
  • 19. Contrato de adaptación, E0 Servicio a Servicio b Contrato de adaptación anonymous!M^ < send?M public_key! < login!U^,E(K^,U^) < des!E(K^, M^) < send?M ... E0 = [k/K, u/U,...] VLTS
  • 20. Contrato de adaptación, VLTS Servicio a Servicio b Contrato de adaptación 1. anonymous!M^ < send?M 2. public_key! < 3. login!U^,E(K^,U^) < 4. des!E(K^, M^) < send?M ... E0 = [k/K, u/U,...] VLTS }
  • 22. Trazas que cumplen el contrato Servicio a Servicio b Adaptador Contrato de adaptación 1. anonymous!M^ < send?M 2. public_key! < 3. login!U^,E(K^,U^) <
  • 23. Síntesis sin bloqueos Adaptador Servicio a Servicio b SAC
  • 24. Síntesis sin bloqueos Adaptador Servicio a Servicio b SAC
  • 25. Síntesis sin bloqueos Adaptador Servicio a Servicio b SAC
  • 27. Confidencialidad Servicio a Servicio b ● ¿Qué quieres proteger? ● ¿Qué es suceptible de ataque? ○ Dolev-Yao restringido ● ¿Qué información es pública?
  • 28. Confidencialidad Servicio a Servicio b Le - Acciones "escuchables" La - Acciones protegidas p - Propiedad de confidencialidad
  • 29. Confidencialidad Servicio a Servicio b En nuestro ejemplo: La, Le: el atacante sólo adaptador puede escuchar los mensajes a/del servicio a p: El atacante no debe obtener M En otras palabras, el adaptador "envuelve" a b
  • 30. Model checking parcial Servicio a Servicio b (mediante model-checking parcial)
  • 31. Verificación de seguridad Adaptador Servicio a Servicio b Ataque
  • 32. Refinación Adaptador Servicio a Servicio b
  • 33. Adaptadores de seguridad seguros Adaptador Servicio a Servicio b SAC
  • 34. Contribution ● Adaptación de servicios con comportamiento y políticas de seguridad ○ Evitamos bloqueos ○ El adaptador es capáz de recomponer los mensajes tal y como los espera el servicio receptor ○ Probado formalmente que el es robusto ante los ataques de seguridad ● El adaptador es descrito mediante un contrato de adaptación de seguridad que especifica: ○ La información inicial necesaria para la adaptación ○ Las transformaciones requeridas para conseguir una comunicación satisfactoria ○ Las comprobaciones de seguridad a ejecutar durante la adaptación
  • 35. Publicación ● Journal of Logic and Algebraic Programming ● Número especial de FLACOS (Formal Languages and Analysis of Contract-Oriented Software) Primer envío: 10/01/2011 Primera revisión: 02/05/2011 Segunda revisión: 01/08/2011 Aceptación: 29/08/2011 Publicación (online): 21/09/2011 Publicación (física): 02/2012
  • 36. ¡Muchas gracias! Artículo completo: http://bit.ly/JLAP12 -- Tesis: http://bit.ly/jamartin-thesis
  • 37. WS-Security <?xml version="1.0" encoding="utf-8"?> <S11:Envelope><S11:Header> <wsse:Security> ● T, I, S, V, K, L and B <wsu:Timestamp wsu:Id="T0">...</wsu:Timestamp> <wsse:BinarySecurityToken ValueType="...#X509v3" are placeholders used wsu:Id="X509Token">... </wsse:BinarySecurityToken> <xenc:EncryptedKey>... for matching data in the <xenc:ReferenceList> <xenc:DataReference URI="#enc1"/> messages received </xenc:ReferenceList> </xenc:EncryptedKey> and sent from the <ds:Signature><ds:SignedInfo>... <ds:Reference URI="#T0">... T, adaptor <ds:DigestValue>LyLsF094Pi4wP...</ds: DigestValue> </ds:Reference> I, <ds:Reference URI="#body">... <ds:DigestValue>LyLsF094i4wPU...</ds: Pk(S), DigestValue> </ds:Reference> </ds:SignedInfo> penc(V, <ds:SignatureValue>Hp1ZkmFZ/2kQ...</ds: SignatureValue> Hash(cat(I,Pk(S)))), <ds:KeyInfo> <wsse:SecurityTokenReference> enc(K,L), <wsse:Reference URI="#X509Token"/> </wsse:SecurityTokenReference> Hash(T), </ds:KeyInfo> </ds:Signature> </wsse:Security> Hash(B), </S11:Header> <S11:Body wsu:Id="body"> penc(S,cat(Hash(T),Hash(B)), <xenc:EncryptedData wsu:Id="enc1">...</xenc:EncryptedData>... </S11:Body></S11:Envelope> enc(L,B)
  • 38. WS-Security <?xml version="1.0" encoding="utf-8"?> <S11:Envelope><S11:Header> <wsse:Security> ● T, I, S, V, K, L and B <wsu:Timestamp wsu:Id="T0">...</wsu:Timestamp> <wsse:BinarySecurityToken ValueType="...#X509v3" are placeholders used wsu:Id="X509Token">... </wsse:BinarySecurityToken> <xenc:EncryptedKey>... for matching data in the <xenc:ReferenceList> <xenc:DataReference URI="#enc1"/> messages received </xenc:ReferenceList> </xenc:EncryptedKey> and sent from the <ds:Signature><ds:SignedInfo>... <ds:Reference URI="#T0">... T, adaptor <ds:DigestValue>LyLsF094Pi4wP...</ds: DigestValue> </ds:Reference> I, <ds:Reference URI="#body">... <ds:DigestValue>LyLsF094i4wPU...</ds: Pk(S), DigestValue> </ds:Reference> </ds:SignedInfo> penc(V, <ds:SignatureValue>Hp1ZkmFZ/2kQ...</ds: SignatureValue> Hash(cat(I,Pk(S)))), <ds:KeyInfo> <wsse:SecurityTokenReference> enc(K,L), <wsse:Reference URI="#X509Token"/> </wsse:SecurityTokenReference> Hash(T), </ds:KeyInfo> </ds:Signature> </wsse:Security> Hash(B), </S11:Header> <S11:Body wsu:Id="body"> penc(S,cat(Hash(T),Hash(B)), <xenc:EncryptedData wsu:Id="enc1">...</xenc:EncryptedData>... </S11:Body></S11:Envelope> enc(L,B)