powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как защитить зашифрованную в config-файле информацию от расшифровки извне?
71 сообщений из 71, показаны все 3 страниц
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818888
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.

Имеется некоторое приложение TargetApp , в конфигурационных настройках которого хранится строка подключения к БД. Физически, настройки подключений к БД вынесены в отдельный файл connections.config . Т.о. общая картина следующая:

TargetApp.exe.config:
Код: xml
1.
2.
3.
4.
5.
6.
7.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
  <connectionStrings configSource="connections.config"/>
</configuration>



connections.config:
Код: xml
1.
2.
3.
4.
5.
6.
<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
  <clear/>
  <add name="crmdev" providerName="System.Data.SqlClient"
       connectionString="тут_некоторая_строка_подключения"/>
</connectionStrings>



Согласно документации Майкрософт, шифрование строк подключений, хранящихся в конфигурационном файле приложения, должно выполняться на той машине, где этот конфиг-файл будет использоваться. Т.е. шифровать конфиг на машине разработчика смысла нет.

Написал консольное приложение ConfigTools.exe , задача которого - шифровать/дешифровывать config-файлы того exe, имя которого было передано ему через параметры с одним из ключей: --encrypt, --decrypt.

При помощи ConfigTools.exe выполняю шифрование строк подключения в конфиг-файлах, используемых приложением TargetApp.exe .

Код шифровки/дешифровки достаточно простой:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
static void EncryptConfig(string exeConfigName, bool encrypt)
{
	var resMng = new ResourceManager(typeof(Program));
	// Takes the executable file name without the
	// .config extension.

	// Open the configuration file and retrieve 
	// the connectionStrings section.
	var config = ConfigurationManager.
		OpenExeConfiguration(exeConfigName);

	var section = config.GetSection("connectionStrings")
		as ConnectionStringsSection;

	if (section == null)
	{
		Console.WriteLine(
			resMng.GetString("connectionStringsNotFound"));
		resMng.ReleaseAllResources();
		return;
	}

	if (encrypt && !section.SectionInformation.IsProtected)
	{
		// Encrypt the section.
		section.SectionInformation.ProtectSection(
			"DataProtectionConfigurationProvider");
		Console.WriteLine(resMng.GetString("connectionStringsEncrypted"));
		config.Save();
	}
	else if (!encrypt && section.SectionInformation.IsProtected)
	{
		// Remove encryption.
		section.SectionInformation.UnprotectSection();
		Console.WriteLine(resMng.GetString("connectionStringsDecrypted"));
		config.Save();
	}
	else
	{
		Console.WriteLine(resMng.GetString("connectionStringsDoNothing"));
	}
	resMng.ReleaseAllResources();
}



TargetApp.exe успешно извлекает из настроек строки подключения, не зависимо от того зашифрованы они или нет. Т.е. одно приложение шифрует/расшифровывает config-файл, но при этом оба приложения успешно считывают строки подключения (платформа .net framework сама автоматом всё расшифровывает при обращении к соответствующей записи, хранящей строку подключения).

Т.е. с одной стороны вроде всё нормально - открыв в Notepad мой config-фай, юзер увидит зашифрованную строку подключения... Но вот с другой стороны всё же возникает большой вопрос о надёжности такой защиты... Ведь получается, что любой желающий может написать подобный код, запустить его на целевой машине и с лёгкостью расшифровать строки подключения... Может я чего-то упускаю из вида?

Как защитить шифруемую информацию от подобных случаев?

С уважением, Андрей
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818898
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum,

если так рассуждать, то защиты вообще не существует и в целом, так и есть. Можно запустить отладчик на целевой машине и перехватить пароли в незашифрованном виде, рано или поздно они всё равно расшифруются.
данная операция (шифрование\дешифрование) секции конфигурационного файла требует права администратора с повышением, то есть, если пользователь захочет зашифровать или расшифровать файл на компьютере у него не получится.
если злоумышленник скопирует файл, то расшифровать он его уже не сможет.
Ну, а если злоумышленник обладает правами администратора на целевом компьютере, то его уже ничего не остановит, это картблашн на любые действия.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818914
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum,
Если ты админ то никак или слишком дорого.
Защита не дороже стоимости защищаемых данных (с)
Сколько твои стоят?
Или теория?
Ну и защита это комплексные мероприятия. А не строка Пароль.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818929
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще пароли можно хранить в Credential Manager'е ОС Windows, довольно удобно
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818938
BlackEric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для работы с кредами есть такая штука:
https://www.vaultproject.io/

