Transcript chap8(4)

Chapter 8 목차
8.1 네트워크 보안이란 무엇인가?
8.2 암호학의 원리
8.3 메시지 무결성
8.4 종단점 인증
8.5 전자 메일의 보안
8.6 TCP 연결의 보안: SSL
8.7 네트워크 계층의 보안: IPsec
8.8 무선 랜의 보안
8.9 운영상 보안: 방화벽과 침입 방지 시스템
IPsec을 만든 동기는?
두 망 개체 간:
 송신 개체가 데이터그램을 암호화한다면 모든
페이로드의 내용을 보호할 수 있다.
수송 계층 메시지:TCP segment, UDP segment,
ICMP message, OSPF message, 등등.
 응용 계층 메시지: Web pages, e-mail, P2P file
transfers, TCP SYN packets, 등등.

 따라서 네트워크 계층에서 보안을 제공하면
상위 계층은 모두 한꺼번에 보호될 수
있다.(“blanket coverage”)
2
Ipsec의 응용: 가상 사설망(VPNs)
 기관(회사)들은 보안을 위해서 사설망(private
network)을 구축하기를 원한다.

하지만 이것은 비용이 많이 든다. 별도의 라우터,
링크, DNS 등등.
 가상 사설망(virtual private network)
 공중 인터넷(public Internet)을 사용하면서 기관
내부의 지점(사무실 등) 간에 트래픽을 사설망을
통해 전달하는 것처럼 할 수 있다.
 이렇게 하기 위해서는 기관 내부의 트래픽은
공중망을 통과하기 전에 암호화되어야 한다.
3
Virtual Private Network (VPN)
Public
Internet
IP
header
IPsec
header
Secure
payload
laptop
w/ IPsec
현장에 있는
영업 사원
Router w/
IPv4 and IPsec
본부
Router w/
IPv4 and IPsec
지점
4
IPsec 서비스
 데이터 무결성
 출발지(source) 인증
 재사용 공격 방어
 기밀성
 Ipsec의 두 개의 프로토콜
 AH
 ESP
5
IPsec 전달 모드(Transport Mode)
IPsec
IPsec
 IPsec 데이터그램은 종단 시스템에서
출발하고 종단 시스템에서 수신된다.
 전송 중에 상위 계층의 모든 정보가 보호된다.
6
IPsec – 터널 모드(tunneling mode)
IPsec
IPsec
 종단 라우터가 IPsec을 수행한다. 종단
호스트는 IPsec을 수행할 필요가 없다.
7
IPsec – 터널 모드
IPsec
IPsec
 또 다른 형태의 터널 모드
8
두 개의 프로토콜
 Authentication Header (AH) protocol
출발지 인증과 데이터 무결성을 보장
 하지만 기밀성은 보장하지 않는다.

 Encapsulation Security Protocol (ESP)
출발지 인증, 데이터 무결성, 기밀성을 보장한다.
 AH 보다 널리 사용된다.

9
4개의 조합
Host mode
with AH
Host mode
with ESP
Tunnel mode
with AH
Tunnel mode
with ESP
Most common and
most important
10
Security associations (SAs)
 security association (SA)
 데이터를 보내기 전에 송신 개체와 수신 개체 사이에 가상의
연결이 설정되어야 한다.
 SA은 단방향이다.
 송신과 수신 개체는 모두 SA에 관련된 상태 정보를
유지해야 한다.


TCP 호스트는 상태 정보를 유지한다.
IP는 비연결형; 하지만 Ipsec은 연결형!
 VPN에서 얼마나 많은 SA가 필요할까?
11
예: R1에서 R2로의 SA
Internet
본부
200.168.1.100
R1
172.16.1/24
SA
지사
193.68.2.23
R2
172.16.2/24
R1은 SA에 대한 다음의 정보를 보관한다.
 SA의 식별자(32 bits): Security Parameter Index (SPI)
 SA의 시점 인터페이스 (200.168.1.100)
 SA의 종점 인터페이스 (193.68.2.23)
 암호 알고리즘(예, 3DES with CBC)
 암호화 키
 무결성 조사 방식(예, HMAC with with MD5)
 인증 키
12
Security Association Database (SAD)
 종단점에서는 SA들에 대한 상태를 SAD에 보관한다.
 n명의 영업사원이 있으면, R1의 SAD에는 2 + 2n개의 SA가
존재
 IPsec 데이터그램을 보낼 때 R1은 데이터그램을 어떻게
처리할 지 결정하기 위해서 SAD를 조사한다.
 데이터그램이 R2에 도착하면, R2는 IPsec 데이터그램의
SPI를 조사하고 SAD에서 해당 SPI의 정보를 사용하여
데이터그램을 처리한다.
13
IPsec 데이터그램
tunnel mode with ESP
인증됨
암호화
new IP
header
ESP
hdr
SPI
original
IP hdr
Seq
#
Original IP
datagram payload
padding
ESP
trl
ESP
auth
pad
next
length header
14
사용 예:
Internet
본부
200.168.1.100
SA
지점
193.68.2.23
R1
R2
172.16.1/24
172.16.2/24
인증됨
암호화
new IP
header
ESP
hdr
SPI
original
IP hdr
Seq
#
Original IP
datagram payload
padding
ESP
trl
ESP
auth
pad
next
length header
15
R1은 original datagram을 IPsec
datagram으로 변환
 원래 datagram(원래 헤더 필드도 포함) 끝에 “ESP





