암호화란 무엇인가요?

암호화는 코딩된 알고리즘, 해시, 서명 사용을 통해 정보를 보호하는 방식입니다. 정보는 저장 시(예: 하드 드라이브의 파일), 전송 중(예: 둘 이상의 당사자 간에 주고받는 전자 통신) 또는 사용 중(데이터 컴퓨팅 중) 상태일 수 있습니다. 암호화에는 다음과 같은 4가지 주요 목표가 있습니다.

  • 기밀성 - 권한이 있는 사용자만 정보를 사용할 수 있도록 합니다.
  • 무결성 - 정보가 조작되지 않도록 합니다.
  • 인증 - 정보 또는 사용자 자격 증명의 신뢰성을 확인합니다.
  • 부인 방지 - 사용자가 이전의 약속 또는 작업을 부인하지 않도록 합니다.

암호화는 하나 이상의 정보 보안 목표를 성취하기 위해 다양한 기초적 암호 알고리즘을 사용합니다. 이러한 도구에는 암호화 알고리즘, 디지털 서명 알고리즘, 해시 알고리즘 및 기타 함수가 포함됩니다. 이 페이지에서는 가장 흔하게 사용되는 기초적 암호 알고리즘을 몇 가지 설명하겠습니다.

암호화는 어디에 사용되나요?

암호화는 군 관계자와 정치권 인사들 사이에서 민감한 정보를 보내는 데 사용되던 것이 그 시초입니다. 메시지를 암호화하여 원하는 수신자가 아닌 다른 사용자에게는 임의의 텍스트로 표시할 수 있습니다.

오늘날, 암호화에 사용되던 원래 기술은 완전히 그 효용성을 잃었습니다. 일부 신문의 퍼즐란에서나 볼 수 있을 정도로 쓸모없어진 상태입니다. 다행히, 이 보안 분야는 큰 발전을 이루었고, 오늘날 사용되는 알고리즘은 엄격한 분석과 수학을 이용하여 보안을 유지합니다.

보안이 발전함에 따라 암호화 분야는 더 다양한 보안 목표를 지원하도록 확장되었습니다. 여기에는 메시지 인증, 데이터 무결성, 보안 계산 등이 포함됩니다.

암호화는 현대 사회의 근간입니다. Secure Hypertext Transfer Protocol(HTTP), 보안 문자 및 음성 통신, 그리고 디지털 화폐에 이르기까지 수많은 인터넷 애플리케이션의 기초가 됩니다.

암호화란 무엇인가요?

암호화 알고리즘은 일반 텍스트 메시지를 암호화된 사이퍼텍스트로 변환하는 절차입니다. 현대적 알고리즘은 고급 수학과 하나 이상의 암호화 키를 사용합니다. 따라서 메시지를 암호화하기는 비교적 쉽지만 키를 모르는 상태에서 암호를 복호화하는 것은 사실상 불가능합니다.

암호화 기술은 키가 작동하는 방식에 따라 대칭과 비대칭의 두 가지 범주로 나뉩니다.

대칭 키 암호화란 무엇인가요?

대칭 키 암호화 알고리즘은 일반 텍스트를 암호화하고 사이퍼텍스트를 복호화하는 데 동일한 암호화 키를 사용합니다. 대칭 암호화를 사용하려면 모든 의도된 메시지 수신자가 퍼블릭 키에 액세스할 수 있어야 합니다.

다음 그림에서는 모든 당사자가 동일한 키를 공유한다고 가정할 때, 대칭 키와 알고리즘을 사용할 경우 암호화 및 복호화가 어떻게 작동하는지 보여줍니다.

첫 번째 그림에서는 대칭 키와 알고리즘을 사용하여 일반 텍스트 메시지를 사이퍼텍스트로 변환합니다. 두 번째 그림은 사이퍼텍스트를 일반 텍스트로 되돌리는 데 사용되는 동일한 비밀 키와 대칭 알고리즘을 보여줍니다.                

  

가장 인기 있는 블록 암호 중 하나는 Advanced Encryption Standard(AES)입니다. 이 블록 암호는 128비트, 192비트 또는 256비트 키를 지원합니다. AES는 Galois/Counter Mode(GCM)와 결합되어 AES-GCM이라는 인증된 암호화 알고리즘을 구현하기도 합니다.

AES는 전 세계에서 수행되는 암호화를 위한 업계 표준입니다. AES는 보안 방식이 잘 알려져 있고, 다양한 영역에서 효율적인 소프트웨어 및 하드웨어 구현을 사용할 수 있습니다.

비대칭(퍼블릭 키) 암호화란 무엇인가요?

 

