Network Security

ISAKMP Exchange Type

행복한하루 2010. 12. 29. 00:10
ISAKMPISAKMP Payload 에서는 ISAKMP에서 쓰이는 헤더 포맷에 대하여 알아보았습니다. 이러한 헤더 포맷을 이용하여 ISKAMP 프로토콜은 협상을 진행하게 되는데, 이 때 이용하는 교환 방식에는 5가지가 있습니다.
  • Base Exchange type
  • Identity Protection Exchange type
  • Authentication Only Exchange type
  • Aggressive Exchange type
  • Informational Exchange type
이 각각의 Exchange type에서 어떤 헤더들이 어떻게 움직이는지를 이제 차례 차례 알아보기로 하겠습니다. 

Base Exchange



Base Exchange type은 총 4단계의 절차를 거쳐 협상을 진행하게 됩니다.
(ISAKMP HDR는 모든 단계에 공통적으로 들어갑니다.)

먼저 1단계에서는 SA payload안에 Security Association, Proposal, Transform을 포함하여 전송 합니다. 즉 송신자 입장에서는 자신이 지원 할 수 있는 알고리즘의 종류를 수신자가 알 수 있게 함으로서 수신측이 자신이 보내준 것 중에 하나를 선택할 수 있게 합니다.

이렇게 해서 선택된 것이 암호화 알고리즘 같은 것들이 같은 형식의 포맷으로 위 그림의 2단계와 같이 송신측으로 전달됩니다. 이 때 공통적으로 들어가는 것이 NONCE 인데, 이것은 replay attack을 방지하기 위해 random값이 들어가게 됩니다.

3, 4단계에서는 1,2단계에서 결정된 SA을 이용할 때 쓰일 Key Material 값을 서로 주고 받게 되는데, 이 때 자신의 ID 와 Authentication 을 위한 값을 함께 보내주게 됩니다. 이 방식의 특징은 Key Exchange정보와 Authentication 정보를 한 메시지에 담아 보냄으로써 협상 단계를 줄였지만, Identity정보가 공통키가 설립되기 전에 교환되기 때문에 Identity Protection은 지원하지 않게 됩니다.

Identity Protection Exchange Type



Identity Protection Exchange방법은 Key Exchange정보를 Identity, Authentication정보와 분리시키기 위해 디자인 되었습니다.
(Identity 정보와 Authentication 정보는 (3) (4) 단계까지 협상하여 설정된 Secret Key에 의해 보호를 받게 됩니다. )

협상 과정을 살펴 보면 그림에서와 같이 1,2 단계에서는 SA Payload안에 Security Association, Proposal, Transforms 정보를 담아 수신자에게 보내 주게 됩니다. 그럼 수신자는 Base Exchange와 마찬가지로 여러 Proposal중에 하나를 선택하여 송신자에게 보내줍니다.

그리고 3,4 단계에서 송신자와 수신자는 Key Exchange 정보와 replay attack방지를 위한 Nonce정보를 교환합니다. 이렇게 해서 공통으로 나누어 가진 Secret Key 정보를 가지고 5,6 단계에서는 헤더를 제외한 ID 정보와 Authentication 정보를 암호화 하여 서로 송수신 하게 됩니다. 이렇게 하면 서로의 ID정보와 Authentication 정보를 보호 할 수 있습니다. 

Authentication Only Exchange



Authentication Only Exchange Type은 Authentication과 관련된 정보만을 전송하기 위하여 디자인 되었습니다. 이 방법의 이점으로는 암호화를 위한 Key 관련 계산을 안 하기 때문에 협상 속도가 빠르다는 장점이 있습니다.

그리고 이 방식을 다른 방법을 이용하여 안전하게 암호화 할 수 있는데, ISAKMP의 Phase 1에서 Encryption을 위한 SA (Security Association) 이 협상되었다면 이 때 협상된 ISAKMP SA을 이용하여 Phase 2에서 Authentication Only Exchange를 암호화 하는 방식으로 안전하게 다음 프로토콜을 위한 SA 교환을 시행 할 수 있습니다.

이 방식의 교환 방법을 살펴보면 송신자가 SA(SA, Proposal, Transforms)와 Nonce정보를 보내줍니다. 그러면 수신자는 선택된 정보를 SA에 담고 자신의 ID정보와 Authentication 정보를 같이 보내주게 됩니다. 이러면 송신자 측에서 Authentication 확인할 수 있고, 확인이 된 다음 송신자의 ID와 Nonce정보를 수신자에게 보내주게 됩니다.

Aggressive Exchange



Aggressive Exchange는 SA 정보와 KE 그리고 Authentication 정보가 한꺼번에 전송되도록 하기 위하여 디자인 되었습니다. Aggressive Exchange 는 이렇게 한꺼번에 관련 parameter들을 전송함으로써 협상 단계를 줄이는 효과를 집니다.

협상 과정을 살펴보면 앞의 내용과 그렇게 큰 차이는 없습니다. 송신자는 자신이 쓸 수 있는 알고리즘이나 정책들을 SA (Security Association, Proposal, Transform)에 담아 보내고 수신자는 선택하여 보내주게 됩니다. 이 때 수신자는 자신의 ID와 Authentication 정보를 보내주고 이것을 받은 송신자는 Authentication 정보를 암호화 하여 수신자에게 보내주게 됩니다.

만약 이것이 에러가 발생했을 경우에는 수신자가 Informational Exchange type을 이용하여 Notify Payload을 송신자에게 전달할 수 있습니다.

Informational Exchange Type



Informational Exchange type은 어떤 에러나 정보를 알려주기 위한 단방향 통신을 지원하기 위하여 디자인 되었습니다.

만약 KE 교환 전에 Informational Exchange가 발생한다면 암호화 되지 않고 전송되지만, SA (Security Association) 가 설립되어 있다면 그 SA를 이용하여 암호화 되어 전송됩니다.

보통 에러를 알리거나 SA를 삭제할 때 많이 이용됩니다.

이렇게 해서 IPsec에서 사용되는 ISAKMP 의 Exchange type 에 대해서 알아봤습니다. 많은 도움이 되셨기를 바라겠습니다. ^^


'Network Security' 카테고리의 다른 글

Network Security  (0) 2011.01.13
IPsec Action Type  (0) 2011.01.11
ISAKMP payload  (0) 2010.12.17
ISAKMP  (0) 2010.12.16
Public Key cryptography (공개키 암호화)  (0) 2010.11.04