Comparación de las ventajas y desventajas de la tecnología de cifrado de información
Lo anterior resume las características respectivas de los dos métodos de cifrado y hace una breve comparación de sus ventajas y desventajas. En términos generales, los aspectos principales son los siguientes: Todos los algoritmos matemáticos son cifrado de contraseña El núcleo, pero. en general, el cifrado de software no parece preocupar mucho a la gente, porque la mayoría de las veces el cifrado de software en sí mismo implementa una técnica de programación. Sin embargo, con la popularidad de los programas de cifrado de números de serie en los últimos años, la proporción de algoritmos matemáticos en el cifrado de software parece estar aumentando.
Mira cómo funciona el cifrado de números de serie tan popular en Internet. Cuando un usuario descarga un shareware de Internet, suele haber un límite de tiempo para su uso. Una vez transcurrido el período de prueba del software compartido, debe acudir a la empresa del software para poder seguir utilizándolo. . El proceso de registro generalmente implica que el usuario proporcione a la compañía de software su información personal (generalmente principalmente su nombre) y su número de tarjeta de crédito. La compañía de software calculará un código de serie basado en la información del usuario. debe seguir los pasos requeridos para el registro. Ingrese la información de registro y el código de registro en el software. Una vez que el software verifique la legalidad de la información de registro, el software cancelará sus diversas restricciones. Este tipo de cifrado es relativamente simple de implementar. y no requiere costos adicionales Los usuarios también pueden comprarlo. Es muy conveniente, el 80% del software en Internet está protegido de esta manera.
El proceso de verificación del software de la legitimidad del número de serie es en realidad el proceso de verificar si la relación de conversión entre el nombre de usuario y el número de serie es correcta. Hay dos tipos básicos de verificación. Uno es generar un código de registro basado en el nombre ingresado por el usuario y luego compararlo con el código de registro ingresado por el usuario. La fórmula es la siguiente:
Número de serie = F (nombre de usuario)
Pero este método equivale a reproducir el proceso de la empresa de software que genera el código de registro en el software del usuario. En realidad, no importa cuán complicado sea el proceso de conversión. Es decir, el descifrador solo necesita convertir su proceso de conversión. Se puede compilar un programa de registro general extrayéndolo del programa.
La otra es verificar la exactitud del nombre de usuario a través del código de registro. La fórmula es la siguiente:
Nombre de usuario = F inverso (número de serie) (como ACDSEE).
Este es en realidad el algoritmo inverso del proceso de cálculo del código de registro de la empresa de software. Si el algoritmo directo y el algoritmo inverso no son algoritmos simétricos, será algo difícil para el descifrador, pero este algoritmo es bastante. difícil de diseñar.
Entonces alguien consideró el siguiente algoritmo:
F1 (nombre de usuario) = F2 (número de serie)
F1 y F2 son dos algoritmos completamente diferentes, pero el La palabra característica del nombre de usuario calculada por el algoritmo F1 es igual a la palabra característica del número de serie calculada por el algoritmo F2. Este algoritmo tiene un diseño relativamente simple y su confidencialidad es mucho mejor que los dos algoritmos anteriores. Si los algoritmos F1 y F2 pueden diseñarse como algoritmos irreversibles, la confidencialidad será bastante buena, pero una vez que el descifrador encuentre el algoritmo inverso de uno de ellos, este algoritmo no será seguro; Parece que no importa cuánto lo intentes, es difícil lograr un gran avance en el diseño del algoritmo unario. Entonces, ¿qué pasa con el algoritmo binario?
Valor específico = F (nombre de usuario, número de serie)
Este algoritmo se ve bastante bien. La relación entre el nombre de usuario y el número de serie ya no es tan clara, pero al mismo tiempo Sin. Para la correspondencia uno a uno entre los nombres de usuario y los números de serie, los desarrolladores de software deben mantener la unicidad entre los nombres de usuario y los números de serie, pero esto no parece ser difícil de hacer. Simplemente cree una base de datos. Por supuesto, el nombre de usuario y el número de serie también se pueden dividir en varias partes para construir un algoritmo múltiple.
Valor específico = F (nombre de usuario 1, nombre de usuario 2,... número de serie 1, número de serie 2...)
La mayoría de los algoritmos de cifrado de números de serie existentes están diseñados por Los propios desarrolladores de software, la mayoría son bastante simples. Además, aunque algunos autores de algoritmos se han esforzado mucho, los resultados a menudo no son los deseados. Un perro de software es una herramienta de cifrado inteligente. Es un circuito de hardware instalado en puerto paralelo, puerto serie y otras interfaces. También tiene un conjunto de software de interfaz y software de herramientas para varios idiomas.
Cuando el software protegido por el perro se está ejecutando, el programa emite un comando de consulta al software dog conectado a la computadora. El software dog calcula rápidamente la consulta y da una respuesta correcta para garantizar que el software continúe ejecutándose. Sin el software dog, el programa no se ejecutará. Se combinan tecnologías complejas de software y hardware para evitar la piratería de software. El software con valor comercial real generalmente está protegido por perros de software.
Los perros más comunes son los “extranjeros” (perros extranjeros) y los “local dogs” (perros domésticos). Los "perros extranjeros" aquí se refieren principalmente a American Rainbow y HASP de Israel, y los "perros locales" incluyen principalmente a Jintiandi (ahora una empresa conjunta con American Rainbow, llamada "Rainbow Tiandi"), Shen Shen y Jianshi. En términos generales, los "perros extranjeros" no son tan buenos como los "perros locales" en términos de interfaces de software, empaquetado, anti-seguimiento y otros aspectos "blandos", pero es muy difícil descifrar el hardware, mientras que los "perros locales" sí lo hacen; mejor en aspectos blandos. Es muy bueno, pero no es tan bueno como "perros extranjeros" en términos de hardware. Cualquiera con un poco de habilidad con el microcontrolador puede copiarlo. Formateando algunas pistas no estándar en el disquete, escribiendo algunos datos en estas pistas, como la clave de descifrado del software, etc. Este disquete se llama "disco clave". Cuando el software se está ejecutando, el usuario inserta el disquete y el software lee los datos de estas pistas y determina si se trata de un "disco clave" legal.
Existen otras tecnologías para el cifrado de disquetes, como el cifrado de bits débiles, etc. Con el declive de los disquetes en los últimos años, este método básicamente se ha retirado del escenario de la historia. Después de que el usuario obtiene (compra o descarga de Internet) el software, el software obtiene cierta información de hardware de la máquina del usuario durante la instalación (como el número de serie del disco duro, el número de serie BOIS, etc.) y luego combina esto. Se calcula la información con el número de serie del usuario, el nombre de usuario, etc., vinculando así las partes de software y hardware hasta cierto punto. El usuario debe enviar este número de serie al proveedor o desarrollador de software por correo electrónico, teléfono o correo postal. El desarrollador de software puede utilizar la máquina de registro (software) para generar el número de registro del software y enviárselo al usuario. Aunque la potencia de cifrado del cifrado de software es más débil que la de los métodos de hardware, tiene las ventajas de un costo muy económico y un uso conveniente. Es muy adecuado como solución de cifrado para software distribuido mediante CDROM y otros métodos.
Ventajas de este algoritmo de cifrado:
· Diferentes máquinas tienen diferentes códigos de registro. Un usuario obtiene una contraseña y sólo puede registrarse y utilizar el software en una máquina. Es diferente del método de registro actual utilizado por la mayoría del software, es decir, siempre que conozca el código de registro, puede instalarlo y registrarlo en cualquier máquina.
· No requiere ningún hardware ni disquetes
· Puedes elegir controlar en qué máquina se ejecuta el software, durante cuánto tiempo o cuántas veces se ejecuta, etc.
· Permite que el software se ejecute Las funciones antes del registro son software de demostración y solo pueden ejecutarse durante un período de tiempo o con algunas funciones. Se convierte en software oficial inmediatamente después del registro. Utilizando tecnología especial, es difícil para los descifradores encontrar las reglas para generar números de registro.
·Cuando se utiliza software de generación de números de registro (máquina de registro), se pueden usar contraseñas y claves. discos, límite de número total de veces y otros métodos
· Conveniente y fácil de usar, precio bajo.
Este tipo de cifrado también tiene las siguientes características:
1. El software de cifrado registrado solo se puede instalar y utilizar en una máquina. El software no se puede ejecutar cuando se copia a otras máquinas.
2. Si el usuario desea instalar y ejecutar el software en otra máquina, debe enviar el número de serie del software cuando se ejecuta en esta máquina al editor del software a cambio de una contraseña de registro. Por supuesto, deberías pagar otra tarifa de software.
3. Este método de cifrado es especialmente adecuado para software publicado en Internet y software publicado en CD.