¿Por qué los desarrolladores de aplicaciones ignoran el cifrado?

Esta es una muy buena pregunta. Y en realidad ni siquiera se aplica a los desarrolladores de aplicaciones, ya que a nadie parece importarle el cifrado y / o la seguridad.

Creo que hay varios problemas a este respecto (no considere que se trata de una lista completa de problemas):
1. Educación. A los desarrolladores de software todavía no se les enseña a desarrollar desarrollo de software con seguridad por diseño. He estado enseñando en varios lugares y en todas partes me encuentro con el hecho de que los estudiantes no tienen idea de la seguridad. Han escuchado de ella (la palabra) pero qué y por qué es difícil de responder. Impactante en estos días.

2. Como otros han señalado, las aplicaciones deben enviarse. Todos quieren subirse al carro de la aplicación porque piensan que se trata de mucho dinero. Y a veces tienen razón. La gente de negocios (la que suele presionar los comunicados rápidos) tiene una opinión aún peor sobre la seguridad. He estado abogando por la seguridad de la información a los propietarios de negocios durante más de 10 años y todavía no comprenden los riesgos que corren sin la seguridad adecuada. La gente es ingenua a este respecto. Y bajo educado.

3. El cifrado es difícil. Para hacer bien el cifrado (y la seguridad en su conjunto) hay que pensar y no solo comenzar a desarrollarse fingiendo ser delgado o algo así. Pensar lleva tiempo y ese tiempo no está disponible. ¡Pero puede ser incluso peor!
He visto muchas aplicaciones y aplicaciones que pensaban diseñar su propio cifrado. POR QUÉ Hay muchas bibliotecas de cifrado bien probadas que son probadas, gratuitas y fáciles de implementar. Aún así, los desarrolladores piensan que pueden hacerlo mejor / más barato / … solo porque no se toman el tiempo para pensar. El problema es que están creando una falsa sensación de seguridad, como usar el método Ceasar que Gregory Delrue mencionó. Una idea horrible y una muy mala inversión de tiempo.
Si desea saber qué tan poca gente / desarrolladores entienden el cifrado, simplemente eche un vistazo a Quora y se sorprenderá.

4. Las tiendas de aplicaciones aún aceptan aplicaciones sin cifrado / seguridad. Y, en realidad, las plataformas de desarrollo de aplicaciones no ofrecen una integración de seguridad lo suficientemente fácil en el proceso de desarrollo.

5. Los usuarios no solicitan cifrado. Solo una pequeña cantidad de usuarios finales pensarán antes de agregar una aplicación a su teléfono. Sin mencionar que podrían considerar la cuestión de si cierta aplicación es segura y utiliza algún tipo de cifrado. Los usuarios finales solo quieren la aplicación, no les importa el resto (y no deberían tener que hacerlo).

Entonces, si casi nadie conoce el cifrado, nadie lo solicita y se puede ganar dinero sin él, ¿por qué debería usarlo? ¿Porque respetas a tus clientes? ¿Porque valoras ser un desarrollador de software profesional? ¿Porque valoras tu negocio?

Creo que la respuesta es muy simple: requiere esfuerzo y parece que no tiene valor.

El valor comienza a ser cada vez más evidente a medida que vemos cuán costosas se están volviendo estas violaciones de datos. Obviamente, este estado de noticias por hora sobre violaciones de datos no puede continuar y algunos gobiernos están interviniendo para tratar de mover a la industria en la dirección correcta. La Unión Europea está en el proceso de establecer sanciones muy fuertes para las compañías que tienen violaciones de datos debido a negligencia, compañías que no informaron las violaciones de datos, etc.: la fecha límite de GDPR significa que es hora de proteger los datos por diseño

