SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Mehr von 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}
 

Mehr von 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
 

Kürzlich hochgeladen

TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaAlejandraFelizDidier
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxsisimosolorzano
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptNancyMoreiraMora1
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 

Kürzlich hochgeladen (20)

Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundaria
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 

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)