공개 키 암호화가 데이터 무결성을 보장하는 방법

게시 됨: 2021-07-30

데이터에는 보안이 필요하고 보안에는 암호화가 필요합니다.

다른 것들 사이,   암호화   데이터 보안을 보장하는 데 중요한 역할을 합니다. 데이터를 암호화 키의 도움으로만 해독하거나 해독할 수 있는 이해할 수 없는 형식으로 변환하는 프로세스입니다.

암호화 키는 암호화 메커니즘에서 생성되는 임의의 문자 시퀀스입니다. 암호화하는 동안 평문을 암호문으로 변환하는 데 사용됩니다. 동일한 키(대칭 암호화) 또는 다른 키(비대칭 암호화)를 사용하여 암호문을 일반 텍스트로 변환할 수 있습니다.

암호화는 실제 메시지를 숨기고 암호문으로 변환하여 읽을 수 없도록 합니다. 공개 키 암호화는 메시지를 암호화할 수 있는 방법 중 하나입니다. 두 개의 키(공개 키와 개인 키)가 있는 잠금 장치라고 생각하십시오. 사용자가 첫 번째 키로 잠그면 두 번째 키만 잠금을 해제할 수 있으며 그 반대의 경우도 마찬가지입니다.

대칭 암호화 또는 하이브리드 암호화와 같은 다른 방법이 있지만 지금은 공개 키 암호화에 대해 자세히 살펴보고 사용자에게 향상된 데이터 보안을 제공하는 방법을 살펴보겠습니다.

공개 키 암호화란 무엇입니까?

공개 키 암호화라고도 하는 공개 키 암호화는 두 개의 다른 키를 사용하여 데이터를 암호화하고 해독하는 기술입니다. 하나는 모든 사람이 데이터를 암호화하는 데 사용할 수 있는 공개 키이고 다른 하나는 개시자가 암호 해독에 사용할 수 있는 개인 키입니다.

공개 키 암호화는 비대칭 암호화라고도 하며 TLS/SSL(Transport Layer Security/Secure Sockets Layer)에 널리 사용되어 HTTPS(Hypertext Transfer Protocol Secure)를 가능하게 합니다.

공개 키 암호화의 구성 요소는 다음과 같습니다.

  • 평문 : 암호화 알고리즘에 입력으로 주어지는 읽기 쉽고 이해할 수 있는 데이터
  • 암호문: 이해할 수 없는 형태의 암호화 출력
  • 개인 키: 일반적으로 암호화된 메시지를 디코딩하는 데 사용되는 비밀 키
  • 공개 키: 모든 사람이 사용할 수 있으며 일반적으로 메시지 암호화에 사용됩니다.

암호화된 메시지를 보내기 위해 공유 디렉터리에서 받는 사람의 공개 키를 가져올 수 있습니다. 이 키를 사용하여 메시지를 보내기 전에 암호화하고 수신자는 해당 개인 키를 사용하여 메시지를 해독할 수 있습니다.

반대로 개인 키를 사용하여 메시지를 암호화하면 수신자는 공개 키로만 메시지를 해독하여 신원을 확인할 수 있습니다. 메시지를 물리적으로 잠그거나 잠금 해제하지 않고도 자동으로 암호화와 복호화를 모두 수행할 수 있습니다. 조직은 다음을 사용합니다.   암호화 소프트웨어   프로세스를 원활하게 수행하고 강력한 데이터 보호를 보장합니다.

42%

의 응답자가 고객 데이터에 암호화를 사용하고 있습니다.

출처: 포네몬 연구소

공개 키 암호화는 다른 사람이 개인 키를 공유할 필요가 없으므로 전송 시 누출을 방지하는 매우 안전한 암호화 프로세스입니다. 상당한 정보 보안을 제공하고 무단 액세스로부터 데이터를 보호합니다.

인터넷 통신은 PKI(공개 키 인프라)를 사용하여 ID 및 보안을 관리합니다. 비대칭 암호화 또는 공개 키 암호화는 PKI를 활성화하고 다양한 통신 채널에서 데이터 보호를 제공하는 핵심 기술입니다.

반면에 대칭 암호화라고도 하는 개인 키 암호화는 하나의 키를 암호화와 복호화에 모두 사용하는 기술입니다. 둘 다   대칭 및 비대칭 암호화   사용 사례와 필요한 암호화 강도에 따라 이점과 과제가 있습니다.

공개 키 암호화는 어떻게 작동합니까?