비대칭(또는 퍼블릭 키) 암호화는 다양한 알고리즘 세트로 구성됩니다. 이러한 알고리즘은 한 방향으로 수행하기는 비교적 쉽지만, 역으로 수행하기는 쉽지 않은 수학적 문제를 기반으로 합니다.

이러한 유형의 문제를 보여주는 한 가지 유명한 예로 인수 분해 문제를 들 수 있습니다. 신중하게 선택한 소수 pq에 대해 N=p*q 곱을 빠르게 계산할 수 있습니다. 하지만 N만 주어진 상황에서는 pq를 구하기가 매우 어렵습니다.

인수 분해 문제를 기반으로 하는 일반적인 퍼블릭 키 암호화 알고리즘은 Rivest-Shamir-Adleman (RSA) 함수입니다. RSA를 적절한 패딩 체계와 결합하면 비대칭 암호화를 비롯한 다양한 용도로 사용할 수 있습니다.

하나의 키(퍼블릭 키)를 사용하여 데이터를 암호화하고 수학적으로 연관된 다른 키(프라이빗 키)를 사용하여 데이터를 복호화하는 경우, 비대칭 암호화 체계라고 합니다.

퍼블릭 키만 알고 있는 경우에 프라이빗 키를 확인하는 것은 계산적으로 불가능해야 합니다. 따라서 퍼블릭 키는 널리 배포될 수 있으며 프라이빗 키는 비밀과 보안이 유지됩니다. 이 두 가지 키를 한데 묶어 키 페어라고 합니다.

일반적인 비대칭 암호화 체계 중 하나는 RSA-OAEP로, RSA 함수와 Optimal Asymmetric Encryption Padding(OAEP) 패딩 체계를 결합한 것입니다. RSA-OAEP는 속도가 느리고 일반 텍스트보다 훨씬 큰 사이퍼텍스트를 포함하기 때문에 일반적으로 소량의 데이터를 암호화하는 데만 사용됩니다.

하이브리드 암호화란 무엇인가요?

RSA-OAEP와 같은 퍼블릭 키 알고리즘은 대칭 키 알고리즘보다 효율성이 떨어지므로, 일반적으로 데이터를 직접 암호화하는 데 사용되지 않습니다. 하지만 키 교환을 위한 수단을 제공함으로써 암호 생태계에서 중요한 역할을 합니다.

대칭 암호화를 사용하려면 모든 당사자가 키를 공유해야 합니다. 이 키는 암호화된 기존 채널을 통해 전송할 수 있지만, 이미 보안 채널이 있는 경우에는 새 키가 필요하지 않습니다. 대신 퍼블릭 키 암호화를 사용하여 키 교환 문제를 해결합니다.

대칭 키를 교체하는 두 가지 일반적인 방법은 다음과 같습니다.

  • 비대칭 암호화. 당사자 중 하나가 대칭 키를 생성한 다음 RSA-OAEP와 같은 알고리즘을 사용하여 상대방 당사자의 퍼블릭 키를 암호화합니다. 수신자는 프라이빗 키로 암호문을 복호화하여 대칭 키를 복구할 수 있습니다.
  • 디피-헬먼 키 교환 – (DH). 디피-헬먼은 보안 채널이 없을 때 당사자들이 대칭 키에 합의할 수 있도록 특별히 설계된 다른 유형의 퍼블릭 키 암호화 알고리즘입니다. 디피-헬먼은 RSA 함수와는 다른 수학적 문제를 기반으로 하며 RSA보다 유연성이 떨어집니다. 하지만 구조가 더 효율적이므로 일부 사용 사례에서 선호됩니다.

키 교환에 퍼블릭 키 암호화를 사용하고 대량 데이터 암호화에 대칭 암호화를 사용하는 이러한 조합을 하이브리드 암호화라고 합니다.

하이브리드 암호화는 신뢰할 수 없는 채널을 통해 비밀 정보를 교환하는 데 퍼블릭 키 암호화의 고유한 속성을 이용하면서 대칭 암호화의 효율성도 활용할 수 있는 방식입니다. 이를 통해 데이터 프라이버시를 위한 실용적인 엔드 투 엔드 솔루션을 실현할 수 있습니다.

하이브리드 암호화는 전송 계층 보안(TLS)과 같은 웹의 데이터 전송 프로토콜에 광범위하게 사용됩니다. HTTPS(TLS로 보호되는 HTTP)를 사용하는 웹 사이트에 연결하면 브라우저가 연결에 보안을 적용할 암호화 알고리즘을 협상합니다. 여기에는 키 교환, 대칭 암호화 및 디지털 서명을 위한 알고리즘이 포함됩니다.

디지털 서명이란 무엇인가요?

