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