Шарповая либа к ней: https://github.com/rajanadar/VaultSharp
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818951
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackEricДля работы с кредами есть такая штука:
https://www.vaultproject.io/

Шарповая либа к ней: https://github.com/rajanadar/VaultSharp
очередной велосипед?
Код: c#
1.
2.
3.
4.
5.
            [DllImport("Advapi32.dll", EntryPoint = "CredReadW", CharSet = CharSet.Unicode, SetLastError = true)]
            internal static extern bool CredRead(string target, CredentialType type, int reservedFlag, out IntPtr CredentialPtr);

            [DllImport("Advapi32.dll", EntryPoint = "CredWriteW", CharSet = CharSet.Unicode, SetLastError = true)]
            internal static extern bool CredWrite([In] ref CREDENTIAL userCredential, [In] uint flags);
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818973
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesданная операция (шифрование\дешифрование) секции конфигурационного файла требует права администратора с повышением, то есть, если пользователь захочет зашифровать или расшифровать файл на компьютере у него не получится.
Увы... Проверил с правами рядового пользователя - всё успешно расшифровалось, к сожалению безо всяких админских прав.
Roman MejtesСколько твои стоят?
Или теория?
Не теория. Стоят прилично. Данные не мои, а компании. Предлагаю флуд не разводить.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818981
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumПредлагаю флуд не разводить.это не флуд. Это в ВУЗЕ преподают.

CompositumПроверил с правами рядового пользователяпользователь Иванов расшифровал свой пароль или чужой?
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818982
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На тот случай, если будет интересно проверить - во вложении архив, в котором инструкция и два подопытных кролика: консолька шифровки\расшифровки строки подключения в конфиг-файле, и другая консолька, над конфиг-файлом которой выполняются опыты (согласно инструкции, обозначенной в readme.txt).

К сожалению, шифровка\расшифровка без проблем выполняется из под обычного юзера. ☹
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818983
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositumесли будет интересноникому не интересно. В конфиге юзаеря не хранятсе все пароли.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818986
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123пользователь Иванов расшифровал свой пароль или чужой?
Оба варианта успешно отработали.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818987
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumPetro123пользователь Иванов расшифровал свой пароль или чужой?
Оба варианта успешно отработали.откуда в конфиге чужие пароли?
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818990
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123откуда в конфиге чужие пароли?
Не "чужие", а специальные учётные записи, от имени которых должны выполняться определённые операции на различных серверах.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39818993
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumPetro123откуда в конфиге чужие пароли?
Не "чужие", а специальные учётные записи, от имени которых должны выполняться определённые операции на различных серверах.тебе решать.
Нужна безопасность? Раздели конфиги. Не нужна? Не дели.
Ваш КЭП.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819017
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я что-то не пойму цель - спрятать пароль пользователя от самого этого пользователя? :))
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819020
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Roman Mejtes, сегодня, 16:55 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21895038][21895038]
>...Ну, а если злоумышленник обладает правами администратора на целевом компьютере…
< Поместил файл в шифроконтейнер WinRAR и записал на целевой компьютер, злоумышленник обладает правами администратора на нем и ...
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819022
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>fkthat, сегодня, 23:50 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21895267][21895267]
>Я что-то не пойму цель - спрятать пароль пользователя от самого этого пользователя? :))
<Можно попытаться спрятать строку соединения и от самого пользователя
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819024
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>fkthat, сегодня, 23:50 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21895267][21895267]
>Я что-то не пойму цель - спрятать пароль пользователя от самого этого пользователя? :))
<Можно попытаться спрятать строку соединения и от самого пользователя

