AWS Encryption SDK이란 무엇인가요? - AWS Encryption SDK

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Encryption SDK이란 무엇인가요?

AWS Encryption SDK는 산업 표준과 모범 사례를 이용하여 모든 사람이 쉽게 데이터를 암호화하고 암호화 해제할 수 있도록 설계된 클라이언트 측 암호화 라이브러리입니다. 데이터를 가장 잘 암호화하고 해독하는 방법보다는 애플리케이션의 핵심 기능에 집중할 수 있습니다. AWS Encryption SDK는 Apache 2.0 라이선스에 따라 무료 제공됩니다.

AWS Encryption SDK는 사용자를 위해 다음과 같은 질문에 답해 줍니다.

  • 어떤 암호화 알고리즘을 사용해야 합니까?

  • 알고리즘은 어떻게, 또는 어떤 모드에서 사용해야 합니까?

  • 암호화 키를 생성하려면 어떻게 해야 합니까?

  • 암호화 키를 보호하려면 어떻게 해야 하며 어디에 저장해야 합니까?

  • 암호화된 데이터를 이동하려면 어떻게 해야 합니까?

  • 의도한 수신자가 암호화된 데이터를 읽을 수 있도록 하려면 어떻게 해야 합니까?

  • 암호화된 데이터가 쓰여진 시점과 읽기 시점 사이에 수정되지 않도록 하려면 어떻게 해야 합니까?

  • 데이터 키를 사용하려면 어떻게 해야 합니까?AWS KMS반환?

