제4장 IP 보안(1)

Download Report

Transcript 제4장 IP 보안(1)

정보 보호 응용
ch16 – 4. IP 보안
- IP Security -
충북대 네트워크 보안 연구실
[ jinmun @ gmail.com ]
목
차
 IP 보안 개요
 IP 보안 구조
 인증헤더
 캡슐화 보안 페이로드 (ESP)
 보안 연관의 결합
 키 관리
2007-01 정보보호응용
2
IP 보안의 개요
 프로토콜 계층구조와 관련된 보안
 TCP/IP 계층구조는 응용, 전환, 네트워크, 물리계층으로 나뉜다.
 IP계층에서 보안  보안설비 유무 상관없이 보안기능 제공
 IP계층보안
 3 기능 영역

인증(Authentication), 기밀성(Confidentiality), 키 관리 (Key
Management)
 인증: 발신처 인증, 패킷의 무결성
 기밀성: 통신 노드간에 메시지 암호화(도청방지)
 키관리: 키의 안전한 교환
2007-01 정보보호응용
3
IP 보안의 개요
 1994년: IAB(Internet Architecture Board)는“Security in
the Internet Architecture” 발간(RFC1636)
 인터넷은 강력하고 우수한 보안 기능 필요 지적
 보안 메커니즘을 위한 키 관리, 인증 및 암호 메커니즘을 이용한
최종 사용자간의 트래픽 안전성 제공 필요
 1997년: CERT 150,000사이트, 2500건 보안사고
 IP Spoofing

위장된 IP 주소의 사용. 인증에 악용
 Packet Sniffing

로그온 정보 또는 DB내용을 포함하는 전송된 정보를 읽는 것.
 IAB는 IP에 IPv6 차세대 보안기능 추가
 인증
 암호화
2007-01 정보보호응용
4
IPSec 응용
 LAN, WAN, 인터넷에서 안전한 통신기능 제공
 인터넷을 통한 지사 사무실의 안전한 접속

VPN에 의해 사설망 경비 절약
 인터넷을 통한 안전한 원격 접속

ISP로 접속하여 원격지 이동 비용 절약
 협력 업체간의 인트라넷과 익스트라넷 연결

인증, 기밀성, 키 교환을 이용한 조직간 안전한 통신
 전자상거래 보안의 강화

웹이나 전자상거래 응용의 보안 프로토콜에 대한 강화 효과
2007-01 정보보호응용
5
IP보안 시나리오 예
2007-01 정보보호응용
6
IPSec의 이점
 방화벽 및 라우터에서 모든 트래픽에 대한 보안 제공
 내부의 발생 트래픽은 보안 처리 부담에서 해방
 방화벽의 IPSec은 모든 트래픽의 IP 통과를 제어
 방화벽이 인터넷에서 내부로 들어가는 유일한 관문
 전송계층 아래의 IPSec은 응용프로그램에 투명
 사용자나 서버 시스템의 소프트웨어 변경 불필요
 IPSec은 최종 사용자에게 투명
 사용자는 보안 메커니즘, 키 발행 및 폐기로부터 자유
 IPSec은 필요한 개별 사용자에게 보안 제공 가능
 한 기관의 응용프로그램에서 가상 서브네트워크 구성 가능
2007-01 정보보호응용
7
라우팅 응용 프로그램
 IPSec은 다음을 보장
 Router advertisement: 새로운 라우터의 존재 알림
 인증된 라우터로부터 나옴
 Neighbor advertisement: 다른 영역의 라우터와 연결 유지
 인증된 라우터로부터 나옴
 Redirect message
 초기 패킷을 보낸 라우터에서 나옴
 Routing update
 라우팅 갱신 정보의 위조 불가
2007-01 정보보호응용
8
IP 보안 구조
 IPSec 문서
 1985년 8월: IETF는 5건의 보안 관련 표준제안
 RFC1825 : 보안 구조의 개요
 RFC1826 : IP의 확장된 패킷 인증에 대한 설명
 RFC1828 : 특정 인증 메커니즘
 RFC1827 : IP의 확장된 패킷 암호화에 대한 설명
 RFC1829 : 특정 암호화 메커니즘
 IPv6는 필수기능, IPv4는 선택사항
 메인 IP헤더 다음에 오는 확장 헤더로써 보안 기능을 구현
 인증기능: Authentication Header(AH)
 암호기능: Encapsulating Security Payload(ESP)
 초기 문서 이후 7개 그룹의 IP 보안 프로토콜 작업
2007-01 정보보호응용
9
IPSec 문서의 개요(1)
2007-01 정보보호응용
10
IPSec 문서의 개요(2)
 구조(Architecture) :
 IPSec 정의와 개념, 보안 요구사항, 메커니즘 등 설명
 ESP(Encapsulating Security Payload)
 패킷 형식과 암호화를 위한 ESP의 사용(선택사항으로 인증 설명)
 AH(Authentication Header)
 패킷 형식과 패킷 인증을 위한 AH 사용 설명
 암호화 알고리즘(Encryption Algorithm)
 ESP에 사용되는 여러 가지 암호화 알고리즘을 설명한 문서
 인증 알고리즘(Authentication Algorithm)
 AH와 ESP 인증 옵션에 사용되는 여러 인증 알고리즘을 설명문서
 키관리(Key Management)
 키관리 구조를 설명한 문서
 Domain of Interpretation(DOI)
 키의 사용기간, 암호화와 인증알고리즘을 구분하는 식별자 등을 포함
