Articulo de referencia

Clave del producto

"}"> Clave de producto en un Certificado de autenticidad de licencia para Windows Vista Home Premium Una clave de producto , también conocida como clave de software, clave seria...

Página semiprotegida

Clave de producto en un Certificado de autenticidad de licencia para Windows Vista Home Premium

Una clave de producto , también conocida como clave de software, clave serial o clave de activación , es una clave específica basada en software para un programa informático . Certifica que la copia del programa es original.

Las claves de producto consisten en una serie de números y/o letras. Esta secuencia suele ser introducida por el usuario durante la instalación del software y, posteriormente, se envía a una función de verificación del programa. Esta función procesa la secuencia de claves según un algoritmo o fórmula matemática e intenta comparar los resultados con un conjunto de soluciones válidas. Puede utilizarse una función hash para convertir letras en números. Si los resultados coinciden, el programa se activa, permitiendo su uso o el desbloqueo de sus funciones. Conociendo el algoritmo utilizado, por ejemplo, mediante ingeniería inversa del programa, es posible crear programas llamados keygens que generan estas claves para un programa específico.

Eficacia

La generación estándar de claves, donde las claves de producto se generan matemáticamente, no es completamente eficaz para detener la infracción de derechos de autor del software , ya que estas claves pueden distribuirse. Además, con la mejora de las comunicaciones gracias al auge de Internet , se han vuelto comunes ataques más sofisticados contra las claves, como los cracks (que eliminan la necesidad de una clave) y los generadores de claves de producto .

Debido a esto, los editores de software utilizan métodos adicionales de activación de productos para verificar que las claves sean válidas y no estén comprometidas. Un método asigna una clave de producto basada en una característica única del hardware del ordenador del comprador, que no se puede duplicar fácilmente ya que depende del hardware del usuario. Otro método implica requerir una validación única o periódica de la clave de producto con un servidor de internet (para juegos con un componente en línea, esto se hace cada vez que el usuario inicia sesión). El servidor puede desactivar el software cliente no modificado que presente claves inválidas, duplicadas, faltantes o comprometidas de alguna otra manera. Los clientes modificados pueden eludir estas comprobaciones, [ 1 ] pero el servidor aún puede denegarles información o comunicación.

Ejemplos

Clave de Windows 95 para venta al público

Las claves de producto de venta al público de Windows 95 tienen el formato XXX-XXXXXXX. [ 2 ] Para determinar si la clave es válida, Windows 95 realiza las siguientes comprobaciones:

  • Los tres primeros caracteres no deben ser iguales a 333, 444, 555, 666, 777, 888 o 999.
  • Los últimos 7 caracteres deben ser todos números del 0 al 8.
  • La suma de los últimos 7 números debe ser divisible por 7 sin dejar resto.
  • El cuarto carácter no está marcado.

Si todas las comprobaciones son satisfactorias, la clave de producto es válida. Por lo tanto, una clave de producto del tipo 000-0000000 se consideraría válida bajo estas condiciones.

Clave OEM de Windows 95

Las claves OEM de Windows 95 tienen el formato XXXXX-OEM-XXXXXXX-XXXXX.

  • Los tres primeros caracteres deben ser un número entre 0 y 366.
  • Los siguientes 2 caracteres deben ser un número entre 04 y 93.
  • Los siguientes 3 caracteres deben ser OEM.
  • La suma de los siguientes 7 números debe ser divisible por 7 sin dejar resto.
  • El resto de los caracteres no están marcados.

Clave de venta al público de Windows XP

Windows XP utiliza un ID de instalación, un ID de producto y una clave de producto para la activación. [ 3 ] [ 4 ]

ID de instalación

El ID de instalación es una cadena decimal de 50 dígitos dividida en 8 grupos de seis dígitos cada uno, con dos dígitos al final, y tiene el formato XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XX. El ID de instalación se regenera cada vez que se ejecuta msoobe.exe.

Dígitos de control

