Code-Signing: para firma de archivos ejecutables
(Para archivos .JAR (Java), .EXE, .DLL, .OCX (Microsoft Authenticode), otros...)
Es un certificado que le permite firmar digitalmente un programa ejecutable ó script para confirmar el nombre del autori del software y garantizar que el código no ha sido alterado o corrupto desde que fue firmado.
Los certificados SSL de servidores web NO pueden ser usados para firmar este tipo de archivos dado que se requiere un código especial para tal efecto, es por esto que los certificados SSL tradicionales (DV, OV, EV ó WildCard ó SGC) se utilizan para los sitios web y no para archivos ó applets web.
El certificado code-signing le permiten firmar código usando un sistema de llaves privadas y públicas similar al cómo se aseguran los sitios web con un certificado SSL. Cuando se solicita un certificado code-signing, se genera un par de llaves pública/privada. La Autoridad Certificadora (CA) emite un certificado code-signing que contiene una llave pública. Un certificado para la firma de código necesita ser firmado por una autoridad certificadora de confianza (como Symantec ó GlobalSign) con el fin de que el sistema operativo de su equipo "conozca" que su identidad ha sido validada por un tercero. Adicionalmente recuerde: si usted usa un certificado de este tipo para distribuir software malicioso también es posible, pero legalmente usted llegaría a ser demandado por pues usted mismo está entregando su identidad.
Usted puede firmar varios tipos de código/programas, los más comunes son los archivos de tipo aplicación para
- MS-Windows como: .exe, .cab, .dll, .ocx y .xpi (usando un certificado Authenticode);
- aplicaciones de escritorio para Apple Macintosh ó dispositivos con iOS con un certificado de firma de código Apple;
- Objetos Microsoft Office VBA y macros (usando un certificado de firma de código VBA);
- archivos .jar (usando un certificado de firma de código de Java);
- archivos .air ó .airi (usando un certificado Adobe AIR) y
- finalmente, archivos de controladores/drivers y otro tipo de software de modo kernel (con un certificado de código de Windows para 32/64 bits).
Básicamente, un certificado de firma de código (code-signing) le permite firmar casi cualquier tipo de archivos de código siempre y cuando usted convierta el certificado primero al tipo de formato correcto.
Certificados CodeSigning Standard vs. EV (con validación extendida)
Los certificados de firma de código con validación extendida incorporan todas las ventajas de los certificados de firma de código estándar y suman un nivel de seguridad superior que garantiza que la identidad del editor es correcta y ha sido verificada; algunos de estos beneficios adicionales inherentes a la validación extendida, son:
- Los estrictos procesos de verificación garantizan al usuario final que la identidad del desarrollador ha sido verificada.
- El certificado muestra la dirección de la empresa y el tipo de organización
- Sellado de Tiempo, la firma no caduca con el certificado
- El certificado se almacena en un dispositivo de hardware para ofrecer una autenticación de doble factor y así edisminuye el riesgo de robo o mal uso.
- Reputación inmediata con SmartScreenSmartScreen Filter es una características del MS-Internet Explorer que ayuda a detectar sitios de phishing, ayudándole a evitar el descargar o instalar malware (software malicioso) de sitios que aparenten ser confiables. de Microsoft, elimina los alarmantes mensajes de alerta sobre los posibles peligros de la aplicación que reciben los usuarios finales
- Requerido para acceder al Portal: Centro de Desarrollo de Hardware de Windows (Windows Hardware Development Center Dashboard Portal)
Tipos de certificados Code-Signing
Fabricante |
GlobalSign |
Thawte |
Symantec |
DigiCert |
Autoridad
Certificadora (CA) |
|
|
|
|
Precio por 1 año:
Standard/EV |
US$289/US$410 |
US$299/NA |
US$499/US$795 |
US$223/US$449 |
Precios por 2 años:
Standard/EV |
US$459/US$760 |
US$549/NA |
US$873/US$1,249 |
US$397/US$799 |
Windows Authenticode
|
✓ |
✓ |
✓ |
✓ |
Apple OS X |
✓ |
✓ |
✓ |
✓ |
MS-Office VBA |
✓ |
✓ |
✓ |
✓ |
Sun Java |
✓ |
✓ |
✓ |
✓ |
Adobe Air |
✓ |
✓ |
✓ |
✓ |
Windows x64
Kernel Mode |
✓ |
|
✓ |
✓ |
¿Certificado de
Validación Extendida
disponible para
firmar más de
1 tipo de tecnología? |
✓ |
|
✓ |
✓ |
¿Ofrece también certificados de validación
extendida (EV)?
|
✓
|
|
✓ |
✓ |
Transparencia con
MS-SmartScreenSmartScreen Filter es una características del MS-Internet Explorer que ayuda a detectar sitios de phishing, ayudándole a evitar el descargar o instalar malware (software malicioso) de sitios que aparenten ser confiables. |
✓ |
|
✓ |
✓ |
Garantía |
US$37,500.00 |
US0.00 |
US$0.00
|
US$0.00 |
Soporte de
CRL & OCSP
dual en
IPv4 e IPv6 |
✓ |
|
|
|
|
|
|
|
|
Llame ya al +506 2441-2411 para solicitar asesoría y más información sobre estos productos. |
Algunas CA requieren que usted genere el .CSR manualmente por medio de OpenSSL, otras tienen la facilidad de hacer todo en línea sin complicarse con comandos vía línea de comandos. |
La Firma de Código aborda la verificación débil y la protección de claves
La firma de código EV aborda dos de las vulnerabilidades más frecuentemente explotadas por los desarrolladores de malware para difundir su código malicioso: los procesos de verificación de identidad débiles y la protección de claves privadas deficiente.
-
Un estricto proceso de inspección: los solicitantes de certificados de firma de código EV se someten a un proceso de solicitud más riguroso que el aplicado a los certificados de firma de código ordinarios. Además de verificar el nombre de la organización del editor, se comprueba otro tipo de información corporativa, como las direcciones físicas y la jurisdicción. Este proceso de verificación exhaustivo dificulta que los desarrolladores de malware suplanten identidades y obtengan credenciales de firma de código para firmar su malware bajo la apariencia de una empresa de desarrollo legítima.
-
Certificados almacenados en dispositivos USB: a diferencia de los certificados de firma de código ordinarios, que se almacenan de forma local en los equipos de los desarrolladores, los certificados de firma de código EV se guardan en dispositivos externos encriptados. Esta medida implica que es mucho más complicado para terceros con intenciones malintencionadas copiar o robar la clave de firma privada y usarla para distribuir software malicioso bajo la identidad de un titular de certificado real.
Reputación inmediata con el filtro SmartScreen de Microsoft
SmartScreen de Microsoft, utiliza información sobre la reputación de una aplicación para advertir a los usuarios finales en caso de que la misma no esté reconocida y pueda ser maliciosa. Desde la publicación de Internet Explorer 9.0 y Windows 8, las aplicaciones firmadas con un certificado de firma de código EV se benefician de un reconocimiento inmediato de su reputación, lo que evita que se envíen advertencias alarmantes a los usuarios que las descargan.
Ejemplo de alerta Windows 8, 8.1 SmartScreen
Ejemplo de alerta de MS-IE9 SmartScreen
Propósito de los certificados code-signing
La razón del por qué existen este tipo de certificados se debe a que los usuarios deben estar seguros que el programa que están instalando en sus dispositivos viene de una fuente confiable. Muchas veces su propio celular por ejemplo, le ha indico que no puede instalar un progama que usted vio en internet porque no viene firmado digitalmente por una fuente confiable, esto se debe a que el desarrollador *probablemente* no es de buena procedencia y quizás ese programa 'tan bonito" que usted vio en FaceBook sea para robarle información de su equipo.
Incluso, a veces el mismo sistema operativo detecta que un archivo propio ha sido reemplazado después de que usted instaló un programa GRATIS de Internet y lo que sucede es que su equipo empieza a responder más lentamente; muy *probablemente* ese programa GRATIS (ó pirata) no sea realmente lo que parece.
Hoy en día en muchas páginas existen versiones "alteradas" (hackeadas ó pirateadas) de programas pagados; usted pensará que quizás ha sido muy afortunado en encontrar uno de esos GRATIS y así no tener que pagar, lo que desconoce es que esos programas como no vienen firmados lo que realmente harán es usar su información, su equipo y su ancho de banda de Internet para cosas que usted no desea como enviar SPAM bajo su nombre o propagar un virus.
Si usted tiene una PC con MS-Windows e instala un programa que viene firmado por Microsoft ó bien si tiene un iPhone y recibe un App firmado por Apple, de fijo usted puede proceder a la instalación sin problema alguno pero definitivamente si el programa viene de HackerTeam S. A., quizás usted lo piense dos veces antes de instalarlo, ¿verdad?
Estos son los 2 motivos principales del por qué existen los code-signing:
- Autenticación: verifica quién es el desarrollador del software.
- Integridad: verifica que el software no ha sido modificado desde que fue firmado
(en Costa Rica, algunas instituciones como el Banco Nacional y el BAC San José utilizan esto en su Sucursal Web para acceder al sistema o para realizar transacciones de montos superiores a US$3,000 por ejemplo. Microsoft los utiliza para entregar los drivers del sistema operativo y otros fabricantes como HP también a la hora de instalar componentes específicos de hardware en sus equipos)
Estos certificados trabajan muy parecido a los métidos SSL y SSH: se genera una llave pública/privada cuando se solicita un certificado, la privada se mantiene en la máquina del solicitantes y nunca es enivada al proveedor del certificado y la pública es enviada al proveedor con la solicitud del certificado (.CSR) para que dicho proveedor emita el certificado (.CRT).
El certificado code-signing actúa como una firma digital: cuando usted firma el componente, esá incluyendo su firma digital en los datos, el certificado contiene información de su organización y la autoridad certificadora (CA) es quien emite el certificado despuues de verificarlo a usted; es por esto que el usuario final (ayudado por los procesos automatizados del dispositivo donde va a ejecutar el programa que usted le brindó) verifica con la llave pública del emisor que el software descargado está correcto y no ha sido modificado por un tercero (como un hacker cuando publica el mismo programa de un fabricante en forma gratuita en otro sitio web, el ejemplo más clásico es ➟ descargar una versión GRATIS de MS-Office desde un sitio web como Taringa ó similares).
Regla de oro: |
el software pagado que está gratis en un sitio web que no es del fabricante, NO es bueno para su computador, tableta ó celular; por ejemplo ➟ esa última versión de MS-Office que usted descargó gratuitamente desde un sitio web de dudosa procedencia o que un amigo suyo le instaló por tan sólo $10 durante un fin de semana, realmente lo que está haciendo es llenando su computador de virus, troyanos y un sin fin de problemas que a la larga tendá usted que invertir más dinero en reparar su computador que lo que hubiera pagado por tener una licencia legal. |
|
Usos posibles:
- firma de aplicaciones web (por ejemplo, los de desarrollo con firma digital y/o transacciones bancarias)
- firma de programas para dispositivos móviles que únicamente permiten instalarse cuando el mismo viene con certificado a fin de evitar daños en el dispositivo del usuario final
- controladores/drivers para equipo de cómputo
¿Por qué la diferencia en precios?
Algunos certificados del mismo tipo tienen una diferencia sustancial en su precio debido a factores como:
- Cantidad/límite de re-emisiones (ilimitadas en forma gratuita ó sólo gratuitas durante los primeros 30 días)
- Costo por tipo de tecnología ó facilidad de tener 2+x1 (más de 2 tecnologías por el precio de 1 ó con descuento)
- Cantidad de bytes para las llaves (4096 bytes, recuerde que los de 1024 y los de 2048 ya no son aceptados)
- Existencia de herramienta para generar el .CSR e instalar el .CRT así como herramienta on-line de validación
- Soporte para protocolos IPv4 e IPv6 en los mecanismos de validación CRL y OCSP
- Nivel de confianza (y percepción global de los visitantes)
- Compatibilidad y existencia del certificado ROOT en servidores (fuente) y dispositivos de visitantes.