2007-01 정보보호응용
11
IPSec 서비스
 네트워크계층에 보안 서비스를 제공해주는 메커니즘
 IP 계층과 그 이상의 계층에 대한 보안서비스 제공
 IPv4 표준과 IPv6 모두에 보안 서비스를 제공할 수 있도록 설계
 보안 서비스
 접근통제 : 사전에 설정 정보를 아는 사람에게만 접근 허용
 비연결형 무결성 : MAC (message authentication code)
 데이터 발신처 인증 : 사전에 부여된 공유키 정보
 재전송 공격 방지 : 순서 번호
 기밀성(암호화) : 공유키로 암호화, 대칭키 암호화 알고리즘
 제한된 트래픽 흐름의 기밀성
 IPSec은 AH와 ESP의 두 가지 프로토콜 사용
2007-01 정보보호응용
12
IPSec 서비스 (계속)
 필요한 프로토콜, 알고리즘, 암호화 키를 선택하여 보안 서비스 제공
2007-01 정보보호응용
13
보안 연관
 SA(Security Association)
 전송되는 트래픽에 대해 보안 서비스를 제공하는 송신자와 수신
자간의 일방향 관계
 양방향 안전한 서비스: 2개의 SA 필요
 3개의 변수로 구분
 보안 매개변수 색인(SPI: Security Parameter Index)


SA에 할당된 비트 문자열(로컬에서만 의미)
SPI는 AH와 ESP 헤더를 통하여 전송
 IP 목적지 주소 (IP Destination Address)


현재는 유니캐스트 주소만 허용
SA의 사용자 시스템, 방화벽, 라우터 등 최종 목적지 주소
 보안프로토콜 식별자 (Security Protocol Identifier)

보안 연관이 AH 인지 아니면 ESP 인지를 표시
2007-01 정보보호응용
14
SA 매개변수
 SA DB: SA와 연관된 매개 변수 정의
 Sequence Number Counter: AH 또는 ESP 헤더에 순서 번호 필
드 생성을 위해 사용 (32비트 값)
 Sequence Counter Overflow: SN카운터 Overflow 유무 플래그
 Anti-Replay Window: AH 또는 ESP 수신 패킷이 재전송 판별
 AH Information: AH의 인증알고리즘, 키, 키 사용주기, 기타 변수
 ESP Information: ESP에 사용되는 암호화와 인증 알고리즘, 키, 초
기 값, 키 사용주기, 기타 변수
 Lifetime of this SA: SA교체 또는 종료 시간간격이나 바이트 값
 IPSec Protocol Mode: 터널, 전송 또는 와일드카드
 Path MTU: 경로의 최대 전송단위와 연령 변수
2007-01 정보보호응용
15
SA 선택자
 SPD(Security Policy Database)
 IP 트래픽을 특정 SA에 연관시키는 방법
 엔트리 : IP 트래픽의 서브셋과 그 트래픽을 위한 SA 포인터
 Selector : 각 SPD 엔트리
 IP와 상위 계층의 프로토콜 필드 값
 특정 SA에 대응 시키기 위해 outgoing traffic을 필터링 하는데 사
용
 Outbound processing
1. 패킷의 선택자 필드 값을 대응되는 SPD 엔트리와 비교
2. 이와 관련된 SPI가 있다면 SA를 결정
3. 필요한 IPSec 절차를 진행(AH 또는 ESP 처리 절차)
2007-01 정보보호응용
16
SPD 엔트리를 결정하는 선택자
 Destination IP 주소: 단일 IP주소, 목록주소, 일정 범위의 주소, 와일
드카드 주소
 Source IP 주소: 단일 IP주소, 목록주소, 일정 범위의 주소, 와일드카
드 주소
 User ID: 운영 체제의 사용자 식별자
 Data Sensitivity Level: 시스템이 정보 흐름 보안을 제공하는데 사용
 Transport Layer Protocol: IPv4 프로토콜 or IPv6 다음-헤더 필드에서
획득
 IPSec 프로토콜 (AH, ESP or AH/ESP): IPv4, IPv6의 다음-헤더 필드
에서 획득
 Source and Destination Ports: 개별 TCP/UDP 포트 값, 포트목록,와
