공개 키란 무엇인가요?
공개 키는 공개 키 인프라(PKI) 내에서 제3자에게 공개되는 키입니다. 공개 키 암호화에서는 공개 키와 해당 개인 키로 구성됩니다. 공개 키는 공개적으로 공유되지만, 개인 키는 소유자가 비밀로 유지해야 합니다.
공개 키 암호화가 등장하기 전에는 대칭 키 암호화가 널리 사용되었습니다. 이 방법에서는 암호화와 복호화에 동일한 키가 사용되었으며, 통신 당사자 간에 키가 공유되어 안전한 통신이 가능했습니다. 그러나 공유 과정 중에 키가 가로채지면 암호화 보안이 손상됩니다. 이 문제를 해결하기 위해 공개 키 암호화가 개발되었습니다.
공개 키 암호화에서는 키 소유자가 먼저 공개 키를 통신 파트너와 공유합니다. 통신 파트너는 이 공개 키를 사용하여 메시지나 데이터를 암호화하고 암호화된 메시지를 키 소유자에게 보냅니다. 그런 다음 키 소유자는 해당 개인 키를 사용하여 메시지를 해독합니다. 개인 키는 통신 채널을 통해 전송되지 않으므로 가로채기 위험이 크게 줄어들고 보안이 강화됩니다.
오늘날 가장 널리 사용되는 공개 키 암호화 시스템은 RSA 알고리즘입니다. RSA는 한 키(예: 공개 키)로 암호화된 데이터는 다른 키(예: 개인 키)로만 해독할 수 있고 그 반대의 경우도 가능한 쌍으로 된 키 구조를 사용합니다. 이를 통해 공개 키로 데이터를 암호화하고 개인 키로 암호를 해독하거나 개인 키로 데이터를 암호화하고 공개 키로 암호를 해독하는 등의 유연한 사용 사례가 가능해집니다.
후자의 속성은 디지털 서명에 활용됩니다. 특정 공개 키로 해독할 수 있는 문서는 해당 개인 키로 암호화되어야 하며, 이를 통해 해당 문서가 해당 개인 키의 소유자가 작성했음을 증명할 수 있습니다. 하지만 RSA의 공개 키와 개인 키는 대칭이 아니라는 점을 알아두는 것이 중요합니다. 공개 키는 해당 개인 키로부터 생성될 수 있지만, 공개 키로부터 개인 키를 생성하는 것은 계산적으로 불가능합니다. RSA의 보안은 큰 숫자를 소인수분해하는 데 어려움이 있다는 점에 기반합니다. 보안을 유지하려면 RSA 키는 컴퓨팅 성능과 잠재적인 새로운 암호 해독 알고리즘의 발전에 맞춰 충분히 길어야 합니다. 시간이 지남에 따라 키 길이와 알고리즘이 주기적으로 업데이트되어 지속적인 보안이 보장됩니다.