stringtranslate.com

Clave del producto

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

Una clave de producto , también conocida como clave de software, clave de serie 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 la ingresa normalmente el usuario durante la instalación del software de la computadora y luego se pasa a una función de verificación en el programa. Esta función manipula la secuencia de teclas según un algoritmo matemático e intenta hacer coincidir los resultados con un conjunto de soluciones válidas.

Eficacia

La generación de claves estándar, en la que las claves de producto se generan matemáticamente, no es completamente eficaz para detener la infracción de los 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 los ataques más sofisticados a las claves, como los cracks (que eliminan la necesidad de una clave) y los generadores de claves de producto .

Por este motivo, los editores de software utilizan métodos de activación de productos adicionales para verificar que las claves sean válidas y no estén comprometidas. Un método asigna una clave de producto en función de una característica única del hardware de la computadora del comprador, que no se puede duplicar fácilmente ya que depende del hardware del usuario. Otro método implica exigir 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 presenta claves no válidas o comprometidas. Los clientes modificados pueden eludir estas comprobaciones, [1] pero el servidor aún puede negarles información o comunicación.

Ejemplos

Clave de venta minorista de Windows 95

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

Si se superan todas las comprobaciones, la clave de producto es válida. Por lo tanto, una clave de producto 000-0000000 se consideraría válida en estas condiciones.

Clave OEM de Windows 95

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

Clave de venta minorista 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]

Identificación de instalación

El ID de instalación es una cadena decimal de 50 dígitos que se divide en 5 grupos de seis dígitos cada uno con 2 dígitos al final, que 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 más a la derecha en cada grupo del ID de instalación es un dígito de verificación.

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 se cifran, mientras que el byte más significativo se mantiene en texto sin formato. El algoritmo criptográfico utilizado para cifrar el ID de instalación es un cifrado Feistel patentado 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 de entrada. La función de ronda del cifrado es el algoritmo de resumen de mensajes SHA-1 codificado con una secuencia de cuatro bytes.

Sea + la concatenación de dos secuencias de bytes, ^ la operación XOR , L y R las mitades de entrada izquierda y derecha de ocho bytes 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.

Luego una ronda de descifrado se ve de la siguiente manera.

         L' = R ^ Primero-8(SHA-1(L + Tecla))

         R' = L

El resultado del descifrado son 16 bytes de texto sin cifrar, que junto con el byte 17 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.

Identificación del producto

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

Descodificación

La relación 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 del 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 la representación binaria de la clave de producto. La clave de producto es un entero de precisión múltiple de aproximadamente 115 bits, que se almacena en orden de bytes little endian en una matriz de 15 bytes. De estos 15 bytes, los cuatro bytes menos significativos contienen la clave de producto sin procesar en orden de bytes little endian. El bit menos significativo se elimina desplazando este valor de 32 bits hacia la izquierda una posición de bit. Los once bytes restantes forman una firma digital, que permite la verificación de la autenticidad de la clave de producto mediante una clave pública codificada.

Para obtener el componente CCC, se añade un dígito de control y se elige el dígito de control de forma que la suma de todos los dígitos, incluido el dígito de control, sea divisible por siete. Para verificar una clave de producto, hay más de una clave pública disponible. Si falla la verificación con la primera clave pública, se intenta con la segunda, etc. 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 asociada al ID de instalación se representa mediante 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 con respecto a futuras modificaciones de hardware. Si el componente de hardware correspondiente a uno de los diez campos de bits restantes está presente, el campo de bits respectivo contiene un valor distinto de cero que describe el componente. Un valor de cero marca el componente de hardware como no presente. Todos los componentes de hardware se identifican mediante una cadena de identificación de hardware obtenida del registro. Al aplicar un algoritmo hash a esta cadena, se obtiene el valor para el campo de bits correspondiente.

Hash (hash)

El resultado hash se obtiene introduciendo la cadena de identificación de hardware en el algoritmo de resumen de mensaje MD5 y seleccionando la cantidad de bits necesarios para un campo de bits a partir de ubicaciones predeterminadas en el resumen de mensaje resultante. Se utilizan diferentes ubicaciones predeterminadas para diferentes campos de bits. Además, se evita un resultado hash de cero calculando . 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 por y. Esto da como resultado valores entre 1 y BitFieldMax. El valor obtenido se almacena entonces en el campo de bits respectivo.

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 recupera llamando a la función GlobalMemoryStatus(), que informa unos cientos de kilobytes menos que la cantidad de RAM instalada físicamente. Por lo tanto, 128 MB de RAM normalmente se clasificarían como "entre 64 MB y 127 MB".