일드카드 포트
 IPv6 Class: IPv6 헤더로부터 획득(특정한 IPv6 클래스 값이나 와일드
카드 값)
 IPv6 Flow Label: IPv6 헤더로부터 획득(특정한 IPv6 흐름 클래스 값
이거나 와일드카드 값)
 TOS: IPv4 Type of Service): IPv4 헤더로부터 획득(특정 IPv4 TOS
값이거나 와일드카드 값)
2007-01 정보보호응용
17
터널모드와 전송모드의 기능
2007-01 정보보호응용
18
TCP/IP
message
Application data
transport
layer
TCP
header
data
network
layer
data link
layer
Ethernet
header
TCP
header
data
IP
TCP
header header
data
IP
TCP
header header
data
TCP
header
data
segment
packet
Ethernet
trailer
2007-01 정보보호응용
frame
19
IPv4 Header
2007-01 정보보호응용
20
IPv6 Header
2007-01 정보보호응용
21
RFC 2402 발표목차
1. AH 개요
2. AH 헤더 형식(AH 구조)
2.1 다음-헤더(Next Header)
2.2 페이로드 길이 (Payload Length)
2.3 예약 필드 (Reserved)
2.4 보안 파라메터 인덱스 (SPI)
2.5 순서 번호 (Sequence Number)
2.6 인증 데이터 (Authentication Data)
3. AH 적용 모드
4. 인증 알고리즘 (Authentication Algorithms)
5. 출발패킷처리(Outbound Packet Processing)
6. 도착패킷처리(Inbound Packet Processing)
7. 감사(Auditing)
2007-01 정보보호응용
22
인증 헤더 개요
 AH 헤더
 비연결형 무결성, 데이터 발신처 인증, 재전송 공격 보호,
address spoofing 공격 보호 기능 제공
 MAC(message authentication code) 사용 기반 인증 제공
 통신 주체간 비밀키 공유 필요
 단독으로 사용 또는 ESP와 결합되어 사용 가능
 호스트의 쌍, 보안 게이트웨이의 쌍, 호스트와 게이트웨이 간에 보안 서
비스 제공
 ESP와 AH가 제공하는 서비스들 간의 가장 중요한 차이점은 보호 서
비스의 적용범위
 IP헤더 필드들이 터널 모드 ESP에 의해서 캡슐화되는 경우가 아니
면, ESP는 어떠한 IP 헤더 필드들도 보호하지 못한다.
2007-01 정보보호응용
23
AH 헤더 형식
 AH 헤더의 바로 앞에 오는 프로토콜 헤더는 그 프로토콜 필
드 내에, 또는 다음-헤더(Next Header) 필드에 값 51을 포
함
0
15
7
Next Header
Payload Length
31
Reserved
Security Parameter Index (SPI)
Sequence Number Field
Authentication Data (variable length)
2007-01 정보보호응용
24
다음-헤더(Next Header)
 AH 헤더 뒤에 오는 페이로드 타입의 식별에 사용
 8-비트 길이
 필드값은 IANA가 만든 “Assigned Number“로 RFC에 정의된 IP 프로토
콜 숫자들의 집합에서 선택
 ex) IPv6에서의 확장헤더, 상위 레벨 프로토콜에 대한 식별자 등등 반드시 구현
2007-01 정보보호응용
25
페이로드 길이 (Payload Length)
 페이로드 길이를 정의하는 8-비트 필드
 AH 길이를 32비트 워드 단위로 표시, 전체 값에서 "2"를 뺀 값
 96-비트인 인증 값 + 고정된 부분인 3개의 32-비트 워드 길이가 더해
진 "standard"한 경우 페이로드 길이 값은 "4"가 됨
 디버깅 목적으로 "null" 인증 알고리즘이 사용되어 해당되는 인증 데이
터 필드가 없는 경우
 IPv4의 경우 페이로드 길이 필드에 "1" 값
 IPv6인 경우에는 페이로드 길이 필드에 "2" 값
2007-01 정보보호응용
26
예약 필드 (Reserved)
 장래 사용을 위해 예약
 16-비트 필드
 인증 데이터 계산 시에 "0"으로 설정되어야 함(MUST)
 인증 데이터 계산 시에 포함됨.
2007-01 정보보호응용
27
보안 파라메터 인덱스 (SPI)
 목적지 IP 주소와 보안 프로토콜(AH)과 함께 데이터그램에 대한 SA를
식별하기 위해서 사용
 임의의 32-비트 값
 1에서 255까지의 범위를 갖는 SPI 값들은 IANA에 의해 예약
 0 값은 지역적 사용을 위해 존재, 전송안함.
 키 관리 요소가 새로운 SA를 설정하도록 요청 받았는데 SA가 아직 설
정되지 않았을 경우, zero의 값을 가지는 SPI 값을 "No Security
Association Exists"(SA가 존재하지 않음)을 나타내는 용도로서 사용가
능
2007-01 정보보호응용
28
순서 번호 (Sequence Number)
 부호 없는 32-비트 필드, 점차적으로 증가하는 카운터 값
 재전송 공격 방지 서비스에 사용
 반드시 요구되는 사항
 순서번호 처리는 수신측의 결정에 따름. 송신측(필수전송)
 송신측의 카운터는 SA가 설정될 때 0으로 초기화
 주어진 SA내에서 처음으로 보내어지는 패킷은 순서번호 1 할당
 전송되는 순서번호가 순환되어서는 안됨.
 송신측의 카운터와 수신측의 카운터는 그 SA내에서 2^32 번째 패킷의 전
