Velocità accesso a DB Mysql rispetto a file XML

domenica 07 aprile 2013 - 12.34
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows XP  |  Visual Studio Express  |  MySQL 5.1  |  Firefox  |  CSS 3.0

ravalon Profilo | Expert

Salve a tutti voi ragazzi...avrei una domanda per chiarirmi le idee su un lavoro che devo fare a breve..

Devo estrarre una chiave cryptata da un server remoto che detiene le licenze di un mio lavoro.
Le strade percorribili sono 2...
1) Mettere le chiavi su un Db Mysql su una apposita tabella
2) Mettere le chiavi su un file XML.

La domanda è... come risorse e velocità di accesso, è meglio usare una lettura su database (mysql in questo caso) o una lettura da un file XML ?

Aggiungo per completezza che ovviamente in entrambi i casi dovrei scorrere i record alla ricerca della chiave dell'utente.

Secondariamente... credo che su DB sia più sicuro, anche perchè se qualcuno intercettasse la chiamata al percorso del file XML , questo sarebbe leggibile da un comune browser...giusto ? ... c'è un modo facile per rendere tale file XML non leggibile dall'esterno ? Ho provato con i permessi ma è un po' un casino perchè dopo non potrei leggerlo nemmeno io via codice..

...insomma... li metto su DB o su XML ?

Secondariamente, se dovessi scegliere la via tramite DB (Mysql), devo tener presente che il database a cui collegarsi sta su un server diverso... so che questo comporta non pochi problemi poichè normalmente la connessione è accettata solo se richiamata dallo server locale...nel caso sapreste dirmi se è fattibile

Grazie ragazzi!

alx_81 Profilo | Guru

>Salve a tutti voi ragazzi...
ciao

>1) Mettere le chiavi su un Db Mysql su una apposita tabella
>2) Mettere le chiavi su un file XML.
3) un blobbone crittografato e strutturato proprietariamente su un cloud storage?
4) SQL Server Express?

>La domanda è... come risorse e velocità di accesso, è meglio
>usare una lettura su database (mysql in questo caso) o una lettura da un file XML ?
mah dipende dalla mole, se sono pochi non cambia molto..

>Secondariamente... credo che su DB sia più sicuro, anche perchè
>se qualcuno intercettasse la chiamata al percorso del file XML
>, questo sarebbe leggibile da un comune browser...giusto ? ...
>c'è un modo facile per rendere tale file XML non leggibile dall'esterno
>? Ho provato con i permessi ma è un po' un casino perchè dopo
>non potrei leggerlo nemmeno io via codice..
di certo il db, se installato per bene, è isolato di più.. Ma se fai male le permission, anche il db è accessibile lo stesso.

>Secondariamente, se dovessi scegliere la via tramite DB (Mysql),
>devo tener presente che il database a cui collegarsi sta su un
>server diverso... so che questo comporta non pochi problemi poichè
>normalmente la connessione è accettata solo se richiamata dallo
>server locale...nel caso sapreste dirmi se è fattibile
su questo non saprei rispondere.. preferisco usare SQL Server Express..

>Grazie ragazzi!
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

ravalon Profilo | Expert

Grazie per la risposta... i dati sono ceramente pochi, si tratta di poche licenze ... ok, tu dici DB perchè, come penso anche io, è più isolato...
...purtroppo c'è il problema della connessione da un altro server come ti dicevo...

...ma se volessi farlo su XML, come posso evitare che questo file sia visibile a tutti ?

alx_81 Profilo | Guru

>...ma se volessi farlo su XML, come posso evitare che questo
>file sia visibile a tutti ?
o lo isoli con le permission di windows (puoi sfruttare il domain se esiste) oppure lo crittografi e solo chi lo legge lo sa "sbloccare"..
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

ravalon Profilo | Expert

Il file XML dovrebbe contenere dei valori da associare all'utente, al suo dominio ed alla chiave di autorizzazione (in chiaro)...

...se crittografo la struttura in XML non è che dopo non riesco più a leggermi i nodi ?

alx_81 Profilo | Guru

>...se crittografo la struttura in XML non è che dopo non riesco
>più a leggermi i nodi ?
tu devi crittografare il tuo xml col tuo algoritmo reversibile.
Ogni edit dovrà essere fatto da un'applicazione che ti fa mettere le info in chiaro e poi le salva crittografate.
Chi lo legge dovrà sapere come interpretare (e quindi transcodificare) quel file..

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

