Si estoy creando una aplicación de mensajería cifrada, ¿tengo que abrir la aplicación de código fuente?

Respuesta corta: no, no tienes que hacerlo. Pero…

… si está creando una aplicación de mensajería cifrada, la gente tendrá que confiar en ella con sus datos. ¿Cómo construirás esa confianza? ¿Por qué la gente debería creer que su aplicación tiene una encriptación adecuada, sin errores, sin puertas traseras, cuando ya hay tanta encriptación rota?

Un ejemplo famoso es byLock, que fue muy popular en Turquía. Sin embargo, se rompió y resultó en miles de personas arrestadas [1]. Un segundo ejemplo es WhatsApp. Afirman implementar un protocolo muy seguro. [2] Sin embargo, su código es de código cerrado. Nadie sabe con certeza si realmente implementaron ese protocolo de la manera que afirman [3].

Una forma trivial de generar confianza es hacer que su código sea de código abierto. Usted toma un estándar seguro bien conocido y lo implementa de una manera que todos puedan verificar. Esto es lo que Open Whisper Systems hace con su Signal messenger. Es gratuito, de código abierto y generalmente se considera el más seguro de todos.

Algunas otras notas sin embargo:

  • Puede revelar el origen de su aplicación, pero bajo una licencia que dice que no puede usarse para otros fines que no sean verificar la seguridad. Sin embargo, será difícil controlar esto.
  • Puede revelar solo el código de seguridad central, mientras mantiene todos los demás códigos de propiedad.
  • Si quieres ganar dinero: competirás con aplicaciones de mensajería gratuitas establecidas. ¿Cómo podrás obtener una ventaja sobre ellos?

Notas al pie

[1] El uso de la aplicación ‘amateur’ por parte de los golpistas de Turquía ayudó a revelar su red

[2] https://www.whatsapp.com/securit…

[3] | seguridad en una caja

Cuando abre el código fuente, está dejando que otros vean su trabajo y eso crea una confianza. Rápido de arreglar ya sea por usted mismo o por alguien.

No tiene que abrir el código fuente, pero es posible que desee considerar compartir cómo está encriptando, administrando claves, etc. De lo contrario, la gente se preguntará cómo mantiene segura su información.

Si desea beneficiarse de ello, las cosas pueden ser complicadas si es de código abierto. Técnicamente, creo que si incluye una licencia adecuada, su código debería estar protegido de aquellos que intentan comercializarlo, pero no estoy tan seguro de todos los aspectos de esto.

Esta decisión depende de cuánto creas que te beneficiarás de la fuente abierta y de cuánto estarás en desventaja al no hacerlo 🙂.

More Interesting

Supongo que los runkeepers o las aplicaciones de rastreadores pueden ser bastante molestos al correr. ¿Qué piensas?

Necesito diseñar los gráficos para la interfaz de una aplicación móvil. ¿Cómo debo configurar el archivo de trabajo?

Estoy dispuesto a desarrollar una aplicación móvil como YouTube, por lo que la transmisión de video es la característica principal para implementar. ¿Cuál es la mejor solución de AWS que puedo usar para transmitir videos desde mis servidores?

Si tenía una idea para un juego / aplicación de rol de realidad virtual pero no sé cómo codificar. ¿Hay alguna forma de comercializar mi idea sin que otros la roben?

¿Alguien puede sugerir cómo promocionar / comercializar una aplicación de Android que estoy desarrollando relacionada con las universidades?

Si quiero chatear con una chica extraña en WeChat, ¿qué puedo decir al principio?

¿Quiero hacer una aplicación para todas las recargas móviles?

Quiero crear una aplicación ¿Podría alguien vincularme a un buen acuerdo de confidencialidad?

Cómo transmitir juegos móviles desde la nube

Instalé una aplicación a través de Facebook llamada cyclebeads que me ayuda a rastrear la ovulación. ¿Mis familiares van a ver la notificación?

Quería saber de alguien que haya hecho esto antes, ¿cuáles son algunos costos / problemas ocultos / no convencionales que uno enfrentaría a lo largo de su proceso de desarrollo de aplicaciones móviles?

Ejecuto una startup y un competidor está rompiendo los TOS de la App Store (comprando reseñas, dejando críticas negativas, etc.). ¿Qué es lo "correcto" que hacer?

Cómo crear la mejor solución multiplataforma para comprar bienes digitales

Estoy comenzando en el desarrollo de aplicaciones de Android. He creado 1 aplicación. ¿A dónde debería ir desde aquí?

¿Mi aplicación no aparece en Play Store cuando la busco por su nombre?