Ata E Husain Bohra 81c7834d06
Encryption header authentication tokens (#6750)
* Encryption header authentication tokens

Description

  diff-1: Allow NONE AuthTokenMode operations
          Address review comments

Major changes proposed are:
1.Encryption header support two modes of generation 'authentication tokens':
  a) SingleAuthTokenMode: the scheme generates single crypto-secure auth
     token to protect {cipherText + header} payload. Scheme is geared towards
     optimizing cost due to crypto-secure auth-token generation, however,
     on decryption client needs to be read 'header' + 'encrypted-buffer'
     to validate the 'auth-token'. The scheme is ideal for usecases where
     payload represented by the encryptionHeader is not large and it is
     desirable to minimize CPU/latency penalty due to crypto-secure ops,
     such as: CommitProxies encrypted inline transactions,
     StorageServer encrypting pages etc.
  b) MultiAuthTokenMode: Scheme generates separate authTokens for
     'encrypted buffer' & 'encryption-header'. The scheme is ideal where
     payload represented by encryptionHeader is large enough such that it
     is desirable to optimize cost of upfront reading full 'encrypted buffer',
     compared to reading only encryptionHeader and ensuring its sanity;
     for instance: backup-files
2. Leverage full crypto-secure digest as 'authentication token'

Testing

Update EncryptionOps simulation test
Update BlobCipher unit test
20220408-182229-ahusain-foundationdb-7fd2e4b19328cd44
20220408-175754-ahusain-foundationdb-5352e37e1dcabfc8
2022-04-08 11:32:05 -07:00
..
2021-06-28 11:14:55 +08:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-04-07 17:34:13 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-31 17:08:59 -07:00
2022-03-17 16:53:10 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-28 22:49:03 -07:00
2022-03-28 22:54:00 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-11 12:23:01 -04:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-04-07 09:21:50 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-03-21 13:36:23 -07:00
2022-04-07 17:34:13 -07:00