Защита строк подключений
Защита доступа к источнику данных — одна из основных целей содействия защите приложения. Для ограничения доступа к источнику данных необходимо принять меры предосторожности, чтобы помочь защитить соединение, включая идентификатор, пароль и имя источника данных. Хранение пользовательского идентификатора и пароля в обычном тексте, таком как исходный код, создает серьезную проблему безопасности. Даже если поставляется скомпилированная версия текста, которая содержит идентификатор и пароль во внешнем источнике, скомпилированный код потенциально может быть дизассемблирован, а пользовательский идентификатор и пароль будут рассекречены. Поэтому крайне важно, чтобы в вашем коде отсутствовала важная информация, такая как идентификатор пользователя и пароль.
Рекомендации
Рекомендуется не хранить пароль вместе с URL-адресом для подключения в исходном коде приложения. Вместо этого храните пароль в отдельном файле с ограниченным доступом. Доступ к тому файлу можно предоставить контексту, под которым работает приложение.
Другой способ — хранить в файле зашифрованный пароль. Убедитесь, что вы используете API шифрования, который не требует где-то хранить ключ и который не является производным от пароля пользователя. Например, можно рассмотреть пары открытый/закрытый ключ на основе сертификатов, или использовать подход, где две стороны используют протокол соглашения о ключах (алгоритм Диффи-Хеллмана), чтобы сформировать идентичные секретные ключи для шифрования без необходимости передавать секретный ключ.
Если вы берете информацию о строке подключения из внешнего источника, такого как пользователь, предоставляющий идентификатор пользователя и пароль, вы должны проверить все данные, поступающие из источника, чтобы убедиться, что у них правильный формат и что они не содержат дополнительные параметры, влияющие на подключение.