디피 헬만 키 교환 방법
디피 헬만 키 교환 법은 안전하게 키를 교환하기 위해 고안된 기법이다. 두 키를 합성하는 특수한 방법이 있다고 가정해보자.
P 키와 S 키를 합성하여 P-S 키를 생성한다면 생성된 키는 다음 두 가지 특징을 가진다.
- P와 P-S 키를 이용하여 S 키 추출은 불가하다. 즉, 합성은 가능하지만 분해는 할 수 없다.
- 합성된 키로 또 다른 합성 키를 만들 수 있다.
동작 흐름
- A가 P 키를 생성한다. (P 키는 공개되어도 무방하다.)
- A가 B에게 P 키를 전달한다.
- A와 B는 각각 비밀 키 SA와 SB를 생성한다. (이 때 SA와 SB는 제 3자에게 노출되어서는 안된다.)
- A는 P 키와 SA 키를 합성하여 P-SA 키를 생성한다.
- B는 P 키와 SB 키를 합성하여 P-SB 키를 생성한다.
- A가 B에게 P-SA 키를 전달한다.
- B가 A에게 P-SB 키를 전달한다.
- A는 비밀 키 SA와 B에게서 받은 P-SB 키를 합성하여 새로운 SA-P-SB를 생성한다.
- 동일하게 B도 비밀 키 SB와 P-SA 키를 합성하여 새로운 P-SA-SB를 생성한다.
- A와 B는 모두 P-SA-SB 키를 가지게 된다.
논리
인터넷으로 전송되는 P, P-SA, P-SB 키는 X가 훔쳐볼 수 있다. 하지만 X가 얻은 키로는 P-SA-SB를 합성할 수 없다. 또한 분해가 불가하므로 비밀 키 SA와 SB를 얻을 수 없다.
따라서 P-SA-SB 키를 만들 수 없으므로 이 키 교환 방식은 안전하다고 볼 수 있다.