암호화는 정보를 임의의 데이터처럼 보이도록 변경하여 정보를 숨기는 방법입니다. 암호화는 인터넷 보안에 필수적입니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
관련 콘텐츠
인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!
글 링크 복사
암호화는 승인된 당사자만 정보를 이해할 수 있도록 데이터를 변환하는 방법입니다. 기술적인 용어로 사람이 읽을 수 있는 일반 텍스트를 이해할 수 없는 텍스트로 변환하는 과정으로, 암호 텍스트라고도 합니다. 간단히 말해서 암호화는 판독 가능한 데이터를 무작위로 보이도록 변경하는 것입니다. 암호화를 사용하려면 암호화 키, 즉 암호화된 메시지의 발신자와 수신자가 모두 동의하는 수학적 값 집합을 사용해야 합니다.
암호화는 암호화 알고리즘과 키를 사용하여 데이터를 변경하는 수학적 프로세스입니다. 앨리스가 밥에게 "Hello" 라는 메시지를 보내면서 메시지의 각 문자를 알파벳에서 두 자리 뒤에 오는 문자로 바꾼다고 가정해 보겠습니다. "Hello," 대신 "Jgnnq." 다행히도 Bob은 "2" 키가 있다는 것을 알고 있으며 메시지를 "Hello로 다시 해독할 수 있습니다."
앨리스는 매우 간단한 암호화 알고리즘을 사용하여 밥에게 보내는 메시지를 인코딩했습니다. 더 복잡한 암호화 알고리즘을 사용하면 메시지가 더욱 복잡해질 수 있습니다:
암호화된 데이터는 무작위로 보이지만, 암호화는 논리적이고 예측 가능한 방식으로 진행되므로 암호화된 데이터를 수신하고 올바른 키를 소유한 당사자가 데이터를 해독하여 일반 텍스트로 다시 변환할 수 있습니다. 진정으로 안전한 암호화는 제3자가 무차별 대입으로, 즉 키를 추측하는 방식으로 암호문을 해독하거나 해독할 가능성이 거의 없을 정도로 복잡한 키를 사용합니다. (Alice의 첫 번째 암호화 방법은 아주 빨리 무력화될 것입니다.)
데이터는 "미사용"(저장된 경우) 또는 "전송 중"(한 장소에서 다른 장소로 전송되는 동안)의 경우에 암호화될 수 있습니다.
암호화 키는 암호화 알고리즘 내에서 데이터를 무작위로 보이도록 변경하는 데 사용되는 문자열입니다. 물리적 키처럼 데이터를 잠그고(암호화) 올바른 키를 가진 사람만 잠금 해제(암호 해독)할 수 있습니다.
암호화에는 대칭 암호화와 비대칭 암호화의 두 가지 주요 유형이 있습니다. 비대칭 암호화는 공개 키 암호화라고도 합니다.
대칭 암호화에서는 키가 하나만 있으며, 모든 통신 당사자는 암호화와 암호 해독 모두에 동일한 (비밀) 키를 사용합니다. 비대칭, 즉 공개 키 암호화에서는 두 개의 키가 있어서 하나의 키는 암호화에 사용되고 다른 키는 암호 해독에 사용됩니다. 암호 해독 키는 비공개로 유지되며(따라서 "개인 키"라는 이름), 암호화 키는 누구나 사용할 수 있도록 공개적으로 공유됩니다(따라서 "공개 키"라는 이름). 비대칭 암호화는 TLS(흔히 SSL이라고 불림)의 기본 기술입니다.
개인정보 보호: 암호화는 의도된 수신자 또는 정당한 데이터 소유자를 제외하고는 누구도 저장된 통신이나 데이터를 읽을 수 없도록 합니다.이를 통해 공격자, 광고 네트워크, 인터넷 서비스 공급자, 그리고 경우에 따라 정부에서 중요한 데이터를 가로채서 읽는 것을 방지하여 사용자 개인 정보를 보호할 수 있습니다.
보안: 암호화는 데이터가 전송 중이거나 미사용 상태이거나 상관없이 데이터 유출을 방지하는 데 도움이 됩니다.회사 장치를 분실하거나 도난당해도 하드 드라이브가 제대로 암호화되어 있으면 해당 장치의 데이터는 안전하게 보호됩니다.마찬가지로, 암호화된 통신을 통해 통신 당사자는 데이터 유출 없이 중요한 데이터를 교환할 수 있습니다.
데이터 무결성: 암호화는 또한 경로상 공격과 같은 악의적인 행동을 방지하는 데 도움이 됩니다.인터넷을 통해 데이터를 전송할 때 암호화를 하면 수신자가 수신한 내용을 도중에 보거나 변조하지 못하게 됩니다.
규제: 이러한 이유로 많은 업계 및 정부 규정에서는 사용자 데이터를 취급하는 기업은 해당 데이터를 암호화하여 보관하도록 요구합니다.암호화를 요구하는 규제 및 규정 준수 표준의 예로는 HIPAA, PCI-DSS, GDPR이 있습니다.
암호화 알고리즘은 데이터를 암호 텍스트로 변환하는 데 사용되는 방법입니다. 알고리즘은 암호화 키를 사용하여 예측 가능한 방식으로 데이터를 변경하므로 암호화된 데이터가 무작위로 표시되더라도 암호 해독 키를 사용하여 다시 일반 텍스트로 되돌릴 수 있습니다.
일반적으로 사용되는 대칭 암호화 알고리즘은 다음과 같습니다.
일반적으로 사용되는 비대칭 암호화 알고리즘은 다음과 같습니다.
무차별 대입 공격은 해독 키를 모르는 공격자가 수백만 또는 수십억 번의 추측을 통해 키를 알아내려고 시도하는 것입니다.최신 컴퓨터에서는 무차별 암호 대입 공격이 훨씬 더 빠르므로 암호화는 매우 강력하고 복잡해야 합니다.대부분의 최신 암호화 기법은 고품질 비밀번호와 결합되어 무차별 대입 공격에 저항력이 있지만, 컴퓨터가 점점 더 강력해짐에 따라 향후 이러한 공격에 취약해질 수 있습니다.강력하지 않은 비밀번호는 여전히 무차별 대입 공격에 취약합니다.
암호화는 다양한 기술의 기본이지만, 특히 HTTP 요청과 응답을 안전하게 유지하는 데 중요합니다. 이를 담당하는 프로토콜은 하이퍼텍스트 전송 프로토콜 보안(HTTPS)입니다. HTTP 대신 HTTPS를 통해 제공되는 웹 사이트는 주소 표시줄에 보안 자물쇠로 표시되는 http:// 대신 https://로 시작하는 URL을 사용합니다.
HTTPS는 전송 계층 보안(TLS)이라는 암호화 프로토콜을 사용합니다.과거에는 보안 소켓 계층(SSL)이라는 이전 암호화 프로토콜이 표준이었지만, TLS가 SSL을 대체했습니다.HTTPS를 구현하는 웹 사이트에서는 원본 서버에 TLS 인증서 를 설치합니다.TLS 및 HTTPS에 대해 자세히 알아보세요.
인터넷 보안을 더욱 안전하게 유지하기 위해 Cloudflare에서는 Cloudflare 서비스를 사용하는 모든 웹 사이트에 무료 TLS/SSL 암호화를 제공합니다.Cloudflare의 Universal SSL에 대해 자세히 알아보기.