¿Cómo puedo demostrar a los usuarios del software que los binarios que publico coinciden con el código fuente que fue inspeccionado y verificado por un tercero? [duplicar]

0

Si tengo un software que es como TrueCrypt donde la seguridad es muy importante, pero a diferencia de TrueCrypt porque el mío no misteriosamente se desconectará por lo que aparentemente no hay razón para ello , ¿cómo puedo demostrar que mis archivos binarios que publico en el sitio coinciden con el código fuente que se ha verificado de forma independiente?

En esta pregunta , parece que la construcción independiente del código fuente no genera el mismo ejecutable cada vez.

Quiero poder demostrar que no hay puertas traseras, porque esto, a diferencia de TrueCrypt, implicará el almacenamiento remoto de datos, y no quiero que nadie piense que las claves podrían filtrarse de ninguna manera.

    
pregunta Phoenix Logan 19.06.2014 - 14:11
fuente

1 respuesta

4

No puede probar que el binario que proporciona realmente coincide con un código fuente dado. No es teóricamente imposible, pero requeriría una cooperación sustancial por parte del compilador. Algunos investigadores están trabajando en ese tema para algunos idiomas que se adaptan mejor a esa tarea que C (en su mayoría ML o derivado de Lisp). En cualquier caso, aún no hay un producto disponible, y no lo estará por algún tiempo, por lo que en la práctica no es una opción.

Sus mejores opciones son entonces:

  • Proporcione el código fuente (con la prueba de que es el mismo archivo que el utilizado por el revisor independiente) para que los usuarios puedan hacer la compilación ellos mismos.
  • Pida a las personas que realizaron la "revisión independiente" que realicen la compilación y proporcionen el binario resultante.

En cualquier caso, los usuarios tendrán que confiar en alguien : usted, los revisores independientes ... de la misma manera que tienen que confiar en Microsoft, Intel, AMD y todas las demás partes involucradas En el edificio de la computadora. Así que tal vez la pregunta no es la correcta. El propio compilador puede empujar una puerta trasera en un código fuente limpio (hay un ejemplo muy clásico de ese tipo de truco). En lugar de preguntar cómo podría probar que el paso de la compilación no incluyó una puerta trasera, debería preguntar: ¿cómo puedo crear suficiente reputación para que la gente confíe en mí?

    
respondido por el Tom Leek 19.06.2014 - 15:27
fuente

Lea otras preguntas en las etiquetas