공개 키 암호화란 무엇인가요?

작성자

Tom Krantz

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

공개 키 암호화란 무엇인가요?

공개 키 암호화는 수학적으로 연결된 키 쌍(하나는 공개, 다른 하나는 개인)을 사용하여 데이터를 암호화하고 해독하는 암호화 시스템의 한 유형입니다. "키"는 암호화된 정보를 잠그거나 잠금 해제하는 암호와 같은 역할을 하는 고유한 데이터 문자열로, 사람과 시스템이 민감한 정보를 교환할 수 있도록 합니다.

 

비대칭 암호화 또는 공개 키 암호화라고도 하는 이 보안 접근 방식은 하나의 공유 키 대신 두 개의 고유한 키를 사용한다는 점에서 대칭 암호화와 근본적으로 다릅니다.

Advanced Encryption Standard(AES)와 같은 대칭 시스템에서는 양 당사자가 동일한 비밀 키(양 당사자가 공유하는 임시 키)를 사용하여 데이터를 암호화하고 해독합니다. 이 접근 방식을 사용하려면 사전에 키를 안전하게 교환해야 합니다. 공개 키 암호화는 공개 키를 사용하여 암호화하고 개인 키를 사용하여 암호를 해독하여 이러한 문제를 방지합니다. 누구나 편지를 넣을 수 있지만 소유자만 잠금을 해제할 수 있는 우편함과 같습니다.

이러한 분리를 통해 신뢰할 수 없는 네트워크에서도 안전한 통신이 가능합니다. 또한 디지털 서명, 인증 및 부인 방지(저작권에 대한 부인할 수 없는 증명) 등의 추가 기능을 지원합니다.

실무에서는 두 가지 보안 방식을 함께 사용하는 경우가 많습니다. 공개 키 암호화로 공유 비밀 키를 생성하고, 이를 이용해 실제 데이터를 더 빠르게 대칭 암호화합니다.

귀사의 팀은 다음 제로데이를 제때 포착할 수 있을까요?

Think 뉴스레터를 통해 AI, 사이버 보안, 데이터 및 자동화에 대한 선별된 뉴스를 제공하는 보안 리더들과 함께하세요. 받은 편지함으로 직접 제공되는 전문가 튜토리얼과 설명서를 통해 빠르게 배울 수 있습니다. IBM 개인정보 보호정책을 참고하세요.

구독한 뉴스레터는 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책 을 참조하세요.

https://www.ibm.com/kr-ko/privacy

공개 키 암호화가 중요한 이유는 무엇인가요?

공개 키 암호화는 사이버 보안 의 가장 오래 지속되는 과제 중 하나를 해결합니다. 바로 신뢰가 제한되거나 존재하지 않는 환경에서 민감한 정보를 보호하는 것입니다.

Google 투명성 보고서에 따르면, 데스크톱 사용자는 자신이 보는 페이지의 절반 이상을 하이퍼텍스트 전송 프로토콜 보안(HTTPS)을 통해 불러오며, 전체 시간의 3분의 2를 암호화된 페이지에서 보냅니다. HTTPS는 시스템 간 연결을 암호화하여 전송 중인 데이터를 보호하는 보안 소켓 계층(SSL) 및 전송 계층 보안(TLS)과 같은 암호화 프로토콜에 기반합니다. 기술적으로는 구분되지만, SSL과 TLS는 종종 같은 의미로 사용되며 TLS가 SSL의 보다 현대적이고 안전한 후속 버전입니다.

초기 핸드셰이크 과정에서 SSL/TLS 인증서를 통해 안전한 통신이 수립됩니다. SSL/TLS 인증서는 웹사이트의 신원을 검증하고 암호화된 연결을 수립하는 디지털 자격 증명입니다. 이 사이트는 공개 키 암호화를 사용하여 공유된 비밀 키를 안전하게 교환하고, 이후에는 더 빠른 대칭 암호화를 통해 나머지 세션을 암호화합니다.