El dígito situado más a la derecha en cada grupo del ID de instalación es un dígito de control.

  • Cada dígito de control se calcula sumando los otros cinco dígitos de su grupo.
  • Luego, sumar los dígitos de ese grupo en las posiciones pares por segunda vez.
  • Luego, dividiendo la suma de ellos entre 7.
  • El resto es el valor del dígito de control en su grupo.
Descodificación

Al eliminar los dígitos de control, se obtiene un entero de precisión múltiple de 136 bits codificado en decimal de 41 dígitos , que se almacena en orden de bytes little endian como una matriz de bytes .

Descifrado

Los 16 bytes inferiores del ID de instalación están cifrados, mientras que el byte más significativo se mantiene en texto plano. El algoritmo criptográfico utilizado para cifrar el ID de instalación es un cifrado Feistel propietario de cuatro rondas . Dado que el bloque de bytes de entrada que se pasa a un cifrado Feistel se divide en dos bloques de igual tamaño, esta clase de cifrados se aplica normalmente a bloques de entrada que constan de un número par de bytes; en este caso, los 16 bytes inferiores de los 17 bytes de entrada. La función de ronda del cifrado es el algoritmo de resumen de mensajes SHA-1 con una clave de una secuencia de cuatro bytes.

Sea + la concatenación de dos secuencias de bytes, ^ la operación XOR , L y R la mitad de entrada de ocho bytes izquierda y derecha para una ronda, L' y R' las mitades de salida de dicha ronda, y First-8() una función que devuelve los primeros ocho bytes de un resumen de mensaje SHA-1.

Entonces, una ronda de descifrado se ve así.

L' = R ^ First-8(SHA-1(L + Key))

R' = L

El resultado del descifrado son 16 bytes de texto plano, que junto con el decimoséptimo byte sin cifrar se interpretarán como cuatro palabras dobles en orden de bytes little endian seguidas de un solo byte.

H1 y H2 especifican la configuración de hardware a la que está vinculado el ID de instalación. P1 y P2, así como el byte restante P3, contienen el ID de producto asociado con el ID de instalación.

ID del producto

El ID del producto consta de cinco grupos de dígitos decimales, como en AAAAA-BBB-CCCCCCC-DDEEE.

Descodificación

La correspondencia entre el ID del producto en representación decimal y su codificación binaria en las palabras dobles P1 y P2 y el byte P3 se resume en la siguiente tabla.

Clave del producto

La clave de producto tiene el formato XXXXX-XXXXX-XXXXX-XXXXX-XXXXX. Cada carácter es una de las siguientes 24 letras y dígitos: BCDFGHJKMPQRTVWXY 2 3 4 6 7 8 9

Los 25 caracteres de la clave de producto forman una codificación en base 24 de su representación binaria. La clave de producto es un entero de precisión múltiple de aproximadamente 115 bits, almacenado en orden de bytes little-endian en una matriz de 15 bytes. De estos 15 bytes, los cuatro menos significativos contienen la clave de producto original en orden little-endian. El bit menos significativo se elimina desplazando este valor de 32 bits una posición a la izquierda. Los once bytes restantes forman una firma digital, lo que permite verificar la autenticidad de la clave de producto mediante una clave pública codificada.

Para obtener el componente CCCCCCC, se añade un dígito de control, elegido de forma que la suma de todos sus dígitos, incluido el de control, sea divisible por siete. Para verificar una clave de producto, se dispone de más de una clave pública . Si la verificación con la primera clave pública falla, se prueba con la segunda, y así sucesivamente. El componente DD del ID de producto especifica cuál de las claves públicas de esta secuencia se utilizó correctamente para verificar la clave de producto.

campos de bits de información de hardware

La configuración de hardware vinculada al ID de instalación está representada por las dos palabras dobles H1 y H2. Para ello, las palabras dobles se dividen en doce campos de bits.