공개 키 암호화를 통해 사용자는 비밀리에 메시지를 보내고 받을 수 있습니다. 이를 통해 각 사용자는 공개 키개인 키라 는 한 쌍의 키를 만들 수 있습니다. 두 키는 그들 사이에 수학적 관계가 있습니다. 그러나 개인 키는 공개 키에서 실제로 파생될 수 없습니다.

암호화에서 공개 키를 사용하여 메시지를 암호화할 수 있으며 수신자의 개인 키만 해독할 수 있습니다. 또한 보낸 사람이 자신의 개인 키를 사용하여 메시지를 암호화하면 의도한 받는 사람이 공개 키로 보낸 사람의 신원을 확인할 수 있습니다.

공개 키 암호화는 키를 교환할 필요가 없으므로 키 관리의 번거로움을 줄이는 더 긴 키 길이를 사용합니다. 키를 사용하여 메시지를 암호화하면 암호 해독에 사용할 수 없습니다.

공개 키 암호화 시스템의 몇 가지 중요한 속성은 다음과 같습니다.

  • 암호화와 복호화는 다른 키를 사용합니다
  • 수신자는 메시지를 해독하는 데 사용되는 고유한 개인 키를 보유합니다.
  • 수신자는 모든 사람이 사용할 수 있는 공개 키를 게시합니다.
  • 신뢰할 수 있는 제3자는 스푸핑을 방지하기 위해 공개 키가 특정 개인 또는 엔터티에 속하는지 확인합니다.
  • 공개 키 암호화에서는 공개 키에서 개인 키를 파생할 수 없습니다.

공개 키 암호화의 응용

공개 키 암호화는 일반적으로 전자 서명에 사용됩니다. 전자 서명은 사용자의 신원을 인증하고 문서, 메시지 또는 소프트웨어의 무결성을 유지하는 수학적 방법입니다. 기업이 일반적으로 사용하는   전자 서명 소프트웨어   법적으로 민감한 문서를 배포하고 디지털 서명을 수집합니다.

디지털 서명 외에도 공개 키 암호화는 다양한 다른 용도로 사용됩니다.

웹 서버 보안

공개 키 암호화는 HTTPS에서 보안을 보장하는 TLS/SSL 암호화 프로토콜의 핵심입니다. 웹 서버와 클라이언트를 다음으로부터 보호합니다.   사이버 공격   공격자가 통신을 가로채서 메시지 내의 콘텐츠에 액세스하는 메시지 가로채기(man-in-the-middle) 공격과 같습니다. 대칭 암호화는 공개 키 암호화가 두 당사자 간의 키 교환에 사용되고 대칭 암호화 키가 암호화 프로세스를 수행하는 데 사용되는 HTTPS의 일부이기도 합니다.

공개 키 암호화를 사용하면 발신자와 수신자가 자신의 신원을 확인하고 메시지 가로채기(man-in-the-middle) 공격을 방어할 수 있습니다. 웹 서버 보안은 또한 Google 또는 Bing과 같은 검색 엔진에서 웹사이트 순위를 높이는 데 추가적인 이점을 제공합니다.

본인인증

데이터는 이제 기존 네트워크를 넘어 클라우드, 모바일 장치, 사물 인터넷(IoT) 장치 및 기타 다양한 기술로 확장되어 기업에서 ID를 보호하는 것이 중요합니다. 공개 키 암호화를 사용하면 조직에서 디지털 ID 인증서를 사용하고 암호를 대체하여   무차별 공격.

이메일 암호화

이메일 암호화는 공개 키 암호화를 사용하여 메시지를 인증하고 암호화합니다. 승인되지 않은 엔터티 또는 악의적인 해커로부터 메시지를 보호하는 데 도움이 됩니다. 공격자가 메일 서버 암호를 해독하더라도 암호화로 인해 이메일 내용을 볼 수 없습니다.

당신이 사용할 수있는   이메일 암호화 소프트웨어   이메일에 디지털 서명을 하여 신원을 증명하고 전송 중이거나 서버에 저장된 콘텐츠와 첨부 파일을 암호화하여 이메일을 보호합니다.

보안/다용도 인터넷 메일 확장(S/MIME) 인증서와 같은 보안 이메일 암호화 방법은 공개 키 인프라를 사용하여 디지털 ID를 확인하고 암호화를 용이하게 합니다.

암호화폐

비트코인과 같은 유명한 암호화폐는 거래를 위해 공개 키 암호화에 의존합니다. 사용자는 모든 사람이 사용할 수 있는 공개 키를 가지고 있으며 개인 키는 거래를 수행하는 데 사용되는 비밀로 유지됩니다.

