Pregunta

Estoy considerando la siguiente:Tengo algunas flujo de datos de la que me gustaría para proteger tan segura como sea posible -- żtiene algún sentido para aplicar digamos AES con algunas IV, a continuación, Blowfish con algunas IV y, finalmente, de nuevo el algoritmo AES con algunas IV?

El proceso de cifrado / descifrado se oculta (incluso protegido contra de depuración), por lo que no será fácil adivinar que crypto método y lo IVs fueron utilizados (sin embargo, soy consciente del hecho de que el poder de esta crypto de la cadena no puede depender de este hecho, ya que cada una protección contra la depuración se puede romper, después de algún tiempo).

Tengo un equipo de alimentación de este (que cantidad de datos no es grande) así que la pregunta es si vale la pena de la aplicación.Por ejemplo, TripleDES trabajado de manera muy similar, con tres IVs y cifrar/descifrar/cifrar esquema, por lo que probablemente no es absurdo total.Otra pregunta es cuánto me disminución de la seguridad cuando puedo usar el mismo IV para la 1ª y 3ª parte o incluso la misma IV para todas las tres partes?

Doy la bienvenida a cualquier consejos sobre este tema

¿Fue útil?

Solución

No estoy seguro acerca de esta combinación específica, pero esto es generalmente una mala idea mezclar cosas como esta, a menos que la combinación específica ha sido ampliamente investigado.Es posible que la matemática transformaciones contrarrestar el uno al otro y el resultado final sería más fácil de hackear.Un solo paso de cualquiera de las AES o Blowfish debería ser más que suficiente.

ACTUALIZACIÓN:A partir de mi comentario de abajo...

El uso de TripleDES como un ejemplo:piense en cuánto tiempo y esfuerzo de los mejores del mundo criptógrafos entró en la creación de esa combinación (tenga en cuenta que DoubleDES había una vulnerabilidad), y lo mejor que podían hacer es de 112 bits de seguridad a pesar de 192 bits de la clave.

ACTUALIZACIÓN 2:Estoy de acuerdo con Diomidis que AES es muy raro ser el eslabón débil en el sistema.Prácticamente todos los demás aspectos de su sistema tiene más probabilidades de estar en peligro de AES.

ACTUALIZACIÓN 3:Dependiendo de lo que estés haciendo con el flujo, puede que desee utilizar TLS (el sucesor de SSL).Recomiendo Práctica De La Criptografía para más detalles—se hace un trabajo bastante bueno de abordar muchas de las preocupaciones que tendrá que responder.Entre otras cosas, se discute cifrado de secuencias, que puede o no puede ser más apropiado que el de AES (ya que AES es un cifrado de bloque y usted mencionó específicamente que usted tenía un flujo de datos a cifrar).

Otros consejos

Creo que no tienes nada que perder por la aplicación de un algoritmo de cifrado en la parte superior de otro que es muy diferente de la primera.Yo, sin embargo, desconfía de la ejecución de una segunda ronda de un mismo algoritmo en la parte superior de la primera, incluso si no has terminado el otro en el medio.La interacción entre las dos carreras puede abrir una vulnerabilidad.

Habiendo dicho eso, creo que está agonizante demasiado en el cifrado de parte.La mayoría de las exposiciones de los datos no se producen por la ruptura de un estándar de la industria algoritmo de cifrado como AES, sino a través de otras debilidades en el sistema.Yo sugeriría a pasar más tiempo mirando a la gestión de claves, la manipulación de los datos sin cifrar, debilidades en el algoritmo de la aplicación (la posibilidad de una fuga de datos o claves), y el sistema más amplio de cuestiones, por ejemplo, lo que están haciendo con copias de seguridad de datos.

Un hacker siempre atacan el elemento más débil de una cadena.Así se ayuda a los pequeños a hacer un fuerte elemento aún más fuerte.El agrietamiento un cifrado AES es imposible ya con 128 Bits de longitud de la clave.Lo mismo va para Blowfish.La elección de aún mayor longitud de la clave, hacen aún más difícil, pero en realidad 128 Bits nunca ha sido desvelado hasta ahora (y probablemente no lo hará dentro de los próximos 10 o 20 años).Así que este cifrado no es probablemente el elemento más débil, así, por lo que es más fuerte?Ya es fuerte.

