Mecanismo utilizado para la autenticación fuera de línea del software

0

Para evitar que el usuario descargue copias piratas del software, los usuarios a menudo tienen que ingresar una serie de números hexadecimales que se utilizarían para autenticar al usuario.

Creo que la idea básica sería que la clave secreta esté incrustada en el software y se produzca una autenticación exitosa cuando haya una coincidencia entre la cadena ingresada por el usuario y la clave secreta.

Me gustaría saber el mecanismo real detrás de esta idea

¿Qué otro mecanismo posible se usa cuando el software no requiere conexión a Internet para autenticarse?

Gracias

NB: No estoy seguro de si este es el sitio correcto para esta pregunta, transfiera la pregunta al sitio apropiado cuando sea necesario

    
pregunta Computernerd 13.02.2015 - 04:41
fuente

1 respuesta

1

Tu pregunta es un poco confusa, así que no estoy exactamente seguro de lo que estás preguntando, pero lo intentaré.

A veces, cuando descarga software, se proporciona información que a menudo parece un valor hexadecimal largo y en ocasiones se denomina suma de comprobación o firma. Este es un valor único generado mediante el uso del software como entrada para una función de hash o suma de comprobación. Se garantiza que la salida de este proceso será la misma siempre que la entrada sea exactamente la misma. Si la entrada se ha cambiado de alguna manera, el valor de salida será diferente. Esto es esencialmente una verificación de integridad. Si estuviera haciendo un software disponible para descargar, podría incluir esta información junto con detalles de cómo se generó, es decir, SHA1, CRC-32, etc. Con esa información, puede usar un programa para generar la firma o suma de comprobación de la versión descargada. del software y ver si obtiene el mismo valor. Si lo hace, entonces puede estar seguro de que el software no se ha modificado (ya sea por accidente durante la descarga o por alguien más malicioso).

El otro lugar verá cosas que pueden parecer un poco como una cadena hexadecimal con claves de licencia de software. Estos se utilizan para garantizar que la persona que usa el software tenga licencia para hacerlo. Hay algunas formas en que esto puede ser implementado. Para el software que se va a utilizar en un escenario fuera de línea, el enfoque general es una clave larga que el software puede verificar como una clave de licencia legítima. La clave puede tener una mezcla de componentes, algunos de los cuales pueden verificarse fuera de línea mientras que otros solo pueden verificarse en línea o simplemente puede ser un algoritmo muy simple donde solo verifica que ciertos bits de información están todos allí y En la posición correcta. Con una verificación fuera de línea, debe tener un enfoque que no se base en los detalles específicos del usuario, ya que no hay manera de verificarlos. En este caso, es probable que el proceso de verificación solo verifique que la clave tiene los elementos o la estructura necesarios. Normalmente, la clave será lo suficientemente larga para que adivinar una clave válida sea muy difícil con una probabilidad muy baja. Las claves largas también hacen que sea más difícil para las personas compartir claves, pero esta es una de las limitaciones de la verificación de claves fuera de línea. Con la verificación de la clave en línea, es posible que el software envíe una consulta a una base de datos central que rastree el uso de la clave de licencia. Esta base de datos puede incluso registrar asociaciones del software y la clave para evitar que la clave se use con varias instancias del software.

    
respondido por el Tim X 13.02.2015 - 07:41
fuente

Lea otras preguntas en las etiquetas