2008-09-09 5 views
5

Kürzlich sprachen ein Freund und ich über die Sicherung von gespeicherten Prozedurcode in einer SQL Server-Datenbank.Nützlichkeit von SQL Server "mit Verschlüsselung" Anweisung

Aus dem fernen Speicher bin ich mir ziemlich sicher, dass "mit Verschlüsselung" ist unglaublich leicht in allen Versionen von SQL Server gebrochen, aber er sagte, es wurde stark in SQL 2005 verbessert. Als Ergebnis habe ich nicht ernsthaft darüber nachgedacht als Sicherheitsoption in jedem System, an dem ich jemals gearbeitet habe.

Also in welchem ​​Szenario könnte "mit Verschlüsselung" verwendet werden, und wann sollte es um jeden Preis vermieden werden?

Antwort

6

Es kann verwendet werden, um Ihren Code von Gelegenheitsbeobachtern zu verbergen, aber wie Sie sagen: es ist leicht zu umgehen.

Es kann wirklich nicht anders sein, da der Server den Code zu entschlüsseln, braucht es auszuführen. Es ist im Grunde DRM und schlägt aus dem gleichen Grund fehl wie alle anderen DRM - Sie können die Daten nicht gleichzeitig verstecken und den Zugriff darauf erlauben.

2

@Blorgbeard

Gute Antwort, die MSDN-Dokumentation auf „WITH ENCRYPTION“ scheint mit dem Punkt einig, jetzt ist es „verschleiert“ Aufruf eher dann verschlüsselt.

Ich habe ein paar Entwickler getroffen, die diesen Punkt jedoch völlig unbekannt waren. Hoffentlich wird diese Frage/Antwort auch andere informieren.

1

Ja, es ist leicht kaputt. Ich hatte letzte Woche eine Situation, in der ich mehrere Sprocs entschlüsseln musste, die ein ehemaliger Entwickler für einen meiner Kunden verschlüsselt hatte. Nach der Entschlüsselung, die einen moderaten Aufwand erforderte, würde ich mich nicht darauf verlassen, dass ich geistiges Eigentum, Passwörter oder Benutzer-IDs schützen würde. Alles wirklich.