Pensar acerca de lo que podría ser el eslabón más débil?El IV?En realidad yo no perder demasiado tiempo en la selección de un gran IV o esconderse.El más débil clave es generalmente el enccryption clave.E. g.si el cifrado de los datos almacenados en el disco, pero este dato debe ser leído por la aplicación, la aplicación necesita saber el IV y se necesita conocer la clave de cifrado, por lo tanto ambos de ellos debe ser dentro de el binario.Este es en realidad el elemento más débil.Incluso si usted toma 20 métodos de encriptación y de la cadena de ellos en sus datos, de la IVs y las claves de cifrado de 20 necesita estar en el binario y si un hacker puede extraer de ellos, el hecho de que usted ha utilizado 20 en lugar de 1 método de encriptación proporcionada cero adicional de seguridad.

Pues yo todavía no sé lo que todo el proceso es (que encripta los datos, que descifra los datos, donde los datos almacenados, ¿cómo es transportado, lo que necesita saber las claves de cifrado, y así sucesivamente), es muy difícil decir cuál es el elemento más débil que realmente es, pero dudo que AES o cifrado Blowfish de sí mismo es su eslabón más débil.

A quién están tratando de proteger su información?Su hermano, su competidor, su gobierno, o los extraterrestres?

Cada uno de estos tiene diferentes niveles en los que usted podría considerar la posibilidad de que los datos sean "tan segura como sea posible", dentro de un significativo presupuesto (tiempo/dinero)

El cifrado de dos veces es más seguro que el cifrado de una vez, aunque esto puede no ser evidente a primera.

Intuitivamente, parece que el cifrado de dos veces con el mismo algoritmo no da ninguna protección adicional, ya que un atacante podría encontrar una clave que descifra todo el camino desde el final cyphertext de vuelta para el texto sin formato....Pero este no es el caso.

E. g.Voy a empezar con texto sin formato Un y cifrar con clave K1 para obtener B.Entonces me cifrar B con la tecla K2 para obtener C.

Intuitivamente, parece razonable asumir que bien puede ser una clave, K3, que podría utilizar para cifrar Un y obtener C directamente.Si este es el caso, entonces un atacante utilizando la fuerza bruta, eventualmente, se topan con K3 y ser capaz de descifrar C, con el resultado de que el extra de cifrado de paso no ha añadido ningún tipo de seguridad.

Sin embargo, es muy poco probable que existe una clave (para cualquier moderno esquema de cifrado).(Cuando digo "muy poco probable" aquí, me refiero a lo que una persona normal podría expresar mediante la palabra "imposible").

Por qué?
Considerar las teclas de funciones que proporcionan una asignación de formato de sólo texto para cyphertext.
Si nuestras claves son todos KL bits de longitud, entonces hay 2^KL de esas asignaciones.
Sin embargo, si uso 2 teclas de KL bits cada uno, esto me da (2^KL)^2 asignaciones.
No todo puede ser equivalente a una sola etapa de cifrado.

Otra ventaja de la encriptación de dos veces, si 2 diferentes algoritmos se utilizan, es que si se encuentra una vulnerabilidad en uno de los algoritmos, el otro algoritmo todavía proporciona cierta seguridad.

Como otros han señalado, de fuerza bruta, la clave es normalmente un último recurso.Un atacante intenta dividir el proceso en algún otro momento (por ejemplo,el uso de ingeniería social para descubrir la frase de paso).

Otra forma de aumentar la seguridad, es simplemente el uso de una mayor tecla con un algoritmo de cifrado.

...Siéntase libre de corregir mis matemáticas!

Además, no pierdas el tiempo dejando en la oscuridad el algoritmo a aplicar de Kirchoff principio, y recordar que la AES, en y de sí mismo, se utiliza (y reconoció a ser utilizado) en un gran número de lugares donde los datos deben ser "seguro".

Damien:tienes razón, yo debería escribir más claramente.Estoy hablando de la competencia, es para uso comercial.Así que hay significativas de presupuesto disponible, pero no quiero llevarlo a cabo sin estar seguro de que sé por qué lo estoy haciendo :)

