4.3.13. Uso de certificados


<< Prev   Next >>

4.3.13.1. Información general

Cuando se envía información a través de canales de comunicación públicos (Internet), es especialmente importante proteger esta información de intercepciones y falsificaciones. Este capítulo examina el problema de establecer conexiones seguras en un sistema basado en 1C:Enterprise.

Consideremos el esquema general para organizar una conexión segura. Se basa en una infraestructura de clave abierta (PKI), que asocia claves abiertas con la identidad de un usuario a través de una autoridad de certificación.

Para obtener una idea de cómo funciona esta infraestructura, veamos un ejemplo sencillo. Imaginemos que estamos en un mundo donde cualquier persona puede verificar el certificado de otra persona en la agencia que emitió este certificado.

En este mundo, una persona (Transeúnte) se encuentra con otra persona (Policía) que quiere asegurarse de que la persona que tiene delante es realmente un Transeúnte. Para ello, el Policía le pide al Transeúnte su pasaporte. Antes de presentar sus documentos, el Transeúnte quiere asegurarse de que la persona delante de él es realmente un Policía. Le pide al Policía que le muestre su placa, se comunica con el Ministerio de Administración Policial y comprueba por el número que la persona que tiene delante es realmente quien dice ser, es decir, un Policía. Después de un procedimiento de autenticación exitoso, el Transeúnte le entrega su pasaporte al Policía. El pasaporte dice que fue emitido por el Ministerio de Expedición de Documentos y se indica el número del pasaporte. El Policía se pone en contacto con el Ministerio y, utilizando el número del pasaporte, se asegura de que la persona que tiene delante es realmente un Transeúnte.

Sin embargo, si el Transeúnte está fuera de su país, entonces el algoritmo de autenticación descrito anteriormente no funcionará, ya que el Policía de otro país no sabe nada sobre el Ministerio de Expedición de Documentos. Por lo tanto, el Transeúnte será detenido hasta que se encuentre otro método para determinar su identidad.

Ahora imaginemos este diagrama simple en términos de objetos PKI e infraestructura de red. Aplicación de cliente "1C:Enterprise" actúa como un Transeúnte. El servidor web, con el cual la aplicación de cliente desea acceder a la base de información, actúa como Policía. El Ministerio de Expedición de Documentos y el Ministerio de Administración Policial desempeñan el papel de Centros de Certificación. El certificado utilizado al establecer una conexión HTTPS se presenta en forma de pasaporte de Transeúnte y placa de identificación del Policía.

Ahora todo el esquema se ve así: cuando una aplicación de cliente intenta conectarse a un servidor web, la aplicación de cliente verifica el certificado del servidor. La verificación se realiza utilizando el centro de certificación especificado en el certificado del servidor web (si este centro de certificación está presente en la lista de centros de certificación raíz en el ordenador donde está instalada la aplicación de cliente). Si la verificación ha resultado exitosa, la aplicación de cliente presenta su certificado (certificado de cliente) al servidor web para su verificación. El servidor realiza la verificación utilizando su lista de centros de certificación raíz. Si la verificación ha tenido éxito la aplicación de cliente y el servidor web establecen una conexión segura (conexión HTTPS) entre ellos. En este caso, la aplicación de cliente cifra los datos transmitidos utilizando la clave pública del servidor (y descifra los datos recibidos del servidor), y el servidor cifra y descifra los datos utilizando su clave privada. Obviamente, las claves privadas de la aplicación de cliente y del servidor web no coinciden y son desconocidas para las partes.

Arriba se presentó una descripción general de cómo establecer una conexión segura. Estos esquemas se describirán con más detalle en la siguiente sección.

4.3.13.2. Esquemas de configuración de conexión segura

Se puede establecer una conexión segura entre un cliente ligero o un cliente web y un servidor web a través del cual se realiza la conexión a la base de información. Existen varios esquemas para establecer dicha conexión (dependiendo de la disponibilidad de ciertos certificados en ambas partes de la conexión), que se examinarán a continuación. Debe recordarse que cada vez que se establezca una conexión HTTPS, será cifrada.

