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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

asymmetric encryption

비대칭 암호화의 원리

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

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

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

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

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

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

일반적으로 웹사이트에서 사용되는 SSL 인증서는 핸드쉐이크 방식과 비슷합니다. 기업이 지침에 따라 기관에 등록하여 소유 권한을 입증하면 인증서가 생성됩니다. 이후 사용자가 이러한 기업의 웹사이트에 액세스할 때 사용자의 컴퓨터와 웹사이트가