Skip to content

필사 모드: [컴퓨터 네트워크] 19. 네트워크 보안: 암호학부터 방화벽까지

한국어
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.
원문 렌더가 준비되기 전까지 텍스트 가이드로 표시합니다.

네트워크 보안: 암호학부터 방화벽까지

네트워크 보안은 인터넷을 통해 전송되는 데이터의 기밀성, 무결성, 인증, 가용성을 보장하는 기술입니다.

이 글에서는 암호학의 기본 개념(대칭키, 공개키), 메시지 무결성과 전자서명, 인증 프로토콜, SSL/TLS, IPsec, 방화벽, 그리고 침입 탐지 시스템(IDS)을 살펴봅니다.

1. 네트워크 보안의 4대 요소

네트워크 보안의 핵심 요소

===========================

1. 기밀성 (Confidentiality)

- 의도된 수신자만 메시지를 읽을 수 있음

- 구현: 암호화 (Encryption)

2. 무결성 (Integrity)

- 메시지가 전송 중 변조되지 않았음을 보장

- 구현: 해시, MAC, 전자서명

3. 인증 (Authentication)

- 통신 상대방의 신원을 확인

- 구현: 인증 프로토콜, 인증서

4. 가용성 (Availability)

- 서비스가 정상적으로 이용 가능한 상태 유지

- 위협: DDoS 공격

공격자의 위협:

- 도청 (Eavesdropping): 기밀성 침해

- 변조 (Modification): 무결성 침해

- 위장 (Impersonation): 인증 침해

- 서비스 거부 (DoS): 가용성 침해

2. 대칭키 암호 (Symmetric Key Cryptography)

2.1 기본 개념

송신자와 수신자가 동일한 비밀키를 공유하여 암호화와 복호화를 수행합니다.

대칭키 암호 동작

==================

비밀키 K (양측이 공유)

| |

v v

[평문] --[암호화]--> [암호문] --[복호화]--> [평문]

"Hello" E_K() "xYz!@" D_K() "Hello"

특징:

- 암호화/복호화에 같은 키 사용

- 빠른 연산 속도

- 키 분배 문제: 양측이 안전하게 키를 공유해야 함

2.2 대표적인 대칭키 알고리즘

대칭키 알고리즘

=================

알고리즘 | 키 길이 | 블록 크기 | 상태

----------+-------------+----------+--------

DES | 56비트 | 64비트 | 취약 (사용 금지)

3DES | 168비트 | 64비트 | 안전하지만 느림

AES | 128/192/256 | 128비트 | 현재 표준

RC4 | 가변 | 스트림 | 취약 (사용 금지)

ChaCha20 | 256비트 | 스트림 | 현대적, TLS 1.3

AES (Advanced Encryption Standard):

- 2001년 NIST가 DES를 대체하여 선정

- 블록 암호: 128비트 블록 단위로 처리

- 라운드 수: 10/12/14 (키 길이에 따라)

- 현재 가장 널리 사용되는 대칭키 암호

2.3 블록 암호 운용 모드

블록 암호 운용 모드

====================

1. ECB (Electronic Codebook): 각 블록 독립 암호화

[B1] -> [E] -> [C1]

[B2] -> [E] -> [C2]

문제: 같은 평문 블록 -> 같은 암호문 블록 (패턴 노출)

2. CBC (Cipher Block Chaining): 이전 암호문과 XOR 후 암호화

[B1 XOR IV] -> [E] -> [C1]

[B2 XOR C1] -> [E] -> [C2]

장점: 같은 평문이라도 다른 암호문 생성

3. CTR (Counter): 카운터를 암호화하여 평문과 XOR

[CTR+0] -> [E] -> XOR [B1] -> [C1]

[CTR+1] -> [E] -> XOR [B2] -> [C2]

장점: 병렬 처리 가능, 스트림 암호처럼 동작

3. 공개키 암호 (Public Key Cryptography)

3.1 기본 개념

각 사용자가 공개키와 개인키 쌍을 가집니다. 공개키로 암호화하면 개인키로만 복호화할 수 있습니다.

공개키 암호 동작

==================

Bob의 키 쌍: (공개키 Kb+, 개인키 Kb-)

- 공개키: 누구나 알 수 있음

- 개인키: Bob만 알고 있음

