Sección: Derecho
Sección: Informática
Mensajes Personales
Sumario: Introducción. Explicaciones cuasi-técnicas. Las pautas de accesibilidad: ActiveX. Otros aspectos a considerar. La independencia de la plataforma. ¿Cual sería el sistema operativo más seguro?. Importancia y finalidad de la notificación. Instalación de un Token de seguridad USB en Ubuntu: Descripción del procedimiento. Herramientas habituales para compilar el código fuente. Instalación de librerías o bibliotecas y paquetes complementarios. Instalación del controlador Athena ASEDrive IIIe y otras herramientas. Resumen. Detección del dispositivo. Configuración para su uso con Mozilla Firefox. Enlaces de interés.-

Introducción

A través del presente, pretendo compartir mi experiencia en el intento de obtener un Certificado Digital, a través del procedimiento implementado con motivo de las modificaciones normativas introducidas por la ley 14.142 al artículo 40 del Código Procesal Civil y Comercial de la Provincia de Buenos Aires (C.P.C.C.) —domicilio procesal electrónico—; y realizar un análisis y crítica sobre las pautas de accesibilidad existentes, a la espera de su corrección.-

En la segunda parte del artículo, haré referencia al proceso de instalación de las dependencias y herramientas necesarias para utilizar el token de seguridad (requerido por dicho procedimiento) en una computadora que utilice el Sistema Operativo (S.O.) Ubuntu Mate 15.10 (una distribución de GNU/Linux basada en Ubuntu, mantenido por la comunidad y reconocido por Canonical). La posibilidad del uso de la firma digital a través de este sistema operativo, sólo se encuentra limitada en la actualidad por las pautas de accesibilidad implementadas en el sistema de notificaciones y presentaciones electrónicas desarrollado para la Administración de Justicia de la Provincia de Buenos Aires.-
Se trata de un dispositivo “MS-IDProtect Token USB” (MS-IDPT-3) de ATHENA SMARTCARD SOLUTIONS.-




Explicaciones cuasi-técnicas

1°) El sistema implementado en el Poder Judicial de la Provincia de Buenos Aires, utiliza la “firma digital”; difiere, por ello, del desarrollado para el Poder Judicial Nacional, que utilizaría el método de criptografía simétrica (se cifra un documento con una clave simétrica y se lo protege mediante una contraseña; para descifrarlo, se utiliza esa contraseña). Puede conocer las diferencias entre los distintos métodos de criptografía, a través de los siguientes enlaces: criptografía simétricacriptografía asimétrica y criptografía híbrida.-
2°) En el ámbito técnico, los términos “firma digital” y “firma electrónica” suelen utilizarse indistintamente, pues poseen características semejantes: La utilización de un algoritmo; la presencia de una clave pública y una clave privada, un sistema de cifrado asimétrico. Sin embargo, en la Legislación Argentina (Ley 25.506 y sus normas reglamentarias) su diferencia se vinculada con un  requisito legal, que le da un valor probatorio distinto. En el caso de la “firma digital”, el certificado digital es emitido o reconocido por un Certificador Licenciado (artículo 16 de la Ley 25.506). Cuando se utiliza una “firma digital”, existe una presunción legal —ficción legal a través de la cual se establece que un hecho se entiende probado— del tipo “iuris tantum” (establecida por ley y que admite prueba en contrario) de autoría (se presume que la firma pertenece al titular del certificado digital que permite su verificación —Art. 7 de la Ley 25.506—) y de integridad del documento (se presume que el documento digital no ha sido modificado desde el momento de su firma —Art. 8 de la Ley 25.506—). Mientras que, de utilizarse una “firma electrónica” (por definición legal, aquélla que carece de alguno de los requisitos legales para ser considerada una “firma digital” —Art. 5 de la Ley 25.506—), en caso de desconocerse su autenticidad, quien la invoque, deberá acreditar su validez (Art. 5° última parte, Ley 25.506).-
3°) Proceso de generación de las firmas electrónicas y digitales:
Remitente:
  • Por medio de un algoritmo (“función hash”) de “Hashing” se genera un resumen (“valor hash”), de tamaño fijo, del documento.-
  • Se cifra el “valor hash”, empleando la clave privada del remitente, creándose la firma electrónica o digital (por ello, las firmas digitales generadas por un mismo usuario son diferentes —cambia con cada documento—. La firma electrónica o digital, es  agregada al documento original (documento firmado = documento original + firma digital).-
Destinatario:
  • Se  extrae  la firma electrónica o digital del  documento original. Posteriormente, se descifra la firma electrónica o digital con la clave pública  del emisor, obteniéndose el resumen  (“valor hash”) original. Por otro lado, se aplica la “función hash” al documento original, obteniendo un nuevo resumen (“valor hash”) del mismo. Si el  resumen original (“valor hash” enviado) coincide con el nuevo resumen (“valor hash” obtenido), la  firma electrónica o digital es válida (el documento no ha sido modificado).-
4°) La clave pública es de libre acceso (permite verificar el origen e integridad del documento firmado). La clave privada es complementaria de la clave pública. Un documento cifrado con la clave pública, sólo podrá ser descifrado con la correspondiente clave privada. Mediante la utilización de la clave pública, se asegura que sólo un determinado usuario descifrará el documento. La clave privada debe quedar en poder del remitente y puede ser almacenada en cualquier soporte o medio de almacenamiento de datos: discos magnéticos; discos magneto-ópticos; tarjetas de memoria; tarjetas inteligentes —smartcard— o tokens de seguridad.-
Todos los procesos indicados resultan transparentes para el usuario. Suelen realizarse a través de software específico, como: PGP; GPG; KGpg; Enigmail; OpenPGP Studio. Para un uso personal, se podría utilizar el programa OpenPGP Studio [Imagen], almacenando la clave privada en un volumen virtual cifrado.-
5°) El acrónimo PKI, deriva de “Public Key Infrastructure” (Infraestructura de Clave Pública).-
6°) Como se ha indicado, para el proceso de autenticación del documento firmado electrónicamente, se debe tener acceso a la  clave pública del firmante. Además, es importante determinar la identidad del firmante (a los fines de evitar una posible suplantación de la misma). El concepto de Certificado Digital, se ha planteado como una solución a este problema de manejo de claves e identidad. Es un documento firmado digitalmente por una persona o entidad denominada Autoridad Certificante (AC), por medio de la cual se acredita que una clave pública pertenece a una determinada persona o entidad.-
7°) El Certificado Digital, contiene la información (previamente validada por la AC) de vinculación entre una clave pública y la persona o entidad:
  • Apellido, nombre, cargo, repartición y mail del solicitante.
  • Fecha de validez del certificado.
  • Clave pública del solicitante.
  • Información sobre la Autoridad Certificante.
