용어집

암호문이란 무엇인가요?

암호문은 암호화 알고리즘의 암호화된 출력으로, 대응하는 복호화 키 없이는 읽을 수 없는 원본 데이터의 뒤섞인 표현이다.

암호문은 평문의 대응물이다. 암호화 알고리즘이 키로 평문을 처리하면 출력은 암호문이다. 무작위처럼 보이며 복호화 키를 보유하지 않은 사람에게는 원래 내용에 대해 아무것도 드러내지 않는 데이터다. 변환은 올바른 키가 있어야만 역방향으로 가능하다.

좋은 암호문은 무작위 데이터와 구별할 수 없다. AES-256-GCM 같은 현대 암호화 알고리즘은 암호문에 감지 가능한 패턴, 통계적 편향, 부분 정보 유출이 없도록 보장한다. 암호문을 조사하는 공격자는 원본 메시지의 길이를 대략적인 범위 이상으로 특정하거나 작성된 언어 또는 내용의 어떤 부분도 파악할 수 없다.

암호문은 신뢰할 수 없는 환경인 데이터베이스, 클라우드 스토리지, 서드파티 서버에 안전하게 저장할 수 있다. 보안이 키에 달려 있지 저장 매체의 접근 제어에 달려 있지 않기 때문이다. 이것이 저장 중 데이터 암호화의 원리다. 저장소가 침해되더라도 키가 안전한 한 데이터는 보호된다.

Vaulted가 암호문을 사용하는 방법

Vaulted 서버에 존재하는 비밀의 유일한 형태는 암호문이다. 비밀을 생성하면 브라우저의 AES-256-GCM 암호화가 평문을 암호문으로 변환하고, 이는 base64url로 인코딩되어 초기화 벡터와 함께 Redis에 저장된다. 서버는 암호문을 저장하고 제공하며 삭제하지만 평문으로 복호화할 능력은 결코 갖지 않는다.