매일 수백만 개의 SSL/TLS 인증서가 발급되며, 때로는 한 시간에 34만 개의 TLS 인증서에 이르기도 합니다. 이렇듯 공개 키 암호화는 매일 수립되는 안전한 연결을 뒷받침하는 핵심 기술입니다. 이를 통해 안전한 디지털 커뮤니케이션의 기반을 형성합니다.

웹 사이트를 지원하는 것 외에도 공개 키 암호화는 보안 통신을 가능하게 하는 몇 가지 필수 기능을 제공합니다.

  • 모든 발신자가 수신자의 공개 키를 사용하여 메시지를 암호화할 수 있도록 하여 기밀성을 지원합니다해당 개인 키만이 이를 해독할 수 있으므로 데이터는 무단 접근으로부터 안전하게 보호됩니다.
  • 디지털 서명을 통해 신원 확인과 데이터의 무결성을 보장합니다. 발신자는 자신의 개인 키로 메시지에 서명할 수 있으며, 수신자는 해당 공개 키를 사용하여 해당 서명을 인증할 수 있습니다. 이를 통해 인증과 부인 방지 기능을 구현할 수 있습니다.
  • 안전한 키 교환이 가능하여 시스템이 네트워크를 통해 공유 비밀을 전송하지 않고도 대칭 암호화를 부트스트래핑할 수 있습니다.
  • 이는 특히 공개 키 인프라(PKI)와 디지털 인증서가 통합될 때, 신뢰를 구축합니다. 디지털 인증서는 인증 기관을 통해 공개 키를 검증된 신원에 연결해 줍니다.

이러한 기능은 보안 프로토콜 및 애플리케이션, 보안 파일 전송, 암호화된 이메일, 클라우드 컴퓨팅 등에서 사용되는 다양한 암호화 시스템 모델 등 오늘날의 많은 보안 프로토콜 및 애플리케이션의 기반이 됩니다.

공개 키 암호화 작동 원리

공개 키 암호화는 상호 관련된 일련의 프로세스에 의존하며, 각 프로세스는 안전하고 검증 가능한 대규모 통신을 가능하게 하는 데 필수적입니다.

  • 키 생성 및 배포
  • 암호화 및 암호 해독
  • 하이브리드 암호화 및 공유 비밀
  • 디지털 서명 및 무결성
  • 구현 및 보안 

키 생성 및 배포

암호화 알고리즘인 RSA 알고리즘(Rivest, Shamir, Adleman이라는 창시자들의 이름을 따서 명명됨)과 Diffie-Hellman 알고리즘은 공개 키와 개인 키 쌍을 생성하는 데 사용됩니다. 

이러한 알고리즘은 큰 소수를 인수분해하거나 이산 로그를 푸는 것과 같은 복잡한 수학적 문제를 기반으로 하며, 한 방향으로 계산하기는 쉽지만 개인 키 없이는 되돌리기가 어렵습니다.

공개 키는 디렉토리, 애플리케이션 프로그래밍 인터페이스(API) 또는 인증 기관에서 발급한 디지털 인증서를 통해 광범위하게 공유됩니다. 개인 키는 기밀로 유지됩니다. 분실하거나 도난당한 경우 복구할 수 없어 중대한 취약점이 발생합니다. 개인 키가 도용될 경우 공격자는 메시지를 해독하거나 디지털 서명을 위조하거나 합법적인 사용자로 가장할 수 있습니다.

조직에서는 서명을 위한 비대칭 키, 암호화를 위한 비대칭 키, 수명이 짧은 세션을 위한 임시 키 등 다양한 작업에 관련 키를 사용하는 경우가 많습니다. 이러한 암호화 키를 효과적으로 관리하는 것은 모든 암호화 시스템의 보안에 매우 중요합니다.

암호화 및 암호 해독

데이터를 암호화하기 위해 발신자는 수신자의 공개 키를 사용합니다. 이렇게 하면 읽을 수 있는 데이터인 일반 텍스트가 암호문으로 변환되며, 적절한 키 없이는 뒤섞여 읽을 수 없는 것처럼 보입니다. 수신자의 해당 개인 키만 암호문을 해독하고 원래의 읽기 쉬운 형식으로 복원할 수 있습니다.