Зачем? Пользователь либо может коннектиться к БД со своего хоста, либо не может. И, если может, то никакими ухищрениями ты на 100% ему не запретишь делать это как угодно.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819029
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
User расшифровывает LocalMachine секции конфигов? что то не верится
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819039
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>fkthat, сегодня, 00:15 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21895274][21895274]
>Зачем? Пользователь либо может коннектиться к БД со своего хоста, либо не может…
<Вообще говоря, коннектится приложение, пользователю строка соединения по барабану
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819040
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевВообще говоря, коннектится приложение, пользователю строка соединения по барабану
Да, но оно коннектится с логином и паролем того пользователя, который его использует (потому что иначе это вообще какой-то треш), поэтому какой смысл там прятать что-то - прятать от пользователя его же собственные логин и пароль?
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819041
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для начала пароли в строке подключения вообще нельзя держать (к тому-же там скорее всего у тебя пароль админа лежит), должна использоваться виндовая аутентификация. Во-вторых, велосипеды по шифрованию конфигов писать не надо, они уже есть, например aspnet_regiis, все что нужно сделать - скопировать на пользовательские машины ключ, пользователький конкекст конечно-же должен иметь доступ к нему иначе как он его расшифрует
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819042
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumНе "чужие", а специальные учётные записи, от имени которых должны выполняться определённые операции на различных серверах.
Треш угар и содомия. Выходит, что к бесценным данным компании куча пользователей имеет доступ с использованием одного и того же логина и пароля. У тебя в консерватории защиты данных изначально не так, а твои ухишрения с шифрованием это как в том самом борделе кровати переставлять.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819043
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford,

В двузвенке (а речь, как я понял, идет именно о двузвенке), ни логин ни пароль не следует держать нигде, в принципе. У каждого пользователя должен быть свой персональный логин и пароль, который он должен помнить и вводить для коннекта к БД. Ну, или, как правильно сказали, и вообще следовало было бы сделать - виндовая аутентификация.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819059
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesданная операция (шифрование\дешифрование) секции конфигурационного файла требует права администратора с повышением, то есть, если пользователь захочет зашифровать или расшифровать файл на компьютере у него не получится
С чего бы это? DataProtectionConfigurationProvider - это DpapiProtectedConfigurationProvider, т.е. используется DPAPI, причем уровня хоста, а не приложения. Им может пользоваться кто угодно.

Compositum,
При использовании DataProtectionConfigurationProvider шифрование можно перенести с уровня хоста на уровень приложения - см. здесь: https://stackoverflow.com/questions/21336455/protect-config-file-with-user-level-dpapi-winforms
Но я всё же присоединяюсь к предыдущим ораторам. Неправильно это. Раз используется MSSQL, то вин-аутентификация, и права на сервере строго в рамках выполняемой задачи (а то некоторые админы как писать grant-скрипты не знают, тыкать галки на объектах в SSMS им долго, поэтому сделают на сервере логин, дадут ему sa - и можно пить чай, такого супергероя даже на соответствующих пользователей в базе мапить не нужно).
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819256
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>fkthat, сегодня, 02:24 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21895293][21895293]
>Треш угар и содомия. Выходит, что к бесценным данным компании куча пользователей имеет доступ с использованием одного и того же логина и пароля.
<Ну почему же, к бесценным данным компании, в одной базе данных, имеет доступ только одна куча приложений.
Аутентификация для доступа к приложениям,- подчеркиваю - к приложениям, а не к базам данных,- по логин и пароль с ограничениями по правам.
Для аутентификации служит общая строка соединения, что находится в криптоконтейнере с файлом настройки, но доступ к базе данных аутентификации, а не базе с бесценным данным компании, ограничивается только одной хранимой процедурой аутентификации.
Если аутентификация ок, то строку соединения к базе с бесценными данных с получит приложение, заметьте - приложение, а не пользователь. Пользователь имеет права в рамках приложения.
При таком подходе win-аутентификация мало что даёт.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819258
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>fkthat, сегодня, 02:24 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21895293][21895293]
>Треш угар и содомия. Выходит, что к бесценным данным компании куча пользователей имеет доступ с использованием одного и того же логина и пароля.
<Ну почему же, к бесценным данным компании, в одной базе данных, имеет доступ только одна куча приложений.
Аутентификация для доступа к приложениям,- подчеркиваю - к приложениям, а не к базам данных,- по логин и пароль с ограничениями по правам.
Для аутентификации служит общая строка соединения, что находится в криптоконтейнере с файлом настройки, но доступ к базе данных аутентификации, а не базе с бесценным данным компании, ограничивается только одной хранимой процедурой аутентификации.
Если аутентификация ок, то строку соединения к базе с бесценными данных с получит приложение, заметьте - приложение, а не пользователь. Пользователь имеет права в рамках приложения.
При таком подходе win-аутентификация мало что даёт.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819281
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

