개념 사전 · 개념
Diffie–Hellman 키 합의
DH · Diffie-Hellman · 디피 헬먼
Diffie–Hellman은 서로의 공개값을 교환하고 각자의 비밀값으로 같은 공유 비밀을 계산하는 키 합의 방식이다. 계산값이 같다는 사실만으로 상대 신원을 알 수 없으므로 서명·인증 등과 결합한다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
01무엇이고, 어떤 일을 하나
- 비밀키 자체를 통신로에 보내지 않고 공통 비밀을 만든다.
- 임시 키를 이용해 장기 인증키와 세션 보호키의 의존성을 줄인다.
- 같은 프로토콜의 키 도출 재료를 제공한다.
02어떤 순서로 동작하나
- 비밀값 선택
공개된 p·g 아래에서 두 참여자가 각자 비밀 지수 a·b를 고른다.
- 공개값 교환
A=g^a mod p와 B=g^b mod p를 교환하며 비밀 지수 자체는 보내지 않는다.
- 공유값 계산
한쪽은 B^a, 다른 쪽은 A^b를 mod p로 계산하여 같은 g^(ab)를 얻는다.
- 상대와 결합
만으로 상대가 인증되지는 않으므로 같은 프로토콜이 서명과 협상 문맥을 연결한다.
03먼저 알아둘 용어와 구성요소
- 연산에 사용하는 공통 수학적 매개변수.
- 세션마다 생성하고 보호해야 하는 비밀값.
- 타원곡선 위에서 임시 키로 수행하는 계열 키 합의.
- 장기 인증키 유출이 과거 세션키 복원으로 바로 이어지지 않도록 하는 성질.
- 유한체 에서 연결마다 임시 키를 사용하는 키 합의.
04예제로 따라가기
- 학습용 p=23, g=5에서 비밀값 6과 15를 사용하면 공개값은 각각 8과 19이며 양쪽 공유값은 2가 된다.
- 에서는 이 작은 정수 예를 실제 매개변수로 쓰지 않고 승인된 그룹과 충분한 난수로 임시 키를 만든다.
- 장기 인증키가 나중에 유출되어도 임시 키가 안전하게 폐기된 키 합의는 과거 암호문 보호에 기여한다.
05혼동하기 쉬운 점과 확인 기준
- 인증하지 않은 교환은 중간자가 각 끝점과 따로 공유값을 만들 수 있는 문제를 해결하지 못한다.
- 공유 비밀을 그대로 모든 용도의 키로 재사용하지 않고 프로토콜이 정한 KDF와 문맥 분리를 사용한다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.