모든 강의를 무료로 볼 수 있어요. 회원가입 없이도 학습 가능합니다.

23강 / 전체 25강

암호 알고리즘과 서비스 공격 유형

10분 읽기 조회 0

DES·AES·SEED·ARIA 수치, RSA·DH·ECC와 해시, 키 개수·RSA 계산, SYN 플러딩·Smurf·Land·Teardrop·DRDoS와 스푸핑·파밍·악성코드 구분

🎯 이 강의 학습 목표

22강의 보안 약점 목록에 되풀이해 나온 처방이 「안전한 암호 알고리즘을 써라」였습니다. 이 강은 그 암호의 실체와, 암호만으로는 막지 못하는 서비스 공격을 한 번에 정리합니다. 두 주제 모두 「이름 ↔ 특징」 짝짓기가 핵심입니다.

  • 대칭키·공개키·해시를 보안 목표(기밀성·무결성·인증)에 맞게 고르고 DES·AES·SEED·ARIA의 수치를 답할 수 있다.
  • RSA·Diffie-Hellman·ECC의 기반 문제와 용도, 키 개수와 작은 수의 RSA를 계산할 수 있다.
  • SYN 플러딩·Smurf·Ping of Death·Land·Teardrop, DDoS·DRDoS, 스니핑·스푸핑, 피싱·파밍, 악성코드를 특징으로 구별할 수 있다.

출제기준 위치: [4과목 정보시스템 구축관리 › 2. 소프트웨어 개발 보안 구축 › 2. SW개발 보안 구현 › 암호 알고리즘] · [3. 시스템 보안 구축 › 1. 시스템 보안 설계 › 서비스 공격 유형]

💡 대칭키 암호 — 같은 키로 잠그고 연다

암호화·복호화에 같은 키를 쓰면 대칭키, 공개키·개인키 쌍을 쓰면 공개키(비대칭키) 암호입니다. 대칭키는 빠르지만 키를 안전하게 건네는 분배 문제가 있고, 공개키는 분배가 쉽지만 연산이 무겁습니다. 그래서 TLS 같은 실제 시스템은 공개키 기법으로 대칭키를 합의한 뒤 데이터는 대칭키로 암호화하는 하이브리드 방식을 씁니다. n명이 1:1로 비밀 통신할 때 필요한 키는 대칭키 n(n−1)/2개, 공개키는 사람마다 한 쌍이라 2n개입니다.

알고리즘블록키 길이라운드구조·비고
DES64비트64비트 중 유효 56비트16Feistel, 표준(FIPS 46-3) 2005년 철회
3DES64비트168비트(보안 강도 112비트)DES×3EDE, NIST는 2023년 이후 새 암호화 불허
AES128비트128·192·256비트10·12·14SPN(Rijndael), FIPS 197
SEED128비트128비트16Feistel, KISA 개발, RFC 4269
ARIA128비트128·192·256비트12·14·16SPN 계열, KS X 1213, RFC 5794

블록을 좌우로 나눠 한쪽에 라운드 함수를 적용하고 자리를 바꾸는 것이 Feistel 구조, 치환과 확산 계층을 번갈아 블록 전체에 적용하는 것이 SPN 구조입니다. AES는 키가 길어지면 라운드만 늘고 블록은 늘 128비트입니다. 블록 암호는 운영 모드와 함께 쓰는데, 같은 평문 블록이 같은 암호문이 되는 ECB는 패턴을 드러내므로 피하고 CBC·CTR·GCM(암호화와 무결성 검증을 함께)을 씁니다. 키 스트림을 XOR하는 방식은 스트림 암호입니다.

💡 공개키 암호와 해시 — 목적이 다른 도구들

RSA는 큰 수의 소인수분해가 어렵다는 점에 기댑니다. n = p × q, φ(n) = (p−1)(q−1)이고, 공개키 (n, e)로 c = me mod n, 개인키 d(e × d ≡ 1 mod φ(n))로 m = cd mod n을 계산합니다. 반대로 개인키로 서명하고 공개키로 검증하면 전자서명입니다. Diffie-Hellman은 데이터를 암호화하지 않는 키 교환 방법으로 이산대수 문제에 기대며, 상대를 인증하지 않으면 중간자 공격(MITM)에 당합니다. ECC는 타원곡선 이산대수를 이용해 짧은 키로 같은 강도를 내며, NIST SP 800-57은 128비트 보안 강도를 RSA 3072비트·타원곡선 256~383비트와 같은 수준으로 봅니다. 서명 전용인 DSA도 이산대수 기반입니다.

p, q, e, m = 3, 11, 7, 4
n, phi = p * q, (p - 1) * (q - 1)
d = pow(e, -1, phi)            # e*d ≡ 1 (mod phi)
c = pow(m, e, n)
print("n =", n, "phi =", phi, "d =", d, "c =", c, "복호 =", pow(c, d, n))
n = 33 phi = 20 d = 3 c = 16 복호 = 4

