De lo que estás hablando es del infame problema del DRM. Lamentablemente no hay manera de hacer esto. El problema fundamental es de confianza. En los sistemas modernos actuales, el usuario es dios. Tienen el control del hardware y, por lo tanto, pueden abusar del sistema de cualquier forma que deseen. Tu programa tiene que ejecutarse en su dominio. Como tal, cualquier cosa que su programa pueda hacer, el usuario puede hacer ingeniería inversa y hacerlo. Puede hacer que sea más difícil para ellos descubrir qué deben hacer, pero en última instancia, si está en su hardware, es su sistema, no el suyo.
Esto es DRM porque, en última instancia, DRM se trata de tener un secreto a salvo del usuario que el software conoce. ¿Cómo funciona el DRM en la música? Intenta ocultar la clave de cifrado de la música de modo que el software pueda reproducirla, pero el usuario no puede descifrarla. Tu caso no es diferente. La respuesta es tener un sistema en el que el usuario no sea un dios (es decir, el usuario no tiene acceso de root a la caja y se confía en que el hardware es seguro) o, de manera similar, ejecutar el software en un servidor que usted controla y limitar su acceda de tal manera que no puedan hacer lo que usted no quiere que hagan.
Si desea intentarlo, no puede estar mucho más seguro que simplemente incluir la clave en el código fuente. Puede probar uno de los diversos sistemas comerciales para ofuscar claves, pero todos pueden romperse. La discusión de técnicas detalladas para tratar de ocultarlo aquí sería a) demasiado amplia yb) inútil, ya que cualquiera podría consultar esta publicación y ver qué tipo de cosas podría estar haciendo.