Hank:sí, esto es lo que estoy asustado, demasiado.El más favorable de los orígenes de esta idea fue mencionado TripleDES.Por otro lado, cuando se utiliza un algoritmo para cifrar algunos datos, a continuación, aplicar otro, sería muy extraño si el "poder" de todo el cifrado sería menor que el uso independiente del algoritmo.Pero esto no significa que no puede ser igual...Esta es la razón por la que estoy pidiendo alguna sugerencia, esta no es mi área de conocimiento...

Diomidis:esto es básicamente mi punto de vista, pero que mi colega está tratando de convencer a mí lo que realmente aumenta la seguridad.Mi propuesta sería utilizar más fuerte de la clave de cifrado en lugar de un algoritmo después de la otra sin ningún tipo de pensamiento o conocimiento profundo de lo que estoy haciendo.

Yo no dependen de oscurecer los algoritmos que se está utilizando.Este tipo de "seguridad por oscuridad" no funciona por mucho tiempo.La descompilación del código es una manera de revelar el crypto estás usando, pero por lo general la gente no guardar secretos como este por mucho tiempo.Por eso hemos de claves pública/privada cripto en el primer lugar.

@Miro Kropacek - su colega está tratando de agregar seguridad a través de Vudú.En su lugar, tratar de construir algo sencillo que se puede analizar en busca de defectos - como sólo mediante AES.

Supongo que fue él (ella?) que sugiere la mejora de la seguridad a través de la protección de la depuración demasiado...

En realidad no se puede hacer las cosas menos seguro si cifra más de una vez con distintas IVs y las teclas, pero la ganancia en seguridad puede ser mucho menos de lo previsto:En el ejemplo de 2DES, el meet-in-the-middle ataque significa que es sólo dos veces difícil de romper, en lugar de ajustar el nivel de dificultad.

En general, sin embargo, es mucho más seguro para seguir con un único bien conocido algoritmo y el aumento de la longitud de la clave si necesita más seguridad.Dejar de componer criptosistemas de los expertos (y no tengo número, soy uno de ellos).

Sí, puede ser beneficioso, pero probablemente excesivo en la mayoría de las situaciones.También, como Hank menciona algunas combinaciones pueden debilitar su cifrado.

TrueCrypt ofrece una serie de combinación de algoritmos de cifrado como AES-Twofish-Serpiente.Por supuesto, hay una penalización de rendimiento cuando se utiliza.

Cambiar el algoritmo no es la mejora de la calidad (excepto que usted espera de un algoritmo para ser quebrantada), es sólo acerca de la clave/longitud del bloque y un poco de ventaja en la ofuscación.Hacerlo varias veces es interesante, ya que incluso si la primera clave se filtró, los datos resultantes no es distinguible de datos aleatorios.Hay tamaños de bloque que se procesan mejor en una plataforma determinada (por ejemplo.registro de tamaño).

Atacar a la calidad de los algoritmos de cifrado sólo funciona por la fuerza bruta y por lo que dependiendo de la potencia de cálculo que puede pasar en.Esto significa, finalmente, que sólo puede aumentar la probable el promedio de tiempo que alguien debe descifrar.

Si los datos de real valor, lo mejor es que no ataque los datos, pero el titular de la clave...

Estoy de acuerdo con lo que se ha dicho anteriormente.Varias etapas de cifrado no comprar mucho.Si usted está usando un 'seguro' algoritmo, es prácticamente imposible de romper.El uso de AES en algunas estándar modo de transmisión.Ver http://csrc.nist.gov/groups/ST/toolkit/index.html por aceptadas las cifras y los modos.Nada recomendable en ese sitio debe ser lo suficientemente segura cuando se utiliza correctamente.Si quieres estar más seguro, el uso de AES de 256, aunque 128 debería ser suficiente de todos modos.Los mayores riesgos que no son ataques contra el algoritmo en sí, sino más bien de los ataques en contra de la gestión de claves, o ataques de canal lateral (que puede o no puede ser un riesgo en función de la aplicación y uso).Si usted está aplicación es vulnerable clave de la gestión de los ataques o ataques de canal lateral, entonces realmente no importa cómo muchos niveles de cifrado de aplicar.Aquí es donde me gustaría enfocar sus esfuerzos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top