Блин, уже утомляет объяснять. То что ты делаешь это называется "security by obscurity". C тем же успехом можно просто захардкодить креденшиалы в приложение, рассчитывая на то, что у пользователя не хватит масла в голове вытащить их оттуда декомпилятором. Если у приложения, которое я запускаю, есть права на то, чтобы прочитать откуда-то и дешифровать логин/пароль, то это автоматически означает, что такие же права есть и у меня без этого приложения и если я захочу заполучить этот логин и пароль в чистом виде, то это будет лишь вопрос усилий и времени.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819293
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,
Я понимаю что ты написал целый свой криптоконтейнер.
Но видишь авто пропал?
Значит тоже смекнул, что не нужно все это.
Удачи!
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819344
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>fkthat, сегодня, 13:37 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21895664][21895664]
>Блин, уже утомляет объяснять…
<В банке часто применяют вариант доступ к хранилищу ценностей с двумя ключами.
Моделируем эту ситуацию. Приложение требует ввода двух паролей (пинкодов) - пользователя и секадмина, например,
объединяет их и получает доступ к криптоконтейнеру с файлом настройки.
Приложение не содержит в коде паролей. Поэтому декомпилятор тебе не поможет.
Другое дело - можешь сделать дамп работающего приложения, но в серьёзных конторах, кто тебе даст это сделать.
В этом вопросе надо не просто объяснять - надо строить модель нарушителя.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819353
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныПри использовании DataProtectionConfigurationProvider шифрование можно перенести с уровня хоста на уровень приложения - см. здесь: https://stackoverflow.com/questions/21336455/protect-config-file-with-user-level-dpapi-winforms
Но я всё же присоединяюсь к предыдущим ораторам. Неправильно это. Раз используется MSSQL, то вин-аутентификация, и права на сервере строго в рамках выполняемой задачи (а то некоторые админы как писать grant-скрипты не знают, тыкать галки на объектах в SSMS им долго, поэтому сделают на сервере логин, дадут ему sa - и можно пить чай, такого супергероя даже на соответствующих пользователей в базе мапить не нужно).
Насколько я понял из общения с нашими IT-шниками, виндовая аутентификация у нас не для всего работает. У нас множество CRM, которые раскиданы по разным континентам. Для их использования на компах разработчиков запускаем SSL VPN Client. Для подключения к CRM приходится в строке подключения явным образом указывать логин и пароль. К сожалению, я не силён в вопросах, касающихся сетей. Если бы нам всегда подходила виндовая аутентификация, то использовали бы её, конечно.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819369
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum,
Вопрос был не про виндовую, а про то что Вася пупкин имеет конфиг генерального директора.
То есть все вместе.
Зачем?
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819604
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевДругое дело - можешь сделать дамп работающего приложения, но в серьёзных конторах, кто тебе даст это сделать.
В совсем серьезной конторе так можно вообще раздать всем логины и пароли от всего и просто объявить, что тому, кто не туда куда надо залезет СБшники переломают ноги на заднем дворе. Речь-то идет о защите информации с т.з. ИТ, а не о том, чтобы ходил по офису надзиратель и за каждым следил - куда там он логинится.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819611
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatВМоисеевДругое дело - можешь сделать дамп работающего приложения, но в серьёзных конторах, кто тебе даст это сделать.
В совсем серьезной конторе так можно вообще раздать всем логины и пароли от всего и просто объявить, что тому, кто не туда куда надо залезет СБшники переломают ноги на заднем дворе. Речь-то идет о защите информации с т.з. ИТ, а не о том, чтобы ходил по офису надзиратель и за каждым следил - куда там он логинится.Нормальный обычный пользователь, он на то и обычный, чтобы работой заниматься, а не лезть куда попало. А злоумышленник - он на то и злоумышленник, угрозы СБ его не остановят
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819615
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Ну, так тогда можно и двери, из дома уходя, не запирать. Нормальный обычный чел, он на то и обычный, что не полезет, а настоящий злодей он на то и злодей, что его запертая дверь не остановит :)
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819616
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Вопрос был не про виндовую, а про то что Вася пупкин имеет конфиг генерального директора.
Конфиг не имеет отношения к какому-либо конкретному юзеру (генеральному директору или кому-то ещё). Конфиг относится к приложению в целом . В конфигурационном файле указано, какой логин и пароль следует использовать приложению для подключения к тому или иному URL. Это те логин и пароль, которые на удалённом ресурсе (указываемому через URL) созданы специально для данного приложения. Не важно, кто запустит приложение (Вася или Петя) - логин и пароль разрешается использовать один и тот же. Это приложение для разработчиков, а не для пользователей, поэтому одного логина/пароля нам вполне достаточно.

