티스토리 뷰

728x90
반응형
SMALL

비대칭 암호화(Asymmetric Encryption)는 공개키(Public Key)와 개인키(Private Key)를 사용하여 데이터를 암호화하는 방식으로, 두 개의 다른 키가 서로 상호작용하여 암호화와 복호화가 이루어집니다.

이 방식은 주로 데이터 전송에서 키 분배 문제를 해결하기 위해 사용됩니다.

다음은 대표적인 비대칭 암호화 알고리즘들입니다.

 

1. 비대칭키 암호화 알고리즘

1-1. RSA(Rivest–Shamir–Adleman)

  • 개요: 1977년에 개발된 가장 널리 사용되는 비대칭 암호화 알고리즘 중 하나입니다. 큰 소수의 곱셈을 기반으로 한 문제를 사용해 암호화와 복호화를 수행합니다.
  • 특징: RSA는 디지털 서명, SSL/TLS 인증서, VPN 등 다양한 보안 시스템에서 사용됩니다. 공개키와 개인키를 사용하여 안전한 데이터 전송을 보장하며, 키 길이가 길수록 보안이 강화됩니다.

1-2. ECC(Elliptic Curve Cryptography)

  • 개요: 타원 곡선 수학을 기반으로 하는 암호화 알고리즘으로, RSA보다 짧은 키 길이로도 높은 보안성을 제공합니다.
  • 특징: 작은 키 크기에도 불구하고 매우 높은 보안성을 제공하기 때문에 모바일 장치, IoT(사물인터넷), SSL 인증서 등에서 많이 사용됩니다. ECDSA(Elliptic Curve Digital Signature Algorithm)와 같은 변형이 디지털 서명에 널리 사용됩니다.

1-3. ElGamal 암호화

  • 개요: 1985년에 타헤르 엘가말에 의해 개발된 알고리즘으로, 이산 로그 문제에 기반한 비대칭 암호화 방식입니다.
  • 특징: ElGamal은 키 교환, 디지털 서명, 암호화 등 다양한 용도로 사용됩니다. 다만 RSA나 ECC에 비해 암호화 속도가 느리고, 생성된 암호문의 크기가 큰 편입니다.

1-4. DSA(Digital Signature Algorithm)

  • 개요: 1991년에 NIST에서 제정한 디지털 서명 알고리즘으로, 디지털 서명을 생성하고 검증하는 데 사용됩니다.
  • 특징: DSA는 디지털 서명을 위한 표준 알고리즘이며, 데이터의 무결성과 출처 인증을 제공하는 데 주로 사용됩니다. ElGamal과 유사한 방식으로 서명을 생성하지만, 서명 검증에 최적화되어 있습니다.

1-5. Diffie-Hellman 키 교환(Diffie-Hellman Key Exchange)

  • 개요: 1976년에 발표된 알고리즘으로, 비대칭 암호화에서 비밀키를 안전하게 공유할 수 있는 방법을 제공합니다.
  • 특징: Diffie-Hellman은 실제 데이터를 암호화하지 않지만, 공개키 기반으로 안전하게 비밀키를 생성할 수 있어, 대칭키 암호화에서 안전하게 키를 교환하는 용도로 널리 사용됩니다. RSA와 ECC와 함께 주로 사용됩니다.

1-6. PGP(Pretty Good Privacy)

  • 개요: 전자메일 암호화파일 암호화를 위한 암호화 프로그램으로, 공개키 암호화 방식을 사용합니다.
  • 특징: PGP는 RSA와 비슷한 방식으로 동작하며, 공개키 암호화를 통해 이메일 보안디지털 서명을 제공합니다. 주로 메일 시스템과 개인 통신의 보안성을 높이는 데 사용됩니다.

1-7. PAKE(Password-Authenticated Key Exchange)

  • 개요: PAKE는 암호 기반의 키 교환 프로토콜로, 사용자가 비밀번호만을 사용해 안전하게 키를 교환할 수 있도록 설계되었습니다.
  • 특징: PAKE는 사용자 인증과 키 교환을 결합하여, 중간자 공격이나 비밀번호 유출을 방지하면서 안전한 통신을 가능하게 합니다. SRP(Secure Remote Password)와 같은 알고리즘이 대표적인 예입니다.

1-8. MQV(Menezes-Qu-Vanstone)

  • 개요: 타원 곡선 암호화를 이용한 키 교환 프로토콜로, Elliptic Curve Diffie-Hellman(ECDH)의 향상된 버전입니다.
  • 특징: MQV는 Diffie-Hellman과 유사하지만, 인증완전한 전달 비밀성(Perfect Forward Secrecy, PFS)을 제공하는 보강된 방식입니다.

 

2. 비대칭 암호화의 장점

