암호화는 어떻게 작동합니까? 암호화는 실제로 안전합니까?

암호화는 어떻게 작동합니까? 암호화는 실제로 안전합니까?

많은 사람들에게 “암호화”라는 단어는 아마도 핵 발사 코드나 다른 액션 영화의 스테이플로 손목에 수갑이 채워진 서류 가방을 들고 있는 악당의 제임스 본드 같은 이미지를 불러일으킬 것입니다.

실제로 모든 사람이 매일 암호화 기술을 사용합니다. 대부분의 사람들은 “방법” 또는 “이유”를 이해하지 못하지만 데이터 보안이 중요하고 암호화가 그 핵심 부분이라는 것은 분명합니다.

우리가 매일 상호 작용하는 거의 모든 컴퓨팅 장치는 암호화를 사용합니다. 그렇다면 암호화는 어떻게 작동하며 암호화는 안전한가요?

암호화란 무엇입니까?

암호화는 사용자가 다른 사람에게 정보를 숨길 수 있도록 하는 현대적인 형태의 암호화입니다.

암호화는 암호라고 하는 복잡한 알고리즘을 사용하여 일반 데이터(일반 텍스트라고 함)를 해독할 특수 키가 없는 사용자가 읽을 수 없는 일련의 무작위 문자(암호문이라고 함)로 변환합니다. 키를 소유한 사람은 데이터를 복호화하여 암호문의 임의 문자열이 아닌 평문을 다시 볼 수 있습니다.

가장 널리 사용되는 두 가지 암호화 방법은 공개 키(비대칭) 암호화와 개인 키(대칭) 암호화입니다.

두 암호화 방법 모두 사용자가 데이터를 암호화하여 다른 사람에게 숨긴 다음 암호를 해독하여 원본 일반 텍스트에 액세스할 수 있도록 합니다. 그러나 암호화와 암호 해독 사이의 단계를 처리하는 방법이 다릅니다.

공개키 암호화

공개 키 또는 비대칭 암호화는 수신자의 공개 키와 (수학적으로) 일치하는 개인 키를 사용합니다.

공개 키 암호화 설명자

예를 들어:

  • Joe와 Karen은 모두 상자의 열쇠를 가지고 있습니다.
  • Joe는 공개 키를 가지고 있고 Karen은 일치하는 개인 키를 가지고 있습니다.
  • Joe는 자신의 공개 키를 사용하여 상자의 잠금을 해제하고 그 안에 물건을 넣을 수 있지만 이미 상자에 있는 항목을 볼 수 없으며 아무 것도 꺼낼 수 없습니다.
  • Karen의 개인 키는 상자를 열고 내부의 모든 항목을 보고 적합하다고 생각하는 대로 제거할 수 있습니다.

Karen은 상자에서 항목을 보고 제거할 수 있지만 Joe가 볼 수 있도록 상자에 새 항목을 넣을 수는 없습니다.

이를 위해 Joe와 Karen은 새 키 세트를 새 상자로 교체해야 합니다. 이 경우 Karen은 공개 키를 보유하고 상자의 잠금을 해제하여 새 항목을 넣을 수 있으며 Joe의 개인 키를 사용하면 상자를 열고 항목을 볼 수 있습니다.

개인키 암호화

개인 키(또는 대칭) 암호화는 키의 용도에서 공개 키 암호화와 다릅니다. 통신하려면 여전히 두 개의 키가 필요하지만 이러한 각 키는 이제 기본적으로 동일합니다.

개인 키 암호화 설명자

예를 들어 Joe와 Karen은 둘 다 앞서 언급한 상자의 키를 가지고 있지만 이 시나리오에서는 키가 동일한 작업을 수행합니다. 두 사람 모두 이제 상자에서 항목을 추가하거나 제거할 수 있습니다.

디지털 방식으로 말하면 Joe는 이제 메시지를 암호화하고 자신의 키로 해독할 수 있습니다. Karen은 그녀와 똑같이 할 수 있습니다.

이것은 개인 키 암호화를 고려하는 단순화된 방법입니다. 종종 온라인 사이트와 서비스는 공개 키와 개인 키 암호화를 모두 사용하여 다양한 기능을 보호하고 그 과정에서 보안 계층을 구축합니다.

