Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- IPSec
- 래드햇
- Oracle VirtualBox
- 파이어폭스
- 버추얼박스
- ESP
- 파일질라
- Fedora15
- VirtualBox
- 구글
- omnia2
- Fedora9
- 리눅스
- redhat
- 파이어폭스3
- 갤럭시노트
- vncviewer
- IT
- Security Association
- 게스트확장설치
- 갤럭시노트3
- vncserver
- Firefox
- 테라텀
- Linux
- T43
- TeraTerm
- fedora14
- ah
- 옴니아2
Archives
- Today
- Total
My Knowledge
ISAKMP payload 본문
이전 글 (ISAKMP)에서는 ISAKMP 의 기본 구조와 phase 들에 대하여 알아보았고, ISAKMP 에서 제공되는 payload 들에 대해서 알아 봤습니다.
이번 글에서는 나머지 payload 들에 대해서 설명 드리도록 하겠습니다.
(먼저 글에서 Key Exchange payload 까지 설명 드려서 여기서는 Identification Payload 부터 설명 드리도록 하겠습니다.)
- Identification Payload
Identification Payload는 identification 정보를 교환하기 위하여 사용될 data을 포함하고 있는데, 이 정보는 통신하는 상대방의 신원 확인과 정보의 인증을 위해 이용됩니다. ID type에는 주로 IP Address type이 들어가는데, 예를 들어 IPv4 address 또는 IPv6 address 또는 subnet, range 등등이 들어 갈수 있습니다. DOI Specific ID data에는 1octet은 Protocol ID필드로 이용하는데 UDP/TCP등이 들어가고, 만약 0 이면 이 필드는 무시됩니다. 그리고 나머지 2octet에는 Port값이 들어가는데 여기도 마찬가지로 0 이면 이 필드는 무시됩니다. 마지막으로 Identification Data에는 ID type에 정의된 것에 따라 그에 해당하는 값이 들어가게 됩니다.
- Certificate Payload
Certificate Payload는 인증서를 보내거나 인증과 관련된 Data을 전송할 때 이용됩니다. Cert Encoding필드에는 Certificate type에 대한 정보를 담고 있고, Certificate Data에는 실제 인증에 필요한 Data가 들어갑니다.
- Certificate Request Payload
Certificate Request Payload는 ISAKMP을 통하여 인증서를 요구할 때 사용됩니다. 이 payload을 받은 수신 측은 자신의 인증 데이터를 보내주게 됩니다. Cert type에는 앞서 설명한 Certificate Payload의 cert type과 같고, Certificate Authority에는 거기에 해당하는 데이터가 들어갑니다.
- Hash Payload
Hash Payload는 Hash 함수에 의해 생긴 값을 담는 역할을 합니다. 이 Hash Data는 상대방과 협상을 진행중에 ISAKMP의 다른 메시지들의 무결성을 보장하기 위하여 이용됩니다. 즉 보내온 Data의 Hash Data값이 Hash Payload에 실린 Hash Data값과 틀리면 무결성이 깨졌다고 보고 패킷을 버리게 됩니다.
- Signature Payload
Signature Payload는 Digital Signature 함수에 의하여 생성된 값을 가지고 있습니다. 이 Signature Data는 부인 방지 서비스를 위하여 이용되고, Data의 무결성을 증명하기 위하여 이용됩니다.
- Nonce Payload
Nonce Payload는 random Data을 포함하고 있는데, 이것은 replay attack을 방지하기 위하여 이용됩니다. random data 는 Nonce data 필드에 들어갑니다.
- Notification Payload
Notification Payload는 에러 상태와 같은 정보들을 ISAKMP Peer에게 알려주기 위하여 이용되는 Payload입니다. 보통 ISAKMP협상중에 Proposal이 reject된 경우 그 이유를 Notification Payload을 이용하여 보내줍니다. DOI필드에는 앞서 언급되었던 것과 같은 의미로 ISAKMP에서는 0이고 IPSec DOI에서는 1입니다. Proto ID에는 현재 협상중인 프로토콜을 의미하는데, ISAKMP, IPSec ESP, IPSec AH등과 같은 정보가 들어가고, SPI Size는 SPI의 크기, Notify Message type에는 정의된 type 값이 들어가며, SPI는 index 값, 마지막으로 Notification Data에는 Notify Message type에 해당하는 정의된 값이 들어갑니다.
다음은 Notify Message type에 들어가는 값들입니다.
- Delete Payload
Delete Payload는 SA을 지울 때 사용되며 각각의 필드에 대한 설명은 앞서 설명한 것과 동일합니다. 그리고 SA DB에서 SA을 찾을 때 이용하기 위하여 SPI값을 넣어줍니다. 이것은 송신자가 수신자에게 request 하는 것이 아니라 알려주기 위하여 사용하는 것이기 때문에 수신자가 이 메시지를 무시할 수도 있습니다. 그 경우에는 다음 번 통신 시에 실패를 하게 되고 다시 SA개설 절차를 진행합니다.
- Vendor ID Payload
Vendor ID Payload에는 Vendor가 정의해 놓은 값이 들어가게 되는데, 일반적인 ISAKMP기능은 아니고, Vendor입장에서 새로운 기능을 입력하여 실험할 때 이를 예전 버젼과 구분하기 위하여 보통 이용됩니다.
이렇게 해서 ISAKMP 프로토콜에 대하여 알아봤습니다.
이번 글에서는 나머지 payload 들에 대해서 설명 드리도록 하겠습니다.
(먼저 글에서 Key Exchange payload 까지 설명 드려서 여기서는 Identification Payload 부터 설명 드리도록 하겠습니다.)
- Identification Payload
Identification Payload는 identification 정보를 교환하기 위하여 사용될 data을 포함하고 있는데, 이 정보는 통신하는 상대방의 신원 확인과 정보의 인증을 위해 이용됩니다. ID type에는 주로 IP Address type이 들어가는데, 예를 들어 IPv4 address 또는 IPv6 address 또는 subnet, range 등등이 들어 갈수 있습니다. DOI Specific ID data에는 1octet은 Protocol ID필드로 이용하는데 UDP/TCP등이 들어가고, 만약 0 이면 이 필드는 무시됩니다. 그리고 나머지 2octet에는 Port값이 들어가는데 여기도 마찬가지로 0 이면 이 필드는 무시됩니다. 마지막으로 Identification Data에는 ID type에 정의된 것에 따라 그에 해당하는 값이 들어가게 됩니다.
- Certificate Payload
Certificate Payload는 인증서를 보내거나 인증과 관련된 Data을 전송할 때 이용됩니다. Cert Encoding필드에는 Certificate type에 대한 정보를 담고 있고, Certificate Data에는 실제 인증에 필요한 Data가 들어갑니다.
Certificate Type |
Value | |
NONE |
0 | |
PKCS #7 wrapped X.509 certificate |
1 | |
PGP Certificate |
2 | |
DNS Signed Key |
3 | |
X.509 Certificate - Signature |
4 | |
X.509 Certificate - Key Exchange |
5 | |
Kerberos Tokens |
6 | |
Certificate Revocation List (CRL) |
7 | |
Authority Revocation List (ARL) |
8 | |
SPKI Certificate |
9 | |
X.509 Certificate - Attribute |
10 | |
RESERVED |
11 ~ 255 |
- Certificate Request Payload
Certificate Request Payload는 ISAKMP을 통하여 인증서를 요구할 때 사용됩니다. 이 payload을 받은 수신 측은 자신의 인증 데이터를 보내주게 됩니다. Cert type에는 앞서 설명한 Certificate Payload의 cert type과 같고, Certificate Authority에는 거기에 해당하는 데이터가 들어갑니다.
- Hash Payload
Hash Payload는 Hash 함수에 의해 생긴 값을 담는 역할을 합니다. 이 Hash Data는 상대방과 협상을 진행중에 ISAKMP의 다른 메시지들의 무결성을 보장하기 위하여 이용됩니다. 즉 보내온 Data의 Hash Data값이 Hash Payload에 실린 Hash Data값과 틀리면 무결성이 깨졌다고 보고 패킷을 버리게 됩니다.
- Signature Payload
Signature Payload는 Digital Signature 함수에 의하여 생성된 값을 가지고 있습니다. 이 Signature Data는 부인 방지 서비스를 위하여 이용되고, Data의 무결성을 증명하기 위하여 이용됩니다.
- Nonce Payload
Nonce Payload는 random Data을 포함하고 있는데, 이것은 replay attack을 방지하기 위하여 이용됩니다. random data 는 Nonce data 필드에 들어갑니다.
- Notification Payload
Notification Payload는 에러 상태와 같은 정보들을 ISAKMP Peer에게 알려주기 위하여 이용되는 Payload입니다. 보통 ISAKMP협상중에 Proposal이 reject된 경우 그 이유를 Notification Payload을 이용하여 보내줍니다. DOI필드에는 앞서 언급되었던 것과 같은 의미로 ISAKMP에서는 0이고 IPSec DOI에서는 1입니다. Proto ID에는 현재 협상중인 프로토콜을 의미하는데, ISAKMP, IPSec ESP, IPSec AH등과 같은 정보가 들어가고, SPI Size는 SPI의 크기, Notify Message type에는 정의된 type 값이 들어가며, SPI는 index 값, 마지막으로 Notification Data에는 Notify Message type에 해당하는 정의된 값이 들어갑니다.
다음은 Notify Message type에 들어가는 값들입니다.
Errors |
Value | |
INVALID-PAYLOAD-TYPE |
1 | |
DOI-NOT-SUPPORTED |
2 | |
SITUATION-NOT-SUPPORTED |
3 | |
INVALID-COOKIE |
4 | |
INVALID-MAJOR-VERSION |
5 | |
INVALID-MINOR-VERSION |
6 | |
INVALID-EXCHANGE-TYPE |
7 | |
INVALID-FLAGS |
8 | |
INVALID-MESSAGE-ID |
9 | |
INVALID-PROTOCOL-ID |
10 | |
INVALID-SPI |
11 | |
INVALID-TRANSFORM-ID |
12 |
|
ATTRIBUTES-NOT-SUPPORTED |
13 |
|
NO-PROPOSAL-CHOSEN |
14 |
|
BAD-PROPOSAL-SYNTAX |
15 |
|
PAYLOAD-MALFORMED |
16 |
|
INVALID-KEY-INFORMATION |
17 |
|
INVALID-ID-INFORMATION |
18 |
|
INVALID-CERT-ENCODING |
19 |
|
INVALID-CERTIFICATE |
20 |
|
CERT-TYPE-UNSUPPORTED |
21 |
|
INVALID-CERT-AUTHORITY |
22 |
|
INVALID-HASH-INFORMATION |
23 |
|
AUTHENTICATION-FAILED |
24 |
|
INVALID-SIGNATURE |
25 |
|
ADDRESS-NOTIFICATION |
26 |
|
NOTIFY-SA-LIFETIME |
27 |
|
CERTIFICATE-UNAVAILABLE |
28 |
|
UNSUPPORTED-EXCHANGE-TYPE |
29 |
|
UNEQUAL-PAYLOAD-LENGTHS |
30 |
|
RESERVED (Future Use) |
31 ~ 8191 |
|
Private Use |
8192 ~ 16383 |
Status |
Value | |
CONNECTED |
16384 | |
RESERVED (Future Use) |
16385 ~ 24575 | |
DOI-specific codes |
24576 ~ 32767 | |
Private Use |
32768 ~ 40959 | |
RESERVED (Future Use) |
40960 ~ 65535 |
- Delete Payload
Delete Payload는 SA을 지울 때 사용되며 각각의 필드에 대한 설명은 앞서 설명한 것과 동일합니다. 그리고 SA DB에서 SA을 찾을 때 이용하기 위하여 SPI값을 넣어줍니다. 이것은 송신자가 수신자에게 request 하는 것이 아니라 알려주기 위하여 사용하는 것이기 때문에 수신자가 이 메시지를 무시할 수도 있습니다. 그 경우에는 다음 번 통신 시에 실패를 하게 되고 다시 SA개설 절차를 진행합니다.
- Vendor ID Payload
Vendor ID Payload에는 Vendor가 정의해 놓은 값이 들어가게 되는데, 일반적인 ISAKMP기능은 아니고, Vendor입장에서 새로운 기능을 입력하여 실험할 때 이를 예전 버젼과 구분하기 위하여 보통 이용됩니다.
이렇게 해서 ISAKMP 프로토콜에 대하여 알아봤습니다.
'Network Security' 카테고리의 다른 글
IPsec Action Type (0) | 2011.01.11 |
---|---|
ISAKMP Exchange Type (0) | 2010.12.29 |
ISAKMP (0) | 2010.12.16 |
Public Key cryptography (공개키 암호화) (31) | 2010.11.04 |
Security Services (0) | 2010.10.31 |