Как подписать базу данных? - PullRequest
0 голосов
/ 30 марта 2011

Есть ли способ иметь подпись в БД SQL, чтобы только конкретное приложение с определенной версией могло получить доступ к этой БД?

Я использую sql server 2008. У меня есть БД, которую я хочу защитить несколькими способами. Важные столбцы зашифрованы, а само приложение подписано и запутано (удерживая ключ).

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

спасибо Avi

Ответы [ 3 ]

1 голос
/ 30 марта 2011

Чтобы ответить на ваш вопрос, вам нужно сохранить подпись в базе данных, возможно, в ее собственной таблице.

Подпись будет представлять собой номер версии программного обеспечения, засоленный и зашифрованный.

0 голосов
/ 30 марта 2011

Звучит так, будто вы хотите подписать приложение, а не базу данных.SQL Server не может точно знать, с какой версией приложения он общается, поскольку само приложение отвечает за то, чтобы сообщить SQL Server, какая это версия.Вы фактически размещаете свое приложение за «границей доверия», но при этом хотите, чтобы оно работало надежно.

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

0 голосов
/ 30 марта 2011

Что это за приложение?

В .NET для этой цели было изобретено сильное именование.Кроме того, Google для SignTool.exe (MSDN)

В противном случае вам потребуется самопроверка

Ничего подобного не является необратимым (например, самоупаковка и самоизменяющийся код обычно меняются местами с помощью инструментовкак у IDA-Pro).Поэтому, если вы можете, попробуйте полагаться на функции ОС, чтобы проверить exe

...