La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Barcelona 4 Mayo 2004. ¡Adéntrate! ¡Regístrate antes del 14 de mayo y ahórrate 300 ! Amsterdam, Holanda 29 junio – 2 julio El evento definitivo de Microsoft.

Presentaciones similares


Presentación del tema: "Barcelona 4 Mayo 2004. ¡Adéntrate! ¡Regístrate antes del 14 de mayo y ahórrate 300 ! Amsterdam, Holanda 29 junio – 2 julio El evento definitivo de Microsoft."— Transcripción de la presentación:

1 Barcelona 4 Mayo 2004

2 ¡Adéntrate! ¡Regístrate antes del 14 de mayo y ahórrate 300 ! Amsterdam, Holanda 29 junio – 2 julio El evento definitivo de Microsoft en Europa sobre creación, implantación, protección y gestión de soluciones conectadas

3 Firma digital en la plataforma Windows Santiago Núñez Technical Consultant Microsoft

4 Agenda Introducción a la firma digital Introducción a la firma digital Firma electrónica Firma electrónica Firma digital Firma digital Firma digital cualificada Firma digital cualificada Firma digital en plataforma Windows Firma digital en plataforma Windows Arquitectura de los servicios criptográficos Arquitectura de los servicios criptográficos Inclusión de firmas en aplicaciones propias Inclusión de firmas en aplicaciones propias Aplicaciones preparadas Aplicaciones preparadas

5 Firmas digitales Utilidad Las firmas digitales permiten migrar procesos basados en papel (que requerían firmas) a formato electrónico. Las firmas digitales permiten migrar procesos basados en papel (que requerían firmas) a formato electrónico. Documentos en papel que requieren una firma de aprobación Documentos en papel que requieren una firma de aprobación Necesidad de asegurar que el contenido no se ha modificado Necesidad de asegurar que el contenido no se ha modificado Necesidad de asegurar la identidad de la persona que firmó Necesidad de asegurar la identidad de la persona que firmó Existe una normativa que exige aprobaciones mediante firmas Existe una normativa que exige aprobaciones mediante firmas

6 Firma electrónica Primera aproximación Datos electrónicos adjuntos a un documento para mostrar intención de firma Datos electrónicos adjuntos a un documento para mostrar intención de firma

7 Firma digital Vinculando los datos al firmante Firma electrónica avanzada (según la ley de firma digital) Firma electrónica avanzada (según la ley de firma digital) Firma electrónica con las siguientes características: Firma electrónica con las siguientes características: Vinculada al firmante Vinculada al firmante Vinculada a los datos Vinculada a los datos Permite detectar modificaciones Permite detectar modificaciones

8 Firma digital Bob genera un mensaje y quiere asegurarse de que Alice sabrá que el mensaje es auténtico Mensaje Mensaje Hash Firma Digest Alice verifica que el mensaje no ha sido alterado y que fue generado por Bob Mensaje Hash Firma Digest ¿iguales? ClavePrivada de Bob ClavePública

9 Firma digital Formatos de firmas digitales Existen diferentes formatos para almacenar una firma digital. Existen diferentes formatos para almacenar una firma digital. La mayoría encapsula en un sobre los datos, la identidad del firmante y la firma. La mayoría encapsula en un sobre los datos, la identidad del firmante y la firma. Algunos ejemplos de formatos son: Algunos ejemplos de formatos son: Privacy-Enhanced Mail (PEM) – RFC 1421 Privacy-Enhanced Mail (PEM) – RFC 1421 PKCS#7 PKCS#7 S/MIME – RFC 2634 ISO XMLDsig XMLDsig XAdES

10 Firma digital Formato de Sobre PKCS#7 PKCS #7: Cryptographic Message Syntax Standard PKCS #7: Cryptographic Message Syntax Standard Estándar desarrollado por RSA Laboratories Inc. Estándar desarrollado por RSA Laboratories Inc. Define varios formatos de mensajes: Define varios formatos de mensajes: Data, EnvelopedData, SignedData, etc. Data, EnvelopedData, SignedData, etc. SignedData ::= SEQUENCE { version Version, digestAlgorithms DigestAlgorithmIdentifiers, contentInfo ContentInfo, certificates [0] IMPLICIT ExtendedCertificatesAndCertificates OPTIONAL, crls [1] IMPLICIT CertificateRevocationLists OPTIONAL, signerInfos SignerInfos }