Alice가 Bob에게 메시지 전송:

[평문 m] --[Kb+로 암호화]--> [암호문] --[Kb-로 복호화]--> [평문 m]

특성:

- Kb+(m)을 Kb-로만 복호화 가능

- Kb-를 Kb+로부터 계산하는 것은 계산적으로 불가능

- 키 분배 문제 해결 (공개키는 자유롭게 배포)

- 대칭키보다 연산이 느림 (100~1000배)

3.2 RSA 알고리즘

RSA 동작 원리

===============

키 생성:

1. 큰 소수 p, q 선택 (각 1024비트 이상)

2. n = p x q 계산

3. z = (p-1)(q-1) 계산

4. z와 서로소인 e 선택 (공개키의 일부)

5. e x d mod z = 1인 d 계산 (개인키의 일부)

공개키: (n, e)

개인키: (n, d)

암호화: c = m^e mod n

복호화: m = c^d mod n

보안 근거:

- n으로부터 p, q를 찾는 것 = 대수 분해 문제

- 현재 기술로 2048비트 이상의 n은 분해 불가

3.3 실제 사용: 하이브리드 암호

하이브리드 암호 시스템

========================

공개키 암호는 느리므로, 실제로는 세션키를 교환할 때만 사용

1. Alice가 랜덤 대칭키(세션키) Ks 생성

2. Alice가 Bob의 공개키로 Ks를 암호화하여 전송

Kb+(Ks) --> Bob에게 전송

3. Bob이 개인키로 Ks 복호화

Kb-(Kb+(Ks)) = Ks

4. 이후 양측이 Ks로 AES 대칭키 암호 사용

장점:

- 공개키: 안전한 키 교환 (느리지만 한 번만)

- 대칭키: 빠른 데이터 암호화 (대량 데이터)

4. 메시지 무결성

4.1 암호학적 해시 함수

해시 함수 특성

================

H(m) = 고정 길이의 해시값 (메시지 다이제스트)

요구사항:

- 일방향성: H(m)에서 m을 역산 불가

