최신판 |
당신의 편집 |
1번째 줄: |
1번째 줄: |
| =개요= | | ==개요== |
| | | * 보안에 취약한 구조를 가진 IP의 보안을 위하여 국제 인터넷 기술 위원회(IETF)에서 설계한 표준(RFC2401) |
| *보안에 취약한 구조를 가진 IP의 보안을 위하여 국제 인터넷 기술 위원회(IETF)에서 설계한 표준(RFC2401) | | * IPv4에선 보안이 필요한 경우에만 선택적으로 사용하였지만 IPv6부턴 기본 스펙에 포함됨 |
| *IPv4에선 보안이 필요한 경우에만 선택적으로 사용하였지만 IPv6부턴 기본 스펙에 포함됨 | |
| | |
| ==보안성==
| |
| {| class="wikitable"
| |
| !특징
| |
| !설명
| |
| !적용기술
| |
| |-
| |
| |기밀성
| |
| |암호화된 트래픽을 통해 데이터 노출 방지
| |
| |
| |
| *ESP프로토콜
| |
| *대칭키 암호화
| |
| |-
| |
| |비연결형 무결성
| |
| |메시지가 위변조되지 않았음을 보장
| |
| |AH의
| |
| 메시지 인증 코드(MAC)
| |
| |-
| |
| |데이터 원천 인증
| |
| |정상 사용자로부터 송신된 데이터임을 보장
| |
| |AH의
| |
| 메시지 인증 코드(MAC)
| |
| |-
| |
| |재전송 공격 방지
| |
| |순서 번호를 유지하여 재전송 공격 방지
| |
| |보안 연관(Security Association)의
| |
| 순서 번호(Sequence Number)
| |
| |-
| |
| |접근제어
| |
| |패킷의 허용, 폐기 보호 등 적용
| |
| |보안 정책(Security Policy)
| |
| |-
| |
| |제한된 트래픽 흐름의 기밀성
| |
| |패킷의 출발지와 목적지에 대한 정보를 제한적으로 암호화
| |
| |ESP프로토콜/터널 모드
| |
| |}
| |
| | |
| =아키텍처=
| |
| | |
| ==SA(Security Association)==
| |
| | |
| ;IPSec을 사용하는 두 Peer간의 협약
| |
| | |
| *'''주요 요소'''
| |
| **Sequence Number Counter : 패킷의 일련번호 카운터
| |
| **Anti-Replay Window : 재전송 공격을 방어하기 위한 윈도우 값
| |
| **AH/ESP : 프로토콜 정보
| |
| **Lifetime : 세션 만료 기간
| |
| **Mode : 동작모드(전송/터널)
| |
| **Path MTU : 경로의 MTU 값
| |
| | |
| ==SP(Security Policy)==
| |
| | |
| ;일종의 패킷 필터링 정책
| |
| | |
| *Incoming Traffic과 Outgoing Traffic으로 구분하여 정책을 지정한다.
| |
| *IP Packet의 허용/우회(Bypass), 폐기(Discard), 보호(Protection) 등을 지원한다.
| |
| *'''주요 요소'''
| |
| **Source/Destination IP Address
| |
| **Source/Destination Port
| |
| **Name : DNS 식별자, X500 이름 등의 식별자를 적는다.
| |
| **Transport Layer Protocol : TCP 또는 UDP
| |
|
| |
|
| ==2+1 프로토콜== | | ==2+1 프로토콜== |
| ===AH(Authentication Header)=== | | ===AH(Authentication Header)=== |
| | | * 메세지 인증 코드(MAC)를 이용하여 메시지 무결성(integrity)과 인증(Authentication)을 제공해주는 프로토콜 |
| ;AH (Authentication Header)는 IP Extension Header로서 IP Packet에 대한 인증을 제공한다.
| | * 암호화는 기본적으로 제공되지 않는다. |
| | |
| *메세지 인증 코드(MAC)를 이용하며 무결성(Data Integrity)과 인증(Authentication) 기능 제공 | |
| *암호화는 제공되지 않음 | |
| *구성
| |
| **Next Header(8bit) : Payload의 Data Type 으로 TCP는 6, UDP는 17
| |
| **Payload Length(8bit) : Payload의 length
| |
| **SPI(Security Parameters Index) : SA를 구분하기 위한 Index 값
| |
| **Authentication Data : SHA, Keyed MD5, HMAC-MD5-96, HMAC-SHA-1-96등의 인증 정보
| |
|
| |
|
| ===ESP(Encapsulating Security Payload)=== | | ===ESP(Encapsulating Security Payload)=== |
| | | * 메시지 인증 코드(MAC)를 이용하여 메시지 무결성(integrity)과 인증(Authentication)을 제공해주는 프로토콜 |
| ;새로운 데이터 IP Packet을 만들고 기존 IP Packet을 Data Payload에 넣어 감싸는 방식
| | * 대칭키 암호화를 통해 기밀성(Confidentiality)을 제공한다. |
| | |
| *AH가 가진 무결성과, 인증도 제공하고 추가적으로 대칭키 암호화를 통해 기밀성(Confidentiality) 제공 | |
| *구성
| |
| **SPI(Security Parameters Index) : SA를 구분하기 위한 Index 값
| |
| **IV(Initialization Vector) : CBC Encryption에 사용되는 초기 벡터
| |
| **Padding : Payload Data 와 Authentication Data를 구분하기 위한 패딩 | |
| **Pad Length : Padding의 Length
| |
| **Next Header(8bit) : Payload의 Data Type 으로 TCP는 6, UDP는 17
| |
| **Authentication Data : authentication value. AH와는 달리 authentication service가 선택되었을 경우에만 존재한다.
| |
|
| |
|
| ===IKE(Internet key Exchange)=== | | ===IKE(Internet key Exchange)=== |
|
| |
| ;[[IKE|IKE 문서 보기]]
| |
|
| |
| *IPSec에서 키 교환에 사용되는 프로토콜
| |
| *UDP 500 포트를 사용한다.
| |
| *종류
| |
| **Manual Key Exchange : 관리자가 수동으로 각 종단에 키를 설치해둠
| |
| **Simple Key Interchange : Sun Microsystems에서 제안. 표준으로 채택되지 않아 많이 사용하지 않음. 쉬운 구현이 장점.
| |
| **Internet Security Association : 표준 채택
| |
|
| |
|
| ==2가지 동작 모드== | | ==2가지 동작 모드== |
| ===전송 모드(Transport Mode)=== | | ===전송 모드(Transport Mode)=== |
|
| |
| *보호 범위
| |
| **IP 헤더를 제외한 IP 패킷의 페이로드(Payload)만을 보호
| |
| **IP 헤더는 암호화하지 않으므로 트래픽 경로는 노출된다.
| |
| *보호 구간
| |
| **일반적으로 종단 노드(End Node) 구간의 IP 패킷 보호를 위해 사용한다.
| |
|
| |
| ====AH의 경우====
| |
| {| class="wikitable"
| |
| |Original IP Header
| |
| !AH
| |
| |Original Payload
| |
| |}
| |
|
| |
| *기존 IP Header는 그대로 있고 기존 Payload 앞에 AH가 붙어서 새로운 Payload가 된다.
| |
|
| |
| ====ESP의 경우====
| |
| {| class="wikitable"
| |
| |Original IP Header
| |
| !ESP Header
| |
| |Original Payload(암호화)
| |
| !ESP Trailer
| |
| !ESP Authentication
| |
| |}
| |
|
| |
| *기존 IP Header는 그대로 있고 기존 Payload를 ESP로 감싼 것이 새로운 Payload가 된다.
| |
| *Original Payload는 암호화된 상태이다.
| |
| *Original Payload, ESP Trailer 에 대한 인증정보가 ESP Authentication에 들어간다.
| |
|
| |
|
| ===터널 모드(Tunneling Mode)=== | | ===터널 모드(Tunneling Mode)=== |
|
| |
|
| *보호 범위
| | ==패킷 송수신 절차== |
| **IP 패킷 전체를 보호
| |
| **암호화된 패킷에 IP 패킷에 IPSec 헤더를 추가하여 라우팅을 수행한다.
| |
| **IPSec 헤더는 구간 간 이동에 대한 정보만 있으므로 종단 정보(출발지, 목적지)와 트래픽 경로는 보호된다.
| |
| *보호 구간
| |
| **일반적으로 터널/보안 게이트웨이 구간 또는 종단 노드와 터널/보안 게이트웨이 구간의 IP 패킷 보호를 위해 사용한다.
| |
| | |
| ====AH의 경우====
| |
| {| class="wikitable"
| |
| !New IP Header
| |
| !AH
| |
| |Original IP Header
| |
| |Original Payload
| |
| |}
| |
| | |
| *IP Header가 새로 생성되고 기존 IP Packet전체가 Payload가 된다.
| |
| | |
| ====ESP의 경우====
| |
| {| class="wikitable"
| |
| !New IP Header
| |
| !ESP Header
| |
| |Original IP Header(암호화)
| |
| |Original Payload(암호화)
| |
| !ESP Trailer
| |
| !ESP Authentication
| |
| |}
| |
| | |
| *IP Header가 새로 생성되고 기존 IP Packet전체를 암호화하여 ESP로 감싼 것이 새로운 Payload가 된다.
| |
| *Original IP Header와 Original Payload 는 암호화된 상태이다.
| |
| *Original IP Header, Original Payload, ESP Trailer 에 대한 인증정보가 ESP Authentication에 들어간다.
| |
| | |
| [[분류:보안]]
| |
| [[분류:프로토콜]]
| |
| [[분류:정보보안기사]]
| |