11 Firma digital PKCS#7 SignedData PKCS #7 Version Digest Algorithm Content Certificates CRLs Signer Infos Signer Info 1 Signer Info 2 Signer Info 3 Signer Info Version Serial Number Digest Algorithm Authenticated Attributes Unauthenticated Attributes Digital Signature

12 Firma digital Firma Digital XML XMLDSIG: Propuesta conjunta de estándar IETF/W3C XMLDSIG: Propuesta conjunta de estándar IETF/W3C RFC 3075 RFC La versión 1.0 de.NET Framework incluye el soporte para firmas XMLDSIG en: La versión 1.0 de.NET Framework incluye el soporte para firmas XMLDSIG en: System.Security.Cryptography.XML System.Security.Cryptography.XML Define un mecanismo para firmar: Define un mecanismo para firmar: Documentos XML Documentos XML Fragmentos de un documento XML Fragmentos de un documento XML

13 Firma digital Firma Digital XML Proporciona tres métodos de firma: Proporciona tres métodos de firma: Wrapped, el formato de firma incluye el contenido Wrapped, el formato de firma incluye el contenido Detached, la firma está separada del contenido Detached, la firma está separada del contenido Embedded, la firma es parte del contenido firmado Embedded, la firma es parte del contenido firmado El formato XMLDsig no requiere infraestructura de certificados El formato XMLDsig no requiere infraestructura de certificados Se incluye información de la clave Se incluye información de la clave Se reserva espacio para proporcionar información del certificado Se reserva espacio para proporcionar información del certificado

14 Firma digital Formato de Firma XMLDsig xmlns:ds="http://www.w3.org/2000/09/xmldsig#"

15 PQlk2ihM0jP+rK1mT8fTiIHSYfY= PQlk2ihM0jP+rK1mT8fTiIHSYfY= Qz4gW5uUsXapcYk9RFN8omE+jXYY2kRdYwMVVTmXApHiam oTeJsoE7XrpP9EMxPnsdeFavrUMsuj1ZrxAHhGzYv7g37HMq4 p4iRXllwZU5GhKcqBc3CMOMZoCc9JG+J5CBmLoFQGTKhcV o2RFpWKPbTcBDMR61HPxsrFq0YrQgs= Qz4gW5uUsXapcYk9RFN8omE+jXYY2kRdYwMVVTmXApHiam oTeJsoE7XrpP9EMxPnsdeFavrUMsuj1ZrxAHhGzYv7g37HMq4 p4iRXllwZU5GhKcqBc3CMOMZoCc9JG+J5CBmLoFQGTKhcV o2RFpWKPbTcBDMR61HPxsrFq0YrQgs= rH4is/jJa0mBzdSzee7ay2rKTYeO9fHPL0Iw4ye7vYly8rsf14PulJbm rH4is/jJa0mBzdSzee7ay2rKTYeO9fHPL0Iw4ye7vYly8rsf14PulJbm 7qaI7Dj7scSE1YA0IolQzlYptTImOY7zpvGCqeq5cAQf4FlYjsTHto2pK71d 7qaI7Dj7scSE1YA0IolQzlYptTImOY7zpvGCqeq5cAQf4FlYjsTHto2pK71d ozO0+3HU3wQIN6gdZbKlVnCMfJSOVz1D8oz3QaILiw69IJYRgNooMbM= ozO0+3HU3wQIN6gdZbKlVnCMfJSOVz1D8oz3QaILiw69IJYRgNooMbM= AQAB AQAB Ejemplo Firma Digital XMLDsig Con información de clave

16 EXn6Bz24rzvkRDZ3whq4lKI9D7w= M929BuJspXJbxdhuny3aQB0F8crAgUGrN02TB7X3Hk+aeIg51S02N+ywEBHC6 VRSXGJZBxzxv/UnXMpTxmMFD7Bqa7wt+ut/Ob8QvSA6AlysnLuJaQ5rNnON8UVjtqjPW5O4kDee ugbx9OqqKe6SY7RTBwVp/2/cm1APK0MEfm8= M929BuJspXJbxdhuny3aQB0F8crAgUGrN02TB7X3Hk+aeIg51S02N+ywEBHC6 VRSXGJZBxzxv/UnXMpTxmMFD7Bqa7wt+ut/Ob8QvSA6AlysnLuJaQ5rNnON8UVjtqjPW5O4kDee ugbx9OqqKe6SY7RTBwVp/2/cm1APK0MEfm8= ... I owe you $1 I owe you $1 Ejemplo Firma Digital XMLDsig Con información de certificado

