marzo 22, 2009

Firma de Aplicaciones 1: Conceptos Básicos


En este artículo intentaré explicar los conceptos básicos referentes al proceso de firma de aplicaciones en el sistema operativo Symbian, siendo el inicio de una serie de posts que abarcarán desde los conceptos básicos de la firma y certificación de aplicaciones, los tipos de errores al instalar aplicaciones, las razones que Nokia/Symbian dan para la existencia de las firmas y las razones por las cuales los usuarios y comunidades han decidido hackear esos códigos hasta llegar a las alternativas para firmar aplicaciones y los conceptos de hackeo de equipos y crackeo de aplicaciones.


¿Qué son las firmas?

Con la salida en el año 2005 de la versión 9.1 del sistema operativo Symbian OS, se hizo posible el polémico protocolo de Firma Obligatoria de Código (Mandatory Code Signing). Esto quiere decir que cada programa necesita ser firmado (signed) con un certificado digital para poder instalarlo en tu teléfono Symbian.

Según Symbian, este es un protocolo de seguridad que indica que las aplicaciones y los contenidos, y por lo tanto la inversión de los desarrolladores, se encuentran más protegidos que nunca.

En terminos prácticos para el usuario, esto significa que cada aplicación debe tener una clave privada y al igual que en sistemas operativos como las distintas versiones de Windows, si las aplicaciones que el usuario instale no están 'firmadas' (o 'registradas' en la analogía con Windows), significa que el usuario no podrá usarlas en su equipo.

Ahora bien, la comparación con los programas en Windows puede ayudarnos a entender básicamente el concepto de las firmas pero no del todo, puesto que en Symbian existen aún más limitaciones que en los sistemas operativos de Microsoft.

Si pensamos en Windows, sabremos que existen programas comerciales y gratuitos (freeware). Para instalar un programa comercial (legalmente) debemos pagar el precio de este o bien estar suscritos, en ese momento se nos entrega un código y con ese código activaremos el software.
Ahora bien, para instalar freeware en nuestro computador de escritorio, basta sólo con descargarlo e instalarlo, pero en el caso de Symbian, esto no es suficiente, puesto que probablemente el programa freeware sea considerado como no confiable y por lo tanto el propio celular no nos permitirá instalarlo.

Para comprender mejor esto debemos señalar que los procesos de firma y certificación no tienen que ver con el usuario final del teléfono movil (o al menos así debería ser) y se basan en el principio de que por cada aplicación desarrollada para Symbian por terceros, (es decir, un programador cualquiera), deben existir un par de claves, una pública y una privada. Estas claves deben ser certificadas. Si una aplicación es certificada, esto indica que dicha aplicación es confiable para su uso en equipos que utilizan el sistema operativo Symbian. El hecho es que la certificación de aplicaciones pasa por la decisión de un organismo autorizador, los cuales en un burocrático proceso autorizan o deniegan los permisos para que la aplicación sea instalada finalmente en nuestros teléfonos.

Definiciones oficiales.

Para no confundir firmas con certificaciones , o certificaciones con certificados, o procesos de certificacion con certificación de aplicaciones, Symbian ha entregado las siguientes definiciones que van apuntadas a los desarrolladores, pero que he traducido para aportar al conocimiento de los usuarios finales.
Firma de aplicaciones (Signing): es el acto técnico de crear una firma digital para un paquete de aplicaciones (archivos SISX en S60 o signed JAR en Java). El par de claves (que consiste de clave pública y clave privada) pueden tener un certificado emitido por un organismo autorizador (como Nokia o Verisign, por ejemplo) o puede tener un certificado auto-firmado, lo que no tiene efecto en la firma misma, sólo en la confianza que la firma conlleva.

Certificado (Certificate) es la prueba de posesión para ambas claves, la pública y la privada. Un certificado emitido por un organismo autorizador (como Nokia o Verisign, por ejemplo) indica que el par de claves, (pública y privada) pertenecen a la entidad o sujeto descrito en el certificado. Si el certificado es auto-firmado, el certificado no conlleva ninguna confianza, en este caso, el certificado sólo se crea por necesidades técnicas.

Certificación (Certification) significa que una aplicación ha sido testeada en contra de una serie de criterios comunmente aceptados y finalmente ha sido certificada. La aplicación es firmada con una clave que está relacionada a un certificado el que a su vez puede ser rastreado por el certificado raiz que se encuentra en los dispositivos. Luego, cuando un usuario instala dicha aplicación en su propio dispositivo, (que tiene un certificado raiz correcto), esta aplicación es considerada como 'confiable' por el dispositivo.

El instalador de aplicaciones chequéa la firma y verifica que la aplicación proviene de una fuente confiable. Si la aplicación no ha sido certificada, (es decir, no existe un certificado raiz correspondiente en el dispositivo), el usuario será notificado al instalar la aplicación. Esta nota dirá que la aplicación proviene de una fuente no confiable.

Trámite de certificación (Certificate issuance) es el acto mediante el cual una autoridad de certificación tramita el certificado correspondiente a cierto par de claves publica/privada- Esto no es lo mismo que certificar aplicaciones, y una autoridad certificadora no es lo mismo que una casa de testeo (testing house) que certifica aplicaciones.

Una aplicación confiable (trusted software package) es usualmente una aplicación cuyo certificado puede ser rastreado hacia el certificado raiz. Los paquetes de aplicación firmados con certificados auto-firmados, o aquellas aplicaciones no firmadas, son consideradas como no confiables (untrusted).
Con esto concluyo el primer artículo en esta serie que intentará lograr dejar en claro los conceptos de firmas y hackeo en symbian.
En el siguiente artículo de la serie me referiré a las razones detrás de cada uno de los crípticos mensajes de errores de firmas y todo lo que su existencia conlleva. Espero que la lectura les haya gustado y no se olviden de calificar este artículo y dejar sus comentarios.

æ

ENE958GB.blogspot.com, 2009.

Fuentes:
Application Signing @ wiki.forum.nokia.com
Symbian OS @ wikipedia
Signing .SIS Symbian installer files: which programs to use and where to get a free developer certificate? @ Symbian underground

Leer el resto de este artículo...

Bienvenidos




Bienvenidos a ENE 95 8GB.blogspot.com, en este blog postearemos artículos, comparaciones, modificaciones y enlaces a todo lo referente al celular NOKIA N95 8Gb.

El objetivo del blog será postear todo en español y de primera mano, es decir incluyendo aportes originales y antiguos pero todos escritos y en el caso de los juegos y/o aplicaciones, probados por los autores del blog. La gran mayoría de estos aportes serán muy simples de encontrar en cualquier otra parte de internet pero la diferencia estará en la actualización permanente y la disponibilidad para ayudar a todos los poseedores de este equipo.

Un saludo a todos,

æ Leer el resto de este artículo...
 

blogger templates | Make Money Online