송에 앞서 (새로운 SA와 새로운 키의 수립에 의해) 0으로 재설정되어야
함(MUST).
2007-01 정보보호응용
29
인증 데이터 (Authentication Data)
 패킷에 대한 무결성 검사 값(ICV: Integrity Check Value)을 포함하는 가변길이
필드
 필드의 길이는 반드시 32 비트의 정수배
 명시적인 패딩 포함 가능
 패딩은 AH 헤더의 길이가 IPv4의 경우에는 32비트 정수배가 되도록, IPv6의 경
우에는 64비트 정수배가 되도록 한다.
 모든 구현은 반드시 패딩을 지원해야 한다(MUST).
2007-01 정보보호응용
30
재전송-방어 서비스
 재전송 공격: 공격자가 인증된 패킷의 복사본을 확보하여 의도하는 목
적지로 재전송하는 공격
 순서번호를 이용한 공격 방어
 새로운 SA가 확립되면 송신자는 순서번호 0으로 초기화
 패킷을 본 SA로 전송할 때마다 순서번호를 1씩 증가
 SN이 상한값 (232-1)이 되면 새로운 SA 설정 필요
 IP는 비연결형 이므로 모든 패킷의 전달 보장 불가
 수신자가 윈도우 크기(기본 값 W=64)구현 필요
 N: 유효 패킷의 가장 높은 순서번호
 (N-W+1)부터 N 사이의 순서번호 패킷은 인증된 유효 패킷
2007-01 정보보호응용
31
재전송-방어 메커니즘
2007-01 정보보호응용
32
재전송-방어 처리 절차
1. 수신된 패킷이 윈도우 범위 내에 있고 새로운 것이면 MAC를 점검한다.

패킷이 인증되면 윈도우 안의 해당 슬롯을 표시한다.
2. 수신된 패킷이 윈도우의 오른쪽에 해당하고, 새로운 것이면 MAC를 점검한다.
 패킷이 인증되면, 이 순서 번호가 윈도우의 오른쪽 끝에 오도록 윈도우를 이동시키고 윈도우 안
의 해당 슬롯을 표시한다.
3. 수신된 패킷이 윈도우의 왼쪽에 해당하거나 또는 인증이 안되면 패킷을 폐기(감
사 이벤트)
2007-01 정보보호응용
33
무결성 점검값(ICV) 1/2
 인증 데이터 필드: 무결성 검사 값 포함
 메시지 인증 코드(MAC), 또는 코드의 잘려진 일부
 HMAC-MD5-96, HMAC-SHA-1-96 해쉬 코드 사용
 전체 HMAC 값에서 처음 96비트를 사용
 MAC 계산 대상
 전송 중에 변경되지 않거나 도착시 예측 가능한 IP헤더 필드
 인증 데이터 필드 이외의 AH 헤더
 전송 중에 변하지 않을 것으로 가정되는 전체 상위 계층 프로토콜
2007-01 정보보호응용
34
무결성 점검값(ICV) 2/2
 IPv4
 변하지 않는 필드: 헤더 길이와 발신지 주소
 변할 수 있지만 예측 가능한 필드: 목적지 주소
 변할 수 있는 필드: Time to Live, Header Checksum field
 Address spoofing 방어위한 보호 필드: 발신지/목적지 주소
 IPv6
 변하지 않는 필드: 기본 헤더의 버전
 변할 수 있지만 예측가능: 목적지 주소
 변할 수 있는 필드: 흐름 레이블(0으로 설정 필요)
2007-01 정보보호응용
35
종단과 중계 시스템간의 인증
2007-01 정보보호응용
36
AH 적용 모드 (1/3)
 AH 적용 전
2007-01 정보보호응용
37
AH 적용 모드 (2/3)
 트랜스포트 모드
 호스트 구현에서만 적용 가능
 상위계층 프로토콜에 대한 보호 제공, IP 헤더보호 제공
 AH는 IP 헤더의 뒤, 그리고 TCP, UDP, ICMP 등과 같은 상위계층
프로토콜의 앞
2007-01 정보보호응용
38
AH 적용 모드 (3/3)
 터널 모드
 AH가 보안 게이트웨이나 방화벽에서 터널 모드를 사용
 안쪽 IP 헤더가 최후의 source와 destination 주소를 가지고, 바깥
IP 헤더가 다른 IP 주소, 즉, 보안 게이트웨이의 주소를 가짐.
 안쪽 IP 헤더 전체를 포함하는 IP 패킷 전체를 보호
2007-01 정보보호응용
39
RFC 2406 발표목차
1. ESP 개요
2. ESP 패킷 형식
2.1 보안 파라메터 인덱스(SPI)
2.2 순서번호(Sequence Number)
2.3 페이로드 데이터(Payload Data)
2.4 패딩(Padding)
2.5 패드 길이(Pad Length)
2.6 다음-헤더(Next Header)
2.7 IANA Assign Number
2.8 인증 데이터(Authentication Data)
3. ESP 적용 모드
4. 암호화 알고리즘
5. 인증 알고리즘
6. 출발패킷처리(Outbound Packet Processing)
7. 도착패킷처리(Inbound Packet Processing )
8. 감사(Auditing)
2007-01 정보보호응용
40
ESP 개요
 ESP 헤더는 IPv4와 IPv6에서 여러 가지 보안 서비스를 제공하기 위해 설계
 단독, AH와 함께 쓰이거나 중첩된 형태로 사용
 호스트-호스트, GW-GW, GW-호스트간의 보안 서비스 제공
 ESP 제공 서비스
 비밀성 : 공유 정보를 이용하여 패킷 일부 암호화 비밀성과 인증 모두 선택적이지만 둘 중 하나