암호화의 간략한 역사

암호화에 대해 이야기할 때 모든 최신 암호화 기술이 암호화에서 파생된다는 점을 구분하는 것이 중요합니다.

본질적으로 암호화는 코드를 생성하고 해독하는 행위입니다. 전자 암호화는 더 큰 체계에서 비교적 새롭지만 암호화는 고대 그리스로 거슬러 올라가는 과학입니다.

싸이테일 암호화 장치
이미지 크레디트: Luringen/ 위키미디어

그리스인들은 암호화를 사용하여 적과 일반 대중의 눈에서 민감한 데이터를 서면 형태로 숨긴 최초의 사회였습니다.

그러나 원시적인 암호화 방법을 개발한 것은 그리스인만이 아니었습니다. 로마인들은 “카이사르의 암호”로 알려지게 된 암호를 소개함으로써 그 뒤를 따랐습니다. 이 암호는 알파벳 아래로 이동한 다른 문자를 한 문자로 대체하는 것과 관련이 있습니다.

예를 들어 키가 3의 오른쪽 이동과 관련된 경우 문자 A는 D가 되고 문자 B는 E가 되는 식입니다. 카이사르 암호는 우리 중 많은 사람들이 어렸을 때 처음으로 접하는 암호 방식 중 하나입니다.

최신 암호화 기술의 3가지 예

최신 암호화 기술은 더 정교한 알고리즘과 더 큰 키 크기를 사용하여 암호화된 데이터를 더 잘 숨깁니다. 키 크기가 클수록 암호문을 성공적으로 해독하기 위해 무차별 암호 대입 공격을 실행해야 하는 가능한 조합이 더 많아집니다.

키 크기가 계속해서 개선됨에 따라 무차별 대입 공격을 사용하여 암호화를 해독하는 데 걸리는 시간이 급증합니다.

예를 들어 56비트 키와 64비트 키는 값이 비슷해 보이지만 실제로는 64비트 키가 56비트 키보다 크랙하기가 256배 더 어렵습니다.

대부분의 최신 암호화는 최소 128비트 키를 사용하며 일부는 256비트 키 이상을 사용합니다. 128비트 키를 크래킹하려면 339,000,000,000,000,000,000,000,000,000,000,000개 이상의 가능한 키 조합을 테스트하기 위해 무차별 대입 공격이 필요합니다.

가장 큰 암호화 언어 오명 중 하나는 암호화 유형(암호화 알고리즘)과 각각의 강점 사이의 차이에서 비롯됩니다.

  • 암호화 유형: 암호화 유형은 암호화 완료 방법과 관련이 있습니다. 예를 들어, 비대칭 암호화는 인터넷에서 가장 일반적인 암호화 유형 중 하나입니다.
  • 암호화 알고리즘: 암호화 의 강도를 논의할 때 특정 암호화 알고리즘에 대해 이야기합니다. 알고리즘은 Triple DES, RSA 또는 AES와 같은 흥미로운 이름의 출처입니다. 암호화 알고리즘 이름에는 종종 AES-128과 같은 숫자 값이 수반됩니다. 숫자는 암호화 키 크기를 나타내며 알고리즘의 강도를 추가로 정의합니다.

암호화에 대한 지식을 확장하는 데 도움이 되는 몇 가지 암호화 용어를 숙지해야 합니다.

강도와 보안으로 인해 선호되는 몇 가지 일반적인 암호화 알고리즘이 있습니다. 생각보다 암호화, 특히 일부 이름에 대해 더 많이 알고 있을 것입니다.

1. 데이터 암호화 표준(DES)

데이터 암호화 표준은 원래 미국 정부 암호화 표준입니다. 원래는 깨지지 않는 것으로 생각되었지만 컴퓨팅 성능의 증가와 하드웨어 비용의 감소로 인해 56비트 암호화는 기본적으로 쓸모가 없게 되었습니다. 이것은 민감한 데이터와 관련하여 특히 그렇습니다.

2. RSA

RSA는 최초의 공개 키 암호화 알고리즘 중 하나입니다. 위에서 설명한 단방향 비대칭 암호화 기능을 사용합니다(또한 위의 연결된 암호화 용어 부분에서).

