Firma Digital en SOA



Documentos relacionados
Firma Digital. Author: Eng. Eduardo Casanovas

Documento de Recomendación de Uso de Firma Digital en Comunicación PISEE. Ministerio Secretaría General de la Presidencia

Protegiendo nuestros servicios webs WS-SEC

Manual de Desarrollador Autenticación Automática

Transmision de datos SOAP. Transmision de Datos

Como sabemos, en un Sistema de Comunicación de Datos, es de vital importancia

POLÍTICA DE FIRMA (versión 3.1) FORMATO FACTURAE

Introducción. Algoritmos

MANUAL PARA EMPRESAS USUARIAS

Seguridad XML: Su Importancia en el E-Comercio

Seguridad en la capa de Transporte Vs Seguridad a nivel de Mensaje

REST API para Timbrado

Seguridad -- básico. Subtemas. XML Web Services Security. Criptografía (transporte sobre un medio no fiable),

Semana 14: Encriptación. Cifrado asimétrico

<xs:import namespace=" schemalocation="

Documentacion de servicios para los SARCF del proyecto FACe. Equipo de desarrollo de la plataforma FACe. Versión 1.2.4

DOCUMENTOS TÉCNICOS DIVISIÓN INFORMÁTICA DESARROLLO

Resumen del trabajo sobre DNSSEC

BOLETÍN OFICIAL DEL ESTADO

Introducción a la Firma Electrónica en MIDAS

Contenido. Formato catálogo de cuentas

Cómo afrontar la Seguridad en Redes Abiertas: Consideraciones Técnicas y Escenarios.

Evolución de los servicios de Internet

CAPÍTULO 3 Servidor de Modelo de Usuario

Ing. Cynthia Zúñiga Ramos

Criptografía. Por. Daniel Vazart P.

Seguridad en el manejo de la información asociada a las muestras (Ficheros automatizados) Granada 06/11/2012

1. CONFIGURACIÓN Y DESARROLLO FACTURACIÓN ELECTRÓNICA. a. CONFIGURACION DE SERVIDORES b. CERTIFICADO DIGITAL c. MODULO GENERADOR DOCUMENTOS XML d.

Resumen de Requisitos Técnicos para incorporación de Organismos a la Plataforma Integrada de Servicios Electrónicos del Estado

CRIPTOGRAFIA. Qué es, usos y beneficios de su utilización. Universidad Nacional del Comahue

Web Service Cancelación Expide Tu Factura

Seguridad en la transmisión de Datos

Manual de Timbrado FEL

Bases de la Firma Electrónica: Criptografía

Información sobre seguridad

ipsec Qué es ipsec? IPSec: seguridad en Internet

Introducción a los certificados digitales

Seguridad en Correo Electrónico

DNA. Cliente WSAA Especificaciones Técnicas. Versión <1.4>

Presentado a: Milton García. Presentado por: Paula Díaz Heidy solano Wilmar Albarracín

CONFIGURACIÓN DEL CERTIFICADO DIGITAL EN OUTLOOK 2013

Glosario de términos

Cursos de Extensión Universitaria UNIVERSIDAD DE OVIEDO. Servicios Web (II)

Criptografía. Kerberos PGP TLS/SSL SSH

Circular de Tecnología Pautas para el uso de Certificados Electrónicos

Curso de SOA. Nivel Avanzado

CONFIGURACIÓN CERTIFICADO DIGITAL EN OUTLOOK 2010

PUNTO GENERAL DE ENTRADA DE FACTURAS ELECTRÓNICAS DE LA COMUNIDAD AUTÓNOMA DE GALICIA

Información sobre seguridad

Gran número de usuarios accediendo a un único servicio y con un único protocolo. Servidores y clientes con distintos protocolos.

PKI y Firma Digital: Aplicaciones y la Ley en Colombia Por: Jorge Mario Calvo L.

Naportec, envía a sus clientes facturas electrónicas emitidas desde su sistema de Facturación SFP.

