용어집

비대칭 키 암호화: 페어링된 키(공개 및 비공개)를 사용하여 데이터를 암호화하고 복호화하는 암호화 시스템입니다. 공개 키는 데이터를 암호화하는 데 사용되며 공유할 수 있습니다. 비공개 키는 데이터를 복호화하는 데 사용되며 소유자에게만 알려집니다.

Ciphertext: 알고리즘을 사용하여 일반 텍스트에서 암호화한 결과입니다. 암호문은 키를 사용하여 일반 텍스트로 다시 변환되기 전에는 이해할 수 없습니다.

일관성: Tink가 모든 프로그래밍 언어에서 '동일하게' 동작함을 의미합니다. 예를 들어 Tink는 평가 일관성을 제공합니다. 즉, 주어진 키 세트에 대해 프리미티브 생성이 두 언어에서 성공하면 프리미티브가 동일하게 동작합니다.

: 데이터를 암호화하거나 복호화하는 데 필요한 정보 (예: 문자열)입니다. 표현되는 방식은 키 객체를 참고하세요.

키 세트 및 키 세트 핸들: Tink는 키 세트를 사용하여 키를 관리합니다. 키 세트는 기본적으로 키 순환을 용이하게 하는 키 집합입니다. 키 세트의 주목할 만한 속성은 다음과 같습니다.

  • 키 세트의 각 키에는 키 세트 내에서 고유한 고유 ID가 있습니다. 이 ID는 일반적으로 생성된 각 암호문, 서명 또는 태그에 프리픽스로 추가되어 사용된 키를 나타냅니다 (자세한 내용은 Tink에서 암호문에 태그를 지정하는 방법 참고).
  • 키 세트에서 한 번에 하나의 키만 기본 키입니다. 키 세트의 기본 키는 현재 '사용 중인' 키입니다.
  • 키 세트의 모든 키는 반드시 동일한 프리미티브(예: AEAD)의 구현이어야 하지만 다른 키 유형 (예: AES-GCM 및 XCHACHA20-POLY1305 키)을 가질 수 있습니다.

각 Tink 구현은 키 세트를 만들거나 수정하는 API를 제공합니다. 하지만 CLI 도구인 Tinkey를 사용하는 것이 좋습니다.

사용자는 키 세트 핸들을 사용하여 키 세트에 대해 작동합니다. 키 세트 핸들은 실제 민감한 키 자료의 노출을 제한합니다. 또한 키 세트를 추상화하여 사용자가 전체 키 세트를 '래핑'하는 프리미티브를 얻을 수 있도록 합니다. 예를 들어 N 키를 사용하여 키 세트의 AEAD 프리미티브를 가져올 수 있습니다. 획득한 프리미티브를 사용한 암호화 및 복호화는 키 세트에 기본 키를 사용합니다.

키 관리 시스템 (KMS): 생성, 저장, 사용, 순환, 폐기, 교체를 포함한 암호화 키를 관리하는 데 사용되는 시스템입니다.

키 유형: 키 유형은 특정 프리미티브를 구현합니다. 대부분의 프리미티브에는 보안, 런타임, 공간 요구사항에 따라 선택할 수 있는 여러 키 유형이 있습니다. 예를 들어 AES128_GCM은 대부분의 요구사항에 빠르고 효과적인 AEAD입니다. 자세한 내용은 언어별 지원되는 키 유형을 참고하세요.

매개변수: 키를 만드는 데 필요한 정보를 자세히 설명합니다. 단, 키 자료와 키 ID는 제외됩니다. 표현되는 방식은 매개변수 객체를 참조하세요.

Plaintext: 암호화된 텍스트 또는 그 요소의 인식 가능한 입력 형식입니다.

기본: Tink는 프리미티브를 기본 알고리즘을 관리하는 암호화 빌딩 블록으로 사용하여 사용자가 암호화 작업을 안전하게 실행할 수 있도록 합니다. 프리미티브는 암호화 알고리즘의 세부정보와 키 유형을 정의합니다.

Tink에서 지원하는 프리미티브:

  • 관련 데이터를 사용한 인증 암호화 (AEAD): 데이터 암호화에 가장 일반적인 기본 요소로, 대부분의 암호화 요구사항에 적합합니다. AEAD는 일반 텍스트 기밀성을 제공하며 무결성과 진위성을 확인할 수 있게 해줍니다. 관련 데이터를 사용한 인증 암호화(AEAD)를 참조하세요.
  • 확정적 암호화:지정된 일반 텍스트와 키에 대해 항상 동일한 암호문을 생성하는 프리미티브입니다. 공격자가 특정 일반 텍스트 입력에 해당하는 암호문만 식별하면 되기 때문에 이러한 공격은 위험할 수 있습니다. 확정적 AEAD를 참고하세요.
  • 디지털 서명: 서명된 데이터의 신뢰성과 무결성을 확인하기 위한 비대칭 (비대칭 키 암호화 참고) 기본 요소입니다. 디지털 서명을 참고하세요.
  • 하이브리드 암호화: 비대칭 키 암호화와 대칭 키 암호화를 결합하는 기본 요소입니다 (비대칭 키 암호화대칭 키 암호화 참고). 하이브리드 암호화는 대칭 암호화의 효율성과 공개 키 암호화의 편의성을 결합합니다. 메시지를 암호화하기 위해 새로운 대칭 키가 생성되어 일반 텍스트 데이터를 암호화하는 데 사용되며, 수신자의 공개 키는 대칭 키 암호화에만 사용됩니다. 최종 암호문은 대칭 암호문과 암호화된 대칭 키로 구성됩니다. 하이브리드 암호화를 참조하세요.
  • 메시지 인증 코드 (MAC): 데이터의 신뢰성과 무결성을 확인하기 위한 대칭 (대칭 키 암호화 참고) 프리미티브입니다. 메시지 인증 코드 (MAC)를 참조하세요.
  • 스트리밍 AEAD: 스트리밍 데이터에 인증된 암호화를 제공하는 프리미티브로, 암호화할 데이터가 너무 커서 단일 단계로 처리할 수 없는 경우에 유용합니다. AEAD 스트리밍을 참고하세요.

호환성 정보는 언어별 지원되는 프리미티브를 참고하세요.

레지스트리: 새 키와 프리미티브를 생성하는 방법을 알고 있는 Tink의 전역 항목입니다. 디버깅 등록 오류에 관한 안내도 참고하세요.

대칭 키 암호화: 동일한 키를 사용하여 일반 텍스트를 암호화하고 암호 텍스트를 복호화하는 암호화 알고리즘입니다.