The Internet Key Exchange RFC 2409 RFC 2407

  • Slides: 68
Download presentation
The Internet Key Exchange ( RFC 2409 ) RFC 2407 & 2409

The Internet Key Exchange ( RFC 2409 ) RFC 2407 & 2409

RFC 2409 목차 1. RFC 2409 문서요약 2. The Internet Key Exchange(IKE) 2. 1

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

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의 서명을 이용한 인증 상호 입수 가능한 해쉬를 서명값으로 상호교환이

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

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

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

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. ) 인증을 위한 개선된 암호화

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

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

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. ) 사전 공유된 키를 이용한

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들은 논 리적으로 연결되어

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의

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들과 키들 사이에 한번의

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*,

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은 인터넷 키 교환 프로토콜을 통해 절충

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 (첫번째

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 그룹을 가능한

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

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

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에 정의 암호화 알고리즘 클래스

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

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

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를 이용하는 사전 공유된 키 인증의 경 우를 살펴보자

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