¿Por qué se firman las aplicaciones?

6

Desde el sitio web de Android :

  

Android requiere que todas las aplicaciones estén firmadas digitalmente con un certificado   antes de que puedan ser instalados.

La firma garantiza que solo el desarrollador original pueda publicar una actualización para su aplicación. No garantiza que ninguna aplicación falsificada se entregue al usuario en primer lugar. El desarrollador no puede supervisar si Google entrega versiones "reales" de sus aplicaciones o versiones falsas. Así que el usuario final tiene que confiar en google. ¿Por qué no confiar completamente en Google y eliminar la firma? El desarrollador se autentica en Google a través de su cuenta de Google y, por lo tanto, todas las aplicaciones son rastreables para su desarrollador. Y la ruta de acceso de Google a la aplicación Play Store se puede proteger a través de https.

    
pregunta user10008 08.09.2014 - 18:55
fuente

3 respuestas

5

En realidad, la firma de código es simplemente una forma de validar que una aplicación proviene de la tienda de aplicaciones. No tiene nada que ver directamente con quién es la aplicación o con qué intención tenían en mente los diseñadores de la aplicación.

El problema del malware que se está introduciendo es principalmente el resultado de no haber sido detectado por los filtros de Google ( vea wiki para obtener información detallada sobre los procedimientos de autenticación ).

Además, la firma de código en sí misma no es realmente suficiente, ya que existen vulnerabilidades .

Además de todo lo que dijo, la firma de código también permite al desarrollador lanzar actualizaciones a su aplicación sin tener que "autenticarse" por completo a Google. Ser un código firmado también significa que (en teoría) es más fácil rastrearlo físicamente en caso de que haya subido malware, por lo que la firma de código actúa como una especie de huella digital forense (estoy simplificando el problema / detalles).

La conclusión es que el desarrollador original no puede hacer nada más que observar e informar sobre interpretaciones malintencionadas de su aplicación (sin mencionar que muchas aplicaciones 'legítimas' son simplemente explotables).

Si usted 'confiaba completamente en Google' eso cambiaría las obligaciones legales y lo más probable es que los costos de las aplicaciones aumenten, ya que Google ahora tendría que vehementar cada aplicación vigorosamente para evitar juicios.

    
respondido por el Matthew Peters 08.09.2014 - 19:38
fuente
4

La firma de aplicaciones elimina la dependencia de Google para cualquier otra cosa que no sea proporcionar el sistema operativo. Un usuario puede instalar un apk y verificar su firma, independientemente de si este apk se descarga de Google o, por ejemplo, Copiado sobre una tarjeta SD.

Una vez que se descarga un apk, no hay una forma directa de rastrear su origen. Es imposible decir después de qué URL se descargó el archivo. Una firma en la apk da fe de la autenticidad del archivo, siempre que la clave pública se pueda rastrear hasta el desarrollador original.

Firmar la apk garantiza en principio que una aplicación falsa no puede instalarse inadvertida. En la práctica, esta garantía es discutible ya que la identidad del firmante no se proporciona al usuario de ninguna manera que esté vinculada a la propiedad de la clave privada correspondiente. No obstante, un desarrollador puede verificar la autenticidad de una aplicación descargada comparando el apk con la versión que subieron, o más simplemente verificando que el apk está firmado correctamente con su clave pública.

En cuanto a por qué todas las aplicaciones apk deben estar firmadas, es una cuestión de simplicidad de implementación: no hay necesidad de distinguir entre aplicaciones firmadas y no firmadas. Google proporciona una clave de depuración, para la cual la parte privada se incluye en el SDK, y cualquiera puede crear su propio par de claves; por motivos de seguridad, un archivo apk firmado por la clave de depuración o por una clave desconocida no es más seguro de lo que sería si no estuviera firmado.

    
respondido por el Gilles 09.09.2014 - 01:17
fuente
3

El usuario no necesita confiar en Google. También pueden usar el mercado de Amazon o el desarrollador puede enviar el .apk directamente al usuario.

    
respondido por el Christian 09.09.2014 - 17:59
fuente

Lea otras preguntas en las etiquetas