연결된 데이터를 사용한 확정적 인증 암호화 (확정적 AEAD)

관련 데이터와 함께 확정적 인증된 암호화 (확정적 AEAD) 프리미티브는 확정적 속성을 사용하여 암호화를 제공합니다. 동일한 데이터를 암호화하면 항상 동일한 암호문이 생성됩니다. 이 유형의 암호화는 키 래핑이나 암호화된 데이터 검색을 위한 일부 스킴에 유용합니다 (자세한 내용은 RFC 5297, 섹션 1.3 참고). 이 기본 요소의 결정적 속성으로 인해 공격자가 특정 메시지의 암호화 텍스트만 알아내면 해당 메시지의 다른 인스턴스를 식별할 수 있으므로 이 기본 요소의 구현은 비밀 손실로 이어질 수 있습니다.

결정적 AEAD에는 다음과 같은 속성이 있습니다.

  • Secrecy: 길이와 반복되는 일반 텍스트의 동일성을 제외하고 일반 텍스트에 관한 정보는 알려져 있지 않습니다.
  • 진위성: 암호화된 암호문의 기본 일반 텍스트를 감지되지 않고 변경하는 것은 불가능합니다.
  • 대칭: 일반 텍스트를 암호화하고 암호문을 복호화하는 데 동일한 키가 사용됩니다.
  • 결정적: 기본 키가 변경되지 않는 한 동일한 매개변수로 일반 텍스트를 두 번 암호화하면 동일한 암호문이 생성됩니다.

관련 데이터

결정적 AEAD는 암호문을 특정 연관 데이터에 연결하는 데 사용할 수 있습니다. user-idencrypted-medical-history 필드가 있는 데이터베이스가 있다고 가정해 보겠습니다. 이 시나리오에서는 user-idencrypted-medical-history을 암호화할 때 연결된 데이터로 사용할 수 있습니다. 이렇게 하면 공격자가 한 사용자의 의료 기록을 다른 사용자로 이동할 수 없습니다.

연결된 데이터는 선택사항입니다. 지정된 경우 동일한 연결된 데이터가 암호화 및 복호화 호출 모두에 전달되어야만 복호화가 성공합니다.

키 유형 선택

모든 사용 사례에 AES256_SIV 키 유형을 사용하는 것이 좋습니다.

보안 보장

  • 80비트 이상의 인증 강도
  • 일반 텍스트와 연결된 데이터는 임의의 길이를 가질 수 있습니다 (0~232바이트 범위 내).
  • 키 복구 공격에 대한 128비트 보안 수준과 최대 232개의 키를 사용하는 다중 사용자 공격에서도 마찬가지입니다. 즉, 공격자가 232개의 키로 암호화된 동일한 메시지의 232개의 암호문을 획득하는 경우 단일 키를 획득하려면 2128개의 계산을 실행해야 합니다.
  • 각 메시지의 길이가 1MB 미만인 경우 238개의 메시지를 안전하게 암호화할 수 있습니다.

사용 사례

확정적으로 데이터 암호화암호 텍스트를 컨텍스트에 바인딩을 참고하세요.