Proton 홈페이지

암호화 > 암호화 유형 > 비대칭 vs. 대칭

비대칭 암호화 vs. 대칭 암호화

웹사이트 브라우징, 이메일 보내기, VPN 사용 등 귀하가 수행하는 모든 암호화된 연결은 비대칭 암호화, 대칭 암호화 또는 두 가지 모두에 의존합니다. 그 차이점을 이해하면 현대 암호화 기술이 왜 두 가지 방식을 모두 사용하는지 알 수 있습니다.

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

대칭 암호화는 데이터를 잠그고(암호화) 풀기(복호화) 위해 단일 키를 사용합니다. 보낸 사람과 수신인 모두 동일한 비밀 키를 보유해야 하며, 이 키를 얻은 사람은 누구나 키가 보호하는 모든 내용을 읽을 수 있습니다.

비밀번호가 하나인 실물 금고를 생각해 보세요. 비밀번호를 아는 사람은 누구나 금고를 열 수 있습니다. 빠르고 간단하지만, 함께 사용하기 전에 해당 비밀번호를 안전하게 공유해야 합니다.

대칭 암호화는 컴퓨터 연산 속도가 빠르기 때문에 대량의 데이터를 보호하는 데 탁월합니다. 예를 들어 귀하의 하드 드라이브에 있는 파일 암호화, VPN(새 창) 터널을 통과하는 트래픽 암호화, 또는 데이터베이스의 콘텐츠 암호화 등이 있습니다. 일반적인 대칭 알고리즘에는 AESChaCha20이 포함됩니다.

근본적인 약점은 다음과 같습니다. 처음에 키를 어떻게 공유하나요? 보안되지 않은 채널을 통해 키를 보내면, 이를 가로챈 공격자가 모든 것을 복호화할 수 있습니다. 이것이 키 분배 문제이며, 비대칭 암호화가 해결하는 과제입니다.

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

비대칭 암호화는 수학적으로 링크된 두 개의 키, 즉 공개 키와 비밀 키를 사용합니다. 한 키로 암호화한 것은 다른 한 키로만 복호화할 수 있습니다. 공개 키는 누구에게나 공개적으로 공유하며, 비밀 키는 귀하의 기기를 절대 떠나지 않습니다.

현관문에 있는 우편물 투입구를 생각해 보세요. 누구나 편지를 넣을 수 있지만(귀하의 공개 키로 암호화), 상자를 열고 그 안의 내용을 읽을 수 있는 키는 귀하만 가지고 있습니다(귀하의 비밀 키로 복호화). 사전에 비밀을 교환할 필요가 없습니다.

이로써 키 분배 문제가 완전히 해결됩니다. 이전에 통신한 적이 없는 두 명의 낯선 사람이 안전한 채널을 설정할 수 있습니다. 한 사람이 공개 키를 게시하면 다른 사람이 그 키로 메시지를 암호화하고, 키 소유자만이 답장을 읽을 수 있습니다. 이것은 종단 간 암호화, HTTPS 및 전자서명의 기반이 됩니다.

단점은 복잡한 수학 연산으로 인해 비대칭 암호화가 대칭 암호화보다 약 1,000배 느리다는 점입니다. 비대칭 암호화만으로 대용량 파일이나 지속적인 데이터 스트림을 암호화하는 것은 비실용적입니다.

일반적인 비대칭 알고리즘은 다음과 같습니다:

비대칭 암호화 vs. 대칭 암호화: 주요 차이점

대칭

하나의 공유 키

빠르고 효율적이며, 대량 데이터에 적합합니다. 양측이 이미 비밀 키를 안전하게 공유하고 있어야 합니다.

비대칭

공개 키 + 비밀 키 쌍

더 느리지만 키 교환 문제를 해결합니다. 누구나 암호화할 수 있으며, 키 소유자만 복호화할 수 있습니다.

비대칭 암호화 vs. 대칭 암호화

대칭

비대칭

하나의 공유 키

공개 키 + 비밀 키 쌍

속도

매우 빠름

약 1,000배 느림

키 길이

128–256비트

≥2048비트(RSA), ≥256비트(ECC)

키 분배

사전에 안전하게 공유되어야 함

공개 키는 공개적으로 공유 가능

