aws kms 예제

이 실용적인 예제 기반 가이드에서는 Amazon Web Services 키 관리 서비스(AWS KMS)가 무엇이며 비밀 암호화가 모든 사람이 준수해야 하는 필수 보안 관행인 이유를 설명합니다. 그런 다음 AWS KMS CLI를 사용하여 비밀을 암호화하고 해독하는 방법에 대해 자세히 알아보겠습니다. 다음 예제에서는 두 개 이상의 마스터 키 공급자와 함께 AWS 암호화 SDK를 사용하는 방법을 보여 주며 있습니다. 두 개 이상의 마스터 키 공급자를 사용하면 하나의 마스터 키 공급자를 암호 해독에 사용할 수 없는 경우 중복성이 만들어집니다. 이 예제에서는 AWS KMS의 CMK와 RSA 키 쌍을 마스터 키로 사용합니다. 먼저, 우리는 base64 우리의 일반 텍스트 키를 디코딩하고 파일에 저장합니다. 이 예제에서는 홈 디렉토리에서 tmp 폴더를 사용하고 있습니다. 예제 데이터를 암호화하기 전에 이전 단계에서 CipherTextBlob에서와 마찬가지로 data_key.json에서 일반 텍스트 키를 추출하고 base64를 디코딩해야 합니다. 마지막으로 일반 텍스트 키를 OpenSSL 도구 키트에 전달하고 암호화된 예제 데이터를 해독합니다. 마지막으로 OpenSSL 및 AES를 사용하여 데이터를 암호화할 수 있습니다.

다음 예제에서는 일반 텍스트 키로 .decrypted/database.json을 암호화하고 결과를 .encrypted/database.json에 저장합니다. 이 항목의 예제에서는 AWS KMS API에서 암호화, 해독 및 재암호화 작업을 사용합니다. 코드 예제를 살펴보기 전에 KMS가 기반으로 하는 ** 중앙 개념을 빠르게 살펴보겠습니다. 기본 암호화를 사용하는 것은 간단하지만 몇 가지 단점이 있습니다. 첫째, Amazon 서버에서 데이터를 암호화하기 위해 모든 데이터를 유선으로 전송해야 하므로 상당한 양의 데이터를 암호화하는 데 비용이 많이 듭니다. 둘째, 네트워크를 통해 데이터를 전송하면 잠재적인 보안 위반이 발생할 수 있으며 데이터에 대한 무단 공개 또는 액세스가 발생할 수 있습니다. 셋째, 내장 된 4KB 제한은 예를 들어 서버 인증서 등과 같은 대용량 파일을 암호화하지 못하게합니다. 물론, 당신은 데이터를 청크하고 암호 해독 하는 동안 나중에 다시 어셈블 수 있습니다., 하지만 그 보다는 우리가 봉투 암호화를 적용 하 여 더 잘 할 수 있는 방법을 살펴 수 있습니다. 다음 예제에서는 AWS 암호화 SDK를 사용하여 바이트 스트림을 암호화하고 해독하는 방법을 보여 주십습니다. 이 예제는 AWS를 사용하지 않습니다. JAVA 암호화 확장(JCE)을 사용하여 마스터 키를 보호합니다. 마찬가지로 이 예제에서 cryptString을 호출할 때 decryptResult 개체에는 암호화된 메시지가 포함됩니다.

일반 텍스트를 반환하기 전에 CMK ID와 암호화된 메시지의 암호화 컨텍스트가 예상되는 컨텍스트인지 확인합니다. 지금까지 AWS KMS, 봉투 암호화 의 핵심 개념을 잘 파악해야 하며 프로젝트에 대한 암호화 메커니즘을 구현할 수도 있어야 합니다. 이 게시물과 GitHub의 동반 저장소에 제공된 예제가 도움이되었기를 바랍니다. TL;DR: 이 게시물에서는 공용 GitHub/Bitbucket 리포지토리에서 개인 데이터를 보호하기 위한 대안으로 AWS KMS, 봉투 암호화 및 OpenSSL을 사용하는 방법을 소개합니다. AWS KMS를 사용하는 방법과 고유한 암호화 메커니즘을 구현하는 방법을 배웁니다. 마지막으로 Shell으로 작성된 예제 구현이 있는 리포지토리를 만들었습니다 ~ GitHub의 aws-kms 상용구 리포지토리를 확인하고 bin/directory의 암호화 및 해독 셸 스크립트를 살펴보겠습니다. 나는 당신의 예를 확장하고 stdin과 stdout을 사용하는 암호화 및 해독 기능을했다. 이 StackOverflow 대답에 대해 자세히 설명합니다.

https://stackoverflow.com/a/53735748/117471 이 예제에서는 AWS KMS(AWS KMS) 고객 마스터 키(CMK)를 마스터 키로 사용합니다.

Comments are closed.