17 Firma digital cualificada Añadiendo garantías legales Firma electrónica reconocida (según la ley de firma digital) Firma electrónica reconocida (según la ley de firma digital) Firma digital con las siguientes características: Firma digital con las siguientes características: Basada en un certificado cualificado (reconocido) Basada en un certificado cualificado (reconocido) Certificado emitido por un proveedor acreditado Certificado emitido por un proveedor acreditado Utilizando un dispositivo seguro de firma (SSCD) Utilizando un dispositivo seguro de firma (SSCD) Utilizando una aplicación segura de firma (CSA) Utilizando una aplicación segura de firma (CSA)

18 Firmas digitales Escenarios avanzados Firma cualificada con validez a largo plazo Firma cualificada con validez a largo plazo Se necesita incluir un sello de tiempo cualificado Se necesita incluir un sello de tiempo cualificado Útil cuando la validez en el tiempo es importante Útil cuando la validez en el tiempo es importante Firmas digitales de grupos Firmas digitales de grupos Garantizan la integridad del mensaje Garantizan la integridad del mensaje Garantizan que la firma ha sido generada por un miembro del grupo Garantizan que la firma ha sido generada por un miembro del grupo No permiten conocer la identidad del firmante a partir de la firma No permiten conocer la identidad del firmante a partir de la firma Útil en escenarios dónde es importante el anonimato: NGSBC. Útil en escenarios dónde es importante el anonimato: NGSBC.

19 Agenda Introducción a la firma digital Introducción a la firma digital Firma electrónica Firma electrónica Firma digital Firma digital Firma digital cualificada Firma digital cualificada Firma digital en plataforma Windows Firma digital en plataforma Windows Arquitectura de los servicios criptográficos Arquitectura de los servicios criptográficos Inclusión de firmas en aplicaciones propias Inclusión de firmas en aplicaciones propias Aplicaciones preparadas Aplicaciones preparadas

20 Firmas digitales en Windows Objetivos Conocer la arquitectura Conocer la arquitectura Útil para los administradores IT: integración, solución de problemas, etc. Útil para los administradores IT: integración, solución de problemas, etc. Fundamental para los desarrolladores: integrar firmas digitales en desarrollos, prácticas recomendadas Fundamental para los desarrolladores: integrar firmas digitales en desarrollos, prácticas recomendadas Usar firmas digitales: Usar firmas digitales: Mediante aplicaciones preparadas Mediante aplicaciones preparadas Adaptando desarrollos internos Adaptando desarrollos internos

21 Firmas Digitales Necesidad de Certificados Los certificados enlazan la clave pública con la identidad digital Los certificados enlazan la clave pública con la identidad digital Se pueden realizar firmas sin infraestructura PKI Se pueden realizar firmas sin infraestructura PKI Normalmente se utilizará una infraestructura PKI para facilitar la gestión de certificados Normalmente se utilizará una infraestructura PKI para facilitar la gestión de certificados Windows Server 2003 incluye servicios de certificación. Windows Server 2003 incluye servicios de certificación.

22 Windows Certificate Services Características Dos modos de funcionamiento: Dos modos de funcionamiento: CA Enterprise: CA Enterprise: Online Online Integrada con Active Directory Integrada con Active Directory Standalone Standalone Offline Offline Estándares de seguridad Estándares de seguridad ITU: X.509v3 ITU: X.509v3 RSA: PKCS 1,7,9,10,12 RSA: PKCS 1,7,9,10,12 IETF: RFC2459, CMC IETF: RFC2459, CMC

23 Windows Certificate Services Características Interoperabilidad con otras PKI Interoperabilidad con otras PKI Puede formar parte de una jerarquía de CAs Puede formar parte de una jerarquía de CAs Distribución de CRLs mediante URL Distribución de CRLs mediante URL HTTP, LDAP, FTP HTTP, LDAP, FTP Bajo coste de implantación y administración Bajo coste de implantación y administración Registro y emisión de Certificados Registro y emisión de Certificados Distribución de Certificados Distribución de Certificados CA Root CA Emisoras CAIntermedia

24 Es una opción de la instalación de los Servicios de Certificación Es una opción de la instalación de los Servicios de Certificación AD es la base de datos de registro de usuarios AD es la base de datos de registro de usuarios AD para la gestión de usuarios AD para la gestión de usuarios AD para la distribución de certificados raíz AD para la distribución de certificados raíz AD como servicio de publicación de la PKI AD como servicio de publicación de la PKI Certificados de usuario Certificados de usuario CRLs CRLs Servicios de CA Servicios de CA Como conectarse Como conectarse Que tipo de certificados se emiten Que tipo de certificados se emiten Windows Certificate Services Integración con Active Directory

