각 클라우드 플랫폼에서는 클라우드형 스토리지 서비스를 제공한다.
AWS - S3, NCP - Object Storage 라는 서비스를 제공하고 있다.
SSE-C란? Server Side Encserver side encryption with customer provided key의
약자로 고객에게 제공된 고객의 키(AES256)의 암호키를 이용한 암호화 방식을 말한다.
각 스토리지에는 다양한 타입의 파일이 업로드 될 수 있는데, 보안상 파일을 평문그대로 업로드 하지 않고 암호화하여 업로드 할 수 있도록 Side 서비스를 제공한다.
단, AWS의 경우 현재는 S3내 암호화 옵션을 활성화하면 업/다운로드 되는 파일에 대해 자동으로 암/복호화를 수행해주기 때문에 별도의 작업이 필요없어서 SSE-C를 굳이 사용하고 있지는 않는다.
NCP는 SSE-C 암호화를 사용해야 하는 상황으로 아래와 같이 진행.
암호화 개인키 발급 방법.(Base64 Encoded AES-256 Key)
-
dd if=/dev/urandom bs=1 count=32 > sse.key
-
https://www.digitalsanctuary.com/aes-key-generator-free 에서 AES256 키 다운로드
> echo "<AES256 key>" | base64 -d > ./sse.key
암호화 업로드.
#s3api CLI를 사용한 sse-c
aws --endpoint-url=<NCP URL> s3api put-object --bucket <버킷명> --key <버킷path및 저장될 파일명> --body <업로드파일> --sse-customer-algorithm=AES256 --sse-customer-key=fileb://<key파일>
#s3 CLI를 사용한 sse-c
aws --endpoint-url=<NCP URL> s3 cp C:\setup.log s3://버킷명/버킷path및 저장될 파일명 --sse-c=AES256 --sse-c-key=fileb://<key파일>
암호화 다운로드.
#s3api CLI를 사용한 sse-c
aws --endpoint-url=<NCP URL> s3api get-object --bucket <버킷명> --key <버킷path및 다운로드 대상 파일명> <다운로드파일명> --sse-customer-algorithm=AES256 --sse-customer-key=fileb://<key파일명
#s3 CLI를 사용한 sse-c
aws --endpoint-url=<NCP URL>s3 cp s3://버킷명/버킷path및 다운로드 대상 파일명 ./ --sse-c=AES256 --sse-c-key=fileb://<key파일명>
암호화 확인.
'Paul Granduer Lee > 클라우드 서비스' 카테고리의 다른 글
S3 Glacier Valut 사용방법 (0) | 2020.11.19 |
---|---|
AWS EC2를 EIP를 사용하여 메일(mail) 발송 서버로 만들기 (2) | 2020.11.17 |
NCP(NAVER CLOUD PLATFORM) 구축기 #1 (0) | 2020.03.30 |
AWS CLI 명령어 자동완성 기능(aws completer) (0) | 2020.03.10 |
RDS SSL/TLS 인증서 재부팅없이 교체하기 (0) | 2020.01.15 |