비대칭 암호화: 정의, 아키텍처, 사용 방식

비대칭 암호화: 정의, 아키텍처, 사용 방식

전 세계 수천 곳의 기업이 Okta를 통해 시간과 비용을 절약하고 있습니다. 아이덴티티가 기업에게 어떤 영향을 미칠 수 있는지 알아보세요.

비대칭 암호화: 정의, 아키텍처, 사용 방식

업계 최고의 분석가들이 Okta와 Auth0를 아이덴티티 분야의 리더로 연속 선정하고 있는 이유를 알아보세요.

비대칭 암호화는 사용자가 공유 키를 사용해 정보를 암호화할 수 있는 기법입니다.

예를 들어 인터넷을 통해 메시지를 보내야 하는데 수신자를 제외한 다른 사람에게는 메시지를 숨기고 싶다면 비대칭 암호화를 활용해 볼 수 있습니다. 

비대칭 암호화 기법을 사용하면 발신자와 수신자 간에 매우 안전한 통신이 보장됩니다. 명칭만 몰랐을 뿐 이 테크놀로지를 이미 경험한 사람들도 많을 것입니다. 예를 들어 주소가 "https"로 시작하는 웹사이트를 방문할 때마다 비대칭 암호화를 사용하는 셈입니다. 

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

정부 관계자에 따르면, 보안에 민감하지 않은 웹 트래픽은 존재하지 않습니다. 사람들은 거의 모든 일상을 온라인으로 공유하면서 보안에 매우 민감한 트랜잭션을 매일 처리하고 있습니다. 이러한 환경에서는 개인과 기업 모두 강력한 보안 조치가 필요합니다. 비대칭 암호화는 이를 위해 탄생한 테크놀로지입니다. 

비대칭 암호화 환경에서는 다음과 같이 두 가지 키를 사용해 보안을 유지합니다.

  1. 공개 키 암호화: 누구든지 이 키를 보고 액세스할 수 있습니다. 
  2. 비공개 키 암호화: 권한이 인증된 수신자만 이 키에 액세스할 수 있습니다. 

두 키는 서로 별개이지만 동일하며, 메시지를 디코딩하려면 둘 다 필요합니다. 따라서 키를 하나만 가지고 있다면 복호화가 불가능합니다. 

대칭 암호화는 비대칭 암호화에 상응하는 기법입니다. 대칭 암호화에서는 한 개의 키로 데이터 암호화와 복호화를 모두 처리합니다. 따라서 해커가 이 한 개의 키에 액세스하게 되면 두 가지 작업을 모두 실행할 수 있습니다. 

비대칭 암호화는 두 개의 키를 사용합니다. 하나는 암호화에, 다른 하나는 디코딩에 사용됩니다. 결과적으로 보안 수준을 더욱 강화할 수 있습니다.

Asymmetric Encryption

비대칭 암호화의 원리

중요한 메시지는 공개 키와 비공개 키를 사용해 암호화 프로세스와 복호화 프로세스를 거치게 됩니다. 

알고리즘으로 프로세스가 시작됩니다. 수학 함수가 한 쌍의 키를 생성합니다. 각 키는 별개이지만 수학적으로 서로 관련이 있습니다. 

키 생성 프로토콜이 서로 다르기 때문에 여기에서 생성되는 키도 다릅니다. 예를 들어 Microsoft 환경에서는 비대칭 키 한 쌍을 개발하려면 약 4 줄의 코드가 필요합니다. 다른 프로그램에서도 방식은 비슷합니다. 

발신자가 메시지를 암호화하여 수신자에게 보내려고 한다고 가정하겠습니다. 프로세스는 다음과 같습니다.

  • 등록: 사용자와 발신자가 공개/비공개 키를 생성한 공인 기관에 연결됩니다. 
  • 조회: 발신자가 수신자의 공개 키 정보에 필요한 공개 키 디렉토리를 찾습니다. 
  • 암호화: 발신자가 메시지 작성 후 수신자의 공개 키를 사용해 암호화한 다음 전송합니다. 
  • 디코딩: 수신자가 비공개 키를 사용해 메시지를 해독합니다. 
  • 회신: 수신자가 응답을 원할 경우 프로세스가 역순으로 진행됩니다. 

이번에는 개인이 아닌 기관과 통신한다고 가정하겠습니다. 이때는 인증서가 중요합니다. 

일반적으로 웹사이트에서 사용되는 SSL 인증서는 핸드쉐이크 방식과 비슷합니다. 기업이 지침에 따라 기관에 등록하여 소유 권한을 입증하면 인증서가 생성됩니다. 이후 사용자가 이러한 기업의 웹사이트에 액세스할 때 사용자의 컴퓨터와 웹사이트가 비공개 키와 공개 키를 인증한 후에 정보가 전달됩니다. 하지만 인증에 성공하면 데이터가 대칭 암호화를 통해 전달되므로 속도가 매우 빨라집니다. 

