Le API Tink prendono come input BLOB binari arbitrari. Ciò significa che se vuoi crittografare i dati strutturati, buffer di protocollo, è necessario prima di codificare i dati.
Cripta un protobuf
Per crittografare:
- Serializza il protobuf in un array di byte.
- Cripta i byte serializzati, quindi archivia o invia il testo crittografato risultante. Usa:
Per decriptare:
- Decripta il testo crittografato.
- Se il passaggio 1 ha esito positivo, deserializza il protobuf.
Proteggere un protobuf dalle manomissioni
Nella maggior parte dei casi, la crittografia di un protobuf è preferibile alla sola autenticazione.
Per proteggere un protobuf dalle manomissioni:
- Serializza il protobuf in un array di byte.
- Firma o autentica i byte serializzati. Usa:
- Archivia i byte serializzati insieme alla firma (o MAC).
Per eseguire la verifica:
- Ottieni il protobuf serializzato e la sua firma (o MAC).
- Verifica la firma (o l'indirizzo MAC).
- Deserializza il protobuf.
Tieni presente che una firma o un MAC validi non garantiscono che i dati siano corretti. formattato. Un'implementazione che analizza i dati deve sempre aspettarsi che i dati potrebbero essere danneggiati.
Proteggi più elementi di dati
Per proteggere più elementi di dati, utilizza un metodo di serializzazione. Aggiungi tutti i dati di crittografia (o autenticazione) a un protobuf e di criptarlo (o autenticarlo) come descritto sopra.
Puoi anche serializzare come segue:
serialize(data1 , data2 , …, datan) = 4-byte-data1's length || data1 || 4-byte-data2's length || data2 || … || 4-byte-dataN's length || dataN
Infine, cripta (o autentica) l'array di byte risultante.