네트워크에서의 안전한 연결을 설정하기 위한 통신 규칙 또는 프로토콜 세트. 인터넷 프로토콜 (IP)은 데이터가 인터넷에서 전송되는 방식을 결정하는 공통 표준. 암호화와 인증을 추가하여 프로토콜을 더욱 안전하게 만든다. 예를 들면, IPSec은 데이터를 소스에서 암호화 한 다음 대상에서 복호화한다. 또한, 데이터의 소스를 인증한다.
Internet Engineering Task Force는 퍼블릭 네트워크에 액세스할 때 데이터의 기밀성, 무결성 및 신뢰성을 보장하기 위해 1990년대에 IPSec 개발. 사용자는 IPSec 가상 프라이빗 네트워크 (VPN)를 통해 인터넷에 연결, 원격으로 회사 파일에 액세스한다. IPSec 프로토콜은 중요한 정보를 암호화하여 원치 않는 모니터링을 방지한다. 또한, 수신된 데이터 패킷이 인증되었는지 확인할 수 있다.
조직은 IPSec을 활용, Replay Attack으로부터 보호한다. Replay 또는 MITM Attack은 중간 컴퓨터로 데이터를 라우팅, 진행 중인 전송을 가로채고 변경하는 행위이다. IPSec 프로토콜은 각 데이터 패킷에 순차적 번호를 할당하고, 검사를 수행하여 중복 패킷의 징후를 탐지한다.
데이터를 스크램블하여 권한이 없는 당사자로부터 콘텐츠를 보호하는 소프트웨어 기능. 데이터는 암호화 키로 암호화, 정보의 스크램블을 해제하려면 복호화 키가 필요하다. AES, BlowFish, Triple DES, ChaCha, DES-CBC 등 다양한 암호화 유형을 지원한다.
IPSec은 비대칭, 대칭 암호화를 이용, 데이터 전송 중에 빠른 속도와 보안을 제공. 비대칭 암호화에서는 암호화 키는 공개, 복호화 키는 비공개 유지한다. 대칭 암호화는 데이터의 암호화와 복호화에 동일 퍼블릭 키를 사용한다. IPSec은 비대칭 암호화로 보안 연결을 설정하고, 대칭 암호화로 전환하여 데이터 전송 속도를 높인다.
컴퓨터는 다음 단계를 통해 IPSec 프로토콜을 사용, 데이터를 교환한다.
발신 컴퓨터는 보안 정책을 확인하여 데이터를 전송하는 데 IPSec 보호가 필요한지 여부를 확인한다. IPSec 보호가 필요한 경우 컴퓨터는 수신 컴퓨터로의 보안 IPSec 전송을 시작한다.
두 컴퓨터 모두 보안 연결을 설정하기 위해 요구 사항을 협상한다. 여기에는 암호화, 인증, 기타 보안 연결(SA) 파라미터에 대한 상호 동의가 포함된다.
컴퓨터는 암호화된 데이터를 주고 받으며, 신뢰할 수 있는 소스에서 전송되었는지 확인한다. 기본 콘텐츠의 신뢰성을 확인하기 위해 검사를 수행한다.
전송 완료/세션 초과 시 컴퓨터는 IPSec 연결을 종료한다.
IPSec 프로토콜은 데이터 패킷을 안전하게 전송한다. 데이터 패킷은 네트워크 전송을 위해 정보를 포맷, 준비하는 특정 구조이며, 헤더, 페이로드, 트레일러로 구성된다.
1) AH (Authentication Header)

인증 헤더 (AH) 프로토콜은 발신자 인증 데이터가 포함된 헤더를 추가하고, 권한이 없는 당사자가 수정하지 못하도록 패킷 콘텐츠를 보호한다. 수신자에게 원본 데이터 패킷이 조작되었을 가능성을 경고한다. 데이터 패킷을 수신할 때 컴퓨터는 페이로드의 암호화 해시 계산 결과를 헤더와 비교하여 두 값이 일치하는지 확인한다. 암호화 해시는 데이터를 고유한 값으로 요약하는 수학 함수이다.
2) ESP (Encapsulation Security Protocol)