이러한 비대칭 암호화 접근 방식을 사용하면 비밀 키를 미리 교환할 필요 없이 안전한 통신이 가능합니다. 의도한 수신자만 메시지를 해독할 수 있도록 하여 MITM(중간자) 공격으로부터 보호합니다.

하이브리드 암호화 및 공유 비밀

비대칭 암호화는 공유 비밀을 미리 교환할 필요를 없애며, 공유 비밀을 안전하게 설정하는 데 자주 사용됩니다.이후 이 공유 비밀 키는 대칭 암호화 알고리즘과 함께 사용되어 신용카드 번호나 사용자 간의 개인 메시지와 같은 전송 중인 데이터를 보호합니다.

대칭 키 암호화(대칭 암호화라고도 함)는 대량 데이터에 더 효율적입니다. 따라서 하이브리드 암호화 시스템은 이러한 강점을 공개 키 암호화의 강점과 결합합니다. 보안 키 배포를 위해 공개 키 암호화를 사용한 다음 데이터 자체 대해서는 AES와 같은 대칭 키 암호화로 전환합니다.

디지털 서명 및 무결성

디지털 서명을 사용하면 발신자가 개인 키를 사용하여 데이터에 서명할 수 있습니다. 서명은 공개 키를 사용하여 누구나 확인할 수 있으며 발신자의 신원과 데이터의 무결성을 확인할 수 있습니다.

디지털 서명 알고리즘(DSA) 및 타원 곡선 디지털 서명 알고리즘(ECDSA)과 같은 알고리즘은 부인 방지와 신뢰를 확보하는 데 중요한 역할을 합니다. 이러한 알고리즘은 소프트웨어 배포, 보안 업데이트 및 문서 서명 워크플로에 널리 사용됩니다.

구현 및 보안

암호화 시스템의 강도는 암호화 알고리즘, 키 길이, 키 관리 관행에 따라 달라집니다. 구현이 잘못되었거나 키가 짧으면 시스템이 무차별 대입 공격에 취약해집니다.

NIST(National Institute for Standards and Technology)는 RSA의 경우 최소 2048비트 키 길이, 타원 곡선 암호화의 경우 256비트 키를 권장합니다. 키 배포 프로토콜과 강력한 암호화 알고리즘 구현은 장기적인 데이터 보호에 필수적인 것으로 간주됩니다.

일반적인 공개 키 암호화 알고리즘

다양한 키 암호화 알고리즘은 성능과 보안에서 서로 다른 절충안을 제공합니다.

RSA

RSA는 비대칭 암호화의 핵심입니다. 큰 수의 인수분해가 어렵다는 점에 착안하여 암호화와 디지털 서명을 모두 지원합니다.

디지털 서명 알고리즘(DSA)

NIST에서 개발한 DSA는 디지털 서명을 지원하며 FIPS(연방 정보 처리 표준) 규정 준수 요구 사항을 충족합니다.

디피-헬먼 키 교환

이 알고리즘은 안전한 키 교환과 신뢰할 수 없는 채널에서 공유되는 비밀 키 생성으로 가장 잘 알려져 있습니다.

공개 키 암호화를 배포하는 데에는 더 광범위한 접근 방식도 있습니다. 한 가지 예가 타원 곡선 암호화(ECC)인데, 이는 더 작은 키와 감소된 계산 부하로 강력한 암호화를 구현하는 암호화 알고리즘 계열입니다. 

에드워즈 곡선 디지털 서명 알고리즘(EdDSA)과 타원 곡선 디지털 서명 알고리즘(ECDSA)과 같은 특정 타원 곡선 기반 디지털 서명 알고리즘은 Secure Shell(SSH), JSON 웹 토큰(JWT), 그리고 제로 트러스트 아키텍처에서 널리 채택되고 있습니다. 높은 효율성 덕분에 사물인터넷(IoT)과 모바일 환경에서 특히 유용합니다.

