En cuanto a la estrategia verbal de desafío/respuesta: Utilizamos este enfoque para licenciar una aplicación de nicho en cinco mil estaciones de trabajo en todo el mundo durante más de diez años. Nuestro equipo de soporte lo llamó los "Códigos de lanzamiento de misiles" debido a su similitud con el proceso de autenticación de lanzamiento de misiles clásico visto en películas antiguas.
Esta es una manera extremadamente lenta de proteger su programa. Consumió enormes cantidades de tiempo de nuestro personal y clientes leyendo los códigos hacia y desde los usuarios. Todos lo odiaban.
Su situación/contexto puede ser diferente. Tal vez no lo va a utilizar casi tan a menudo como lo hicimos nosotros. Pero aquí hay algunas sugerencias:
considerar cuidadosamente la longitud y el contenido del código: la mayoría de los usuarios (y personal de apoyo) resienten escribir un montón de personajes. Muchos usuarios son malos mecanógrafos. Considere si una cadena larga e incluyendo los signos de puntuación y la distinción entre mayúsculas y minúsculas los agobian excesivamente en comparación con la cantidad de seguridad añadida.
Después de años de utilizar una implementación verbal de desafío/respuesta, la dejamos en su lugar (como una recuperación) pero agregamos un sistema automatizado simple. Se optó por utilizar FTP en lugar de un enfoque más sofisticado web por lo que no tiene que tener ningún software que se ejecuta en nuestro servidor interno (o tratar con nuestro personal de TI!)
Básicamente, utilizamos Archivos FTP para hacer el intercambio que se hizo previamente en el teléfono. El servidor coloca un archivo en el servidor FTP que contiene la frase de desafío. El nombre del archivo es el nombre del cliente. Nuestro personal de soporte tiene un programa que crea automáticamente este archivo en nuestro sitio ftp.
Nuestro personal le indica al cliente que presione una tecla de acceso rápido que lea el archivo FTP, lo autentique y vuelva a colocar un archivo de respuesta en el servidor.
El software de nuestro personal de soporte ha estado sondeando en espera de que el software del cliente cree el archivo de respuestas. Cuando ve el archivo, lo descarga y confirma su contenido, y lo elimina del servidor.
Por supuesto, puede hacer que este intercambio ocurra tantas veces y en cualquier dirección como necesite en una sesión determinada para lograr sus objetivos.
Los datos en los archivos pueden tener las mismas claves MD5 que usaría verbalmente, para que sea tan seguro como desee.
Una debilidad en este sistema es que el usuario debe tener acceso FTP. Descubrimos que la mayoría de nuestros usuarios (todas las empresas) tienen acceso FTP disponible. (Por supuesto, su base de clientes puede no ...) Si nuestra aplicación en el campo no puede acceder a nuestro sitio FTP, anuncia claramente el problema para que nuestro cliente pueda dirigirse a su personal de TI para solicitar que abra el acceso. Mientras tanto, volvemos a los códigos verbales.
Utilizamos las sencillas herramientas de vany Indy FTP sin ningún problema.
Sin duda, hay algunas debilidades en este enfoque (probablemente incluyendo algunas que no hemos pensado). Pero, para nuestras necesidades, ha sido fantástico. Nuestro personal de soporte y clientes lo adoran.
Lo siento si nada de esto es relevante para usted. Espero que esto te ayude a algunos.
Puede consultar los componentes de protección de software disponibles para Delphi. – avra