Los certificados digitales son como nuestro “dni” en la red. Garantizan nuestra identidad y nos permiten firmar documentos legalmente a través de internet. Para mantener su seguridad, se basan en un algoritmo criptográfico asimétrico que usa un par de claves, una clave privada y otra pública. La clave pública es conocida por cualquiera, y la privada sólo es conocida por el propietario del certificado.
Su instalación en sistemas Windows es muy sencillo, pero requiere de unos pasos a seguir para mantener la seguridad. Cuando solicitamos un certificado a la Fábrica Nacional de Moneda y timbre (FMNT) por ejemplo, hay que realizar todo el proceso desde el mismo “PC” hasta finalizar su instalación. Una vez instalado, podremos realizar una copia de seguridad para su posible recuperación o instalación en otros equipos.
¿Pero qué ocurre si nuestra instalación de Sistema Operativo Windows se corrompe, queda inaccesible, borramos el usuario o no exportamos la clave privada y no disponemos de esa copia de seguridad válida? Pues no nos quedaría otra opción que volver a iniciar el proceso de solicitud para obtener un nuevo certificado a la entidad certificadora correspondiente, algo que lleva tiempo, y puede ser que también dinero. Si manejas un número elevado de certificados en tu equipo, puede ser un gran problema.
Pero en caso de tal desastre, existe una forma de recuperarlos y “burlar” la seguridad con Windows, que nos salvará de tal desastre.
En Windows, los certificados asocian su clave privada al sistema donde se instalan y solo este equipo es capaz de descifrar dicho certificado para su utilización. Para ello, Windows crea una clave maestra, que no es otra cosa que la combinación del SID de usuario y su contraseña. El SID de usuario está compuesto por el SID del sistema seguido de cuatro dígitos que cambian según el usuario. Llegados a este punto, si fuésemos capaces de replicar esa clave maestra en una nueva instalación de Windows, podríamos hacer funcionales los certificados simplemente con copiarlos de una carpeta a otra. Existe un proceso, es algo tedioso, pero completamente funcional, veamos cómo.
Nuestro punto de partida va a ser Windows XP o 2003 y la aplicación NewSid, solo funcional en esos SO. NewSid de Sysinternals nos permite cambiar el SID del equipo y por lo tanto, llegar a replicar nuestro SID de usuario y clave maestra. Todo ello lo podemos hacer en un entorno virtual, siguiendo los estos pasos:
En el siguiente ejemplo vamos a suponer que nuestro sistema operativo, el cual ha quedado inaccesible, era Windows 7 Professional 32bits.
- Instalamos Windows XP Professional 32bits, para poder actualizar al mismo sistema que teníamos, no podemos pasar de HOME a PRO, ni de 32 a 64bits, muy importante no equivocarnos de versión.
- Copiamos el SID de usuario de nuestra instalación original de W7, para ello accedemos a la copia del perfil de usuario y podremos ver el SID en esta ruta %appdata%/Microsoft/Crypto/RSA
- Ya tenemos el SID del sistema, que no es otro que el nombre de la carpeta dentro de RSA sin los cuatro últimos dígitos, en nuestro ejemplo: S-1-5-21-1595700163-108109811-19679407
- Ejecutamos la aplicación NewSid en el recién instalado Windows XP y establecemos el SID S-1-5-21-1595700163-108109811-1967940722. Dejamos que el proceso finalice y reiniciamos. Con el programa exe podemos verificar que el cambio se ha hecho correctamente.
- Ahora nos toca crear usuarios hasta llegar al que tenemos en los 3 últimos dígitos, en nuestro ejemplo serían 309 usuarios y para ello nos ayudaremos de un script para generarlos. En otras ocasiones, esos números serán 003 por lo que podremos crear los usuarios manualmente.
- Iniciamos sesión con el usuario con SID terminado en 309. Para verificar el SID de usuario ejecutamos “PsGetSid.exe nombredeusuario”
- Llegados a este punto, ya tenemos replicado el SID de equipo y usuario, actualizamos al mismo sistema operativo que teníamos, en nuestro ejemplo Windows 7. Para ello primero pasamos a Windows Vista y finalmente a Windows 7.
- Ya en Windows 7, establecemos la misma contraseña de usuario que teníamos antes y copiamos las siguientes rutas de nuestra copia al nuevo sistema. Esta copia debemos hacerla con “exe /E /Sorigen destino” para que se copien todos los archivos ocultos y protegidos.
- %appdata%/Microsoft/Crypto/RSA
- %appdata%/Microsoft/SystemCertificates/My
- Por último, podemos abrir Internet Explorer y nuestros certificados son accesibles, funcionales y exportables.