Si es posible el acoplamiento , el mecanismo de activación será más tolerante a futuras modificaciones de hardware. Si el componente de hardware correspondiente a uno de los diez campos de bits restantes está presente, dicho campo contiene un valor distinto de cero que describe el componente. Un valor de cero indica que el componente de hardware no está presente. Todos los componentes de hardware se identifican mediante una cadena de identificación obtenida del registro. Al aplicar una función hash a esta cadena, se obtiene el valor del campo de bits correspondiente.

Hashing

El resultado del hash se obtiene introduciendo la cadena de identificación del hardware en el algoritmo de resumen de mensajes MD5 y seleccionando el número de bits necesarios para un campo de bits de ubicaciones predeterminadas en el resumen de mensajes resultante. Se utilizan diferentes ubicaciones predeterminadas para diferentes campos de bits. Además, se evita un resultado de hash cero calculandoHash=(Hash%BitFimildMETROaincógnita)+1{\displaystyle Hash=(Hash\%BitFieldMax)+1}Donde BitFieldMax es el valor máximo que se puede almacenar en el campo de bits en cuestión, por ejemplo, 1023 para un campo de bits de 10 bits, y 'x  % y' denota el resto de la división de x entre y. Esto da como resultado valores entre 1 y BitFieldMax. El valor obtenido se almacena en el campo de bits correspondiente.

campo de bits de RAM

El campo de bits relacionado con la cantidad de RAM disponible para el sistema operativo se calcula de forma diferente a los demás campos de bits, como se muestra en la tabla.

Tenga en cuenta que la cantidad de RAM se obtiene mediante la función GlobalMemoryStatus(), que devuelve unos cientos de kilobytes menos que la cantidad de RAM instalada físicamente. Por lo tanto, 128 MB de RAM se clasificarían normalmente como "entre 64 MB y 127 MB".

Modificaciones de hardware

wpa.dbl es una base de datos cifrada con RC4 que almacena información sobre la caducidad, el ID de confirmación de una instalación activada, los valores de los campos de bits que representan la configuración actual del hardware y los valores de los campos de bits que representan la configuración del hardware en el momento de la activación del producto, entre otros. La configuración actual del hardware se actualiza automáticamente cada vez que se modifica para reflejar los cambios, mientras que los valores que representan la configuración del hardware en el momento de la activación del producto permanecen fijos. Para determinar si es necesaria la reactivación, se comparan los valores de los campos de bits de la configuración actual del hardware con la configuración del hardware en el momento de la activación.

Ordenadores no acoplables

Se comparan todos los campos de bits, a excepción del campo no utilizado y el campo "acoplable". Si más de tres de estos diez campos de bits han cambiado en la configuración de hardware actual desde la activación del producto, es necesario reactivarlo.

Ordenadores acoplables

Si el bit 31 de H2 indica que nuestro ordenador admite una estación de acoplamiento, solo se comparan siete de los diez campos de bits mencionados anteriormente. Se omiten los campos de bits correspondientes al adaptador de host SCSI, el controlador IDE y la tarjeta gráfica. De estos siete campos de bits restantes, solo pueden cambiar hasta tres sin necesidad de reactivación.

Controversia

Algunas de las protecciones de claves de producto más efectivas son controvertidas debido a las molestias que generan, su estricta aplicación, las severas sanciones y, en algunos casos, los falsos positivos. Algunas claves de producto utilizan procedimientos digitales inflexibles para garantizar el cumplimiento del acuerdo de licencia.

Inconveniencia

Las claves de producto resultan algo incómodas para los usuarios finales. No solo deben introducirse cada vez que se instala un programa, sino que además el usuario debe asegurarse de no perderlas. La pérdida de una clave de producto suele implicar que el software quede inservible una vez desinstalado, a menos que, antes de la desinstalación, se utilice una aplicación de recuperación de claves (aunque no todos los programas admiten esta función). [ 5 ]

