Fari - AWS Crittografia database SDK

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Fari

La nostra libreria di crittografia lato client è stata rinominata Database Encryption SDK. AWS Questa guida per sviluppatori fornisce ancora informazioni sul DynamoDB Encryption Client.

Un beacon è un tag HMAC (Hash-Based Message Authentication Code) troncato che crea una mappa tra il valore in chiaro scritto in un campo e il valore crittografato effettivamente memorizzato nel database. Il beacon non altera lo stato crittografato del campo. Il beacon calcola un HMAC sul valore di testo in chiaro del campo e lo memorizza insieme al valore crittografato. Questo output HMAC corrisponde uno a uno (1:1) per il valore in chiaro di quel campo. L'output HMAC viene troncato in modo che più valori di testo in chiaro distinti vengano mappati allo stesso tag HMAC troncato. Questi falsi positivi limitano la capacità di un utente non autorizzato di identificare informazioni distintive sul valore del testo in chiaro.

I beacon possono essere creati solo a partire da campi contrassegnati o nelle azioni ENCRYPT_AND_SIGN crittograficheSIGN_ONLY. SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT Il beacon stesso non è firmato o crittografato. Non è possibile costruire un beacon con campi contrassegnati. DO_NOTHING

Il tipo di beacon configurato determina il tipo di interrogazioni che è possibile eseguire. Esistono due tipi di beacon che supportano la crittografia ricercabile. I beacon standard eseguono ricerche di uguaglianza. I beacon composti combinano stringhe letterali in chiaro e beacon standard per eseguire operazioni complesse sul database. Dopo aver configurato i beacon, è necessario configurare un indice secondario per ogni beacon prima di poter eseguire la ricerca nei campi crittografati. Per ulteriori informazioni, consulta Configurazione degli indici secondari con beacon.

Beacon standard

I beacon standard sono il modo più semplice per implementare la crittografia ricercabile nel database. Possono eseguire ricerche di uguaglianza solo per un singolo campo crittografato o virtuale. Per informazioni su come configurare i beacon standard, vedere Configurazione dei beacon standard.

Il campo da cui è costruito un beacon standard è chiamato beacon source. Identifica la posizione dei dati che il beacon deve mappare. La fonte del beacon può essere un campo crittografato o un campo virtuale. La fonte del beacon in ogni beacon standard deve essere unica. Non è possibile configurare due beacon con la stessa sorgente beacon.

I beacon standard possono essere utilizzati per eseguire ricerche di uguaglianza per un campo crittografato o virtuale. In alternativa, possono essere utilizzati per costruire beacon composti per eseguire operazioni di database più complesse. Per aiutarvi a organizzare e gestire i beacon standard, il AWS Database Encryption SDK fornisce i seguenti stili di beacon opzionali che definiscono l'uso previsto di un beacon standard. Per ulteriori informazioni, consulta Definizione degli stili di beacon.

È possibile creare un beacon standard che esegue ricerche di uguaglianza per un singolo campo crittografato oppure creare un beacon standard che esegue ricerche di uguaglianza sulla concatenazione di più campi e creando un campo virtuale. ENCRYPT_AND_SIGN SIGN_ONLY SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT

Campi virtuali

Un campo virtuale è un campo concettuale costruito da uno o più campi di origine. La creazione di un campo virtuale non comporta la scrittura di un nuovo campo nel record. Il campo virtuale non è archiviato in modo esplicito nel database. Viene utilizzato nella configurazione standard del beacon per fornire al beacon istruzioni su come identificare un segmento specifico di un campo o concatenare più campi all'interno di un record per eseguire una query specifica. Un campo virtuale richiede almeno un campo crittografato.

Nota

L'esempio seguente illustra i tipi di trasformazioni e interrogazioni che è possibile eseguire con un campo virtuale. In applicazione, i campi di esempio utilizzati in questo esempio potrebbero non soddisfare le raccomandazioni sull'unicità della distribuzione e della correlazione per i beacon.

Ad esempio, se si desidera eseguire ricerche di uguaglianza sulla concatenazione di LastName campi FirstName and, è possibile creare uno dei seguenti campi virtuali.

  • Un NameTag campo virtuale, composto dalla prima lettera del FirstName campo, seguito dal campo, tutto in LastName minuscolo. Questo campo virtuale consente di eseguire interrogazioni. NameTag=mjones

  • Un LastFirst campo virtuale, costruito a partire dal LastName campo, seguito dal FirstName campo. Questo campo virtuale consente di eseguire interrogazioniLastFirst=JonesMary.

Oppure, se desideri eseguire ricerche di uguaglianza su un segmento specifico di un campo crittografato, crea un campo virtuale che identifichi il segmento su cui desideri eseguire la query.

Ad esempio, se desideri interrogare un IPAddress campo crittografato utilizzando i primi tre segmenti dell'indirizzo IP, crea il seguente campo virtuale.

  • Un IPSegment campo virtuale, costruito daSegments(‘.’, 0, 3). Questo campo virtuale consente di eseguire interrogazioniIPSegment=192.0.2. La query restituisce tutti i record con un IPAddress valore che inizia con «192.0.2".

I campi virtuali devono essere univoci. Non è possibile creare due campi virtuali a partire dagli stessi campi sorgente.

Per informazioni sulla configurazione dei campi virtuali e dei beacon che li utilizzano, consulta Creazione di un campo virtuale.

Beacon composti

I beacon composti creano indici che migliorano le prestazioni delle query e consentono di eseguire operazioni di database più complesse. È possibile utilizzare i beacon composti per combinare stringhe di testo in chiaro letterali e beacon standard per eseguire query complesse su record crittografati, ad esempio interrogare due diversi tipi di record da un singolo indice o interrogare una combinazione di campi con una chiave di ordinamento. Per altri esempi di soluzioni beacon composte, consulta Scegliere un tipo di beacon.

I beacon composti possono essere costruiti a partire da beacon standard o da una combinazione di beacon standard e campi firmati. Sono costituiti da un elenco di parti. Tutti i beacon composti devono includere un elenco di parti crittografate che identifichi i ENCRYPT_AND_SIGN campi inclusi nel beacon. Ogni ENCRYPT_AND_SIGN campo deve essere identificato da un beacon standard. I beacon composti più complessi potrebbero includere anche un elenco di parti firmate che identificano il testo in chiaro SIGN_ONLY o i SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT campi inclusi nel beacon e un elenco di parti del costruttore che identificano tutti i possibili modi in cui il beacon composto può assemblare i campi.

Nota

Il AWS Database Encryption SDK supporta anche beacon firmati che possono essere configurati interamente da testo in chiaro e campi. SIGN_ONLY SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT I beacon firmati sono un tipo di beacon composto che indicizza ed esegue query complesse su campi firmati, ma non crittografati. Per ulteriori informazioni, consulta Creazione di beacon firmati.

Per informazioni sulla configurazione dei beacon composti, consultate Configurazione dei beacon composti.

Il modo in cui configuri il beacon composto determina i tipi di query che può eseguire. Ad esempio, è possibile rendere opzionali alcune parti crittografate e firmate per consentire una maggiore flessibilità nelle query. Per ulteriori informazioni sui tipi di interrogazioni che i beacon composti possono eseguire, vedere. Interrogazione dei beacon