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

PPT
Aire
PPT
Imágenes editadas con gimp
PPTX
Bilateral Optic Neuritis In A Child With Tuberculosis
DOC
Стандарт управления репутационным риском 2010
PPTX
El arte urbano
PPTX
Cine independiente en el conurbano bonaerense
DOCX
Instrumentos
PPTX
Cugs. introducción. elaboración_y_evaluación_de_mate riales_educativos_(2)
Aire
Imágenes editadas con gimp
Bilateral Optic Neuritis In A Child With Tuberculosis
Стандарт управления репутационным риском 2010
El arte urbano
Cine independiente en el conurbano bonaerense
Instrumentos
Cugs. introducción. elaboración_y_evaluación_de_mate riales_educativos_(2)

Destacado (17)

PDF
Redes sociales
DOCX
Seminario
PPTX
Hablando con sara
PDF
Arquitectura islamica kay sierra
PDF
tp34 (5)
PPTX
El telègraf
PPTX
Curriculim Vitae
PDF
Sentencia Amenazas Testigo Protegido
DOCX
Mantenimiento folleto instalación s.o1
DOCX
Linea del tiempo
DOCX
Comunicacion y redes
PDF
Abc de las competencias
PPTX
Bienvenido a las normas apa
PDF
01a10 primal
PDF
Practica 6
DOC
SENTENCIA NIÑOS MUKO BAJO, INTERROGADOS POR CARABINEROS
PPS
Artificial Intelligence
Redes sociales
Seminario
Hablando con sara
Arquitectura islamica kay sierra
tp34 (5)
El telègraf
Curriculim Vitae
Sentencia Amenazas Testigo Protegido
Mantenimiento folleto instalación s.o1
Linea del tiempo
Comunicacion y redes
Abc de las competencias
Bienvenido a las normas apa
01a10 primal
Practica 6
SENTENCIA NIÑOS MUKO BAJO, INTERROGADOS POR CARABINEROS
Artificial Intelligence
Publicidad

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

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

Último (20)

PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
TOMO II - LITERATURA.pd plusenmas ultras
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
biología es un libro sobre casi todo el tema de biología
DI, TEA, TDAH.pdf guía se secuencias didacticas
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
TOMO II - LITERATURA.pd plusenmas ultras
PLANES DE área ciencias naturales y aplicadas
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
biología es un libro sobre casi todo el tema de biología

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)