IPsec 키 관리
IPsec 키 관리에는 비밀 키 결정과 비밀 키 배포가 있다.
두 응용 사이에 통신을 하려면 일반적으로 4개의 키를 요구합니다: 무결성을 위한 쌍, 비밀을 위한 쌍
- IPsec 아키텍처에서 지원하는 키 관리: 수동 관리, 자동 관리
ISAKMP/Oakley : IPsec의 기본적인 자동 키 관리 프로토콜
구성요소
- Oakley 키 결정 프로토콜: Diffie-hellman 알고리즘을 기반으로 추가적인 보안을 제공하는 프로토콜입니다.
- Oakley는 특정 형식을 강제하지 않습니다.
- 인터넷 보안 연관 및 키 관리 프로토콜 (ISAKMP):
- ISAKMP는 인터넷 키 관리를 위한 아키텍처를 지원합니다.
- 보안 속성 협상을 위한 구체적인 프로토콜 지원을 제공합니다.
ISAKMP는 특정 키 교환 알고리즘을 강제하지 않습니다.
다양한 키 교환 알고리즘을 사용할 수 있도록 메시지 타입의 세트로 구성됩니다.
Oakley는 초기 버전의 ISAKMP에서 사용하는 키 교환 알고리즘을 강제했습니다.
IKEv2에서는 Oakley와 ISAKMP라는 용어를 더 이상 사용하지 않고, 용도도 달라졌지만, 기본적인 기능은 동일하다
IKEv2 : 키 결정 프로토콜
IKE 키 결정은 Diffie-hellman 키 교환 알고리즘의 더 정교한 버전입니다.
- 글로벌 변수 : 큰 소수 𝑞와 𝑞의 프로토-루트 𝛼
- A와 B
- 비밀 키 : 각각 𝑋_𝐴, 𝑋_𝐵
- 공개 키 : 각각 𝑌_𝐴 =𝛼^(𝑋_𝐴 ) mod 𝑞, 𝑌_𝐵 =𝛼^(𝑋_𝐵 ) mod 𝑞
- 비밀 세션 키: 𝐾=〖(𝑌_𝐵^ )〗^(𝑋_𝐴 ) mod 𝑞=〖(𝑌_𝐴^ )〗^(𝑋_𝐵 ) mod 𝑞=𝛼^(𝑋_𝐴 𝑋_𝐵 ) mod 𝑞
Diffie-hellman의 장단점
- 장점
- 필요할 때마다 비밀 키를 생성
- 비밀 키를 장기간 보관할 필요가 없어 노출 위험이 적음
- 키 교환을 위한 전역 변수에 대해 사전에 합의하는 것 외에 인프라를 구성할 필요가 없음
- 장점
- 상대방을 인증할 수 없음
- 상대방 검증 정보를 제공하지 않음
- 중간자 공격에 취약
중간자 공격
- B는 자신의 공개 키 𝑌_𝐵를 메시지에 담아 A에게 보냅니다.
- 공격자 E가 이 메시지를 가로챕니다.
- E는 B의 공개 키를 저장하고, E의 공개 키 𝑌_𝐸를 포함한 메시지를 A에게 보냅니다.
- E는 이 메시지가 B의 호스트 머신에서 온 것처럼 행동합니다.
- A는 E의 메시지를 받고, B의 사용자 ID와 함께 E의 공개 키를 저장합니다.
- 유사한 방법으로, E는 A인 척하고 자신의 공개 키를 B에게 보냅니다.
- B는 자신의 비밀 키와 𝑌_𝐸를 사용하여 비밀 키 𝐾_1를 생성합니다.
- A는 자신의 비밀 키와 𝑌_𝐸를 사용하여 비밀 키 𝐾_2를 생성합니다.
- E는 자신의 비밀 키 𝑋_𝐸와 𝑌_𝐵를 사용하여 비밀 키 𝐾_1를 계산하고, 자신의 비밀 키 𝑋_𝐸와 𝑌_𝐴를 사용하여 비밀 키 𝐾_2를 계산합니다.
- 이제부터, E는 A에서 B로, B에서 A로 메시지를 중계할 수 있습니다.
IKE 키 결정 기능
IKE 키 결정 알고리즘의 다섯 가지 특성
- 쿠키라는 메커니즘을 사용하여 클로깅 공격을 방지합니다.
- 양측은 그룹을 협상할 수 있습니다.
- 이것은 Diffie-Hellman 키 교환에 필요한 전역 변수를 기본적으로 결정하는 데 사용됩니다.
- 논스를 사용하여 재생 공격을 방지합니다.
- Diffie-Hellman 공개 키 값들을 교환할 수 있습니다.
- Diffie-Hellman 교환에 인증을 사용하여 중간자 공격을 방지할 수 있습니다.
클로깅 공격
수신자가 자신의 일을 잃게 하고 무용한 모듈로로 지수를 계산하는 데 많은 시간을 보내게 하기 위해 공격자가 상대방에게 매우 큰 수로 이루어진 키를 요청하는 공격입니다.
쿠키 교환
- 쿠키를 교환하기 위해, 각 측은 초기 메시지에서 다른 측에서 식별할 수 있는 의사 랜덤 숫자인 쿠키를 보냅니다.
- 이 검증 단계는 Diffie-Hellman 키 교환의 첫 번째 메시지에서 반복됩니다.
- 소스 주소가 위조된 경우, 공격자는 어떠한 확인도 받지 못합니다.
쿠키를 만드는 데 필요한 3가지 조건
- 쿠키는 특정 발행자에 의존하도록 만들어져야 합니다.
- 자신이 아닌 다른 사람이 쿠키를 만들 수 없도록 해야 합니다.
- 쿠키 생성 및 검증 방법은 프로세서 자원을 고갈시키려는 공격을 방지하기 위해 빠르고 짧은 시간 내에 이루어져야 합니다.
다른 그룹
- IKE 키 결정에서는 Diffie-hellman 키 교환을 위해 다른 그룹들을 사용할 수 있습니다.
- 각 그룹에는 두 개의 전역 파라미터와 알고리즘 식별자의 정의가 포함되어 있습니다.
현재 명세에 포함된 군
IKE 키 결정 3가지 인증 방법
디지털 서명
양측의 해시를 사용하여 교환을 인증합니다.
각 엔티티는 자신의 개인 키로 해시를 암호화합니다.
해시는 사용자 ID와 논스와 같은 매개 변수에 적용됩니다.
공개 키 암호화
ID와 비밀 등의 암호화 매개 변수로 전송자의 개인 키를 사용하여 교환을 인증합니다.
대칭 키 암호화
이질적인 메커니즘으로 생성된 키를 사용하여 교환 매개 변수의 대칭 암호화에 의한 교환 인증
IKEv2 교환
메시지를 쌍으로 교환 초기 교환 비밀을 사용할 암호화 알고리즘, 디피-헬만 값, 보안 매개 변수에 대한 정보를 교환 결과적으로 IKE SA라는 특별한 SA를 설정합니다.
이 SA는 피어 간의 안전한 채널에 대한 매개 변수를 정의합니다.
이 채널을 사용하여 지속적인 메시지 교환 모든 IKE 메시지 교환은 암호화와 메시지 인증에 의해 보호됩니다.
두 번째 교환 상호 인증을 하고, 첫 번째 IPsec SA를 SAD에 넣고, 이를 통해 피어 간의 일반적인(즉, IKE가 아닌) 통신을 보호합니다.
표준 버전은 첫 번째 SA를 설정하는 데 네 개의 메시지가 필요합니다.
헤더 및 페이로드 형식
IKE 헤더 형식
IKE 메시지 구성 IKE 헤더 하나 이상의 페이로드 모든 구성은 전송 프로토콜 내에서 수행됩니다.
명세서는 구현이 UDP를 전송 프로토콜로 사용해야 한다고 명시하고 있습니다.
IKE 페이로드 유형
SA 페이로드를 사용하여 SA 구성 시작합니다
IKE 페이로드는 계층 구조를 가집니다
페이로드를 통해서 다양한 제안을 할 수 있습니다.
-
각 제안에는 여러 프로토콜이 포함될 수 있습니다.
-
각 프로토콜에는 여러 전송이 포함됩니다.
-
각 전송에는 여러 속성이 있습니다.
-
위의 기술한 요소들은 제안, 전송,속성의 구조를 페이로드 안에 가집니다
제안 -
이 구조에서는 제안 수, 프로토콜 ID (AH, ESP 또는 IKE), 전송 번호 지시자, 그리고 전송 하위 구조가 표시됩니다.
-
프로토콜이 하나 이상인 경우, 제안의 수에 해당하는 수의 제안 하위 구조가 있습니다.
전송
- 다른 프로토콜은 다른 전송 유형을 지원합니다.
- 전송을 사용하는 주된 목적은 특정 프로토콜과 함께 사용되는 암호화 알고리즘을 정의하는 것입니다.
속성
- 각 전송에는 속성이 있으며, 이는 전송 프로토콜을 수정하거나 완성하는 데 사용됩니다.
- 속성의 예: 키 길이
페이로드 유형에 대해서는 궁금하면 책을 보자
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
'Computer Science > Security' 카테고리의 다른 글
TLS 지정 프로토콜 (0) | 2023.06.13 |
---|---|
암호도구 (0) | 2023.06.10 |
도메인 - 기반 메시지 인증 보고, 및 준수 (0) | 2023.06.04 |
도메인 키 확인 메일 (0) | 2023.06.04 |
SPF (0) | 2023.06.04 |