En este caso, cuando el remitente firma electrónicamente el documento y anexa su certificado digital, cualquier destinatario que conozca la clave pública de la AC podrá autenticar el documento.-
Los Certificados Digitales, al igual que la clave privada, pueden ser almacenados en cualquier soporte o medio de almacenamiento de datos. Recientemente, para facilitar la seguridad, se ha impuesto el uso de los tokens de seguridad. Algunas características del dispositivo que he adquirido: Inyección segura de claves —funcionalidad que permite almacenar las claves en un servidor seguro centralizado en vez de en los clientes (*)—. El PIN está protegido contra ataques de fuerza bruta. Almacenamiento seguro de PIN y claves  —ningún  PIN o clave se guarda en texto plano—. Todos los datos que circulan entre el middleware de Athena y la aplicación de la tarjeta viajan cifrados.-
8°)  Una CRL o “Lista de Certificados Revocados” es un archivo firmado con la clave pública de la AC, que contiene la fecha de  su emisión y el listado con cada certificado revocado, indicándose la fecha de su revocación.-
9°) Por medio de la Resolución 582/16 S.C.B.A. (Art. 2°) se hace saber a los magistrados sobre la necesidad de aplicar la consecuencia que deriva del artículo 41 del C.P.C.C.quedar automáticamente constituido el domicilio legal en los estrados del juzgado o tribunal— frente a la inobservancia de las partes de constituir el domicilio procesal electrónico, conforme a lo dispuesto por el nuevo art. 40 del C.P.C.C. (Texto según Ley N° 14142) y la normativa reglamentaria (AC. SCBA 3540/11).-
10°) Soy usuario de GNU/Linux. Durante muchos años utilicé Xubuntu y en la actualidad Ubuntu Mate. No soy un experto en dicho sistema operativo; tampoco en seguridad informática o en seguridad de la información.-
11°) CCID es un protocolo USB que posibilita conectar una tarjeta inteligente a un ordenador, a través de una interfaz USB estándar, sin la necesidad de utilizar un lector o protocolo de tarjetas inteligentes del fabricante.-
12°) Existe un controlador CCID de software libre, cuyo autor principal es Ludovic Rousseau < ludovic.rousseau@free.fr >.-
13°) PC/SC es una norma propuesta por el grupo de trabajo PC/SC Workgroup, un conglomerado de representantes de los principales fabricantes de tarjetas inteligentes y  otras empresas.-




Las pautas de accesibilidad

En primer lugar, se ha de tener presente que, contrariamente a lo informado por el Consejo Profesional de Ciencias Informáticas de la Provincia de Buenos Aires,  a la fecha de esta publicación, sólo sería posible acceder a la página de solicitud de certificados (y, posteriormente, a los procesos de instalación del certificado [Imagen] y creación de la contraseña para un acceso de sólo lectura, como para el ingreso al propio sistema para la utilización de la firma digital) a través de un único navegador web: Microsoft Internet Explorer (usualmente abreviado IE) versión 7, o superior. Habiéndose excluido Mozilla Firefox versión 3.6, o superior [Imagen] y Google Chrome versión 16, o superior.-
Del mismo modo, los únicos sistemas operativos homologados admitidos serían los de Microsoft Corporation (o, en función del país en que el usuario del software resida, una de las sociedades de su grupo), es decir: Microsoft Windows XP, Microsoft Windows Vista, Microsoft Windows 7, Microsoft Windows 8, Microsoft Windows 8.1, Microsoft Windows 10;  habiéndose excluido a los usuarios de ordenadores de escritorio (PC) y portátiles (notebooks y netbooks) que utilicen los sistemas operativos Linux Ubuntu (y otras distribuciones de GNU/Linux) y Mac OS; de tabletas (tablets) y de un gran número de teléfonos inteligentes (smartphones), que posean los sistemas operativos móviles Android (de Google Inc. ), iOS (de Apple Inc.), Bada/Tizen (de Samsung), Firefox OS (de Mozilla Corporation) y Ubuntu Touch (de Canonical UK Ltd).-




