openssl - Decrypt Amazon Redshift CSV dump -
i decrypt csv dump of amazon redshift table locally. m using unload
command , client side encryption since data contains sensitive information.
the command using this:
unload ('select * testtable.test') 's3://unload' credentials 'aws_access_key_id=<aws_key_id>;aws_secret_access_key=<aws_secret_key_id>;master_symmetric_key=<master_key>' delimiter ',' addquotes escape encrypted allowoverwrite
to generate master_key used follwing command:
openssl enc -aes-256-cbc -pass pass:<mypass> -p -nosalt -base64
this outputs:
key=.... iv =....
i used key
`master_symmetric_key.
i copy s3 data locally , try decrypt this:
openssl enc -aes-256-cbc -d -nosalt -base64 -in 0000_part_00 -out temps.csv
but get:
bad decrypt 6038:error:0606506d:digital envelope routines:evp_decryptfinal_ex: wrong final block length:/sourcecache/openssl098/openssl098-52.20.2/src/crypto/evp/evp_enc.c:323
how decrypt amazon redshift csv dump?
the key stored metadata , available in x-amz-meta-x-amz-key
, , iv stored metadata , available in x-amz-meta-x-amz-iv
. redshift documentation:
... unload stores encrypted data files in amazon s3 , stores encrypted envelope key , iv object metadata each file. encrypted envelope key stored object metadata x-amz-meta-x-amz-key , iv stored object metadata x-amz-meta-x-amz-iv.
when s3 object these meta-data fields. here example of s3 get-object example: http://docs.aws.amazon.com/amazons3/latest/api/restobjectget.html
Comments
Post a Comment