¿Cuáles son las pautas para un buen entorno de firma de código? [cerrado]

3

Tome este escenario como ejemplo: una organización tiene unos pocos servidores de compilación que verifican periódicamente la fuente desde un repositorio y construyen todo. Cuando una compilación finaliza, los binarios están firmados y archivados en código binario y, a veces, se publican junto con las firmas y el certificado público.

Suponiendo que:

  • El certificado EV privado se almacena en un token de hardware conectado al servidor de firmas, probablemente en un entorno físicamente seguro (entorno de firma de código).
  • el servidor probablemente esté basado en Linux.

¿Qué precauciones son apropiadas para dicho servidor de firmas, HSM o de otro tipo?

  • En caso de que el entorno de firma esté ubicado detrás de una puerta bloqueada, solo se puede acceder con una identificación.
  • ¿Podría ser suficiente negar la accesibilidad física simple (coloque el entorno de firma en una caja ventilada y físicamente segura?
  • ¿Cuáles son las consideraciones sobre la seguridad física que debe tener el medio ambiente?
  • ¿Una sala de servidores bloqueada sería lo suficientemente segura?
  • ¿Cuándo es inadecuado tener un servidor de firma de código conectado a la red de la empresa? (Para proporcionar acceso a los servidores de compilación)
  • ¿Las sesiones ssh basadas en claves son suficientes para asegurar las comunicaciones entre los servidores de compilación y el servidor de firmas a través de la red de la empresa?

¡Gracias!

    
pregunta Whome 16.11.2015 - 14:51
fuente

1 respuesta

3

El principal principio a considerar es este: la clave privada nunca debe moverse.

De ninguna manera el entorno de firma de código debe ser accesible al entorno de compilación / prueba. Si el entorno de compilación puede cumplir con las solicitudes de firma de código directamente, significa que comprometer el entorno de compilación / prueba (un espacio con una enorme superficie de ataque) podría comprometer su firma de código.

El código a firmar debe reubicarse en el entorno de firma, la clave no se puede mover al entorno de compilación.

Una solución que se me ocurre es que el sistema de compilación publique artefactos de compilación calificados y que un custodio clave (una persona real) obtenga esos artefactos de compilación, los firme en el entorno de firma y luego publique los artefactos firmados. a un repositorio de artefactos.

Preferiblemente, el entorno de firma estaría físicamente aislado, pero por razones de negocios, el nivel de protección que usted coloca en él no debe superar el riesgo de exposición clave multiplicado por el costo de la exposición clave. El entorno de firma en un escenario de muy bajo riesgo (solo tiene la firma de código para la conveniencia de la implementación y acepta el riesgo de daños a la reputación y la responsabilidad legal si se usa de manera malintencionada) podría ser la estación de trabajo del custodio clave si está suficientemente segura.     

respondido por el Alain O'Dea 16.11.2015 - 17:26
fuente