Subcomisión de Firma Electrónica Avanzada ESTANDARES Y ESTRUCTURA DEL CERTIFICADO DIGITAL Versión 1.0 1.1 Fecha de elaboración 25 de julio de 2006 12 de septiembre de 2007 Fecha de aprobación 23 de agosto de 2006 1° de noviembre de 2007 01/11/2007 Fecha de publicación en Internet 24 de agosto de 2006 5 de noviembre de 2007 Versión 1.1 1 Subcomisión de Firma Electrónica Avanzada ESTANDARES Y ESTRUCTURA DEL CERTIFICADO DIGITAL Estándares Para la estructura del Certificado Digital: • ISO/IEC 9594-8:2001 “Information Technology. Open Systems Interconnection. The Directory: Public-Key And Attribute Certificate Frameworks”, (http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnu mber=34551), o ITU-T RECOMMENDATION X.509 (http://www.itu.int/rec/T-RECX.509-199708-S/e). • RFC 3280 “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile” ( http://www.ietf.org/rfc/rfc3280.txt ) • RFC 4630 “Update to DirectoryString Processing in the Internet X.509 Public Key Infrastructure Certificate and Certificate (http://www.ietf.org/rfc/rfc4630.txt) Revocation List (CRL) Profile” Para el Requerimiento de Certificación: • RFC 2986 “PKCS #10: Certification Request Syntax Specification Version 1.7” (http://www.ietf.org/rfc/rfc2986.txt). Para mensajes de datos firmados: • RFC 3852 “Cryptographic Message Syntax (CMS)” (http://www.ietf.org/rfc/rfc3852.txt) Estructura del Certificado Digital Deberá contener como mínimo los campos que a continuación se describen: I. Versión: Estándar X.509 versión 3. II. Número de Serie: Entero positivo, de 20 octetos de longitud, octetos representando números decimales en caracteres imprimibles. Para su interpretación debe considerarse lo siguiente: • • Los primeros 12 octetos, contados de izquierda a derecha, representarán el identificador que ocupa la AC dentro de la ITFEA. Dicho identificador será gestionado por la Subcomisión. Los restantes 8 octetos representarán el número secuencial del Certificado Digital emitido por la AC. III. Firma: Es la referencia de la tecnología empleada para la creación de la Firma Electrónica Avanzada. Contiene el identificador de Algoritmo Criptográfico usado 01/11/2007 Versión 1.1 2 Subcomisión de Firma Electrónica Avanzada por la AC para firmar el Certificado Digital. Este campo debe contener el mismo identificador de algoritmo como el del campo Algoritmo de Firma de la secuencia del Certificado. El algoritmo utilizado para firmar el Certificado Digital deberá ser de tipo RSA, usando el algoritmo RSASSA-PKCS1-v1_5 con algoritmo de digestión SHA-1 (http://www.ietf.org/rfc/rfc3447.txt), para proveer un nivel adecuado de seguridad tanto para la firma de la AC de la Dependencia o Entidad como la del usuario. Por lo anterior no se permite el uso de los algoritmos md2WithRSAEncryption ni md5WithRSAEncryption. IV. Emisor (Issuer): Este campo identifica la AC que firmó y emitió el Certificado Digital. El campo contiene un nombre distintivo (DN Distinguished Name), definido como del tipo Name del estándar X.509, compuesto de atributos y valores que identifican al emisor. El DN no debe estar vacío. El campo de Emisor debe contener al menos los siguientes atributos: ATRIBUTOS commonName (CN) organizationName (O) organizationalUnitName (OU) EmailAddress (E) StreetAddress PostalCode CountryName (C) State (S) LocalityName (L) X500uniqueIdentifier (2.5.4.45) TIPO* / LONGITUD PrintableString o UTF8String /64 PrintableString o UTF8String /64 PrintableString o UTF8String /64 IA5String / 128 PrintableString o UTF8String / 128 PrintableString o UTF8String / 40 PrintableString / 2 PrintableString o UTF8String / 128 PrintableString o UTF8String / 128 BIT STRING DESCRIPCIÓN Nombre de la AC Nombre de la organización o razón social Nombre de la unidad dentro de la organización Correo electrónico de la organización Calle, número y Colonia de la organización Código postal de la organización País Entidad Federativa Municipio o delegación Registro Federal de Contribuyentes de la organización * De acuerdo al Certificado Digital del emisor. V. Periodo de validez: El campo se representa como una secuencia de dos fechas, la fecha de inicio y término del periodo de validez. Las AC deben utilizar siempre el formato UTCTime si alguna de sus fechas es anterior al año 2050. Para indicar fechas en 2050 o posteriores se debe codificar como GeneralizedTime. • Formato UTCTime: (fechas entre 1-Ene-1959 y 31-Dic-2049 inclusive) YYMMDDHHMMSSZ. Incluye hora, minutos y segundos. La Z es por Zulu, o Tiempo Meridiano de Greenwich. Para expresar los dígitos del año: si los 01/11/2007 Versión 1.1 3 Subcomisión de Firma Electrónica Avanzada • dígitos YY del año son mayor o igual a 50 se debe expresar: 19YY. Si los dos dígitos YY son menor a 50 se debe expresar: 20YY. Formato de Tiempo Generalizado: (Fechas posteriores al 31-Dic-2049) Este formato puede incluir opcionalmente un campo para la representación del tiempo diferencial entre el local y el Tiempo Meridiano de Greenwich. YYYYMMDDHHMMSSZ. Incluye hora, minutos y segundos. La Z es por Zulu, o Tiempo Meridiano de Greenwich. VI. Asunto (Subject): Este campo identifica al Titular del Certificado Digital. El campo contiene un nombre distintivo (DN Distinguished Name), definido como del tipo Name del estándar X.509, compuesto de atributos y valores que identifican al Titular. El DN no debe estar vacío. El campo de Asunto debe contener al menos los siguientes atributos: ATRIBUTOS TIPO / LONGITUD commonName (CN) UTF8String / 64 serialNumber (SN) PrintableString / 64 CountryName (C) X500uniqueIdentifier (2.5.4.45) PrintableString / 2 BIT STRING VII. DESCRIPCIÓN Nombre del Titular del Certificado Digital CURP del Titular del Certificado Digital / CURP Representante Legal País RFC del Titular del Certificado Digital Clave Pública.- Campo usado para portar la clave pública y el identificador de algoritmo (proporcionado por el campo de identificador de Algoritmo). La clave pública deberá ser de tipo RSA con un tamaño de al menos 1024 bits para usuario y 2048 bits para la AC. 01/11/2007 Versión 1.1 4 Subcomisión de Firma Electrónica Avanzada VIII. Extensiones.- Contienen información adicional del Certificado Digital. EXTENSIONES ATRIBUTOS authorityKeyIdentifier subjectKeyIdentifier keyUsage CRÍTICA DESCRIPCIÓN NO Permite identificar la clave pública correspondiente a la clave privada que la AC utilizó para firmar el Certificado Digital NO SI Usar sólo el campo KeyIdentifier, el cual debe contener los 160 bits del SHA-1 del valor subjectPublicKey del Certificado Digital de la AC, conforme al RFC 3280. Asigna un identificador de la clave pública del Titular del Certificado Digital. Debe contener los 160 bits del SHA-1 del valor subjectPublicKey. Usos del Certificado Digital: bit basicConstraints extendedKeyUsage cRLDistributionPoints SI NO NO authorityInfoAccess NO certificatePolicies SI Certificado Digital de AC Certificado Digital Titular digitalSignature S S nonRepudiation S S keyEncipherment N N dataEncipherment S S keyAgreement S S keyCertSign S N cRLSign S N encipherOnly N N decipherOnly N N Identifica si el Titular del Certificado Digital es una AC. Indica uno o más propósitos de uso. Indica cómo puede ser obtenida la Lista de Certificados Revocados (CRL). Indica cómo acceder a la información de la AC y sus servicios, aquí debe indicarse como mínimo la información del URL de consulta de la AC emisora al servicio de OCSP. OID asignado Nota: La Subcomisión establecerá un programa de revisión y actualización permanente a las especificaciones del presente documento, con la finalidad de asegurar y adoptar las mejores prácticas, tendencias y tecnologías de PKI, para prevenir riesgos de vulnerabilidad e integridad de las mismas, respondiendo a los avances tecnológicos. 01/11/2007 Versión 1.1 5