Поскольку подключаться приходится к разным URL, т.е. в конфиг-файле имеется несколько записей, указывающих URL, логин и пароль.

Если для подключения к удалённому ресурсу приходится явным образом использовать логин и пароль, то значит другого варианта сделать это не нашли. В виду этого и возникает необходимость шифровать соответствующую секцию конфигурационного файла.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819627
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatShocker.Pro,

Ну, так тогда можно и двери, из дома уходя, не запирать. Нормальный обычный чел, он на то и обычный, что не полезет, а настоящий злодей он на то и злодей, что его запертая дверь не остановит :)Замок - это физическое препятствие. А угрозы СБ - это как табличка на открытой двери "не входить - это незаконно".
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819633
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumЕсли для подключения к удалённому ресурсу приходится явным образом использовать логин и пароль, то значит другого варианта сделать это не нашли.
Ну тебе уже сто раз написали про вариант для такого варианта - каждому пользователю свой логин/пароль и настройка прав в БД, - все остальное это детские костыли.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819635
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProА угрозы СБ - это как табличка на открытой двери "не входить - это незаконно".
Ну, можно ведь, для примера, просто нескольким случайно выбраным работникам показательно ноги переломать, тогда угроза будет восприниматься вполне физически
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819636
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatНу тебе уже сто раз написали про вариант для такого варианта - каждому пользователю свой логин/пароль и настройка прав в БД, - все остальное это детские костыли.
Программка и её исходники хранятся в составе git-репозитория, совместно используемого разработчиками, так что вариант с логином/паролем для каждого разработчика - в данном случае не подходит. Предлагаю писать либо по теме топика, либо ничего. Вопрос был о проблеме, связанной с возможностью расшифровки.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819637
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumКонфиг не имеет отношения к какому-либо конкретному юзеру (генеральному директору или кому-то ещё). Конфиг относится к приложению в целом .отпад.
Это решил?
А положение формы на экране?
А путь к базе данных?
...
Даже тотал коммандер при установке спрашивает: "вам один ini для всех или индивидуальный?
Что относится к приложению в целом у меня в коде зашито))
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819638
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumПредлагаю писать либо по теме топика, либо ничего.изучи тотал коммандер, потом приходи
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819640
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumПрограммка и её исходники хранятся в составе git-репозитория, совместно используемого разработчиками, так что вариант с логином/паролем для каждого разработчикадля юзверя в продакшене, а не при разработке!
Ты о чем вообще?
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819644
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печально, во что превратился форум... Если модераторы так и не будут блокировать троллей, то в конце-концов форум станет бесполезен. имхо.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819645
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumПрограммка и её исходники хранятся в составе git-репозитория, совместно используемого разработчиками, так что вариант с логином/паролем для каждого разработчика - в данном случае не подходит. Предлагаю писать либо по теме топика, либо ничего. Вопрос был о проблеме, связанной с возможностью расшифровки.

