[Oracle Cloud] Object Storage에 SSE-C로 암호화하여 안전하게 업로드
3800 단어 oraclecloudoci
소개
Oracle Cloud Infrastructure(OCI)의 Object Storage는 데이터 암호화에 SSE-C(Server-Side Encryption with Customer-provided keys)를 사용할 수 있습니다. 이는 Object Storage에 데이터를 업로드할 때 AES 키를 함께 전달하여 Object Storage 측에서 해당 AES 키를 사용하여 데이터를 암호화합니다. 그러면 AES 키가 삭제됩니다. 반대로 데이터를 검색할 때 업로드할 때 지정한 AES 키를 지정하지 않으면 다운로드할 수 없습니다. 즉, AES 키를 가지고 있는 사람이 아니면 데이터 다운로드를 할 수 없게 되어, 보다 안전한 오브젝트 관리를 할 수 있습니다.
이 기사에서는 SSE-C 방법을 소개합니다.
OCI Vault
SSE-C를 수행하려면 AES 256비트 키가 필요합니다. 독자적으로 AES 키를 만들어도 좋지만 키 관리가 번거롭기 때문에 OCI Vault를 사용하는 것이 편합니다. OCI Vault를 사용하는 것이 걱정되는 분은 여기을 참조하십시오.
OCI CLI에서 OCI Vault에서 AES 256bit(32byte) 데이터 암호화 키를 생성합니다.
oci kms crypto generate-data-encryption-key \
--key-id ocid1.key.oc1.ap-tokyo-1.brp274vvaabe6.abxhiljre3ayxcxxr66zjuoyyjh2ld76dvkf7ogl4dgk6cd4okgbkvv5fi7q \
--include-plaintext-key true \
--endpoint https://brp274vvaabe6-crypto.kms.ap-tokyo-1.oraclecloud.com \
--key-shape '
{
"algorithm": "AES",
"length": 32
}
'
실행 예
{
"data": {
"ciphertext": "QXLDJKpVs+vFAOfo9TSbYJUGbnZfvl9g4Vmax+Tof84DFXMm6AgIzXEKRAUa2r5aPB0UFL3U8HdN9EARr0bmJu/JC/0k1AAAAAA=",
"plaintext": "RzUrIJZAHY22sbmhVDMLPgPcPv76pFnAi9G2a6bFXIs=",
"plaintext-checksum": "3654972344"
}
}
데이터 암호화 키(평문)를 파일화합니다. OCI CLI에서 실행하기 위해 파일화하지만, 본래는 그다지 추천할 수 있는 것은 아닙니다. 보다 안전하게 만들기 위해 SDK를 사용하여 메모리에서 데이터 암호화 키 (평문)를 처리하는 것이 좋습니다.
echo -n "RzUrIJZAHY22sbmhVDMLPgPcPv76pFnAi9G2a6bFXIs=" > /home/opc/work/data-encrypt-key.txt
Object Storage에서 SSE-C
sse-c-bucket이라는 Bucket으로 확인합니다.
업로드할 파일을 확인합니다.
[opc@vault01 work]$ cat /home/opc/work/rawtext.txt
Hello, OCI Vault! I am test file!
SSE-C를 사용하여 업로드
SSE-C를 수행하려면 AES 256비트 키가 필요합니다. 독자적으로 AES 키를 만들어도 좋지만 키 관리가 번거롭기 때문에 OCI Vault를 사용하는 것이 편합니다. OCI Vault를 사용하는 것이 걱정되는 분은 여기을 참조하십시오.
OCI CLI에서 OCI Vault에서 AES 256bit(32byte) 데이터 암호화 키를 생성합니다.
oci kms crypto generate-data-encryption-key \
--key-id ocid1.key.oc1.ap-tokyo-1.brp274vvaabe6.abxhiljre3ayxcxxr66zjuoyyjh2ld76dvkf7ogl4dgk6cd4okgbkvv5fi7q \
--include-plaintext-key true \
--endpoint https://brp274vvaabe6-crypto.kms.ap-tokyo-1.oraclecloud.com \
--key-shape '
{
"algorithm": "AES",
"length": 32
}
'
실행 예
{
"data": {
"ciphertext": "QXLDJKpVs+vFAOfo9TSbYJUGbnZfvl9g4Vmax+Tof84DFXMm6AgIzXEKRAUa2r5aPB0UFL3U8HdN9EARr0bmJu/JC/0k1AAAAAA=",
"plaintext": "RzUrIJZAHY22sbmhVDMLPgPcPv76pFnAi9G2a6bFXIs=",
"plaintext-checksum": "3654972344"
}
}
데이터 암호화 키(평문)를 파일화합니다. OCI CLI에서 실행하기 위해 파일화하지만, 본래는 그다지 추천할 수 있는 것은 아닙니다. 보다 안전하게 만들기 위해 SDK를 사용하여 메모리에서 데이터 암호화 키 (평문)를 처리하는 것이 좋습니다.
echo -n "RzUrIJZAHY22sbmhVDMLPgPcPv76pFnAi9G2a6bFXIs=" > /home/opc/work/data-encrypt-key.txt
Object Storage에서 SSE-C
sse-c-bucket이라는 Bucket으로 확인합니다.
업로드할 파일을 확인합니다.
[opc@vault01 work]$ cat /home/opc/work/rawtext.txt
Hello, OCI Vault! I am test file!
SSE-C를 사용하여 업로드
[opc@vault01 work]$ cat /home/opc/work/rawtext.txt
Hello, OCI Vault! I am test file!
oci os object put \
--bucket-name sse-c-bucket \
--file /home/opc/work/rawtext.txt \
--encryption-key-file /home/opc/work/data-encrypt-key.txt
Object Storage를 보면 파일이 저장됩니다. 다운로드를 누르면 ...
오류가 발생합니다. SSE-C를 사용하고 있으므로 다운로드할 때도 데이터 암호화 키를 지정하지 않으면 안됩니다.
OCI CLI에서도 정상적으로 얻으십시오.
oci os object get \
--bucket-name sse-c-bucket \
--name rawtext.txt \
--file /home/opc/work/get.txt
역시 오류가
{
"code": null,
"message": "The service returned error code 400",
"opc-request-id": "nrt-1:AF2eZIzFJVmYJXztITl1P6a6M7bsk-peq0_Bdc_azNbovpdeG1-Sj4jHfzhBTTZV",
"status": 400
}
데이터 암호화 키를 전달하여 다운로드를 시도합니다.
oci os object get \
--bucket-name sse-c-bucket \
--name rawtext.txt \
--file /home/opc/work/get.txt \
--encryption-key-file /home/opc/work/data-encrypt-key.txt
성공적으로 다운로드할 수 있었습니다.
[opc@vault01 work]$ cat /home/opc/work/get.txt
Hello, OCI Vault! I am test file!
참고 URL
Reference
이 문제에 관하여([Oracle Cloud] Object Storage에 SSE-C로 암호화하여 안전하게 업로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sugimount/items/2355b569ba5d76ed7669
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([Oracle Cloud] Object Storage에 SSE-C로 암호화하여 안전하게 업로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sugimount/items/2355b569ba5d76ed7669텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)