용어집

대칭 암호화이란 무엇인가요?

대칭 암호화는 암호화와 복호화 모두에 동일한 비밀 키를 사용하는 암호화 방법이다. 발신자와 수신자 모두 데이터를 암복호화하기 위해 동일한 키를 보유해야 한다.

다른 이름: symmetric-key encryption, shared-key encryption, secret-key encryption

대칭 암호화는 가장 오래되고 직관적인 암호화 형태로, 동일한 키가 데이터를 잠그고 연다. AES 같은 현대 대칭 알고리즘은 매우 빠르며 하드웨어 가속으로 초당 기가바이트를 암호화할 수 있고, 적절한 키 길이와 운용 모드를 사용할 때 강력한 보안 보장을 제공한다.

대칭 암호화의 주요 과제는 키 분배다. 도청자가 가로채지 않는 방식으로 의도된 수신자와 비밀 키를 어떻게 안전하게 공유하는가의 문제다. 이것이 키 분배 문제로 알려져 있으며 비대칭(공개 키) 암호화의 발명을 이끌었다. 실제로 하이브리드 시스템은 비대칭 암호화로 대칭 키를 교환하고, 그 대칭 키로 실제 대량 데이터 암호화를 수행한다.

대칭 암호화 알고리즘은 블록 암호(AES처럼 고정 크기 데이터 블록을 암호화)와 스트림 암호(한 번에 1비트 또는 1바이트씩 데이터를 암호화)로 분류된다. GCM 모드의 AES는 사실상 블록 암호 위에 구축된 스트림 암호로 동작하여 AES의 보안과 Galois/Counter Mode의 유연성 및 인증을 결합한다.

Vaulted가 대칭 암호화을 사용하는 방법

Vaulted는 대칭 암호화만 사용한다. 구체적으로 AES-256-GCM이다. 각 비밀에 대해 브라우저에서 무작위 대칭 키가 생성된다. 키 분배 문제는 공유 가능한 링크의 URL 프래그먼트에 키를 포함시킴으로써 해결된다. 발신자가 링크를 공유하면 수신자는 복호화에 필요한 대칭 키를 갖게 된다. 링크 자체가 키 분배 메커니즘이므로 비대칭 암호화나 키 교환 프로토콜이 필요하지 않다.