가장 적합한 대상

파일, 디스크 및 VPN 트래픽과 같은 대용량 데이터 암호화

안전한 키 교환, 전자서명, 메시지 전송

예시

AES, ChaCha20

RSA, ECDH, Ed25519, ML-KEM(양자 내성)

현대 암호화에서 두 가지 방식을 모두 사용하는 이유

실제로는 대칭 및 비대칭 암호화가 단독으로 사용되는 경우는 거의 없습니다. 가장 안전한 시스템은 이 두 가지를 결합합니다. 즉, 비대칭 암호화를 사용하여 키를 안전하게 교환한 다음, 대칭 암호화를 사용하여 실제 데이터를 보호합니다. 이를 통해 비대칭 암호화의 보안성과 대칭 암호화의 속도를 모두 누릴 수 있습니다.

하이브리드 암호화

비대칭 암호화와 대칭 암호화를 함께 사용하는 것을 하이브리드 암호화라고 합니다. 이는 HTTPS, TLS, VPN, OpenPGP 암호화된 이메일 및 기타 대부분의 안전한 통신 프로토콜의 기반입니다.

보안 웹사이트를 방문할 때 일어나는 일

  • 귀하의 브라우저와 서버는 세션 키를 전송하지 않고 공유 세션 키에 합의하기 위해 비대칭 암호화(ECDH 사용)를 사용합니다. 누군가 이 교환을 가로채더라도 키를 유도할 수 없습니다.

  • 해당 공유 세션 키는 나머지 세션 동안 모든 데이터를 암호화하기 위해 대칭 암호화(AES 또는 ChaCha20)와 함께 사용되며, 이는 지속적인 트래픽을 처리할 수 있을 만큼 충분히 빠릅니다.

  • 연결이 닫히면 세션 키는 버려집니다. 이는 매우 중요합니다. 그렇지 않으면 도난당한 비밀 키가 과거 및 미래의 모든 세션을 복호화할 수 있는 '마스터 키'가 되기 때문입니다. 세션당 새로운 키를 생성하면 유출이 발생하더라도 해당 세션에만 영향을 미치게 됩니다. 이러한 속성을 완전 순방향 비밀성이라고 합니다.

종단간 암호화된 이메일을 보낼 때 일어나는 일

  • 메시지는 무작위로 생성된 대칭 세션 키(AES)로 암호화되며, 이는 메시지 크기에 관계없이 충분히 빠릅니다.

  • 그런 다음 해당 세션 키는 수신인의 공개 키를 사용하여 암호화(비대칭 암호화)되므로, 수신인만이 자신의 비밀 키로 이를 잠금 해제할 수 있습니다.

  • 둘 다 함께 전송됩니다. 수신인은 자신의 비밀 키로 세션 키를 복호화한 다음, 이를 사용해 메시지를 복호화합니다. 이 모든 과정은 사전에 어떠한 비밀도 공유하지 않고 이루어집니다.

진본성 및 전자서명

암호화는 메시지의 내용을 숨기지만, 누가 보냈는지 증명하지는 못합니다. 이를 위해서는 인증이 필요합니다. 즉, 메시지가 실제로 주장된 보낸 사람에게서 왔고 전송 중에 승인되지 않은 변경이 없었는지 확인하는 방법입니다.

비대칭 암호화는 전자서명을 통해 이를 가능하게 합니다. 보낸 사람은 공개 키로 암호화하는 대신, 자신의 비밀 키로 데이터를 서명합니다. 해당 공개 키를 가진 사람은 누구나 서명을 검증하여 보낸 사람의 신원과 콘텐츠가 변경되지 않았음을 모두 확인할 수 있습니다.

데이터 자체의 경우, 대부분의 현대 프로토콜은 단 한 번의 작업으로 암호화와 무결성 검증을 동시에 수행하는 암호인 인증된 암호화를 사용합니다. 대표적인 예로 AES-GCM 및 ChaCha20-Poly1305가 있으며, 둘 다 Proton 서비스 전반에서 사용됩니다. 전송 중에 암호문의 단 하나의 비트라도 변경되면 복호화에 실패하고 변조된 데이터는 거부됩니다.

양자 컴퓨터와 암호화