- 충돌 저항성: H(m) = H(m')인 서로 다른 m, m' 찾기 어려움

- 쇄도 효과: 입력이 1비트 변해도 출력이 크게 변함

대표 알고리즘:

MD5: 128비트 출력 (취약, 사용 금지)

SHA-1: 160비트 출력 (취약, 사용 금지)

SHA-256: 256비트 출력 (현재 표준)

SHA-3: 가변 출력 (차세대 표준)

4.2 MAC (Message Authentication Code)

MAC 동작

=========

송신자 (Alice): 수신자 (Bob):

메시지 m 수신: m + MAC

비밀키 s 비밀키 s

MAC = H(m + s) MAC' = H(m + s)

전송: m + MAC MAC == MAC'? --> 무결성 확인

HMAC (Hash-based MAC):

HMAC = H(K XOR opad || H(K XOR ipad || m))

- 단순히 H(m+s)보다 안전한 구조

- TLS, IPsec 등에서 표준으로 사용

4.3 전자서명 (Digital Signature)

전자서명 동작

===============

서명 생성 (Alice):

1. 메시지 m의 해시 계산: h = H(m)

2. 개인키로 해시를 암호화: sig = Ka-(h)

3. 전송: m + sig

서명 검증 (Bob):

1. 메시지 m의 해시 계산: h = H(m)

2. Alice의 공개키로 서명 복호화: h' = Ka+(sig)

3. h == h'? --> 서명 유효

전자서명이 제공하는 것:

- 인증: Alice가 서명했음을 확인

- 무결성: 메시지가 변조되지 않았음

- 부인 방지: Alice가 서명 사실을 부인할 수 없음

4.4 인증서와 CA

공개키 인증서 (PKI)

=====================

문제: Bob이 받은 공개키가 정말 Alice의 것인가?

해결: 신뢰할 수 있는 제3자(CA)가 보증

인증서 구조:

+----------------------------------+

| 발급 대상: alice.com |

| 공개키: Ka+ |

| 발급자: DigiCert (CA) |

| 유효 기간: 2026.01.01 ~ 2027.01.01 |

| 서명: CA의 개인키로 서명됨 |

+----------------------------------+

검증 과정:

1. Bob이 alice.com의 인증서 수신

2. CA의 공개키로 인증서의 서명 검증

3. 유효하면 인증서 내의 Ka+를 신뢰

대표 CA: DigiCert, Let's Encrypt, GlobalSign

5. SSL/TLS

5.1 TLS의 역할

TLS(Transport Layer Security)는 TCP 위에서 동작하며, 웹 통신의 보안을 제공합니다. HTTPS = HTTP + TLS 입니다.

TLS의 위치

============

[HTTP, SMTP, FTP 등]

[TLS/SSL]

[TCP]

[IP]

[링크 계층]

TLS가 제공하는 보안:

- 기밀성: 데이터 암호화 (AES 등)

- 무결성: MAC으로 변조 검출

- 인증: 서버 인증서로 신원 확인

5.2 TLS 핸드셰이크

TLS 1.2 핸드셰이크

====================

클라이언트 서버

| |

|--- ClientHello ------------------>|

| (지원 암호 목록, 랜덤값) |

| |

|<-- ServerHello -------------------|

| (선택된 암호, 랜덤값) |

|<-- Certificate -------------------|

| (서버 인증서) |

|<-- ServerHelloDone ---------------|

| |

|--- ClientKeyExchange ------------>|

| (프리마스터 시크릿, 서버 공개키로 암호화)|

|--- ChangeCipherSpec ------------->|

|--- Finished --------------------->|

| |

|<-- ChangeCipherSpec --------------|

|<-- Finished ----------------------|

| |

|=== 암호화된 애플리케이션 데이터 ===|

TLS 1.3 개선사항:

- 1-RTT 핸드셰이크 (TLS 1.2는 2-RTT)

- 0-RTT 재연결 지원

- 안전하지 않은 암호 제거

- 더 강력한 키 교환 (ECDHE 필수)

6. IPsec과 VPN

6.1 IPsec의 역할

IPsec은 네트워크 계층에서 보안을 제공합니다. 모든 IP 트래픽을 보호할 수 있습니다.

IPsec 프로토콜

================

1. AH (Authentication Header)

- 인증과 무결성 제공

- 암호화 미제공

- 잘 사용되지 않음

2. ESP (Encapsulating Security Payload)

- 인증 + 무결성 + 암호화 모두 제공

- 가장 많이 사용

동작 모드:

전송 모드 (Transport Mode):

원본: [IP 헤더][데이터]

ESP: [IP 헤더][ESP 헤더][데이터(암호화)][ESP 트레일러][ESP 인증]

--> 호스트 간 직접 통신 시 사용

터널 모드 (Tunnel Mode):

원본: [IP 헤더][데이터]

ESP: [새 IP 헤더][ESP 헤더][원본 IP 헤더 + 데이터(암호화)][ESP 트레일러]

--> VPN 게이트웨이 간 통신 시 사용

6.2 VPN (Virtual Private Network)

VPN 동작

=========

본사 지사

[내부 네트워크] -- [VPN GW] ===IPsec 터널=== [VPN GW] -- [내부 네트워크]

10.1.0.0/16 인터넷 10.2.0.0/16

패킷 흐름:

1. 10.1.0.5에서 10.2.0.10으로 패킷 전송

2. 본사 VPN GW가 패킷을 IPsec ESP로 암호화

3. 새 IP 헤더: 출발지=본사 GW, 목적지=지사 GW

4. 인터넷을 통해 암호화된 패킷 전송

5. 지사 VPN GW가 복호화하여 10.2.0.10으로 전달

IKE (Internet Key Exchange):

- IPsec SA(Security Association) 설정을 위한 프로토콜

- 양측 인증 및 키 교환 수행

7. 방화벽 (Firewall)

7.1 방화벽의 유형

방화벽 유형

=============

1. 패킷 필터링 (Packet Filtering)

- IP 주소, 포트, 프로토콜 기반으로 필터링

- 상태 비보존: 각 패킷을 독립적으로 판단

- 빠르지만 정교한 제어 어려움

2. 상태 보존 패킷 필터링 (Stateful Packet Filtering)

- TCP 연결 상태를 추적

- 연결이 설정된 패킷만 허용

- 더 정교한 보안

3. 애플리케이션 게이트웨이 (Application Gateway)

- 애플리케이션 데이터를 검사

- HTTP, FTP 등 프로토콜별 세밀한 제어

- 프록시 서버로 동작

7.2 방화벽 규칙 예시

패킷 필터링 규칙 예시

========================

규칙 | 방향 | 출발지 IP | 목적지 IP | 프로토콜 | 포트 | 동작

------+--------+--------------+--------------+---------+------+------

1 | 인바운드| * | 10.1.0.0/16 | TCP | 80 | 허용

2 | 인바운드| * | 10.1.0.0/16 | TCP | 443 | 허용

3 | 인바운드| * | 10.1.0.5 | TCP | 22 | 허용

4 | 아웃바운드| 10.1.0.0/16| * | TCP | * | 허용

5 | * | * | * | * | * | 거부

해석:

규칙 1: 외부에서 내부 웹서버(80)로 HTTP 접속 허용

규칙 2: 외부에서 내부 웹서버(443)로 HTTPS 접속 허용

규칙 3: 외부에서 특정 서버로 SSH 접속 허용

규칙 4: 내부에서 외부로 나가는 모든 TCP 허용

규칙 5: 나머지 모두 거부 (기본 정책)

8. IDS와 IPS

8.1 침입 탐지 시스템 (IDS)

IDS 유형

==========

1. 시그니처 기반 IDS

- 알려진 공격 패턴(시그니처)과 매칭

- 장점: 알려진 공격에 대해 정확한 탐지

- 단점: 새로운 공격(제로데이) 탐지 불가

2. 이상 탐지 기반 IDS

- 정상 트래픽 패턴을 학습하고 이상 탐지

- 장점: 새로운 공격도 탐지 가능

- 단점: 오탐(false positive)이 높을 수 있음

배치 위치:

인터넷 --> [방화벽] --> [IDS] --> [내부 네트워크]

IPS (Intrusion Prevention System):

- IDS + 자동 차단 기능

- 탐지된 공격을 실시간으로 차단

8.2 대표적인 네트워크 공격

네트워크 공격 유형

====================

1. IP 스푸핑 (Spoofing)

- 출발지 IP 주소를 위조

- 대응: 입구 필터링 (Ingress Filtering)

2. DoS/DDoS

- 대량의 트래픽으로 서비스 마비

- SYN Flood: TCP 3-way 핸드셰이크 악용

- 대응: SYN 쿠키, 트래픽 필터링

3. 중간자 공격 (Man-in-the-Middle)

- 통신 경로에 끼어들어 도청/변조

- 대응: TLS, 인증서 검증

4. ARP 스푸핑

- 가짜 ARP 응답으로 트래픽 가로채기

- 대응: 정적 ARP 테이블, 802.1X

5. DNS 스푸핑

- 가짜 DNS 응답으로 피싱 사이트 유도

- 대응: DNSSEC

9. 정리

| 개념 | 핵심 내용 |

| ----------- | ---------------------------------------------- |

| 대칭키 암호 | 같은 키로 암호화/복호화, 빠름, 키 분배 문제 |

| 공개키 암호 | 공개키로 암호화, 개인키로 복호화, 키 분배 해결 |

| RSA | 소인수 분해의 어려움에 기반한 공개키 암호 |

| 해시 함수 | 일방향, 고정 길이 출력, 무결성 검증 |

| 전자서명 | 개인키로 서명, 공개키로 검증, 부인 방지 |

| TLS | TCP 위 보안 계층, HTTPS의 핵심 |

| IPsec | 네트워크 계층 보안, VPN 구현 기반 |

| 방화벽 | 패킷 필터링으로 비인가 접근 차단 |

| IDS/IPS | 침입 탐지 및 자동 차단 |

다음 글에서는 네트워크 관리와 SNMP 프로토콜을 살펴보겠습니다.

참고 자료

- James F. Kurose, Keith W. Ross, "Computer Networking: A Top-Down Approach", 6th Edition, Chapter 8

- RFC 5246 - TLS Protocol Version 1.2

- RFC 4301 - Security Architecture for the Internet Protocol (IPsec)

- RFC 2104 - HMAC: Keyed-Hashing for Message Authentication

현재 단락 (1/305)

네트워크 보안은 인터넷을 통해 전송되는 데이터의 기밀성, 무결성, 인증, 가용성을 보장하는 기술입니다.

작성 글자: 0원문 글자: 6,601작성 단락: 0/305