Las claves de producto también presentan nuevas formas en que la distribución puede fallar. Si un producto se envía con claves faltantes o inválidas, entonces el producto en sí es inútil. Por ejemplo, todas las copias de Splinter Cell: Pandora Tomorrow que se enviaron originalmente a Australia no tenían claves de producto. [ 6 ]

Aplicación y sanciones

Existen numerosos casos de baneos permanentes impuestos por empresas que detectan infracciones de uso. Es común que un sistema en línea bloquee inmediatamente una cuenta que utilice cracks o, en algunos casos, trampas. Esto conlleva un baneo permanente. Los jugadores que deseen seguir utilizando el software deben volver a comprarlo. Esto ha generado, inevitablemente, críticas sobre las motivaciones para imponer baneos permanentes.

Resulta particularmente controvertida la situación que surge cuando las claves de varios productos están vinculadas entre sí. Si los productos dependen de otros (como ocurre con los paquetes de expansión ), es común que las empresas prohíban todos los productos vinculados. Por ejemplo, si se utiliza una clave falsa con un paquete de expansión, el servidor puede bloquear las claves legítimas del juego original. De forma similar, con el servicio Steam de Valve, todos los productos que el usuario ha comprado están vinculados a una sola cuenta. Si esta cuenta es bloqueada, el usuario perderá el acceso a todos los productos asociados a la misma. [ 7 ]

Esta "prohibición múltiple" es muy controvertida, ya que impide a los usuarios acceder a productos que han comprado y utilizado legítimamente.

Falsos positivos

Los servidores aplican las prohibiciones inmediatamente al detectar trampas o hacks, generalmente sin intervención humana. En ocasiones, se considera erróneamente que usuarios legítimos infringen la licencia y se les prohíbe el acceso. En muchos casos de falsos positivos, a veces se corrigen (como sucedió en World of Warcraft [ 8 ] ) . Sin embargo, es posible que no se preste atención a casos individuales.

Una causa común de falsos positivos (como en el caso de World of Warcraft mencionado anteriormente) son los usuarios de plataformas no compatibles. Por ejemplo, los usuarios de Linux pueden ejecutar aplicaciones de Windows a través de capas de compatibilidad como Wine y Cedega . Esta combinación de software a veces activa el software antitrampas del servidor del juego, lo que resulta en una prohibición debido a que Wine o Cedega son capas de compatibilidad de la API de Windows para Linux, por lo que el servidor del juego los considera software de terceros (trampas). [ 9 ]

Véase también

Referencias

  1. Chang, Hoi; Atallah, Mikhail J. (2002). "Protección de códigos de software mediante mecanismos de seguridad". Seguridad y privacidad en la gestión de derechos digitales . Springer. págs.  160-175. doi : 10.1007/3-540-47870-1_10 . ISBN 978-3-540-47870-6.
  2. Upadhyay, Saket (14 de mayo de 2021). "Revirtiendo el mecanismo de verificación de clave de producto de Windows 95 de Microsoft" .
  3. Purdy, Kevin (26 de mayo de 2023). "Colinas verdes para siempre: descifran el algoritmo de activación de Windows XP después de 21 años" . Ars Technica . Consultado el 29 de junio de 2024 .
  4. Chaussee, Rudower (julio de 2001). "Activación de productos Windows por dentro" . Licenturion . Consultado el 28 de junio de 2024 .
  5. "ProduKey - Recupera la clave de producto (clave de CD) perdida de Windows/MS-Office/SQL Server" . NirSoft . Consultado el 09/02/2021 .
  6. Problemas con la clave de CD de Pandora Tomorrow en Australia - Noticias de Shack
  7. "Valve suspende 20.000 cuentas de Steam" . GameSpot . Consultado el 15 de mayo de 2013 .
  8. Blizzard levanta la prohibición a los jugadores de World of Warcraft en Linux (Softpedia)
  9. "Usuarios de Linux prohibidos en Diablo 3 - End Gamers" . Archivado del original el 10/07/2012 . Consultado el 14/08/2012 .