El otro aspecto es que requiere esfuerzo. El cifrado es extremadamente complejo. Los algoritmos son complejos, su implementación es compleja y el uso de la manera correcta es complejo. Ahí es donde entra mi empresa. En Qredo estamos creando una solución de nube de conocimiento cero para el almacenamiento y la mensajería que hace que el cifrado sea lo más fácil de usar posible al proporcionar SDK que envuelven todos los bits complejos.

El cifrado es un tema muy candente ahora. ¿Por qué los desarrolladores ignoran cosas tan importantes? En cuanto a mí, puede haber muchas razones diferentes, pero puedo enfatizar esto:

  • La empresa quiere decretar gastos y no paga por este servicio “intangible”
  • Los desarrolladores no tienen suficientes habilidades para estas manipulaciones, por lo que no venden esta opción

Esa es nuestra guía para el cifrado: tipos de criptografía

Espero que te sea útil.

El nivel general de conocimiento incluso sobre criptografía básica entre desarrolladores es simplemente aterrador.
Generalmente no hay ninguno.

Cuando hay algo de conocimiento por todas partes: algunos empleados de mis clientes afirmaron que un simple Caesar Chiffre es suficiente seguridad, mientras que otros sostuvieron que no importa cuán avanzado sea el esquema de cifrado, podría romperse en un tiempo razonable si se computa lo suficiente. poder.
Ambos están equivocados, por supuesto.

Como otros ya dijeron: las aplicaciones “necesitan” enviarse, al menos según los gerentes.

También hay otro patrón de pensamiento frecuente que a menudo encuentro: la criptografía se considera extremadamente difícil como si no fuera por simples mortales.
Por supuesto, algunos aspectos matemáticos pueden dar miedo al principio, pero la mayoría de las veces el uso de la criptografía en un proyecto de software ni siquiera se trata de comprender logaritmos discretos o factorización entera, se trata de saber cuándo y cómo llamar a las funciones de biblioteca adecuadas.
Esto no es diferente a ningún otro aspecto del desarrollo de software: la mayoría nunca tendrá que implementar un algoritmo de clasificación rápida o una estructura de datos de árbol rojo-negro, todo ya está implementado en las bibliotecas.

Si está diciendo que “aplicación” significa aplicaciones en teléfonos inteligentes, entonces los desarrolladores más probables podrían estar pensando … los datos están en el dispositivo, es su dispositivo, por lo que debe ser seguro. Lo que no entienden todos los desarrolladores de aplicaciones es que, dependiendo del dispositivo, el dispositivo puede ser rooteado o el usuario puede instalar alguna otra aplicación (intencionalmente o no) con un privilegio más alto, que puede acceder a los datos de otras aplicaciones.

Básicamente se trata de a) Velocidad / tiempo de comercialización b) suponiendo que los datos están seguros donde sea que estén en el dispositivo o en una base de datos segura fuera del centro de datos.
A continuación, si su aplicación / datos necesita ser portátil en todos los dispositivos, entonces debe diseñar la encriptación / gestión de claves / distribución de claves para que pueda funcionar en todos los dispositivos. (Imagínese si desea desarrollar una aplicación box / dropbox con cifrado predeterminado y los datos deberían estar disponibles en todos sus dispositivos y los archivos deberían compartirse con otros … no es imposible, pero lleva tiempo).

La otra forma de preguntar es, ¿por qué las personas usan tales aplicaciones, si no pueden obtener una comprensión clara de cómo se protegen los datos?

Invertimos mucho en educar a nuestros clientes sobre el cifrado. Sin embargo, es complicado, por lo que no todos los clientes / empresas están preparados para invertir en cifrado, incluso si deberían hacerlo. Lea un excelente artículo, escuche sobre los diferentes tipos de cifrado que utilizamos para nuestras aplicaciones y servicios de fondo:
5 métodos de encriptación para dispositivos móviles

Nos complace compartir más información y experiencia sobre el cifrado de aplicaciones móviles, así que solo avísenos si desea más (sin cargo). Encantado de responder a sus preguntas sobre Quora, por supuesto.