1. IPSec (IP Security)
ㅇ 네트워크계층(IP 계층) 상에서, IP 패킷 단위로 `인증`,`암호화`,`키관리`를 하는 프로토콜
2. IPSec의 특징
ㅇ 인터넷 경유 구간에, 일종의 보안 통로인 터널링 형성을 가능케 함
- Layer 3 계층에서, 캡슐화에 의해 보안 통로 제공
ㅇ 응용 소프트웨어 필요 없이, 대부분 운영체제에서 직접 제공
- 수송계층(TCP,UDP등) 하위에서 구현되기 때문에, 응용에 투명함
- 대부분, 운영체제 쪽에서 IPSec 구현 기능을 직접 제공하는 편임
ㅇ 가상사설망(VPN)에서 특히 많이 사용
- 사이트 투 사이트, 클라이언트 투 서버, 클라이언트 투 게이트웨이 등 다양한 적용 가능
ㅇ IP 버젼별 요구 수준
- IPv4 : 선택적인 요구사항
- IPv6 : 보다 강제적인 요구사항
3. IPSec의 보안 서비스
ㅇ 통신 상대방 인증 (Peer Authentication)
ㅇ 데이터 원천(근원지) 인증 (Data Origin Authentication)
ㅇ 비연결형 무결성 (Connectionless Integrity)
- AH 헤더,ESP 헤더에 의해 제공
- 각 IP 패킷 마다 메세지 다이제스트가 생성되고, 이를 통해 매 패킷 마다 무결성 여부 확인됨
ㅇ 기밀성 (Confidentiality)
- 단, ESP 헤더 만 기밀성 제공
ㅇ 접근제어 (Access Control)
- 보안연관을 통해 간접적으로 접근제어 제공
- 만일, IP 패킷이 기설정된 보안연관이 없으면 이를 폐기하는 등
ㅇ 재생공격 방지 (Replay Attack Protection) 등
4. IPSec의 프로토콜 구조
※ IP 계층에서 안전하게 데이터를 보호하기 위하여 다음과 같이 복수의 요소들로 구성
ㅇ `보안성`을 제공하기 위한 2가지 종류의 프로토콜 `헤더`
- AH (인증 헤더, Authentication Header) ☞ AH 헤더 참조
. 발신지 인증,데이터 무결성 만을 보장
- ESP (캡슐화된 보안 페이로드, Encapsulating Security Payload) ☞ ESP 헤더 참조
. 발신지 인증,데이터 무결성,기밀성 모두를 보장
ㅇ `키 관리`를 위한 기능 및 기반구조를 정의하는 프로토콜
- IKE (Internet Key Exchange)
. IPSec을 위한 SA(보안연관)을 생성하며, 그에따른 키 교환을 수행하는 복합 프로토콜
.. 공개 키 방식 구현이 가능하도록, 공개키,개인키 교환을 하는 프로토콜
- ISAKMP (Internet Security Association and Key Management Protocol)
. IKE 교환을 위한 메세지 형식,전달 절차 등을 규정하는 기반구조로써 설계됨
- 여기서, SA(Security Association,보안연관) 이라 함은,
. 보안 속성들을 함께 결합시켜, 세분화 및 추상화된 개념을 말하며,
. 일련의 보안연관을 생성하는 과정이, 바로 IKE에 의함
5. IPSec의 운용 모드 및 방식
※ ☞ IPSec 운용 모드 참조
- 운용 모드
. Tunnel 모드 (터널 모드) : 패킷 전체 보호
.. IP 패킷 전체를 보호, 그 위에 새로운 IP 헤더를 추가하는 방식
.. `두 라우터 간에`, `호스트와 라우터 간에`, `두 게이트웨이 간에` 주로 사용 (IPSec VPN)
. Transport 모드 (수송 모드) : 패킷 일부 보호
.. IP 헤더 이외 나머지 데이터 부분 만 보호하는 방식
.. `호스트 대 호스트 (종단대종단) 간에` 주로 사용
- 운용 방식
. AH 수송 모드 (AH Transport mode)
. AH 터널 모드 (AH Tunnel mode)
. ESP 수송 모드 (ESP Transport mode)
. ESP 터널 모드 (ESP Tunnel mode)
6. IPSec의 통신 과정(절차)
※ 크게, 'IKE를 통한 설정 단계'와 '실제 데이터 전송 단계'로 구분
ㅇ 1단계 : SA(Security Association) 설정 (IKE/ISAKMP)
- 데이터를 주고받기 전, 양단(상대방) 간에 어떤 알고리즘과 키를 사용할지 합의하는 과정
. IKE Phase 1 (ISAKMP SA) : 양쪽 장비 간의 신뢰 관계를 구축
.. 인증을 거쳐 보안 채널을 형성하며, 이 채널을 통해 이후의 대화가 보호됨
. IKE Phase 2 (IPSec SA) : 보안 파라미터 구체화
.. 실제 데이터 보호용 보안 파라미터(암호화 알고리즘, 인증 알고리즘, 수명 등)를 협상하고,
.. 키를 생성
ㅇ 2단계 : 데이터 패킷 보호 및 전송 (AH 또는 ESP)
- 합의된 SA 정보를 바탕으로 실제 IP 패킷을 보호
. 캡슐화 : 송신 측에서 보호할 데이터(페이로드)에 대해 AH 또는 ESP 헤더를 추가하고,
.. 필요시 암호화 및 인증을 수행
. 전송 : 캡슐화된 패킷이 네트워크를 통해 상대방에게 전달됨
. 터널링 : IPSec 운용 모드 중 터널 모드 사용 시,
.. 원본 IP 패킷 전체가 새로운 IP 헤더로 감싸져 목적지 게이트웨이까지 안전하게 이동
ㅇ 3단계 : 데이터 수신 및 복호화/검증
- 수신 : 수신 측은 동일한 SA 정보를 사용하여 패킷을 식별
- 검증 및 복호화
. AH : 수신된 패킷의 무결성과 근원지 인증을 확인
. ESP : 암호화된 데이터를 복호화하고, 무결성/인증을 확인
- 해제 : 보호를 위해 덧붙였던 헤더를 제거하고, 원본 데이터를 상위 계층으로 전달
ㅇ 4단계 : SA 종료
- 설정된 SA의 유효 시간(Lifetime)이 지나거나 통신을 종료할 경우,
보안 연결을 해제하고 사용된 키를 폐기함