RSA는 탁월한 암호화 알고리즘입니다. SSH, OpenPGP, S/MIME 및 SSL/TLS를 포함한 많은 프로토콜의 주요 기능입니다. 또한 브라우저는 RSA를 사용하여 안전하지 않은 네트워크에서 보안 통신을 설정합니다.

RSA는 키 길이 때문에 매우 인기가 있습니다. RSA 키는 일반적으로 1024 또는 2048비트 길이입니다. 그러나 보안 전문가들은 머지않아 1024비트 RSA가 해킹되어 수많은 정부 및 비즈니스 조직이 더 강력한 2048비트 키로 마이그레이션할 것이라고 생각합니다. 흥미롭게도 RSA 개발자들은 처음에 1024비트 RSA가 2006년과 2010년 사이에 해킹될 것이라고 생각했지만 10년 이상이 지난 후에도 그대로 남아 있습니다.

3. 고급 암호화 표준(AES)

AES(Advanced Encryption Standard)는 이제 신뢰할 수 있는 미국 정부 암호화 표준입니다.

128, 192 또는 256비트의 세 가지 크기로 키를 생성할 수 있는 대칭 키 알고리즘입니다. 또한 각 키 크기에 대해 서로 다른 암호화 라운드가 있습니다. “라운드”는 평문을 암호문으로 바꾸는 과정입니다. 128비트의 경우 10개의 라운드가 있습니다. 192비트는 12라운드이고 256비트는 14라운드입니다.

AES는 현재 사용 가능한 가장 강력한 암호화 형식 중 하나입니다. 제품에서 “군사급 암호화”를 읽으면 AES를 의미합니다. AES에 대한 이론적인 공격이 있지만 모두 현재 시대에 실현 불가능한 수준의 컴퓨팅 성능과 데이터 스토리지가 필요합니다. 양자 시대에 AES 암호화가 어떻게 유지되는지는 두고 봐야겠지만 많은 사람들은 AES-256이 양자 저항 암호화 알고리즘이라고 믿고 있습니다.

암호화는 사용하기에 안전한가요?

분명히 대답은 ‘예’ 입니다.

대부분의 최신 암호화 기술을 해독하는 데 드는 시간, 에너지 사용량 및 계산 비용으로 인해 (키 없이) 암호화를 해제하려는 시도는 상대적으로 말해서 쓸데없는 비용이 많이 드는 작업입니다.

즉, 암호화에는 기술의 힘 밖에 있는 취약점이 있습니다.

  • 백도어: 암호화가 아무리 안전하더라도 누군가 코드에 백도어를 삽입하면 누군가 보안을 무효화할 수 있습니다. 암호화 백도어는 전 세계 정부의 끊임없는 화두이며 테러 공격 이후 특히 뜨거운 주제가 되었습니다. 정부가 암호화를 해독하도록 허용해서는 안 되는 여러 가지 이유가 있습니다.
  • 개인 키 처리: 최신 키 암호화는 매우 안전합니다. 그러나 인적 오류는 여전히 대부분의 보안 문제에서 가장 큰 요인입니다. 개인 키를 처리하는 오류로 인해 외부 당사자에게 공개되어 암호화가 쓸모 없게 될 수 있습니다.
  • 향상된 컴퓨팅 성능: 현재 컴퓨팅 성능으로는 대부분의 최신 암호화 키를 해독할 수 없습니다. 즉, 처리 능력이 증가함에 따라 암호화 기술은 앞서 나가기 위해 보조를 맞춰야 합니다.
  • 정부 압력: 암호화 백도어와 함께 일부 정부에서는 구금된 시민이 개인 암호화 키를 넘겨주도록 강제하는 강제 암호 해독법을 시행합니다. 주요 공개 법률의 성격은 국가마다 다릅니다. 미국에서는 수정헌법 제5조가 증인을 자백으로부터 보호하여 필수 키 공개를 불법으로 만듭니다.

암호화를 사용해야 합니까?

실제로 암호화를 사용해야 하는지 여부는 중요하지 않습니다. 매일 암호화를 사용하여 온라인 뱅킹에 액세스하고, WhatsApp에서 메시지를 보내고, 도청 없이 안전하게 웹사이트에 액세스합니다.

고려해야 할 더 좋은 질문은 “암호화 없이는 어떻게 될까요?”입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다