선택한 IPSec 모드에 따라, 보안 페이로드 캡슐화 프로토콜 (ESP)은 전체 IP 패킷 또는 페이로드에 대해서만 암호화를 수행한다. ESP는 암호화 시 데이터 패킷에 헤더와 트레일러를 추가한다.
3) IKE (Internet Key Exchange)

인터넷 키 교환 (IKE)은 인터넷에서 두 디바이스 간 보안 연결을 설정하는 프로토콜이다. 두 디바이스 모두 암호화 키, 알고리즘을 협상하여 후속 데이터 패킷을 송수신하는 보안 연결(SA)을 설정한다. (인증)
4) TLS (Transport Layer Security)

TCP 연결을 보호하는 데 사용하는 프로토콜로 기밀성, 무결성 및 인증을 제공하고, 키교환을 위해 RSA 및 DSA와 같은 비대칭 암호화 알고리즘을 사용한다. 또한, 데이터 암호화를 위해 AES 및 3DES와 같은 대칭 암호화 알고리즘을 사용한다.
5) ISAKMP (Internet Security Association and Key Management Protocol)

두 당사자 간의 보안 연결을 협상, 설정 및 유지 관리하는 데 사용되는 프로토콜이다.
6) KMP (Key Management Protocol)
암호화 및 복호화에 사용되는 키를 관리하는 데 사용되는 프로토콜이다.
7) SKIP (Simple Key Management for Internet Protocols)
중앙 키 배포센터 없이 두 당사자 간에 키를 교환하는 데 사용되는 프로토콜이다.
IPSec은 보호 수준이 서로 다른 두 가지 모드로 작동한다.
1) 터널 모드
권한이 없는 당사자로부터의 데이터 보호를 강화하므로, 퍼블릭 네트워크의 데이터를 전송하는 데 적합하다. 컴퓨터가 페이로드, 헤더를 포함한 모든 데이터를 암호화하고, 데이터에 새 헤더를 추가한다.
2) 전송 모드
데이터 패킷의 페이로드만 암호화하고, IP 헤더를 원래 형식으로 유지한다. 암호화되지 않은 패킷 헤더를 통해 라우터는 각 데이터 패킷의 대상 주소를 식별할 수 있다. 따라서, IPSec 전송 모드는 두 컴퓨터 간의 직접 연결을 보호하는 경우처럼, 가깝고 신뢰할 수 있는 네트워크에서 사용된다.
VPN은 사용자가 익명으로 안전하게 인터넷을 검색할 수 있도록 하는 네트워킹 소프트웨어이다. IPSec VPN은 IPSec 프로토콜을 사용, 인터넷에 암호화된 터널을 생성하는 VPN 소프트웨어이고, End to End 암호화를 제공한다. 즉, 데이터가 컴퓨터에서 스크램블되고 수신 서버에서 스크램블이 해제된다.
SSL VPN
SSL (Secure Socket Layer)은 웹 트래픽을 보호하는 보안 프로토콜이다. SSL VPN은 기본 SSL 프로토콜을 사용하여 네트워크 통신을 암호화하고 보호하는 브라우저 기반 네트워크 보안 서비스이다.
IPSec VPN과 SSL VPN의 차이점
두 보안 프로토콜은 OSI 모델의 서로 다른 계층에서 작동한다. OSI 모델은 컴퓨터가 네트워크에서 데이터를 교환하는 방식의 계층 구조를 정의한다.
IPSec 프로토콜은 OSI 모델의 중간에 있는 네트워크, 전송 계층에 적용되는 반면, SSL은 최상위 애플리케이션 계층의 데이터를 암호화한다. 웹 브라우저에서 SSL VPN에 연결할 수 있지만, IPSec VPN을 사용하려면 별도의 소프트웨어를 설치해야 한다.