25 Subordinación cualificada (Qualified subordination) Subordinación cualificada (Qualified subordination) Certificación cruzada (cross certification) Certificación cruzada (cross certification) Plantillas de certificados editables Plantillas de certificados editables Almacenamiento y recuperación de claves Almacenamiento y recuperación de claves Emisión y renovación automática de certificados de equipos y de usuarios Emisión y renovación automática de certificados de equipos y de usuarios Delta CRLs Delta CRLs Separación de roles de PKI Separación de roles de PKI Administrador del servicio Administrador del servicio Administrador del certificado Administrador del certificado Auditor Auditor Windows Server 2003 Novedades de Certificate Services

26 Creación de certificados de CA con restricciones Creación de certificados de CA con restricciones Tipos de restricciones Tipos de restricciones Nombres de certificados permitidos / prohibidos Nombres de certificados permitidos / prohibidos Política de emisión Política de emisión Cómo se realiza la emisión Cómo se realiza la emisión Política de aplicación Política de aplicación Para que aplicaciones se pueden usar los certificados Para que aplicaciones se pueden usar los certificados Limita el alcance de la confianza con organizaciones externas Limita el alcance de la confianza con organizaciones externas No es una confianza incondicional No es una confianza incondicional Subordinación Cualificada Windows Server 2003 Certificate Services

27 Personalización de las políticas de emisión Personalización de las políticas de emisión Autorización del certificado Autorización del certificado Autenticación en el dominio Autenticación en el dominio Otros certificados Otros certificados Firma de un agente de emisión Firma de un agente de emisión Creación de la clave privada Creación de la clave privada Tipo de clave, CSP, tamaño Tipo de clave, CSP, tamaño Contenido del certificado Contenido del certificado Validez, políticas de emisión y aplicación, usos de la clave, almacenamiento de clave Validez, políticas de emisión y aplicación, usos de la clave, almacenamiento de clave Plantillas Personalizables Windows Server 2003 Certificate Services

28 Las claves se generan en el cliente Las claves se generan en el cliente Se utiliza el protocolo de emisión CMC Se utiliza el protocolo de emisión CMC RFC Certificate Management Messages over CMS RFC Certificate Management Messages over CMS Claves almacenadas en la CA Claves almacenadas en la CA Las claves se almacenan protegidas por los certificados de los agentes de recuperación (KRA) Las claves se almacenan protegidas por los certificados de los agentes de recuperación (KRA) La política de certificados determinas los KRA La política de certificados determinas los KRA Archivo de Claves Windows Server 2003 Certificate Services

29 Emisión y renovación automática para usuarios Emisión y renovación automática para usuarios Mecanismo común para los equipos Mecanismo común para los equipos Validez del certificado o cambio de política Validez del certificado o cambio de política Se dispara en el inicio de sesión Se dispara en el inicio de sesión En el arranque de equipos En el arranque de equipos RA Automática RA Automática Firmando la petición de renovación con el certificado existente Firmando la petición de renovación con el certificado existente Emisión Automática Windows Server 2003 Certificate Services

30 Agenda Introducción a la firma digital Introducción a la firma digital Firma electrónica Firma electrónica Firma digital Firma digital Firma digital cualificada Firma digital cualificada Firma digital en plataforma Windows Firma digital en plataforma Windows Arquitectura de los servicios criptográficos Arquitectura de los servicios criptográficos Inclusión de firmas en aplicaciones propias Inclusión de firmas en aplicaciones propias Aplicaciones preparadas Aplicaciones preparadas

31 Plataforma Windows Arquitectura de servicios criptográficos Las aplicaciones no se preocupan de los detalles relacionados con la criptografía Las aplicaciones no se preocupan de los detalles relacionados con la criptografía El Sistema Operativo ofrece los servicios criptográficos a las aplicaciones El Sistema Operativo ofrece los servicios criptográficos a las aplicaciones CryptoAPI proporciona una capa de abstracción para el uso de estos servicios CryptoAPI proporciona una capa de abstracción para el uso de estos servicios Interfaz común para todas las aplicaciones Interfaz común para todas las aplicaciones Los CSPs (Cryptographic Service Providers) son los que realmente realizan las funciones criptográficas Los CSPs (Cryptographic Service Providers) son los que realmente realizan las funciones criptográficas Los proveedores de hardware criptográfico (Smart Cards, HSM, acceleradores) deben proporcionar su CSP Los proveedores de hardware criptográfico (Smart Cards, HSM, acceleradores) deben proporcionar su CSP

