Si bien la respuesta del bosque es globalmente correcta, no mencionó una forma importante en la que puedes mejorar el nivel de protección entre tus instancias.
Bajo Windows, puede usar CryptProtectMemory (y CryptProtectData) para cifrar nuestros datos con una clave que está vinculada al usuario actual (y, en el caso de CryptProtectMemory, la clave se cambia cada vez que se reinicia su máquina).
Esto le permite agregar una capa de protección a su sistema: puede usar CryptProtectMemory (especificando el indicador CRYPTPROTECTMEMORY_SAME_LOGON) para restringir el acceso a la clave de descifrado para procesar la ejecución en la misma máquina y el mismo usuario que usted.
No lo protegerá de los códigos que se ejecutan en el mismo contexto que el suyo, pero, en última instancia, no hay nada que lo proteja contra eso.
Editar : quiero enfatizar el hecho de que debes usar CryptProtectMemory, no CryptProtectData. CryptProtectData está destinado a los datos que se transmitirán al almacenamiento (y, por lo tanto, deberán recuperarse y descifrarse de otra sesión de Windows en conjunto).