Foros de consultas y discusión

Autenticacion con eid

Sebastian Nuñez, modificado hace 7 años.

Autenticacion con eid

Youngling Mensaje: 1 Fecha de incorporación: 9/03/17 Mensajes recientes
Estimados:

Estuve intentando configurar autenticacion de usuarios con cedula electronica en linux. Para ello quise utilizar OpenSC (https://github.com/OpenSC/OpenSC/wiki). Las pruebas no fueron satisfactorias porque aparentemente la smartcard (cedula uruguaya) no seria compatible. En la propia documentacion de OpenSC se detalla la lista de hardware compatible (https://github.com/OpenSC/OpenSC/wiki/Supported-hardware-%28smart-cards-and-USB-tokens%29) y si bien, no figura la cedula uruguaya, si encuentro que la cedula de belgica no es compatible. Como la eid de belgica es un producto de gemalto tambien, asumo que la eid uruguaya tampoco es compatible.


¿Saben que producto/driver se puede usar para autenticar con la cedula uruguaya? ¿De que forma puedo acceder a los certificados en la cedula? ¿Hay alguna herramienta que  puedan recomendar?

Saludos
​​​​​​​Sebastian
thumbnail
Guillermo Dotta, modificado hace 7 años.

RE: Autenticacion con eid

Youngling Mensajes: 12 Fecha de incorporación: 29/09/16 Mensajes recientes
Sebastián, cómo estás?

Excelente que estés probando esto! es una cosa que queríamos explorar desde hace algún tiempo, quizá incluso haciendo un módulo PAM, pero que no hemos podido por tiempos.No sé qué uso estás haciendo de openSC, pero lo hemos usado para interactuar con tarjetas como biblioteca que forma parte de algún proyecto más grande. El tema que lo que te da openSC nativo es la interfaz para intercambiar los comandos de bajo nivel, los APDU, entre la computadora (en tu caso linux) y la tarjeta. De hecho esto lo hace con una biblioteca llamada PCSC que se puede usar sola (eso es lo que hemos usado). El tema es que eso es el lenguaje de comandos, pero luego cada tarjeta tiene sus propias aplicaciones y por lo tanto sus propio set de comandos.
Mirando un poco más de cerca, veo que openSC tiene partes que implementan justamente las particularidades de cada modelo de tarjeta que soporta, y naturalmente como nadie ha hecho el de la cédula uruguaya, no está soportado. Por ejemplo, acá está el archivo que implementa el de la cédula española: https://github.com/OpenSC/OpenSC/blob/master/src/libopensc/card-dnie.cMientras nadie implemente esa funcionalidad (ya me lo anoté para incluirlo dentro de nuestro roadmap, aunque no quita que lo haga alguien más en un menor tiempo), no va a estar soportada nativamente por openSC.
Qué alternativas tenés? en la wiki vas a ver dos:1- Utilización mediante APDU. Los comandos que tenés que enviar a la tarjeta para usar la autenticación están documentados en el centro de recursos (https://centroderecursos.agesic.gub.uy/web/seguridad/wiki/-/wiki/Main/Gu%C3%ADa+de+uso+de+CI+electr%C3%B3nica+a+trav%C3%A9s+de+APDU), en la sección de uso de la cédula por APDU. Sería lo que usarías si fueras a implementarle el soporte para openSC, sólo que quizá lo podés hacer más específico a tus necesidades.2- PKCS#11. La cédula se puede utilizar como un dispositivo PKCS#11 a través de los drivers correspondiente. Posiblemente sea un abordaje más sencillo que el 1. En el centro de recursos también tenés documentado cómo hacerlo (https://centroderecursos.agesic.gub.uy/web/seguridad/wiki/-/wiki/Main/Autenticaci%C3%B3n+y+Firma+Avanzada+a+trav%C3%A9s+de+PKCS%2311).

Probá con esos abordajes y avisanos cómo te va.

Saludos,
​​​​​​​Guillermo