Barcelona 4 Mayo 2004.

Slides:



Advertisements
Presentaciones similares
Seguridad técnica y jurídica con certificados digitales
Advertisements

Certificados X.509 Federico García
Claves para entenderla.
Logon en Windows XP con Tarjetas y Certificados CERES
Jorge de Nova Segundo UD4: Instalación y administración de servicios Web Seguridad del protocolo HTTP.
Rights Management Server Juan Luis García Rambla Código: HOL-WIN13.
Curso de Seguridad Informática
Seguridad en aplicaciones Web con Microsoft ASP.NET
Conceptos sobre firma y certificados digitales
INFRAESTRUCTURA DE CLAVE PÚBLICA
ADMINISTRACIÓN ELECTRÓNICA.
DIRECT ACCESS.
XIII Encuentros de Informática Municipal Alange, 24 y 25 de Mayo de 2012 XIII Encuentros de Informática standalone Plataforma de firma.
Secretaría General Firma electrónica UNED- febrero 2010.
Que es el protocolo “SSL”
Ética y legislación informática
INFOPATH ERIKA SAAVEDRA.
INFOPATH.
Microsoft InfoPath designer
Servicios colaborativos en el entorno UGR
César de la Torre – Programas Técnicos para Partners División de Desarrollo y Plataforma – Microsoft Spain.
28 de junio, Primero – Aclaremos el Nombre FOPE – Forefront Online Protection for Exchange Previamente FOSE Forma parte de Exchange Hosted Services:
Systems Management Server 2003 Santiago Pastor Zaltor Soluciones Informáticas.
Gestión de una Entidad de Certificación
Oportunidad de canal Actualizar software de servidor Actualizar hardware de servidor Proporcionar servicios de migración de aplicaciones Estos productos.
Es un Sistema operativo de red. Es una de las plataformas de servicio más fiable para ofrecer acceso seguro y continuado a la red y los recursos de.
Cif-KM Compulsa digital de documentos.
Firma y Certificado Digital Angel Lanza Carlos Garcia.
Seguridad del protocolo HTTP
INFOPATH 2010 DANIELA CHEDRAUI.
Certificados e Infraestructura de Llave Pública
EL CORREO ELECTRONICO. Introducción : El correo electrónico es el servicio de Internet con más usuarios de todo el mundo. Con este servicio se pueden.
MAIRA LUCIA ORTIZ CAMILO ORTEGON DIAZ CRISTIAN CAMILO VARGAS
Gestión de Contenido Electrónico CONCEPTOS DE INFOPATH De Andrés Concha Bucaram.
Ruben Chonlong Alvarez. Que es InfoPath Microsoft Oficce Infopath 2010 ayuda a las personas a recopilar información de sus clientes y socios con herramientas.
Desarrollo e implementación de un prototipo de Notaría Digital
La factura electrónica
InfoPath Ventajas y Uso.
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Adobe Acrobat XI.
Creación de un dominio Windows  Descripción general Introducción a la creación de un dominio de Windows 2000 Instalación de Active Directory Proceso.
Firma electrónica y presentación telemática
¿Qué es esto? / /
Cuentas de usuarios y grupos en windows 2008 server
Verónica Tapia Alvarado
Tema 2 – Implantación de mecanismos de seguridad activa
Maestría en Seguridad, Universidad Don Bosco, marzo de 2014 Francisco Rodríguez Henríquez Certificados e Infraestructura de Llave Pública Francisco Rodríguez-Henríquez.
SOLUCIONES TECNOLÓGICAS Protección de las comunicaciones en internet
CERTIFICADO DIGITAL Un certificado digital o certificado electrónico es un documento firmado electrónicamente por un prestador de servicios de certificación.
VERONICA TAPIA ALVARADO
FACULTAD: CIENCIAS ECONÓMICAS Y EMPRESARIALES ASIGNATURA: GESTIÓN DE CONTENIDO ELECTRÓNICO TÍTULO: TINFOPATH - VENTAJAS Y USO. AUTORA: MARIA DANIELA TOMALÁ.
Seguridad del protocolo HTTP:
File Transfer Protocol.
Michael Ángelo De Lancer Franco Windows Server 2008 dispone de muchas características que mejoran la seguridad y el cumplimiento. Algunas mejoras.
¿Ecuador está preparado para la firma personal electrónica? FIRMA DIGITAL.
FIRMA DIGITAL Eduardo Chiara Galván.
Técnicas de cifrado. Clave pública y clave privada:
INEI “IMPLANTACION DE UN SISTEMA DE CORREO ELECTRONICO SEGURO, EMPLEANDO CERTIFICADOS Y FIRMAS DIGITALES, PARA LAS INSTITUCIONES DEL ESTADO PERUANO”
Comprobantes Fiscales Digitales Febrero’ Sujetos  Esquema 100% opcional para personas físicas y morales  Requisitos 1.Contar con Firma Electrónica.
Unidad 4. Servicios de acceso remoto
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Semana 2.
• SQL Server Integration Services SSIS
SEGURIDAD EN LA CONEXIÓN CON REDES PÚBLICAS. Técnicas de Cifrado: El cifrado es un método que permite aumentar la seguridad de un mensaje o de un archivo.
FIRMA DIGITAL CUNSARO Criptografia Simetrica.
Camerfirma Camerfirma Prestador de servicios de certificación digital.
Evolución de la FIEL a e-Firma Lic. Luis Berumen S. / DIVERZA
Proyecto CIDE Esquemas modelos de servicio integrados y soluciones propuestas.
Firma Electrónica Avanzada
WINDOWS SERVER 2008 r2 ADMINISTRACION DE RECURSOS: Con el Administrador de recursos del sistema de Windows del sistema operativo Windows Server® 2008 R2,
Presentaciones y Notificaciones Electrónicas Subsecretaría de Tecnología Informática. Poder Judicial de la Pcia. De Buenos Aires.
Andrea Fernanda Salazar Rueda María Paula Peña Fernández Yuleny Osorio López.
Transcripción de la presentación:

