Seguridad de la cadena de conexión en la aplicación de escritorio .net

Estoy desarrollando una aplicación de escritorio .net Winforms que se ejecutará en varias sucursales del banco como una aplicación de respaldo cuando la principal (una aplicación web) no esté disponible debido a problemas de conexión con el nodo central del banco. Las sucursales en sí mismas no cuentan con ningún servicio empresarial además de una base de datos de SQL Server. Por esa razón, la aplicación debe poder conectarse directamente al servidor SQL. Mi problema surge cuando tengo que proporcionar a la aplicación una contraseña para conectarme a la base de datos:

1) Almacenar la contraseña en texto sin cifrar en un archivo app.config o similar no es una opción (el cliente requiere que la contraseña esté encriptada)

2) El almacenamiento de la contraseña cifrada en un archivo de configuración conduce a la necesidad de tener una clave de cifrado disponible localmente. La clave de cifrado podría estar simplemente codificada en el código de la aplicación, pero sería fácilmente legible utilizando un decompilador .net o similar.

3) El uso de un algoritmo personalizado para cifrar / descifrar tampoco funcionaría debido a las mismas razones que 2).

4) La seguridad integrada no es soportada por el banco

Además, los clientes requieren que puedan cambiar la contraseña en una ubicación (dentro de una sucursal) sin la necesidad de pasar de una computadora a otra actualizando los archivos de configuración (lo que descarta la posibilidad de usar la clave de la máquina para cifrar la contraseña) en los archivos de configuración de la máquina individual como lo hace asp.net)

¿Ofrecería algún otro enfoque o sugerencia para tratar este problema? Apreciaría cualquier ayuda. Gracias de antemano, Bernabé