Los tokens de seguridad del hardware como se mencionó pueden proporcionar cierta seguridad contra la piratería.
Al no saber qué es su software o qué hace, es difícil saber qué soluciones podrían funcionar. ¿Está poniendo la caja en el sitio porque es más eficiente? ¿Está colocando la caja en el sitio para que el cliente pueda administrarlo ellos mismos? ¿Es porque el cliente lo está ejecutando en una red aislada?
Muchas soluciones de nivel empresarial utilizan estrictos acuerdos de licencia y claves de software criptográficas seguras con el nombre de la empresa compradora y la fecha de caducidad claramente en ellos. Esto significa que incluso los empleados que roban el código solo tienen un uso limitado, ya que los límites de origen y tiempo de uso son claros.
Pero todo esto hace poco o nada para proteger contra la ingeniería inversa.
Los ofuscadores de código y los compiladores de ofuscación pueden ayudarte un poco. De nuevo, depende de su aplicación, su equipo de aplicación, etc.
La resistencia a la manipulación física también podría ayudar, pero limita su capacidad para admitir el hardware físico. La industria de tarjetas de pago utiliza una malla de alambre dentro de su hardware con las claves almacenadas en la memoria volátil, de modo que si se manipula el caso, se pierden importantes claves de descifrado, lo que hace que el dispositivo sea inútil. Técnicas similares se aplican a los HSM (Módulos de seguridad de hardware), que son, efectivamente, bóvedas a prueba de manipulaciones para almacenar claves de cifrado importantes.
Todo el juego es la gestión de riesgos. El costo de iniciar una demanda, el daño causado por una fuga, el costo de asegurar el código, todo debe ser pesado. Pocos secretos son tan importantes que necesitan ser protegidos a toda costa. La demora en el mercado puede costarle su tiempo de ventaja, permitiendo a un competidor alcanzar una solución comparable a un mejor precio antes de que pueda obtener su versión bloqueada por la puerta.