32 Crypto Services Software SoftwareCSP HardwareCSP Certificate Management Services Msg stds (PKCS) CryptoAPI Applications Authenticode ® Secure Channel Network APIs SSPI Reader Smart Card Services Servicios Criptográficos Arquitectura

33 Proporciona servicios a los desarrolladores para crear aplicaciones que utilicen criptografía. Proporciona servicios a los desarrolladores para crear aplicaciones que utilicen criptografía. Codificación y decodificación ASN.1 Codificación y decodificación ASN.1 Hashing (resúmenes de mensajes) Hashing (resúmenes de mensajes) Clave simétrica Clave simétrica Clave pública Clave pública Gestión de certificados digitales Gestión de certificados digitales Gestión de mensajes PKCS#7 Gestión de mensajes PKCS#7 NO se trata de una librería criptográfica. NO se trata de una librería criptográfica. Servicios Criptográficos CryptoAPI

34 CryptoAPI Crypto Services Microsoft RSA base CSP #1 Certificate Store Functions Applications SmartCard CSP #2 Custom CSP #3 Key Database Simplified Message Functions Low-level Message Functions Certificate Encode/Decode Functions Key Database CertStorage Cryptographic API (CryptoAPI) Arquitectura

35 Los CSPs contienen las funciones criptográficas Los CSPs contienen las funciones criptográficas CryptoAPI proporciona el interfaz común de acceso a los CSPs CryptoAPI proporciona el interfaz común de acceso a los CSPs Los CSPs deben estar firmados digitalmente por Microsoft para ser cargados en Windows Los CSPs deben estar firmados digitalmente por Microsoft para ser cargados en Windows Se incluyen algunos en el sistema operativo: Se incluyen algunos en el sistema operativo: RSA base CSP RSA base CSP DSS Diffie-Hellman DSS Diffie-Hellman Servicios Criptográficos Cryptographic Service Provider (CSP)

36 PKCS Messaging 7,10,12 x509 Chaining Validation Storage Revocation Checking Certificate Selection, Viewing and Management Applications System.Security.Cryptography CAPICOM CryptoAPI 2 CryptoAPI 1 Secure Channel Network APIs SSPI Hashing Encryption and Decryption Random Numbers XENROLL Signature Creation and Viewing Hardware Integration Plataforma Windows Utilización de servicios criptográficos

37 CAPICOM permite a los desarrolladores acceder de manera sencilla a los servicios criptográficos CAPICOM permite a los desarrolladores acceder de manera sencilla a los servicios criptográficos Firmas digitales Firmas digitales Cifrado Cifrado CAPICOM 2.0 está soportado en las siguientes plataformas: CAPICOM 2.0 está soportado en las siguientes plataformas: Windows NT 4.0 SP4 o superior Windows NT 4.0 SP4 o superior Windows 2000 Windows 2000 Windows XP Windows XP Windows Server 2003 Windows Server 2003 Windows 98,Windows ME con IE 5 o superior Windows 98,Windows ME con IE 5 o superior NO se trata de una nueva librería criptográfica. NO se trata de una nueva librería criptográfica. NO se trata de una extensión de CryptoAPI. NO se trata de una extensión de CryptoAPI. CAPICOM Interfaz COM de acceso a CryptoAPI

38 Un único fichero Un único fichero 249 KB de tamaño 249 KB de tamaño Control ActiveX Control ActiveX No incluido, se debe instalar No incluido, se debe instalar Se puede distribuir con aplicaciones propias Se puede distribuir con aplicaciones propias regsvr32 capicom.dll regsvr32 capicom.dll En aplicaciones web se puede descargar, instalar y registrar de forma automática En aplicaciones web se puede descargar, instalar y registrar de forma automática CAPICOM 2.0 Instalación

39 Firma digital Firma digital Con claves software, en smart card, o en un token USB Con claves software, en smart card, o en un token USB Utiliza PKCS#7 Utiliza PKCS#7 Verificación de firmas digitales Verificación de firmas digitales Cifrado de datos Cifrado de datos Con contraseña o clave simétrica Con contraseña o clave simétrica Con clave pública en sobres Con clave pública en sobres Accesos a los almacenes de Certificados Accesos a los almacenes de Certificados Se puede usar como complemento a otras herramientas o interfaces Se puede usar como complemento a otras herramientas o interfaces CAPICOM 2.0 Funcionalidades disponibles

