Полезность оператора SQL Server «с шифрованием»

StackOverflow https://stackoverflow.com/questions/51124

  •  09-06-2019
  •  | 
  •  

Вопрос

Недавно мы с другом говорили о защите кода хранимой процедуры в базе данных SQL-сервера.

Насколько я помню, я почти уверен, что «с шифрованием» невероятно легко взломать во всех версиях SQL Server, однако он сказал, что в SQL 2005 оно было значительно улучшено.В результате я не рассматривал всерьез это как вариант безопасности ни в одной системе, над которой мне когда-либо приходилось работать.

Итак, в каком сценарии можно использовать «с шифрованием» и когда его следует избегать любой ценой?

Это было полезно?

Решение

Его можно использовать, чтобы скрыть ваш код от случайных наблюдателей, но, как вы говорите:это легко обойти.

По-другому и быть не может, поскольку для его выполнения серверу необходимо расшифровать код.По сути, это DRM, и он терпит неудачу по той же причине, что и все остальные DRM — вы не можете одновременно скрыть данные и разрешить к ним доступ.

Другие советы

@Блоргберд

Хороший ответ, документация MSDN по «С ШИФРОВАНИЕМ», похоже, согласна с вашей точкой зрения, теперь называя ее «запутанной», а не зашифрованной.

Однако я встречал нескольких разработчиков, которые совершенно не знали об этом.Надеюсь, этот вопрос/ответ проинформирует и других.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top