기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
란 무엇입니까 AWS Encryption SDK?
AWS Encryption SDK 는 모든 사용자가 업계 표준 및 모범 사례를 사용하여 데이터를 쉽게 암호화하고 해독할 수 있도록 설계된 클라이언트 측 암호화 라이브러리입니다. 그럼으로써 데이터의 암호화 및 복호화 방법보다 애플리케이션의 핵심 기능에 집중할 수 있습니다. AWS Encryption SDK 는 Apache 2.0 라이선스에 따라 무료로 제공됩니다.
는 다음과 같은 질문에 AWS Encryption SDK 답합니다.
-
어떤 암호화 알고리즘을 사용해야 하나요?
-
이 알고리즘을 어떻게, 어떤 모드에서 사용해야 하나요?
-
암호화 키는 어떻게 생성하나요?
-
암호화 키를 보호하려면 어떻게 해야 하며 어디에 저장해야 하나요?
-
암호화된 데이터를 이동 가능하게 만들려면 어떻게 해야 하나요?
-
의도한 수신자가 내 암호화된 데이터를 읽을 수 있도록 하려면 어떻게 해야 하나요?
-
기록된 시점과 읽은 시점 사이에 내 암호화된 데이터가 수정되지 않도록 하려면 어떻게 해야 하나요?
-
에서 AWS KMS 반환하는 데이터 키를 사용하려면 어떻게 해야 합니까?
를 사용하여 데이터를 보호하는 데 사용할 래핑 키를 결정하는 마스터 키 공급자(Python) 또는 키링(CNET, C#/., Java 및 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 Encryption SDK 가 암호화된 데이터를 이동할 수 있습니다.
예를 들어 AWS KMS key 의 AWS KMS 와 온프레미스의 키로 데이터를 암호화합니다HSM. 어느 하나의 래핑 키를 사용할 수 없거나 호출자가 두 키를 모두 사용할 권한이 없는 경우 데이터를 복호화하는 데 두 래핑 키 중 어느 것을 사용해도 됩니다.
- 암호화된 데이터와 함께 암호화된 데이터 키를 저장하는 형식 메시지
-
는 암호화된 데이터와 암호화된 데이터 키를 정의된 데이터 형식을 사용하는 암호화된 메시지에 함께 AWS Encryption SDK 저장합니다. 즉,에서 데이터를 암호화하는 데이터 키를 추적하거나 보호할 필요가 없습니다 AWS Encryption SDK .
의 일부 언어 구현에는가 AWS Encryption SDK 필요하지만 AWS SDK에는 AWS Encryption SDK 가 필요하지 않으며 AWS 서비스에 의존하지 AWS 계정 않습니다. 를 사용하여 데이터를 보호하도록 선택한 AWS 계정 경우에만 AWS KMS keys가 필요합니다.
오픈 소스 리포지토리에서 개발
AWS Encryption SDK 는의 오픈 소스 리포지토리에서 개발됩니다 GitHub. 이러한 리포지토리를 사용하여 코드를 보고, 문제를 읽고 제출하고, 언어 구현과 관련된 정보를 찾을 수 있습니다.
AWS Encryption SDK for C — aws-encryption-sdk-c
AWS Encryption SDK 용.NET -
aws-encryption-sdk-dafny
리포지토리의 aws-encryption-sdk-net디렉터리입니다. AWS 암호화 CLI - aws-encryption-sdk-cli
AWS Encryption SDK for Java — aws-encryption-sdk-java
AWS Encryption SDK for JavaScript — aws-encryption-sdk-javascript
AWS Encryption SDK for Python — aws-encryption-sdk-python
암호화 라이브러리 및 서비스와의 호환성
AWS Encryption SDK 는 여러 프로그래밍 언어로 지원됩니다. 모든 언어 구현은 상호 연동이 가능합니다. 하나의 언어 구현으로 암호화하고 다른 언어 구현으로 복호화할 수 있습니다. 상호 연동성에는 언어 제약 조건이 적용될 수 있습니다. 이 경우 이러한 제약 조건은 언어 구현에 대한 주제에 설명되어 있습니다. 또한 암호화 및 복호화를 수행할 때는 호환되는 키링이나 마스터 키 및 마스터 키 공급자를 사용해야 합니다. 세부 정보는 키링 호환성을 참조하세요.
그러나는 다른 라이브러리와 상호 작용할 AWS Encryption SDK 수 없습니다. 각 라이브러리는 암호화된 데이터를 다른 형식으로 반환하므로 한 라이브러리로 암호화하고 다른 라이브러리로 복호화할 수 없습니다.
- DynamoDB Encryption Client 및 Amazon S3 클라이언트 측 암호화
는 DynamoDB 암호화 클라이언트 또는 Amazon S3 클라이언트 측 암호화로 암호화된 데이터를 해독할 수 AWS Encryption SDK 없습니다. 이러한 라이브러리는이 AWS Encryption SDK 반환하는 암호화된 메시지를 해독할 수 없습니다.
- AWS Key Management Service (AWS KMS)
는 AWS KMS keys 및 데이터 키를 사용하여 다중 리전 KMS 키를 포함한 데이터를 보호할 AWS Encryption SDK 수 있습니다. 예를 들어의 하나 이상의 AWS KMS keys 에서 데이터를 암호화 AWS Encryption SDK 하도록를 구성할 수 있습니다 AWS 계정. 그러나 AWS Encryption SDK 를 사용하여 해당 데이터를 복호화해야 합니다.
는 AWS KMS 암호화 또는 ReEncrypt 작업이 반환하는 암호 텍스트를 해독할 수 AWS Encryption SDK 없습니다. 마찬가지로 AWS KMS 복호화 작업은이 AWS Encryption SDK 반환하는 암호화된 메시지를 복호화할 수 없습니다.
는 대칭 암호화 KMS 키만 AWS Encryption SDK 지원합니다. 에서 암호화 또는 로그인에는 비대칭 KMS 키를 사용할 수 없습니다 AWS Encryption SDK. 는 AWS Encryption SDK 메시지에 ECDSA 서명하는 알고리즘 제품군에 대한 자체 서명 키를 생성합니다.
지원 및 유지 관리
AWS Encryption SDK 는 버전 관리 및 수명 주기 단계를 포함하여 및 도구가 사용하는 것과 AWS SDK 동일한 유지 관리 정책을 사용합니다. 프로그래밍 AWS Encryption SDK 언어에 사용할 수 있는 최신 버전의를 사용하고 새 버전이 출시되면 업그레이드하는 것이 좋습니다. 버전에 1.7.x 이전 AWS Encryption SDK 버전에서 2.0.x 이후 버전으로 업그레이드하는 등 상당한 변경이 필요한 경우 도움이 되는 자세한 지침을 제공합니다.
의 각 프로그래밍 언어 구현 AWS Encryption SDK 은 별도의 오픈 소스 GitHub 리포지토리에서 개발됩니다. 각 버전의 수명 주기 및 지원 단계는 리포지토리마다 다를 수 있습니다. 예를 들어 특정 버전의는 한 프로그래밍 언어의 일반 가용성(전체 지원) 단계이지만 다른 프로그래밍 언어의 end-of-support 단계일 AWS Encryption SDK 수 있습니다. 가능하면 완전히 지원되는 버전을 사용하고 더 이상 지원되지 않는 버전은 피하는 것이 좋습니다.
프로그래밍 언어에 맞는 AWS Encryption SDK 버전의 수명 주기 단계를 찾으려면 각 AWS Encryption SDK 리포지토리의 SUPPORT_POLICY.rst
파일을 참조하세요.
AWS Encryption SDK for C — SUPPORT_POLICY.rst
AWS Encryption SDK 의 경우 .NET — SUPPORT_POLICY.rst
AWS 암호화 CLI- SUPPORT_POLICY.rst
AWS Encryption SDK for Java — SUPPORT_POLICY.rst
AWS Encryption SDK for JavaScript — SUPPORT_POLICY.rst
AWS Encryption SDK for Python — SUPPORT_POLICY.rst
자세한 내용은 의 버전 AWS Encryption SDK AWS SDKs 및 도구 참조 안내서의 및 도구 유지 관리 정책을 참조하세요. AWS SDKs
자세히 알아보기
AWS Encryption SDK 및 클라이언트 측 암호화에 대한 자세한 내용은 다음 소스를 사용해 보세요.
-
이에 사용되는 용어 및 개념에 대한 도움말은 섹션을 SDK참조하세요의 개념 AWS Encryption SDK.
-
모범 사례 지침은 AWS Encryption SDK의 모범 사례 섹션을 참조하세요.
-
SDK 작동 방식에 대한 자세한 내용은 섹션을 참조하세요SDK 작동 방식.
-
에서 옵션을 구성하는 방법을 보여주는 예제는 섹션을 AWS Encryption SDK참조하세요구성 AWS Encryption SDK.
-
자세한 기술 정보는 AWS Encryption SDK 참조 섹션을 참조하세요.
의 기술 사양은의 AWS Encryption SDK 사양을
AWS Encryption SDK참조하세요 GitHub. -
사용에 대한 질문에 대한 답변을 보려면 AWS Crypto 도구 토론 포럼
을 AWS Encryption SDK읽고 게시하세요.
다양한 프로그래밍 언어로를 구현 AWS Encryption SDK 하는 방법에 대한 자세한 내용입니다.
-
C: AWS Encryption SDK for C, AWS Encryption SDK C 설명서
및 리aws-encryption-sdk-c 포지토리를 참조하세요 GitHub. -
C#/.NET: AWS Encryption SDK 용.NET 및 리
aws-encryption-sdk-dafny
포지토리의 aws-encryption-sdk-net디렉터리를 참조하세요 GitHub. -
명령줄 인터페이스: AWS Encryption SDK 명령줄 인터페이스, AWS 암호화용 문서 읽기
CLI및 리aws-encryption-sdk-cli 포지토리를 참조하세요 GitHub. -
Java: AWS Encryption SDK for Java의 , AWS Encryption SDK Javadoc
및 aws-encryption-sdk-java 리포지토리를 참조하세요 GitHub. JavaScript:의 AWS Encryption SDK for JavaScript 및 aws-encryption-sdk-javascript
리포지토리를 참조하세요 GitHub. -
Python: AWS Encryption SDK for Python, AWS Encryption SDK Python 설명서
및 리aws-encryption-sdk-python 포지토리를 참조하세요 GitHub.
피드백 보내기
우리는 여러분의 의견을 환영합니다. 질문이나 의견이 있거나 보고해야 할 문제가 있는 경우 다음 리소스를 사용하세요.
-
에서 잠재적 보안 취약성이 발견되면 AWS 보안에 알리
AWS Encryption SDK세요. 퍼블릭 GitHub 문제를 생성하지 마세요. -
에 대한 피드백을 제공하려면 사용 중인 프로그래밍 언어에 대한 문제를 GitHub 리포지토리에 AWS Encryption SDK제출합니다.
-
이 문서에 대한 피드백을 제공하려면 이 페이지의 피드백 링크를 사용하세요. 이 설명서aws-encryption-sdk-docs
의 오픈 소스 리포지토리인에 문제를 제기하거나 기여할 수도 있습니다 GitHub.