Perché il "protocollo" FATCA IDES non utilizza la crittografia RSA direttamente sull'archivio Zip?

1

Ecco il contesto: per trasmettere i dati FATCA al servizio US IRS il protocollo IDES definisce i seguenti passaggi

  1. firma il file Payload.xml XML con firma enveloping, SHA-256 con chiave privata RSA, come Payload-signed.xml .
  2. comprimere il file Payload-signed.xml XML firmato in un file zip Payload.zip
  3. genera una chiave da 32 byte a utilizzo singolo per AES-256
  4. crittografare l'archivio Zip Payload.zip con AES-256 come Payload
  5. crittografare l'AES con la chiave pubblica RSA per lo scambio come Key
  6. bundle chiave AES crittografata Key e file zip crittografato Payload in un archivio Zip

Domande:

  • C'è qualche motivo di sicurezza per non cifrare direttamente Payload.zip con la chiave pubblica RSA progettata per lo scambio?

  • Come confrontare la sicurezza della crittografia RSA tra un (molto piccolo) 32 byte (il tasto AES) e un file Zip più grande?

posta Yves Martin 29.06.2015 - 15:48
fonte

1 risposta

1

A causa di come funziona l'algoritmo, RSA non può "crittografare" i dati più grandi della dimensione della chiave. Quando si utilizza il riempimento, questa dimensione diminuisce ulteriormente, ad es. per il padding PKCS # 1 puoi solo crittografare (k/8) - 11 byte di messaggio, dove k è la dimensione della chiave in bit.

Il ridimensionamento per lavorare con messaggi di dimensioni arbitrarie è impossibile a causa del costo aggiuntivo delle lunghe chiavi RSA. Come accennato altrove , il ridimensionamento delle prestazioni di RSA è quadratico per la crittografia ( vale a dire raddoppiare la lunghezza della chiave che richiede quattro volte più a lungo) e cubica per la decifrazione (cioè il raddoppio della lunghezza della chiave fa sì che richieda otto volte più a lungo). Pertanto, se si desidera utilizzare chiavi sufficientemente lunghe da crittografare, ad esempio, 16 kB di dati, è necessaria una chiave a 131072 bit, che impiegherebbe 262144 volte più a lungo sulla decrittografia rispetto alla stessa operazione su una chiave a 2048 bit. Questo semplicemente non scala.

Ciò a cui si riferiscono nella specifica è un crittosistema ibrido che crittografa i dati utilizzando un codice simmetrico (ad esempio AES), la cui chiave viene quindi crittografata con RSA. Ciò fornisce le proprietà di condivisione della crittografia asimmetrica (ad esempio chiunque sia in grado di creare un messaggio, ma solo il proprietario della chiave privata è in grado di decrittografarlo) senza utilizzare le chiavi asimmetriche assurdamente enormi, il che rovinerebbe le prestazioni.

    
risposta data 29.06.2015 - 16:02
fonte

Leggi altre domande sui tag