Domanda

Recentemente io e un amico stavamo parlando di proteggere il codice della procedura memorizzata in un database del server SQL.

Da lontano ricordo, sono abbastanza certo che "con crittografia" sia incredibilmente facilmente violabile in tutte le versioni di SQL Server, tuttavia ha affermato che è stato notevolmente migliorato in SQL 2005.Di conseguenza non l'ho considerata seriamente come un'opzione di sicurezza in nessun sistema su cui abbia mai lavorato.

Quindi in quali scenari potrebbe essere utilizzato il metodo "con crittografia" e quando dovrebbe essere evitato a tutti i costi?

È stato utile?

Soluzione

Può essere usato per nascondere il tuo codice agli osservatori casuali, ma come dici tu:è facilmente aggirabile.

Non può davvero essere diversamente, poiché il server deve decrittografare il codice per eseguirlo.Fondamentalmente è DRM e fallisce per lo stesso motivo di tutti gli altri DRM: non è possibile nascondere contemporaneamente i dati e consentirne l'accesso.

Altri suggerimenti

@Blorgbeard

Buona risposta, la documentazione MSDN su "WITH ENCRYPTION" sembra essere d'accordo con il tuo punto, ora definendola "offuscata" anziché crittografata.

Tuttavia, ho incontrato alcuni sviluppatori che erano completamente all'oscuro di questo punto.Speriamo che questa domanda/risposta possa informare anche gli altri.

Sì, si rompe facilmente.La scorsa settimana ho avuto una situazione in cui ho dovuto decrittografare diversi sproc che un ex sviluppatore aveva crittografato per un mio cliente.Dopo averlo decrittografato, operazione che ha richiesto uno sforzo moderato, non farei affidamento su quello per alcun mezzo per proteggere la proprietà intellettuale, le password e gli ID utente.Qualsiasi cosa, davvero.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top