대칭 및 비대칭 암호화는 양자 컴퓨터로부터 매우 다른 위협에 직면해 있으며, 그 차이를 이해하는 것은 업계가 어떻게 대비하고 있는지 파악하는 데 중요합니다.

기존의 비대칭 암호화는 큰 수의 소인수분해(RSA) 또는 이산 대수 문제 해결(ECDH)과 같은 까다로운 수학적 문제에 의존합니다. 쇼어 알고리즘을 사용하는 양자 컴퓨터는 이러한 종류의 문제를 특히 잘 해결하여, 기존의 비대칭 암호화를 대규모로 무력화합니다.

대칭 암호화는 훨씬 더 강력한 내성을 가지고 있습니다. 이는 양자 컴퓨터가 연산 속도를 높일 수 있지만, 충분한 크기의 키를 무용지물로 만들 정도는 아닌 무차별 대입 공격(가능한 모든 키를 시도함)에 의존하기 때문입니다. 256비트 대칭 키는 알려진 양자 공격에 대해 여전히 안전하므로, 실제 키 크기를 더 늘릴 필요는 없습니다.

이것이 바로 ML-KEM과 같은 양자 내성 알고리즘이 비대칭 암호화의 대체재로 설계된 이유입니다. 대칭 암호화는 크게 변하지 않는 반면, 오늘날 RSA 및 ECDH가 사용되는 위치를 이들이 대신하게 됩니다.

Proton이 비대칭 및 대칭 암호화를 사용하는 방법

모든 Proton 서비스는 하이브리드 암호화를 사용합니다. 즉, 비대칭 암호화를 사용하여 안전한 키 교환을 설정하고, 대칭 암호화를 사용하여 귀하의 데이터를 신속하게 보호합니다.

Proton Mail은 OpenPGP 표준을 사용하여 메시지 콘텐츠를 위한 대칭 암호화와 암호화, 키 교환 및 전자서명을 위한 ECC 또는 RSA 키 등의 비대칭 키를 결합합니다. 또한 양자 내성 암호화도 지원합니다.

Proton VPN은 WireGuard 및 OpenVPN과 같은 최신 VPN 프로토콜을 사용하여 ChaCha20 또는 AES-256으로 트래픽을 암호화합니다. 이러한 프로토콜은 비대칭 키 교환을 통해 새로운 대칭 세션 키를 설정하여 완전한 순방향 비밀성을 제공하는 데 도움을 줍니다.

Proton Drive는 OpenPGP 표준을 사용하여 클라이언트 측에서 파일을 암호화합니다. 이 서비스는 비대칭 공개/비밀 키를 사용하므로 귀하의 비밀 키로만 파일을 복호화할 수 있습니다. 즉, Proton을 포함하여 귀하 외에는 아무도 파일에 접근할 수 없습니다.

Proton Pass는 AES-256-GCM 대칭 암호화를 사용하여 자격 증명 및 기타 보관함 항목을 저장합니다. 무작위로 생성된 32바이트 보관함 및 항목 키를 사용하며, 이 키들은 비대칭 사용자 키로 보호됩니다.

Proton

데이터 관리하기

현대 암호화가 작동하는 이유는 대칭 및 비대칭 암호화가 함께 작동하기 때문입니다. Proton은 모든 앱에서 귀하의 개인정보를 보호하기 위해 두 가지 방식을 모두 사용합니다.

종단 간 암호화, 제로 액세스 아키텍처, 양자 내성 보호, 오픈 소스 앱, 그리고 독립적인 감사를 통해 귀하의 정보는 오직 귀하만의 것으로 유지됩니다.

자주 묻는 질문

대칭 암호화와 비대칭 암호화의 가장 큰 차이점은 무엇인가요?
비대칭 암호화와 대칭 암호화 중 어느 것이 더 빠른가요?
왜 대칭 및 비대칭 암호화가 모두 필요한가요?
대칭 암호화가 비대칭 암호화보다 보안성이 떨어지나요?
비대칭 암호화가 대칭 암호화를 완전히 대체할 수 있나요?
대칭 암호화 알고리즘과 비대칭 암호화 알고리즘 중 어떤 것이 양자 컴퓨터에 더 취약한가요?

암호화에 대해 더 알아보기