예를 들어, 비트코인 ​​원장에서 미사용 트랜잭션 출력(UTXO)은 공개 키에 연결됩니다. 사용자 A가 사용자 B와 트랜잭션에 서명하려고 할 때 사용자 A는 자신의 개인 키를 사용하여 UTXO를 사용하고 사용자 B의 공개 키에 연결된 새 UTXO를 생성합니다.

공개 키 암호화 알고리즘

공개 키 암호화 알고리즘은 메시지를 암호화하거나 메시지의 출처와 보낸 사람의 신원을 확인하는 데 사용되는 수학 함수입니다.

몇 가지 인기 있는 공개 키 암호화 알고리즘이 아래에 언급되어 있습니다.

Rivest-Shamir-Adleman(RSA) 알고리즘

RSA 알고리즘을 사용하면 사람들이 공개 키와 개인 키를 사용하여 메시지를 암호화할 수 있습니다. 공개 키가 암호화에 사용될 때 개인 키가 복호화를 용이하게 하고 그 반대의 경우도 마찬가지입니다. 이 속성으로 인해 대중적인 비대칭 암호화 알고리즘이 되었습니다. RSA는 조직이 저장 또는 전송 중인 정보의 기밀성, 무결성, 부인 방지 및 신뢰성을 보장할 수 있도록 지원합니다.

RSA 알고리즘 은 두 개의 큰 소수의 곱인 큰 정수를 인수분해하는 복잡한 프로세스를 통해 공개 키와 개인 키를 생성합니다.

RSA 알고리즘이 어떻게 작동하는지 보기 위해 예를 들어 보겠습니다. Rabin-Miller 소수 테스트 알고리즘을 사용하여 생성된 두 개의 소수 p와 q를 고려하십시오. Rabin-Miller 소수성 검정 알고리즘은 숫자가 소수인지 여부를 결정합니다. 두 소수를 사용하고 모듈러스 n을 계산합니다.

계수, N = pxq

공개 키는 모듈러스(n)와 공개 지수, e로 구성됩니다. 공개 키는 모든 사람이 액세스할 수 있으므로 공개 지수의 값은 비밀일 필요가 없습니다. 일반적으로 65537로 간주됩니다.

개인 키는 모듈러스(n)와 개인 지수 d(n의 totient에 대한 승법 역수를 찾기 위해 확장 유클리드 알고리즘에서 계산됨)로 구성됩니다.

알고 계셨나요? 그만큼   확장 유클리드 알고리즘   유클리드 알고리즘의 확장입니다. ax + by = 최대공약수(a,b)가 되도록 두 정수(a,b)의 최대공약수와 Bezout의 항등계수(x, y)를 계산합니다.

RSA 키는 일반적으로 1024비트 길이이지만 정부 및 일부 산업에서는 보안 강화를 위해 최소 키 길이 2048비트를 사용하도록 지시합니다.

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

디지털 서명 알고리즘 은 전자 서명을 생성하는 데 사용되는 공개 키 암호화 알고리즘 유형입니다. 이를 통해 수신자는 발신자의 신원을 인증하고 메시지의 출처를 확인할 수 있습니다.

흥미롭게도 보낸 사람은 개인 키를 사용하여 전자 서명을 하고 해당 공개 키를 사용하여 받는 사람이 확인합니다. 간단히 말해서 개인 키는 고유합니다. 단일 개인 또는 법인이 사용할 수 있습니다. 그러나 모든 사람이 사용할 수 있는 공개 키를 사용하여 누구나 메시지의 출처를 인증할 수 있습니다.

디지털 서명 알고리즘은 상당한 강점을 가지고 있지만 다른 서명 알고리즘에 비해 서명 길이가 짧습니다. 계산 속도가 느리고 작업에 필요한 저장 공간도 적습니다.

타원 곡선 암호화(ECC)

타원 곡선 암호화 는 효율적이고 효과적인 암호화 키를 생성하기 위해 타원 곡선 이론을 활용하는 공개 키 암호화 유형입니다. ECC는 두 개의 큰 소수를 인수분해하지 않고 타원 곡선 방정식의 속성을 통해 키를 생성합니다.

RSA와 같은 다른 암호화 시스템이 3072비트 키에서 제공하는 것과 동일한 수준의 보안을 256비트 키로 제공하면서 모바일 애플리케이션에서 널리 사용되는 동시에 더 적은 계산 능력과 배터리 리소스를 사용합니다.

양자 컴퓨팅의 지속적인 발전으로 두 개의 큰 소수를 인수분해하는 암호화 알고리즘이 더 쉽게 해독될 것입니다. ECC 및 Quantum 키 배포는 향후 데이터 암호화를 위한 가장 합리적인 대안이 될 수 있습니다.