ActiveX

En la página web señalada, se advierte [Imagen] sobre la necesidad de aceptar [Imagen] la instalación de controles ActiveX (infraestructura digital o framework para definir componentes de software reusables, presentado por Microsoft en 1996). Cabe aclarar, al respecto, que la propia Microsoft Corporation ha informado que el soporte para ActiveX, ha sido discontinuado en su nuevo navegador Microsoft Edge; y que la necesidad de dichos controles se ha reducido de manera significativa por las capacidades de HTML5 de la época. También puede implementarse un componente Java en su reemplazo (los Java applets, son capaces de ejecutarse en varias plataformas).-




Otros aspectos a considerar

Como usuario de GNU/Linux, no me es posible instalar, en principio, un control ActiveX o el propio IE. Señalando que, más allá de las dificultades técnicas involucradas (algunas de las cuales podrían resolverse, quizás parcialmente, a través de Wineacrónimo de “Wine Is Not an Emulator", una capa de compatibilidad capaz de ejecutar aplicaciones de Windows en otros sistemas operativos— y la instalación de componentes de Microsoft), se han de tener presente las limitaciones legales. En virtud de las licencias de uso, IE —como cada uno de los componentes de software que serían necesarios para el acceso al portal— es considerado un “suplemento” del sistema operativo y sólo puede ser utilizado cuando se posee una licencia para usar Microsoft Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008, etc. He buscado otras alternativas para utilizar dentro del entorno de Wine y también he probado el sistema ReactOS, sin obtener el resultado esperado.-

En la misma situación, se encontrarían los usuarios que utilicen un sistema operativo Mac OS.-

Por ello, resulta impreciso lo afirmado en la página de las preguntas frecuentes [Imagen], desarrollada en el sitio web del Colegio de Abogados de la Provincia de Buenos Aires.-

Se ha de tener presente que ambos grupos de usuarios podrían correr en el shell gráfico un IE, a través del software “Virtual Box” u otro sistema de  virtualización, siempre que la licencia del sistema operativo elegido no prohíba su uso con estas tecnologías. En caso contrario, sería necesario redimensionar el espacio en el disco (mediante GParted, por ejemplo), crear una nueva partición con un formato NTFS (en  GNU/Linux se utiliza ext3 o ext4) e instalar en la misma el sistema operativo de Microsoft Corporation. Mediante un gestor de arranque (como GRUB), se podrá iniciar la computadora con uno u otro sistema operativo. Adquirir un S.O. de Microsoft Corporation tiene un costo aproximado de U$S 215 (consideración económica).-
Debiéndose tener presente, además, las consideraciones técnicas (requisitos de hardware), dado que, por ejemplo, ya no es posible adquirir un S.O. Windows XP; y las versiones más recientes de los productos de Microsoft Corporation demandan, para su correcta instalación y funcionamiento, un hardware que cumpla con mayores especificaciones técnicas. A su vez, hay que tener presente que las licencias físicas (OEM) se diferencian de las Corporativas (OLP), en que las primeras se adosan a un equipo determinado; esta condición no existe en los términos legales y políticas de Ubuntu.-

Tampoco se deberían dejar de lado las consideraciones de índole personal y contractual, relacionadas con la libertad de elección de cada usuario, acerca del hardware y software a utilizar (o adquirir para este propósito) y las condiciones de contratación (licencias o contratos de uso) involucradas. Personalmente, siempre que pueda contar con una opción alternativa, prefiero no prestar conformidad con alguna de las siguientes:  a) La recopilación automática de los datos relacionados con las actividades del dispositivo —hardware, incluyendo los datos personales del usuario y los de sus contactos; su utilización y divulgación por parte del desarrollador y sus socios; b) La anulación, actualización o eliminación automática (es decir, sin la supervisión del usuario) del S.O. o de alguno de los programas de sistema (aplicaciones que se suministran con el S.O. pero que no forman parte de él); y que ello, además, se pueda realizar sin previo aviso —afectando cualquier política de seguridad que pueda plantearse—; y c) La alteración del funcionamiento (deshabilitar, por ejemplo) del software de terceros o su eliminación (aplicaciones o programas escritos para trabajar internamente con el S.O., creados por desarrolladores que no tengan un vínculo contractual con el titular de la obra objeto de propiedad intelectual; por ejemplo: Programas antivirus y cortafuegos (firewall); navegadores web —como pueden ser Mozilla Firefox, Chromium, Google Chrome, Opera, etc.—; programas para leer y organizar el correo electrónico —como Mozilla Thunderbird—;  frameworks multimedia —como VLC media player—; etc.).-
Dejando en claro, que no es el propósito del presente iniciar un debate sobre las consideraciones éticas y prácticas, relacionadas con el desarrollo y el uso del softwarepara profundizar en estos temas, el lector puede dirigirse a los sitios web de la Free Software Foundation y la Open Source Initiative—.-