Servidor

Cliente

Características

Certificado+

Raíz-

Certificado-

Raíz-

Los certificados de servidor y de cliente no han sido verificados.

En versiones anteriores a la 8.3.3, está disponible solo este modo

Certificado+

Raíz-

Certificado-

Raíz+

Solo se ha verificado el certificado del servidor. El certificado de cliente no se verifica

Certificado+

Raíz+

Certificado-

Raíz-

o

Certificado-

Raíz+

No es compatible

Certificado+

Raíz+

Certificado+

Raíz-

El certificado del servidor no está verificado, el certificado de cliente no está verificado

Certificado+

Raíz+

Certificado+

Raíz+

Se verifican los certificados de ambas partes

En la tabla se utilizan los siguientes términos:

  • Certificado - significa la presencia (Certificado+) o ausencia (Certificado-) del certificado correspondiente:
    • Para el servidor - certificado de servidor.
    • Para el cliente - certificado de cliente.
  • De Raíz - significa la presencia (De Raíz+) o ausencia (De Raíz-) de una lista de certificados de centros de certificación (CC o CA), con la ayuda de los cuales se puede verificar el certificado presentado. La lista de centros de certificación debe permitir verificar el certificado proporcionado por la aplicación de cliente o el servidor web.

En el caso de un cliente web, la presencia o ausencia de un certificado o una lista de certificados raíz está determinada por la instalación de certificados en el repositorio de certificados con el que trabaja el navegador web utilizado.

Para un cliente ligero, el certificado (y las listas de certificados raíz) se pueden especificar mediante los parámetros de la línea de comandos de inicio o los parámetros de inicio de la base de información.

4.3.13.3. Fuentes y formatos de certificados

Los siguientes repositorios se pueden utilizar en calidad de fuentes de certificados:

  • Repositorio de certificados del sistema - para los sistemas operativos macOS y Windows.
  • El repositorio de certificados del sistema operativo Linux ubicado en el directorio /etc/ssl/certs. Todos los certificados ubicados en este directorio se consideran de confianza.

    En algunos paquetes de distribución de Linux, también se admiten los siguientes directorios de ubicación de certificados raíz:

    • Debian, Mint, Ubuntu - catálogo /etc/ssl/certs/ca-certificates.crt.
    • CentOS, Fedora, RedHat - catálogo /etc/ssl/certs/ca-bundle.trusted.crt o /etc/pki/tls/certs/ca-bundle.crt.
    • Alt Linux - catálogo /etc/share/ca-certificates/ca-bundle.crt.
  • Certificados de archivo para los sistemas operativos Linux, macOS y Windows.

Formatos válidos de certificados de archivo:

  • PEM (base-64 encoded X.509) claves cifradas y certificados X.509 en formato de texto. Los datos de certificados y de claves son codificados en la codificación base-64. Las claves privadas de los certificados están protegidas con contraseña. Este formato de archivos de certificados se utiliza de forma predeterminada, por ejemplo, por el servidor web Apache. Si la clave privada del certificado del cliente se almacena en un archivo separado, se debe agregar el contenido de este archivo al archivo del certificado del cliente.
  • P12/PFX (PKCS#12) - claves cifradas y certificados del estándar PKCS#12. El archivo puede estar protegido con contraseña. Este es el formato principal para exportar e importar los repositorios de certificados del sistema en Windows. Se utiliza, por ejemplo, por el servidor web de Microsoft Internet Information Services. El archivo de certificado de cliente debe contener su clave privada.

El formato de archivo se selecciona por su extensión:

  • *.p12, *.pfx - formato de archivo P12,
  • *.pem - formato de archivo PEM,
  • de forma prdeterminada se selecciona el formato del archivo PEM.

<< Prev   Next >>

Icon/Social/001 Icon/Social/006 Icon/Social/005 Icon/Social/004 Icon/Social/002