Modificaciones de hardware

wpa.dbl es la base de datos cifrada RC4 que almacena información de vencimiento, el ID de confirmación de una instalación activada, los valores de campo de bits que representan la configuración de hardware actual y los valores de campo de bits que representan la configuración de hardware en el momento de la activación del producto, etc. La configuración de hardware actual se actualiza automáticamente cada vez que se modifica la configuración de hardware para reflejar los cambios, mientras que los valores que representan la configuración de hardware en el momento de la activación del producto son fijos. Al juzgar si es necesaria la reactivación, los valores de campo de bits de la configuración de hardware actual se comparan con la configuración de hardware en el momento de la activación.

Computadoras no acoplables

Se comparan todos los campos de bits, con 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, se requiere una nueva activación.

Computadoras acoplables

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

Controversia

Algunas de las protecciones de claves de producto más eficaces son controvertidas debido a los inconvenientes, la aplicación estricta, las sanciones severas y, en algunos casos, los falsos positivos. Algunas claves de producto utilizan procedimientos digitales estrictos para hacer cumplir el acuerdo de licencia.

Inconveniencia

Las claves de producto son algo incómodas para los usuarios finales. No sólo hay que introducirlas cada vez que se instala un programa, sino que el usuario también debe asegurarse de no perderlas. La pérdida de una clave de producto suele significar que el software queda 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 de que la distribución salga mal. Si un producto se envía con claves faltantes o no válidas, el producto en sí mismo es inútil. Por ejemplo, todas las copias de Splinter Cell: Pandora Tomorrow se enviaron originalmente a Australia sin claves de producto. [6]

Aplicación y sanciones

Existen muchos casos de baneos permanentes aplicados por empresas que detectan violaciones de uso. Es común que un sistema en línea incluya inmediatamente en la lista negra una cuenta que haya sido sorprendida utilizando cracks o, en algunos casos, trampas. Esto resulta en un baneo permanente. Los jugadores que deseen continuar usando el software deben volver a comprarlo. Esto inevitablemente ha generado críticas sobre las motivaciones para aplicar baneos permanentes. [ cita requerida ]

Particularmente controvertida es la situación que surge cuando las claves de varios productos están vinculadas entre sí. Si los productos tienen dependencias con otros productos (como es el caso de 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 prohibir las claves legítimas del juego original. De manera similar, con el servicio Steam de Valve, todos los productos que el usuario ha comprado están vinculados a una sola cuenta. Si se prohíbe esta cuenta, el usuario perderá el acceso a todos los productos asociados con la misma cuenta. [7]

Esta "prohibición múltiple" es muy controvertida, ya que prohíbe a los usuarios acceder a productos que han comprado y utilizado legítimamente. [ cita requerida ]

Falsos positivos

Los servidores aplican prohibiciones inmediatamente después de detectar cracks o trampas, normalmente sin intervención humana. A veces, se considera erróneamente que los usuarios legítimos infringen la licencia y se les prohíbe jugar. En los casos importantes de falsos positivos, a veces se corrigen (como sucedió en World of Warcraft . [8] ) Sin embargo, puede que no se preste atención a los casos individuales. [ cita requerida ]

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 una capa de compatibilidad de API de Windows para Linux, por lo que el servidor del juego lo considera software de terceros (para trampas). [9] [ cita requerida ]

Véase también

Referencias

  1. ^ Chang, Hoi; Atallah, Mikhail J. (2002). "Protección de códigos de software por parte de guardias". Seguridad y privacidad en la gestión de derechos digitales. Springer. pág. 160-175. doi :10.1007/3-540-47870-1_10. ISBN 978-3-540-47870-6.
  2. ^ Upadhyay, Saket (14 de mayo de 2021). "Reversión del 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: algoritmo de activación de Windows XP descifrado 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 de Windows desde dentro". Licenturion . Consultado el 28 de junio de 2024 .
  5. ^ "ProduKey - Recuperar clave de producto perdida (CD-Key) de Windows/MS-Office/SQL Server". NirSoft . Consultado el 9 de febrero de 2021 .
  6. ^ Problemas con la clave del CD de Pandora Tomorrow en Australia Shack News
  7. ^ "Valve suspende 20.000 cuentas de Steam". GameSpot . Consultado el 15 de mayo de 2013 .
  8. ^ Blizzard elimina la prohibición de jugadores de World of Warcraft para Linux Softpedia
  9. ^ "Usuarios de Linux baneados de Diablo 3: jugadores que se quedan sin jugadores". Archivado desde el original el 10 de julio de 2012. Consultado el 14 de agosto de 2012 .