Confusión de firma de código

2

Normalmente hago aplicaciones de Windows gratuitas, ahora quiero firmarlas digitalmente. Así que los usuarios pueden estar seguros de que es de mí. Pero en lugar de comprar el certificado de firma de código, pensé que podría crear el mío. Pero nuevamente, si puedo crear, entonces cualquiera puede crear con la misma información que la mía. Sin embargo, no entiendo realmente cómo funciona todo esto en el usuario final.

Digamos que tengo una cadena en mi aplicación y la firmo digitalmente. Pero luego, otro tipo cambia esa cadena y crea su propio certificado con el mismo nombre de compañía que el mío y luego lo firma. Cómo el usuario final sabrá que es de él, no de mí. ¿O no funciona de esta manera?

Por lo que he entendido, al crear un certificado propio, debe agregarse en algún tipo de tienda para que Windows pueda reconocerlo. ¿Eso significa que, si creo mi propio certificado, todos los usuarios finales deberán agregar mi certificado también en sus computadoras? Y si eso es cierto, entonces, ¿cómo puedo estar seguro de que si compro el certificado, estará disponible al final del usuario? ¿Qué pasa si no está allí?

    
pregunta xmen 30.10.2014 - 04:52
fuente

2 respuestas

6

Para decirle al usuario final que USTED es el propietario real de la aplicación, DEBE comprar un certificado de un tercero de confianza (una parte a la que Windows también confía). Estos terceros se denominan Autoridades de certificación (CA) . A continuación le indicamos cómo puede obtener un certificado de una CA (de acuerdo con MSDN) .

  

Cómo el usuario final sabrá de él, no de mí. O su no   trabajar de esta manera?

Ahora, una de las responsabilidades de una CA es verificar su identificación antes de emitirle un certificado. Por lo tanto, ningún "otro tipo" puede obtener un certificado válido con su identidad de una CA. Windows verifica su certificado a través de un proceso denominado Verificación de la cadena de confianza . Puede encontrar más detalles sobre el proceso aquí .

  

Por lo que he entendido, al crear un certificado propio, debe estar   ¿Agregado en algún tipo de tienda para que Windows pueda reconocerlo?

Creo que la tienda de la que estás hablando aquí es Tecnología de almacén de certificados de Microsoft , que se utiliza básicamente para almacenar todos sus certificados, para que pueda elegirlos mientras firma. Además, no tiene que preocuparse por la disponibilidad de su certificado en el usuario final. Dado que su certificado está firmado por la CA (CA confía en usted) y Microsoft confía en que la Autoridad de Certificación y el usuario final confían en Microsoft, el usuario no tendrá problemas para identificar que el código le pertenece.

    
respondido por el Rahil Arora 30.10.2014 - 06:17
fuente
2

El punto de la firma de código es demostrar que el programa proviene de una fuente particular, presumiblemente confiable. Normalmente, un certificado basado en CA garantiza que se haya realizado alguna verificación de identidad, por lo que tiene un grado de confianza bastante alto de que el código es de la persona que lo firmó.

Puede autofirmarse, lo que aún probará que fue liberado por el titular de la clave privada que corresponde a la clave pública con la que está firmada, sin embargo, no hay una verificación independiente de la identidad, por lo que es solo Útil para verificar que la misma persona produjo dos programas diferentes.

Alguien más podría hacer un certificado similar con los mismos detalles, pero no tendrían su clave privada y la huella digital del certificado no coincidiría. De todos modos, sus usuarios no deberían confiar en la información de identidad de un certificado autofirmado, solo deberían saber que el último programa que obtuvieron de usted coincide con el nuevo programa que obtuvieron de usted, por lo que si el primero fue realmente suyo, entonces es el segundo.

Sin comprometer su clave privada, que solo usted tiene, no hay forma de que el atacante haga coincidir la huella digital de su firma, por lo que no pueden realmente hacerse pasar por un usuario alerta.

Dicho esto, es posible que su usuario promedio no reconozca ese hecho y simplemente confíe en lo que proporciona el certificado, incluso si tiene una huella digital diferente. Es por esto que realmente vale la pena obtener un certificado de firma de código de una CA si desea hacer este tipo de cosas.

Puede obtener uno muy barato de algunas de las CA más baratas. Personalmente, obtuve la mía a través de StartSSL. Me costaron $ 60 para verificar mi identidad y después de eso puedo emitir tantos certificados SSL y certificados S / Mime como quiera en mi nombre durante un año, además de recibir un certificado de firma de código a mi nombre.

    
respondido por el AJ Henderson 30.10.2014 - 16:17
fuente

Lea otras preguntas en las etiquetas