디피-헬먼 키 교환 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
;Diffie-Hellman Key Exchange | ;Diffie-Hellman Key Exchange | ||
== 명칭 == | |||
디피라는 사람과 헬만 이라는 사람이 공동 개발했다고 해서 '디피-헬만'이다. 디피-헬만 키 교환법, 디피-헬만 알고리즘, 디피-헬만 프로토콜등 다양한 이름으로 불린다. | 디피라는 사람과 헬만 이라는 사람이 공동 개발했다고 해서 '디피-헬만'이다. 디피-헬만 키 교환법, 디피-헬만 알고리즘, 디피-헬만 프로토콜등 다양한 이름으로 불린다. | ||
6번째 줄: | 7번째 줄: | ||
; 디피-헬만법은 이산대수의 어려움을 이용한 알고리즘이다. 쉽게 말해 주어진 g, x, p 를 이용하여 y = g^x mod p 를 구하기는 쉽지만 g, y , p 값을 이용하여 원래의 x를 찾기 어렵다는 원리를 이용한 것이다. | ; 디피-헬만법은 이산대수의 어려움을 이용한 알고리즘이다. 쉽게 말해 주어진 g, x, p 를 이용하여 y = g^x mod p 를 구하기는 쉽지만 g, y , p 값을 이용하여 원래의 x를 찾기 어렵다는 원리를 이용한 것이다. | ||
* 비대칭키(공개키) 알고리즘에서 사용되는 키 교환 방식이다. | * 비대칭키(공개키) 알고리즘에서 사용되는 키 교환 방식이다. | ||
* 상대방의 공개키와 나의 | * 상대방의 공개키와 나의 비밀키를 이용하여 비밀키를 생성한다. | ||
* A의 공개키와 B의 개인키를 DH연산하면 B의 비밀키가 되고 | * A의 공개키와 B의 개인키를 DH연산하면 B의 비밀키가 되고 | ||
* B의 공개키와 A의 개인키를 DH연산하면 A의 비밀키가 된다. | * B의 공개키와 A의 개인키를 DH연산하면 A의 비밀키가 된다. | ||
13번째 줄: | 14번째 줄: | ||
== 예시 == | == 예시 == | ||
# 당사자들은 임의 큰 소수 | # 당사자들은 임의 큰 소수 p=17와 그보다 작은 자연수 g=2 을 선택한다. | ||
# 각자 자신의 비밀 키를 선택한다. | |||
# 각자 자신의 | #* A는 11를 선택했다. 2^11 mod 17 = 8 | ||
#* A는 11를 선택했다. | #* B는 13를 선택했다. 2^13 mod 17 = 15 | ||
#* B는 13를 선택했다. | # 상대방에게 계산된 공개키를 보낸다. | ||
# 상대방에게 | #* A는 B에게 8을 보낸다. | ||
#* A는 B에게 | #* B는 A에게 15을 보낸다. | ||
#* B는 A에게 | # 계산을 통해 비밀키를 만들어낸다. | ||
# | |||
#* A는 받은 15으로 계산한다. 15^11 mod 17 = 9 | #* A는 받은 15으로 계산한다. 15^11 mod 17 = 9 | ||
#* B는 받은 8로 계산한다. 8^13 mod 17 = 9 | #* B는 받은 8로 계산한다. 8^13 mod 17 = 9 | ||
# 결론 | # 결론 | ||
#* A만 알고 있는 키는 11, B만 알고 있는 키는 13이다. | #* A만 알고 있는 키는 11, B만 알고 있는 키는 13이다. | ||
#* 외부에 노출될 우려가 있는 값은 2, 17, 8, 15이다. (노출 되어도 상관 없다.) | #* 외부에 노출될 우려가 있는 값은 2, 17, 8, 15이다. (노출 되어도 상관 없다.) | ||
#* 둘만 알고 있는 키는 | #* 둘만 알고 있는 키는 9이다. (노출의 우려가 있다.) | ||
지금은 예시이기 때문에 매우 작은 숫자를 이용하였으나, 숫자가 수십~수백자리로 커지게 되면 2, 17, 8, 15, 9에 해당하는 숫자는 노출이 되어도 이를 역으로 11과 13을 유추해 내기가 매우매우 힘들다는 것이 수학적 안전성의 근거이다. | 지금은 예시이기 때문에 매우 작은 숫자를 이용하였으나, 숫자가 수십~수백자리로 커지게 되면 2, 17, 8, 15, 9에 해당하는 숫자는 노출이 되어도 이를 역으로 11과 13을 유추해 내기가 매우매우 힘들다는 것이 수학적 안전성의 근거이다. | ||
39번째 줄: | 38번째 줄: | ||
* 재전송 공격에 취약하다 | * 재전송 공격에 취약하다 | ||
** 암호화된 정보를 스니핑 해서 재전송 함으로써 행위를 조작할 수 있다. | ** 암호화된 정보를 스니핑 해서 재전송 함으로써 행위를 조작할 수 있다. | ||
; 디피-헬만 키 교환은 단순히 안전한 키 교환에 의한 안전성에 의존하므로 단독으로 사용하기엔 부족하다. 디피-헬만은 수 많은 프로토콜에서 사용되고 있지만 모두 인증, 무결성, 부인방지 등의 추가적인 안전성을 더해서 사용한다. | ; 디피-헬만 키 교환은 단순히 안전한 키 교환에 의한 안전성에 의존하므로 단독으로 사용하기엔 부족하다. 디피-헬만은 수 많은 프로토콜에서 사용되고 있지만 모두 인증, 무결성, 부인방지 등의 추가적인 안전성을 더해서 사용한다. |