TLS/SSL의 공개 키 암호화

TLS/SSL 프로토콜은 종단 간 데이터 보안을 제공하면서 비대칭 및 대칭 암호화를 모두 활용하여 네트워크를 통한 암호화된 통신을 보장합니다. TLS/SSL 핸드셰이크에서 서버는 암호화 알고리즘에 동의합니다. 웹 사이트에는 공개 키를 보유하는 TLS/SSL 인증서가 있는 반면 개인 키는 서버에 설치됩니다.

그런 다음 클라이언트와 서버 간의 통신은 결정된 암호화 알고리즘과 해당 키를 사용하여 암호화됩니다. 악의적인 해커로부터 메시지를 보호하고 클라이언트와 서버 간의 안전한 통신 채널을 보장합니다.

전체 프로세스에서 암호화 키를 공유할 필요가 없습니다. 수신자의 공개 키는 수신자의 개인 키로만 해독할 수 있는 메시지를 암호화하는 데 사용됩니다.

공개 키 암호화가 더 나은가요?

공개 키 암호화는 두 개의 키를 사용하여 구성되어 대칭 암호화에 비해 더 안전한 암호화 방법을 제공합니다. 키 관리의 번거로움을 없애주는 공개 키 암호화에는 개인 키 교환이 없습니다. 반대로 대칭 암호화에서 교환된 개인 키를 도난당하거나 분실하면 전체 시스템이 손상될 수 있습니다.

공개 키 암호화는 복잡한 메시지 암호화 프로세스를 따릅니다. 대칭 암호화보다 시간과 리소스가 더 많이 소요되지만 더 큰 보안을 제공합니다. 또한 악의적인 해커가 손상되더라도 디지털 인증서에 액세스할 수 없도록 디지털 인증서를 암호화합니다.

암호화 선택은 사용, 장치의 특성, 스토리지, 계산 능력, 보안 수준 및 기타 요소에 따라 달라집니다. 이러한 매개변수에 따라 대칭 및 비대칭 암호 시스템 모두 장단점이 있습니다.

공개 키 암호화의 이점

공개 키 암호화 사용의 주요 이점은 보다 강력한 데이터 보안입니다. 사용자는 개인 키를 다른 사람과 공유, 전송 또는 공개할 필요가 없기 때문에 사이버 범죄자가 개인 키를 가로채고 이를 악용하여 통신을 해독할 위험이 줄어듭니다.

사용자가 개인 키 암호화를 사용하는 동안 직면한 키 배포 문제를 해결하는 데 도움이 됩니다. 이를 통해 조직은 데이터 기밀성과 무결성을 유지하여 보다 강력한 정보 보안을 유지할 수 있습니다.

암호화 강도 외에도 공개 키 암호화를 통해 사용자는 부인 방지를 보장하면서 디지털 ID를 확인할 수 있습니다. 이러한 이점으로 인해 PGP(Pretty Good Privacy) 및 HTTPS에서 OIDC(OpenID Connect) 및 WebAuthN에 이르기까지 비대칭 암호화가 널리 사용되는 암호화 선택이 되었습니다.

공개 키 암호화의 과제

공개 키 암호화의 주요 단점은 암호화 프로세스가 수행되는 속도가 느리다는 것입니다. 상당한 소수 분해를 포함하는 복잡한 수학 연산을 사용하여 한 쌍의 공개 키와 개인 키를 생성하려면 더 많은 계산 능력과 저장 공간이 필요합니다.

공개 키 암호화의 몇 가지 일반적인 문제는 다음과 같습니다.

  • 무차별 대입 공격: 계산 능력이 높은 컴퓨터는 광범위한 검색을 실행하여 개인 키의 세부 정보를 찾을 수 있습니다.
  • 프로그래밍 문제: 사용자는 공개 키 암호화를 구현하기 전에 가파른 학습 곡선을 거쳐야 할 수 있습니다.
  • 키 관리 : 발신자와 수신자 사이에 키 교환이 필요하지 않지만 개시자는 여전히 자신의 개인 키를 직접 관리해야 합니다.

암호화 장비

보안 스택에 암호화 소프트웨어를 장착하고 비공개로 유지해야 하는 모든 통신을 보호하십시오. 공개 키 암호화는 복잡한 암호화 메커니즘으로 데이터를 강력하게 보호하는 데 도움이 됩니다.

암호화 및 기타 보안 방어와 함께 정보 보안을 보장하고 규제 표준을 준수할 수 있습니다.

조직의 정보 보안을 강화하는 데 필요한 기타 사항을 알아보십시오.