Menos aún se debe omitir una cuestión a la que se le debe dar mucha importancia: La transparencia.-
Considero que debería existir la posibilidad de fiscalizar el proceso de tratamiento de los datos, garantizándose la seguridad del sistema de notificaciones y presentaciones electrónicas; y, a través de ello, la  privacidad y la protección de datos de los usuarios y terceros (partes del proceso). Al respecto, se han de tener presente las posibles vulnerabilidades relacionadas con la exposición de la información privada guardada en las bases de datos.-
Sin pretender desconocer la existencia de las herramientas de análisis de código, considero que el código fuente debería estar públicamente disponible para su inspección por parte de la ciudadanía (ello también posibilitaría una discusión abierta sobre las posibles mejoras en los programas). No se debe exigir, al respecto, la aceptación de dogmas (creencias consideradas inexpugnables, ante los argumentos y la experiencia), tal como ocurre en otros ámbitos.-




La independencia de la plataforma

Mediante el procedimiento empleado en el Poder Judicial de la Provincia de Buenos Aires, se ha limitado la gran ventaja de las aplicaciones basadas en la Web: La independencia de la plataforma. El Consorcio WWW o World Wide Web Consortium (W3C), ha generado recomendaciones y estándares al respecto. Con relación a los navegadores y a las herramientas de creación, ha señalado que debemos ser capaces de acceder a la web desde cualquier tipo de  hardware que pueda conectarse a la Internet —fijos o móviles, pequeños o grandes— ( http://www.w3.org/standards/agents/ ). Y, si bien el procedimiento indicado correspondería al acceso a una extranetrazón por la cual se han de aceptar restricciones vinculadas, principalmente, a la seguridad informática—, la limitación relacionada con la posibilidad de utilizar la firma digital sólo a través de un único navegador web no parece razonable; en particular, si se lo compara con otros navegadores (como Mozilla Firefox) que son multiplataforma y pueden ser actualizados periódicamente (en forma automática o manual), a través, de un software de gestión [Imagen]. Ello tiene relación con el concepto de la “portabilidad”.-

Del mismo modo, se puede cuestionar la admisión de Microsoft Windows XP y no de Ubuntu. Microsoft Windows XP fue lanzado al mercado el 25 de octubre de 2001 y su última versión estable —Service Pack 3 (SP3)— fue lanzada para el público en general, el 6 de mayo de 2008. Dejó de recibir actualizaciones y parches de seguridad el 8 de abril de 2014.-
Con relación a Ubuntu se ha de señalar que se publica una nueva versión cada seis meses, la cual recibe soporte durante nueve meses [Imagen] (actualizaciones de seguridad, parches para bugs críticos y actualizaciones menores de programas). Las versiones LTS (Long Term Support), se liberan cada dos años y reciben soporte durante cinco años en los sistemas de  escritorio y de servidor.-

Por ello demando que dicha tecnología sea compatible con los sistemas operativos existentes —específicamente, que no se requiera un componente de software que sólo opere, legal o técnicamente, con un único navegador y S.O.—. Ello tiene relación con un viejo concepto: La “conectividad”. Me refiero a la compatibilidad de conexión a conexión; es decir, que no sea necesario adaptar mis recursos tecnológicos al diseño de otro dispositivo (en el caso al desarrollo de un software) de la red. Cabe preguntarse, ¿cómo considerarían tal situación los usuarios de un S.O. de Microsoft Corporation si, para acceder a una extranet, tuvieran que adquirir “otro” S.O. (o dispositivo que lo tuviera instalado), sólo porque se requiere la ejecución de un componente de software propio de ese “otro” S.O.?  (teniendo presente, además, que su propio creador ha considerado abandonar su desarrollo e implementación).-

A su vez, ¿resulta imprescindible utilizar una única técnica de autenticación para las acciones que involucren un distinto grado de seguridad como lo son el generar una contraseña que permita el acceso de sólo lectura al sistema y el envío de un escrito judicial firmado digitalmente?; ¿no se podrían implementar otras técnicas alternativas (complementarias a la desarrollada) —como la implementación del correo electrónico firmado y/o cifrado digitalmente (al igual que cualquier archivo adjunto al mismo)— para el envío de los escritos judiciales?.-




¿Cual sería el sistema operativo más seguro?

Sobre este tema, existe abundante publicidad, cuyo contenido consiste, mayormente, en la información brindada por el propio CEO (Chief Executive Officer o director ejecutivo) de una empresa. También he visto la distribución de un gráfico, en el que se hace una comparativa entre unos pocos sistemas operativos. En él, se hace una mención genérica al S.O. “Linux”, es decir, sin especificarse acerca de las distribuciones y las versiones de los núcleos que habrían sido objeto de análisis, ni sobre todos los parámetros que debieron haber sido tomados en consideración (información disponible a través del buscador de Google). Por ello, dado lo complejo que resulta consultar información técnica imparcial al respecto, se ha de tener presente que la seguridad, es un proceso que depende, fundamentalmente, de: a) Los usuarios y el personal de operaciones; b) Los administradores de los sistemas; c) Los procedimientos y las políticas que se apliquen (por ejemplo, asegurar que el personal de operaciones no pueda modificar los programas ni los archivos que no correspondan; organizar a los mismos por jerarquía informática, con claves distintas y permisos establecidos; etc.); y d) La tecnología utilizada. He leído que suelen fallar los dos primeros factores (a y b), en mayor proporción que los últimos.-