40 Ejemplo (CAPICOM) Firma de un texto Firma de un texto Private Sub Command1_Click() Dim sd As New SignedData Dim sd As New SignedData sd.Content = Text1 sd.Content = Text1 'sign the data 'sign the data Text2 = sd.Sign Text2 = sd.Sign End Sub

41 Demostración Firmando con CAPICOM Aplicación Sencilla

42 Agenda Introducción a la firma digital Introducción a la firma digital Firma electrónica Firma electrónica Firma digital Firma digital Firma digital cualificada Firma digital cualificada Firma digital en plataforma Windows Firma digital en plataforma Windows Arquitectura de los servicios criptográficos Arquitectura de los servicios criptográficos Inclusión de firmas en aplicaciones propias Inclusión de firmas en aplicaciones propias Aplicaciones preparadas Aplicaciones preparadas

43 Firmas en Aplicaciones Propias Aclarar el entorno Aclarar las razones para firmar: Aclarar las razones para firmar: Garantizar la integridad del contenido Garantizar la integridad del contenido Garantizar la identidad del firmante Garantizar la identidad del firmante Número de firmantes necesarios Número de firmantes necesarios Razones legales Razones legales Se debe cumplir alguna normativa concreta Se debe cumplir alguna normativa concreta Aclarar los datos que se van a firmar Aclarar los datos que se van a firmar Ficheros Ficheros Datos estructurados Datos estructurados Aclarar cómo se quiere generar la firma Aclarar cómo se quiere generar la firma Sólo con certificados de un emisor concreto Sólo con certificados de un emisor concreto Con Smart Cards u otros dispositivos Con Smart Cards u otros dispositivos

44 Firmas en Aplicaciones Propias Consideraciones de Diseño Firma Firma Seleccionar el certificado a usar Seleccionar el certificado a usar Realizar la firma Realizar la firma Almacenar la firma Almacenar la firma Añadir más firmas Añadir más firmas Verificación Verificación Validez de la firma Validez de la firma Validez de la identidad firmada Validez de la identidad firmada Verificar la revocación Verificar la revocación

45 Firmas en Aplicaciones Propias Selección del Certificado Cualquier certificado válido Cualquier certificado válido El usuario lo seleccionará El usuario lo seleccionará Certificados concretos Certificados concretos Emitidos por una Autoridad de Certificación concreta Emitidos por una Autoridad de Certificación concreta Correspondientes a un Sujeto concreto Correspondientes a un Sujeto concreto Con algún dato, propósito o extensión concreta Con algún dato, propósito o extensión concreta En base a la clave privada En base a la clave privada Firmar utilizando Smart Card Firmar utilizando Smart Card Firmar utilizando token USB Firmar utilizando token USB

46 Firmas en Aplicaciones Propias Realizar la firma Firmar todo el documento o fichero Firmar todo el documento o fichero Enlazar la firma al documento Enlazar la firma al documento Creando un nuevo fichero Creando un nuevo fichero Fichero adyacente con la firma Fichero adyacente con la firma Verificar la firma antes de obtener el fichero o documento Verificar la firma antes de obtener el fichero o documento Incluir la firma dentro del fichero o estructura de datos Incluir la firma dentro del fichero o estructura de datos El formato debe permitir la inclusión de firmas El formato debe permitir la inclusión de firmas La firma y verificación se hacen sobre unos datos concretos La firma y verificación se hacen sobre unos datos concretos

47 Firma de Archivos Completos Solución más general Mismo proceso para todas las aplicaciones Mismo proceso para todas las aplicaciones Componentes de firma y verificación comunes Componentes de firma y verificación comunes Dos alternativas: Dos alternativas: Documento y firma incluidos Documento y firma incluidos Firma separada Firma separada Se pueden firmar datos no deseados Se pueden firmar datos no deseados Archivo.ext + Firma Archivo.ext.p7s Archivo.ext Archivo.ext.p7s Firma

48 Firma de Archivos Completos Firma incluida Un único fichero que gestionar Un único fichero que gestionar Datos y firma en formato PKCS#7 Datos y firma en formato PKCS#7 Es necesario extraer el archivo original para acceder a los datos Es necesario extraer el archivo original para acceder a los datos Se puede hacer en el proceso de verificación Se puede hacer en el proceso de verificación PKCS#7 Firma Datos Archivo.ext.p7z

49 Firma de Archivos Completos Firma separada Dos ficheros que gestionar Dos ficheros que gestionar Mantenerlos enlazados de alguna manera Mantenerlos enlazados de alguna manera Los dos son necesarios para la verificación Los dos son necesarios para la verificación Las aplicaciones pueden acceder a los datos sin verificar la firma Las aplicaciones pueden acceder a los datos sin verificar la firma PKCS#7 Firma Datos Archivo.p7z Archivo.ext

