개요
- IPsec은 네트워크에서 IP에 보안성을 제공해 주는 기능을 수행
- IPsec의 블록은 ESP(Encapsulating Security Payload)와 AH(Authentication Header)를 이용해 암호화 처리
IPsec 패킷
Ethernet Header | IP Header | ESP(TCP 헤더와 데이터로 생성함) | Ethernet Checksum |
- TCP 헤더가 생성되고 데이터 앞쪽에 붙임
- 헤더를 포함한 TCP 패킷 전체를 암호화하여 캡슐화 함
- IP헤더를 생성하고 패킷 앞에 붙임
- 이더넷 헤더와 체크섬을 생성하고 양쪽 끝에 붙임
ESP 구성 요소
SPI(Security Parameter Index)
보완 통신을 위한 알고리즘의 종류, 키와 키의 유효한 길이 값 등을 가지고 있으며, 이 패킷을 받을 장치가 어떤 것인지를 지정하는 32비트 값
Sequence Number
패킷의 순서 번호로, 패킷을 복사한 공격자가 응답 패킷을 보내는 공격을 막기 위한 수단으로 동작
Payload Data
전송된 데이터
Padding
- 0부터 255까지의 데이터를 사용하며, 암호화의 타입에 따라 다양한 숫자가 결정
- 스니핑하는 프로그램이 얼마나 많은 데이터를 전송했는지 파악하지 못하도록 하기 위함
Pad Length
패딩의 길이
Next Header
정상적인 다음 IP헤더로, 전송될 데이터 타입과 프로토콜에 대한 설며
Authentication Data
인증을 위한 필드
AH 구조
- AH에 의한 인증 방식은 ESP의 인증 서비스가 IP 헤더를 보호하지 않는다는 점에서 ESP서비스와는 다름
- AH는 IP 헤더와 전체 데이터에 대해 보호를 수행하며, IP 헤더 다음 ESP 이전에 위치
- Next Header는 AH 다음에 어떤 상위 레벨이 올 것인지 나타냄
- Reserved 필드는 현재 사용하지 않으며, 값은 0
- SPI는 연결을 위한 보안 파라미터의 구성 요소를 나타냄
- 순차 번호는 패킷을 전송할 때 마다 증가
- 인증 데이터는 패킷에 대한 인증 값