A los fines informativos, el término “educación”, en este aspecto, se refiere a:  1°) Informarle a los usuarios, acerca de lo que el sistema requiere y proporciona, a través de un centro de información; y 2°) La “capacitación”, en forma continua, del personal de operaciones (los individuos involucrados en la preparación de la entrada, el procesamiento de datos, la operación y el mantenimiento de  los componentes lógicos y físicos del sistema), a través de seminarios, instrucción en grupo, procedimientos escritos que describan las actividades, la capacitación tutorial y el ambiente de trabajo simulado.-

Con relación a la elección del token de seguridad (ya he indicado algunas de sus características) frente a otras técnicas de almacenamiento, gestión de claves y autenticación, se ha de tener presente que ello es el resultado de las auditorías y las evaluaciones que realizaron la Suprema Corte de Justicia y el Colegio Público de Abogados (quienes, además, debieron prever las posibles restricciones técnicas, arquitectónicas u operacionales que su utilización pudiera imponer en la práctica). Desconozco si el Colegio Público de Abogados ha propuesto descontar su valor (contra la presentación de la factura de compra), del costo de la matrícula profesional. Además de las ventajas que conlleva dicho dispositivo, presenta algunos inconvenientes asociados a su posible pérdida, hurto o robo; y a cualquier falla en su memoria EEPROM..-




Importancia y finalidad de la notificación

La posibilidad de acceso al sistema, desde distintos dispositivos, sistemas operativos y técnicas de autenticación  —ya sea para tomar conocimiento de la recepción de una notificación o para interponer, por el mismo medio, una presentación en tiempo propio, no es un tema de menor importancia; pues, tales actos se tienen por realizados, el día en que el documento electrónico ingresa al sistema (Art. 6, Acuerdo 3399/08, Anexo I y art. 6°, Resolución 1827/12, Anexo I). Es decir que, a los fines procesales, el acto se tiene por realizado con prescindencia de la posibilidad de ingreso al sistema por parte del usuario (toma de conocimiento real). Al respecto, se ha de tener presente que la finalidad de toda notificación, es garantizar el ejercicio del derecho de defensa y el debido proceso (art. 18 Constitución Nacional).-




Instalación de un token de seguridad USB en Ubuntu

Para realizar la instalación de las dependencias y herramientas del dispositivo “MS-IDProtect Token USB” (MS-IDPT-3), he visitado el sitio web del fabricante, descargado y descomprimido los archivos del controlador (ASEDrive IIIe USB). Al intentar descargar una librería necesaria (“PCSC Lite”), pude comprobar que el enlace al que dirigía el archivo README [Imagen], devolvía un código “403 Forbidden” (Prohibido). Obtenida esa librería por otro medio (precisamente, a través de SourceForge), al intentar compilar el controlador del dispositivo, se producía un error (“usb.h: No existe el fichero o directorio”) idéntico al descripto en un foro ruso de la comunidad Alt Linux (traducción). Mientras aquél usuario lo resolvió ubicando el paquete de software en el repositorio de su distribución; yo lo he hecho a través del buscador de paquetes de Ubuntu.-

Se aceptan sugerencias, opiniones, comentarios y correcciones técnicas de los lectores.-

Advertencia: En ningún caso debe entenderse que, a través de este artículo, se pretenda proveer un asesoramiento y/o recomendación técnica, o de cualquier otra índole, de carácter general o particular. Si el “usuario o licenciatario” del Proyecto WWW, necesita un  asesoramiento, deberá acudir a un profesional, técnico, o persona competente en la materia.-