격자 기반해시 기반 암호화와 같은 기타 새로운 접근 방식은 양자 컴퓨터의 공격에 저항할 수 있는 잠재력을 가지고 있습니다. 이 포스트-퀀텀 알고리즘은 계산 위협이 진화함에 따라 미래에 대비하기 위한 암호화 시스템의 지속적인 노력의 일환입니다. 

공개 키 암호화 사용 사례

공개 키 암호화는 전자 상거래 거래를 보호하거나 안전한 원격 서버 로그인을 지원하는지 여부에 관계없이 거의 모든 현대 사이버 보안 프레임워크에 나타납니다. 일반적인 사용 사례는 다음과 같습니다. 

  • TLS/SSL(Transport Layer Security): 웹 세션을 보호합니다. 예를 들어, 브라우저와 은행 웹사이트 사이의 세션과 같은 경우, 수신자의 공개 키를 사용하여 공유 세션 키를 암호화합니다. 이렇게 하면 나머지 세션에 대해 대칭 키 암호화를 사용하여 암호화된 통신을 사용할 수 있습니다.
  • 이메일 보안(S/MIME, PGP): 공개 키 암호화를 사용하여 전송 중 메시지를 보호하며, 오직 의도된 수신자만 콘텐츠를 읽을 수 있도록 보장합니다. 디지털 서명은 발신자의 신원을 확인하고 메시지의 무결성을 검증합니다.
  • SSH 인증: 키 쌍을 사용하여 안전한 원격 로그인을 허용합니다. 클라이언트는 개인 키를 노출하지 않고 소유를 증명하여 중간자 공격을 방지하는 데 도움이 됩니다.
  • 디지털 인증서 및 신원 인증: PKI에서 인증 기관은 공개 키를 검증된 신원에 연결하는 디지털 인증서를 발급하여 사용자와 시스템이 네트워크 전반에서 서로를 신뢰할 수 있도록 합니다.
  • 블록체인과 암호화폐: 공개 키 암호화는 블록체인 과 같은 분산 시스템에서 핵심적인 역할을 합니다. 개인 키는 거래에 서명하는 데 사용되는 반면, 공개 키는 다른 사람이 자산을 인증하고 보내는 데 사용할 수 있는 주소 역할을 합니다.
  • 클라우드 컴퓨팅: Amazon Web Services(AWS) 및 Google Cloud와 같은 서비스는 엔벨로핑 암호화를 사용하여 데이터를 보호하고, 대칭 키를 공개 키 암호화로 마무리하여 대규모 키를 안전하게 배포합니다.
  • 문서 서명: 디지털 서명은 서명자의 신원을 증명하여 문서 신뢰성을 확인하고, 데이터 무결성을 보장하며, 법적 부인 방지를 지원합니다.
  • AI 시스템 인증: 공개 키 암호화는 사용자와 시스템을 대신하여 작동하는 인공 지능(AI) 에이전트를 통해 안전한 ID 확인 및 암호화된 API 상호 작용을 보장합니다.
  • 양자 준비: 양자 컴퓨팅이 기존 암호화 알고리즘을 무력화할 위험이 커지면서 조직은 인프라의 미래에 대비하기 위해 퀀텀 세이프 암호화 기술을 모색하기 시작했습니다.
관련 솔루션
데이터 보안 및 보호 솔루션

다양한 환경에서 데이터를 보호하고 개인정보 보호 규정을 준수하며 운영상의 복잡성을 간소화합니다.

    데이터 보안 솔루션 살펴보기
    IBM Guardium

    온프레미스 및 클라우드의 민감한 데이터를 보호하는 데이터 보안 소프트웨어 제품군인 IBM Guardium에 대해 알아보세요.

     

      IBM Guardium 살펴보기
      데이터 보안 서비스

      IBM은 엔터프라이즈 데이터, 애플리케이션 및 AI를 보호하기 위한 포괄적인 데이터 보안 서비스를 제공합니다.

      데이터 보안 서비스 살펴보기
      다음 단계 안내

      데이터 보안 솔루션으로 하이브리드 클라우드 전체에서 조직의 데이터를 보호하고 규정 준수 요구 사항을 간소화하세요.

      데이터 보안 솔루션 살펴보기 라이브 데모 예약하기