336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


1.GRE 터널링

1)Host_A(192.168.1.10/24)                                                                                            
  - Dst: Host_B(사설IP: 192.168.2.10/24)                
  - Src: Host_A(사설IP: 192.168.1.10/24)             


2)Router_A(GRE터널링: int tunnel 0, 172.16.0.1/30, src 222.222.1.10/24, dst 222.222.2.10/24) 
- Dst:Router_B(공인IP: 222.222.2.10/24)[Dst: Host_B(사설IP: 192.168.2.10/24)]
- Src:Router_A(공인IP: 222.222.1.10/24)[Src: Host_A(사설IP: 192.168.1.10/24)]


3)Router_B(GRE터널링: int tunnel 0, 172.16.0.2/30, src 222.222.2.10/24, dst 222.222.1.10/24)                                      
  - Dst:Router_B(공인IP: 222.222.2.10/24)[Dst: Host_B(사설IP: 192.168.2.10/24)]      
  - Src:Router_A(공인IP: 222.222.1.10/24)[Src: Host_A(사설IP: 192.168.1.10/24)]       


4)Host_B(192.168.2.10/24)
  - Dst: Host_B(사설IP: 192.168.2.10/24)
  - Src: Host_A(사설IP: 192.168.1.10/24)

 

패킷구조 > FRAME = [ETHERNET_Header] [IP_Header(222.222.x.x)] [GRE_Header] [IP_Header(192.168.x.x)] [TCP_Header] [Payload]

 


2.IPSec터널링

단순히 GRE 터널링을 통한 VPN 사용은 기밀성에 취약하다.
IPSec을 사용함으로써 기밀성, 무결성(HMAC)을 보장할 수 있다.

IPSec 동작에는 3개의 터널이 필요하다.
첫번째 터널은 암호화에 필요한 키교환 터널이고
두번째와 세번째 터널은 암호화된 데이터(트래픽)가 전송되는 터널이다.

 

1) IKE 1단계
1-1) 1단계 키교환 협상(Main-Mode)
  VPN_A : 보안정책리스트 전달
  VPN_B : 보안정책 응답
  VPN_A : 키정보 공유(Diffie-Hellman 알고리즘)
  VPN_B : 키정보 공유(Diffie-Hellman 알고리즘)
  VPN_A : IPSec 피어 인증 시작
  VPN_B : IPSec 피어 인증 응답
  양방향 보안채널생성(ISAKMP SA) : 키 정보 교환(암호화종류, 해시종류, 키정책등 교환)

 

1-2) 1단계 키교환 협상(Aggressive-Mode)
  VPN_A : 보안정책(키/인증정보 포함) 전달
  VPN_B : 보안정책 응답
  VPN_A : 암호화 해시 정보 전달
  양방향 보안채널생성(ISAKMP SA) : 키 정보 교환(암호화종류, 해시종류, 키정책등 교환)

 

2) IKE 2단계
  양방향 보안채널생성(ISAKMP SA) 후 트래픽 암호화를 위한 보안터널생성(IPSec SA)
  보안터널(IPSec SA)은 단방향 터널이다. 그러므로 송신 IPSec 터널과 수신 IPSec 터널이 생성된다.


  패킷의 암호화에는 AH(Athentication Header) 프로토콜과 ESP(Encapsulating Security Payload) 프로토콜이 사용된다.
    - AH : 암호화를 제공하지 않고 패킷 조작 여부 같은 확인 작업만 한다. (무결성)
    - ESP : 상위 계층 정보인 페이로드의 암호화를 진행한다. (일부 무결성+기밀성)

 

  2-1) AH 터널모드 패킷구조  > [IP_Header(222.222.x.x)] [AH_Header] [IP_Header(192.168.x.x)] [TCP_Header] [Payload]
        - 인증 구간 > [IP_Header(222.222.x.x)] [AH_Header] [IP_Header(192.168.x.x)] [TCP_Header] [Payload]


  2-2) AH 전송모드 패킷구조  > [IP_Header(192.168.x.x)] [AH_Header] [TCP_Header] [Payload]
        - 인증 구간 > [IP_Header(192.168.x.x)] [AH_Header] [TCP_Header] [Payload]

 

  2-3) ESP 터널모드 패킷구조 > [IP_Header(222.222.x.x)] [ESP_Header] [IP_Header(192.168.x.x)] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]
        - 인증 구간 > [ESP_Header] [IP_Header(192.168.x.x)] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]
        - 암호화 구간 > [IP_Header(192.168.x.x)] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]


  2-4) ESP 전송모드 패킷구조 > [IP_Header(192.168.x.x)] [ESP_Header] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]
        - 인증 구간 > [ESP_Header] [TCP_Header] [Payload] [ESP_Trailer]
        - 암호화 구간 > [TCP_Header] [Payload] [ESP_Trailer]

 

  2-5) AH+ESP 전송모드 패킷구조 > [IP_Header(192.168.x.x)] [AH_Header] [ESP_Header] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]

        - 인증 구간 > [IP_Header(192.168.x.x)] [AH_Header] [ESP_Header] [TCP_Header] [Payload] [ESP_Trailer] [ESP_Auth]
        - 암호화 구간 > [TCP_Header] [Payload] [ESP_Trailer]


참고 : IP Protocol Number - icmp=1, igmp=2, tcp=6, udp=17, gre=47, eigrp=88, ospf=89

 


GRE over IPSec VPN : 인터넷을 통한 본사와 지점간의 통신에 사용

SSL VPN : 집에서 회사간 통신에 사용


 

'Analysis > Network' 카테고리의 다른 글

Tcpdump usage examples  (0) 2016.04.26
HTTPS와 SSL 이해  (0) 2016.04.15
Next Squence Number  (0) 2016.03.24

+ Recent posts