SVN + Veracrypt + Dropbox?

Estoy trabajando en un proyecto privado y me siento un poco paranoico porque alguien robe mi código y no quiera confiar en la honestidad del service actual de hosting de control de código fuente, aunque no tengo ninguna razón para no confiar en ellos. . En el futuro previsible, seré el único que trabaje en este proyecto.

Estoy pensando en crear una pequeña unidad virtual Veracrypt y un repository SVN y mantener el file encryption en Dropbox para la synchronization automática.

Todavía uso Truecrypt de vez en cuando (he estado pensando en migrar a Veryacrypt) y mantengo su pequeña unidad virtual cifrada en Dropbox. No lo uso en el repository SVN, pero de lo contrario la idea es similar. El problema es que tengo que desmontar la unidad para que el file se sincronice, así que supongo que el contenido y la timestamp del file se actualizan solo en ese momento. Por lo que yo entiendo, el desarrollo de Truecrypt se ha detenido, y Veracrypt es una bifurcación que se mantiene y desarrolla más.

¿Hay alguna manera de configurar Veracrypt para realizar un vaciado automático para asegurarse de que el file se sincronice todo el time?

¿Hay una mejor manera de hacerlo, tal vez un service de alojamiento SVN que garantice la security de los clientes paranoicos?

Soy el principal desarrollador detrás de VeraCrypt y acabo de responder a su pregunta similar en el foro de VeraCrypt en CodePlex: https://veracrypt.codeplex.com/discussions/568126 . Lo estoy reproduciendo aquí para el logging.

En realidad, no hay nada que podamos hacer para forzar el enjuague automático de los datos en el contenedor cada vez que se realizan cambios. Para explicar por qué, tomaré el ejemplo de una unidad flash USB. Cuando escribe datos en una llave USB conectada, no hay garantía de que se escriban de inmediato: en cambio, Windows por motivos de performance utiliza un mecanismo de caching para almacenar sus datos o modificaciones y se escribirán en el dispositivo después de un retraso que depende de factores múltiples La única manera de asegurarse de que sus datos se hayan escrito en su llave USB es "Expulsarla de manera segura".

Windows maneja una unidad virtual VeraCrypt de la misma manera: cuando realiza cambios en el contenido de la unidad, los datos no encriptados no se escriben de inmediato y, por lo tanto, nuestro controller de dispositivo no recibe nada que se pueda encriptar y escribir en el contenedor encryption . Tenemos que esperar a que Windows descargue los datos a la unidad virtual y luego podemos encriptarlos. Cuando desmontas la unidad virtual, Windows reactjs de la misma manera que la expulsión de la unidad flash USB: vacía los datos pendientes en el almacenamiento, lo que a su vez desencadena su encryption en el controller de nuestro dispositivo y hace que VeraCrypt almacene los datos encryptions en el encryption envase.

Hay herramientas gratuitas en Internet que le permiten forzar explícitamente a Windows a eliminar todos los datos pendientes en una unidad específica (como Sync de Sysinternals y FFB de la página web de Uwe Sieber). Pero deben ejecutarse con privilegios administrativos.

En su caso específico, tengo una solución: puede usar un SVN Hook Script . Cree un script de enganche Post-commit donde llame a una de las herramientas que he enumerado anteriormente con los parameters correctos para vaciar los datos en el disco virtual deseado después de cada confirmación. No olvide configurar el progtwig exe para que se ejecute siempre como administrador modificando sus properties de compatibilidad (este enlace explica cómo: http://technet.microsoft.com/en-us/magazine/ff431742.aspx )

Último punto: Linux tiene el mismo problema, pero el command mount tiene opciones para escribir datos automáticamente en el sistema de files (es decir, -o sync o -o flush). VeraCrypt usa el command mount internamente y ofrece la posibilidad de especificar opciones adicionales para pasar al command mount: si usas la línea de command VeraCrypt, puedes usar el interruptor –fs-options (es decir, –fs-options = sync) y si usa la GUI, simplemente click el button "Opciones" en el cuadro de dialog de contraseña: aparecerán nuevos campos y en "Opciones de assembly" puede poner "sincronizar" o "vaciar".

Espero que estos elementos te ayuden a resolver tus problemas de synchronization.

¿Hay una mejor manera de hacerlo, tal vez un service de alojamiento SVN que garantice la security de los clientes paranoicos?

Esta parte es confusa Es paranoico sobre la confidencialidad de su base de código y al mismo time acepta el uso de un service alojado como su almacenamiento. "Was wissen zwei, wisst Schwein".

Instale su server Subversion privado. Puede configurar el server de Subversion en su server local, un hosting dedicado o en una máquina Windows Azure / Amazon EC2.