¿Mala práctica de encryption en Git-encrypt?

Comentarios en https://gist.github.com/shadowhand/873637 estado

"El encryption de modo ECB es un método de encryption relativamente simple que proporciona un alto nivel de ofuscación (o un bajo nivel de encryption). Este método no es muy seguro y no debe utilizarse para datos personales confidenciales, pero podría funcionar bien, por ejemplo. transmisión de código fuente entre partes privadas en un canal público. Para mayor security, puede cambiar el modo a CBC a costa de tener cada cambio de file completamente para cada modificación. Como con todo el encryption, siempre se recomienda una key segura ".

y

"Esta es una especie de (parte de) la definición de encriptación funcionalmente correcta – ECB (haga clic aquí para get una explicación) es una implementación henetworkingada defectuosa recomendada precisamente por nadie para el uso actual hoy en día, y solo admitida en OpenSSL porque OpenSSL admite algunas muy antiguas y ¡implementaciones criptográficas legadas! Solo es útil hoy en día como una herramienta de aprendizaje y nunca debería usarse en los sistemas actuales.

Los modos CBC de OFB deben ser los pnetworkingeterminados; considere cambiar su esencia para usar CBC y explique los beneficios potenciales del BCE junto con las desventajas para aquellos que deseen aceptar la pérdida de security por la poca conveniencia en git. ¡Nada debe ser inseguro por defecto! "

http://git.661346.n2.nabble.com/Transparently-encrypt-repository-contents-with-GPG-td2470145.html, sin embargo, indica que el uso de una sal de valor fijo para CBC es una mala práctica de encryption. Si cambiamos el modo a CBC (para https://gist.github.com/shadowhand/873637 o https://github.com/shadowhand/git-encrypt ), ¿usaría una sal de valor fijo y, por lo tanto, ser mala práctica de cryptography?

(También he publicado esta pregunta como un comentario en https://gist.github.com/shadowhand/873637 )

ECB es seguro cuando se usa para encriptar bloques únicos. Por ejemplo, si tiene una colección de keys secretas y quiere todas ellas con una key maestra, ECB es una opción segura.

ECB no es seguro cuando el mismo bloque se puede encriptar varias veces. Por ejemplo, es probable que largos pasajes de lenguaje natural contengan subcadenas que se repiten. O bien, es probable que los posts múltiples de un protocolo determinado tengan el mismo prefijo o sufijo. El uso de BCE con dicho text plano revelará patrones en el text sin formatting.

El término "sal de valor fijo para CBC" no tiene ningún sentido. "Sal" se utiliza en la derivación de key, creando una key secreta a partir de una contraseña. CBC requiere un "vector de initialization", que debe ser impnetworkingecible para cada post encryption. (Algunos protocolos criptocharts rotos tienen, en el pasado, IVs y keys generadas a partir de una contraseña, esto solo es seguro si la contraseña se usa para encriptar solo un post). Idealmente, un generador de bits aleatorios criptocharts genera una IV; usar un IV fijo en modo CBC puede revelar patrones en prefijos de post, muy parecido al BCE.

Para saber si el BCE es seguro aquí, se necesitaría más context (las preguntas deberían ser independientes, y no include información innecesaria). Sin embargo, una afirmación general de que el BCE siempre es inseguro es falsa; puede ser seguro en la aplicación correcta, y sus texts encryptions más cortos a veces pueden ser valiosos.

Intereting Posts