Domanda:
Come può Paypal sapere che la mia carta viene utilizzata in un altro account?
TheAsh
2019-07-29 06:29:42 UTC
view on stackexchange narkive permalink

Ho una carta di credito salvata nel mio account Paypal principale. Per farla breve, avevo bisogno di creare un altro account Paypal che non sarebbe stato collegato a quello originale.

Ho utilizzato un computer diverso, che non era mai stato collegato a quello originale. Quando ho provato a registrare la mia carta di credito sull'account, Paypal mi ha detto che non ero in grado di registrarla, come hanno detto

questa carta è già collegata a un altro account Paypal.

Come possono saperlo? La mia carta di credito non dovrebbe essere memorizzata con un hash solo nel mio account? Come e perché Paypal conserva tutte le sue carte registrate in un unico grande file per riferimenti incrociati?

I commenti non sono per discussioni estese;questa conversazione è stata [spostata in chat] (https://chat.stackexchange.com/rooms/96934/discussion-on-question-by-theash-how-can-paypal-know-my-card-is-being-usato-in-un).
Cinque risposte:
#1
+82
Conor Mancone
2019-07-29 08:42:50 UTC
view on stackexchange narkive permalink

Ci sono un paio di ragioni per cui Paypal (o più in generale, qualsiasi servizio di pagamento) può sapere se hai utilizzato la tua carta in più di un posto.

La tua carta di credito è assolutamente tracciabile ovunque possibile

La mia carta di credito non dovrebbe essere memorizzata con un hash solo nel mio account?

Se la tua carta viene mantenuta con hash, può essere facilmente confrontata tra gli account . Gli hash sono deterministici, quindi per un algoritmo di hashing fisso una data carta di credito darà sempre lo stesso hash. Pertanto, se stessero archiviando gli hash, potrebbero facilmente confrontare gli account e determinare se la carta era già archiviata altrove. Ciò può essere vantaggioso, poiché in questo caso viene utilizzato per prevenire le frodi (l'implicazione è che se la stessa carta viene aggiunta a più account, è probabile che sia dovuta a una frode). Una volta che hai un hash "sicuro" di una carta di credito, non c'è motivo non per controllarlo su diversi account. Paypal certamente può e lo fa.

Tuttavia, questa capacità non è limitata a Paypal e può essere facilmente disponibile per commercianti molto più piccoli. Ad esempio, con Stripe (un comune metodo di pagamento conforme allo standard PCI) il commerciante riceverà un identificatore univoco per ogni numero di carta di credito memorizzato su Stripe. Il commerciante non conserva (né vede) il numero della carta, ma può comunque confrontare l'hash fornito con altri hash della carta che sono stati utilizzati nei loro sistemi. Questo può (ed è) facilmente utilizzato per lo scopo meno altruistico di tenere traccia della cronologia degli acquisti di un utente su più account e transazioni anonime, pur mantenendo la conformità PCI.

Quindi, per essere chiari, la tua carta di credito viene tracciata assolutamente ovunque da quante più persone riescono a tenerci le mani sopra, anche se non conoscono da sole il numero della tua carta di credito.

Paypal conserva in archivio il numero effettivo della tua carta di credito, non solo un cancelletto

I commercianti più piccoli possono e devono assicurarsi di non archiviare, trasmettere o esaminare mai i dettagli della carta. Tuttavia, non vi è alcun requisito che vieti a qualsiasi commerciante di mantenere il numero effettivo della carta se lo desidera. In generale, tuttavia, qualsiasi commerciante che desidera conservare i numeri di carta in archivio e rimanere conforme allo standard PCI dovrà (teoricamente) passare attraverso una convalida più rigorosa, un controllo di sicurezza e dovrà effettivamente pagare un sacco di soldi in commissioni. I maggiori costi e responsabilità di mantenere i numeri di carta di credito in archivio pur rimanendo conformi allo standard PCI sono così grandi che qualsiasi piccola-media impresa moderatamente ben gestita non proverà mai.

Tuttavia, le grandi aziende possono e scelgono di fare altrimenti . La realtà è che qualcuno deve memorizzare i numeri di carta da qualche parte in modo che la tua carta possa essere fatturata. I processori di carte di credito più grandi (che Paypal è sicuramente) memorizzano certamente il numero completo della carta. Dovrebbero memorizzare i numeri utilizzando una crittografia avanzata e chiavi sicure / procedure di controllo degli accessi.

Per quanto riguarda i dettagli su come determinano effettivamente che un numero di carta di credito viene utilizzato due volte, alla fine solo Paypal può rispondere. Possono avere un metodo per confrontare direttamente i numeri di carta crittografata, ma molto probabilmente anche memorizzano un hash dei numeri di carta e li confrontano direttamente ( h / t Jory Geerts). Ad ogni modo, mantengono il numero della tua carta in archivio e possono confrontare i numeri delle carte con i conti.

Nota che questo non significa che stiano "mantenendo tutte le carte registrate in un unico grande file per riferimenti incrociati". La loro infrastruttura per l'archiviazione sicura delle carte è certamente molto più complicata di così. Tuttavia, hanno ovviamente una forte esigenza aziendale di poter confrontare le carte tra gli account e hanno configurato la loro infrastruttura in modo che possano sia memorizzare le tue carte in modo sicuro e anche verificare la presenza di duplicati tra gli account. Sono d'accordo con il commento collegato: immagino che stiano anche calcolando un hash sicuro del numero di carta di credito e lo utilizzino per facili confronti.

"Sono sicuro che stanno solo confrontando direttamente i numeri delle carte di credito".Quindi se qualcuno li hackera, siamo tutti fregati?
@TheAsh sì.Idem se qualcuno hackera Visa.Anche se in realtà è qui che la conformità PCI dovrebbe aiutare.Poi di nuovo non è solo Paypal: una nota società di giochi per cui ho lavorato memorizza i numeri completi delle carte di credito per tutti i loro popolari abbonati MMO, ma ancora una volta, nel pieno rispetto del PCI.
Almeno @Denis lo hanno fatto in modo conforme allo standard PCI.Lavoravo a contratto per un gran numero di piccole imprese legate all'e-commerce e conoscevo almeno una di esse che, in effetti, conservava copie di testo semplice dei dettagli delle carte sui computer dell'ufficio.Almeno hanno fatto commercio B2B, quindi hanno causato problemi solo alle aziende e non ai consumatori ...
"Sono sicuro che stanno solo confrontando direttamente i numeri delle carte di credito."Per quanto ne so, PCI-DSS richiede cose come la crittografia.Decifrare tutto è piuttosto costoso (in termini di tempo di CPU).Inoltre, mette il "servizio di confronto numero di carta" in un "ambito" più alto (che significa "molte regole") rispetto a qualcosa che confronta solo alcuni hash ma non tocca mai un numero di carta effettivo.Quindi, a mio parere, confrontare gli hash è molto più semplice che confrontare i numeri effettivi.
@JoryGeerts Buon punto.Stavo solo sottolineando il fatto che in realtà hanno tutti i dettagli della carta di credito a portata di mano, piuttosto che cercare di fare affermazioni forti su come potrebbero effettivamente fare il confronto.Di conseguenza ho aggiornato quella sezione.
Sviluppavo software ATM per vivere e non è così facile come sembra.Prima di tutto sono certo che "i dettagli completi della carta di credito" non vengono memorizzati in quanto è vietato memorizzare il codice di sicurezza della carta (o l'intera striscia magnetica ma questo è meno rilevante per Paypal).Inoltre, per la crittografia abbiamo utilizzato un modulo di crittografia hardware dedicato in cui solo i due addetti alla sicurezza possedevano metà della chiave e non ha un comando "decrittografa" (solo comandi per crittografare i dati sotto un'altra chiave che devono essere stati inseriti manualmente prima)
"Paypal conserva i dettagli della tua carta di credito in archivio".Sfortunatamente, con la tua ultima modifica, non hai effettivamente risposto alla domanda.Ovviamente mantengono le informazioni in archivio (altrimenti non sarei in grado di acquistare nulla), la mia domanda è: hanno un grande megafile non crittografato che mostra tutti i conti ei numeri di carta di credito collegati?Oppure memorizzano semplicemente le informazioni della carta sotto ogni account senza mai confrontare le informazioni, come pensavo che dovessero?
@TheAsh ancora un aggiornamento per te.Sicuramente non hanno un grande file mega non crittografato.
Lavoravo per un'azienda che memorizzava i numeri delle carte di credito.Erano crittografati tramite HSM, in modo che nessuno potesse mettere le mani sulle chiavi per la decrittografia offline e il traffico di rete verso l'HSM era fortemente limitato e monitorato.
@ConorMancone ea causa di questa modifica, ho accettato la tua risposta.
@MatthieuM.Come dovrebbe essere!Eppure, il furto di carte di credito è ancora un grande business.Ci sono troppe persone che non lo fanno nel modo giusto (anche se non importa quanto sia sicuro l'archiviazione della tua carta di credito se un utente malintenzionato si inietta da qualche altra parte nel processo, il che è successo innumerevoli volte. Https: //www.theregister.co.uk / 2018/09/12 / feedify_magecart_javascript_library_hacked /
@TheAsh Ironia della sorte, questo è appena uscito oggi: https://gizmodo.com/a-hacker-stole-capital-one-data-on-106-million-customer-1836806812.Vale a dire che, in effetti, quando gli stessi istituti finanziari vengono hackerati, i consumatori si fregano.
Sto sbagliando i conti?Un hash che puoi cercare sulle carte di credito non ha valore.~ 4 cifre dell'ID dell'emittente lascia 12 cifre di qualsiasi casualità reale;cercare un trilione di hash è banale.Per evitare ciò è necessario un sale molto forte, e un tale sale rende la ricerca per hashish poco pratica.
@Yakk Le carte di credito hanno ancora meno entropia di quella.La prima cifra è l'azienda, l'ultima cifra è una cifra di controllo e ci sono altri piccoli vincoli sul numero della carta.Puoi aumentare il fattore di costo su molti algoritmi di hashing, ma sono curioso di sapere come un numero CC ** verrebbe ** codificato in modo sicuro: è anche peggio delle password.Penso che ci siano alcune grandi aziende che usano gli hash, quindi presumo che ci sia un modo "giusto" per farlo, ma una di queste affermazioni potrebbe essere sbagliata.
@ConorMancone * nod *, anche con un megabyte di sale, che blocca le tabelle arcobaleno ma non migliora il rapporto attacco vs utilizzo.
@Yakk ed è per questo che di solito dovresti considerare il numero della tua carta di credito come un'informazione effettivamente pubblica.Mentre il CVC dovrebbe essere un po 'privato, tutto ciò che è stampato sulla parte anteriore della tua carta è solo per facilmente copiato.
@ConorMancone Ai fini dell'OP, un database potrebbe essere paragonabile a un "mega file", ma ovviamente non saranno in testo normale.
@Yakk Il tuo commento è proprio l'intento della mia domanda.
#2
+22
Lie Ryan
2019-07-29 08:46:53 UTC
view on stackexchange narkive permalink

PayPal è un processore di pagamento, non un commerciante, deve trasferire il numero della carta alla tua banca (o emittente della carta) quando elabora i pagamenti, quindi deve memorizzare la tua carta di credito in un modo che possa essere decrittografato torna ai numeri delle carte. Per conformarsi a PCI-DSS, dovranno crittografare queste informazioni sui loro server e rispettare tutti i requisiti PCI-DSS più rigorosi, ma non possono utilizzare un hash unidirezionale per archiviare le informazioni e comunque in grado di elaborare il pagamento.

Detto questo, anche se memorizzano le informazioni in un hash unidirezionale, è comunque abbastanza semplice trovare numeri che corrispondono esattamente per il rilevamento di duplicati.

#3
+6
Machavity
2019-07-30 03:38:51 UTC
view on stackexchange narkive permalink

I numeri delle carte fanno parte da tempo del processo di valutazione del rischio di PayPal. Usavamo il loro prodotto Pagamenti su sito web Pro e talvolta avremmo avuto un problema in cui qualcuno inseriva il proprio numero di carta nel nostro checkout e PayPal lo rifiutava perché

  1. Era associato a PayPal account con un avviso di frode (a volte valutato internamente da PayPal)
  2. La carta era stata precedentemente vista in attività di cattivo attore

Tutto questo era anteriore alla conformità PCI. # 1 era problematico perché richiedeva letteralmente al cliente di chiamare PayPal e risolvere direttamente il problema (a volte su conti chiusi per anni). Questa non è un'attività nuova di PayPal.

PCI non lo vieta necessariamente. I numeri delle carte possono essere memorizzati nella totalità, così come le date di scadenza. Solo i numeri CVV2 non possono essere memorizzati. Se memorizzi i dati della carta in questo modo, devi soddisfare determinati criteri di sicurezza ( vedi questa domanda per alcuni dettagli)

#4
+1
mckenzm
2019-07-30 10:40:15 UTC
view on stackexchange narkive permalink

Avranno una regola secondo cui una carta può essere collegata solo una volta. L'immagine che usano per sondare potrebbe non essere un testo semplice e potrebbe essere stata "compressa" (COMP-3 o BCD) prima dell'hashing, ma dovrebbe essere abbastanza entropica (cardinalità alta) per evitare collisioni.

Non sarà solo il numero, sarà anche la data di scadenza e forse il cvv. Tutti i numeri di carta di credito iniziano con un BIN di 4 cifre e terminano con una cifra di controllo basata sull'algoritmo di Luhn. Sono necessariamente riciclati poiché è rimasto un numero finito di cifre, soprattutto quando le banche Visa e MasterCard potrebbero utilizzare le due o tre cifre successive per le informazioni sui prodotti secondari. Conosco una banca che ha utilizzato le prime 10 cifre per alcune carte rilasciate al personale in qualità di dipendenti. Quindi prima o poi qualcun altro ottiene il tuo numero quando ottieni un altro numero.

È molto semplice sondare un indice per un valore esistente.

#5
-3
Clockwork-Muse
2019-07-30 00:17:23 UTC
view on stackexchange narkive permalink

Le altre risposte presumono che Paypal memorizzi tutti i dettagli, più un hash per eseguire il confronto.

Questo è probabilmente errato in generale. Nella moderna sicurezza delle carte di credito, in particolare per le transazioni di e-commerce, i numeri di conto delle carte di credito vengono convertiti in token, spesso limitati a un singolo commerciante:

Visa card tokenization

(Da un documento esplicativo disponibile sul sito di Visa).

Un commerciante riceverà probabilmente un gettone costante per ogni carta. È inoltre possibile restituire ulteriori dettagli, come il numero di conto dell'utente. A seconda di come viene gestita la tokenizzazione, è possibile che questi token siano inutilizzabili da altri commercianti, annullando la necessità di hashing o crittografia.

Stai fraintendendo la domanda.Non si tratta di tokenizzazione
@Machavity - come mai?Se un token è costante per il commerciante (cioè PayPal), allora necessariamente sarebbe in grado di confrontare il token al posto del numero della carta.
Nel passaggio # 1 il cliente inserisce il proprio PAN ** e Visa lo memorizza **.Che è ciò che PayPal sta facendo all'OP.Inoltre, se emettessero lo stesso token per lo stesso PAN ogni volta sarebbe molto più facile decodificare il token per determinare il PAN.Non c'è alcuna garanzia che il PAN sia nemmeno parte del processo di generazione del token.Ancora più importante, PayPal lo fa da oltre un decennio
@Machavity - Il processo sarebbe: dare PAN a PayPal, PayPal lo passa a Visa, Visa restituisce il token (o qualche altro identificatore), PayPal memorizza / utilizza il token.Ciò limita le preoccupazioni di conformità PCI di PayPal.Il motivo principale per utilizzare PayPal è che i siti Web non devono preoccuparsi di integrarsi con Visa.E la tecnologia sottostante potrebbe certamente essere cambiata nel tempo.`Inoltre, se emettessero lo stesso token per lo stesso PAN ogni volta sarebbe molto più facile decodificare il token per determinare il PAN. ... intendi, come l'hashing del PAN?
@Clockwork-Muse Ricorda che [PayPal non è un commerciante] (https://security.stackexchange.com/a/214247/88532).In effetti, forniscono servizi di pagamento ai commercianti.Se un commerciante può ottenere un token tramite PayPal, PayPal deve generare quel token e deve avere a portata di mano i dettagli della carta originale per elaborare i pagamenti con la carta reale, non con il token.
Sarebbe possibile per loro utilizzare i fornitori di carte di credito per fare del lavoro per loro conto, ma non è necessario che lo facciano;devono semplicemente pagare commissioni più elevate e superare controlli di sicurezza più rigorosi per il privilegio di conservare le carte di credito.Anche alcuni commercianti più grandi lo fanno e sarei sorpreso se un elaboratore di pagamenti non eseguisse la propria elaborazione dei pagamenti: altrimenti, dov'è il loro modello di business?Cosa impedisce a Visa di offrire gli stessi servizi direttamente ai clienti di Paypal e di metterli fuori mercato?
@jpaugh - Perché gestiscono più di una semplice Visa: gestiscono più tipi di carta, valore memorizzato e altro ancora.Se sto programmando un'applicazione web, non voglio gestire più processori / gateway: ne voglio solo uno ampiamente riconosciuto e che sia finita.
Anche Mastercard fa qualcosa di simile: https://masterpass.com/en-us.html
@Clockwork-Muse Questo è un buon punto;ma è anche un'ulteriore ragione per cui avrebbero bisogno di conservare le carte di credito per avere un modello di business: non possono aspettarsi che Visa e Master Card offrano i loro servizi nello stesso modo;quindi dovrebbero fare il loro "lavoro sulle gambe" (per così dire) al fine di fornire un'esperienza coerente ai commercianti.
@jpaugh: non ha senso.Con set di dati grandi quanto loro, un flusso e un database per emittente non è improbabile.Gli adattatori e le classi di mappatura sono quasi certi, _anche se memorizzano il numero completo_.Inoltre, dato che puoi utilizzare cose come conti bancari o "crediti di rimborso" in PayPal, il modo più semplice per offrire un'esperienza commerciale coerente è semplicemente restituire al commerciante un ID transazione con "successo".Nessun dettaglio della carta, niente di niente (per una serie di motivi probabilmente restituiscono alcuni dettagli, però).PayPal nasconde le differenze tra gli emittenti per i commercianti.
@Clockwork-Muse A questo punto, probabilmente uno di noi sta indovinando;ma per restituire un ID transazione * coerente *, mi aspetto che debbano prima crearne uno, poiché Visa e MasterCard non sono obbligate a restituire lo stesso tipo di numero o offrire un'esperienza coerente ai clienti di PayPal.Visa potrebbe avere un ID transazione di un hash della data e dell'importo in dollari mentre l'MC potrebbe restituire un GUID.Inoltre, PayPal potrebbe effettivamente avere uno SLA che obbliga Visa e MasterCard a presentare gli ID delle transazioni (e i token o qualsiasi altra cosa) allo stesso modo.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...