Nota: Existe una gran comunidad de usuarios de GNU/Linux (http://www.ubuntu-es.org/; http://www.gulbac.org/; http://drupal.cafelug.org.ar/; http://www.lanux.org.ar/; http://www.gugler.com.ar/; http://lugli.org.ar/index.php/P%C3%A1gina_principal;  etc.), dispuestos a brindar sus experiencias y conocimiento.-

Descripción del procedimiento

Se realiza, mayormente, la instalación de las dependencias y herramientas necesarias, a través del sistema de gestión de paquetes apt-get. Sólo en algunas ocasiones, se detalla el proceso de instalación estándar —./configure make sudo make install—. También se puede utilizar el programa Synaptic, agregando los repositorios correspondientes (se los puede conocer, a través del buscador de paquetes de Ubuntu) al  archivo “/etc/apt/sources.list” (para ello, se debe utilizar el comando sudo, conjuntamente con el editor de texto preferido  —Pluma, Gedit, Mousepad, Leafpad, Kate o Nano—). “Pluma” es una bifurcación o “fork” de “Gedit”. Los usuarios de Xubuntu pueden utilizar “Leafpad” o “Mousepad” en su reemplazo; y los de Kubuntu, “Kate”. También se puede utilizar el editor de texto para el terminal “Nano”.-

Herramientas habituales para compilar un código fuente

Se instalan (o verifican) las herramientas necesarias para los procesos de compilación. Se ejecuta en un emulador de terminal o emulador de consola, las siguientes órdenes:
sudo apt-get install build-essential autoconf subversion openssl libssl-dev libtool libltdl-dev pkg-config

sudo: Permite a los usuarios ejecutar acciones con los privilegios de seguridad del root. Para mayor información ejecutar en la terminal: man sudo (este comentario es válido para todos los comandos que se mencionen en el presente).-
apt-get: Sistema de gestión de paquetes creado por el proyecto Debian.-
build-essential: Paquete que contiene una lista informativa de los paquetes considerados esenciales para la creación de paquetes Debian.-
autoconf: Estándar para los paquetes de código fuente de FSF (Fundación para el software libre).-
subversion: Un sistema de control de versiones centralizado.-
openssl” y libssl-dev: El primer paquete es parte de la implementación del proyecto OpenSSL. Es útil para las operaciones criptográficas tales como la creación de certificados; calcular resúmenes de mensajes; cifrar y descifrar con sistemas de cifrado. El segundo, contiene bibliotecas de desarrollo, archivos de cabecera, y páginas de manual.-
libtool” y libltdl-dev: Un script de soporte para bibliotecas genéricas y un contenedor de dlopen para libtool independiente del sistema..-
pkg-config: Un sistema para gestionar las opciones de compilación y enlazado de las bibliotecas, funciona con automake y autoconf..-




Instalación de librerías o bibliotecas y paquetes complementarios

Para instalar “libusb” se puede optar por:

A) Instalar la última versión existente en los repositorios:

sudo apt-get install libusb-1.0-0


B) Buscar en SourceForge (recurso de la comunidad de código abierto), la última versión de libusb (biblioteca multiplataforma mencionada en el archivo README indicado,— que proporciona aplicaciones de fácil acceso a los dispositivos USB).-

Descargar libusb-1.0.20.tar.bz2  [Imagen].-

Dirigirnos al directorio elegido para la descarga (en el ejemplo: Descargas) y ejecutar las siguientes órdenes:
cd Descargas
sudo chmod 755 libusb-*
tar -vxf libusb-1.0.20.tar.bz2

cd: Comando. Permite cambiar el directorio de trabajo. En este caso, nos dirigimos al nuevo subdirectorio creado.-
chmod: Comando. Permite cambiar los permisos de acceso de un archivo o directorio.-
tar: Comando. Es usado para almacenar archivos y directorios en un solo archivo, no para comprimirlos.-
bz2: Comando. “bzip2” comprime y descomprime ficheros usando algoritmos de compresión y codificación.-
vxf: Parámetros.
v: (verbose) Permite obtener una descripción de los archivos desempaquetados (opcional).-
x: (extraer) Extrae los archivos.-
f: (file/archivo) Para indicar el archivo tar que contiene los archivos.-
libusb-1.0.20.tar.bz2: El nombre del archivo tar, de donde se extraerán los archivos.-

Cambiar al subdirectorio descomprimido “libusb-1.0.20”:
cd libusb-1*
Y ejecutar las órdenes:
sudo ./configure
sudo make
sudo make install

./configure: La primer etapa del proceso para la construcción de un paquete. Se asegura de que todas las dependencias para el resto de la construcción e instalación de proceso estén disponibles.-
make: Ejecuta una serie de tareas definidas en un Makefile para construir el programa a partir de su código fuente.-
sudo make install: Copiará el programa incorporado, sus bibliotecas y documentación, a las ubicaciones correctas.
Para mayor obtener mayor información sobre el proceso de compilación, puede recurrir a la siguiente página web.-

Una vez instalada la librería, se puede eliminar ese subdirectorio:
cd ..
sudo rm -Rf libusb-1.0.20

Se sigue el procedimiento, instalando, a través del emulador de terminal, otras librerías y herramientas para utilizar con el lector de la tarjeta. Para ello, se deben ejecutar las siguientes órdenes:
sudo apt-get install libusb-1.0-0-dev libpcsclite-dev libpcsclite1 pcscd pcsc-tools pinentry-gtk2 libccid libreadline6 libreadline-dev opensc coolkey

libusb-1.0-0-dev y pcsc-tools: El primero es una biblioteca para la programación de aplicaciones que usen USB. El segundo, contiene herramientas útiles para PC/SC, como pcsc_scan que analiza los lectores de tarjetas inteligentes disponibles.-
libpcsclite-dev: Paquete que contiene los archivos necesarios para compilar y enlazar una aplicación que se comunica a cualquier lector a disposición del demonio de PC/SC.-
pcscd y “libpcsclite1: Contienen el demonio servidor “pcscd” ( /usr/sbin/pcscd ) y una biblioteca de cliente (libpcsclite) que se comunican a través de IPC (Comunicación entre procesos).-
pinentry-gtk2: Este paquete contiene un programa que permite la entrada segura del PIN y frases codificadas. La información no se intercambia en el disco ni almacenada temporalmente.-
libccid:  Biblioteca necesaria para comunicarse con los lectores de tarjetas inteligentes, a través de el protocolo CCID.-
libreadline6” y “libreadline-dev: Biblioteca readline de GNU, que ayuda en la consistencia de interfaces de usuario.-
opensc: Utilidades para tarjetas inteligentes con soporte para PKCS # 15.-
coolkey: Módulo criptográfico para las tarjetas inteligentes. Utilizado en una infraestructura de clave pública (PKI).-