ОМГ. При чем тут вообще какие-то логины разработчиков и ГИТ? Вопрос был (как я его понял) такой - "Я хацу, чтобы пользовательская программа могла расшифровать логин/пароль, а сам пользователь при этом не мог". И тебе тут уже четвертую страницу объясняют, что такое невозможно в принципе - если логин/пароль может расшифровать пользовательское приложение, то в конечном итоге его может расшифровать и сам пользователь. Если у меня есть ключ от сейфа где лежат ключи от кабинете директора, то значит у меня есть и ключи от кабинета директора.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819646
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum,
Ты вместо
access пошире посмотри на защиту в мире IT.
Потом на защиту Оси своей. Наверно не тотал коммандер, а нортон до сих пор?
Потом посмотри в каком конфиге пароль к sql.ru.
Удачи!
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819682
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Compositum, сегодня, 09:42 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21896342][21896342]
>Программка и её исходники хранятся в составе git-репозитория…
<Поступил так:
1. Создал отдельную базу (можно и отдельный сервер) данных с параметрами приложений и пользователей, включая и связь приложение-пользователь (у меня не все пользователи имеют доступ ко всем приложениям).
2. Сделал открытый доступ только к одной хранимой процедуре - аутентификации. Строку соединения для данного доступа положил в файл настройки (у меня в криптоконтейнер, но это не суть).
3. Ввожу логин и пароль доступа к приложению и обращаюсь к ХП аутентификации (строка соединения есть).
4. Если ок, получаю параметры работы с приложениями (получаю крипто ключ для расшифровки криптоконтейнера с параметрами работы с приложением(-ями))
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819690
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumКонфиг не имеет отношения к какому-либо конкретному юзеру (генеральному директору или кому-то ещё). Конфиг относится к приложению в целом . В конфигурационном файле указано, какой логин и пароль следует использовать приложению для подключения к тому или иному URL. Это те логин и пароль, которые на удалённом ресурсе (указываемому через URL) созданы специально для данного приложения. Не важно, кто запустит приложение (Вася или Петя) - логин и пароль разрешается использовать один и тот же. Это приложение для разработчиков, а не для пользователей, поэтому одного логина/пароля нам вполне достаточно.

Поскольку подключаться приходится к разным URL, т.е. в конфиг-файле имеется несколько записей, указывающих URL, логин и пароль.

Если для подключения к удалённому ресурсу приходится явным образом использовать логин и пароль, то значит другого варианта сделать это не нашли. В виду этого и возникает необходимость шифровать соответствующую секцию конфигурационного файла.
секция конфигурационного файла шифруется не для того, что-бы спрятать пароль от текущего пользователя, а что-бы другие не смогли его прочитать. Текущий пользователь по определению может расшифровать пароль т.к. его контекст обязан это уметь делать иначе ничего не будет работать.
И как уже было сказано, это плохой подход именно по указанной тобой причине - пользователь может расшифровать пароль и слить его куда-нибудь, а т.к. это общий пароль для всех, то целая система оказывается скомпрометированной. Что-бы этого избжать - необходимо логинить самих пользователей, либо через виндовую аутентификацию, либо через облака либо еще как это вопрос к архитектору системы. В текущем виде система не является безопасной
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819692
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>fkthat, сегодня, 09:58
>... Если у меня есть ключ от сейфа…
<Да нет у тебя ключа, понимаешь - НЕТ.
Приложение, не ты, может попросить безопасника или программу аутентификации дать ей, НЕ ТЕБЕ, ключ.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819701
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,
Сейчас проще делают. У каждого в Оси своя песочница. Храни там хоть имя любовницы.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819708
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевПриложение, не ты, может попросить безопасника или программу аутентификации дать ей, НЕ ТЕБЕ, ключ.
То что ты описываешь, это классический "Open ID" и его более современные потомки (OAuth2, OpenID Connect и т.п.). А в нашем случае этим даже близко не пахнет.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819783
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfordсекция конфигурационного файла шифруется не для того, что-бы спрятать пароль от текущего пользователя, а что-бы другие не смогли его прочитать.
Выше я уже писал, что зашифровывал конфиг из под одного пользователя и успешно расшифровывал из под другого.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819787
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumВыше я уже писал, что зашифровывал конфиг из под одного пользователя и успешно расшифровывал из под другого.нет логики. У тебя как бы нет отдельных пользоватей.
Значит слово "из под другого" туфта.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819791
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123нет логики. У тебя как бы нет отдельных пользоватей.
Значит слово "из под другого" туфта.
Прекращай разводить срач ради срача.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819799
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum,
Дак где лежит пароль к sql.ru?
Ответ будет?
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819800
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumВыше я уже писал, что зашифровывал конфиг из под одного пользователя и успешно расшифровывал из под другого.
Я выше тоже писал о том, что это из-за того, что DpapiProtectedConfigurationProvider по умолчанию использует DPAPI со Scope=LocalMachine, поэтому результаты шифрования доступны любому пользователю, имеющему доступ к хосту с зашифрованными данными. И надо просто сменить scope на CurrentUser - и была дана ссылка, по которой объяснялось, как это сделать.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819821
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Compositum, сегодня, 12:53 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21896633][21896633]
>Выше я уже писал, что зашифровывал конфиг из под одного пользователя и успешно расшифровывал из под другого.
<Почему не используешь для шифрования тот же WinRAR или подобное?
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819827
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,
Потому что даже MD5 расшифровывается, если пароли на руках.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819858
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ВМоисеев, сегодня, 13:41 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21896697][21896697]
>Почему не используешь для шифрования тот же WinRAR или подобное?
<Уточняю.
Шифруешь не конфиг, а файл настройки. Конфиг содержит только path файла настройки.
Каждый пользователь имеет свой файл настройки, соответственно и свой пароль.
Файл настройки можно хранить на флешке.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819861
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ВМоисеев,
Потому что даже MD5 расшифровывается, если пароли на руках.
Ты в своем репертуаре. MD5 это так-то хеш, а вовсе не шифрование. А насчет подбора MD5-хеша, так он уже давным-давно считается недостаточно надежным и вместо него рекомендуется SHA-2
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819862
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевКаждый пользователь имеет свой файл настройки, соответственно и свой пароль.
У тебя и в винду что ли пользователи под одним аккаунтом заходят? Прямо бригада Стаханова какая-то.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819866
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>fkthat, сегодня, 15:06 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21896777][21896777]
>У тебя и в винду что ли пользователи под одним аккаунтом заходят? Прямо бригада Стаханова какая-то.
<Странно и неадекватно. Бред какой-то.
Причём здесь винда.
Разговор о шифровании файла настройки.
Берешь WinRAR и шифруешь файл настройки со своим паролем. Результирующий крипто контейнер где-то размещаешь. Path размещения помещаешь в конфиг приложения.
Что не понятно?
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819867
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

