0Pricing
Ethical Hacking Academy · 강의

대칭 암호와 비대칭 암호

AES와 RSA

대칭 암호와 비대칭 암호은(는) CoddyKit의 무료 Ethical Hacking Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ethical Hacking Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

두 가지 암호화 계열

현대의 암호화는 키가 작동하는 방식에 따라 두 가지 계열로 나뉩니다.

  • 대칭: 같은 키로 암호화하고 복호화합니다. 예: AES
  • 비대칭: 키 쌍을 사용하며, 한 키로 암호화하고 다른 키로 복호화합니다. 예: RSA

실제 시스템은 두 방식을 결합합니다. 두 방식의 장단점을 이해하는 것은 암호 시스템을 공격하고 방어하는 데 필수적입니다.

대칭 암호화

대칭 암호화에서는 양쪽이 하나의 비밀 키를 공유합니다. 같은 키로 데이터를 잠그고 해제합니다.

  • 장점: 매우 빠르므로 대량의 데이터에 적합합니다.
  • 단점: 먼저 키를 안전하게 공유해야 합니다. 이것이 키 분배 문제입니다.

AES

AES(고급 암호화 표준)는 대표적인 대칭 암호입니다. 128비트 블록을 처리하는 블록 암호이며, 키 크기는 128비트, 192비트 또는 256비트입니다.

AES는 빠르고 최신 CPU에서 하드웨어 가속을 지원하며, 올바르게 사용하면 안전한 것으로 간주됩니다. AES-256은 높은 보안이 필요한 경우 일반적으로 선택됩니다.

openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc
# Prompts for a password used to derive the key

블록 암호 운용 모드

블록 암호로 한 블록보다 큰 데이터를 처리하려면 운용 모드가 필요합니다.

  • ECB: 안전하지 않습니다. 동일한 블록이 동일한 암호문을 생성하여 패턴이 노출됩니다. 사용하지 마십시오.
  • CBC: 초기화 벡터(IV)를 사용하여 블록을 연결합니다. 더 낫지만 주의해서 사용해야 합니다.
  • GCM: 암호화와 인증을 모두 제공합니다(AEAD). 현대적으로 권장되는 모드입니다.

ECB 펭귄

유명한 시연 사례가 있습니다. 펭귄 이미지를 AES의 ECB 모드로 암호화해도 펭귄의 윤곽이 그대로 나타납니다. ECB는 동일한 평문 블록을 동일한 암호문 블록으로 암호화하므로 구조가 노출됩니다.

따라서 보안 평가 중에는 ECB를 발견 사항으로 식별해야 합니다. 암호 자체는 강력하지만 모드가 약점인 것입니다.

비대칭 암호화

비대칭 암호화는 수학적으로 연결된 키 쌍을 사용합니다.

  • 공개 키: 자유롭게 공유합니다. 누구나 이 키로 사용자에게 암호문을 보낼 수 있습니다.
  • 개인 키: 비밀로 유지합니다. 이 키로 복호화할 수 있는 사람은 사용자뿐입니다.

이 방식은 키 분배 문제를 해결합니다. 보안을 해치지 않고 공개 키를 공개할 수 있기 때문입니다.

RSA

RSA는 대표적인 비대칭 알고리즘입니다. RSA의 보안은 두 큰 소수의 곱을 소인수분해하기 어렵다는 점에 기반합니다.

오늘날에는 2048비트 키가 일반적이며, 3072비트나 4096비트 키를 사용하면 더 큰 여유를 확보할 수 있습니다. RSA는 AES보다 느리므로 대량의 데이터를 직접 암호화하는 데는 거의 사용되지 않습니다.

openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -pubout -out public.pem

암호화와 서명 비교

비대칭 키는 서로 다른 두 가지 용도로 사용됩니다.

  • 기밀성: 수신자의 공개 키로 암호화하면 수신자의 개인 키로만 복호화할 수 있습니다.
  • 인증(서명): 자신의 개인 키로 서명하면 누구나 사용자의 공개 키로 검증하여 사용자가 보낸 것임을 확인할 수 있습니다.

이 두 목적에서는 키가 서로 반대되는 역할로 사용된다는 점에 주의하십시오.

하이브리드 암호화

TLS와 같은 실제 프로토콜은 두 방식을 결합합니다. 과정은 다음과 같습니다.

  • 느린 비대칭 암호를 한 번 사용하여 무작위 세션 키를 안전하게 교환합니다.
  • 해당 세션 키와 빠른 대칭 AES를 사용하여 실제 데이터를 처리합니다.

이렇게 하면 대칭 암호화의 속도와 비대칭 암호화의 편리한 키 분배를 모두 얻을 수 있습니다.

키 교환: Diffie-Hellman

Diffie-Hellman을 사용하면 두 당사자가 비밀 자체를 전송하지 않고도 안전하지 않은 채널을 통해 공유 비밀에 합의할 수 있습니다. 이는 현대 TLS 키 교환의 기반입니다.

타원 곡선 변형(ECDH, ECDSA)은 훨씬 더 작은 키로 RSA와 동일한 수준의 보안을 제공하므로 더 빠르고 점점 기본 방식으로 사용되고 있습니다.

일반적인 암호 취약점

강력한 알고리즘도 잘못 사용하면 무너집니다. 다음 발견 사항을 살펴보십시오.

  • 평문 패턴을 노출하는 ECB 모드
  • CBC 또는 GCM에서 재사용되거나 예측 가능한 IV/논스
  • 소스 코드나 구성 파일에 하드코딩된 키
  • 소인수분해가 가능한 작은 RSA 키(512비트 또는 1024비트)
  • 한 번에 한 바이트씩 평문을 드러내는 패딩 오라클 동작

수학이 깨지는 경우는 드뭅니다. 대개 문제가 되는 것은 구현입니다.

빠른 확인

공개 키와 개인 키에 대한 이해를 적용해 보십시오.

요약

두 암호화 계열을 비교해 보았습니다.

  • 대칭(AES): 공유 키 하나를 사용하므로 빠르지만 키 분배가 어렵습니다. GCM 모드를 사용하고 ECB는 절대 사용하지 마십시오.
  • 비대칭(RSA, ECC): 공개 키와 개인 키의 쌍을 사용하여 키 분배 문제를 해결하지만 느립니다.
  • 수신자의 공개 키로 암호화하고 자신의 개인 키로 서명하십시오.
  • 하이브리드 시스템과 Diffie-Hellman은 TLS에서 두 방식의 장점을 결합합니다.

다음에서는 실제 환경에서 해시를 식별하고 크래킹하는 방법을 살펴보겠습니다.

자주 묻는 질문

“대칭 암호와 비대칭 암호” 강의는 무료인가요?

네 — “대칭 암호와 비대칭 암호” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ethical Hacking Academy 강의 전체를 잠금 해제할 수 있습니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“대칭 암호와 비대칭 암호”에서 뭘 배우나요?

AES와 RSA 브라우저에서 직접 실행하는 실습 코드로 Ethical Hacking Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Ethical Hacking Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Ethical Hacking Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“대칭 암호와 비대칭 암호” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Ethical Hacking Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Ethical Hacking Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 인코딩과 암호화 비교
  2. 해싱
  3. 대칭 암호와 비대칭 암호
  4. 해시 크래킹
← Ethical Hacking Academy(으)로 돌아가기