Обезопасить полностью — никак. Можно только усложнить доступ к данным. Есть
Windows Data Protection API — можно использовать его для хранения ваших данных. Есть
Rfc2898DeriveBytes Class для получения ключа на основе пароля с использованием псевдо-случайного генератора. Вот тут ещё пишут на эту тему:
How to securely save username/password
Так же не забываем про другие методики защиты приложения от попыток чтения памяти — ограничения прав, шифрование переменных в памяти и целых блоков, использование рандомизации выделения адресов и блоков в памяти, ссылочные типы, какая-нибудь изощрённая логика алгоритмов, пропущенная через какой-нибудь безумный оптимизатор, алгоритмы с бессмысленной логикой, определение попыток доступа к памяти, использование нестандартных компиляторов и языков программирования, и всё такое прочее. А ещё есть отдельные инструменты для защиты приложений типа
Enigma Protector и Enigma Virual Box. Стандартный подход: усложнить взлом на столько, чтобы процесс взлома был дороже полученного результата.
Если кому-то очень будет надо — всё равно вскроют и достанут всё, что нужно, независимо от всех ваших усилий и их объёма.