2012-05-05 12 views
12

Soy un principiante en la creación de aplicaciones móviles con PhoneGap. Tengo algunas dudas sobre los aspectos de seguridad cuando creo una aplicación móvil con phonegap.Las consideraciones de seguridad al crear una aplicación móvil usando PhoneGap

  1. Quiero crear una aplicación que acceda a un servicio web, p. un servicio REST creado usando Jersey. Ahora, ¿tengo razón al pensar que un pirata informático puede ver fácilmente las claves de seguridad/mecanismo de autenticación utilizado para autenticar al cliente (en una aplicación móvil) con el servidor (donde se utilizará la API REST)?

  2. En general, un hacker puede acceder fácilmente a todos los datos enviados por la aplicación móvil (que fue creado usando PhoneGap)?

  3. ¿Puede un hacker desarmar una aplicación PhoneGap para obtener el código original? ¿No obtendrá el código nativo (por ejemplo, Objetivo C en caso de ios)? ¿O puede descompilar incluso eso en el código del teléfono original (es decir, html + js)? ¿Cómo evito que mi código sea descompilado? ¿Este escenario es el mismo que para la mayoría de los otros idiomas, es decir, los hackers con PC potentes pueden hackear casi cualquier programa/software? ¿Hay alguna manera de evitar que esto suceda?

Respuesta

20

Muy bien, primero respire profundo. Probablemente no le vayan a gustar algunas de mis respuestas, pero vivirán con los mismos problemas que todos nosotros.

  1. Lo mejor que puede hacer en este caso es usar algo como el KeyChain plugin para recuperar las claves de seguridad desde el lado nativo.

  2. Puede descartar PhoneGap porque se aplica a cualquier situación en la que envíe datos no encriptados entre un cliente y un servidor. Cualquiera puede escuchar fácilmente usando varias herramientas como Wireshark o Ethereal. Si necesita comunicarse con un servidor, debe hacerlo en una conexión encriptada, HTTPS o SSL.

  3. En primer lugar creo que está bajo la impresión equivocada de que PhoneGap compila el código HTML/JS código en Obj-C. No es asi. Si el usuario descomprime su aplicación, podrá leer su HTML/JS. Además, también podrán descompilar su código Obj-C. Esto no requiere una PC poderosa o incluso un hacker experimentado. Casi cualquiera puede hacerlo.

Mi consejo es que no se preocupe por ello. Dedique su tiempo a crear una aplicación realmente genial. Las personas que pagarán lo pagarán. Las personas que lo descompilan nunca comprarían la aplicación sin importar qué. Cuanto más tiempo llevas tratando de combatir a los piratas informáticos, más tiempo pasas utilizando para aumentar tu aplicación. Además, la mayoría de las medidas anti-piratería solo hacen la vida más difícil para sus usuarios reales, de hecho, son contraproducentes.

+0

tengo algunas preguntas para usted-hoy en día una gran cantidad de API REST de Uso Público OAuth, o modelo de Amazon (AWS) - wont éstos sean suficientes para aplicaciones móviles? (Con referencia a su respuesta, creo que ambos OAuth y el modelo de Amazon no utilizan HTTPS ...) Además, HTTPS no será posible con aplicaciones locales, ya que algunas funciones de la página Web requiere Phonegap local solamente? ... Gracias – Arvind

+1

OAuth funciona bien con Aplicaciones PhoneGap. Bueno, si todas las páginas son locales, entonces no hay comunicación con el trabajo externo y, por lo tanto, no hay nada que los piratas informáticos puedan oler. –

+1

La respuesta del Sr. MacDonald, si bien tiene buenas intenciones, no explica por qué los desarrolladores que están preocupados por la descompresión de la aplicación: otros desarrolladores pueden leer el código, piratearlo y usarlo para desarrollar una aplicación competidora. Esa es una preocupación seria y legítima, y ​​debe tenerse en cuenta al considerar el uso de PhoneGap. –

Cuestiones relacionadas