AWS Encryption SDK 초기화 벡터 참조 - AWS Encryption SDK

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

AWS Encryption SDK 초기화 벡터 참조

AWS Encryption SDK와 호환되는 자체 암호화 라이브러리를 빌드할 때 이 페이지의 정보를 참조할 수 있습니다. 호환되는 자체 암호화 라이브러리를 빌드하는 경우가 아니라면 이 정보는 필요 없을 것입니다.

지원되는 프로그래밍 언어 중 하나 AWS Encryption SDK 에서 를 사용하려면 섹션을 참조하세요프로그래밍 언어.

적절한 AWS Encryption SDK 구현의 요소를 정의하는 사양은 의 AWS Encryption SDK 사양을 참조하세요 GitHub.

는 지원되는 모든 알고리즘 제품군 에 필요한 초기화 벡터(IVs)를 AWS Encryption SDK 제공합니다. 는 프레임 시퀀스 번호를 SDK 사용하여 IV를 구성하므로 동일한 메시지에 있는 두 프레임이 동일한 IV를 가질 수 없습니다.

각 96비트(12바이트) IV는 다음 순서로 연결된 두 개의 빅 엔디안 바이트 배열로 구성됩니다.

  • 64비트: 0(향후 사용을 위해 예약됨)

  • 32비트: 프레임 시퀀스 번호. 헤더 인증 태그의 경우 이 값은 모두 0입니다.

데이터 키 캐싱을 도입하기 전에 는 AWS Encryption SDK 항상 새 데이터 키를 사용하여 각 메시지를 암호화하고 모든 메시지를 IVs 무작위로 생성했습니다. 데이터 키IVs가 재사용되지 않았기 때문에 무작위로 생성된 는 암호화적으로 안전했습니다. 의도적으로 데이터 키를 재사용하는 SDK 도입된 데이터 키 캐싱이 생성 방식을 변경했습니다SDKIVs.

메시지 내에서 반복IVs할 수 없는 예측을 사용하면 단일 데이터 키로 안전하게 실행할 수 있는 호출 수가 크게 증가합니다. 또한 캐시된 데이터 키는 항상 키 유도 함수가 있는 알고리즘 제품군을 사용합니다. 의사 무작위 키 파생 함수와 함께 결정적 IV를 사용하여 데이터 키에서 암호화 키를 파생하면 가 암호화 경계를 초과하지 않고 2^32 메시지를 암호화 AWS Encryption SDK 할 수 있습니다.