Я изучаю шифрование MS SQL 2005 (не 2008, поэтому TDE отсутствует), и я считаю, что понимаю концепцию шифрования столбца. ОС использует учетные данные службы для шифрования главного ключа службы, который используется для шифрования главного ключа базы данных (который я создаю с помощью пароля), а затем главный ключ базы данных используется для сертификата, а затем для симметричного ключа.
Итак, я понимаю, как приложение или пользователь должны иметь возможность использовать этот сертификат для расшифровки данных. Однако мне интересно, какие виды атак возможны в этой настройке.
Если кто-то сможет получить доступ к файлам MDF / LDF для базы данных, он получит доступ к главному ключу. Разве это не проблема, потому что главный ключ зашифрован надежным паролем?
Как насчет случая, когда у кого-то есть весь сервер? Будет ли схема шифрования защищена, потому что учетные данные учетных записей служб, под которыми работает SQL, будут необходимы для извлечения чего-либо, что, опять же, защищено надежным паролем?
У меня сложилось впечатление, что даже при полном физическом доступе единственными типами атак будет грубая сила либо учетных данных пользователя службы, либо пароля главного ключа. Правильно ли я так думаю или что-то упускаю?
На самом высоком уровне SQL Server защищен API защиты данных Windows, так что теоретически да, я думаю, вы думаете в правильном направлении.