Barcelona 4 Mayo 2004

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

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

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

Firmas digitales Utilidad 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 Necesidad de asegurar que el contenido no se ha modificado Necesidad de asegurar la identidad de la persona que firmó Existe una normativa que exige aprobaciones mediante firmas

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

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

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

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

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

Firma digital PKCS#7 SignedData 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

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

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

Firma digital Formato de Firma XMLDsig xmlns:ds="http://www.w3.org/2000/09/xmldsig#" <element name="Signature" type="ds:SignatureType"/> <complexType name="SignatureType"> <sequence> <element ref="ds:SignedInfo"/> <element ref="ds:SignatureValue"/> <element ref="ds:KeyInfo" minOccurs="0"/> <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="Id" type="ID" use="optional"/> </complexType>

Ejemplo Firma Digital XMLDsig Con información de clave <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="#ID1"> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>PQlk2ihM0jP+rK1mT8fTiIHSYfY=</DigestValue> </Reference> </SignedInfo> <SignatureValue>Qz4gW5uUsXapcYk9RFN8omE+jXYY2kRdYwMVVTmXApHiam oTeJsoE7XrpP9EMxPnsdeFavrUMsuj1ZrxAHhGzYv7g37HMq4 p4iRXllwZU5GhKcqBc3CMOMZoCc9JG+J5CBmLoFQGTKhcV o2RFpWKPbTcBDMR61HPxsrFq0YrQgs=</SignatureValue> <KeyInfo> <KeyValue xmlns="http://www.w3.org/2000/09/xmldsig#"> <RSAKeyValue> <Modulus>rH4is/jJa0mBzdSzee7ay2rKTYeO9fHPL0Iw4ye7vYly8rsf14PulJbm 7qaI7Dj7scSE1YA0IolQzlYptTImOY7zpvGCqeq5cAQf4FlYjsTHto2pK71d ozO0+3HU3wQIN6gdZbKlVnCMfJSOVz1D8oz3QaILiw69IJYRgNooMbM=</Modulus> <Exponent>AQAB</Exponent> </RSAKeyValue> </KeyValue> </KeyInfo> <Object Id="ID1"> <MyElement Attribute1="Value1" xmlns="" /> </Object> </Signature>

Ejemplo Firma Digital XMLDsig Con información de certificado <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="#object-1" Type="http://www.w3.org/2000/09/xmldsig#Object"> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>EXn6Bz24rzvkRDZ3whq4lKI9D7w=</DigestValue> </Reference> </SignedInfo> <SignatureValue>M929BuJspXJbxdhuny3aQB0F8crAgUGrN02TB7X3Hk+aeIg51S02N+ywEBHC6VRSXGJZBxzxv/UnXMpTxmMFD7Bqa7wt+ut/Ob8QvSA6AlysnLuJaQ5rNnON8UVjtqjPW5O4kDeeugbx9OqqKe6SY7RTBwVp/2/cm1APK0MEfm8=</SignatureValue> <KeyInfo> <X509Data xmlns="http://www.w3.org/2000/09/xmldsig#"> <X509Certificate>...</X509Certificate> </X509Data> </KeyInfo> <Object Id="object-1"> <text xmlns="">I owe you $1</text> </Object> </Signature>

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

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

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

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

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

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

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

Windows Certificate Services Integración con Active Directory 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 para la gestión de usuarios AD para la distribución de certificados raíz AD como servicio de publicación de la PKI Certificados de usuario CRLs Servicios de CA Como conectarse Que tipo de certificados se emiten

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

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

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

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

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

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

Plataforma Windows Arquitectura de servicios criptográficos Las aplicaciones no se preocupan de los detalles relacionados con la criptografía El Sistema Operativo ofrece los servicios criptográficos a las aplicaciones CryptoAPI proporciona una capa de abstracción para el uso de estos servicios Interfaz común para todas las aplicaciones 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

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

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

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

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

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

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

CAPICOM 2.0 Instalación Un único fichero No incluido, se debe instalar 249 KB de tamaño Control ActiveX No incluido, se debe instalar Se puede distribuir con aplicaciones propias regsvr32 capicom.dll En aplicaciones web se puede descargar, instalar y registrar de forma automática <OBJECT width="1" height="1" classid="clsid:E38FD381-6404-4041-B5E9-B2739258941F" codebase="capicom.dll#version=2,0,0,0" ID="Object1" VIEWASTEXT> </OBJECT>

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

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

Demostración Firmando con CAPICOM Aplicación Sencilla

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Demostración Firmando XML con InfoPath 2003 Nota de gastos

Resumen

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

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

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

Preguntas

Para obtener más información Sitio de seguridad de Microsoft http://www.microsoft.com/security http://www.microsoft.com/spain/seguridad/ Sitio de seguridad de TechNet (profesionales de IT) http://www.microsoft.com/technet/security/ http://www.microsoft.com/spain/technet/seguridad/ Sitio de seguridad de MSDN (desarrolladores) http://msdn.microsoft.com/security

Barcelona 4 Mayo 2004