Firma e verifica i dati

Le firme digitali vengono utilizzate per garantire l'integrità e l'autenticità dei dati. Questo documento spiega come utilizzare gcloud CLI per firmare i dati e verificare le firme utilizzando chiavi asimmetriche gestite da Key Management System (KMS).

Questa pagina è rivolta ai membri del gruppo di operatori di applicazioni, ad esempio i team DevOps, quando eseguono operazioni di gestione delle chiavi all'interno di Google Distributed Cloud (GDC) air-gapped. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gapped.

Prima di iniziare

Per firmare e verificare i dati utilizzando le chiavi, richiedi le autorizzazioni necessarie, prepara l'ambiente e crea una chiave di firma se non ne hai già una.

Richiedere ruoli IAM

Contatta l'amministratore IAM dell'organizzazione per concederti il seguente ruolo nello spazio dei nomi del progetto:

  • Sviluppatore KMS (kms-developer): visualizza le chiavi ed esegui operazioni di crittografia come la crittografia, la decrittografia, la firma e la verifica dei dati all'interno di un progetto.

prepara l'ambiente

  1. Installa e inizializza gcloud CLI, se non l'hai ancora fatto.

  2. Esegui l'autenticazione a GDC utilizzando gcloud CLI. Questo processo richiede il certificato dell'autorità di certificazione (CA) per la console della tua organizzazione:

    1. Scarica il certificato CA:

      echo -n | openssl s_client -showcerts -connect CONSOLE_URL:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > CA_CERT_PATH
      

      Sostituisci quanto segue:

      • CONSOLE_URL: l'URL della console della tua organizzazione (ad esempio console.org-1.zone1.google.gdch.test)
      • CA_CERT_PATH: il percorso completo in cui vuoi salvare il file del certificato CA (ad esempio /tmp/my-org-ca.crt)
    2. Accedi utilizzando il certificato CA scaricato:

      gdcloud auth login --login-config-cert=CA_CERT_PATH
      

Assicurati che esista una chiave di firma

Per firmare e verificare i dati, devi utilizzare una chiave di firma. La creazione e la verifica delle chiavi richiedono autorizzazioni IAM separate, come descritto nelle pagine collegate.

Dati della firma

Per firmare i dati, utilizza il comando gdcloud kms keys asymmetric-sign. Questo comando crea una firma digitale di un file di input utilizzando una chiave di firma e salva la firma con codifica Base64:

  gdcloud kms keys asymmetric-sign \
  namespaces/NAMESPACE/signingKeys/KEY_NAME \
  --input-file=INPUT_PATH \
  --signature-file=SIGNATURE_FILE

Sostituisci quanto segue:

  • NAMESPACE: lo spazio dei nomi del progetto, ad esempio: kms-test1
  • KEY_NAME: il nome della chiave utilizzata per la firma, ad esempio key-1
  • INPUT_PATH: il percorso del file di input che vuoi firmare
  • SIGNATURE_FILE: il percorso del file di output in cui salvare la firma codificata in base64

Dopo aver eseguito il comando, vedrai un file di output specificato nel flag --signature-file che contiene la firma con codifica in base64.

Verifica dei dati

Dopo aver firmato i dati, verifica la firma digitale base64 utilizzando il comando gdcloud kms keys asymmetric-verify. Questo comando verifica se la firma digitale con codifica Base64 che ricevi dopo aver eseguito il comando gdcloud kms keys asymmetric-sign è valida:

gdcloud kms keys asymmetric-verify \
namespaces/NAMESPACE/signingKeys/KEY_NAME \
  --input-file=INPUT_PATH \
  --signature-file=SIGNATURE_FILE

Sostituisci quanto segue:

  • NAMESPACE: lo spazio dei nomi del progetto, ad esempio: kms-test1
  • KEY_NAME: il nome della chiave utilizzata per la firma, ad esempio key-1
  • INPUT_PATH: il percorso del file di input originale firmato
  • SIGNATURE_FILE: il percorso del file contenente la firma codificata in base64 da verificare

Dopo aver eseguito il comando, se l'operazione va a buon fine, viene visualizzato l'output Verification OK. In caso contrario, vedrai l'output di errore Verification Failure.