사용AWS Encryption SDK, 다음을 정의합니다.마스터 키 공급자(Java 및 Python) 또는키 링(C, C#/NET, 그리고 JavaScript는 데이터를 보호하는 데 사용하는 래핑 키를 결정합니다. 그런 다음 AWS Encryption SDK에서 간단한 방법을 사용하여 데이터를 암호화 및 암호화 해제합니다. 나머지 작업은 AWS Encryption SDK가 처리합니다.

AWS Encryption SDK를 사용하지 않으면 애플리케이션의 핵심 기능보다 암호화 솔루션을 빌드하는 데 더 많은 노력을 투자해야 할 수 있습니다. AWS Encryption SDK는 다음을 제시하여 이러한 질문에 답변합니다.

암호화 모범 사례에 따른 기본 구현

기본적으로 AWS Encryption SDK는 암호화하는 데이터 객체마다 고유한 데이터 키를 생성합니다. 이는 각 암호화 작업에 고유한 데이터 키를 사용하는 암호화 모범 사례를 따릅니다.

AWS Encryption SDK는 안전하고 인증된 대칭 키 알고리즘을 사용하여 데이터를 암호화합니다. 자세한 정보는 AWS Encryption SDK에서 지원되는 알고리즘 세트을 참조하십시오.

래핑 키를 사용하여 데이터 키를 보호하기 위한 프레임워크

이AWS Encryption SDK는 하나 이상의 래핑 키로 데이터를 암호화하여 그 데이터를 암호화한 데이터 키를 보호합니다. 하나 이상의 래핑 키를 사용하여 데이터 키를 암호화하는 프레임워크를 제공하기 때문에AWS Encryption SDK암호화된 데이터를 이식하는 데 도움이 됩니다.

예를 들어, 아래 데이터를 암호화합니다.AWS KMS key에서AWS KMS및 온프레미스 HSM의 키를 사용할 수 있습니다. 줄 바꿈 키 중 하나를 사용하여 데이터를 해독할 수 있습니다 (사용할 수 없거나 호출자가 두 키를 모두 사용할 수 있는 권한이 없는 경우).

암호화된 데이터와 함께 암호화된 데이터 키를 저장하는 형식 메시지

AWS Encryption SDK는 정의된 데이터 형식의 암호화된 메시지에 암호화된 데이터와 암호화된 데이터 키를 함께 저장합니다. 즉, 데이터를 암호화한 데이터 키를 AWS Encryption SDK가 추적하고 보호해 주므로 사용자는 조치할 필요가 없습니다.

일부 언어 구현AWS Encryption SDK이AWSSDK, 하지만AWS Encryption SDK는 를 필요로 하지 않습니다AWS 계정그리고 그것은 어떤 것에도 의존하지 않습니다.AWS서비스. 필요한AWS 계정사용하기로 선택한 경우에만AWS KMS keys를 사용하여 데이터를 보호할 수 있습니다.

오픈 소스 리포지토리에서 개발

이AWS Encryption SDK오픈 소스 리포지토리에서 개발되었습니다. GitHub. 이러한 리포지토리를 사용하여 코드를 보고 문제를 읽고 제출하며 언어 구현과 관련된 정보를 찾을 수 있습니다.

암호화 라이브러리 및 서비스와의 호환성

이AWS Encryption SDK는 여러 버전으로 지원됩니다.프로그래밍 언어. 모든 언어 구현은 상호 연동이 가능합니다. 하나의 언어 구현으로 암호화하고 다른 언어 구현으로 해독할 수 있습니다. 상호 운용성에는 언어 제약 조건이 적용될 수 있습니다. 이 경우 이러한 제약 조건은 언어 구현에 대한 주제에 설명되어 있습니다. 또한 암호화 및 암호 해독을 수행할 때는 호환되는 키 링이나 마스터 키 및 마스터 키 공급자를 사용해야 합니다. 자세한 내용은 키 링 호환성 섹션을 참조하십시오.

그러나 AWS Encryption SDK는 다른 라이브러리와 상호 작용할 수 없습니다. 각 라이브러리는 암호화된 데이터를 다른 형식으로 반환하므로 한 라이브러리로 암호화하고 다른 라이브러리로 해독할 수 없습니다.

DynamoDB 암호화 클라이언트 및 Amazon S3 클라이언트 측 암호화

이AWS Encryption SDK에 의해 암호화된 데이터를 해독할 수 없습니다.DynamoDB 암호화 클라이언트또는Amazon S3 클라이언트 측 암호화. 이러한 라이브러리는 해독할 수 없습니다.암호화된 메시지그AWS Encryption SDK반환됩니다. 

AWS Key Management Service (AWS KMS)

이AWS Encryption SDK사용할 수 있습니다AWS KMS keys데이터 키다중 리전 KMS 키를 포함한 데이터를 보호합니다. 예를 들어 다음을 구성할 수 있습니다.AWS Encryption SDK하나 이상의 데이터 암호화AWS KMS keys당신의AWS 계정. 그러나 해당 데이터를 해독하려면 AWS Encryption SDK를 사용해야 합니다.

이AWS Encryption SDK는AWS KMS Encrypt또는ReEncrypt작업이 반환됩니다. 마찬가지로AWS KMS 암호화 해제작업의 암호를 해독할 수 없습니다.암호화된 메시지그AWS Encryption SDK반환됩니다.

이AWS Encryption SDK만 지원됩니다.대칭 암호화 KMS 키. 는 를 사용할 수 없습니다.비대칭 KMS 키암호화 또는 로그인용AWS Encryption SDK. AWS Encryption SDK는 메시지에 서명하는 알고리즘 세트에 대한 자체 ECDSA 서명 키를 생성합니다.

사용할 라이브러리 또는 서비스를 결정하는 데 도움이 필요하면 을 (를) 참고하십시오.암호화 도구 또는 서비스 선택 방법에서AWS암호화 서비스 및 도구.

Support 및 유지 관리

이AWS Encryption SDK는 동일한유지 관리 정책그AWSSDK 및 Tools는 버전 관리 및 수명 주기 단계를 포함하여 사용합니다. a로모범 사례는 최신 버전의 를 사용하는 것이 좋습니다.AWS Encryption SDK프로그래밍 언어를 사용하고 새 버전이 출시되면 업그레이드할 수 있습니다. 버전 업그레이드와 같은 중요한 변경이 필요한 경우AWS Encryption SDK1.7보다 이전 버전입니다.x버전 2.0으로 전환합니다.x그리고 나중에, 우리는자세한 지침당신을 도울 수 있습니다.

각 프로그래밍 언어 구현AWS Encryption SDK별도의 오픈 소스로 개발되었습니다. GitHub 리포지토리 각 버전의 수명 주기 및 지원 단계는 저장소에 따라 다를 수 있습니다. 예를 들어, 지정된 버전의AWS Encryption SDK하나의 프로그래밍 언어에서 일반 가용성 (전체 지원) 단계에 있을 수 있지만 end-of-support다른 프로그래밍 언어로 된 단계. 가능하면 완전히 지원되는 버전을 사용하고 더 이상 지원되지 않는 버전은 사용하지 않는 것이 좋습니다.

의 라이프 사이클 단계를 찾으려면AWS Encryption SDK프로그래밍 언어에 대한 버전은 다음을 참조하십시오.SUPPORT_POLICY.rst각각에 있는 파일AWS Encryption SDK리포지토리

자세한 내용은 단원을 참조하십시오.의 버전AWS Encryption SDKAWSSDK 및 도구 유지 관리 정책의AWSSDK 및 도구 참조 안내서.

자세히 알아보기

AWS Encryption SDK와 클라이언트 측 암호화에 대한 자세한 내용은 다음 출처를 활용해 보십시오.

다른 프로그래밍 언어로 AWS Encryption SDK를 구현하는 방법에 대해 자세히 알아보려면 다음 자료를 참조하십시오.

피드백 보내기

우리는 여러분의 의견을 환영합니다. 질문이나 의견이 있거나 보고해야 할 문제가 있는 경우 다음 리소스를 사용하십시오.

  • AWS Encryption SDK에서 잠재적인 보안 취약점을 발견한 경우 AWS 보안 팀에 알리십시오. 공개 생성 안 함 GitHub 문제.

  • 에 대한 피드백을 제공하려면AWS Encryption SDK에서 문제를 제출하십시오. GitHub 사용 중인 프로그래밍 언어에 대한 리포지토리.

  • 이 설명서에 대한 피드백을 제공하려면피드백이 페이지의 링크입니다. 문제를 제기하거나 다음 항목에 기여할 수도 있습니다.aws-encryption-sdk-docs이 설명서의 오픈 소스 리포지토리는 GitHub.