디지털 서명 체계는 데이터의 무결성, 신뢰성 및 부인 방지를 보장하는 퍼블릭 키 암호화의 한 유형입니다.

서명 프로세스는 프라이빗 키를 사용하여 파일을 암호화하는 것과 비슷하다고 생각하면 됩니다. 서명자는 프라이빗 키를 사용하여 파일 또는 코드 조각과 같은 디지털 문서에 ‘서명’을 생성합니다.

이 서명은 문서/프라이빗 키 페어에 대해 고유하며, 문서에 첨부하고 서명자의 퍼블릭 키로 검증할 수 있습니다. 디지털 서명을 위한 두 가지 일반적인 알고리즘은 확률론적 서명 체계(RSA-PSS)와 디지털 서명 알고리즘(DSA)입니다.

메시지 인증 코드란 무엇인가요?

메시지 인증 코드(MAC)는 디지털 서명의 대칭 버전입니다. MAC의 경우 둘 이상의 당사자가 키를 공유합니다. 당사자 중 하나는 디지털 서명의 대칭 버전인 MAC 태그를 만들어 문서에 첨부합니다. 상대방 당사자는 태그를 만드는 데 사용된 키와 동일한 키를 사용하여 메시지의 무결성을 검증할 수 있습니다.

MAC 태그를 만드는 데 사용된 키를 여러 당사자가 공유하므로 태그를 만든 당사자가 분명하지 않습니다. 따라서 인증하거나 부인을 방지하는 데 MAC을 사용할 수 없습니다.

MAC은 해시 기반 메시지 인증 코드(HMAC)와 같은 독립 실행형 알고리즘으로 구현될 수 있습니다. 하지만 메시지 무결성은 거의 모든 경우에 중요한 보증이 되므로, AES-GCM과 같은 대칭 암호화 알고리즘에 자주 통합됩니다.

타원 곡선 암호화란 무엇인가요?

타원 곡선 암호화(ECC)는 타원 곡선의 수학적 이론에 기반한 퍼블릭 키 암호화 기술입니다.

ECC의 가장 큰 장점은 기존 기술과 비슷한 수준의 보호 기능을 제공하지만, 키의 크기가 작고 작업 속도가 더 빠르다는 것입니다. ECC는 그 효율성 덕분에 휴대폰과 같이 상대적으로 컴퓨팅 파워가 낮은 디바이스에 사용하기에 매우 적합합니다.

ECC는 디피-헬먼의 타원 곡선 변형(ECDH)을 사용한 효율적인 키 교환이나, 타원 곡선 디지털 서명 알고리즘(ECDSA)을 사용한 디지털 서명에 활용할 수 있습니다. ECC는 빠른 속도와 유연성 때문에 인터넷을 통해 많은 애플리케이션에 널리 사용됩니다.

암호화에서 해싱이란 무엇인가요?

암호화 해시 함수는 임의의 데이터를 고정된 길이의 ‘지문’으로 변환하는 도구입니다. 해시 함수는 지문이 동일한 2개의 서로 다른 입력을 찾기가 어렵도록 설계되었으며, 지문이 고정된 값과 일치하는 메시지를 찾기도 어렵습니다.

암호화 체계, 서명 체계 및 MAC와 달리, 해시 함수에는 키가 없습니다. 누구나 특정 입력의 해시를 계산할 수 있으며, 해시 함수는 항상 동일한 입력에 대해 동일한 출력을 생성합니다.

해시 함수는 암호화 알고리즘과 프로토콜을 구성하는 중요한 구성 요소입니다. 여기에는 디지털 서명 알고리즘, 전용 MAC 알고리즘, 인증 프로토콜, 암호 스토리지 등이 포함됩니다.

암호 화폐란 무엇인가요?

암호 화폐는 중앙의 기관이 아닌 분산형 시스템에 의해 거래가 검증되고 기록되는 디지털 화폐입니다. 암호 화폐는 암호화 기술의 응용 사례 중 하나입니다.

암호 화폐는 다양한 저수준 암호화 알고리즘을 사용하여 신뢰성이 높고 안전한 플랫폼을 구축합니다. 암호 화폐는 타원 곡선 암호화, 디지털 서명, 해시 함수 등 이 페이지에서 설명하는 여러 개념을 사용합니다. 이러한 알고리즘을 함께 사용하면 중앙의 기관 없이도 신뢰성을 보장하고 책임 소재를 명확히 할 수 있습니다.

양자 내성 암호란 무엇인가요?

지난 수십 년간 양자 컴퓨팅에 대해 상당한 투자가 이루어졌습니다. 양자 컴퓨터는 양자 물리학을 활용해 기존의 컴퓨터에서는 계산이 불가능한 인수 분해 문제와 같은 수학적 문제를 해결할 수 있습니다.

