문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [[분류: 네트워크 보안]] == 개요 == IPsec은 [[네트워크 계층]]에서 무결성, 기밀성, 종단간 인증을 제공하는 프로토콜이다. == 종류 == RFC에는 십여가지의 정의가 있지만 그중 특히 AH (Authentication Header) 프로토콜과 ESP (Encapsulation Security Payload)가 중요한 역활을 담당한다. # AH는 출발지 인증과 데이터 무결성을 제공하지만 기밀성을 제공하지 않는다. # ESP 프로토콜은 출발지 인증, 데이터 무결성, 그리고 기밀성을 제공한다. == SA (Security Associations) == IPsec 데이터그램을 전송하기 전에 출발지 개체와 목적지 개체는 네트워크 계층에서 논리적 연결을 설립한다. 이 논리적 연결이 SA이다. SA는 단방향 연결이어서 출발지로부터 목적지 방향으로만 데이터가 흐를 수 있다. SA는 다음과 같은 상태정보를 포함한다. SA에 대한 32 비트 식별자 (SPI) | SA 시작점의 주소와 최종점의 주소 | 사용하는 암호화 타입 | 암호키 | 무결성 검사 타입 | 인증키 라우터나 호스트는 SA로 보낼 정보를 복호화 하고 암호화하는 과정에서 SA의 상태정보를 확인하여 갱신한다. IPsec 개체는 모든 SA에 대한 상태정보를 그 개체의 OS 커널에 있는 SAD (Security Association Database)라는 데이터 구조에 저장한다. == SPD == 어떤 형태의 데이터그램이 IPsec으로 처리되어야 하는지와 그때 사용할 SA를 지시한다. 만약 내부 호스트가 네이버로 접속한다면 그냥 데이터를 보내고 가상 사설망을 이용하여 지점으로 연결한다면 IPsec을 이용하게 할 수 있다. == IPsec [[데이터그램]] == [[파일:IPsecHeader.png|400px|프레임없음|가운데]] # 원 [[IPv4]][[데이터그램]]의 뒤에 ESP 트레일러를 덧붙인다. # SA에 지정된 알고리즘과 키를 이용하여 위의 결과를 암호화한다. # 암호화된 결과의 앞에 [[ESP]] 헤더를 덧붙인다. # SA에 지정된 알고리즘과 키를 이용하여 전체 ESP 헤더 ~ ESP 트레일러의 내용의 [[무결성|MAC]] 인증을 생성한다. # ESP 트레일러 뒤에 MAC인증을 추가하여 페이로드를 만든다. # 전형적인 [[IPv4]] 헤더 필드들을 가지고 완전히 새로운 IP 헤더를 만들어 위의 페이로드 앞에 붙인다. 새로운 IPv4 필드의 상위 프로토콜 값으로는 50이 사용된다. 이는 이것이 ESP 프로토콜임을 알려준다. === ESP 트레일러 === # 패딩 (Padding): 패딩은 블록 암호화 방식에서 지정된 길이를 맞출 수 있도록 의미없는 값으로 채워지는 공간이다. # 패딩 길이 (Pad length): 패딩비트가 얼마나 삽입되었는지 알려준다. # 다음헤더: 페이로드에 포함된 데이터의 타입을 지시한다. === ESP 헤더 === # SPI: 수신 개체에게 데이터그램이 어느 SA에 속해 있는지 지시해준다. # 순서번호: 재생 공격에 대응하기 위해 사용된다. == 수신자의 행동 == # 데이터그램의 목적지를 확인하여 자신이 목적지인지 확인한다. # 상위 프로토콜 필드의 값을 확인하여 50이면 IPsec을 이용하였음을 알게 된다. # IPsec 헤더를 확인하여 어떤 SA를 이용해야 하는지 확인한다. # MAC필드를 이용하여 무결성을 확인한다. # 순서번호 필드를 검사하여 중복데이터가 전송되었는지 확인한다. # SA에 관련된 복호화 알고리즘을 확인하여 암호화된 부분을 복호한다. # 패딩 비트를 삭제하여 평범한 IP 데이터그램을 추출한다. # 원래 IP 데이터그램을 IP 데이터그램이 요구하는 목적지로 전송한다. == 응용 == VPN (가상 사설망)은 기존 공공 인터넷 상에 IPsec을 이용한 패킷을 보내어, 기밀성을 제공하고 내부 페이로드를 이용하여 마치 내부의 서버에 직접 연결되어 있는 것처럼 서비스를 누리게 해준다. IPSec 문서로 돌아갑니다.