MENSAREX: SISTEMA DE MENSAJERÍA DEL MINREX Gretel García Gómez Ministerio de Relaciones Exteriores Cuba.

Puedo estar tranquilo acerca de la información de mi empresa? Donde puedo poner mis archivos cuando viajo?

Proporciona cifrado de datos, autorización de servidores, integridad de mensajes y, opcionalmente, autorización de clientes para conexiones.

INSTRUCTIVO TÉCNICO FACTURA ELECTRÓNICA

ELECTRONIC DOCUMENT LIBRARY

Seguridad del Protocolo HTTP

Criptografía, certificado digital y firma digital. Guía básica de supervivencia. En Internet nadie sabe quién está al otro lado

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

DOCUMENTOS TÉCNICOS DIVISIÓN INFORMÁTICA DESARROLLO

Seguridad en Web Services

SERVICIOS DE RED E INTERNET TEMA 4: INSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS WEB

Semana 11: Fir Fir w e a w lls

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA

MANUAL DEL PROGRAMADOR

Resolución de febrero 24 de 2016

Espacios de Nombres. Documentación Electrónica. Soto Montalvo

Capítulo 1 Documentos HTML5

GLOSARIO AGAC ALAC. Agencia Certificadora

Comunicación por cifrada Versión 1.1 Página 1 de 8

Certificados de sello electrónico

MARCO JURÍDICO DE LAS TECNOLOGÍAS EN LA ADMINISTRACIÓN PÚBLICA. Mag. Erick Rincón Cárdenas

Guía de migración a firma HMAC SHA256 Conexión por Redirección

Especificación WebService para:

Infraestructura Extendida de Seguridad IES

Recomendaciones para procesos de integración con Web-Services

Tablas internas 1-12

Métodos Encriptación. Tópicos en Sistemas de Computación Módulo de Seguridad

Consultas con combinaciones

IAP TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO)

INSTITUTO TECNOLÓGICO DE SALINA CRUZ. Fundamentos De Redes. Semestre Agosto-Diciembre Reporte De Lectura

MANUAL DEL PROGRAMADOR

DE DERECHOS DE LOS PROPIETARIOS

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

Marketing. Spam DKIM SPF DMARC Feedback Loop Gmail Promotion Tab

Autenticación Revisitada

FIRMA DIGITAL. Introducción. Introducción. Introducción. Introducción. Introducción AC-PKI MENÚ. Introducción. Ejemplos. Orígenes.

ANEXOS. Algoritmo que genera un valor hash de algún dato, como una clave de. mensaje o de sesión. Con un buen algoritmo de hash, los cambios que se

Certificados de sede electrónica

Confianza en entornos de Servicios Web: WS-Trust y STS. Antonio David Pérez Morales RedIRIS

DEPÓSITO DIGITAL D2 (para ejercicios iniciados a partir del 01/01/2008) Manual de usuario

Protocolos y técnicas alternativas al WEP. En este capítulo se presentan algunos protocolos y técnicas que ofrecen mayores

Especificación Funcional del Protocolo de Sustitución de Certificados en Soporte Papel SCSPv3

RESOLUCION DE DIRECTORIO Nº 086/2004

Facultat d Informàtica de Barcelona SSI Examen final 2008/06/11 Duración: 2h HOJA 1

Servicios para sistemas automatizados de proveedores. Equipo de desarrollo de FACe

Transport Layer Security (TLS) Acerca de TLS

Seguridad en Web Services. Junio/2010

Transcripción:

Firma Digital en SOA

Agenda SOAP XML - Signature WS-Digital Signature Métodos de Canonicalización 2

