I codici di sicurezza delle carte di credito sono in teoria non sicuri (se non del tutto infranti)?

28

Leggevo l'articolo di Wikipedia sui codici di sicurezza delle carte (CSC, CVD, CVV, CVC, V-code, SPC, CID, CV2, CVN2, CAcronym2, ecc. E una certa affermazione ha attirato la mia attenzione (sottolineatura mia):

The CSC for each card (form 1 and 2) is generated by the card issuer when the card is issued. It is calculated by encrypting the bank card number and expiration date (two fields printed on the card) with encryption keys known only to the card issuer, and decimalising the result.

La descrizione assomiglia molto ad un HMAC usando solo le informazioni pubbliche come input principale - ma in ogni caso, dato il numero di numeri di carte di credito compromessi (con i codici di sicurezza delle carte) esistenti, sicuramente deve essere possibile derivare la chiave di crittografia dell'emittente ormai? (Ha importanza se è una crittografia simmetrica o asimmetrica?)

Se è vero, allora sono sorpreso che il sistema sia progettato in quel modo invece di generare una chiave segreta o un numero univoco, per carta , da cui deriva il CSC invece di un'istituzione. chiave - che la mia domanda presuppone può essere derivata dal gran numero di valori di output data la conoscenza di tutti gli input in chiaro) - perché la mia attuale comprensione della crittografia mi dice che la chiave segreta può essere derivata con input cleartext abbastanza noto (dettagli della carta compromessa) e output di testo cifrato (codici CSC compromessi).

    
posta The D 12.04.2018 - 11:59
fonte

1 risposta

42

La derivazione della chiave di crittografia dell'emittente che utilizza una raccolta di numeri di carte di credito con i rispettivi codici di sicurezza sarebbe un esempio di attacco con testo in chiaro (KPA).

Per essere considerato sicuro, un cifrario deve essere resistente agli attacchi di testo in chiaro, vale a dire crackare la crittografia anche con un gran numero di coppie di testo cifrato in chiaro non dovrebbe essere significativamente più veloce di forzarlo bruto. Questo è un requisito fondamentale per i cipher da considerare anche per l'applicazione pratica.

Nella progettazione e nella valutazione dei cifrari, si presume che l'attaccante abbia quante coppie di testo cifrato note come vuole, e può produrne di nuove alimentando i testi in chiaro scelti per essere criptati (CPA). Nella sicurezza IT, i normali testi noti sono un dato di fatto, ad esempio, questa pagina viene servita a te crittografata tramite HTTPS, ma qualsiasi hacker può ottenere la maggior parte del testo in chiaro visitando il sito web. Se questo consentiva loro di ottenere la chiave privata, HTTPS sarebbe stato reso inutile.

I codici moderni come AES e anche quelli più deprecati sono resistenti al KPA se usati correttamente. L'unico utilizzo di coppie di testo cifrato in chiaro dovrebbe essere quello di verificare se la tua chiave corrisponde.

Le cifre obsolete dell'era precedente al computer non erano sicure e potrebbero essere effettivamente violate con KPA; questo è quello che è successo all'Enigma. È anche possibile rompere i codici moderni con KPA / CPA se vengono utilizzati in modo errato, ad es. con ripetute IV e nonces. Un cattivo utilizzo può ridurre la sicurezza di qualsiasi cifrario a un semplice XOR, quindi uno schema sicuro richiede più di un buon codice. Se qualche banca l'ha rovinato così male ... Spero di no.

    
risposta data 12.04.2018 - 12:37
fonte

Leggi altre domande sui tag