2-1. 키 분배 문제 해결

  • 공개키를 사용하여 데이터를 암호화하고, 개인키로만 복호화할 수 있기 때문에, 안전하게 키를 공유할 수 있습니다. 개인키는 절대 공유되지 않으므로 키 관리가 상대적으로 용이합니다.
  • 예시: SSL/TLS에서 서버는 자신의 공개키를 클라이언트에게 제공하고, 클라이언트는 이를 사용해 데이터를 암호화하여 서버에 안전하게 보냅니다. 개인키는 서버만 가지고 있으므로 복호화할 수 있는 유일한 주체가 서버가 됩니다.

2-2. 인증 및 신원 보장

  • 비대칭 암호화는 디지털 서명과 함께 사용되어 데이터 무결성을 보장하고, 송신자의 신원을 확인할 수 있습니다. 디지털 서명은 개인키로 서명된 정보를 공개키로 검증함으로써 위조나 변조가 없었음을 증명합니다.
  • 예시: 전자상거래전자문서에서 문서의 서명을 통해 송신자의 신원을 확인하고, 문서가 위조되지 않았음을 보장할 수 있습니다.

2-3. 비밀 통신 보장

  • 두 당사자 간에 안전하게 대칭키를 공유하는 데 사용할 수 있습니다. Diffie-Hellman 키 교환과 같은 알고리즘을 통해, 안전한 통신을 위한 비밀 대칭키를 안전하게 설정할 수 있습니다.
  • 예시: VPN, SSL/TLS 등에서 대칭키를 안전하게 공유하여 암호화된 세션을 설정할 수 있습니다.

2-4. 전달 비밀성(Forward Secrecy)

  • 개인키가 유출되더라도 과거의 통신 내용을 복호화할 수 없도록 전달 비밀성(Perfect Forward Secrecy, PFS)을 제공하는 알고리즘을 지원합니다.
  • 예시: Diffie-Hellman 알고리즘을 변형한 키 교환 방식들은 PFS를 제공하여 개인키가 탈취되어도 과거 데이터는 안전하게 유지됩니다.

 

3. 비대칭 암호화의 단점

3-1. 속도가 느림

  • 비대칭 암호화는 대칭키 암호화보다 계산 복잡성이 높기 때문에 암호화와 복호화가 훨씬 느립니다. 이로 인해 대량의 데이터를 처리할 때는 비효율적입니다.
  • 해결 방법: 이를 보완하기 위해 하이브리드 암호화 방식이 많이 사용됩니다. 즉, 비대칭 암호화를 통해 대칭키를 교환한 후, 실질적인 데이터 암호화는 대칭키 암호화로 처리하는 방식입니다.

3-2. 복잡한 키 관리

  • 비대칭 암호화는 두 개의 키(공개키, 개인키)를 관리해야 하므로, 키 관리가 복잡합니다. 공개키와 개인키를 잘못 관리하면 보안 위협이 발생할 수 있습니다.
  • 예시: 잘못된 키 관리로 인해 공개키와 개인키가 노출되면 시스템의 보안성이 크게 저하됩니다. PKI(공개키 인프라)를 통해 인증서를 발급받아 신뢰할 수 있는 키를 관리해야 합니다.

3-3. 공격의 위험

  • 비대칭 암호화는 양자 컴퓨팅과 같은 기술에 의해 취약해질 가능성이 있습니다. 특히 RSA와 같은 알고리즘은 큰 소수의 인수분해 문제에 의존하기 때문에, 양자 컴퓨터가 상용화되면 쉽게 해독될 수 있습니다.
  • 해결 방법: 이에 대비해 양자 내성 암호화(Quantum-Resistant Cryptography)가 연구되고 있으며, ECC(타원 곡선 암호화)는 양자 컴퓨터에 더 강력한 보안성을 제공할 수 있는 대안 중 하나로 여겨지고 있습니다.

3-4. 공개키의 신뢰성

  • 공개키가 올바른 사용자에게서 발급된 것인지 확인해야 합니다. 이를 위해 PKI 또는 디지털 인증서를 통해 공개키의 신뢰성을 보장해야 합니다.
  • 예시: 악의적인 사용자가 가짜 공개키를 발급하여 공격을 시도할 수 있으므로, 신뢰할 수 있는 인증 기관(CA)이 필요합니다.

<이전 관련 정보>

2024.09.16 - [IT정보/정보보호] - 대칭키 암호화의 종류와 장단점

 

대칭키 암호화의 종류와 장단점

대칭키 암호화(Symmetric Key Encryption)는 암호화와 복호화에 같은 키를 사용하는 암호화 방식입니다.대칭키 암호화는 효율적이고 빠른 암호화 방식이지만, 키의 관리와 공유가 보안의 핵심이 됩니

jstreambox.tistory.com

 

728x90
반응형
LIST
공지사항
최근에 올라온 글
최근에 달린 댓글
글 보관함