poner - encriptar iphone 7
Asegure la encriptación https para la aplicación iPhone a la página web (1)
No hay una manera absoluta de lograr este objetivo. Si tiene un servicio web que usa una credencial compartida (una incluida en la aplicación), entonces será posible realizar una ingeniería inversa de esa credencial. En última instancia, es imposible garantizar que un cliente que se ejecuta en otra máquina sea "su" cliente.
Ha habido muchas discusiones de esto. No es imposible, solo imposible de resolver al 100% (o incluso al 90%). Un simple secreto compartido sobre SSL detendrá a la mayoría de sus atacantes sin dañar a sus usuarios o costando mucho para su desarrollo. Es ofuscación, no seguridad, pero es barata y "en su mayor parte efectiva" es mucho mejor que costosa y "en su mayoría efectiva".
Si tiene un producto de muy alto valor, entonces puede garantizar soluciones más agresivas (costosas). Todas estas soluciones incluyen una de dos cosas:
- Autenticar al usuario en lugar del programa, o
- Vigilancia continua, buscando nuevos ataques y respondiendo con soluciones que los parchean.
Este último es muy caro y nunca termina. Asegúrate de que valga la pena.
Algunas otras discusiones útiles:
- Anti piratería e identificación de aplicaciones. SDK de iPhone
- La forma más fácil de limitar el ejecutable a ejecutarse en una determinada computadora
- Descompilación de las bibliotecas Objective-C
- Ofuscación de cacao
EDITAR Me gustaría señalar una cosa sobre mi mención de "secreto compartido sobre SSL". Recuerde que si no verifica el certificado, está sujeto a ataques de hombre en el medio muy fáciles. Los proxies fácilmente disponibles como Charles pueden hacer esto. El mejor enfoque es asegurarse de que el certificado raíz que se devuelve esté firmado por su certificado raíz, no solo por "cualquier certificado de confianza". Puede reconfigurar en qué certificados confía su aplicación con SecTrustSetAnchorCertificates()
. iOS5: PTL cubre esta técnica en el Capítulo 11 (página 221). También he envuelto esto en una biblioteca llamada RNPinnedCertValidator .
Otra buena capa es implementar un sistema de desafío-respuesta donde el servidor autentica que el cliente tiene el secreto compartido sin ponerlo nunca en el cable. El artículo de Wikipedia sobre la autenticación Challenge-resonse incluye una buena explicación del algoritmo.
Quiero vender una aplicación de iPhone, que albergará una única vista web a una página web, digamos http://www.myapp.com/webview/. Me gustaría que la aplicación almacene efectivamente las credenciales necesarias para la autenticación en el sitio web ( es decir, solo alguien que haya comprado la aplicación puede ver esta página)
¿De qué otro modo podría tener una vista web segura y sencilla en el iPhone, sin que sea necesario que el usuario inicie sesión (básicamente, la compra de la aplicación constituirá su autenticación en la página).
¿Alguien puede ayudarme con esto?