• User Attivo

    [MySql] Memorizzare dati criptati.. ma recuperabili..

    Ciao a tutti... :ciauz:

    problema sulla sicurezza dei dati...

    in pratica voglio memorizzare "a garanzia" i dati della carta di credito degli utenti che decideranno di acquistare un servizio dal mio sito.

    Per evitare problemi, oltre a utilizzare il protocollo HTTPS, stavo pensando di criptare i dati utilizzando la funzione MD5..

    Sbaglio oppure se cripto i dati con MD5 non sarò in grado neppure io di recuperare i valori della carta?

    In che modo potrei fare..? Vorrei che i dati fossero protetti da sguardi indiscreti.. (magari da parte di chi gestisce il servizio hosting) ma in caso di necessità li vorrei recuperare..

    qualche consiglio?? Oppure li devo memorizzare in chiaro?? 😞


  • Consiglio Direttivo

    ciao henry78
    **Credo **proprio che non hai molte scelte, se cripti poi la vedo difficile a recuperare i dati, per quanto ne sappia io non è possibile (almeno in modo "legale" ;)).
    L'unico consiglio che posso darti e quello di creare dei campi "anonimi" nella tua tabella e di spezzettare in un'ordine che conosci solo tu il numero della carta di credito 😉

    EDIT: mi è venuto in mente dopo 😄
    potresti diversamente assegnare ad un numero la corrispondenza di una lettera a caso (che come sempre conosci solo tu ;)):
    1 = c
    2 = o
    3 = e
    ....
    😉


  • User Attivo

    Grazie Samyorn,

    credo che il tuo suggerimento sia l'unico che possa essere perseguito..

    la carta è composta da 16 cifre, le memorizzerò in campi diversi (e anomini) secondo un ordine da me conosciuto. E spero di non avere problemi.

    grazie 1000 :ciauz:


  • User Attivo

    b'è, ma se il gestore del server vuole vedere i numero, lo fa lo stesso, va a beccare il tuo script dove le metti in sieme, e vede l'ordine!


  • User Attivo

    Anche questo è vero...

    hai qualche suggerimento? :mmm:


  • User Attivo

    lo useresti molto spesso il recupero del code?


  • User Attivo

    non credo..

    dovrebbe essere una eccezione..


  • User Attivo

    a questo punto lo script potresti tenertelo te, magari in una chiavetta usb, e con un'altro script, leggere il file dal tuo pc ed eseguirlo!


  • User Attivo

    questa è una buona idea!

    un pò macchinosa ma buona! 😉


  • User Attivo

    una mente contorta come la mia, sforna idee contorte!!!


  • Super User

    @Samyorn said:

    ciao henry78
    **Credo **proprio che non hai molte scelte, se cripti poi la vedo difficile a recuperare i dati, per quanto ne sappia io non è possibile (almeno in modo "legale" ;)).
    L'unico consiglio che posso darti e quello di creare dei campi "anonimi" nella tua tabella e di spezzettare in un'ordine che conosci solo tu il numero della carta di credito 😉

    EDIT: mi è venuto in mente dopo 😄
    potresti diversamente assegnare ad un numero la corrispondenza di una lettera a caso (che come sempre conosci solo tu ;)):
    1 = c
    2 = o
    3 = e
    ....
    😉
    Beh non è esatto, se fai hashing, ovvero usi md5 e simili, non recuperi il valore originale perchè quello è proprio lo scopo, invece se cripti poi c'è sempre il modo per tornate all'originale, conoscendo chiavi e algoritmi usati ovviamente. Puoi usare aes o altri algoritmi a chiave privata, oppure rsa (a chiave pubblica), immagini ci siano implementazioni di tutti. Potresti fare come consigliato di avere script e/o programmi in locale e salvare il remoto solo il valore criptato, che nel caso di rsa o aes sta abbastanza al riparo da sguardi indiscreti.


  • User Attivo

    @cali1981 said:

    Beh non è esatto, se fai hashing, ovvero usi md5 e simili, non recuperi il valore originale perchè quello è proprio lo scopo, invece se cripti poi c'è sempre il modo per tornate all'originale, conoscendo chiavi e algoritmi usati ovviamente. Puoi usare aes o altri algoritmi a chiave privata, oppure rsa (a chiave pubblica), immagini ci siano implementazioni di tutti. Potresti fare come consigliato di avere script e/o programmi in locale e salvare il remoto solo il valore criptato, che nel caso di rsa o aes sta abbastanza al riparo da sguardi indiscreti.

    Si, credo che utilizzare un programma in locale per "recuperare" i dati della carta di credito, sia una buona soluzione...

    pensandoci però il vero "punto debole", è il file che memorizza i dati della carta nel db... infatti è in quel file che si troverà il "trucco" per criptare i dati.. e il file che inserisce i dati nel db.. deve per forza stare sul server...

    quindi mi sembra inutile perderci troppo tempo :bho:


  • Super User

    Beh quello si ma a questo punto se ti fidi così pochi di questi dell'hosting cambialo! Se fanno qualche cosa del genere ci sono guai legali grossi, anzi enormi! Se ti preoccupi anche di eventuali hacker invece poco puoi fare, se accedono a script e db hanno tutto... Ma spero che l'hosting si sia tutelato a tal proposito.


  • User Attivo

    io xrò, di salvare dati così sensibili, nn ci penserei nemmeno, sopratutto se nn hai un server tuo, gli utenti dovrebero inserire ogni volta il numero, così tu sei tutelato, e loro, credo che si sentirebbero un po + al sicuro, ok, devono ogni volta inserire il numero, ma se gli scrivi che per la loro sicurezza nn salvi dati sensibili, ne guadagni.....

    cmq questa è una mia opinione!!!


  • Super User

    Ok, ma anche se li inseriscono di volta in volta tu da qualche parte dovrai salvarli no? Potresti cancellarli appena li hai presi, ma un pò sul server rimangono comunque.


  • User Attivo

    non necessariamente, se tu fai l'operazione di inserimento del numero, subito prima del'operazione, non rimangono + di 10s, e li solo ki fa sniffing o ha modificato la pagina per farsi inviar i dati, può vederli, io sono del'idea che ciò che non c'è, non si può violare!

    poi tra tenere i numeri per giorni e per decine di secondi, cambia!

    se poi usi https, appoggiandoti su una banca, puoi dormire sogni "quasi" tranquilli!!!


  • Super User

    Si ma mi apre che dicesse che manteneva i dati della carta di credito per sicurezza, quindi immagino non li usi subito...


  • User Attivo

    temo che la carenza di discussioni su questo argomento (secondo me fondamentale per lo sviluppo di internet), sia la prova che siamo in pochi a porci tanti problemi sell'archiviazione di dati sensibili.. 😞

    comunque il mio hosting è di tipo professionale.. però ho paura del classico stagista.. con l'occhio troppo lungo...

    è vero che se dovesse capitare sarebbero grane dell'hosting.. però ne cadrebbe anche la credibilità del portale... e questo non deve succere...

    e poi, immagino sia abbastanza lungo e difficile dimostrare chi e come è entrato in possesso dei dati sensibili contenuti da una tabella...

    ps (comunque argomento appassionante!!)


  • Super User

    Il problema sta tutto nel fatto che se usi uno script presente su server, altro non puoi fare. Se usassi programmi compilati tipo dll di asp.net o simili il problema sarebbe diverso, perchè usando offuscatori puoi nascondere quello che fa il codice, quindi in quel caso potresti criptare e decriptare la password senza porti il problema dello stagista. Certo, se poi lo stagista è un professionista il discorso si fa diverso. In ogni caso, sappi che il maggior problema in caso di sicurezza sempre chi sta davanti al monitor, uno dei più grandi hacker del mondo chiamava e tra un discorso e l'altro si faceva dare la password (= manhacking)