IP 헤더 데이터

Download Report

Transcript IP 헤더 데이터

네트워크 보안
Chapter 2. IPSec
김기천
http://mbc.konkuk.ac.kr
1
Chapter 2. IPSec
2.1 IPSec의 특징 및 구성
2.2 IPSec의 동작방식
2.3 AH 및 ESP 구조 및 용도
1.
IPSec의 개요
1.
SA(Security Associations)
1.
AH
2.
IPSec의 특징
2.
IKE 키 협상
2.
ESP
3.
IPSec의 구성
3.
VPN(Virtual Private Networks)
3.
AH vs ESP
4.
IPSec의 모드
2
2.1 IPSec의 특징 및 구성
1
IPSec의 개요
2
IPSec의 특징
3
IPSec의 구성
3
1. IPSec의 개요
• 인터넷의 역사
- 1969. 미국 국방성의 ARPA는 4개의 노드로 구성되는 세계 최초의
패킷 스위칭 네트워크인 ARPANET(Advanced Research Project
Agency Network) 설치
- 노드의 수가 증가함에 따라 ARPANET 네트워크 제어 프로토콜의
연동에 문제 발생
- 1974. 미국 국방성에서 인터넷 통신을 위한 TCP/IP 프로토콜 정의
- 1981. UC Berkeley가 TCP/IP를 UNIX에 포함시킴
- 1984. 유연하고 안전하며 상호연동이 가능한 통신 모델을 위하여
ISO(International Standard Organization) 에서 OSI(Open Systems
Interconnection) 7계층 모델 정의
1. IPSec의 개요
• IP(Internet Protocol)?
- 인터넷상의 한 컴퓨터에서 다른 컴퓨터로 데이터를 보낼 때
사용되는 프로토콜
- 인터넷상의 각각의 컴퓨터들은 다른 컴퓨터와 구별될 수 있도록 한
개 이상의 고유한 주소를 가짐
- 전자우편이나 웹페이지 등으로 데이터를 주고 받을 때, 데이터는
패킷이라고 불리는 작은 조각으로 나뉨
- 각 패킷에는 송신자의 인터넷 주소와 수신자의 인터넷 주소 포함
- 각 패킷은 필요한 경우 서로 다른 경로를 통해 보내질 수 있고 보낸
순서와 다른 순서로 도착될 수 있음
- IP는 패킷들을 배달만 할 뿐, 순서가 흐트러진 패킷들을 올바르게
재 정렬하는 것은 상위 계층 프로토콜인 TCP가 하는 일
- 가장 많이 사용되는 IP 버전은 IPv4
- IPv6는 차세대 IP로 사용량이 증가하는 중
1. IPSec의 개요
•
IP 데이터그램의 형태
IP 헤더
데이터
6
1. IPSec의 개요
• IP의 보안 취약성
-
인터넷 프로토콜은 데이터의 신뢰성 있는 전달을 염두에 두고 설계
1970년 대에는 보안이 중요한 고려 대상이 아니었음
IP 주소 및 패킷 내용의 변조 -> 헤더 검사합 재계산
패킷의 재 전송, 패킷 내용의 훔쳐보기 등의 취약점 가짐
• 헤더 검사합 필드
- IP 헤더의 손상 여부 검사
- 계산의 용이성 : 16비트의
덧셈 및 보수 계산(각 비트의
1은 0, 0은 1로 변환
1. IPSec의 개요
• 헤더 검사합의 취약성
-
공격자는 앨리스가 생성한 IP 패킷(목적지 : 밥)을 중간에서 캡쳐
IP 헤더의 필드(예, 발신지 IP 주소)를 변조 후 헤더 검사합을 다시 계산하여
밥에게 전송
밥은 변조된 IP 패킷을 정상적인 것으로 잘못 검증 후 응답 IP 패킷을 전송
응답 패킷은 변조된 IP 패킷의 발신지 주소를 목적지 주소로 사용
공격자가 발신지 IP 주소를 변조한 경우 경태가 생성한 IP 패킷은 목적지가
없으므로 네트워크에서 순환하다가 없어 짐
IP 헤더 변조 및
검사합 재 계산
IP 패킷
IP 패킷
IP 패킷
앨리스
밥
1. IPSec의 개요
• IPv6 개념 및 도입배경
-
현재 사용하고 있는 IPv4의 주소길이(32비트)를 4배 확장하여
IETF가 1996년 표준화한 128비트 차세대 인터넷 주소 체계
문제인식
주소의 유한성
IP주소 부족
현상
IPv6 효과
서비스의 핵심
서비스를 매개체
로 한 시스템구성
풍부한 글로벌 주
소
P2P
IP주소의 계획적인
할당
다중 다양한 주소
부여
멀티캐스트
네트워크 별 주소
설정
단일 레벨에서의
주소관리 불필요
이동성
주소 공간 관리
암호화 장치에
의한 암호화
통신비밀을 보증
IPSec의 실제 구현
• 단말과 호스트간
의 암호화
• 어플리케이션과의
독립된 암호화
안정성
1. IPSec의 개요
• IPv4와 IPv6의 비교
구분
IPv4
IPv6
주소 길이
32비트
128비트
표시 방법
8비트씩 4부분으로 10진수로 표시
Ex)203.252.54.55
16비트씩 8부분으로 16진수로 표시
Ex)2002:0221:ABCD:DCBA:
0000:0000:FFFF:4002
주소 개수
약 43억 개
약 43억 × 43억 × 43억 × 43억 개
주소 할당 방
식
A, B, C, D등의 클래스 단위 비순차 네트워크 규모, 단말기 수에 따른 순
적 할당
차적 할당
보안
IPSec 프로토콜 별도 설치
IPSec 자체 지원
서비스 품질
제한적 품질 보장
확장된 품질 보장
Plug & Play
불가
가능
1. IPSec의 개요
• IPSec 이란? (1/2)
- Network나 Network 통신의 패킷처리 계층에서의 보안을 위해,
지금도 발전되고 있는 표준
- IPSec이란 이름은 이 방식의 표준화를 추진해 온 IETF(Internet
Engineering Task Force)의 워킹그룹의 이름(IPSEC WG)에서 따옴
- 모든 트래픽을 IP 계층에서 암호화하거나 무결성 보호를 함으로 상
위계층 패킷에 대한 보안성을 향상
- 종단 단말간 또는 라우터와 라우터간 보안 기능을 제공
1. IPSec의 개요
• IPSec 이란? (2/2)
클라이언트
시스템 보안
네트워크 보안
HTTP
Web Security
서버
시스템 보안
Transport Layer Security
TCP
File Encryption
Anti-virus
IP
IP Security
Data Link
Data Link Layer
Security
IDS
Trusted OS
Copyright
Protection
Privacy
12
1. IPSec의 개요
• IPSec 장점
- 개별 사용자 컴퓨터의 변경 없이도 보안에 관한 준비가 처리될 수
있다는 것
- 즉, 게이트웨이만 IPSec 보안 프로토콜을 구현하면 되고, 신뢰하는
서브넷상에서 게이트웨이를 이용하는 모든 시스템들은 게이트웨이
와 외부시스템 사이에서 보안프로토콜 서비스 이용 가능
2. IPSec의 특징
헤더
키 교환
AH(Authentication Header)
‒
비연결형 무결성 / 인증 서비스
ESP(Encapsulation Security Payload)
‒
비연결형 기밀성 / 무결성 / 인증 서비스
‒
‒
‒
두 개체간의 인증
키 및 보안에 관련된 패러미터들을 협상
공유 비밀키(Pre-shared Secret)또는 공인 인증서(Public
Key Certificate)기반
‒
PFS(Perfect Forward Secrecy)제공
‒
‒
‒
‒
종단간(End-to-End)보안 서비스
IP 헤더 제외한 부분에 대해서 보호 서비스
트래픽 분석에 취약할 수 있음
보안 외에 출발지와 도착지 주소를 기반으로
QoS(Quality of Service)를 제공할 수 있음
‒
‒
‒
‒
IP 헤더 포함한 전체에 대해서 보호 서비스
여러 호스트에 대해서 같은 터널을 쓸 수 있음
트래픽 분석에 대해서 보호 기능
비공인(사설)IP 주소를 사용할 수 있음
IKE(ISAKMP/Oakley)
Diffie-Hellman
전송 모드
모드
터널 모드
암호/인증 알
고리즘
암호 알고리즘
DES, 3DES, RC5, IDEA, CAST, BLOWFISH, 3IDEA, RC4
인증 알고리즘
MD5, SHA-1, DES
3. IPSec의 구성
• IPSec을 구성하는 두 가지 주요 부분
- IKE: Internet Key Exchange
•
•
•
상호인증
공유 대칭키 실현
2 Phase
•
•
ESP: Encapsulating Security Payload  IP 패킷의 암호화 및 무결성 제공
AH: Authentication 헤더(인증 헤더)  무결성만 제공
- ESP/AH
3. IPSec의 구성
•
IPSec 프로토콜 구현방법
IP
Header
IPSec
Header
Secure IP
Payload
트랜스포트 모드
터널 모드
IP
Header
Secure IP
Payload
IP
Header
Secure IP
Payload
2.2 IPSec의 동작방식
1
SA(Security Associations)
2
IKE 키 협상
3
VPN(Virtual Private Networks)
4
IPSec의 모드
17
1. SA(Security Associations)
• SA(Security Associations)
- IPSec으로 통신을 하는 송/수신자간에 인증/암호화 알고리즘과 암
호키를 공유하는 관계
- 전송자와 수신자간의 트래픽에 보안 서비스를 제공하기 위해 상호
협상에 의해 생성
- 단 방향으로 양방향 통신이 필요할 경우 각 방향에 대해 하나씩 두
개의 SA가 필요
- SA간의 통신에는 인증키 교환 절차가 필요한데 IKE 프로토콜을 이
용해 해결
18
2. IKE 키 협상
• IKE Phase 1
- 4가지 “키 옵션”
•
•
•
•
공개키 암호화 (원래 버전)
공개키 암호화 (개선 버전)
공개키 서명
대칭키
•
•
Main mode
Aggressive mode
•
•
•
공개키 서명(Main mode와 Aggressive mode)
대칭키(Main mode와 Aggressive mode)
공개키 암호화 (Main mode와 Aggressive mode)
- 각 옵션에 대하여 2가지 “mode”
- IKE Phase 1에 버전이 8개 존재!
- Phase 1의 8개 변화 형태 중 6개
- 공개키 암호화 및 공개키 서명 이유?
•
•
자기 자신의 개인키는 항상 알고 있음
최초에는 다른 쪽의 공개키는 모르고 있을 수 있음
- 세션키를 구현하기 위해 일회성 디피-헬먼 키교환을 사용
•
완전순방향비밀성(PFS) 달성
19
2. IKE 키 협상
• 요약
- IKE Phase 1 (Main mode 또는 Aggressive mode)
•
•
•
•
IKE SA 및 master secret 생성
이후의 IKE 협상 과정을 보호
Main mode는 6번의 메시지를 교환
Aggressive mode는 3번의 메시지 교환으로 완료, ID 보호되지 않음
- IKE Phase 2 (Quick mode)
-
SA 및 키 협상
3번의 메시지 교환
Phase 1에 비해 계산량이 적음
Key refresh(Rekeying)를 위해 자주 수행
동일한 Phase 1 IKE SA 보호 하에 여러 번의 Phase 2 교환 가능
20
3. VPN(Virtual Private Networks)
• Network 통신 중 network layer에서의 보안을 위한 표준
으로 인터넷 상에서 VPN을 구현하는데 사용될 수 있도록
IETF에서 개발
• VPN?
- 기존 인터넷 서비스를 통해 하나의 사설 네트워크처럼 사용하는 것
- 공중망을 통한 연결을 전용선처럼 사용하는 것
• VPN 구현 이유
- 원거리에 있는 종단점 끼리 외부에 노출되지 않고 통신
- 업무 범위 확대, 회사 외부로 네트워크를 구성할 필요성
• VPN 구성 원리
- IPSec의 터널링 모드를 이용해 VPN gateway 끼리 IPSec 통신을 하
여 외부로 노출을 막는 방식
21
4. IPSec의 모드
•
트랜스포트 모드
- 호스트와 호스트 간에 통신하는 경우 사용
- 전송모드가 효율적임
•
최소한의 헤더를 추가
•
수동적인 공격자는 어떤 호스트가 통신하는지 알 수 있음
- 원래 헤더는 그대로 유지
호스트 A
트랜스포트 모드
호스트 B
Internet
패킷
A, B
패킷
A, B
22
4. IPSec의 모드
•
터널 모드
- 보안 라우터에 IPSec 프로토콜 구현
- 새로운 IP헤더를 만들어 원래의 IP 패킷을 모두 페이로드화
터널 모드
호스트 A
호스트 D
Internet
패킷
보안 라우터 B
A, D
패킷
호스트 A
A, D
B, C
보안 라우터 C
터널 모드
패킷
A, D
호스트 C
Internet
패킷
A, C
A, B
보안 라우터 B
패킷
A, C
23
4. IPSec의 모드
•
트랜스포트 모드 vs 터널 모드
- 터널 모드가 높은 보안성 제공
•
•
원래 IP 패킷 전체 인증 및 암호화
더 많은 대역폭 사용
트랜스포트 모드
IP 헤더
ESP
헤더
TCP 헤더 데이터
ESP
ESP
트레일러 인증 데이터
암호화 영역
인증 영역
터널 모드
새로운
IP 헤더
ESP
원래
헤더 IP 헤더
TCP 헤더 데이터
ESP
ESP
트레일러 인증 데이터
암호화 영역
인증 영역
24
2.3 AH 및 ESP 구조 및 용도
1
AH(Authentication Header)
2
ESP(Encapsulating Security Payload)
3
AH vs ESP
25
1. AH(Authentication Header)
•
•
•
•
무결성
인증
재전송 패킷의 감지 및 폐기
IPv4의 보안 취약성 개선 위해 메시지 인증코드 사용
인증 영역
IP-Header
8 bits
Next header
AH
Rest of the original packet
8 bits
16 bits
Payload length
Reserved
Padding
SPI(Security parameter index)
Sequence number
Authentication data(digest)
(variable length)
32 bits
26
1. AH(Authentication Header)
• 인증 데이터의 생성 및 검증
HMA
C
송신자
수신자
인증키
인증키
IP헤더
IP헤더
IP헤더
AH헤더
AH헤더
AH헤더
ICV
ICV
ICV
페이로드
페이로드
페이로드
인증 데이터
HMA
C
인증 데이터
?
ICV
27
1. AH(Authentication Header)
• 트랜스포트 모드에서의 AH 위치
- IP 헤더의 뒤
- 다른 IPSec 프로토콜 및 전송 계층 프로토콜의 앞
- 전체 패킷을 인증
IPv4
IP 헤더
IPv4
IP 헤더
TCP 헤더
AH
TCP 헤더
데이터
데이터
AH 적용 전
AH 적용 후
인증 영역(가변필드 제외)
28
1. AH(Authentication Header)
• 터널 모드에서의 AH 위치
- AH는 원래 IP 헤더와 새로운 IP 헤더 사이에 위치
- 새로운 IP 헤더를 포함하여 전체 IP 패킷을 인증
IPv4
IPv4
IP 헤더
새로운
IP 헤더
AH
TCP 헤더
데이터
원래
IP 헤더
TCP 헤더
AH 적용 전
데이터
AH 적용 후
인증 영역(가변필드 제외)
29
1. AH(Authentication Header)
• AH 프로토콜의 처리
보안 연계 추출
ICV 검증
순서번호 생성
순서번호 검증
ICV 계산
보안연계 추출
분할
결합
패킷 송신
인터넷
패킷 수신
30
2. ESP(Encapsulating Security Payload)
•
•
•
•
•
기밀성
인증
무결성
재전송 패킷의 감지 및 폐기
기밀성 서비스를 위해 대칭키 암호 알고리즘 사용
인증 영역
암호화 영역
IP
Header
ESP
header
The rest of
the payload
Security parameter index
Sequence number
32 bits
Padding
ESP Authentication data
trailer
(variable length)
8 bits
8 bits
Pad length
Next header
32 bits
31
2. ESP(Encapsulating Security Payload)
• 트랜스포트 모드에서의 ESP 위치
ESP 적용 전
IPv4
IP 헤더
TCP 헤더
데이터
ESP 적용 후
IPv4
IP 헤더
ESP
헤더
TCP 헤더 데이터
ESP
ESP
트레일러 인증 데이터
암호화 영역
인증 영역
32
2. ESP(Encapsulating Security Payload)
• 터널 모드에서의 ESP 위치
ESP 적용 전
IPv4
IP 헤더
TCP 헤더
데이터
ESP 적용 후
IPv4
새로운
IP 헤더
ESP
원래
헤더 IP 헤더
TCP 헤더 데이터
ESP
ESP
트레일러 인증 데이터
암호화 영역
인증 영역
33
2. ESP(Encapsulating Security Payload)
• ESP 프로토콜의 처리
보안 연계 추출
패킷 복호화
순서번호 생성
ICV 검증
패킷 암호화
순서번호 검증
ICV 계산
보안연계 추출
분할
결합
패킷 송신
인터넷
패킷 수신
34
3. AH vs ESP
• 인증헤더는 IP 헤더 포함 전체 패킷 인증 데이터 계산
• 높은 수준의 인증 보안 필요한 경우 인증헤더 서비스 이용
AH 적용 후
IP 헤더
AH
TCP 헤더
데이터
인증 영역(가변필드 제외)
ESP 적용 후
IP 헤더
ESP
헤더
TCP 헤더 데이터
ESP
ESP
트레일러 인증 데이터
암호화 영역
인증 영역
35