SOAP - Se creó como una forma de transporte en XML de un ordenador a otro a través de una serie de protocolos estándar de transporte. HTTP es el más común de los protocolos de transportes y, por supuesto, es el más utilizado en la Web SOAP proporciona un mecanismo de forma simple, coherente y extensible mecanismo que permite que una aplicación pueda enviar un mensaje XML a otro. SOAP es lo que hace posible integración de aplicaciones, porque después que XML define el contenido de un mensaje, es SOAP el qeu se encarga de mover los datos de un lugar a otro durante de la red - El modelo SOAP permite una separación limpia entre la infraestructura de proceso y aplicación de proceso de mensajes. 3

SOAP 4

SOAP 5

SOAP Tokens de Seguridad La especificación WSS describe las reglas para procesar XML-Signature y XML- Encryption Estas reglas Deben ser seguidas cuando se utiliza cualquier token de seguridad. 1.)User Name Token El elemento <wsse:usernametoken> es introducido como una forma de provee un username. Este token es opcionalmente incluido en el Header <wsse:usernametoken wsu:id="..."> <wsse:username>...</wsse:username> </wsse:usernametoken> /wsse:usernametoken Este elemento se utiliza para representar una identidad declarada. /wsse:usernametoken/@wsu:id Un label para este token de seguridad. El wsu:id permite un atributo modelo. /wsse:usernametoken/wsse:username Este elemento especifica la identidad declarada. 6

SOAP El elemento <wsse:binarysecuritytoken> define dos atributos 1.) El ValueType Este atributo indica que los tokens de seguridad son por ejemplo ticket de Kerberos 2.) El EncodingType te avisa como los securiting tokens es encoded, por ejemplo, Base64Binary. 7

SOAP Tokens de Seguridad 2.) Binary Security Tokens Para formato binario los tokens de seguridad que WS Security da son elementos del tipo <wsse:binarysecuritytoken> y <wsse:security> en el Header 8

SOAP Tokens de Securidad 3.) XML Tokens En ciertos casos es deseable que tokens de seguridad sean incluidos en la <wsse:security> del header y sean encriptados. En ese caso el elemento <xenc:encrypteddata> Puede contener un security token en el header <wsse:security>. El standard define el uso de <xenc:encrypteddata> para encriptar Los tokens de seguridad estan contenidos en el <wsse:security>. All <xenc:encrypteddata> Debería tener una clave de cifrado incorporados o debe ser referenciado por una clave de encripción separada. 9

XML - Signature XML-Signature Syntax and Processing Recommendación del12 Febrero de 2002 Este documento especifica la firma digital XML y reglas de procesamiento de la sintaxis. La Firmas en XML proporciona integridad, la autenticación de mensajes y / o servicios de autenticación de datos de cualquier tipo, ya sea situada en el XML, o en cualquier otro lugar. 10

XML - Signature Objetivos Asegurar que un mensaje no ha sido alterado o manipulado. (integritegridad) Protección contra los ataques que alteran un mensaje, sino mantener la integridad. (autenticación) Proporcionar un medio para que en la auditoría el mensaje no puedea ser repudiado. (autenticidad del firmante ) 11

XML - Signature Structure <Signature> <SignedInfo> <CanonicalizationMethod/> <SignatureMethod/> (<Reference URI? > (<Transforms>)? <DigestMethod> <DigestValue> </Reference>)+ </SignedInfo> <SignatureValue> (<KeyInfo>)? (<Object Id?>)* </Signature> xmlns="http://www.w3.org/2000/09/xmldsig#" 12

XML - Signature 13

XML - Signature Types of Signatures Enveloping Signature El dato vive dentro de la estructura XML signature Bueno para la firma de datos que se están envasados en la carga útil del XML Enveloping XML Signature Signed XML XML document 14

XML - Signature Enveloping Signature <?xml version="1.0"?> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n- 20010315"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmacsha1"/> <Reference URI="#myobj"> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>C2g9BLcGyGPCVKuF2byR1Ym+6pE=</DigestValue> </Reference> </SignedInfo> <SignatureValue>+R/XEOHDvR/jbmmpiuH4ZcRqC6c=</SignatureValue> <Object Id="myobj">Hello World!</Object> </Signature> 15