는 반드시 구현
 데이터 발신처 인증 : 공유된 키 값 소유
 비연결형 무결성 : MAC
 재전송 방지 서비스 : 부분적 순서 무결성의 형태, 순서번호
 제한된 트래픽 흐름 비밀성 : 터널모드에서 제공
2007-01 정보보호응용
41
ESP 패킷 형식
2007-01 정보보호응용
42
보안 파라메터 인덱스(SPI)
 목적지 IP 주소와 ESP와 같은 보안 프로토콜과 함께 이 데이터그램에 대한 SA
를 식별
 임의의 32-비트 값
 SPI 필드는 반드시 구현
 1에서 255까지의 SPI 값의 집합은 Internet Assigned Numbers Authority(IANA)
에 의해 예약
 zero의 SPI 값은 “로컬”한 사용을 위해 예약, 전송을 안함
 키 관리 요소가 새로운 SA를 설정하도록 요청 받았는데
 SA가 아직 설정되지 않았을 경우, zero의 값을 가지는 SPI 값을 "No Security Association
Exists"(SA가 존재하지 않음)을 나타냄
2007-01 정보보호응용
43
순서 번호 (Sequence Number)
 부호 없는 32-비트 필드, 점차적으로 증가하는 카운터 값
 재전송 공격 방지 서비스에 사용
 반드시 구현 요구되는 사항
 순서번호 필드의 처리여부는 수신측의 결정에 따름. 송신측(필수 전송)
 송신측의 카운터는 SA가 설정될 때 0으로 초기화
 주어진 SA내에서 처음으로 보내어지는 패킷은 순서번호 1 할당
 전송되는 순서번호가 순환되어서는 안됨.
 송신측의 카운터와 수신측의 카운터는 그 SA내에서 232번째 패킷의 전
송에 앞서 (새로운 SA와 새로운 키의 수립에 의해) 0으로 재설정되어야
함(MUST).
2007-01 정보보호응용
44
페이로드 데이터(Payload Data)
 다음-헤더(Next Header) 필드에 의해 기술되는 데이터를 포함하는 가변길이
필드
 전송 레벨 세그먼트(트랜스포트 모드) 또는 암호화로 보호되는 IP패킷(터널 모
드)
 반드시 구현, 길이는 바이트들의 정수 배
 페이로드를 암호화하는 초기화 벡터가 요구될때 페이로드 필드에 명시적으로
포함되어 전달가능(MAY).
2007-01 정보보호응용
45
패딩(Padding)
 패딩 필드의 사용이 필요한 이유
 사용되는 암호화 알고리즘에서 정수 배의 평문 길이 요구
 평문이 알고리즘에 의해서 요구되는 길이가 되도록 채움
 평문 : 패딩, 페이로드 데이터, 패드 길이(Pad Length), Next Header 필드 포함
 암호화 결과로 나오는 암호문이 4-바이트 경계로 끝나도록 요구


인증 데이터 필드가 4-바이트 경계에서 배치되도록 하기 위함
패드 길이와 Next Header 필드는 4바이트 워드 내에서 오른쪽으로 정렬되어
야 함. (ESP 패팃 형식 그림 참조)
 트래픽 플로우 비밀성을 지원, 페이로드의 실제 길이를 숨기는 데에 사용, 대역폭
고려 사용
 패딩시 주의사항
 블록 크기의 정수 배가 되기 위한 패딩계산은 초기화 벡터, 패드 길이, Next
Header 필드들에 소요되는 길이를 제외
 인증 데이터가 4-바이트 단위가 되기 위한 패딩계산은 초기화 벡터, 패드 길이,
Next Header 필드를 포함하여 계산
 평문에 부가되는 처음의 패딩 바이트는 1로 번호가 매겨지고 다음에 오는 패딩 바이트
들은 점차적으로 증가되는 순서값 : 1, 2, 3, …을 갖는다.
2007-01 정보보호응용
46
패드 길이(Pad Length)
 패드 바이트들의 길이를 지정
 유효한 값의 범위는 0에서 255
 0의 값은 아무런 패딩 바이트도 존재하지 않는다는 것을 의미
 필수 구현(MUST).
2007-01 정보보호응용
47
다음-헤더(Next Header)
 ESP 헤더 뒤에 오는 페이로드 타입의 식별에 사용
 8-비트 길이
 필드 값은 IANA가 만든 “Assigned Number“로 RFC에 정의된 IP 프로토콜 숫자
들의 집합에서 선택
ex) IPv6에서의 확장 헤더, 상위 레벨 프로토콜에 대한 식별자
 필수 구현(MUST).