웹 인증은 비교적 이해하기 쉽습니다. 누구나 웹 인증을 사용한 경험이 있기 때문입니다. 하지만 기관들도 사용자를 안전하게 보호하기 위해 이 기법을 사용합니다. 예를 들어 비트코인은 비대칭 암호화에 대한 의존도가 매우 높습니다. 트랜잭션은 공개 키로 처리되지만 이러한 트랜잭션을 다른 계정으로 보내려면 비공개 키가 필요합니다.

비대칭 암호화의 장단점 

사이트 관리자를 비롯해 보안을 중요하게 생각하는 사람이라면 누구나 암호화 툴을 필요로 하기 마련입니다. 하지만 비대칭 솔루션이 모두에게 적합한 것은 아닙니다. 

장점

  • 보안: 해커라고 해도 두 개의 키가 없으면 무의미한 데이터 외에는 액세스하지 못합니다. 
  • 투명성: 공개 키는 공개적으로 배포되기 때문에 잃어버리더라도 보안 위험에 노출되지 않습니다. 
  • 상황: 데이터 유출에 지친 소비자들은 강력한 보안을 요구합니다. 일례로 2020년에 코드 취약점이 발견되어 Zoom 통화가 실제로 종단간 암호화를 제공하지 않았다는 보도가 나오자 Zoom에서도 사실을 인정하고 마케팅 자료에서 해당 사실을 밝힌 적이 있습니다. 많은 사람들이 안전한 환경을 제공하는 것을 중요하게 생각합니다. 

단점

  • 속도: 시스템에서 복호화하는 데 시간이 소요됩니다. 따라서 사용자가 대량의 파일을 전송하려면 오랫동안 기다려야 합니다. 
  • 취약점: 비공개 키를 분실한 후 누군가가 이 키를 발견하게 되면 비공개 정보라 할지라도 모든 메시지를 읽을 수 있습니다. 분실된 키는 중간자 공격에 악용될 수도 있습니다. 
  • 정보 손실: 비공개 키를 분실하면 자신에게 전송되는 메시지를 복호화할 수 없습니다.
  • 장기적 지속 가능성: 앞으로 양자 컴퓨팅이 실용화되면 대칭/비대칭 접근 방식을 대부분 대체하게 될 것입니다.

이러한 장단점을 다 살펴보고 나면 위험보다 이점이 훨씬 크다는 사실을 알게 될 것입니다. 하지만 위험이 너무 크다고 느껴진다면 대칭 암호화를 사용하는 방법도 있습니다. 그러면 정보 손실이나 속도에서 비롯되는 위험은 줄어들겠지만 데이터 보안 수준이 다소 낮아질 수 있습니다.

비대칭 암호화의 역사 

데이터 보호는 새로운 개념이 아닙니다. 실제로 비대칭 암호화를 뒷받침하는 개념은 수십 년 전부터 정립되어 있었습니다.

1977년에 스탠포드 대학의 두 연구원이 비대칭 암호화의 개념을 이해하기 쉽게 정립하여 논문을 발표했습니다. 사람들의 소비 방식이 현금 거래에서 디지털 거래로 점차 바뀌자 두 연구원은 새로운 프로토콜의 필요성을 느꼈고 소비자들의 금융 정보를 보호할 방법도 필요해졌습니다.

이 아이디어는 시간이 지나면서 확산되었고 얼마 지나지 않아 개인, 공공 기관, 민간 기업 등 너 나 할 것 없이 모두가 이 강력한 보안을 서둘러서 구현했습니다. HTTPS 프로토콜이 릴리스되어 널리 사용되면서 1995년에는 비대칭 암호화가 본격적으로 대중화되기 시작했습니다. Google 같은 대기업들도 비대칭 기법을 사용해 자사의 통신 정보를 보호하고 있습니다. 

Okta가 도와드리겠습니다 

Okta가 비대칭 암호화를 사용해 기업을 어떻게 보호하고 있는지 자세히 알아보세요. Okta는 기업에게 가장 적합한 솔루션을 찾아내어 구현해드립니다. 지금 문의하세요. Okta가 도와드리겠습니다.

참고 자료

Why HTTPS for Everything? CIO Council. 

Generating Keys for Encryption and Decryption. (2020년 7월). Microsoft. 

Public Key Directory. (2009년 3월). The Kumachan. 

How to Choose Between These 5 SSL Certificates for Your Site. Neil Patel. 

So Wait, How Encrypted Are Zoom Meetings Really? (2020년 4월). Wired. 

New Directions in Cryptography. (1976년 11월). IEEE Transactions on Information Theory. 

Half the Web is Now Encrypted. That Makes Everyone Safer. (2017년 1월). Wired. 

Here's a Simple Introduction on How Browsers Encrypt Your Data. (2019년 1월). Anton Spaans.