50 Incluir Firma en el Contenido Solución dependiente de la aplicación Las aplicaciones que conocen la estructura de datos Las aplicaciones que conocen la estructura de datos Puede suponer un coste elevado Puede suponer un coste elevado Se firma/verifica parte del contenido Se firma/verifica parte del contenido Archivo.ext + Firma Datos Archivo.ext Datos Firma

51 Firmas en Aplicaciones Propias Varios Firmantes Todos firmando los mismos datos Todos firmando los mismos datos Un único PKCS#7 Un único PKCS#7 Cada firma se puede verificar independientemente Cada firma se puede verificar independientemente Sin jerarquía Sin jerarquía PKCS#7 Firma Datos

52 Firmas en Aplicaciones Propias Varios Firmantes Firmas anidadas Firmas anidadas Tantos PKCS#7 como firmas Tantos PKCS#7 como firmas Es necesario verificar cada firma para tener acceso al siguiente PKCS#7 Es necesario verificar cada firma para tener acceso al siguiente PKCS#7 Existe un orden de firma y verificación Existe un orden de firma y verificación PKCS#7 Firma PKCS#7 Datos

53 Firmas en Aplicaciones Propias Verificación Verificar la integridad de los datos Verificar la integridad de los datos Verificar la identidad del firmante Verificar la identidad del firmante Verificar la validez de la cadena de certificados Verificar la validez de la cadena de certificados Verificar la revocación Verificar la revocación Comprobar la revocación Comprobar la revocación Repetir para cada firmante Repetir para cada firmante Auditar el proceso de verificación Auditar el proceso de verificación Si se considera necesario Si se considera necesario

54 Firmas en Aplicaciones Propias Uso de CAPICOM Firma Firma Seleccionar el certificado a usar Seleccionar el certificado a usar Realizar la firma Realizar la firma Almacenar la firma Almacenar la firma Añadir más firmas Añadir más firmas Verificación Verificación Validez de la firma Validez de la firma Validez de la identidad firmada Validez de la identidad firmada Verificar la revocación Verificar la revocación

55 Firmas en Aplicaciones Propias Selección de Certificado con CAPICOM La aplicación puede hacer una selección previa La aplicación puede hacer una selección previa Enumerar los certificados existentes y filtrarlos Enumerar los certificados existentes y filtrarlos CAPICOM lo hace: CAPICOM lo hace: Si sólo existe un certificado que cumpla los criterios, lo usa Si sólo existe un certificado que cumpla los criterios, lo usa Si son varios, le muestra un dialogo al usuario Si son varios, le muestra un dialogo al usuario Si no existe usuario (servicios) se puede anular el interfaz Si no existe usuario (servicios) se puede anular el interfaz Settings.EnablePromptForCertificateUI Settings.EnablePromptForCertificateUI

56 Firmas en Aplicaciones Propias Realizar firmas con CAPICOM Permite realizar firmas de las dos formas: Permite realizar firmas de las dos formas: Documento y firma en el mismo PKCS#7 Documento y firma en el mismo PKCS#7 SignedData.Sign(Signer,bDetached=false) SignedData.Sign(Signer,bDetached=false) Firma en un fichero separado Firma en un fichero separado SignedData.Sign(Signer,bDetached=true) SignedData.Sign(Signer,bDetached=true)

57 Firmas en Aplicaciones Propias Varios Firmantes con CAPICOM Todos firmando los mismos datos en un único PKCS#7 Todos firmando los mismos datos en un único PKCS#7 Se realiza de la siguiente forma: Se realiza de la siguiente forma: SignedData.Sign() para la primera firma SignedData.Sign() para la primera firma SignedData.Cosign() para añadir más firmas al mismo PKCS#7 SignedData.Cosign() para añadir más firmas al mismo PKCS#7 PKCS#7 Firma Datos

58 Firmas en Aplicaciones Propias Varios Firmantes con CAPICOM Firmas anidadas Firmas anidadas Se realiza de la siguiente forma: Se realiza de la siguiente forma: SignedData1.Sign() para la primera firma SignedData1.Sign() para la primera firma El resultado pasa a ser el mensaje del siguiente objeto SignedData2 El resultado pasa a ser el mensaje del siguiente objeto SignedData2 SignedData2.Sign() para la siguiente firma SignedData2.Sign() para la siguiente firma PKCS#7 Firma PKCS#7 Datos

