Amazon AWS KMS - Concetto di firma in generale e con JWT

0

Esame di Amazon AWS KMS (Key Management System).

Sono confuso poiché i metodi esposti tramite le API di Amazon AWS sono solo per crittografare e decodificare ( collegamento ). Tuttavia, voglio firmare i dati (in particolare JWT).

Le mie domande:

1) Firma a malapena l'hash del contenuto?

2) Nel caso di JWT, se cancello il contenuto di JWT e lo criptolo e lo metto nel campo della firma, sarà la firma corretta?

Grazie,

    
posta android_dev 27.06.2018 - 08:58
fonte

1 risposta

1

KMS + JWT è confuso e facilmente abusato. Questa domanda riguarda la pragmatica, quindi le risposte sommarie di seguito, sono felici di espanderle ma i dettagli sono intricati.

1) Is signing barely encryption of the hash of the content?

Non lo è.

2) In JWT case, if I hash the content of JWT and encrypt it and 
   put it in signature field, will it be correct signing?

Non lo farà.

Se stai utilizzando i JWT per i token di autorizzazione, ecco la versione breve di ciò che vorresti fare:

  • Utilizza KMS per generare una chiave dati a 256 bit, sia in forma crittografata che in testo semplice: link
  • Salva il modulo crittografato della chiave dati, insieme all'ID-chiave CMK con cui è stato coniato, nel tuo database o con la configurazione dell'applicazione
  • Utilizza la chiave dati in chiaro a 256 bit come "segreto" con la libreria JWT preferita della tua piattaforma linguistica per firmare e convalidare i JWT.
  • Quando la tua applicazione si riavvia, prendi il Data Key crittografato dal database, chiama KMS Decrypt su di esso per ottenere la versione in chiaro del Data Key e usa come sopra per la firma e la validazione di JWT

Spero che ti aiuti.

    
risposta data 27.06.2018 - 17:55
fonte

Leggi altre domande sui tag