용어집

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

비대칭 암호화는 수학적으로 관련된 키 쌍을 사용하는 암호화 시스템으로, 누구나 데이터 암호화에 사용할 수 있는 공개 키와 소유자만 복호화에 사용하는 개인 키로 구성되어 비밀 키를 사전에 공유할 필요가 없다.

다른 이름: public-key cryptography, asymmetric cryptography

비대칭 암호화는 수세기 동안 암호화를 제한해온 근본적인 키 분배 문제를 해결했다. 1970년대 발명 이전에 안전하게 통신하려는 두 당사자는 먼저 안전한 채널을 통해 공유 비밀 키를 합의해야 했다. 닭이 먼저냐 달걀이 먼저냐의 문제였다. 비대칭 암호화는 누구나 자유롭게 배포된 공개 키로 메시지를 암호화할 수 있게 하면서 대응하는 개인 키 보유자만 복호화할 수 있게 한다.

수학적 기반은 트랩도어 함수에 의존한다. 한 방향으로 수행하기는 쉽지만 특수 지식 없이 역방향으로 계산하기는 불가능한 연산이다. RSA는 큰 소수의 곱을 인수분해하는 어려움을 활용하고, 타원 곡선 암호화(ECC)는 타원 곡선의 이산 로그 문제를 사용한다. 이 수학적 속성들이 공개 키가 개인 키를 드러내지 않음을 보장한다.

비대칭 암호화는 대칭 암호화보다 상당히 느리다. 동등한 데이터 크기에서 종종 100배에서 1,000배 느리다. 이 때문에 대량 데이터를 직접 암호화하는 데 거의 사용되지 않는다. 대신 현대 시스템은 하이브리드 접근 방식을 사용한다. 비대칭 암호화로 대칭 키 교환을 보호하고 그 대칭 키로 실제 페이로드를 암호화한다. TLS, PGP, SSH 모두 이 하이브리드 패턴을 따른다.

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

Vaulted는 비대칭 암호화 대신 대칭 암호화(AES-256-GCM)를 사용한다. 링크 공유 모델이 비대칭 암호화가 해결하기 위해 존재하는 키 분배 문제를 제거하기 때문이다. 암호화 키는 URL 프래그먼트에 포함되어 링크와 함께 전달되므로 공개/개인 키 쌍이나 키 교환 프로토콜이 필요 없다. 이는 암호화 구현을 단순하고 빠르게 유지하며 Web Crypto API의 대칭 프리미티브만 필요로 한다.