а пароль от архива где сохранить?
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819872
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Roman Mejtes, сегодня, 15:20 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21896796][21896796]
>а пароль от архива где сохранить?
<можно в голове
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819877
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>Roman Mejtes, сегодня, 15:20 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21896796][21896796]
>а пароль от архива где сохранить?
<можно в голове
Архив на 20 паролей от предприятии у Сидорова в голове?
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819878
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай .
И смысл использовать WinRar, который использует при шифровании AES-128/AES-256+HMAC-based PBKDF2 - всё перечисленное доступно в виде соответствующих стандартных классов фреймворка. И без вызова сторонних программ.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819884
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В качестве пароля использовать ID чипа флешки. Такой себе аппаратный ключ получается.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819891
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Сон Веры Павловны, сегодня, 15:29 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21896833][21896833]
>...всё перечисленное доступно в виде соответствующих стандартных классов фреймворка…
<Вы абсолютно правы.
Но я попытался своять прототип инфосистемы, и вопрос шифрования стоит несколько в стороне от моих главных интересов.
Есть готовый инструментарий, им и воспользовался.
По-взрослому, конечно надо делать как Вы предлагаете. Но смысл идеи от этого не меняется.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819900
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,
Вот и выходит, что 3 страницы обсуждения того что есть, доступно и работает)
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819903
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt, если секьюрность имеет такой значение, стоит задуматься о приобретении токенов.
для примера, у меня есть RSA брелок для подключения, каждые 30 секунд на этом брелке меняет 6-значный код для подключения
а за использование пользовательского (своего) логин\пароля в любом конфиге, сразу прилетает по шапке от админов.
уровень безопасности там параноидальный.
...
Рейтинг: 0 / 0
Как защитить зашифрованную в config-файле информацию от расшифровки извне?
    #39819922
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Сон Веры Павловны, сегодня, 15:29 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1312991&msg=21896833][21896833]
>На всякий случай.
<Прибавление.
В некоторых случаях полный WinRAR нужен только безопасникам. В приложении можно использовать unrar.exe, а он похоже бесплатный.
Можно перейти и на 7-zip. Но это так сказать лирика.
Если серьёзно - Ваш вариант однознак.
...
Рейтинг: 0 / 0
71 сообщений из 71, показаны все 3 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как защитить зашифрованную в config-файле информацию от расшифровки извне?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]