Para instalar “pcsclite” se puede optar por:

A) Instalar la última versión existente en los repositorios:

sudo apt-get install libusb-1.0-0

B) Bajarlo, compilarlo e instalarlo. Para ello, se ejecutan las siguientes órdenes:
wget https://alioth.debian.org/frs/download.php/latestzip/112/ccid-latest.zip
mkdir ccid-latest
mv ccid-latest.zip ccid-latest
cd ccid-latest
unzip ccid-latest.zip
sudo chmod 755 *
tar -vxf ccid-1.4.23.tar.bz2

wget: Comando. Permite la descarga de contenidos desde servidores web.-
mkdir: Comando. Permite crear un nuevo directorio o subdirectorio.-
mv: Comando. Permite mover o renombrar archivos o directorios.-

Luego, se compila:
cd ccid-*
./configure
make
sudo make install

Y, por último se copian las reglas de udev:
sudo cp src/92_pcscd_ccid.rules /etc/udev/rules.d/

cp: Comando. Permite copiar archivos y directorios.-
Udev es el gestor de dispositivos que usa el kernel de Linux. Las reglas de udev, se encuentran en el directorio /etc/udev/rules.d/. Las reglas proporcionadas por la instalación son copiadas a ese directorio.-

Una vez compilado e instalado pcsclite, se puede eliminar ese subdirectorio:
cd ..
cd ..
cd ..
sudo rm -Rf ccid-*
rm: Comando. Permite eliminar archivos y directorios.
-Rf: Parámetros.
-R: (recursivo) La orden se ejecutará también en subdirectorios.-
f: (forzar) Evita que el comando pida confirmación para borrar los archivos o directorios.-




Instalación del controlador PC/SC para el lector de tarjetas inteligentes USB Athena ASEDrive IIIe y otras herramientas

1°) El dispositivo no debe estar conectado a la entrada USB, antes de comenzar la instalación del controlador. Se puede localizar el controlador “libasedrive-usb” en el sitio de búsqueda de paquetes de Ubuntu [Imagen] .-

2°) Se elige el correspondiente a la versión del S.O. instalada (“wily”) y a la arquitectura del microprocesador (“i386”) [Imagen].-

3°) Se elige un servidor de la lista y descargamos el paquete [Imagen].-

4°) Y se ejecuta en el emulador de terminal (directorio de la descarga del archivo):
sudo dpkg -i libasedrive-usb_3.7-5_i386.deb

dpkg: Programa utilizado para instalar, quitar y proporcionar información sobre los paquetes de extensión .deb.-
-i: (install) Parámetro.
libasedrive-usb_3.7-5_i386.deb: Nombre del archivo descargado.

Si faltaran dependencias, se debería ejecutar:
sudo apt-get install -f

install -f: Parámetros.-
install: Instala o actualiza los paquetes.-
-f: Intenta corregir un sistema con dependencias rotas. Cuando se utiliza con install/remove, le permite a APT deducir una solución probable.

y, nuevamente, la orden:
sudo dpkg -i libasedrive-usb_3.7-5_i386.deb

Para agregar las herramientas “/usr/bin/IDProtectPINTool”, “/usr/bin/IDProtect_Format” y “/usr/bin/IDProtect_Manager[Imagen] y el módulo  criptográfico PKCS, se debe instalar el paquete “idprotectclient_637.01-0_i386.deb” o “idprotectclientlib_637.01-0_amd64.deb”, según la arquitectura de los microprocesadores (i686 / IA32 —Intel Architecture 32 bits— o IA64 / AMD64 / x86-64), previa eliminación de las librerías “openct”. El paquete lo obtuve a través del distribuidor regional del dispositivo.-

Desinstalar la librería “openct”, conjuntamente con sus archivos de configuración:
dpkg --purge openct

Detectar la arquitectura del microprocesador:
uname -m

Instalar el paquete “idprotectclient_637.01-0_i386.deb” (arquitectura i686):
sudo dpkg -i idprotectclient_637.01-0_i386.deb




Resumen

Podemos repetir abreviadamente lo esencial de la instalación, de la siguiente manera:

Instalación del controlador PC/SC y otras herramientas necesarias:
sudo apt-get install build-essential autoconf subversion openssl libssl-dev libtool libltdl-dev pkg-config libusb-1.0-0 libusb-1.0-0-dev libpcsclite-dev libpcsclite1 pcscd pcsc-tools pinentry-gtk2 libccid libreadline6 libreadline-dev opensc coolkey libasedrive-usb

Desinstalar la librería “openct”, conjuntamente con sus archivos de configuración:
dpkg --purge openct

Detectar la arquitectura del microprocesador:
uname -m

Instalar el paquete “idprotectclient_637.01-0_i386.deb” (para el supuesto que la arquitectura sea i686):
sudo dpkg -i idprotectclient_637.01-0_i386.deb




