Pregunta

Es Castillo hinchable de la API Hilo De Seguridad ?Especialmente,

org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher
org.bouncycastle.crypto.paddings.PKCS7Padding
org.bouncycastle.crypto.engines.AESFastEngine
org.bouncycastle.crypto.modes.CBCBlockCipher

Estoy planeando escribir un singleton Primavera bean para el nivel básico de la criptografía de apoyo en mi aplicación.Ya que es una aplicación web, hay más posibilidades de múltiples hilos de acceder a este componente a la vez.Así que la banda de rodadura de seguridad es esencial aquí.

Por favor, hágamelo saber si usted ha venido a través de tales situaciones con Castillo Hinchable.

¿Fue útil?

Solución

Realmente no importa si la API/Código es seguro para subprocesos.CBC cifrado en sí mismo no es seguro para subprocesos.Parte de la terminología -

E(X) = Enctrypt message X
D(X) = Dectrypt X. (Note that D(E(X)) = X)
IV = Initialization vector. A random sequence to bootstrap the CBC algorithm
CBC = Cipher block chaining.

Una muy simple CBC de la aplicación puede verse como:P1, P2, P3 = mensajes de texto sin formato

1. Generate an IV, just random bits.
2. Calculate E( P1 xor IV) call this C1
3. Calculate E( P2 xor C1) call this C2
4. Calculate E( P3 xor C2) call this C3.

Como se puede ver, el resultado de la encriptación de P1, P2 y P3 (en ese orden) es diferente de cifrado de P2, P1 y P3 (en ese orden).

Así, en un CBC de la aplicación, el orden es importante.Cualquier algoritmo donde el orden es importante que no puede, por definición, ser seguro para subprocesos.

Usted puede hacer un Singleton de fábrica que ofrece cifrado de los objetos, pero que no puede confiar en ellos para ser seguro para subprocesos.

Otros consejos

La versión J2ME no es seguro para subprocesos.

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