The Internet Key Exchange RFC 2409 RFC 2407




































































- Slides: 68
The Internet Key Exchange ( RFC 2409 ) RFC 2407 & 2409
RFC 2409 목차 1. RFC 2409 문서요약 2. The Internet Key Exchange(IKE) 2. 1 IKE Phase 1의 서명을 이용한 인증 3. ISAKMP 관련 서명을 이용한 모드 4. Phase 1 공개키 암호화 인증 5. Phase 1 공개키 암호화의 수정된 인증 6. Phase 1 사전 공유된 키를 이용한 인증 7. Phase 2 Quick Mode 8. New Group Mode 순천향대학교 이 임 영 9. ISAKMP Information Exchange 10. OAKLEY Groups 11. 안전한 IKE 교환을 위한 페이로드 포맷 12. Perfect Forward Security Example 13. Implementation Hints 14. Security Considerations 15. IANA 고려사항 Appendix A Appendix B RFC 2407 & 2409 2
6. The Internet Key Exchange(IKE) Key Exchange의 4가지 Mode Main Mode 반드시 구현 Aggressive Mode 선택적인 구현사항 Quick Mode Fresh한 Key material을 생성하고 non-ISAKMP 보안 서비스 협상을 위한 구조로 반드시 구현 New Group Mode DH exchange을 위한 private type들을 정의하기 위한 구조 IKE 키 material 생성 방법 Diffie-Hellman exchange로 부터 인증된 key material을 생성 순천향대학교 이 임 영 RFC 2407 & 2409 13
7. 1 IKE Phase 1의 서명을 이용한 인증 상호 입수 가능한 해쉬를 서명값으로 상호교환이 인 증된다. Initiator Responder HDR, SA HDR, KE, Ni HDR, KE, Nr HDR*, IDii, [CERT, ] SIG_I HDR*, IDii, [CERT, ] SIG_R 서명을 이용한 Main Mode 순천향대학교 이 임 영 RFC 2407 & 2409 15
7. 2 ISAKMP 관련 서명을 이용한 모드 ISAKMP 서명을 사용한 Aggressive mode Initiator Responder HDR*, IDii, [CERT, ] SIG_I HDR*, IDii, [CERT, ] SIG_R HDR, [CERT, ] SIG_I : HASH_I를 적용한 서명값 SIG_R : HASH_R을 적용한 서명값 순천향대학교 이 임 영 RFC 2407 & 2409 16
7. 3 Phase 1 공개키 암호화 인증(Cont. ) 인증을 위한 암호화 이용때의 Main Mode Initiator Responder HDR, SA HDR, KE, [HASH(1), ] <IDii_b>Pubkey_r <Ni_b>Pubkey_r HDR, KE, <IDir_b>Pub. Key_i <Nr_b>Pub. Key_i HDR*, HASH_I HDR*, HASH_R 순천향대학교 이 임 영 RFC 2407 & 2409 19
7. 3 Phase 1 공개키 암호화 인증(Cont. ) 암호화를 이용한 Aggressive Mode Initiator Responder HDR*, SA, [HASH(1), ], KE, <IDii_b>Pub. Key_r <Ni_b>Pubkey_r HDR*, SA, KE, <IDii_b>Pub. Key_r <Ni_b>Pubkey_r, HASH_R HDR, HASH_I 순천향대학교 이 임 영 RFC 2407 & 2409 20
7. 5 Phase 1 공개키 암호화의 수정된 인증 (Cont. ) 인증을 위한 개선된 암호화 Mode Initiator Responder HDR, SA HDR, [HASH(1)], <Ni_b>Pubkey_r <KE_b>Ke_i <IDii_b>Ke_i [<<Cert-i_b>Ke_i] HDR, <Nr_b>Pub. Key_i <Ke_b>Ke_r <IDir_b>Ke_r HDR*, HASH_I HDR*, HASH_R 순천향대학교 이 임 영 RFC 2407 & 2409 23
7. 5 Phase 1 공개키 암호화의 수정된 인증 (Cont. ) 개선된 암호화로 인증된 Aggressive Mode Initiator Responder HDR, [HASH(1)], <Ni_b>Pubkey_r <KE_b>Ke_i, <IDii_b>Ke_i [<Cert-I_b>Ke_i] HDR, <Nr_b>Pub. Key_i <Ke_b>Ke_r, <IDir_b>Ke_r HASH_R HDR*, HASH_I 순천향대학교 이 임 영 RFC 2407 & 2409 24
7. 6 Phase 1 사전 공유된 키를 이용한 인증 Out-of-band 방법에 유도되는 Main Mode 인증 Initiator Responder HDR, SA HDR, KE, Ni HDR, KE, Nr HDR*, IDii, HASH_I HDR*, IDir, HASH_R 순천향대학교 이 임 영 RFC 2407 & 2409 27
7. 6 Phase 1 사전 공유된 키를 이용한 인증(Cont. ) 사전 공유된 키를 이용한 인증모드 Aggressive Mode Initiator Responder HDR*, SA, KE, Ni, IDii HDR, SA, KE, Nr, IDir, HASH_R HDR, HASH_I 순천향대학교 이 임 영 RFC 2407 & 2409 28
8. Phase 2 Quick Mode(Cont. ) Quick Mode에서 만들어지는 모든 proposal들은 논 리적으로 연결되어 있고 일관성이 있어야 한다 Quick Mode 정의 Initiator Responder HDR, HASH(1), SA, Ni, [KE], [IDci, IDcr] HDR*, HASH(2), SA, Nr, [KE], [IDci, IDcr] HDR*, HASH(3) 순천향대학교 이 임 영 RFC 2407 & 2409 31
8. Phase 2 Quick Mode(Cont. ) Quick Mode에서 PFS가 요구되지 않는다면 새로운 keying material의 정의 KEYMAT = prf(SKYID_d, protocol | SPI | Ni_b | Nr_b) 만약 PFS가 요구되고 KE 페이로드가 교환되었다면 새로운 keying material의 정의 KEYMAT =prf(SKYID_d, g(qm)^xy | protocol | SPI | Ni_b | Nr_b) g(qm)^xy는 Quick Mode의 임시적인 Diffie-Hellman exchange로부터 만들어진 공유 비밀 정보 Quick Mode의 일시적인 Diffie-Hellman exchange 의 경우 SKYID_e, SKYID_a는 계속되어 보호되고 ISAKMP SA를 인증하며 SKYID_d는 키들을 유도하는데 사용 순천향대학교 이 임 영 RFC 2407 & 2409 33
8. Phase 2 Quick Mode(Cont. ) Quick Mode를 사용하여 다중 SA들과 키들 사이에 한번의 exchange를 통한 협상 Initiator Responder HDR*, HASH(1), SA 0, SA 1, Ni, [KE], [IDci, IDcr] HDR*, HASH(2), SA 0, SA 1, Nr, [KE], [IDci, IDcr] HDR*, HASH(3) 순천향대학교 이 임 영 RFC 2407 & 2409 34
9. 1 ISAKMP Information Exchange ISAKMP information exchange들을 보호하기 위한 프로토콜 Initiator Responder HDR*, HASH(1), N/D는 ISAKMP Notify 페이로드이거나 ISAKMP Delete페이로드이다 HASH(1) = prf(SKEYID_a, M-ID | N/D) 순천향대학교 이 임 영 RFC 2407 & 2409 37
10. OAKLEY Groups Diffie-Hellman exchange를 수행하기 위한 group은 인터넷 키 교환 프로토콜을 통해 절충 이 Group은 Oakley 프로토콜에서 비롯되어 Oakley이라 함 IKE 이용 시 DH 교환을 수행하기 위한 그룹은 네 그룹에 의해 결정 First Oakley Default Group Second Oakley Group Third Oakley Group Fourth Oakley Group 이 Group을 위한 속성 클래스는 Appendix A에서 정의 215이상의 모든 값은 private group을 식별하는데 사용 순천향대학교 이 임 영 RFC 2407 & 2409 39
10. OAKLEY Groups. Oakley 프로토콜에 비롯되었으며 ”Oakley Group”이라고 불린다. First Oakley Default Group (첫번째 Oakley 그룹) 다음의 Prime과 Generator를 이용하는 MODP 그룹을 반드시 지원 이 그룹은 id 1(ONE)이 할당 Prime : 2^768 - 2^704 - 1 + 2^64 * { [2^638 pi] + 149686 예) 16진수 값 FFFF 29024 E 08 EF 9519 B 3 E 485 B 576 FFFF 8 A 67 CC 74 CD 3 A 431 B 625 E 7 EC 6 C 90 FDAA 2 020 BBEA 6 302 B 0 A 6 D F 44 C 42 E 9 2168 C 234 3 B 139 B 22 F 25 F 1437 A 63 A 3620 C 4 C 6628 B 51440879 4 FE 1356 D FFFF 80 DC 1 CD 1 8 E 3404 DD 6 D 51 C 245 FFFF GENERATOR : 2 순천향대학교 이 임 영 RFC 2407 & 2409 40
Second Oakley Group (두 번째 Oakley 그룹) 다음의 Prime과 Generator를 가지는 MODP 그룹을 가능한 지원 이 그룹은 id 2가 할당 Prime : 21024 - 2906 - 1 + 264 * { [2894 pi] + 129093 } 예) 16진수 값 FFFF 29024 E 08 EF 9519 B 3 E 485 B 576 EE 386 BFB FFFFFFFF 8 A 67 CC 74 CD 3 A 431 B 625 E 7 EC 6 5 A 899 FA 5 FFFF C 90 FDAA 2 020 BBEA 6 302 B 0 A 6 D F 44 C 42 E 9 AE 9 F 2411 2168 C 234 3 B 139 B 22 F 25 F 1437 A 637 ED 6 B 7 C 4 B 1 FE 6 C 4 C 6628 B 51440879 4 FE 1356 D 0 BFF 5 CB 6 49286651 80 DC 1 CD 1 8 E 3404 DD 6 D 51 C 245 F 406 B 7 ED ECE 65381 GENERATOR : 2(10진수 ; Prime의 밑수) 순천향대학교 이 임 영 RFC 2407 & 2409 41
Third Oakley Group (세 번째 Oakley 그룹) IKE 수행들은 다음의 특성을 가지는 EC 2 N 그룹을 지원해야 한다. 이 그룹은 id 3으로 할당 Curve는 Galois Field GF[2^155]에 기초 Field 크기는 155 각 Group에서 field 고정 이 필드를 위한 irreducible polynomial은 u 155 + u 62 + 1 elliptic curve를 위한 식 : y 2 + xy = x 3 + ax 2 + b field 크기 : 155 group prime/irreducible polynomial : 0 x 0800000000000400000001 group generator One : 0 x 7 b group curve A : 0 x 0 group curve B : 0 x 07338 f group order : 0 X 0800000000057 db 5698537193 aef 944 순천향대학교 이 임 영 RFC 2407 & 2409 42
Fourth Oakley Group (네 번째 Oakley 그룹) IKE 수행들은 아래의 특성을 가지는 EC 2 N 그룹을 가능한 지원해야 한다. 이 그룹은 id 4로 할당 Curve는 Galois Field GF[2185]에 기초 필드 크기는 185 이 필드를 위한 irreducible polynomial은 u 185 + u 69 + 1 elliptic curve를 위한 식 : y 2 + xy = x 3 + ax 2 + b field 크기 : 185 group prime/irreducible polynomial : 0 x 02000000000000002000000001 group generator One : 0 x 18 group curve A : 0 x 0 group curve B : 0 x 1 ee 9 group order : 0 x 01 ffffffffffdbf 2 f 889 b 73 e 484175 f 94 ebc 순천향대학교 이 임 영 RFC 2407 & 2409 43
Appendix A(Cont. ) 클래스 값들 암호화 알고리즘 – RFC 2405에 정의 암호화 알고리즘 클래스 값 RFC 번호 DES-CBC 1 RFC 2405 EDEA-CBC 2 Blowfish-CBC 3 RC 5 -R 16 -B 64 -CBC 4 3 DES-CBC 5 CAST-CBC 6 해쉬 알고리즘 순천향대학교 이 임 영 해쉬 알고리즘 클래스 값 RFC 번호 MD 5 1 RFC 1321 SHA 2 FIPS 180 -1 Tiger 3 “FAST Sofware Encryption”, Springer LNCS v. 1039, 1996 RFC 2407 & 2409 62
Appendix A(Cont. ) 인증 방법 해쉬 알고리즘 클래스 값 RFC 번호 MD 5 1 RFC 1321 SHA 2 FIPS 180 -1 Tiger 3 “FAST Sofware Encryption”, Springer LNCS v. 1039, 1996 그룹 명세 Group명 클래스 값 Default 768 -bit MODP group (참조 6 -1 : First Oakley Group) 1 Altemate 1024 -bit MODP group(참조 6 -2 : Second Oakley Group) 2 EC 2 N group on GP[^155] (참조 6 -3 : Third Oakley Group) 3 EC 2 N group on GP[^155] (참조 6 -4 : Forth Oakley Group) 4 순천향대학교 이 임 영 RFC 2407 & 2409 63
Appendix A(Cont. ) 그룹 타입 Group타입 클래스 값 MODP(modular exponentiation group) 1 ECP(elliptic curve group over GF([p]) 2 EC 2 N(elliptic curve group over GF([2^N]) 3 수명 유형, PRF, 키 길이, 필드 길이, 그룹 차수 등을 정의 한다. 순천향대학교 이 임 영 Life Type 클래스 값 Seconds 1 kiobytes 2 Addition Exchanges Defined XCHG values Exchange Mode value Quick Mode 32 New Group Mode 33 RFC 2407 & 2409 64
Appendix B 예 절충된 PRF로서 DOORAK를 이용하는 사전 공유된 키 인증의 경 우를 살펴보자 BLOCK 1 -8 = prf(pre-shared-key, Ni_b | Nr_b) BLOCK 9 -16 = prf(pre-shared-key, BLOCK 18 | Ni_b | Nr_b) BLOCK 17 -24 = prf(pre-shared-key, BLOCK 9 -16 |Ni_b | Nr_b) 그리고 SKEYID=BLOCK 1 -8 | BLOCK 9 -16 | BLOCK 17 -24 따라서 SKEYID_d: BLOCK 1 -8 = prf(SKEYID, g^xy | CKY-I | CKY | 0) BLOCK 9 -16 = prf(SKEYID, block 1 -8 | g^xy | CKY-I | CKY | 0) BLOCK 17 -24 = prf(SKEYID, block 9 -16 | g^xy | CKY-I | CKY | 0) 그리고 SKEYID_d=BLOCK 1 -8 | BLOCK 9 -16 | BLOCK 17 -24 계속되는 PRF의 전개 과정은 이와 같이 진행 순천향대학교 이 임 영 RFC 2407 & 2409 65




































