7 × 3 = 21 = 20 + 1이므로 d = 3이고, 47 = 16384 ≡ 16 (mod 33)이 암호문입니다. 163 = 4096 ≡ 4 (mod 33)로 평문이 돌아옵니다.

해시는 키가 없는 일방향 함수라 「암호화」가 아니며 복호화도 없습니다. 무결성 확인의 출발점이지만 누가 만든 값인지까지 보장하려면 비밀키를 섞는 HMAC이나 전자서명이 필요합니다. SHA-2(FIPS 180-4)는 SHA-224·256·384·512 계열로 숫자가 출력 비트 수이고, SHA-3(FIPS 202, 2015)는 Keccak 기반 스펀지 구조로 SHAKE128·256도 정의합니다. MD5(128비트)는 2004년 충돌이 공개되었고, SHA-1(160비트)은 2017년 실제 충돌(SHAttered)이 공개되어 NIST가 2030년 말까지 퇴출하기로 했습니다. 비밀번호 저장에는 사용자마다 다른 솔트와 PBKDF2처럼 일부러 느린 키 유도 함수를 씁니다.

💡 서비스 공격 유형 — 무엇이 비정상인가

서비스 거부(DoS)는 자원을 고갈시키는 방식과 비정상 패킷으로 구현 결함을 찌르는 방식으로 나뉩니다. 고전 공격 이름은 「비정상 특징」으로 외웁니다.

공격비정상 특징대응
SYN 플러딩응답 없는 출발지로 SYN 대량 전송 → 반쯤 열린 연결 대기열 고갈SYN 쿠키, 대기 시간 단축
Smurf출발지를 피해자로 위조한 ICMP Echo를 브로드캐스트 주소로브로드캐스트 향 ICMP 차단
Ping of DeathIP 최대 길이 65,535바이트를 넘는 ICMP 조각패치, 비정상 크기 차단
Land출발지 주소·포트 = 목적지 주소·포트자기 자신 출발 패킷 차단
TeardropIP 조각 오프셋을 겹치게 조작운영체제 패치
느린 HTTP(Slowloris)헤더·본문을 아주 천천히 보내 연결 점유수신 시간·최소 속도 제한

DDoS는 C&C 서버가 조종하는 봇넷(좀비 PC)이 함께 공격하는 것이고, DRDoS는 출발지를 피해자로 위조한 작은 요청을 DNS·NTP 같은 공개 UDP 서버에 보내 큰 응답이 피해자에게 쏟아지게 하는 반사·증폭 공격입니다. 대응은 위조 패킷을 걸러 내는 인그레스 필터링(BCP 38)과 불필요하게 열린 UDP 서비스 차단입니다.

패킷을 몰래 엿보는 스니핑은 수동적, 주소·신원을 위조하는 스푸핑(ARP·IP·DNS)은 능동적 공격입니다. 인증을 마친 세션을 가로채면 세션 하이재킹입니다. 기관을 사칭한 메시지로 정보를 입력하게 하면 피싱, 문자메시지면 스미싱, 올바른 주소를 입력해도 DNS·hosts 조작으로 가짜 사이트에 보내면 파밍입니다. 악성코드는 숙주가 필요한 바이러스, 스스로 복제해 네트워크로 퍼지는 웜, 정상 프로그램으로 위장하고 자기 복제가 없는 트로이 목마로 가릅니다. 장기간 잠복하며 정보를 빼내는 공격이 APT입니다.

⚠️ 시험에 나오는 함정

  • AES 키 vs 블록: 키는 128·192·256비트, 블록은 늘 128비트입니다. 「AES-256은 256비트 블록」은 틀립니다.
  • SEED vs ARIA: SEED는 키 128비트 하나·Feistel 16라운드, ARIA는 키 3종·12/14/16라운드입니다. 128비트 블록이라고 모두 SPN은 아닙니다.
  • DH는 키 교환 전용이라 그 자체로 암호화·서명을 하지 않습니다.
  • 암호화 vs 서명: 기밀성은 받는 사람의 공개키로 암호화, 서명은 보내는 사람의 개인키로 만듭니다.
  • Smurf vs Ping of Death: 둘 다 ICMP지만 브로드캐스트·위조냐, 크기 초과냐로 가릅니다. Land vs Teardrop은 출발지=목적지냐, 조각 겹침이냐입니다.
  • 피싱 vs 파밍: 사용자 실수(링크 클릭)가 필요하면 피싱, 정상 주소를 입력해도 당하면 파밍입니다.

📝 핵심 요약 — 암기표

분류꼭 기억할 것
대칭키DES 64/56/16 Feistel, AES 128블록·10/12/14 SPN, SEED 128/128/16 Feistel, ARIA 12/14/16
공개키RSA 소인수분해, DH 이산대수·키 교환·MITM, ECC 짧은 키
해시SHA-2·SHA-3(스펀지), MD5·SHA-1 비권장, 솔트+느린 KDF
계산대칭키 n(n−1)/2, 공개키 2n, d = e−1 mod φ(n)
DoSSYN 플러딩(대기열), Smurf(브로드캐스트), Ping of Death(65,535 초과), Land(출발지=목적지), Teardrop(조각 겹침)
분산·기타DDoS 봇넷, DRDoS 반사·증폭, 스니핑 수동·스푸핑 능동, 피싱·스미싱·파밍, 바이러스·웜·트로이 목마