대규모 양자 컴퓨터는 Rivest-Shamir-Adleman(RSA) 함수를 기반으로 하는 암호 체계를 비롯하여 오늘날 우리가 사용하는 퍼블릭 키 암호 시스템을 무력화하게 될 것입니다. 이러한 알고리즘이 무력화되면 현재 우리가 사용 중인 많은 애플리케이션과 프로토콜의 기밀성 및 인증이 손실됩니다.

지금도 소형 양자 컴퓨터는 존재하지만 암호화 알고리즘을 깨기에는 크기가 너무 작습니다. 암호화 관련 양자 컴퓨터(CRQC)를 사용할 수 있을지 또는 언제 사용할 수 있게 될지는 알 수 없습니다. CRQC를 개발하기 위해 요구되는 중요한 과학적 해결 과제가 있습니다.

양자 후 암호화(PQC)는 오늘날 우리가 사용하는 컴퓨터에서 실행되는 암호화 알고리즘을 말하며, 대규모 양자 컴퓨터에 취약한 것으로 알려져 있지 않습니다.

AWS Post-Quantum Cryptography에서 양자 내성 암호화 프로젝트에 대한 AWS 연구 및 엔지니어링 참여와 글로벌 암호화 커뮤니티와 실무 그룹에 대해 자세히 알아보세요.

AWS 암호화 컴퓨팅이란 무엇인가요?

지금까지 소개한 도구를 활용하면 저장 시 암호화와 전송 중 암호화를 사용할 수 있습니다. 기존에는 데이터를 계산에 사용하기 전에 암호를 복호화해야 했습니다. 암호화 컴퓨팅은 암호화로 보호된 데이터를 직접 작업에 사용할 수 있는 도구를 제공함으로써 이 같은 번거로움을 해소합니다.

암호화 컴퓨팅이라는 용어는 안전한 다자간 계산, 동형 암호화, 검색 가능한 암호화 등 다양한 기술을 포괄하는 개념입니다. 세부적인 방식은 다르지만 이러한 기술은 보호된 데이터에 대해 계산을 수행하는 동시에, 해당 데이터의 기밀성을 유지할 수 있는 방식으로 데이터를 암호화하여 보호합니다.

AWS는 고객에게 어떤 암호화 서비스를 제공하나요?

AWS의 암호화 서비스는 저장 데이터 또는 전송 중인 데이터의 무결성을 보장할 수 있는 다양한 암호화 기술과 스토리지 기술을 활용합니다. AWS는 암호화 작업을 위한 다음과 같은 다양한 도구를 제공합니다.

많은 AWS 서비스는 데이터 전송 또는 저장 중에 이러한 암호화 서비스를 사용합니다. 해당 서비스의 목록과 암호화 사용 방법에 대한 개요는 기타 AWS 서비스를 참조하세요.

AWS는 오픈 소스 암호화 라이브러리도 제공합니다.

  • AWS Libcrypto(AWS-LC)는 AWS 암호화 팀이 AWS와 고객을 위해 유지 관리하는 범용 암호화 라이브러리를 제공하며, Google BoringSSL 프로젝트 및 OpenSSL 프로젝트의 코드를 기반으로 합니다. AWS-LC에는 TLS 및 일반 애플리케이션에 필요한 알고리즘의 이식형 C 구현이 포함되어 있습니다. 성능이 중요한 알고리즘의 경우 x86 및 ARM에 최적화된 어셈블리 버전이 포함되어 있습니다.
  • s2n-tls는 단순하고, 작고, 빠르며, 보안을 최우선으로 설계된 TLS/SSL 프로토콜 구현 버전을 제공합니다.

Amazon 과학 블로그AWS 보안 블로그도 참조하세요. 이들 블로그에서는 암호화 연구를 개발하고 벤치마킹하고 프로토타입을 만들기 위해 AWS가 진행 중인 활동을 자세히 설명합니다. 암호화 컴퓨팅, 양자 후 암호화, 검증된 암호 코드 등에 대한 글이 게시됩니다.

정부 규정 또는 전문 분야의 규정을 준수하는 AWS에서 암호화 서비스를 사용하려면 어떻게 해야 하나요?

AWS 암호화 서비스는 다양한 암호화 보안 표준을 준수하므로, 정부 규정 또는 전문 분야의 규정에 대한 걱정 없이 데이터를 손쉽게 보호할 수 있습니다. AWS 데이터 보안 표준 준수 내역의 전체 목록은 AWS 규정 준수 프로그램을 참조하세요.

AWS 암호화의 다음 단계

무료 계정에 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다. 

가입 
콘솔에서 구축 시작하기

AWS 관리 콘솔에서 구축을 시작하세요.

로그인