trailer” 필드를 첨부한다.
이것을 SA에서 명시한 키와 알고리즘으로 암호화한다.
암호화한 메시지 앞에 “ESP 헤더”를 붙인다.
SA에서 명시한 알고리즘과 키를 사용하여 인증을 위한
MAC(예, HMAC)을 계산하여 이것을 메시지 맨 뒤에
첨부한다.
이것이 IPsec의 페이로드(payload)가 된다.
새로운 IP 헤더를 만들어서 페이로드 앞에 붙인다.
16
IPsec의 필드들:
“enchilada” authenticated
encrypted
new IP
header
ESP
hdr
SPI
original
IP hdr
Seq
#
Original IP
datagram payload
padding
ESP
trl
ESP
auth
pad
next
length header
 ESP trailer: 블록 암호화의 길이를 맞추기 위해 첨가
 ESP header:
 SPI: 수신 개체가 무엇을 할지 알 수 있다.
 Sequence number: 재사용 공격 방지
 “ESP auth”의 MAC은 공유 비밀값(키)를 사용하여
계산한다.(HMAC)
17
IPsec sequence numbers
 새로운 SA 마다 seq. #는 0에서 시작한다.
 동일한 SA에 대해서 데이터그램을 보낼 때 마다
 송신자는 seq. #를 1씩 증가시킨다.
 목표:
 공격자가 패킷의 스니핑(sniffing)이나 재사용 공격을 막기
위해서
 방법:
 중복 패킷을 조사한다.
 하지만 모든 수신 패킷을 다 조사하지 않는다. 대신 window를
사용한다.
18
요약: Ipsec이 보장하는 것은?
 만약 Trudy가 R1과 R2의 사이에 앉아있고
키는 모른다고 하자.
그는 원래 데이터그램의 내용을 볼 수 있는가?
송신과 수신 IP 주소, 수송 프로토콜, 포트 번호는?
 데이터그램의 비트를 변경할 수 있는가?
 R1의 IP 주소를 사용해서 R1으로 위장할 수
있는가?
 데이터그램을 재사용할 수 있는가?

19
Internet Key Exchange(IKE)
 이제까지 두 종단 개체 사이에 수동으로 SA를
설정하는 것으로 가정하고 설명했다.
예: SA
SPI: 12345
Source IP: 200.168.1.100
Dest IP: 193.68.2.23
Protocol: ESP
Encryption algorithm: 3DES-cbc
HMAC algorithm: MD5
Encryption key: 0x7aeaca…
HMAC key:0xc0291f…
 큰 VPN(예, 수백명의 영업 사원)에서는 이와 같이
수동으로 키를 설정하는 것은 비현실적이다.
 이 경우 IPsec IKE (Internet Key Exchange)를
사용한다.
20
IKE: PSK and PKI
 두 가지 인증 방식
 pre-shared secret (PSK) 혹은
 PKI (공개/개인키와 인증서)
 PSK: 두 개체는 비밀값으로 부터 출발:
 상호 인증
 IPsec SA 생성: 암호화와 인증키 생성
 PKI: 두 개체는 공개/개인키와 인증서로부터
출발:
상호 인증
 IPsec SA 생성

• SSL의 handshake와 비슷
21
IKE 단계
 IKE has two phases
 Phase 1: 양방향 IKE SA 설정
• 주의: IKE SA는 IPsec SA와 다르다.
• ISAKMP SA라고도 부른다.

Phase 2: ISAKMP SA에서 IPsec의 SA를
협상한다.
 Phase 1은 두 가지 모드가 존재
 Aggressive mode
 Main mode
22
SSL과 IPSec 비교
 IPsec

네트워크 계층에 존재(OS의 일부)

암호화, 무결성, 인증 등을 포함하고 있음.

과도하게 복잡(심각한 결함 포함)
 SSL

소켓 계층에 존재(사용자 영역의 일부)

암호화, 무결성, 인증 등을 포함하고 있음.

상대적으로 간단한 규격
23
SSL과 IPSec 비교
 IPsec 구현
 OS의 변화가 필요, 응용프로그램은 변화가 필요 없음.
 SSL 구현
 응용프로그램의 변화가 필요, OS는 변화가 필요 없음.
 SSL은 초기에 웹 브라우저에 포함(Netscape)
 IPsec VPN 응용에 사용됨(안전 통로)
 SSL을 위해 응용프로그램을 갱신해야 하는
거부감
 IPsec은 복잡성과 상호운용성 문제로 인한 거부감
24
SSL과 IPsec 비교
 IPsec은 네트워크 계층에 존재
 IPsec은 응용프로그램으로부터 자유
SSL
application
transport
IPSec
사용자
운영체제(OS)
네트워크
link
physical
네트워크 인터페이스
카드(NIC)
25
IPSec과 복잡성
 IPsec은 복잡한 프로토콜
 “너무 과도하게 기술적”
 별로 필요하지 않은 기능이 과도하게 많음.
 결함 보유
 몇 가지 심각한 보안상 결함을 보유
 상호운용성에 심각한 도전
 표준을 갖고 있는 목적에 부합하지 않음!
26