2007-01 정보보호응용
48
IANA Assign Number (www.iana.org)
 Next Header types
00 = Hop-by-Hop Options
43 = Routing
44 = Fragment
51 = Authentication
60 = Destination Options
50 = Encapsulating Security Payload
xx = Upper Layer Header
58 = Internet Control Message Protocol (ICMP)
59 - no next header
 Upper Layer Header
01 ICMP
50 ESP
51 AH
41 IPv6
56 TLSP
57 SKIP
58 IPv6-ICMP
59 IPv6-NoNxt
60 IPv6-Opts
Internet Control Message
Encap Security Payload for IPv6
Authentication Header for IPv6
Ipv6
Transport Layer Security Protocol
SKIP
ICMP for IPv6
No Next Header for IPv6
[RFC1883]
Destination Options for IPv6
2007-01 정보보호응용
[RFC792]
[RFC1827]
[RFC1826]
[Deering]
[Oberg]
[Markson]
[RFC1883]
[RFC1883]
49
인증 데이터(Authentication Data)
 인증 데이터 자체를 제외한 ESP 패킷에 대해 계산되는 무결성 검사 값(ICV) 포
함
 가변 길이의 필드
 필드의 길이는 선택된 인증 함수에 의해서 명시
 인증 데이터 필드는 옵션, 질의에서 SA에 대한 인증 서비스가 선택되었을 경우
에만 포함
2007-01 정보보호응용
50
암호화 알고리즘
 반드시 구현해야 하는 알고리즘
 DES in CBC mode
 HMAC with MD5
 HMAC with SHA-1
 NULL Authentication algorithm
 NULL Encryption algorithm
 사용하기 위한 암호화 알고리즘은 SA에 의해 명시
 ESP는 대칭키 암호화 알고리즘을 사용할 수 있도록 설계
 IP 패킷들은 순서대로 도착하지 않을 수 있기 때문에, 각 패킷은 수신측에서 복
호화 시에 암호학적 동기화 데이터를 포함해야 함.
 명시적으로 페이로드 필드에 포함되어 전달(ex: 초기화 벡터)
 패킷 헤더로부터 유도.
 ESP는 평문에 대한 패딩을 제공하기 때문에, 블록 모드, 스트림 모드 지원.
 인증과 암호화가 각각 NULL이 될 수 있지만 동시에 둘 다 NULL이 되어서는 안
됨.
2007-01 정보보호응용
51
인증 알고리즘
 ICV 계산에 인증 알고리즘 사용
 SA에 의해 명시.
 대칭키 암호화 알고리즘, 일방향 해쉬 알고리즘에 기반을 둔
 Keyed 메시지 인증 코드들(Message Authentication Codes, MACs)을 포함
 인증이 선택적이기 때문에, 이 알고리즘은 NULL 가능.
2007-01 정보보호응용
52
전송 모드 대 터널 모드의 암호화
2007-01 정보보호응용
53
ESP 적용 모드 (1/4)
 트랜스포트 모드
 호스트 구현에서만 적용 가능
 상위계층 프로토콜에 대한 보호 제공, IP 헤더보호 없음
 ESP는 IP 헤더의 뒤, 그리고 TCP, UDP, ICMP 등과 같은 상위계층프로토콜의 앞, 이미 삽입된
다른 모든 IPsec 헤더의 앞에 위치
IPv4 Header Before Applying ESP
IP Header
Transport
Protocol Header
Transport
Protocol Data
IPv4 Header After Applying ESP
IP Header
ESP
Header
Transport Protocol
Header
Transport
Protocol Data
ESP
Trailer
ESP Auth
Encrypted
Authenticated
2007-01 정보보호응용
54
ESP 적용 모드 (2/4)
IPv6 Header Before Applying ESP
IP Headers
Extension Headers)
Data
TCP
IPv6 Header After Applying ESP
IP Header
Added ext header
ESP
Header
Data
TCP
ESP
Trailer
ESP Auth
Encrypted
Authenticated
* If present, can be before ESP, after ESP, or both
2007-01 정보보호응용
55
ESP 적용 모드 (3/4)
 터널 모드
 ESP는 호스트나 보안 게이트웨이에서 사용
 ESP가 보안 게이트웨이에서 구현될 때 터널 모드 반드시 사용
 안쪽(inner)의 IP 헤더가 최후의 source와 destination 주소를 가지고, 바깥의(outer) IP 헤더가
다른 IP 주소, 즉, 보안 게이트웨이의 주소를 가짐. (가입자의 트래픽 전송을 보호)
 안쪽의 IP 헤더 전체를 포함하는 IP 패킷 전체를 보호
 ESP의 위치는 바깥쪽의 IP 헤더에 대해서, 트랜스포트 모드에서의 ESP의 위치와 동일
