More Related Content
Similar to AWS KMS를 활용하여 안전한 AWS 환경을 구축하기 위한 전략::임기성::AWS Summit Seoul 2018
Similar to AWS KMS를 활용하여 안전한 AWS 환경을 구축하기 위한 전략::임기성::AWS Summit Seoul 2018 (20)
More from Amazon Web Services Korea
More from Amazon Web Services Korea (20)
AWS KMS를 활용하여 안전한 AWS 환경을 구축하기 위한 전략::임기성::AWS Summit Seoul 2018
- 1. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
임 기 성
AWS Korea / Solutions Architect
AWS KMS를 활용하여 안전한
AWS 환경을 구축하기 위한
전략
- 2. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
목차
AWS 암호화 개요
• 전송 중 데이터 암호화
• 저장 시 데이터 암호화
KMS 활용 모범사례
• Infrastructure 관점
• IAM 관점
• 탐지 통제 관점
• 데이터 보호 관점
• 침해 대응 관점
- 3. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS 암호화 개요
- 4. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
클라우드에서의 암호화
일반적인 요건:
• 규제 준수를 위해
• 보안 모범사례를 따르기 위해
• 클라우드 사업자에게서 내 데이터를 보호하기 위해
• 클라우드 사업자의 다른 고객으로 부터 내 데이터를 보호하기 위해
IT 보안 인력
키 접근
정책 관리
소프트웨어 개발자 규제 준수팀
구성 및 이력
정보를 검증
데이터 보호를
위해 암호키 사용
- 5. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS 환경에서 데이터에 대한 안전성 확보
물리적 보안
• 이동중 보안
• 네트워크 회선 보안 – 데이터 센터
물리적 보안, TLS, IPsec
• 운송/매체 보안 - AWS Snowball
• 저장시 보안
• 데이터 센터 물리적 접근제어
• 매체 암호화 – 데이터 블럭, 파일,
디렉토리, 파일 시스템, 전체 디스크
• 사용시 보안
• 데이터 센터 물리적 보안체계 - CCTV
논리적 보안
• 전송중 보안
• 네트워크 접근제어 – VPC, Security
Groups, NACL 등
• 채널 암호화 – TLS, IPsec
• 저장시 보안
• 데이터 리소스에 대한 논리적 접근 제어
• 데이터 암호화 – 고객 통제키에 의한
데이터 블럭, 파일, 디렉토리, 파일 시스템,
전체 디스크 암호화
• 사용시 보안
• 암호키에 대한 안전한 보안체계 – FIPS
140-2 준수 환경
- 6. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
전송 중 데이터 암호화
- 7. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
데이터 기밀성 및 무결성을 위해 TLS사용
고객이 본인 소유의 인증서를 임포트해서 사용:
Amazon EC2에 운영중인 고객 어플리케이션에서
Elastic Load Balancing (CLB/ALB) 상에서
Amazon CloudFront 상에서
Amazon API Gateway 상에서
- 8. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS Certificate Manager (ACM)
대 고객용 AWS 리소스들을 위해 TLS인증서 발급:
• Elastic Load Balancing (CLB/ALB)
• Amazon CloudFront
• Amazon API Gateway
• AWS Elastic Beanstalk
인증서 신청/발급/보관/갱신 영역을 AWS가 대신함
• 키 페어와 인증서의 서명 요청 생성 단계
• 개인키 암호화 및 안전한 저장 관리
• 인증서 갱신과 적용 단계
DNS 검증 및 이메일 검증을 통해 도메인 검증(DV)
Transparency Log 지원 예정
- 9. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS ACM Private Certificate Authority
사설 SSL/TLS 인증서 발급기관(CA)을 관리형으로 제공
• 기업 내부의 웹서버, API G/W, SSL VPN, IoT 환경 등
지원되는 개인키 알고리즘
• RSA 2048 / RSA 4096 / ECDSA P256 / ECDSA P384
관리가 까다로운 PKI 영역을 AWS가 대신함
• 사설CA 인프라의 안정적인 관리
• 인증서의 안전한 보관(FIPS 140-2 Level 3를 지원하는 HSM)
• 인증서 폐기 목록(CRL)배포 관리
지원 리전
• N. Virginia, Ohio, Oregon, Singapore, Sydney, Tokyo, Canada, Frankfurt, Ireland
- 10. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
TLS를 잘 활용하는 방법 – S2N
• 전송 레벨 보안의 빠른 성능을 위해 AWS가 설계한 TLS 라이브러리
• SSL v3 / TLS 1.0 / TLS 1.1 / TLS 1.2
• 거의 사용하지 않는 TLS 옵션과 확장(extension) 부분을 제외; ~6,000 라인
정도로 축소
• 다수의 AWS서비스들에서 사용중이며, 오픈 소스로 공개
https://github.com/awslabs/s2n
- 11. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Virtual Private Networking
AWS 관리형 VPN
고객의 VPC와 단일 원격지 네트웍을 IPsec 기반 VPN으로 연결.
AWS VPN CloudHub
고객의 VPC와 복수개의 원격지 네트웍을 IPsec 기반으로 연결하기 위한 VPN 허브.
파트너 제공 소프트웨어 방식 VPN
EC2상에서 VPN S/W를 구성하고 원격지 네트웍과 연결.
- 12. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
저장 시 데이터 암호화
- 13. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
저장시 데이터 암호화 개요
평문
데이터
하드웨어 /
소프트웨어
암호화된
데이터
스토리지에
암호화 저장
암호화된
데이터 키
데이터 키
(대칭키)
마스터 키데이터 키
(대칭키)
키 계층 구조
키 관리체계
?
봉투 암호화(Envelop Encryption)
- 14. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS에서 저장시 암호화를 적용하는 2가지 타입
클라이언트 측 암호화(Client-Side Encryption)
• 데이터를 전송하기 전에 암호화 수행
• 고객이 직접 암호화 키를 마련하고 직접 관리하거나, AWS KMS/CloudHSM내에
보관 관리
• 도구들: AWS Encryption SDK, S3 Encryption Client, EMRFS Client, DynamoDB
Encryption Client
서버 측 암호화(Server-Side Encryption)
• AWS가 전송된 데이터에 대해 고객 대신 서버 측에서 암호화 작업 수행
• 총 34 개 서비스 연동 : Amazon S3, Amazon EBS, Amazon RDS, Amazon Redshift,
Amazon WorkSpaces, Amazon Kinesis Streams, AWS CloudTrail…
• 고객 관리 통제 하에 AWS KMS에 암호화 키 보관
- 15. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
클라이언트 측 암호화(Client-Side Encryption)
A W S E n c r y p t i o n S D K , S 3 / E M R F S / D y n a m o D B c l i e n t s , c u s t o m e r - s u p p l i e d
고객 IDC에
있는
어플리케이션
EC2상의 고객
키관리 인프라
암호화 담당 클라이언트
고객의 키관리 인프라 EC2상의 고객
어플리케이션
AWS서비스 내의 암호화된 데이터
AWS
KMS
AWS
CloudHSM
- 16. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS Encryption SDK
암호화 작업에서, 개발자는 다음 2개의 사항만 고려:
• 암호화 할 메세지/파일/데이터스트림
• 마스터 키들을 리턴하는 마스터 키 제공자(key provider)
SDK를 다양한 방식으로 커스터마이징해서 사용
• 복수 리전에서 복수개의 키를 활용하여 암호화
• 성능향상 이나 KMS Limit을 회피하기 위해 데이터 키 캐슁 기능을 이용하여 KMS로의 요청을
절감
현재 Java, Python, CLI 버전 제공
http://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html
- 17. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
서버 측 암호화(Server-Side Encryption)
2계층 키 구조와 봉투 암호화(envelope
encryption)
• 데이터를 암호화하는데 사용되는 데이터 키
• KMS 마스터 키를 통해 데이터 키를 암호화
장점
• 데이터 키의 변조 위험 감소
• 대용량 데이터 암호화에 대한 성능 향상
• 수백만 데이터 키들보다 훨씬 적은 수의
마스터 키를 집중 관리하는게 효율적
• 키 관련 행위에 대한 중앙 집중식 접근관리와
감사
CMK(고객 마스터 키)
데이터키1
S3 객체 EBS 볼륨
Amazon
Redshift
클러스터
데이터키2 데이터키3 데이터키4
고객
어플리케이션
KMS
- 18. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS KMS의 키 계층관리 구조
KMS에 저장
KMS 관리형 도메인 키
• 리전 안의 모든 HSA(Hardened Security Appliances)는
CMK를 암호화하기 위한 도메인 키들을 메모리 상에 유지.
• 매일 교체된 도메인 키에 의해 CMK를 재 암호화.
암호화됨
Keys on HSAs in a Region
마스터 키(CMK)
• 256-bit 대칭키로, HSA가 생성하거나 고객이 만들어서 Import함.
• 가용성을 위해 KMS내부에 암호화된 Copy가 존재하며, 데이터
키 복호화 시, 평문 CMK는 오로지 HSA 메모리 상에만 유지됨.
암호화됨
마스터 키(CMK)
데이터 키
• 256-bit 대칭키로, 데이터 암/복호화에 사용됨
• AWS서비스/고객 어플리케이션으로 암호화된 버전과 평문 버전이
함께 전달되어 활용됨.
데이터 키
- 19. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
CMK(마스터 키) 유형
AWS 관리형 CMK 고객 관리형 CMK
갯수 AWS계정과 리전별로 KMS와 통합된
AWS서비스 당 1개
AWS계정과 리전별로 KMS와 통합된 AWS서비스 당
복수개
생성 AWS가 생성 고객이 직접 생성하거나 업로드
교체 매 3년 마다 자동으로 교체 1년에 한번마다 자동 교체 또는 즉각적인 수동 교체
삭제 삭제 안됨 삭제 가능
사용 범위 특정 AWS 서비스로 국한됨 CMK / IAM 정책을 통해 범위 지정
Key 정책 AWS가 관리 고객이 관리
사용자 관리 IAM 정책으로 통제 IAM 정책으로 통제
- 20. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS 서비스에서 KMS를 활용하는 방식
EC2/EBS 모델
• EBS 볼륨 별로 데이터 키를 생성하고, CMK로 암호화한 뒤 볼륨 메타데이터에 저장
• 고객의 EBS리소스가 EC2에 붙어 있는 동안, 해당 EBS볼륨을 암호화하는데 사용되는 평문
데이터 키는 하이퍼바이져의 휘발성 메모리 상에 보관 è 볼륨, I/O, 스냅샷을 암호화
• 해당 서비스: EBS, RDS, Redshift, WorkSpaces, Amazon Lightsail
S3 모델
• S3의 3가지 서버 측 암호화 중 SSE-KMS 방식
• 객체 별로 데이터 키를 생성하고, CMK로 암호화한 뒤, 객체 메타데이터에 저장
• 객체에 대한 암호화는 S3 호스트의 휘발성 메모리 상에서 진행되고 평문 데이터 키는 작업 후
바로 삭제됨.
• 비정기적인 Get요청에 대해 S3는 KMS쪽으로 암호화된 데이터 키와 CMK를 지정하여 복호화
요청하고, 복호화된 데이터 키를 받아서 타겟 객체를 복호화 한 뒤, 작업 후 삭제됨.
• 해당 서비스: S3, EMR, CloudTrail, Amazon Athena, Amazon Kinesis, Amazon SQS,
Amazon CloudWatch
- 21. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
고객이 직접 CMK(마스터 키) 사용방식을 통제
고객은 직접 CMK 사용 조건에 대한 권한설정을 키 정책(CMK Policy)으로
정의
키 정책 사례:
• <지정된 어카운트>의 <지정된 사용자와 Role>만이 암/복호화 수행
• 어플리케이션 A에서만 데이터를 암호화하고, 어플리케이션 B에서만 그 데이터를
복호화할 수 있다.
• 지정된 관리 그룹 혹은 Role에 의해 관리가능함.
• <지정된 어카운트>만이 암/복호화 작업을 수행할 수 있으나, 다른
관리작업(생성/삭제/정책관리/위임 등)은 불가.
AWS Identity and Access Management과 연계
- 22. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
CloudTrail상의 CMK(마스터 키) 사용로그
"EventName":"DecryptResult", …호출된 API
"EventTiime":"2014-08-18T18:13:07Z", ….호출된 시간
"RequestParameters":
"{"keyId":"2b42x363-1911-4e3a-8321-6b67329025ex”}”, …사용된 키에 대한 정보
“EncryptionContext":"volumeid-12345", …키가 사용된 AWS 리소스
"SourceIPAddress":" 203.0.113.113", …호출자의 IP주소
"UserIdentity":
“{"arn":"arn:aws:iam:: 111122223333:user/User123“} …호출자의 신원
- 23. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
모든 상황에서의 암호화
Amazon EBS
Amazon RDS
Amazon Redshift
Amazon S3
Amazon Glacier
전송 시 암호화
AWS
CloudTrail
IAM
감사
접근 통제
데이터 소스 어플리케이션
저장 시 암호화
KMS를 통한
완전 관리형
키관리
임포트된 키
고객 키관리
인프라
- 24. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
KMS 활용 모범사례
- 25. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS Cloud Adoption Framework
5 가지 핵심 보안 역량
인프라 보안
사용자 및 접근 제어
탐지 통제
데이터 보호
침해 대응
저장시 및 전송 중 데이터 보호
안전한 키 관리 인프라 준비
개인정보에 대한 최소 접근 권한 부여 체계
암호화 작업 관련 로그 중앙 저장소
고 위험 이벤트에 대한 자동화된 식별 및 대응
일반적인 암호화 요건들
- 26. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Infrastructure 관점
- 27. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
KMS에 적용된 접근 통제
KMS HSA가 운영을 시작한 뒤:
• AWS 관리자는 절대 호스트에 접근 불가함.
• 어떠한 소프트웨어 업데이트/패치도 허용 안됨.
HSA가 reboot되거나 비 운영모드 일때:
• 호스트 상에 키 구성요소 없는 상태로 유지.
• 소프트웨어 업데이트/패치 적용 가능:
• 복수의 AWS관계자가 적용할 코드를 리뷰함.
• 복수의 관리자가 정확한 자격증명을 동시에 제출하여 작업을 진행함.
3rd Party증빙
• SOC 1 – Control 4.5: “KMS에서 암호화 작업에 사용된 CMK는 관리자가 단독으로
접근할 수 없도록 논리적으로 보호된다.“
Keys on HSAs in a Region
- 28. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS KMS에 적용된 보안
• 암호화 구성요소(cryptographic material)는 휘발성 메모리상에만
저장됨.
• 모든 KMS API요청에 대해 TLS PFS(Perfect Forward Secrecy) 적용.
• KMS 외부에서 평문 CMK에 접근할 수 있는 다른 도구/수단은 없음
- 29. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
CMK(마스터 키) 생성 및 관리
• 조직, 데이터 유형, 사용 환경 등에 따라 필요한 키를 적절하게 생성.
• 멀티 어카운트 환경에서는 암호화 대상이 있는 어카운트에서 키를 생성할 것을 권장
• 자동 키 교체(Retention) 설정 권장
• 키 교체과정에서 키 ID, ARN, 리전, 정책/권한 등의 속성은 유지됨
• Old키는 해당 키로 암호화된 데이터의 접근을 유지하기 위해 백업됨.
Security Account
111111111111
Analytics Account
333333333333
Application Account
222222222222
Bank App CMK Analytics CMK
- 30. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
IAM 관점
- 31. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
CMK(마스터 키) 정책 정의
- 32. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
CMK(마스터 키) 정책의 모범사례
• 리소스 기반 정책 - CMK 개별로 정의
• 3가지 유형
• CMK 정책만 사용 – 주로 키를 사용하여 암호화 작업을 수행할 조건을 정의.
• CMK 정책과 IAM 정책을 함께 사용(권장) – 주로 키 관리자의 권한을 정의.
• CMK 정책과 ‘Grants’사용(권장) – 다른 어카운트 또는 AWS 서비스의 키 접근을 정의.
• 기본 CMK 정책을 기업 보안 요건에 맞추어 수정할 것!
• 예 - 키 생성/관리 권한과 키 사용 권한을 동일인이 수행 불가
• IAM 정책에는 꼭 필요한 KMS action만 지정(No kms:*)
• 잉여 권한 부여 방지를 위해 White-listing 기반 정책 관리 권장
• 지정된 관리자 외 명시적 Deny 설정, NotPrincipal + Effect:Deny
- 33. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
CMK 정책: Key관리자 vs. Key사용자
{
"Sid": "Allow access for Key Administrators",
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::111111111111:user/KMSAdminUser",
"arn:aws:iam::111122223333:role/KMSAdminRole”
]},
"Action": [
"kms:Create*", "kms:Describe*",
"kms:Enable*", "kms:List*",
"kms:Put*", "kms:Update*",
"kms:Revoke*", "kms:Disable*”,
"kms:Get*", "kms:Delete*",
"kms:TagResource", "kms:UntagResource",
"kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion”
],
"Resource": "*”
}
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::111122223333:user/KMSUser",
"arn:aws:iam::111122223333:role/KMSRole",
"arn:aws:iam::444455556666:root" ]},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey”
],
"Resource": "*"
}
- 34. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
어카운트 간 키 공유 CMK 정책
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::222222222222:root”
},
"Action": "kms:*",
"Resource": "*"
}
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::222222222222:root”
"AWS": "arn:aws:iam::222222222222:role/CMKAdmin”
.....
},
"Action": "kms:*",
"Resource": "*"
}
Option 1.
Option 2.
:: 지정된 어카운트가
자체적으로 내부의 IAM
user/role 등에 접근 권한을
부여(위임 형태)
:: 키 소유 어카운트에서
CMK 정책에 명시적으로
Principal을 지정하여
엄격하게 관리
- 35. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Grants 활용
• Grants: AWS 서비스 혹은 다른 주체에게 CMK사용을 허용하기 위한 권한 집합
위임을 코딩레벨에서 지원하는 기능
• 유의!! Grant Limit
• CMK(*) 당 Grant Limit :: 2,500개
:: 동일한 CMK를 사용하는 암호화된 리소스를 2,500개 까지만 생성
(EBS볼륨 등)
• CMK(*) 당 특정 보안 주체(Principals)에 대한 Grants Limit :: 500개
:: 동일한 CMK를 사용하여 특정 EC2 인스턴스에 암호화된 EBS볼륨을
500개 까지 할당
(* 고객이 직접 upload 한 CMK만 해당, AWS 관리형 CMK는 해당 없음)
- 36. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
ViaService
‘kms:ViaService’: 키 정책 Condition에 적용. 특정 서비스에서만 사용가능하게 제한
{
"Sid": "Allow use of CMK via RDS",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::222222222222:role/MortgageApp”,
},
"Action" : [ "kms:ListGrants", "kms:CreateGrant",
"kms:Decrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*", "kms:DescribeKey", "kms:Encrypt" ],
"Resource" : "*",
"Condition" : {
"StringEquals" : {
"kms:ViaService" : "rds.us-west-1.amazonaws.com"
}
}
},
예 : R D S 서 비 스 에 C M K 사 용 권 한 부 여
- 37. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
MFA 활용
예 :: 주요 KMS API 호출에 대해 5분 안에 MFA인증을 거치도록 설정
{
"Sid": "MFACriticalKMSEvents",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:user/ExampleUser"
},
"Action": [
"kms:DeleteAlias”, "kms:DeleteImportedKeyMaterial", "kms:PutKeyPolicy", "kms:ScheduleKeyDeletion"
],
"Resource": "*",
"Condition":{
"NumericLessThan” :{
"aws: MultiFactorAuthAge":"300”
}
}
}
- 38. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
탐지 통제 관점
- 39. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
멀티 어카운트에서 CloudTrail 로그 통합
보안 어카운트
111111111111
분석 어카운트
333333333333
애플리케이션 어카운트
222222222222
AWS
CloudTrail
AWS
CloudTrail AWS
CloudTrail
로그통합
버킷
- 40. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
권장하는 AWS Config Rules
주기적인 적발 체제
• cloudTrail-enabled
• encrypted-volumes
• rds-storage-encrypted
• s3-bucket-public-read-prohibited
• s3-bucket-public-write-
prohibited
• s3-bucket-ssl-requests-only
- 41. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
CMK Tagging
• CMK별로 사용주체/용도/비용관련 등의 태그를 지정
• 용도와 목적에 맞는 정확한 CMK사용
• CloudTrail상의 로그 분석을 통해 CMK가 정확하게 사용되었는지 쉽게 파악
- 42. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
데이터보호
- 43. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Application Design(예시)
분석 어카운트
333333333333
애플리케이션 어카운트
222222222222
Amazon S3
Amazon S3
암호화된 RDS 스냅샷
Amazon
RDS
AWS
Encryption SDK
암호화 적용된
데이터 레이크
AWS Encryption SDK
- 44. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Encryption Context
AWS KMS로 보호된 데이터와 연관시키고자 하는 부가정보(Key-value pair)
• 암호화된 리소스에 대한 통제 강화 è 복호화 시 요청자에 대한 부가 인증/인가에
사용(암호화 시점과 동일해야 수행)
• 감사 요건을 위해 암호키 사용에 대한 이해 제공
• Encryption Context는 CloudTrail상에 평문으로 기록됨 è 기밀 민감 정보는 활용하지 말것
• CMK정책의 Condition으로 활용
{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::111122223333:role/RoleForExampleApp" },
"Action": [ "kms:Encrypt", "kms:Decrypt" ],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:AppName": "ExampleApp",
"kms:EncryptionContext:Version": "1.0.24"
}
}
}
- 45. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
침해 대응 관점
- 46. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
모든 KMS API실행에 대한 검증
- 47. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
중요 API에 대해 Alerting
- 48. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS KMS 관련 참고문서
AWS KMS
Cryptographic Details
https://d0.awsstatic.com/whitepa
pers/KMS-Cryptographic-
Details.pdf
AWS KMS Best
Practices Whitepaper
https://d0.awsstatic.com/whitepa
pers/aws-kms-best-practices.pdf
AWS KMS Compliance
Reports
https://aws.amazon.com/artifact/
- 49. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS Summit 모바일 앱과 QR코드를
통해 강연 평가 및 설문 조사에 참여해
주시기 바랍니다.
내년 Summit을 만들 여러분의 소중한
의견 부탁 드립니다.
#AWSSummit 해시태그로 소셜 미디어에 여러분의 행사
소감을 올려주세요.
발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜 채널로
공유될 예정입니다.
여러분의 피드백을 기다립니다!