이 주제의 자세한 이론과 실전문제 8문항은 필기+실기 과정 혜택 교재 「정보처리기사 필기 완전정복 50강」의 45·46강에서 다룹니다.

다음 24강 「인증·접근통제·로그 분석·취약점 분석」에서는 공격을 막는 쪽의 설계와, 그 설계가 지켜지는지 확인하는 로그·보안 솔루션·취약점 진단을 다룹니다.

📋 확인 문제

  1. 30명이 서로 1:1로 비밀 통신을 하려 한다. 대칭키 방식과 공개키 방식에서 필요한 키의 개수를 바르게 짝지은 것은?
    ① 대칭키 870개, 공개키 30개 ② 대칭키 435개, 공개키 60개 ③ 대칭키 60개, 공개키 435개 ④ 대칭키 435개, 공개키 30개
  2. RSA에서 p = 3, q = 11, 공개 지수 e = 7을 골랐다. 개인 지수 d(가장 작은 양의 정수)와, 평문 m = 4의 암호문 c를 바르게 짝지은 것은?
    ① d = 7, c = 4 ② d = 3, c = 4 ③ d = 13, c = 16 ④ d = 3, c = 16
  3. 대칭키 블록 암호에 대한 설명으로 옳지 않은 것은?
    ① AES-256은 256비트 블록을 14라운드로 처리한다. ② SEED는 128비트 블록·128비트 키의 Feistel 구조 암호이다. ③ DES의 유효 키 길이는 56비트이다. ④ ARIA는 키 길이에 따라 12·14·16라운드를 수행한다.
  4. 공격자가 IP 조각(fragment)의 오프셋 값을 서로 겹치도록 조작해 보내, 수신 측이 재조립하는 과정에서 오류를 일으키게 하는 공격은?
    ① Land ② Smurf ③ Teardrop ④ SYN 플러딩
  5. 사용자가 즐겨찾기에서 은행 주소를 정확히 열었는데도, 악성코드가 PC의 hosts 파일을 바꿔 놓아 똑같이 생긴 가짜 사이트로 접속되었다. 이 공격은?
    ① 스미싱 ② 파밍 ③ 스니핑 ④ 피싱

✅ 정답과 해설

  1. 정답 ② — 대칭키는 쌍마다 하나라 30 × 29 ÷ 2 = 435개, 공개키는 사람마다 공개키·개인키 한 쌍이라 2 × 30 = 60개입니다. ①은 2로 나누지 않은 값, ④는 공개키를 쌍 수로만 센 값, ③은 둘을 뒤바꾼 것입니다.
  2. 정답 ④ — n = 33, φ(n) = 2 × 10 = 20이고, 7 × 3 = 21 ≡ 1 (mod 20)이므로 d = 3입니다. c = 47 mod 33 = 16384 mod 33 = 16이며, 163 mod 33 = 4로 복호화가 확인됩니다(python으로 실행 확인).
  3. 정답 ① — AES의 블록은 키 길이와 관계없이 항상 128비트입니다. AES-256은 256비트 키로 14라운드를 수행할 뿐입니다. ②③④는 모두 표준 수치와 일치하는 옳은 설명입니다.
  4. 정답 ③ — 조각 오프셋을 겹치게 만드는 것이 Teardrop입니다. Land는 출발지와 목적지가 같은 패킷, Smurf는 브로드캐스트 주소로 보내는 위조 ICMP, SYN 플러딩은 반쯤 열린 연결로 대기열을 채우는 공격입니다.
  5. 정답 ② — 사용자가 올바른 주소로 접속했는데도 DNS·hosts 같은 이름 해석을 조작해 가짜 사이트로 보내는 것이 파밍입니다. 피싱·스미싱은 사칭 메시지의 링크를 누르게 하는 수법이고, 스니핑은 패킷 도청입니다.

📚 참고 자료

관련 주제

  • 암호 알고리즘
  • AES
  • SEED
  • ARIA
  • RSA
  • 해시 함수
  • 서비스 거부 공격
  • DRDoS
  • Teardrop
  • 파밍
  • 자격증
  • 자격증 강의
  • 정보처리기사 필기 25강 — 2027 출제기준 핵심 요약
  • 무료강의
  • 무료 온라인 강의
  • NUGUNA
  • 누구나

📚 시리즈 전체 공유

정보처리기사 필기 25강 — 2027 출제기준 핵심 요약

이 강의가 속한 시리즈는 총 25강, 모두 무료입니다. 처음부터 배우려는 동료에게 시리즈 전체를 알려 주세요.

댓글

0/1000

불러오는 중...