Detección del dispositivo

Conectar el lector a la entrada USB. Se pueden listar los dispositivos con el comando:
sudo lsusb

lsusb: Comando para mostrar información acerca de los puertos USB en el sistema y los dispositivos conectados a ellos  [Imagen].-


Reiniciar el demonio pcscd
:
sudo service pcscd restart

Reconocimiento de los lectores PS/SC conectados:
pcsc_scan

pcsc_scan: Una de las herramientas provistas en el paquete “pcsc-tools”. Analiza periódicamente cada lector PC/SC conectado [Imagen].-

Localizar la tarjeta en smartcard_list.txt:
pluma /usr/share/pcsc/smartcard_list.txt

Pulso la combinación de teclas CTRL+Z para detener el proceso y cierro la terminal.-




Configuración para su uso con Mozilla Firefox

Se descarga el certificado “CertificadoRaizCA.cer” y la lista “Lista de Certificados Revocados” desde:

https://firmadigital.scba.gov.ar/DescargarCertificadosCA_CRL.aspx

Una vez descargados, se deben abrir en Mozilla Firefox, las siguientes pestañas:

Firefox -> Preferencias -> Avanzadas -> Ver Certificados -> Autoridades -> Importar
Se marcan las tres casillas de confianza. Siempre resulta conveniente ver el contenido del Certificado.-

Seguridad:

En la barra de direcciones podemos ingresar “about:config”, aceptar la advertencia y verificar el ítem “browser.urlbar.trimURLs”. Cambiando su valor a “false”, se mostrará en la barra de direcciones del navegador: “http://” (Hypertext Transfer Protocol ) —sitio a través del cual el tráfico se realiza en texto plano— o “https://” (Hypertext Transfer Protocol Secure); —sitio a través del cual se realiza el cifrado del tráfico—.-

“Mozilla-nss-tools” y herramientas relacionadas:

sudo apt-get install libnss3 libnss3-1d libnss3-dbg libnss3-dev libnss3-nssdb libnss3-tools nss-passwords nsscache nss-updatedb

Módulo criptográfico PKCS:

Según la documentación brindada por el distribuidor argentino, la librería es “libASEP11.so”. Se encuentra alojada en “/usr/lib/x86-athena/libASEP11.so”.-

Firefox -> Preferencias -> Avanzadas -> Dispositivos de Seguridad -> Athena PKCS#11 Module -> IDProtect#...

Conforme a lo indicado, el token de seguridad es funcional [Imagen] en Ubuntu Mate 15.10. Pero aún queda esperar que se produzcan las modificaciones necesarias en el procedimiento de accesibilidad web, a los fines de poder acceder, desde este sistema operativo, al formulario de la página de solicitud de certificados; a los procedimientos de instalación del certificado y creación de la contraseña para el acceso de sólo lectura y al propio sistema, para la utilización de la firma digital.-




Enlaces de interés





Espero que el presente,
le sea de utilidad e interés,
Atentamente,

Jorge Verón Schenone
E-Mail: veron.schenone@gmail.com


Proyecto WWW El autor del Proyecto WWW
El sistema de notificación electrónica del Poder Judicial de la Provincia de Buenos Aires.
Algunos aspectos a considerar.
Copyright © 2016 by Jorge Verón Schenone
Se transmite el uso y goce de ésta obra, en forma temporal y parcial,
a través de un Contrato de licencia o autorización de uso

Fecha de publicación
19/05/2016
Última actualización
16/09/2016
Se actualiza el artículo y se realizan correcciones menores en el texto.
Se resume lo esencial de la instalación.


Safe Creative #1002080123371Obras registradas en safecreative.org, bajo los números: 1609169207801 (derivada de las siguientes: 1605287927201, 1605267854756, 1605187794859);  1605187741594 (derivada de la siguiente: 1204281543372); 1202201111670 y 1502063197844.-
Artículos relacionados
1 comentarios :


Anónimo dijo...

La verdad es que te felicito por el desarrollo del tema.- Siento cierto olor a tufillo entre la SCBA, El Colegio de Abogados de la Provincia de Buenos Aires y las empresas proveedoras del Harwdware y logicamente la empresa proveedora exclusiva y excluyente del Sistema Operativo.- Por lo demás también, resulta sospechoso la efectividad del sistema, por ejemplo, cuando uno itenta entrar a la pestaña de Juicios Universales, suele dar distinos errores, 400, 403, ect. Consultada la mesa de ayuda, me informaron que probara entrar con Crhome.- Ello funcionó. O sea que nos encontramos ante un sistema incompleto, vulnerable, de costos altisimos y lo que es fundamental, cuando empecé a ejercer la profesion, hace mas de 30 años, me informaron que solo debia cumplir DOS requsitos: Ser abogado y tener una matricula habilitante.- Los escritos lo podria realizar en una maquina de escribir de cualquier marca, o con un boligrafo de cualquier tipo.- Felicitaciones nuevamente.-

Puede dejar su opinión sobre el artículo publicado. También puede utilizar este medio para ampliarlo o mejorarlo. Los comentarios serán moderados y publicados a la brevedad. ¡ Gracias !.

¿Le agradó? ¿Le agradó?
Últimos artículos