ravalon Profilo | Expert

...è un buon suggerimento direi...
...nessuno potrebbe, ammettendo che sappia dove sta quel dato file, leggerne il contenuto.. specie se cryptato con un bell'algoritmo ad almeno 128 bit...
...allo stesso tempo è facilmente e velocemente raggiungibile ...

...l'unica cosa è che, il lavoro che sto facendo, dovrà contenere la chiave ed il vettore usato per la cryptografia all'interno del codice...
...dato però che io precompilo il sito, pensi che questi dati saranno lontani da occhi indiscreti ?

alx_81 Profilo | Guru

>...l'unica cosa è che, il lavoro che sto facendo, dovrà contenere
>la chiave ed il vettore usato per la cryptografia all'interno
>del codice...
>...dato però che io precompilo il sito, pensi che questi dati
>saranno lontani da occhi indiscreti ?
purtroppo cablarlo in una dll non è troppo sicuro a meno che non la offuschi, allora sei a posto..
Altrimenti proteggi l'accesso all'applicazione con una pwd admin che sblocca l'algoritmo.
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

ravalon Profilo | Expert

Io avevo proprio l'intenzione di mettere una nuova funzione nella classe (che già ho) che esegue la cifratura.... la precompilazione dovrebbe poi rendere il tutto sicuro in quanto il codice non è più in chiaro.... oltre a cio' il server deve essere sicuro questo è ovvio...

...credi che cio' non basti ?

Ad ogni modo, non ho ben chiaro come fare per cifrare l'intero file XML... posso poi decifrarlo e usare quanto è stato decifrato per fare un confronto con le licenze ?

alx_81 Profilo | Guru

>Io avevo proprio l'intenzione di mettere una nuova funzione nella
>classe (che già ho) che esegue la cifratura.... la precompilazione
>dovrebbe poi rendere il tutto sicuro in quanto il codice non
>è più in chiaro.... oltre a cio' il server deve essere sicuro
>questo è ovvio...
>...credi che cio' non basti ?
la dll la puoi sempre decompilare, devi offuscarla se vuoi renderla illeggibile.
Dotfuscator è un esempio: http://www.preemptive.com/products/dotfuscator/overview

>Ad ogni modo, non ho ben chiaro come fare per cifrare l'intero
>file XML... posso poi decifrarlo e usare quanto è stato decifrato
>per fare un confronto con le licenze ?

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

ravalon Profilo | Expert

Va bene lo stesso EAZfuscator che uso per le app .NET desktop ?

Se si, devo usarlo DOPO che ho precompilato giusto ? ...e immagino solo sulla cartella BIN...

alx_81 Profilo | Guru

>Va bene lo stesso EAZfuscator che uso per le app .NET desktop?
mai usato.. non so aiutarti..
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

ravalon Profilo | Expert

Ho scritto all'autore e dice che non può essere usato sui siti pre-compilati...va beh, problema secondario, mi fido della sicurezza del server (ora non posso far altro)...

...ritornando al file XML, io in genere trovo il file, lo apro e poi leggo i nodi...
...se ho capito bene, nel nostro esempio dovrei decryptarlo e leggere il contenuto decryptato on the fly.... sai indicarmi una via per fare cio?

ravalon Profilo | Expert

Mi scuso se vado un attimo off-topic ma se rispondete a questo post rientro subito nell'argomento in oggetto...

...Dunque... nonostante che il software che utilizzo per l'offuscamento non sia predisposto per gli website (ma solo per i webapplication), ho provato comunque sia a offuscare manualmente tutte le DLL del sito dopo la precompilazione.

Ho verificato l'offuscamento delle DLL e mi pare proprio che qualcosa abbia fatto...d'altra parte una DLL è normalmente offuscata da questo tipo di programmi giusto?

Il sito funziona in toto, quindi pare che non crei problemi...a questo punto la domanda...

Secondo voi è corretta la procedura PRECOMPILAZIONE SITO --> OFFUSCAMENTO DLL sulla directory BIN ?
Inoltre... un minimo di protezione (da offuscamento) ce l'ho cosi ??

Aggiungo che durante la precompilazione il codice delle pag ASPX viene rimosso per cui dovrei avere un certo livello di "impedimento alla facile lettura dopo decompilazione" ... o no ?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5