XML - Signature Types of Signatures Enveloped Signature Los Datos viven fuera y contienen la estructura de XML siganture Bueno para la firma de partes o la totalidad de un documento XML Enveloped Signed XML Element XML Signature XML document 16

Enveloped Signature <?xml version="1.0"?> <Envelope> <Data>content</Data> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xmlexc-c14n#"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/> <Reference> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#envelopedsignature"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>MMMkB0ZPp82XrUvJMFqDIEuXy0o=</DigestValue> </Reference> </SignedInfo> <SignatureValue>mVPvfcVSXi9elKL+IcSCAzD4Jbk=</SignatureValue> </Signature></Envelope> 17

XML - Signature Types of Signatures Detached Detached Signature Los datos viven fuera y no contiene la estructura XML signature Los datos pueden residir en un lugar remoto direccionable por URI Signed XML Element XML Signature XML document 18

Ejemplo de Detached XML Signature <Signature xmlns= http://www.w3.org/2000/09/xmldsig# > <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n- 20010315"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <Reference URI="http://www.w3.org/TR/xml-stylesheet"> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>60NvZvtdTB+7UnlLp/H24p7h4bs=</DigestValue> </Reference> </SignedInfo> <SignatureValue> jus5rhj884qofr8flvxd/rbrsdvgn40capgb7qeqit+rr0nekeq6bhhua8dt3+bc TBUQI0dBjlml9lwzENXvS83zRECjzXbMRTUtVZiPZG2pqKPnL2YU3A9645UCjTXU +jgfumv7k78hieagdznci+pq9krmm//ict7jayztgt4= </SignatureValue> <KeyInfo> <X509Data> <X509IssuerSerial> <X509IssuerName>CN=Test RSA CA,O=Baltimore Technologies\, Ltd.,ST=Dublin,C=IE</X509IssuerName> <X509SerialNumber>970849928</X509SerialNumber> </X509IssuerSerial> </X509Data> </KeyInfo> </Signature> 19

XML - Signature Generación de firma paso a paso Para cada elemento Aplicar las transformaciones necesarias Calcular el hash para el output de la transformación Guardar el hash en DigestValue Canonicalizar el elemento SignedInfo Calcular el hash del SignedInfo canonicalizado Firmar el hash de SignedInfo con mi clave privada y guardarlo en SignatureValue Agregar la información de la clave en KeyInfo recorger SignedInfo, SignatureValue, KeyInfo dentro de Signature 20

XML - Signature Verificación de la firma Paso a Paso Canonicalizar el SignedInfo Realizar el hash de SignedInfo Verificar la firma en SignedInfo Verificar el valor de la firma con la clave pública Verificar la veracidad de la clave pública Para cada elemento de referencia que fue firmado Aplicar las transformaciones necesarias Calcualr el digesto de la salida de la trasforamción Verificar si el hash que calculamos es igual al valor que setá en DigestValue 21

XML - Signature XML Signature Algoritmos Cryptograficos Funciones de Hash SHA-1, SHA-256, SHA-384, SHA-512, MD-5 Métodos de firma asimétricos RSA with SHA-1, SHA-256, SHA-384, SHA-512, MD-5 DSA with SHA-1, SHA-256, SHA-384, SHA-512, MD-5 Methodos de firma simétricos HMAC with SHA-1, SHA-256, SHA-384, SHA-512, MD-5 22

XML - Signature XML Signature Opciones de Key Info Clave Asimétrica Key Name Key Value RSA» Modulus, Exponent DSA» P,Q,Y,G X509 Data Certificado Issuer/Serial Subject Key Identifier Subject Name Clave Simétrica Key Name 23