59 Firmas en Aplicaciones Propias Verificación con CAPICOM Verificar sólo la integridad de los datos Verificar sólo la integridad de los datos CAPICOM_VERIFY_SIGNATURE_ONLY CAPICOM_VERIFY_SIGNATURE_ONLY Verificar la identidad del firmante Verificar la identidad del firmante SignedData.Verify SignedData.Verify Verifica la validez de la cadena de certificados Verifica la validez de la cadena de certificados Pero no chequea la revocación Pero no chequea la revocación

60 Firmas en Aplicaciones Propias Verificación con CAPICOM Verificar la revocación Verificar la revocación CAPICOM_CHECK_ONLINE_REVOCATION _STATUS CAPICOM_CHECK_ONLINE_REVOCATION _STATUS Utilizará el campo CPD para localizar listas de revocación válidas Utilizará el campo CPD para localizar listas de revocación válidas Utiliza OCSP Utiliza OCSP Si se dispone un proveedor instalado y registrado (Windows no incluye ninguno) Si se dispone un proveedor instalado y registrado (Windows no incluye ninguno)

61 Agenda Introducción a la firma digital Introducción a la firma digital Firma electrónica Firma electrónica Firma digital Firma digital Firma digital cualificada Firma digital cualificada Firma digital en plataforma Windows Firma digital en plataforma Windows Arquitectura de los servicios criptográficos Arquitectura de los servicios criptográficos Inclusión de firmas en aplicaciones propias Inclusión de firmas en aplicaciones propias Aplicaciones preparadas Aplicaciones preparadas

62 Aplicaciones preparadas Ejemplos Protección de código Protección de código Controles ActiveX Controles ActiveX Macros Macros Office System 2003 Office System 2003 Microsoft Word 2003 Microsoft Word 2003 Microsoft InfoPath 2003 Microsoft InfoPath 2003

63 Controles ActiveX Firma de componentes Garantiza al usuario que lo usa: Garantiza al usuario que lo usa: El origen de los componentes El origen de los componentes La integridad de los datos La integridad de los datos Permite a las organizciones establecer políticas de ejecución Permite a las organizciones establecer políticas de ejecución A cada zona una acción con los componentes A cada zona una acción con los componentes

64 Microsoft Word 2003 Firma de.DOC Office incorpora firma digital de documentos desde la versión XP Office incorpora firma digital de documentos desde la versión XP La firma se incluye como parte del documento La firma se incluye como parte del documento El documento no cambia de formato El documento no cambia de formato Se puede utilizar Visual Basic for Applications (VBA) para acceder a las firmas desde programa Se puede utilizar Visual Basic for Applications (VBA) para acceder a las firmas desde programa

65 InfoPath 2003 Firma digital en XML (XMLDsig) Enlaza con el apartado anterior Enlaza con el apartado anterior Incluir la firma dentro del contenido Incluir la firma dentro del contenido Independiente de la aplicación concreta Independiente de la aplicación concreta Soporte de documentos XML Soporte de documentos XML Firma los datos dentro de un formulario Firma los datos dentro de un formulario

66 Demostración Firmando XML con InfoPath 2003 Nota de gastos

67 Resumen

68 Firmas Digitales Conceptos Diferentes Tipos de Firmas Electrónicas Distintas Utilidades para las Necesidades de Negocio Distintas Características e Implicaciones Legales

69 Servicios Criptográficos Plataforma Windows Proporcionados por los CSPs CAPICOM facilita el uso a los desarrolladores CrytoAPI proporciona una Capa de Abstracción

70 Aplicación de Firmas Digitales Escenarios CAPICOM en aplicaciones propias InfoPath 2003 para Firmar Documentos XML Usar aplicaciones preparadas para Firma Digital

71 Preguntas

72 Para obtener más información Sitio de seguridad de Microsoft Sitio de seguridad de Microsoft Sitio de seguridad de TechNet (profesionales de IT) Sitio de seguridad de TechNet (profesionales de IT) ridad/ ridad/ ridad/ ridad/ Sitio de seguridad de MSDN (desarrolladores) Sitio de seguridad de MSDN (desarrolladores)

73 Barcelona 4 Mayo 2004


Descargar ppt "Barcelona 4 Mayo 2004. ¡Adéntrate! ¡Regístrate antes del 14 de mayo y ahórrate 300 ! Amsterdam, Holanda 29 junio – 2 julio El evento definitivo de Microsoft."

Presentaciones similares


Anuncios Google