2007-01 정보보호응용
56
ESP 적용 모드 (4/4)
IPv4 Header Before Applying ESP
IP Header
Data
TCP
IPv4 Header After Applying ESP
New IP Header
ESP
Header
ESP
Trailer
Data
TCP
ESP Auth
Encrypted
Authenticated
IPv6 Header Before Applying ESP
IP Header
TCP
Extension Headers
Data
IP6 Header After Applying ESP
New IP
Header
Extension
Headers
ESP
Header
Original IP
Header
Orig Ext
Headers
TCP
Data
ESP
Trailer
ESP Auth
Encrypted
Authenticated
2007-01 정보보호응용
57
보안연관의 결합
 하나의 SA가 AH 또는 ESP 프로토콜을 구현(2가지는 불가)
 특정 트래픽이 AH 및 ESP 2가지 동시 호출 가능
 동일한 특정 트래픽에 대하여 호스트들간의 보안 기능과 보안 게이트웨이들 사
이의 보안기능이 분리된 서비스 요구 가능
 다중 SA의 사용 필요
 보안연관 묶음(Security Association Bundle)
 원하는 IPSec 서비스를 위하여 연속되는 SA
 Transport Adjacency
 같은 IP 패킷에 하나 이상의 보안 프로토콜 적용
 Iterated Tunneling
 IP 터널을 통해 여러 계층의 보안 프로토콜 적용
2007-01 정보보호응용
58
인증과 기밀성 선택결합
 인증 선택을 가진 ESP(암호화 후에 인증)
 데이터에 ESP를 먼저 적용하고 인증데이터 필드를 부가
 전송모드 ESP: IP 헤더 보호 불가
 터널모드 ESP: 인증은 외부 IP 목적지에서 실행
 전송 결합(암호화 후에 인증)
 ESP SA 가 내부이고, AH SA가 외부인 2개의 전송묶음 SA 사용(ESP 인증 선택 없이 사용)
 인증이 발신지와 목적지 IP 주소 포함하는 장점
 2개의 SA가 사용되는 오버헤드가 단점
 전송-터널 묶음
 암호화에 앞서 인증을 수행(예: 내부 AH 전송 SA와 외부 ESP 터널 SA 묶음을 사용)
 암호화로 인증 데이터를 보호하는 장점
 나중에 참조를 위해 인증정보의 저장이 필요할 때 유리
2007-01 정보보호응용
59
키 관리
 IPSec의 키 관리 부분은 비밀 키의 결정 및 분배를 포함하고 있다.
 IPSec 구조의 2가지 키 관리 지원 유형
 수동(Manual)
 시스템 관리자가 수동으로 각 시스템을 자신의 고유 키와 다른 통신 시스템의 키를 갖도록

설정
작은 규모이면서 상대적으로 안전한 환경에서 실용적
 자동(Automated)
 자동화된 시스템은 SA를 위한 키 생성 요구를 가능하게 하고, 환경 설정이 포함된 대규모
분산 시스템에서 키의 사용을 관리할 수 있도록 한다
 IKE
 Internet key exchange
 Ipsec을 위한 기본으로 설정된 자동화된 키 관리 프로토콜
 ISAKMP, Oakley, SKEME,Photuris 등의 프로토콜들을 복합적으로 혼합시킨 형태
2007-01 정보보호응용
60
키 관리
 Oakley(Oakley Key Determination Protocol)
 Oakley는 Diffie-Hellman 알고리즘을 기반으로 한 키 교환 프로토콜이지만 추가
적인 보안을 제공한다.
 ISAKMP(Internet
Protocol)

Security
Association
and
Key
Management
ISAKMP는 인터넷 키 관리를 위한 구조를 제공하고, 보안 속성을 협상하기 위한
형식을 포함하는 특정 프로토콜 지원을 제공한다.
2007-01 정보보호응용
61
키 관리
 Oakley 키 결정 프로토콜
 Diffie-Hellman 알고리즘 장점
 비밀키는 필요할 때만 생성한다. 시간이 지날수록 비밀 키의 취

약성이 노출되므로 오랫동안 저장해둘 필요가 없다.
교환은 전역 매개 변수에 대한 동의 외에 다른 사전 기반 구조
를 필요로 하지 않는다.
 Diffie-Hellman 알고리즘 단점
 상대편을 확인할 수 있는 정보를 제공하지 않는다.
 man-in-the-middle 공격을 받을 수 있다.
2007-01 정보보호응용
62
키 관리
 Oakley의 특징
 쿠키라고 알려진 방해 공격을 예방하는 메커니즘을 채용하고 있다.
 두 당사자가 그룹으로 협상할 수 있다.
 재전송 공격을 막기 위해 비표를 사용한다.
 Diffie-Hellman 공개 키 값의 교환이 가능하다
 man-in-the-middle 공격을 예방하기 위해 Diffle-Hellman 교환을 인증한다.
 ISAKMP 쿠키 생성의 기본적인 요구사항
 쿠키는 특정 상대에게 의존적이어야 한다.
 유포한 개체가 아닌 어느 누구도 그 개체를 수용할 쿠키를 생성할 수 없어야 한다.
 쿠키의 생성과 확인 방법을 프로세서 자원을 파괴하려는 공격자가 방해하는 것보다 빨라야 한
다.
2007-01 정보보호응용
63
키 관리
 Oakley에서의 3가지 인증 방식
 디지털 서명(Digital signatures)