WS-Digital Signature Cabecera de Seguridad El bloque de la cabecera <wsse:security> provee un mecanismo para attachar información relacionada con seguridad La especificación WS-Security define a <wsse:security> com oun mecanismo para transmitir información de seguridad en un mensaje SOAP. Este encabezado es, por diseño, extensible para soportar muchos tipos de información de seguridad Por seguridad tokens de seguridad basados en XML, <wsse:security> pueden ser agregados en el Header <soap:header> <wsse:security> <wsu:timestamp wsu:id="t0">. </wsu:timestamp> <wsse:binarysecuritytoken>.. </wsse:binarysecuritytoken> <xenc:encryptedkey>. </xenc:encryptedkey> <ds:signature>. </ds:signature> </wsse:security> </soap:header> 24

WS-Digital Signature <ds:signature> <ds:signedinfo> <ds:canonicalizationmethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:signaturemethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <ds:reference URI="#T0"> <ds:transforms> <ds:transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </ds:transforms> <ds:digestmethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:digestvalue>lylsf094hpi4wpu...</ds:digestvalue> </ds:reference> <ds:reference URI="#body"> <ds:transforms> <ds:transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </ds:transforms> <ds:digestmethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:digestvalue>lylsf094hpi4wpu...</ds:digestvalue> </ds:reference> </ds:signedinfo> <ds:signaturevalue>hp1zkmfz/2kqlxdjbchm5gk...</ds:signaturevalue> <ds:keyinfo> <wsse:securitytokenreference> <wsse:reference URI="#X509Token"/> </wsse:securitytokenreference> </ds:keyinfo> </ds:signature> 25

Métodos de Canonicalización C14N Espacio en blanco Insignificante espacio en blanco <a><b c= d >foo bar</a> Es semanticamente equivalente a <a><b >foo bar</a > c= d Relevante espacio en blanco <a><b c= d > foo bar </a> El proceso de Canonicalización normaliza los insignificantes espacios en blanco y conserva los relevantes espacios en blanco 26

Métodos de Canonicalización C14N Prefijos del Namespace Los Prefijos son significantes <n1:a xmlns:n1= www.intel.com >foo bar</n1:a> No es lo mismo que <n2:a xmlns:n1= www.intel.com >foo bar</n2:a> Debido a que los prefijos pueden ser embebidos dentro de texto/atributo valor <n1:a xmlns:n1=www.intel.comlanguage= n1:english >foo bar</n1:a> <n2:a xmlns:n2=www.intel.comlanguage= n1:english >foo bar</n2:a> Canonicalización preserva el prefijo del namespace 27

Métodos de Canonicalización Tipos de Canonicalización Inclusive Canonicalization Todos los nombres de los nodos en un ápice elemento se considera que tienen un efecto y aparecen en el nodo-conjunto Inclusive Canonicalization With Comments Igual que el anterior, nodos comentados se incluyen en la salida Exclusive Canonicalization El nodo de Namespace es considerado para tener un efecto y aparece en la salida donde el prefijo es visible en el nombre del elemento o en le nombre del atributo Es el método más utilizado Exclusive Canonicalization With Inclusive List Los namespace de los nodos son tratados como se especifica en Inclusive Canonicalization cuando el aparato esté especificado en la Inclusive List y como Exclusive Canonicalization 28

Métodos de Canonicalización C14N Input Rules Eliminar la declaración XML y de DTD Sustituir entity/character referencias con definiciones Convertir lineas rotas en x0a Eliminar secciones CDATA Normalizar attributo valor Todas las líneas rotas son normalizadas Comenzar con un valor vacío normalizado Para cada caracter, entidad ref, char ref Todos los caracteres referenciados son reemplazados Reemplazar las entidades referenciadas y recurrentemente aplicar este paso Por cada caracter espacio en blanco, tab horizontal, nueva línea, retorno de carro o espacio, añadir un carácter de espacio para el valor normalizado Si el tipo de atributo no es CDATA, descartar los principales caracteres de espacio y los rezagados, y reemplaza cualquier secuencias internas del espacio con un único carácter de espacio 29

Q&A 30

Tks applause please 31