상호간에 획득할 수 있는 인증된 교환
 공개키 암호화(Public-key encryption)
송신자의 비밀 키 교환은 ID 나 비표와 같은 암호화한 매개변수에 의해 인증
 대칭키 암호화(Symmetric-key encryption)
어떤 out-of-band 메커니즘에서 추출된 키는 교환 매개변수의 대칭 암호화에 의
해 교환을 인증하기 위해 사용될 수 있다.
2007-01 정보보호응용
64
ISAKMP
 ISAKMP 는 보안 연관을 만들고, 교섭하고, 수정하고, 삭제하기 위한 절차와 패킷 형식
을 정의한다.

ISAKMP 헤더 형식
2007-01 정보보호응용
65
ISAKMP
 Initiator Cookie 64비트 : 개체의 구키는 SA 확립, SA 통지, SA 삭제 등의 시작
 Responder Cookie 64비트 : 응답 개체 쿠키는 초기화로부터 첫 메시지에는 널 값이다.
 Next Payload 8비트 : 메시지에 있는 첫 번째 페이로드 유형을 나타낸다.
 Major Version 4비트 : 사용중인 ISAKMP의 메이저 버전을 나타낸다.
 Minor Version 4비트 : 사용중인 마이너 버전을 나타낸다.
 Exchange Type 8비트 : 교환 유형 표시를 나타낸다.
 Flags 8비트 : ISAKMP 교환을 위한 특정 옵션 집합을 나타낸다.
2007-01 정보보호응용
66
ISAKMP
 ISAKMP 페이로드 유형
유형
보안 연관(SA)
매개변수
설명
DOI, 상황
보안 속성,교섭에 이용되며, 교섭이 일어났을 때 DOI와 상황을 가
리킨다.
제안(P)
제안#, 프로토콜-ID
SPI크기,변경회수, SPI
SA 교섭 중 사용됨; 사용되는 프로토콜과 변경 회수를 가리킨다.
변경(T)
변경회수, 변경-ID , SA속성
SA 교섭 중 사용됨; 변경 및 관련된 SA 속성 표시를 가리킨다.
키교환 데이터
다양한 키 교환 기술을 지원
ID 유형,ID 데이터
신원 정보 교환에 사용됨
인증서 데이터,인증서 인코딩
인증서나 인증서 관련 정보 전송에 사용됨
인증서 유형 번호
인증국 번호, 인증 기관
인증서 요구에 사용; 요구된 인증서의 유형 및 허용된 인증기관을
가리킨다.
해쉬(HASH)
해쉬 데이터
해쉬 함수로 만들어진 데이터를 포함한다.
서명(SIG)
서명 데이터
디지털 서명 기능으로 만들어진 데이터가 들어 있다.
비표(NONCE)
비표 데이터
비표가 들어있다.
통지(N)
프로토콜-ID,SPI 크기
통지메시지 형식,통지데이터
에러 상태 등과 같은 통지 데이터 전송에 사용
삭제(D)
프로토콜-ID,SPI 크기
SPI 번호,SPI
더 이상 유효하지 않은 SA 표시
키교환(KE)
식별(ID)
인증서(CERT)
인증서 요구(CR)
2007-01 정보보호응용
67
ISAKMP 교환유형
교 환
참 고
기본 교환
1)
2)
3)
4)
I-R:
R-I:
I-R:
R-I:
SA;
SA;
KE;
KE;
NONCE
NONCE
IDI:AUTH
IDR:AUTH
ISAKMP-SA 절충을 시작한다.
기본 SA를 동의한다.
키가 생성됨; 응답자에 의해 초기 개체를 확인한다.
초기자 의해 확인된 응답자 개체; 키가 생성됨; SA가 만들어짐
신원 보호 교환
1)
2)
3)
4)
5)
6)
I-R: SA
R-I: SA
I-R: KE; NONCE
R-I: KE; NONCE
*I-R: IDI; AUTH
*R-I: IDR; AUTH
ISAKMP-SA 절충을 시작한다.
기본 SA를 동의한다.
키가 생성된다
키가 생성된다
응답자에 의해 초기자 개체가 확인된다.
초기자에 의해 확인된 응답자 개체; SA가 만들어짐
인증만을 위한 교환
1) I-R: SA; NONCE .
2) R-I: SA; NONCE; IDR;AUTH
3) I-R: ID; AUTH
ISAKMP-SA 절충이 시작된다.
기본 SA가 동의 된다; 초기자에 의해 확인된 응답자 개체
응답자에 의해 확인된 초기자 개체;SA가 만들어짐
공격적인 교환
1) I-R: SA; KE; NONCE; IDI
2) R-I: SA; KE; NONCE; IDR; AUTH
3) *I-R: ATUTH
ISAKMP-SA 절충과 키 교환이 시작된다.
응답자에 의해 초기 개체가 확인된다; 키가 생성된다, 응답자 개체에 따라 동의된
개별 SA가 초기자에 의해 확인된다. SA가 확립된다.
정보 교환
1) *I-R:N/D
에러 또는 상태 통지 또는 삭제
2007-01 정보보호응용
68